PK M%Aoa,mimetypeapplication/epub+zipPKM%AiTunesMetadata.plistB artistName Oracle Corporation book-info cover-image-hash 105950297 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 191266749 publisher-unique-id E25789-01 unique-id 353874130 genre Oracle Documentation itemName Oracle® Database Concepts, 11g Release 2 (11.2.0.3) releaseDate 2011-09-27T14:35:47Z year 2011 PKϋGBPKM%AMETA-INF/container.xml PKYuPKM%AOEBPS/cmntopc.htm Topics for Database Administrators and Developers

17 Topics for Database Administrators and Developers

The previous parts of this manual described the basic architecture of Oracle Database. This chapter summarizes common database topics that are important for both database administrators and developers, and provides pointers to other manuals, not an exhaustive account of database features.

This chapter contains the following sections:


See Also:

Chapter 18, "Concepts for Database Administrators" discusses topics specific to DBAs. Chapter 19, "Concepts for Database Developers" discusses topics for developers.

Overview of Database Security

In general, database security involves user authentication, encryption, access control, and monitoring.

User Accounts

Each Oracle database has a list of valid database users. The database contains several default accounts, including the default administrative account SYSTEM (see "SYS and SYSTEM Schemas"). You can create user accounts as needed.

To access a database, a user must provide a valid user name and authentication credential. The credential may be a password, Kerberos ticket, or public key infrastructure (PKI) certificate. You can configure database security to lock accounts based on failed login attempts.

Privilege and Role Authorization

In general, database access control involves restricting data access and database activities. For example, you can restrict users from querying specified tables or executing specified database commands.

A user privilege is the right to run specific SQL statements. Privileges can be divided into the following categories:

  • System privilege

    This is the right to perform a specific action in the database, or perform an action on any objects of a specific type. For example, CREATE USER and CREATE SESSION are system privileges.

  • Object privilege

    This is the right to perform a specific action on an object, for example, query the employees table. Privilege types are defined by the database.

Privileges are granted to users at the discretion of other users. Administrators should grant privileges to users so they can accomplish tasks required for their jobs. Good security practice involves granting a privilege only to a user who requires that privilege to accomplish the necessary work.

A role is a named group of related privileges that you grant to users or other roles. A role helps manage privileges for a database application or user group.

Figure 17-1 depicts a common use for roles. The roles PAY_CLERK, MANAGER, and REC_CLERK are assigned to different users. The application role ACCTS_PAY, which includes the privilege to execute the ACCTS_PAY application, is assigned to users with the PAY_CLERK and MANAGER role. The application role ACCTS_REC, which includes the privilege to execute the ACCTS_REC application, is assigned to users with the REC_CLERK and MANAGER role.

Figure 17-1 Common Uses for Roles

Common Uses for Roles
Description of "Figure 17-1 Common Uses for Roles"


See Also:


Profiles

In the context of system resources, a profile is a named set of resource limits and password parameters that restrict database usage and instance resources for a user. Profiles can limit the number of concurrent sessions for a user, CPU processing time available for each session, and amount of logical I/O available (see "Buffer I/O"). For example, the clerk profile could limit a user to system resources required for clerical tasks.


Note:

It is preferable to use Database Resource Manager to limit resources and to use profiles to manage passwords.

Profiles provide a single point of reference for users that share a set of attributes. You can assign a profile to one set of users, and a default profile to all others. Each user has at most one profile assigned at any point in time.


See Also:


Authentication

Authentication is the process by which a user presents credentials to the database, which verifies the credentials and allows access to the database. Validating the identity establishes a trust relationship for further interactions. Authentication also enables accountability by making it possible to link access and actions to specific identities.

Oracle Database provides different authentication methods, including the following:

  • Authentication by the database

    Oracle database can authenticate users using a password, Kerberos ticket, or PKI certificate. Oracle also supports RADIUS-compliant devices for other forms of authentication, including biometrics. The type of authentication must be specified when a user is created in the Oracle database.

  • Authentication by the operating system

    Some operating systems permit Oracle Database to use information they maintain to authenticate users. After being authenticated by the operating system, users can connect to a database without specifying a user name or password.

Database operations such as shutting down or starting up the database should not be performed by non-administrative database users. These operations require SYSDBA or SYSOPER privileges (see "Connection with Administrator Privileges").


See Also:


Encryption

Encryption is the process of transforming data into an unreadable format using a secret key and an encryption algorithm. Encryption is often used to meet regulatory compliance requirements, such as those associated with the Payment Card Industry Data Security Standard (PCI-DSS) or breach notification laws. For example, credit card numbers, social security numbers, or patient health information must be encrypted.

Network Encryption

Network encryption refers to encrypting data as it travels across the network between a client and server. An intruder can use a network packet sniffer to capture information as it travels on the network, and then spool it to a file for malicious use. Encrypting data on the network prevents this sort of activity.

Transparent Data Encryption

Oracle Advanced Security transparent data encryption enables you to encrypt individual table columns or a tablespace. When a user inserts data into an encrypted column, the database automatically encrypts the data. When users select the column, the data is decrypted. This form of encryption is transparent, provides high performance, and is easy to implement.

Transparent data encryption includes industry-standard encryption algorithms such as the Advanced Encryption Standard (AES) and built-in key management.

Access Control

Oracle Database provides many techniques to control access to data. This section summarizes some of these techniques.

Oracle Database Vault

Oracle Database Vault is a security option that restricts privileged user access to application data. You can use Oracle Database Vault to control when, where, and how the databases, data, and applications are accessed. Thus, you can address common security problems such as protecting against insider threats, complying with regulatory requirements, and enforcing separation of duty.

Virtual Private Database (VPD)

Virtual Private Database (VPD) enables you to enforce security at the row and column level. A security policy establishes methods for protecting a database from accidental or malicious destruction of data or damage to the database infrastructure.

VPD is useful when security protections such as privileges and roles are not sufficiently fine-grained. For example, you can allow all users to access the employees table, but create security policies to restrict access to employees in the same department as the user.

Essentially, the database adds a dynamic WHERE clause to a SQL statement issued against the table, view, or synonym to which an Oracle VPD security policy was applied. The WHERE clause allows only users whose credentials pass the security policy to access the protected data.

Oracle Label Security (OLS)

Oracle Label Security (OLS) is a security option that enables you to assign data classification and control access using security labels. You can assign a label to both data and users.

When assigned to data, the label can be attached as a hidden column to existing tables, providing transparency to existing SQL. For example, rows that contain highly sensitive data can be labeled HIGHLY SENSITIVE, while rows that are less sensitive can be labeled SENSITIVE, and so on. When a user attempts to access data, OLS compares the user label with the data label and determines whether access should be granted. Unlike VPD, OLS provides an out-of-the-box security policy and the metadata repository for defining and storing labels.

Monitoring

Oracle Database provides multiple tools and techniques for monitoring user activity.

Database Auditing

Database auditing is the monitoring and recording of selected user database actions. You can use standard auditing to audit SQL statements, privileges, schemas, objects, and network and multitier activity. Alternatively, you can use fine-grained auditing to monitor specific database activities, such as actions on a database table or times that activities occur. For example, you can audit a table accessed after 9:00 p.m.

Reasons for using auditing include:

  • Enabling future accountability for current actions

  • Deterring users (or others, such as intruders) from inappropriate actions based on their accountability

  • Investigating, monitoring, and recording suspicious activity

  • Addressing auditing requirements for compliance


See Also:


Oracle Audit Vault

Oracle Audit Vault enables you to consolidate, report, and configure alerts for audited data. You can consolidate audit data generated by Oracle Database and other relational databases. You can also use Oracle Audit Vault to monitor audit settings on target databases.

Enterprise Manager Auditing Support

Oracle Enterprise Manager (Enterprise Manager) enables you to view and configure audit-related initialization parameters. Also, you can administer objects when auditing statements and schema objects. For example, Enterprise Manager enables you to display and search for the properties of current audited statements, privileges, and objects. You can enable and disable auditing as needed.

Overview of High Availability

Availability is the degree to which an application, service, or functionality is available on demand. For example, an OLTP database used by an online bookseller is available to the extent that it is accessible by customers making purchases. Reliability, recoverability, timely error detection, and continuous operations are the primary characteristics of high availability.

The importance of high availability in a database environment is tied to the cost of downtime, which is the time that a resource is unavailable. Downtime can be categorized as either planned or unplanned. The main challenge when designing a highly available environment is examining all possible causes of downtime and developing a plan to deal with them.


See Also:

Oracle Database High Availability Overview for an introduction to high availability

High Availability and Unplanned Downtime

Oracle Database provides high availability solutions to prevent, tolerate, and reduce downtime for all types of unplanned failures. Unplanned downtime can be categorized by its causes:


See Also:

Oracle Database High Availability Overview to learn about protecting against unplanned downtime

Site Failures

A site failure occurs when an event causes all or a significant portion of an application to stop processing or slow to an unusable service level. A site failure may affect all processing at a data center, or a subset of applications supported by a data center. Examples include an extended site-wide power or network failure, a natural disaster making a data center inoperable, or a malicious attack on operations or the site.

The simplest form of protection against site failures is to create database backups using RMAN and store them offsite. You can restore the database to another host. However, this technique can be time-consuming, and the backup may not be current. Maintaining one or more standby databases in a Data Guard environment enables you to provide continuous database service if the production site fails.


See Also:


Computer Failures

A computer failure outage occurs when the system running the database becomes unavailable because it has shut down or is no longer accessible. Examples of computers failures include hardware and operating system failures.

The following Oracle features protect against or help respond to computer failures:

  • Enterprise Grids

    In an Oracle Real Applications Cluster (Oracle RAC) environment, Oracle Database runs on two or more systems in a cluster while concurrently accessing a single shared database. A single database system spans multiple hardware systems yet appears to the application as a single database. See "Overview of Grid Computing".

  • Oracle Data Guard

    Data Guard enables you to maintain a copy of a production database, called a standby database, that can reside on a different continent or in the same data center. If the primary database is unavailable because of an outage, then Data Guard can switch any standby database to the primary role, minimizing downtime. See Oracle Data Guard Concepts and Administration.

  • Oracle Restart

    Components in the Oracle Database software stack, including the database instance, listener, and Oracle ASM instance, can restart automatically after a component failure or whenever the database host computer restarts. Oracle Restart ensures that Oracle components are started in the proper order, in accordance with component dependencies. See Oracle Database Administrator's Guide to learn how to configure Oracle Restart.

  • Fast Start Fault Recovery

    A common cause of unplanned downtime is a system fault or crash. The fast start fault recovery technology in Oracle Database automatically bounds database instance recovery time. See Oracle Database Performance Tuning Guide for information on fast start fault recovery.


See Also:

Oracle Database High Availability Best Practices to learn how to use High Availability for processes and applications that run in a single-instance database

Storage Failures

A storage failure outage occurs when the storage holding some or all of the database contents becomes unavailable because it has shut down or is no longer accessible. Examples of storage failures include the failure of a disk drive or storage array.

In addition to Oracle Data Guard, solutions for storage failures include the following:

  • Oracle Automatic Storage Management (Oracle ASM)

    Oracle ASM is a vertically integrated file system and volume manager in the database kernel (see "Oracle Automatic Storage Management (Oracle ASM)"). Oracle ASM eliminates the complexity associated with managing data and disks, and simplifies mirroring and the process of adding and removing disks.

  • Backup and recovery

    The Recovery Manager (RMAN) utility can back up data, restore data from a previous backup, and recover changes to that data up to the time before the failure occurred (see "Backup and Recovery").


See Also:


Data Corruption

A data corruption occurs when a hardware, software or network component causes corrupt data to be read or written. For example, a volume manager error causes bad disk read or writes. Data corruptions are rare but can have a catastrophic effect on a database, and therefore a business.

In addition to Data Guard and Recovery Manager, Oracle Database supports the following forms of protection against data corruption:

  • Lost write protection

    A data block lost write occurs when an I/O subsystem acknowledges the completion of the block write when the write did not occur. You can configure the database so that it records buffer cache block reads in the redo log. Lost write detection is most effective when used with Data Guard.

  • Data block corruption detection

    A block corruption is a data block that is not in a recognized Oracle format, or whose contents are not internally consistent. Several database components and utilities, including RMAN, can detect a corrupt block and record it in V$DATABASE_BLOCK_CORRUPTION. If the environment uses a real-time standby database, then RMAN can automatically repair corrupt blocks.

  • Data Recovery Advisor

    Data Recovery Advisor is an Oracle tool that automatically diagnoses data failures, determines and presents appropriate repair options, and executes repairs at the user's request.


See Also:


Human Errors

A human error outage occurs when unintentional or malicious actions are committed that cause data in the database to become logically corrupt or unusable. The service level impact of a human error outage can vary significantly depending on the amount and critical nature of the affected data.

Much research cites human error as the largest cause of downtime. Oracle Database provides powerful tools to help administrators quickly diagnose and recover from these errors. It also includes features that enable end users to recover from problems without administrator involvement.

Oracle Database recommends the following forms of protection against human error:

  • Restriction of user access

    The best way to prevent errors is to restrict user access to data and services. Oracle Database provides a wide range of security tools to control user access to application data by authenticating users and then allowing administrators to grant users only those privileges required to perform their duties (see "Overview of Database Security").

  • Oracle Flashback Technology

    Oracle Flashback Technology is a family of human error correction features in Oracle Database. Oracle Flashback provides a SQL interface to quickly analyze and repair human errors. For example, you can perform:

    • Fine-grained surgical analysis and repair for localized damage

    • Rapid correction of more widespread damage

    • Recovery at the row, transaction, table, tablespace, and database level

  • Oracle LogMiner

    Oracle LogMiner is a relational tool that enables online files to be read, analyzed, and interpreted using SQL (see "Oracle LogMiner").


See Also:


High Availability and Planned Downtime

Planned downtime can be just as disruptive to operations, especially in global enterprises that support users in multiple time zones. In this case, it is important to design a system to minimize planned interruptions such as routine operations, periodic maintenance, and new deployments.

Planned downtime can be categorized by its causes:


See Also:

Oracle Database High Availability Overview to learn about features and solutions for planned downtime

System and Database Changes

Planned system changes occur when you perform routine and periodic maintenance operations and new deployments, including scheduled changes to the operating environment that occur outside of the organizational data structure in the database. Examples include adding or removing CPUs and cluster nodes (a node is a computer on which a database instance resides), upgrading system hardware or software, and migrating the system platform.

Oracle Database provides dynamic resource provisioning as a solution to planned system and database changes:

  • Dynamic reconfiguration of the database

    Oracle Database dynamically accommodates various changes to hardware and database configurations, including adding and removing processors from an SMP server and adding and remove storage arrays using Oracle ASM. For example, Oracle Database monitors the operating system to detect changes in the number of CPUs. If the CPU_COUNT initialization parameter is set to the default, then the database workload can dynamically take advantage of newly added processors.

  • Autotuning memory management

    Oracle Database uses a noncentralized policy to free and acquire memory in each subcomponent of the SGA and the PGA. Oracle Database autotunes memory by prompting the operating system to transfer granules of memory to components that require it. See "Memory Management".

  • Automated distributions of data files, control files, and online redo log files

    Oracle ASM automates and simplifies the layout of data files, control files, and log files by automatically distributing them across all available disks. See Oracle Automatic Storage Management Administrator's Guide to learn more about Oracle ASM.

Data Changes

Planned data changes occur when there are changes to the logical structure or physical organization of Oracle Database objects. The primary objective of these changes is to improve performance or manageability. Examples include table redefinition, adding table partitions, and creating or rebuilding indexes.

Oracle Database minimizes downtime for data changes through online reorganization and redefinition. This architecture enables you to perform the following tasks when the database is open:


See Also:

Oracle Database Administrator's Guide to learn how to change data structures online

Application Changes

Planned application changes may include changes to data, schemas, and programs. The primary objective of these changes is to improve performance, manageability, and functionality. An example is an application upgrade.

Oracle Database supports the following solutions for minimizing application downtime required to make changes to an application's database objects:

  • Rolling patch updates

    Oracle Database supports the application of patches to the nodes of an Oracle RAC system in a rolling fashion. See Oracle Database High Availability Best Practices.

  • Rolling release upgrades

    Oracle Database supports the installation of database software upgrades, and the application of patchsets, in a rolling fashion—with near zero database downtime—by using Data Guard SQL Apply and logical standby databases. See Oracle Database Upgrade Guide.

  • Edition-based redefinition

    Edition-based redefinition enables you to upgrade the database objects of an application while the application is in use, thus minimizing or eliminating down time. Oracle Database accomplishes this task by changing (redefining) database objects in a private environment known as an edition. See Oracle Database Advanced Application Developer's Guide.

  • DDL with the default WAIT option

    DDL commands require exclusive locks on internal structures (see "DDL Locks"). In previous releases, DDL commands would fail if they could not obtain the locks. DDL specified with the WAIT option resolves this issue. See Oracle Database High Availability Overview.

  • Creation of triggers in a disabled state

    You can create a trigger in the disabled state so that you can ensure that your code compiles successfully before you enable the trigger. See Oracle Database PL/SQL Language Reference.

Overview of Grid Computing

Grid computing is a computing architecture that effectively pools large numbers of servers and storage into a flexible, on-demand resource for all enterprise computing needs. A Database Server Grid is a collection of commodity servers connected together to run on one or more databases. A Database Storage Grid is a collection of low-cost modular storage arrays combined together and accessed by the computers in the Database Server Grid.

With the Database Server and Storage Grid, you can build a pool of system resources. You can dynamically allocate and deallocate these resources based on business priorities.

Figure 17-2 illustrates the Database Server Grid and Database Storage Grid in a Grid enterprise computing environment.

Figure 17-2 Grid Computing Environment

Description of Figure 17-2 follows
Description of "Figure 17-2 Grid Computing Environment"


See Also:


Database Server Grid

Oracle Real Application Clusters (Oracle RAC) enables multiple instances that are linked by an interconnect to share access to an Oracle database. In an Oracle RAC environment, Oracle Database runs on two or more systems in a cluster while concurrently accessing a single shared database. Oracle RAC enables a Database Server Grid by providing a single database that spans multiple low-cost servers yet appears to the application as a single, unified database system.

Oracle Clusterware is software that enables servers to operate together as if they are one server. Each server looks like any standalone server. However, each server has additional processes that communicate with each other so that separate servers work together as if they were one server. Oracle Clusterware provides all of the features required to run the cluster, including node membership and messaging services.


See Also:


Scalability

In a Database Server Grid, Oracle RAC enables you to add nodes to the cluster as the demand for capacity increases. The Cache Fusion technology implemented in Oracle RAC enables you to scale capacity without changing your applications. Thus, you can scale the system incrementally to save costs and eliminate the need to replace smaller single-node systems with larger ones.

You can incrementally add nodes to a cluster instead of replacing existing systems with larger nodes. Grid Plug and Play simplifies addition and removal of nodes from a cluster, making it easier to deploy clusters in a dynamically provisioned environment. Grid Plug and Play also enables databases and services to be managed in a location-independent manner. SCAN enables clients to connect to the database service without regard for its location within the grid.


See Also:


Fault Tolerance

Fault tolerance is the protection provided by a high availability architecture against the failure of a component in the architecture. A key advantage of the Oracle RAC architecture is the inherent fault tolerance provided by multiple nodes. Because the physical nodes run independently, the failure of one or more nodes does not affect other nodes in the cluster.

Failover can happen to any node on the Grid. In the extreme case, an Oracle RAC system provides database service even when all but one node is down. This architecture allows a group of nodes to be transparently put online or taken offline, for maintenance, while the rest of the cluster continues to provide database service.

Oracle RAC provides built-in integration with Oracle Clients and connection pools. With this capability, an application is immediately notified of any failure through the pool that terminates the connection. The application avoids waiting for a TCP timeout and can immediately take the appropriate recovery action. Oracle RAC integrates the listener with Oracle Clients and the connection pools to create optimal application throughput. Oracle RAC can balance cluster workload based on the load at the time of the transaction.


See Also:


Services

Oracle RAC supports services that can group database workloads and route work to the optimal instances assigned to offer the services. A service represents the workload of applications with common attributes, performance thresholds, and priorities.

You define and apply business policies to these services to perform tasks such as to allocate nodes for times of peak processing or to automatically handle a server failure. Using services ensures the application of system resources where and when they are needed to achieve business goals.

Services are integrated with the Database Resource Manager, which enables you to restrict the resources that are used by a service within an instance. In addition, Oracle Scheduler jobs can run using a service, as opposed to using a specific instance.


See Also:


Database Storage Grid

A DBA or storage administrator can use the Oracle ASM interface to specify the disks within the Database Storage Grid that ASM should manage across all server and storage platforms. ASM partitions the disk space and evenly distributes the data across the disks provided to ASM. Additionally, ASM automatically redistributes data as disks from storage arrays are added or removed from the Database Storage Grid.


See Also:


Overview of Data Warehousing and Business Intelligence

A data warehouse is a relational database designed for query and analysis rather than for transaction processing. For example, a data warehouse could track historical stock prices or income tax records. A warehouse usually contains data derived from historical transaction data, but it can include data from other sources.

A data warehouse environment includes several tools in addition to a relational database. A typical environment includes an ETL solution, an OLAP engine, Oracle Warehouse Builder, client analysis tools, and other applications that gather data and deliver it to users.

Data Warehousing and OLTP

A common way of introducing data warehousing is to refer to the characteristics of a data warehouse as set forth by William InmonFoot 1 :

  • Subject-Oriented

    Data warehouses enable you to define a database by subject matter, such as sales.

  • Integrated

    Data warehouses must put data from disparate sources into a consistent format. They must resolve such problems as naming conflicts and inconsistencies among units of measure. When they achieve this goal, they are said to be integrated.

  • Nonvolatile

    The purpose of a warehouse is to enable you to analyze what has occurred. Thus, after data has entered into the warehouse, data should not change.

  • Time-Variant

    The focus of a data warehouse is on change over time.

Data warehouses and OLTP database have different requirements. For example, to discover trends in business, data warehouses must maintain large amounts of data. In contrast, good performance requires historical data to be moved regularly from OLTP systems to an archive. Table 17-1 lists differences between data warehouses and OLTP.

Table 17-1 Data Warehouses and OLTP Systems

CharacteristicsData WarehouseOLTP

Workload

Designed to accommodate ad hoc queries. You may not know the workload of your data warehouse in advance, so it should be optimized to perform well for a wide variety of possible queries.

Supports only predefined operations. Your applications might be specifically tuned or designed to support only these operations.

Data modifications

Updated on a regular basis by the ETL process using bulk data modification techniques. End users of a data warehouse do not directly update the database.

Subject to individual DML statements routinely issued by end users. The OLTP database is always up to date and reflects the current state of each business transaction.

Schema design

Uses denormalized or partially denormalized schemas (such as a star schema) to optimize query performance.

Uses fully normalized schemas to optimize DML performance and to guarantee data consistency.

Typical operations

A typical query scans thousands or millions of rows. For example, a user may request the total sales for all customers last month.

A typical operation accesses only a handful of records. For example, a user may retrieve the current order for a single customer.

Historical data</p>

Stores many months or years of data to support historical analysis.

Stores data from only a few weeks or months. Historical data retained as needed to meet the requirements of the current transaction.



See Also:


Data Warehouse Architecture

Data warehouses and their architectures vary depending on the business requirements. This section describes common data warehouse architectures.

Data Warehouse Architecture (Basic)

Figure 17-3 shows a simple architecture for a data warehouse. End users directly access data that was transported from several source systems to the data warehouse.

Figure 17-3 Architecture of a Data Warehouse

Description of Figure 17-3 follows
Description of "Figure 17-3 Architecture of a Data Warehouse"

Figure 17-3 shows both the metadata and raw data of a traditional OLTP system and summary data. A summary is an aggregate view that improves query performance by precalculating expensive joins and aggregation operations and storing the results in a table. For example, a summary table can contain the sums of sales by region and by product. Summaries are also called materialized views.


See Also:

Oracle Database Data Warehousing Guide to learn about basic materialized views

Data Warehouse Architecture (with a Staging Area)

In the architecture shown in Figure 17-3, operational data must be cleaned and processed before being put into the warehouse. Figure 17-4 shows a data warehouse with a staging area, which is a place where data is preprocessed before entering the warehouse. A staging area simplifies the tasks of building summaries and managing the warehouse.

Figure 17-4 Architecture of a Data Warehouse with a Staging Area

Description of Figure 17-4 follows
Description of "Figure 17-4 Architecture of a Data Warehouse with a Staging Area"


See Also:

Oracle Database Data Warehousing Guide to learn about different transportation mechanisms

Data Warehouse Architecture (with a Staging Area and Data Marts)

You may want to customize your warehouse architecture for different groups within your organization. You can achieve this goal by transporting data in the warehouse to data marts, which are independent databases designed for a specific business or project. Typically, data marts include many summary tables.

Figure 17-5 separates purchasing, sales, and inventory information into independent data marts. A financial analyst can query the data marts for historical information about purchases and sales.

Figure 17-5 Architecture of a Data Warehouse with a Staging Area and Data Marts

Description of Figure 17-5 follows
Description of "Figure 17-5 Architecture of a Data Warehouse with a Staging Area and Data Marts"


See Also:

Oracle Database Data Warehousing Guide to learn about transformation mechanisms

Overview of Extraction, Transformation, and Loading (ETL)

The process of extracting data from source systems and bringing it into the warehouse is commonly called ETL: extraction, transformation, and loading. ETL refers to a broad process rather than three well-defined steps.

In a typical scenario, data from one or more operational systems is extracted and then physically transported to the target system or an intermediate system for processing. Depending on the method of transportation, some transformations can occur during this process. For example, a SQL statement that directly accesses a remote target through a gateway can concatenate two columns as part of the SELECT statement.

Oracle Database is not itself an ETL tool. However, Oracle Database provides a rich set of capabilities usable by ETL tools such as Oracle Warehouse Builder and customized ETL solutions. ETL capabilities provided by Oracle Database include:

  • Transportable tablespaces

    You can transport tablespaces between different computer architectures and operating systems. Transportable tablespaces are the fastest way for moving large volumes of data between two Oracle databases. See Oracle Database Administrator's Guide to learn about transportable tablespaces.

  • Table functions

    A table function can produce a set of rows as output and can accept a set of rows as input. Table functions provide support for pipelined and parallel execution of transformations implemented in PL/SQL, C, or Java without requiring the use of intermediate staging tables. See Oracle Database Data Warehousing Guide to learn about table functions.

  • External tables

    External tables enable external data to be joined directly and in parallel without requiring it to be first loaded in the database (see "External Tables"). Thus, external tables enable the pipelining of the loading phase with the transformation phase.

  • Table compression

    To reduce disk use and memory use, you can store tables and partitioned tables in a compressed format (see "Table Compression"). The use of table compression often leads to a better scaleup for read-only operations and faster query execution.

  • Change Data Capture

    This feature efficiently identifies and captures data that has been added to, updated in, or removed from, relational tables and makes this change data available for use by applications or individuals.


See Also:


Business Intelligence

Business intelligence is the analysis of an organization's information as an aid to making business decisions. Business intelligence and analytical applications are dominated by actions such as drilling up and down hierarchies and comparing aggregate values. Oracle Database provides several technologies to support business intelligence operations.

Analytic SQL

Oracle Database has introduced many SQL operations for performing analytic operations. These operations include ranking, moving averages, cumulative sums, ratio-to-reports, and period-over-period comparisons. For example, Oracle Database supports the following forms of analytic SQL:

  • SQL for aggregation

    Aggregate functions such as COUNT return a single result row based on groups of rows rather than on single rows. Aggregation is fundamental to data warehousing. To improve aggregation performance in a warehouse, the database provides extensions to the GROUP BY clause to make querying and reporting easier and faster. See Oracle Database Data Warehousing Guide to learn about aggregation.

  • SQL for analysis

    Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. Oracle has advanced SQL analytical processing capabilities using a family of analytic SQL functions. For example, these analytic functions enable you to calculate rankings and percentiles and moving windows. See Oracle Database Data Warehousing Guide to learn about SQL for analysis and reporting.

  • SQL for modeling

    With the MODEL clause, you can create a multidimensional array from query results and apply rules to this array to calculate new values. For example, you can partition data in a sales view by country and perform a model computation, as defined by multiple rules, on each country. One rule could calculate the sales of a product in 2008 as the sum of sales in 2006 and 2007. See Oracle Database Data Warehousing Guide to learn about SQL modeling.


See Also:

Oracle Database SQL Language Reference to learn about SQL functions

OLAP

Oracle online analytical processing (OLAP) provides native multidimensional storage and rapid response times when analyzing data across multiple dimensions. OLAP enables analysts to quickly obtain answers to complex, iterative queries during interactive sessions.

Oracle OLAP has the following primary characteristics:

  • Oracle OLAP is integrated in the database so that you can use standard SQL administrative, querying, and reporting tools.

  • The OLAP engine runs within the kernel of Oracle Database.

  • Dimensional objects are stored in Oracle Database in their native multidimensional format.

  • Cubes and other dimensional objects are first class data objects represented in the Oracle data dictionary.

  • Data security is administered in the standard way, by granting and revoking privileges to Oracle Database users and roles.

Oracle OLAP offers the power of simplicity: one database, standard administration and security, and standard interfaces and development tools.


See Also:


Data Mining

Data mining involves automatically searching large stores of data for patterns and trends that go beyond simple analysis. Data mining uses sophisticated mathematical algorithms to segment data and evaluate the probability of future events. Typical applications of data mining include call centers, ATMs, E-business relational management (ERM), and business planning.

With Oracle Data Mining, the data, data preparation, model building, and model scoring results all remain in the database. Oracle Data Mining supports a PL/SQL API, a Java API, SQL functions for model scoring, and a GUI called Oracle Data Miner. Thus, Oracle Database provides an infrastructure for application developers to integrate data mining seamlessly with database applications.

Overview of Oracle Information Integration

As an organization evolves, it becomes increasingly important for it to be able to share information among multiple databases and applications. The basic approaches to sharing information are as follows:

This section focuses on Oracle solutions for federating and sharing information.


See Also:

Oracle Database 2 Day + Data Replication and Integration Guide for an introduction to data replication and integration

Federated Access

The foundation of federated access is a distributed environment, which is a network of disparate systems that seamlessly communicate with each other. Each system in the environment is called a node. The system to which a user is directly connected is called the local system. Additional systems accessed by this user are remote systems.

A distributed environment enables applications to access and exchange data from the local and remote systems. All the data can be simultaneously accessed and modified.

Distributed SQL

Distributed SQL synchronously accesses and updates data distributed among multiple databases. An Oracle distributed database system can be transparent to users, making it appear as a single Oracle database.

Distributed SQL includes distributed queries and distributed transactions. The Oracle distributed database architecture provides query and transaction transparency. For example, standard DML statements work just as they do in a non-distributed database environment. Additionally, applications control transactions using the standard SQL statements COMMIT, SAVEPOINT, and ROLLBACK.


See Also:


Database Links

A database link is a connection between two physical databases that enables a client to access them as one logical database. Oracle Database uses database links to enable users on one database to access objects in a remote database. A local user can access a link to a remote database without being a user on the remote database.

Figure 17-6 shows an example of user hr accessing the employees table on the remote database with the global name hq.example.com. The employees synonym hides the identity and location of the remote schema object.

Figure 17-6 Database Link

Description of Figure 17-6 follows
Description of "Figure 17-6 Database Link"


See Also:

Oracle Database Administrator's Guide to learn about database links

Information Sharing

At the heart of any integration is the sharing of data among applications in the enterprise. Oracle Streams is the asynchronous information sharing infrastructure in Oracle Database. This infrastructure enables the propagation and management of data, transactions, and events in a data stream either within a database, or from one database to another.

Oracle Streams includes replication and messaging. Replication is the process of sharing database objects and data at multiple databases. Messaging is the sharing of information between applications and users.

Oracle Streams Replication

In Oracle Streams replication, a change to a database object at one database can be shared with other databases in the replication environment. For example, Oracle Streams propagates an update to an employees table to an identical employees table in a different database. In this way, the database objects and data are kept synchronized at all databases in the replication environment.

Typical uses for Oracle Streams replication include:

  • Creating a reporting site to offload processing from a primary OLTP site.

  • Providing load balancing and improved scalability and availability for a call center or similar application.

  • Providing site autonomy between locations to satisfy certain common business requirements.

  • Transforming and consolidating data from multiple locations.

  • Replicating data between different platforms and Oracle Database releases, and across a wide area network (WAN).

Oracle Streams Information Flow

The architecture of Oracle Streams is very flexible. Figure 17-7 depicts the basic information flow in a replication environment.

Figure 17-7 Oracle Streams Information Flow

Description of Figure 17-7 follows
Description of "Figure 17-7 Oracle Streams Information Flow"

As shown in Figure 17-7, Oracle Streams contains the following basic elements:

  • Capture

    Oracle Streams can implicitly capture DML and DDL changes. Rules determine which changes are captured. Changes are formatted into logical change records (LCRs), which are messages with a specific format describing a database change.

  • Staging

    LCRs are placed in a staging area, which is a queue that stores and manages captured messages. Message staging provides a holding area with security, as well as auditing and tracking of message data. Propagations can send messages from one queue to another. The queues can reside in the same or different databases.

  • Consumption

    LCRs remain in a staging area until subscribers consume them implicitly or explicitly. An apply process implicitly applies changes encapsulated in LCRs.


Note:

Oracle Streams is fully inter-operational with materialized views, which you can use to maintain updatable or read-only copies of data (see "Overview of Materialized Views").


See Also:

Oracle Database 2 Day + Data Replication and Integration Guide to learn how to replicate data using Oracle Streams

Oracle Streams Replication Environments

Oracle Streams enables you to configure many different types of custom replication environments. However, the following types of replication environments are the most common:

  • Two-Database

    Only two databases share the replicated database objects. The changes made to replicated database objects at one database are captured and sent directly to the other database, where they are applied.

    In a one-way replication environment, only one database allows changes to the replicated database objects, with the other database containing read-only replicas of these objects. In a bi-directional replication environment, both databases can allow changes to the replicated objects. In this case, both databases capture changes to these database objects and send the changes to the other database, where they are applied.

  • Hub-and-Spoke

    A central database, or hub, communicates with secondary databases, or spokes. The spokes do not communicate directly with each other. In a hub-and-spoke replication environment, the spokes might or might not allow changes to the replicated database objects.

  • N-Way

    Each database communicates directly with every other database in the environment. The changes made to replicated database objects at one database are captured and sent directly to each of the other databases in the environment, where they are applied.


See Also:

Oracle Database 2 Day + Data Replication and Integration Guide to learn more about common replication environments

Oracle Streams Advanced Queuing (AQ)

Oracle Streams Advanced Queuing (AQ) is a robust and feature-rich message queuing system integrated with Oracle Database. When an organization has different systems that must communicate with each other, a messaging environment can provide a standard, reliable way to transport critical information between these systems.

A sample use case is a business that enters orders in an Oracle database at headquarters. When an order is entered, the business uses AQ to send the order ID and order date to a database in a warehouse. These messages alert employees at the warehouse about the orders so that they can fill and ship them.

Message Queuing and Dequeuing

Advanced Queuing stores user messages in abstract storage units called queues. Enqueuing is the process by which producers place messages into queues. Dequeuing is the process by which consumers retrieve messages from queues.

Support for explicit dequeue allows developers to use Oracle Streams to reliably exchange messages. They can also notify applications of changes by leveraging the change capture and propagation features of Oracle Streams.

Figure 17-8 shows a sample application that explicitly enqueues and dequeues messages through Advanced Queuing, enabling it to share information with partners using different messaging systems. After being enqueued, messages can be transformed and propagated before being dequeued to the partner's application.

Figure 17-8 Oracle Streams Message Queuing

Description of Figure 17-8 follows
Description of "Figure 17-8 Oracle Streams Message Queuing"

Advanced Queuing Features

Oracle Streams Advanced Queuing supports all the standard features of message queuing systems. These features include:

  • Asynchronous application integration

    Oracle Streams Advanced Queuing offers several ways to enqueue messages. A capture process or synchronous capture can capture the messages implicitly, or applications and users can capture messages explicitly.

  • Extensible integration architecture

    Many applications are integrated with a distributed hub and spoke model with Oracle Database as the hub. The distributed applications on an Oracle database communicate with queues in the same hub. Multiple applications share the same queue, eliminating the need to add queues to support additional applications.

  • Heterogeneous application integration

    Advanced Queuing provides applications with the full power of the Oracle type system. It includes support for scalar data types, Oracle Database object types with inheritance, XMLType with additional operators for XML data, and ANYDATA.

  • Legacy application integration

    The Oracle Messaging Gateway integrates Oracle Database applications with other message queuing systems, such as Websphere MQ and Tibco.

  • Standards-Based API support

    Oracle Streams Advanced Queuing supports industry-standard APIs: SQL, JMS, and SOAP. Changes made using SQL are captured automatically as messages.

Oracle Streams Use Case

For a sample use case, assume that a company uses Oracle Streams to maintain multiple copies of a corporate Web site. The business requirements include:

  • A reporting database must contain the most current data for analysts in a New York office to perform ad hoc querying.

  • Updatable materialized views must support the field sales staff.

  • Data must be shared with applications hosted on a Sybase database.

Figure 17-9 illustrates this Streams configuration.

Figure 17-9 Streams Configuration

Description of Figure 17-9 follows
Description of "Figure 17-9 Streams Configuration"

Oracle Streams is used to replicate data in an n-way configuration consisting of sites in New York, London, and Tokyo. At each site, Streams implicit capture collects any changes that occur for subscribed tables in each local region, and stages them locally in the queue. Changes captured in each region are then forwarded to each of the other region's databases. Changes made at each database can be reflected at every other database, providing complete data for the subscribed objects throughout the world.

At each regional database, an Oracle Streams apply process applies the changes automatically. As changes are applied, Oracle Streams checks for and resolves any conflicts. Streams can also be used to exchange data for particular tables with non-Oracle databases. Using the Oracle Database Gateway for Sybase, a Streams apply process applies the changes to a Sybase database using the same mechanisms as it does for Oracle databases.

The reporting database is hosted in New York. This database is a fully functional Oracle database that has a read-only copy of the relevant application tables. The reporting site is not configured to capture changes on these application tables. Oracle Streams imposes no restrictions on the configuration or use of this reporting database.

The London site also serves as the master site for several updatable materialized view sites. Each salesperson receives an updatable copy of the required portion of data. These sites typically only connect once a day to upload their orders and download any changes made after their last refresh.


See Also:

Oracle Database 2 Day + Data Replication and Integration Guide for examples of configuring Oracle Streams



Footnote Legend

Footnote 1: Building the Data Warehouse, John Wiley and Sons, 1996.
PKSPKM%AOEBPS/cncptdev.htm Concepts for Database Developers

19 Concepts for Database Developers

The Oracle Database developer creates and maintains a database application. This section presents a brief overview of what a database developer does and the development tools available.

This section contains the following topics:

Duties of Database Developers

An Oracle developer is responsible for creating or maintaining the database components of an application that uses the Oracle technology stack. Oracle developers either develop new applications or convert existing applications to run in an Oracle Database environment. For this reason, developers work closely with the database administrators, sharing knowledge and information.

Oracle database developers can expect to be involved in the following tasks:

The preceding tasks, and many others, are described in Oracle Database 2 Day Developer's Guide and Oracle Database Advanced Application Developer's Guide.

Tools for Database Developers

Oracle provides several tools for use in developing database applications. This section describes some commonly used development tools.

SQL Developer

SQL Developer is a graphical version of SQL*Plus, written in Java, that supports development in SQL and PL/SQL. You can connect to any Oracle database schema using standard database authentication. SQL Developer enables you to:

  • Browse, create, edit, and delete schema objects

  • Execute SQL statements

  • Edit and debug PL/SQL program units

  • Manipulate and export data

  • Create and display reports

SQL Developer is available in the default Oracle Database installation and by free download.

Oracle Application Express

Oracle Application Express (APEX) is a Web application development tool for Oracle Database. The tool uses built-in features such as user interface themes, navigational controls, form handlers, and flexible reports to accelerate application development.

Oracle Application Express installs with the database and consists of data in tables and PL/SQL code. When you run an application, your browser sends a URL request that is translated into an Oracle Application Express PL/SQL call. After the database processes the PL/SQL, the results are relayed back to the browser as HTML. This cycle happens each time you request or submit a page.

You can use Oracle Application Express with the embedded PL/SQL gateway. The gateway runs in the XML DB HTTP server in the database and provides the necessary infrastructure to create dynamic applications. As shown in Figure 19-1, the embedded PL/SQL gateway simplifies the application architecture by eliminating the middle tier.

Figure 19-1 Application Express with Embedded PL/SQL Gateway

Description of Figure 19-1 follows
Description of "Figure 19-1 Application Express with Embedded PL/SQL Gateway"

Oracle JDeveloper

Oracle JDeveloper is an integrated development environment (IDE) for building service-oriented applications using the latest industry standards for Java, XML, Web services, and SQL. Oracle JDeveloper supports the complete software development life cycle, with integrated features for modeling, coding, debugging, testing, profiling, tuning, and deploying applications.

JDeveloper uses windows for various application development tools. For example, when creating a Java application, you can use tools such as the Java Visual Editor and Component Palette. In addition to these tools, JDeveloper provides a range of navigators to help you organize and view the contents of your projects.


See Also:


Oracle JPublisher

Java Publisher (JPublisher) is a simple and convenient tool to create Java programs that access database tables. Java code stubs generated by JDeveloper present object-relational structures in the database as Java classes. These classes can represent the following user-defined database entities in a Java program:

  • SQL object types

  • Object reference types

  • SQL collection types

  • PL/SQL packages

You can specify and customize the mapping of these entities to Java classes in a strongly typed paradigm, so that a specific Java type is associated with a specific user-defined SQL type. JPublisher can also generate classes for PL/SQL packages. These classes have wrapper methods to call the stored procedure in the package.

Oracle Developer Tools for Visual Studio .NET

Oracle Developer Tools for Visual Studio .NET is a set of application tools integrated with the Visual Studio .NET environment. These tools provide GUI access to Oracle functionality, enable the user to perform a wide range of application development tasks, and improve development productivity and ease of use.

Oracle Developer Tools support the programming and implementation of .NET stored procedures using Visual Basic, C#, and other .NET languages. These procedures are written in a .NET language and contain SQL or PL/SQL statements.

Topics for Database Developers

Chapter 17 describes topics important for both developers and administrators. This section covers topics that are most essential to database developers and that have not been discussed elsewhere in the manual.

This section contains the following topics:

Principles of Application Design and Tuning

Oracle developers must design, create, and tune database applications so that they achieve security and performance goals. The following principles of application design and tuning are useful guidelines:

  • Understand how Oracle Database works

    As a developer, you want to develop applications in the least amount of time against an Oracle database, which requires exploiting the database architecture and features. For example, not understanding Oracle Database concurrency controls and multiversioning read consistency may make an application corrupt the integrity of the data, run slowly, and decrease scalability (see "Introduction to Data Concurrency and Consistency").

  • Use bind variables

    When a query uses bind variables, the database can compile it once and store the query plan in the shared pool. If the same statement is executed again, then the database can perform a soft parse and reuse the plan. In contrast, a hard parse takes longer and uses more resources (see "SQL Parsing"). Using bind variables to allow soft parsing is very efficient and is the way the database intends developers to work.

  • Implement integrity constraints in the server rather than in the client

    Using primary and foreign keys enables data to be reused in multiple applications. Coding the rules in a client means that other clients do not have access to these rules when running against the databases (see "Advantages of Integrity Constraints").

  • Build a test environment with representative data and session activity

    A test environment that simulates your live production environment provides multiple benefits. For example, you can benchmark the application to ensure that it scales and performs well. Also, you can use a test environment to measure the performance impact of changes to the database, and ensure that upgrades and patches work correctly.

  • Design the data model with the goal of good performance

    Typically, attempts to use generic data models result in poor performance. A well-designed data model answer the most common queries as efficiently as possible. For example, the data model should use the type of indexes that provide the best performance. Tuning after deployment is undesirable because changes to logic and physical structures may be difficult or impossible.

  • Define clear performance goals and keep historical records of metrics

    An important facet of development is determining exactly how the application is expected to perform and scale. For example, you should use metrics that include expected user load, transactions per second, acceptable response times, and so on. Good practice dictates that you maintain historical records of performance metrics. In this way, you can monitor performance proactively and reactively (see "Performance Diagnostics and Tuning").

  • Instrument the application code

    Good development practice involves adding debugging code to your application. The ability to generate trace files is useful for debugging and diagnosing performance problems.


See Also:

Oracle Database 2 Day Developer's Guide for considerations when designing and deploying database applications

Client-Side Database Programming

As explained in Chapter 8, "Server-Side Programming: PL/SQL and Java", two basic techniques enable procedural database applications to use SQL: server-side programming with PL/SQL and Java, and client-side programming with precompilers and APIs. This section provides a brief overview of client-side database programming.


See Also:

Oracle Database Advanced Application Developer's Guide to learn how to choose a programming environment

Embedded SQL

Historically, client/server programs have used embedded SQL to interact with the database. This section explains options for using embedded SQL.

Oracle Precompilers

Client/server programs are typically written using precompilers, which are programming tools that enable you to embed SQL statements in high-level programs. For example, the Oracle Pro*C/C++ precompiler enables you to embed SQL statements in a C or C++ source file. Oracle precompilers are also available for COBOL and FORTRAN.

A precompiler provides several benefits, including the following:

  • Increases productivity because you typically write less code than equivalent OCI applications

  • Enables you to create highly customized applications

  • Allows close monitoring of resource use, SQL statement execution, and various run-time indicators

  • Saves time because the precompiler, not you, translates each embedded SQL statement into calls to the Oracle Database run-time library

  • Uses the Object Type Translator to map Oracle Database object types and collections into C data types to be used in the Pro*C/C++ application

  • Provides compile time type checking of object types and collections and automatic type conversion from database types to C data types

The client application containing the SQL statements is the host program. This program is written is the host language. In the host program, you can mix complete SQL statements with complete C statements and use C variables or structures in SQL statements. When embedding SQL statements you must begin them with the keywords EXEC SQL and end them with a semicolon. Pro*C/C++ translates EXEC SQL statements into calls to the run-time library SQLLIB.

Many embedded SQL statements differ from their interactive counterparts only through the addition of a new clause or the use of program variables. The following example compares interactive and embedded ROLLBACK statements:

ROLLBACK;           -- interactive
EXEC SQL ROLLBACK;  -- embedded

The statements have the same effect, but you would use the first in an interactive SQL environment (such as SQL Developer), and the second in a Pro*C/C++ program.

A precompiler accepts the host program as input, translates the embedded SQL statements into standard database run-time library calls, and generates a source program that you can compile, link, and run in the usual way. Figure 19-2 illustrates typical steps of developing programs that use precompilers.

Figure 19-2 Program Development with Precompilers

Description of Figure 19-2 follows
Description of "Figure 19-2 Program Development with Precompilers"


See Also:


SQLJ

SQLJ is an ANSI SQL-1999 standard for embedding SQL statements in Java source code. SQLJ provides a simpler alternative to the Java Database Connectivity (JDBC) API for client-side SQL data access from Java.

The SQLJ interface is the Java equivalent of the Pro* interfaces. You insert SQL statements in your Java source code. Afterward, you submit the Java source files to the SQLJ translator, which translates the embedded SQL to pure JDBC-based Java code.


See Also:

"SQLJ"

Client-Side APIs

Most developers today use an API to embed SQL in their database applications. For example, two popular APIs for enabling programs to communicate with Oracle Database are Open Database Connectivity (ODBC) and JDBC. The Oracle Call Interface (OCI) and Oracle C++ Call Interface (OCCI) are two other common APIs for client-side programming.

OCI and OCCI

As an alternative to precompilers, Oracle provides the OCI and OCCI APIs. OCI lets you manipulate data and schemas in a database using a host programming language such as C. OCCI is an object-oriented interface suitable for use with C++. Both APIs enable developers to use native subprogram invocations to access Oracle Database and control SQL execution.

In some cases, OCI provides better performance or more features than higher-level interfaces. OCI and OCCI provide many features, including the following:

  • Support for all SQL DDL, DML, query, and transaction control facilities available through Oracle Database

  • Instant client, a way to deploy applications when disk space is an issue

  • Thread management, connection pooling, globalization functions, and direct path loading of data from a C application

OCI and OCCI provide a library of standard database access and retrieval functions in the form of a dynamic run-time library (OCILIB). This library can be linked in an application at run time. Thus, you can compile and link an OCI or OCCI program in the same way as a nondatabase application, avoiding a separate preprocessing or precompilation step. Figure 19-3 illustrates the development process.

Figure 19-3 Development Process Using OCI or OCCI

Description of Figure 19-3 follows
Description of "Figure 19-3 Development Process Using OCI or OCCI"

ODBC and JDBC

ODBC is a standard API that enables applications to connect to a database and then prepare and run SQL statements. ODBC is independent of programming language, database, and operating system. The goal of ODBC is to enable any application to access data contained in any database.

A database driver is software that sits between an application and the database. The driver translates the API calls made by the application into commands that the database can process. By using an ODBC driver, an application can access any data source, including data stored in spreadsheets. The ODBC driver performs all mappings between the ODBC standard and the database.

The Oracle ODBC driver provided by Oracle enables ODBC-compliant applications to access Oracle Database. For example, an application written in Visual Basic can use ODBC to query and update tables in an Oracle database.

JDBC is a low-level Java interface that enables Java applications to interact with Oracle database. Like ODBC, JDBC is a vendor-independent API. The JDBC standard is defined by Sun Microsystems and implemented through the java.sql interfaces.

The JDBC standard enables individual providers to implement and extend the standard with their own JDBC drivers. Oracle provides the following JDBC drivers for client-side programming:

  • JDBC thin driver

    This pure Java driver resides on the client side without an Oracle client installation. It is platform-independent and usable with both applets and applications.

  • JDBC OCI driver

    This driver resides on the client-side with an Oracle client installation. It is usable only with applications. The JDBC OCI driver, which is written in both C and Java, converts JDBC calls to OCI calls.

The following snippets are from a Java program that uses the JDBC OCI driver to create a Statement object and query the dual table:

// Create a statement
Statement stmt = conn.createStatement();
 
// Query dual table
ResultSet rset = stmt.executeQuery("SELECT 'Hello World' FROM DUAL");

See Also:


Globalization Support

Oracle Database globalization support enables you to store, process, and retrieve data in native languages. Thus, you can develop multilingual applications and software that can be accessed and run from anywhere in the world simultaneously.

Developers who write globalized database application must do the following:

  • Understand the Oracle Database globalization support architecture, including the properties of the different character sets, territories, languages, and linguistic sort definitions

  • Understand the globalization functionality of their middle-tier programming environment, including how it can interact and synchronize with the locale model of the database

  • Design and write code capable of simultaneously supporting multiple clients running on different operating systems, with different character sets and locale requirements

For example, an application may be required to render content of the user interface and process data in languages and locale preferences of native users. For example, the application must process multibyte Kanji data, display messages and dates in the proper regional format, and process 7-bit ASCII data without requiring users to change settings.


See Also:

Oracle Database Globalization Support Guide for more information about globalization

Globalization Support Environment

The globalization support environment includes the client application and the database. You can control language-dependent operations by setting parameters and environment variables on the client and server, which may exist in separate locations.


Note:

In previous releases, Oracle referred to globalization support capabilities as National Language Support (NLS) features. NLS is actually a subset of globalization support and provides the ability to choose a national language and store data in a specific character set.

Oracle Database provides globalization support for features such as:

  • Native languages and territories

  • Local formats for date, time, numbers, and currency

  • Calendar systems (Gregorian, Japanese, Imperial, Thai Buddha, and so on)

  • Multiple character sets, including Unicode

  • Character semantics

Character Sets

A key component of globalization support is a character set, which is an encoding scheme used to display characters on your computer screen. The following distinction is important in application development:

  • A database character set determines which languages can be represented in a database. The character set is specified at database creation.


    Note:

    After a database is created, changing its character set is usually very expensive in terms of time and resources. This operation may require converting all character data by exporting the whole database and importing it back.

  • A client character set is the character set for data entered or displayed by a client application. The character set for the client and database can be different.

A group of characters (for example, alphabetic characters, ideographs, symbols, punctuation marks, and control characters) can be encoded as a character set. An encoded character set assigns a unique numeric code, called a code point or encoded value, to each character in the set. Code points are important in a global environment because of the potential need to convert data between different character sets.

The computer industry uses many encoded character sets. These sets differ in the number of characters available, the characters available for use, code points assigned to each character, and so on. Oracle Database supports most national, international, and vendor-specific encoded character set standards.

Oracle Database supports the following classes of encoded character sets:

  • Single-Byte character sets

    Each character occupies one byte. An example of a 7-bit character set is US7ASCII. An example of an 8-bit character set is WE8DEC.

  • Multibyte character sets

    Each character occupies multiple bytes. Multibyte sets are commonly used for Asian languages.

  • Unicode

    The universal encoded character set enables you to store information in any language by using a single character set. Unicode provides a unique code value for every character, regardless of the platform, program, or language.


See Also:

Oracle Database Globalization Support Guide to learn about character set migration

Locale-Specific Settings

A locale is a linguistic and cultural environment in which a system or program is running. NLS parameters determine locale-specific behavior on both the client and database. A database session uses NLS settings when executing statements on behalf of a client. For example, the database makes the correct territory usage of the thousands separator for a client.

Typically, the NLS_LANG environment variable on the client host specifies the locale for both the server session and client application. The process is as follows:

  1. When a client application starts, it initializes the client NLS environment from the environment settings.

    All NLS operations performed locally, such as displaying formatting in Oracle Developer applications, use these settings.

  2. The client communicates the information defined by NLS_LANG to the database when it connects.

  3. The database session initializes its NLS environment based on the settings communicated by the client.

    If the client did not specify settings, then the session uses the settings in the initialization parameter file. The database uses the initialization parameter settings only if the client did not specify any NLS settings. If the client specified some NLS settings, then the remaining NLS settings default.

Each session started on behalf of a client application may run in the same or a different locale as other sessions. For example, one session may use the German locale while another uses the French locale. Also, each session may have the same or different language requirements specified.

Table 19-1 shows two clients using different NLS_LANG settings. A user starts SQL*Plus on each host, logs on to the same database as hr, and runs the same query simultaneously. The result for each session differs because of the locale-specific NLS setting for floating-point numbers.

Table 19-1 Locale-Specific NLS Settings

tClient Host 1Client Host 2

t0

$ export NLS_LANG=American_America.US7ASCII
$ export NLS_LANG=German_Germany.US7ASCII

t1

$ sqlplus /nolog
SQL> CONNECT hr@proddb
Enter password: *******
SQL> SELECT 999/10 FROM DUAL;
 
999/10
----------
99.9
$ sqlplus /nolog
SQL> CONNECT hr@proddb
Enter password: *******
SQL> SELECT 999/10 FROM DUAL;
 
999/10
----------
99,9

Oracle Globalization Development Kit

The Oracle Globalization Development Kit (GDK) simplifies the development process and reduces the cost of developing Internet applications used to support a global environment. The GDK includes comprehensive programming APIs for both Java and PL/SQL, code samples, and documentation that address many of the design, development, and deployment issues encountered while creating global applications.

The GDK mainly consists of two parts: GDK for Java and GDK for PL/SQL. GDK for Java provides globalization support to Java applications. GDK for PL/SQL provides globalization support to the PL/SQL programming environment. The features offered in the two parts are not identical.

Unstructured Data

The traditional relational model deals with simple structured data that fits into simple tables. Oracle Database also provides support for unstructured data, which cannot be decomposed into standard components. Unstructured data includes text, graphic images, video clips, and sound waveforms.

Oracle Database includes data types to handle unstructured content. These data types appear as native types in the database and can be queried using SQL.

Overview of XML in Oracle Database

Oracle XML DB is a set of Oracle Database technologies related to high-performance XML storage and retrieval. XML DB provides native XML support by encompassing both SQL and XML data models in an interoperable manner.

Oracle XML DB is suited for any Java or PL/SQL application where some or all of the data processed by the application is represented using XML. For example, the application may have large numbers of XML documents that must be ingested, generated, validated, and searched.

Oracle XML DB provides many features, including the following:

  • The native XMLType data type, which can represent an XML document in the database so that it is accessible by SQL

  • Support for XML standards such as XML Schema, XPath, XQuery, XSLT, and DOM

  • XMLIndex, which supports all forms of XML data, from highly structured to completely unstructured

Example 19-1 creates a table orders of type XMLType. The example also creates a SQL directory object, which is a logical name in the database for a physical directory on the host computer. This directory contains XML files. The example inserts XML content from the purchaseOrder.xml file into the orders table.

Example 19-1 XMLType

CREATE TABLE orders OF XMLType;
CREATE DIRECTORY xmldir AS path_to_folder_containing_XML_file;
INSERT INTO orders VALUES (XMLType(bfilename('XMLDIR', 'purchaseOrder.xml'),
                                       nls_charset_id('AL32UTF8')));

The Oracle XML developer's kits (XDK) contain the basic building blocks for reading, manipulating, transforming, and viewing XML documents, whether on a file system or in a database. APIs and tools are available for Java, C, and C++. The production Oracle XDKs are fully supported and come with a commercial redistribution license.

Overview of LOBs

The large object (LOB) data types enable you to store and manipulate large blocks of unstructured data in binary or character format. LOBs provide efficient, random, piece-wise access to the data.

Internal LOBs

An internal LOB stores data in the database itself rather than in external files. Internal LOBS include the following:

  • CLOB (character LOB), which stores large amounts of text, such as text or XML files, in the database character set

  • NCLOB (national character set LOB), which stores Unicode data

  • BLOB (binary LOB), which stores large amounts of binary information as a bit stream and is not subject to character set translation

The database stores LOBs differently from other data types. Creating a LOB column implicitly creates a LOB segment and a LOB index (see "User Segment Creation"). The tablespace containing the LOB segment and LOB index, which are always stored together, may be different from the tablespace containing the table.


Note:

Sometimes the database can store small amounts of LOB data in the table itself rather than in a separate LOB segment.

The LOB segment stores data in pieces called chunks. A chunk is a logically contiguous set of data blocks and is the smallest unit of allocation for a LOB. A row in the table stores a pointer called a LOB locator, which points to the LOB index. When the table is queried, the database uses the LOB index to quickly locate the LOB chunks.

The database manages read consistency for LOB segments differently from other data (see "Read Consistency and Undo Segments"). Instead of using undo data to record changes, the database stores the before images in the segment itself. When a transaction changes a LOB, the database allocates a new chunk and leaves the old data in place. If the transaction rolls back, then the database rolls back the changes to the index, which points to the old chunk.

External LOBs

A BFILE (binary file LOB) is an external LOB because the database stores a pointer to a file in the operating system. The external data is read-only.

A BFILE uses a directory object to locate data. The amount of space consumed depends on the length of the directory object name and the length of the file name.

A BFILE does not use the same read consistency mechanism as internal LOBS because the binary file is external to the database. If the data in the file changes, then repeated reads from the same binary file may produce different results.

SecureFiles

SecureFiles is a LOB data type specifically engineered to deliver high performance for file data comparable to that of traditional file systems, while retaining the advantages of Oracle Database. The SECUREFILE LOB parameter enables advanced features typically found in high-end file systems, such as deduplication, compression, encryption, and journaling.

Overview of Oracle Text

Oracle Text (Text) is a fast and accurate full-text retrieval technology integrated with Oracle Database. Oracle Text indexes any document or textual content stored in file systems, databases, or on the Web. These documents can be searched based on their textual content, metadata, or attributes.

Oracle Text provides the following advantages:

  • Oracle Text allows text searches to be combined with regular database searches in a single SQL statement. The Text index is in the database, and Text queries are run in the Oracle Database process. The optimizer can choose the best execution plan for any query, giving the best performance for ad hoc queries involving Text and structured criteria.

  • You can use Oracle Text with XML data. In particular, you can combine XMLIndex with Oracle Text indexing, taking advantage of both XML and a full-text index.

  • The Oracle Text SQL API makes it simple and intuitive to create and maintain Oracle Text indexes and run searches.

For a use case, suppose you must create a catalog index for an auction site that sells electronic equipment. New inventory is added every day. Item descriptions, bid dates, and prices must be stored together. The application requires good response time for mixed queries. First, you create and populate a catalog table. You then use Oracle Text to create a CTXCAT index that you can query with the CATSEARCH operator in a SELECT ... WHERE CATSEARCH statement.

Figure 19-4 illustrates the relation of the catalog table, its CTXCAT index, and the catalog application that uses the CATSEARCH operator to query the index.

Figure 19-4 Catalog Query Application

Description of Figure 19-4 follows
Description of "Figure 19-4 Catalog Query Application"


See Also:


Overview of Oracle Multimedia

Oracle Multimedia enables Oracle Database to store, manage, and retrieve images, medical images that follow the Digital Imaging and Communications in Medicine (DICOM) standard, audio, and video data in an integrated fashion with other enterprise information. Oracle Multimedia provides object types and methods for:

  • Extracting metadata and attributes from multimedia data

  • Embedding metadata created by applications into image and DICOM data

  • Obtaining and managing multimedia data from Oracle Database, Web servers, file systems, and other servers

  • Performing operations such as thumbnail generation on image and DICOM data

  • Making DICOM data anonymous

  • Checking DICOM data for conformity to user-defined validation rules

Overview of Oracle Spatial

Oracle Spatial (Spatial) provides a SQL schema and functions that facilitate the storage, retrieval, update, and query of collections of spatial features in an Oracle database. Oracle Spatial makes spatial data management easier to users of location-enabled applications and geographic information system (GIS) applications.

An example of spatial data is a road map. The spatial data indicates the Earth location (such as longitude and latitude) of objects on the map. When the map is rendered, this spatial data is used to project the locations of the objects on a two-dimensional piece of paper. A GIS is often used to store, retrieve, and render this Earth-relative spatial data. When spatial data is stored in an Oracle database, the data can be easily manipulated, retrieved, and related to other data.

PKu PKM%AOEBPS/indexiot.htm Indexes and Index-Organized Tables

3 Indexes and Index-Organized Tables

This chapter discusses indexes, which are schema objects that can speed access to table rows, and index-organized tables, which are tables stored in an index structure.

This chapter contains the following sections:

Overview of Indexes

An index is an optional structure, associated with a table or table cluster, that can sometimes speed data access. By creating an index on one or more columns of a table, you gain the ability in some cases to retrieve a small set of randomly distributed rows from the table. Indexes are one of many means of reducing disk I/O.

If a heap-organized table has no indexes, then the database must perform a full table scan to find a value. For example, without an index, a query of location 2700 in the hr.departments table requires the database to search every row in every table block for this value. This approach does not scale well as data volumes increase.

For an analogy, suppose an HR manager has a shelf of cardboard boxes. Folders containing employee information are inserted randomly in the boxes. The folder for employee Whalen (ID 200) is 10 folders up from the bottom of box 1, whereas the folder for King (ID 100) is at the bottom of box 3. To locate a folder, the manager looks at every folder in box 1 from bottom to top, and then moves from box to box until the folder is found. To speed access, the manager could create an index that sequentially lists every employee ID with its folder location:

ID 100: Box 3, position 1 (bottom)
ID 101: Box 7, position 8 
ID 200: Box 1, position 10
.
.
.

Similarly, the manager could create separate indexes for employee last names, department IDs, and so on.

In general, consider creating an index on a column in any of the following situations:

Index Characteristics

Indexes are schema objects that are logically and physically independent of the data in the objects with which they are associated. Thus, an index can be dropped or created without physically affecting the table for the index.


Note:

If you drop an index, then applications still work. However, access of previously indexed data can be slower.

The absence or presence of an index does not require a change in the wording of any SQL statement. An index is a fast access path to a single row of data. It affects only the speed of execution. Given a data value that has been indexed, the index points directly to the location of the rows containing that value.

The database automatically maintains and uses indexes after they are created. The database also automatically reflects changes to data, such as adding, updating, and deleting rows, in all relevant indexes with no additional actions required by users. Retrieval performance of indexed data remains almost constant, even as rows are inserted. However, the presence of many indexes on a table degrades DML performance because the database must also update the indexes.

Indexes have the following properties:

  • Usability

    Indexes are usable (default) or unusable. An unusable index is not maintained by DML operations and is ignored by the optimizer. An unusable index can improve the performance of bulk loads. Instead of dropping an index and later re-creating it, you can make the index unusable and then rebuild it. Unusable indexes and index partitions do not consume space. When you make a usable index unusable, the database drops its index segment.

  • Visibility

    Indexes are visible (default) or invisible. An invisible index is maintained by DML operations and is not used by default by the optimizer. Making an index invisible is an alternative to making it unusable or dropping it. Invisible indexes are especially useful for testing the removal of an index before dropping it or using indexes temporarily without affecting the overall application.

Keys and Columns

A key is a set of columns or expressions on which you can build an index. Although the terms are often used interchangeably, indexes and keys are different. Indexes are structures stored in the database that users manage using SQL statements. Keys are strictly a logical concept.

The following statement creates an index on the customer_id column of the sample table oe.orders:

CREATE INDEX ord_customer_ix ON orders (customer_id);

In the preceding statement, the customer_id column is the index key. The index itself is named ord_customer_ix.


Note:

Primary and unique keys automatically have indexes, but you might want to create an index on a foreign key.


See Also:

Oracle Database SQL Language Reference CREATE INDEX syntax and semantics

Composite Indexes

A composite index, also called a concatenated index, is an index on multiple columns in a table. Columns in a composite index should appear in the order that makes the most sense for the queries that will retrieve data and need not be adjacent in the table.

Composite indexes can speed retrieval of data for SELECT statements in which the WHERE clause references all or the leading portion of the columns in the composite index. Therefore, the order of the columns used in the definition is important. In general, the most commonly accessed columns go first.

For example, suppose an application frequently queries the last_name, job_id, and salary columns in the employees table. Also assume that last_name has high cardinality, which means that the number of distinct values is large compared to the number of table rows. You create an index with the following column order:

CREATE INDEX employees_ix
   ON employees (last_name, job_id, salary);

Queries that access all three columns, only the last_name column, or only the last_name and job_id columns use this index. In this example, queries that do not access the last_name column do not use the index.


Note:

In some cases, such as when the leading column has very low cardinality, the database may use a skip scan of this index (see "Index Skip Scan").

Multiple indexes can exist for the same table if the permutation of columns differs for each index. You can create multiple indexes using the same columns if you specify distinctly different permutations of the columns. For example, the following SQL statements specify valid permutations:

CREATE INDEX employee_idx1 ON employees (last_name, job_id);
CREATE INDEX employee_idx2 ON employees (job_id, last_name);

See Also:

Oracle Database Performance Tuning Guide for more information about using composite indexes

Unique and Nonunique Indexes

Indexes can be unique or nonunique. Unique indexes guarantee that no two rows of a table have duplicate values in the key column or column. For example, no two employees can have the same employee ID. Thus, in a unique index, one rowid exists for each data value. The data in the leaf blocks is sorted only by key.

Nonunique indexes permit duplicates values in the indexed column or columns. For example, the first_name column of the employees table may contain multiple Mike values. For a nonunique index, the rowid is included in the key in sorted order, so nonunique indexes are sorted by the index key and rowid (ascending).

Oracle Database does not index table rows in which all key columns are null, except for bitmap indexes or when the cluster key column value is null.

Types of Indexes

Oracle Database provides several indexing schemes, which provide complementary performance functionality. The indexes can be categorized as follows:

  • B-tree indexes

    These indexes are the standard index type. They are excellent for primary key and highly-selective indexes. Used as concatenated indexes, B-tree indexes can retrieve data sorted by the indexed columns. B-tree indexes have the following subtypes:

    • Index-organized tables

      An index-organized table differs from a heap-organized because the data is itself the index. See "Overview of Index-Organized Tables".

    • Reverse key indexes

      In this type of index, the bytes of the index key are reversed, for example, 103 is stored as 301. The reversal of bytes spreads out inserts into the index over many blocks. See "Reverse Key Indexes".

    • Descending indexes

      This type of index stores data on a particular column or columns in descending order. See "Ascending and Descending Indexes".

    • B-tree cluster indexes

      This type of index is used to index a table cluster key. Instead of pointing to a row, the key points to the block that contains rows related to the cluster key. See "Overview of Indexed Clusters".

  • Bitmap and bitmap join indexes

    In a bitmap index, an index entry uses a bitmap to point to multiple rows. In contrast, a B-tree index entry points to a single row. A bitmap join index is a bitmap index for the join of two or more tables. See "Bitmap Indexes".

  • Function-based indexes

    This type of index includes columns that are either transformed by a function, such as the UPPER function, or included in an expression. B-tree or bitmap indexes can be function-based. See "Function-Based Indexes".

  • Application domain indexes

    This type of index is created by a user for data in an application-specific domain. The physical index need not use a traditional index structure and can be stored either in the Oracle database as tables or externally as a file. See "Application Domain Indexes".


See Also:

Oracle Database Performance Tuning Guide to learn about different index types

B-Tree Indexes

B-trees, short for balanced trees, are the most common type of database index. A B-tree index is an ordered list of values divided into ranges. By associating a key with a row or range of rows, B-trees provide excellent retrieval performance for a wide range of queries, including exact match and range searches.

Figure 3-1 illustrates the structure of a B-tree index. The example shows an index on the department_id column, which is a foreign key column in the employees table.

Figure 3-1 Internal Structure of a B-tree Index

Description of Figure 3-1 follows
Description of "Figure 3-1 Internal Structure of a B-tree Index"

Branch Blocks and Leaf Blocks

A B-tree index has two types of blocks: branch blocks for searching and leaf blocks that store values. The upper-level branch blocks of a B-tree index contain index data that points to lower-level index blocks. In Figure 3-1, the root branch block has an entry 0-40, which points to the leftmost block in the next branch level. This branch block contains entries such as 0-10 and 11-19. Each of these entries points to a leaf block that contains key values that fall in the range.

A B-tree index is balanced because all leaf blocks automatically stay at the same depth. Thus, retrieval of any record from anywhere in the index takes approximately the same amount of time. The height of the index is the number of blocks required to go from the root block to a leaf block. The branch level is the height minus 1. In Figure 3-1, the index has a height of 3 and a branch level of 2.

Branch blocks store the minimum key prefix needed to make a branching decision between two keys. This technique enables the database to fit as much data as possible on each branch block. The branch blocks contain a pointer to the child block containing the key. The number of keys and pointers is limited by the block size.

The leaf blocks contain every indexed data value and a corresponding rowid used to locate the actual row. Each entry is sorted by (key, rowid). Within a leaf block, a key and rowid is linked to its left and right sibling entries. The leaf blocks themselves are also doubly linked. In Figure 3-1 the leftmost leaf block (0-10) is linked to the second leaf block (11-19).


Note:

Indexes in columns with character data are based on the binary values of the characters in the database character set.

Index Scans

In an index scan, the database retrieves a row by traversing the index, using the indexed column values specified by the statement. If the database scans the index for a value, then it will find this value in n I/Os where n is the height of the B-tree index. This is the basic principle behind Oracle Database indexes.

If a SQL statement accesses only indexed columns, then the database reads values directly from the index rather than from the table. If the statement accesses columns in addition to the indexed columns, then the database uses rowids to find the rows in the table. Typically, the database retrieves table data by alternately reading an index block and then a table block.


See Also:

Oracle Database Performance Tuning Guide for detailed information about index scans

Full Index Scan

In a full index scan, the database reads the entire index in order. A full index scan is available if a predicate (WHERE clause) in the SQL statement references a column in the index, and in some circumstances when no predicate is specified. A full scan can eliminate sorting because the data is ordered by index key.

Suppose that an application runs the following query:

SELECT department_id, last_name, salary 
FROM   employees
WHERE  salary > 5000 
ORDER BY department_id, last_name;

Also assume that department_id, last_name, and salary are a composite key in an index. Oracle Database performs a full scan of the index, reading it in sorted order (ordered by department ID and last name) and filtering on the salary attribute. In this way, the database scans a set of data smaller than the employees table, which contains more columns than are included in the query, and avoids sorting the data.

For example, the full scan could read the index entries as follows:

50,Atkinson,2800,rowid
60,Austin,4800,rowid
70,Baer,10000,rowid
80,Abel,11000,rowid
80,Ande,6400,rowid
110,Austin,7200,rowid
.
.
.
Fast Full Index Scan

A fast full index scan is a full index scan in which the database accesses the data in the index itself without accessing the table, and the database reads the index blocks in no particular order.

Fast full index scans are an alternative to a full table scan when both of the following conditions are met:

  • The index must contain all columns needed for the query.

  • A row containing all nulls must not appear in the query result set. For this result to be guaranteed, at least one column in the index must have either:

    • A NOT NULL constraint

    • A predicate applied to it that prevents nulls from being considered in the query result set

For example, an application issues the following query, which does not include an ORDER BY clause:

SELECT last_name, salary
FROM   employees;

The last_name column has a not null constraint. If the last name and salary are a composite key in an index, then a fast full index scan can read the index entries to obtain the requested information:

Baida,2900,rowid
Zlotkey,10500,rowid
Austin,7200,rowid
Baer,10000,rowid
Atkinson,2800,rowid
Austin,4800,rowid
.
.
.
Index Range Scan

An index range scan is an ordered scan of an index that has the following characteristics:

  • One or more leading columns of an index are specified in conditions. A condition specifies a combination of one or more expressions and logical (Boolean) operators and returns a value of TRUE, FALSE, or UNKNOWN.

  • 0, 1, or more values are possible for an index key.

The database commonly uses an index range scan to access selective data. The selectivity is the percentage of rows in the table that the query selects, with 0 meaning no rows and 1 meaning all rows. Selectivity is tied to a query predicate, such as WHERE last_name LIKE 'A%', or a combination of predicates. A predicate becomes more selective as the value approaches 0 and less selective (or more unselective) as the value approaches 1.

For example, a user queries employees whose last names begin with A. Assume that the last_name column is indexed, with entries as follows:

Abel,rowid
Ande,rowid
Atkinson,rowid
Austin,rowid
Austin,rowid
Baer,rowid
.
.
.

The database could use a range scan because the last_name column is specified in the predicate and multiples rowids are possible for each index key. For example, two employees are named Austin, so two rowids are associated with the key Austin.

An index range scan can be bounded on both sides, as in a query for departments with IDs between 10 and 40, or bounded on only one side, as in a query for IDs over 40. To scan the index, the database moves backward or forward through the leaf blocks. For example, a scan for IDs between 10 and 40 locates the first index leaf block that contains the lowest key value that is 10 or greater. The scan then proceeds horizontally through the linked list of leaf nodes until it locates a value greater than 40.

Index Unique Scan

In contrast to an index range scan, an index unique scan must have either 0 or 1 rowid associated with an index key. The database performs a unique scan when a predicate references all of the columns in a UNIQUE index key using an equality operator. An index unique scan stops processing as soon as it finds the first record because no second record is possible.

As an illustration, suppose that a user runs the following query:

SELECT *
FROM   employees
WHERE  employee_id = 5;

Assume that the employee_id column is the primary key and is indexed with entries as follows:

1,rowid
2,rowid
4,rowid
5,rowid
6,rowid
.
.
.

In this case, the database can use an index unique scan to locate the rowid for the employee whose ID is 5.

Index Skip Scan

An index skip scan uses logical subindexes of a composite index. The database "skips" through a single index as if it were searching separate indexes. Skip scanning is beneficial if there are few distinct values in the leading column of a composite index and many distinct values in the nonleading key of the index.

The database may choose an index skip scan when the leading column of the composite index is not specified in a query predicate. For example, assume that you run the following query for a customer in the sh.customers table:

SELECT * FROM sh.customers WHERE cust_email = 'Abbey@company.com';

The customers table has a column cust_gender whose values are either M or F. Assume that a composite index exists on the columns (cust_gender, cust_email). Example 3-1 shows a portion of the index entries.

Example 3-1 Composite Index Entries

F,Wolf@company.com,rowid
F,Wolsey@company.com,rowid
F,Wood@company.com,rowid
F,Woodman@company.com,rowid
F,Yang@company.com,rowid
F,Zimmerman@company.com,rowid
M,Abbassi@company.com,rowid
M,Abbey@company.com,rowid

The database can use a skip scan of this index even though cust_gender is not specified in the WHERE clause.

In a skip scan, the number of logical subindexes is determined by the number of distinct values in the leading column. In Example 3-1, the leading column has two possible values. The database logically splits the index into one subindex with the key F and a second subindex with the key M.

When searching for the record for the customer whose email is Abbey@company.com, the database searches the subindex with the value F first and then searches the subindex with the value M. Conceptually, the database processes the query as follows:

SELECT * FROM sh.customers WHERE cust_gender = 'F' 
  AND cust_email = 'Abbey@company.com'
UNION ALL
SELECT * FROM sh.customers WHERE cust_gender = 'M'
  AND cust_email = 'Abbey@company.com';

See Also:

Oracle Database Performance Tuning Guide to learn more about skip scans

Index Clustering Factor

The index clustering factor measures row order in relation to an indexed value such as employee last name. The more order that exists in row storage for this value, the lower the clustering factor.

The clustering factor is useful as a rough measure of the number of I/Os required to read an entire table by means of an index:

  • If the clustering factor is high, then Oracle Database performs a relatively high number of I/Os during a large index range scan. The index entries point to random table blocks, so the database may have to read and reread the same blocks over and over again to retrieve the data pointed to by the index.

  • If the clustering factor is low, then Oracle Database performs a relatively low number of I/Os during a large index range scan. The index keys in a range tend to point to the same data block, so the database does not have to read and reread the same blocks over and over.

The clustering factor is relevant for index scans because it can show:

  • Whether the database will use an index for large range scans

  • The degree of table organization in relation to the index key

  • Whether you should consider using an index-organized table, partitioning, or table cluster if rows must be ordered by the index key

For example, assume that the employees table fits into two data blocks. Table 3-1 depicts the rows in the two data blocks (the ellipses indicate data that is not shown).

Table 3-1 Contents of Two Data Blocks in the Employees Table

Data Block 1Data Block 2
100   Steven    King       SKING    ...  
156   Janette   King       JKING    ...
115   Alexander Khoo       AKHOO    ...
.
.
.
116   Shelli    Baida      SBAIDA   ...
204   Hermann   Baer       HBAER    ...
105   David     Austin     DAUSTIN  ...
130   Mozhe     Atkinson   MATKINSO ...
166   Sundar    Ande       SANDE    ...
174   Ellen     Abel       EABEL    ...
 


149   Eleni     Zlotkey    EZLOTKEY  ...
200   Jennifer  Whalen     JWHALEN   ...
.
.
.
137   Renske    Ladwig     RLADWIG  ...
173   Sundita   Kumar      SKUMAR   ...
101   Neena     Kochar     NKOCHHAR ...

Rows are stored in the blocks in order of last name (shown in bold). For example, the bottom row in data block 1 describes Abel, the next row up describes Ande, and so on alphabetically until the top row in block 1 for Steven King. The bottom row in block 2 describes Kochar, the next row up describes Kumar, and so on alphabetically until the last row in the block for Zlotkey.

Assume that an index exists on the last name column. Each name entry corresponds to a rowid. Conceptually, the index entries would look as follows:

Abel,block1row1
Ande,block1row2
Atkinson,block1row3
Austin,block1row4
Baer,block1row5
.
.
.

Assume that a separate index exists on the employee ID column. Conceptually, the index entries might look as follows, with employee IDs distributed in almost random locations throughout the two blocks:

100,block1row50
101,block2row1
102,block1row9
103,block2row19
104,block2row39
105,block1row4
.
.
.

Example 3-2 queries the ALL_INDEXES view for the clustering factor for these two indexes. The clustering factor for EMP_NAME_IX is low, which means that adjacent index entries in a single leaf block tend to point to rows in the same data blocks. The clustering factor for EMP_EMP_ID_PK is high, which means that adjacent index entries in the same leaf block are much less likely to point to rows in the same data blocks.

Example 3-2 Clustering Factor

SQL> SELECT INDEX_NAME, CLUSTERING_FACTOR 
  2  FROM ALL_INDEXES 
  3  WHERE INDEX_NAME IN ('EMP_NAME_IX','EMP_EMP_ID_PK');
 
INDEX_NAME           CLUSTERING_FACTOR
-------------------- -----------------
EMP_EMP_ID_PK                       19
EMP_NAME_IX                          2

See Also:

Oracle Database Reference to learn about ALL_INDEXES

Reverse Key Indexes

A reverse key index is a type of B-tree index that physically reverses the bytes of each index key while keeping the column order. For example, if the index key is 20, and if the two bytes stored for this key in hexadecimal are C1,15 in a standard B-tree index, then a reverse key index stores the bytes as 15,C1.

Reversing the key solves the problem of contention for leaf blocks in the right side of a B-tree index. This problem can be especially acute in an Oracle Real Application Clusters (Oracle RAC) database in which multiple instances repeatedly modify the same block. For example, in an orders table the primary keys for orders are sequential. One instance in the cluster adds order 20, while another adds 21, with each instance writing its key to the same leaf block on the right-hand side of the index.

In a reverse key index, the reversal of the byte order distributes inserts across all leaf keys in the index. For example, keys such as 20 and 21 that would have been adjacent in a standard key index are now stored far apart in separate blocks. Thus, I/O for insertions of sequential keys is more evenly distributed.

Because the data in the index is not sorted by column key when it is stored, the reverse key arrangement eliminates the ability to run an index range scanning query in some cases. For example, if a user issues a query for order IDs greater than 20, then the database cannot start with the block containing this ID and proceed horizontally through the leaf blocks.


See Also:

Oracle Database Performance Tuning Guide to learn about design considerations for reverse key indexes

Ascending and Descending Indexes

In an ascending index, Oracle Database stores data in ascending order. By default, character data is ordered by the binary values contained in each byte of the value, numeric data from smallest to largest number, and date from earliest to latest value.

For an example of an ascending index, consider the following SQL statement:

CREATE INDEX emp_deptid_ix ON hr.employees(department_id); 

Oracle Database sorts the hr.employees table on the department_id column. It loads the ascending index with the department_id and corresponding rowid values in ascending order, starting with 0. When it uses the index, Oracle Database searches the sorted department_id values and uses the associated rowids to locate rows having the requested department_id value.

By specifying the DESC keyword in the CREATE INDEX statement, you can create a descending index. In this case, the index stores data on a specified column or columns in descending order. If the index in Figure 3-1 on the employees.department_id column were descending, then the leaf blocking containing 250 would be on the left side of the tree and block with 0 on the right. The default search through a descending index is from highest to lowest value.

Descending indexes are useful when a query sorts some columns ascending and others descending. For an example, assume that you create a composite index on the last_name and department_id columns as follows:

CREATE INDEX emp_name_dpt_ix ON hr.employees(last_name ASC, department_id DESC); 

If a user queries hr.employees for last names in ascending order (A to Z) and department IDs in descending order (high to low), then the database can use this index to retrieve the data and avoid the extra step of sorting it.


See Also:


Key Compression

Oracle Database can use key compression to compress portions of the primary key column values in a B-tree index or an index-organized table. Key compression can greatly reduce the space consumed by the index.

In general, index keys have two pieces, a grouping piece and a unique piece. Key compression breaks the index key into a prefix entry, which is the grouping piece, and a suffix entry, which is the unique or nearly unique piece. The database achieves compression by sharing the prefix entries among the suffix entries in an index block.


Note:

If a key is not defined to have a unique piece, then the database provides one by appending a rowid to the grouping piece.

By default, the prefix of a unique index consists of all key columns excluding the last one, whereas the prefix of a nonunique index consists of all key columns. For example, suppose that you create a composite index on the oe.orders table as follows:

CREATE INDEX orders_mod_stat_ix ON orders ( order_mode, order_status );

Many repeated values occur in the order_mode and order_status columns. An index block may have entries as shown in Example 3-3.

Example 3-3 Index Entries in Orders Table

online,0,AAAPvCAAFAAAAFaAAa
online,0,AAAPvCAAFAAAAFaAAg
online,0,AAAPvCAAFAAAAFaAAl
online,2,AAAPvCAAFAAAAFaAAm
online,3,AAAPvCAAFAAAAFaAAq
online,3,AAAPvCAAFAAAAFaAAt

In Example 3-3, the key prefix would consist of a concatenation of the order_mode and order_status values. If this index were created with default key compression, then duplicate key prefixes such as online,0 and online,2 would be compressed. Conceptually, the database achieves compression as shown in the following example:

online,0
AAAPvCAAFAAAAFaAAa
AAAPvCAAFAAAAFaAAg
AAAPvCAAFAAAAFaAAl
online,2
AAAPvCAAFAAAAFaAAm
online,3
AAAPvCAAFAAAAFaAAq
AAAPvCAAFAAAAFaAAt

Suffix entries form the compressed version of index rows. Each suffix entry references a prefix entry, which is stored in the same index block as the suffix entry.

Alternatively, you could specify a prefix length when creating a compressed index. For example, if you specified prefix length 1, then the prefix would be order_mode and the suffix would be order_status,rowid. For the values in Example 3-3, the index would factor out duplicate occurrences of online as follows:

online
0,AAAPvCAAFAAAAFaAAa
0,AAAPvCAAFAAAAFaAAg
0,AAAPvCAAFAAAAFaAAl
2,AAAPvCAAFAAAAFaAAm
3,AAAPvCAAFAAAAFaAAq
3,AAAPvCAAFAAAAFaAAt

The index stores a specific prefix once per leaf block at most. Only keys in the leaf blocks of a B-tree index are compressed. In the branch blocks the key suffix can be truncated, but the key is not compressed.


See Also:


Bitmap Indexes

In a bitmap index, the database stores a bitmap for each index key. In a conventional B-tree index, one index entry points to a single row. In a bitmap index, each index key stores pointers to multiple rows.

Bitmap indexes are primarily designed for data warehousing or environments in which queries reference many columns in an ad hoc fashion. Situations that may call for a bitmap index include:

  • The indexed columns have low cardinality, that is, the number of distinct values is small compared to the number of table rows.

  • The indexed table is either read-only or not subject to significant modification by DML statements.

For a data warehouse example, the sh.customer table has a cust_gender column with only two possible values: M and F. Suppose that queries for the number of customers of a particular gender are common. In this case, the customer.cust_gender column would be a candidate for a bitmap index.

Each bit in the bitmap corresponds to a possible rowid. If the bit is set, then the row with the corresponding rowid contains the key value. A mapping function converts the bit position to an actual rowid, so the bitmap index provides the same functionality as a B-tree index although it uses a different internal representation.

If the indexed column in a single row is updated, then the database locks the index key entry (for example, M or F) and not the individual bit mapped to the updated row. Because a key points to many rows, DML on indexed data typically locks all of these rows. For this reason, bitmap indexes are not appropriate for many OLTP applications.


See Also:


Bitmap Indexes on a Single Table

Example 3-4 shows a query of the sh.customers table. Some columns in this table are candidates for a bitmap index.

Example 3-4 Query of customers Table

SQL> SELECT cust_id, cust_last_name, cust_marital_status, cust_gender
  2  FROM   sh.customers 
  3  WHERE  ROWNUM < 8 ORDER BY cust_id;
 
   CUST_ID CUST_LAST_ CUST_MAR C
---------- ---------- -------- -
         1 Kessel              M
         2 Koch                F
         3 Emmerson            M
         4 Hardy               M
         5 Gowen               M
         6 Charles    single   F
         7 Ingram     single   F
 
7 rows selected.

The cust_marital_status and cust_gender columns have low cardinality, whereas cust_id and cust_last_name do not. Thus, bitmap indexes may be appropriate on cust_marital_status and cust_gender. A bitmap index is probably not useful for the other columns. Instead, a unique B-tree index on these columns would likely provide the most efficient representation and retrieval.

Table 3-2 illustrates the bitmap index for the cust_gender column output shown in Example 3-4. It consists of two separate bitmaps, one for each gender.

Table 3-2 Sample Bitmap

ValueRow 1Row 2Row 3Row 4Row 5Row 6Row 7

M

1

0

1

1

1

0

0

F

0

1

0

0

0

1

1


A mapping function converts each bit in the bitmap to a rowid of the customers table. Each bit value depends on the values of the corresponding row in the table. For example, the bitmap for the M value contains a 1 as its first bit because the gender is M in the first row of the customers table. The bitmap cust_gender='M' has a 0 for its the bits in rows 2, 6, and 7 because these rows do not contain M as their value.


Note:

Bitmap indexes can include keys that consist entirely of null values, unlike B-tree indexes. Indexing nulls can be useful for some SQL statements, such as queries with the aggregate function COUNT.

An analyst investigating demographic trends of the customers may ask, "How many of our female customers are single or divorced?" This question corresponds to the following SQL query:

SELECT COUNT(*) 
FROM   customers  
WHERE  cust_gender = 'F' 
AND    cust_marital_status IN ('single', 'divorced'); 

Bitmap indexes can process this query efficiently by counting the number of 1 values in the resulting bitmap, as illustrated in Table 3-3. To identify the customers who satisfy the criteria, Oracle Database can use the resulting bitmap to access the table.

Table 3-3 Sample Bitmap

ValueRow 1Row 2Row 3Row 4Row 5Row 6Row 7

M

1

0

1

1

1

0

0

F

0

1

0

0

0

1

1

single

0

0

0

0

0

1

1

divorced

0

0

0

0

0

0

0

single or divorced, and F

0

0

0

0

0

1

1


Bitmap indexing efficiently merges indexes that correspond to several conditions in a WHERE clause. Rows that satisfy some, but not all, conditions are filtered out before the table itself is accessed. This technique improves response time, often dramatically.

Bitmap Join Indexes

A bitmap join index is a bitmap index for the join of two or more tables. For each value in a table column, the index stores the rowid of the corresponding row in the indexed table. In contrast, a standard bitmap index is created on a single table.

A bitmap join index is an efficient means of reducing the volume of data that must be joined by performing restrictions in advance. For an example of when a bitmap join index would be useful, assume that users often query the number of employees with a particular job type. A typical query might look as follows:

SELECT COUNT(*) 
FROM   employees, jobs 
WHERE  employees.job_id = jobs.job_id 
AND    jobs.job_title = 'Accountant';

The preceding query would typically use an index on jobs.job_title to retrieve the rows for Accountant and then the job ID, and an index on employees.job_id to find the matching rows. To retrieve the data from the index itself rather than from a scan of the tables, you could create a bitmap join index as follows:

CREATE BITMAP INDEX employees_bm_idx 
ON     employees (jobs.job_title) 
FROM   employees, jobs
WHERE  employees.job_id = jobs.job_id;

As illustrated in Figure 3-2, the index key is jobs.job_title and the indexed table is employees.

Figure 3-2 Bitmap Join Index

Description of Figure 3-2 follows
Description of "Figure 3-2 Bitmap Join Index"

Conceptually, employees_bm_idx is an index of the jobs.title column in the SQL query shown in Example 3-5 (sample output included). The job_title key in the index points to rows in the employees table. A query of the number of accountants can use the index to avoid accessing the employees and jobs tables because the index itself contains the requested information.

Example 3-5 Join of employees and jobs Tables

SELECT jobs.job_title AS "jobs.job_title", employees.rowid AS "employees.rowid"
FROM   employees, jobs
WHERE  employees.job_id = jobs.job_id
ORDER BY job_title;
 
jobs.job_title                      employees.rowid
----------------------------------- ------------------
Accountant                          AAAQNKAAFAAAABSAAL
Accountant                          AAAQNKAAFAAAABSAAN
Accountant                          AAAQNKAAFAAAABSAAM
Accountant                          AAAQNKAAFAAAABSAAJ
Accountant                          AAAQNKAAFAAAABSAAK
Accounting Manager                  AAAQNKAAFAAAABTAAH
Administration Assistant            AAAQNKAAFAAAABTAAC
Administration Vice President       AAAQNKAAFAAAABSAAC
Administration Vice President       AAAQNKAAFAAAABSAAB
.
.
.

In a data warehouse, the join condition is an equijoin (it uses the equality operator) between the primary key columns of the dimension tables and the foreign key columns in the fact table. Bitmap join indexes are sometimes much more efficient in storage than materialized join views, an alternative for materializing joins in advance.


See Also:

Oracle Database Data Warehousing Guide for more information on bitmap join indexes

Bitmap Storage Structure

Oracle Database uses a B-tree index structure to store bitmaps for each indexed key. For example, if jobs.job_title is the key column of a bitmap index, then the index data is stored in one B-tree. The individual bitmaps are stored in the leaf blocks.

Assume that the jobs.job_title column has unique values Shipping Clerk, Stock Clerk, and several others. A bitmap index entry for this index has the following components:

  • The job title as the index key

  • A low rowid and high rowid for a range of rowids

  • A bitmap for specific rowids in the range

Conceptually, an index leaf block in this index could contain entries as follows:

Shipping Clerk,AAAPzRAAFAAAABSABQ,AAAPzRAAFAAAABSABZ,0010000100
Shipping Clerk,AAAPzRAAFAAAABSABa,AAAPzRAAFAAAABSABh,010010
Stock Clerk,AAAPzRAAFAAAABSAAa,AAAPzRAAFAAAABSAAc,1001001100
Stock Clerk,AAAPzRAAFAAAABSAAd,AAAPzRAAFAAAABSAAt,0101001001
Stock Clerk,AAAPzRAAFAAAABSAAu,AAAPzRAAFAAAABSABz,100001
.
.
.

The same job title appears in multiple entries because the rowid range differs.

Assume that a session updates the job ID of one employee from Shipping Clerk to Stock Clerk. In this case, the session requires exclusive access to the index key entry for the old value (Shipping Clerk) and the new value (Stock Clerk). Oracle Database locks the rows pointed to by these two entries—but not the rows pointed to by Accountant or any other key—until the UPDATE commits.

The data for a bitmap index is stored in one segment. Oracle Database stores each bitmap in one or more pieces. Each piece occupies part of a single data block.


See Also:

"User Segments"

Function-Based Indexes

You can create indexes on functions and expressions that involve one or more columns in the table being indexed. A function-based index computes the value of a function or expression involving one or more columns and stores it in the index. A function-based index can be either a B-tree or a bitmap index.

The function used for building the index can be an arithmetic expression or an expression that contains a SQL function, user-defined PL/SQL function, package function, or C callout. For example, a function could add the values in two columns.


See Also:


Uses of Function-Based Indexes

Function-based indexes are efficient for evaluating statements that contain functions in their WHERE clauses. The database only uses the function-based index when the function is included in a query. When the database processes INSERT and UPDATE statements, however, it must still evaluate the function to process the statement.

For example, suppose you create the following function-based index:

CREATE INDEX emp_total_sal_idx
  ON employees (12 * salary * commission_pct, salary, commission_pct);

The database can use the preceding index when processing queries such as Example 3-6 (partial sample output included).

Example 3-6 Query Containing an Arithmetic Expression

SELECT   employee_id, last_name, first_name, 
         12*salary*commission_pct AS "ANNUAL SAL"
FROM     employees
WHERE    (12 * salary * commission_pct) < 30000
ORDER BY "ANNUAL SAL" DESC;

EMPLOYEE_ID LAST_NAME                 FIRST_NAME           ANNUAL SAL
----------- ------------------------- -------------------- ----------
        159 Smith                     Lindsey                   28800
        151 Bernstein                 David                     28500
        152 Hall                      Peter                     27000
        160 Doran                     Louise                    27000
        175 Hutton                    Alyssa                    26400
        149 Zlotkey                   Eleni                     25200
        169 Bloom                     Harrison                  24000

Function-based indexes defined on the SQL functions UPPER(column_name) or LOWER(column_name) facilitate case-insensitive searches. For example, suppose that the first_name column in employees contains mixed-case characters. You create the following function-based index on the hr.employees table:

CREATE INDEX emp_fname_uppercase_idx 
ON employees ( UPPER(first_name) ); 

The emp_fname_uppercase_idx index can facilitate queries such as the following:

SELECT * 
FROM   employees
WHERE  UPPER(first_name) = 'AUDREY';

A function-based index is also useful for indexing only specific rows in a table. For example, the cust_valid column in the sh.customers table has either I or A as a value. To index only the A rows, you could write a function that returns a null value for any rows other than the A rows. You could create the index as follows:

CREATE INDEX cust_valid_idx
ON customers ( CASE cust_valid WHEN 'A' THEN 'A' END );

See Also:


Optimization with Function-Based Indexes

The optimizer can use an index range scan on a function-based index for queries with expressions in WHERE clause. The range scan access path is especially beneficial when the predicate (WHERE clause) has low selectivity. In Example 3-6 the optimizer can use an index range scan if an index is built on the expression 12*salary*commission_pct.

A virtual column is useful for speeding access to data derived from expressions. For example, you could define virtual column annual_sal as 12*salary*commission_pct and create a function-based index on annual_sal.

The optimizer performs expression matching by parsing the expression in a SQL statement and then comparing the expression trees of the statement and the function-based index. This comparison is case-insensitive and ignores blank spaces.


See Also:


Application Domain Indexes

An application domain index is a customized index specific to an application. Oracle Database provides extensible indexing to do the following:

  • Accommodate indexes on customized, complex data types such as documents, spatial data, images, and video clips (see "Unstructured Data")

  • Make use of specialized indexing techniques

You can encapsulate application-specific index management routines as an indextype schema object and define a domain index on table columns or attributes of an object type. Extensible indexing can efficiently process application-specific operators.

The application software, called the cartridge, controls the structure and content of a domain index. The database interacts with the application to build, maintain, and search the domain index. The index structure itself can be stored in the database as an index-organized table or externally as a file.


See Also:

Oracle Database Data Cartridge Developer's Guide for information about using data cartridges within the Oracle Database extensibility architecture

Index Storage

Oracle Database stores index data in an index segment. Space available for index data in a data block is the data block size minus block overhead, entry overhead, rowid, and one length byte for each value indexed.

The tablespace of an index segment is either the default tablespace of the owner or a tablespace specifically named in the CREATE INDEX statement. For ease of administration you can store an index in a separate tablespace from its table. For example, you may choose not to back up tablespaces containing only indexes, which can be rebuilt, and so decrease the time and storage required for backups.

Overview of Index-Organized Tables

An index-organized table is a table stored in a variation of a B-tree index structure. In a heap-organized table, rows are inserted where they fit. In an index-organized table, rows are stored in an index defined on the primary key for the table. Each index entry in the B-tree also stores the non-key column values. Thus, the index is the data, and the data is the index. Applications manipulate index-organized tables just like heap-organized tables, using SQL statements.

For an analogy of an index-organized table, suppose a human resources manager has a book case of cardboard boxes. Each box is labeled with a number—1, 2, 3, 4, and so on—but the boxes do not sit on the shelves in sequential order. Instead, each box contains a pointer to the shelf location of the next box in the sequence.

Folders containing employee records are stored in each box. The folders are sorted by employee ID. Employee King has ID 100, which is the lowest ID, so his folder is at the bottom of box 1. The folder for employee 101 is on top of 100, 102 is on top of 101, and so on until box 1 is full. The next folder in the sequence is at the bottom of box 2.

In this analogy, ordering folders by employee ID makes it possible to search efficiently for folders without having to maintain a separate index. Suppose a user requests the records for employees 107, 120, and 122. Instead of searching an index in one step and retrieving the folders in a separate step, the manager can search the folders in sequential order and retrieve each folder as found.

Index-organized tables provide faster access to table rows by primary key or a valid prefix of the key. The presence of non-key columns of a row in the leaf block avoids an additional data block I/O. For example, the salary of employee 100 is stored in the index row itself. Also, because rows are stored in primary key order, range access by the primary key or prefix involves minimal block I/Os. Another benefit is the avoidance of the space overhead of a separate primary key index.

Index-organized tables are useful when related pieces of data must be stored together or data must be physically stored in a specific order. This type of table is often used for information retrieval, spatial (see "Overview of Oracle Spatial"), and OLAP applications (see "OLAP").


See Also:


Index-Organized Table Characteristics

The database system performs all operations on index-organized tables by manipulating the B-tree index structure. Table 3-4 summarizes the differences between index-organized tables and heap-organized tables.

Table 3-4 Comparison of Heap-Organized Tables with Index-Organized Tables

Heap-Organized TableIndex-Organized Table

The rowid uniquely identifies a row. Primary key constraint may optionally be defined.

Primary key uniquely identifies a row. Primary key constraint must be defined.

Physical rowid in ROWID pseudocolumn allows building secondary indexes.

Logical rowid in ROWID pseudocolumn allows building secondary indexes.

Individual rows may be accessed directly by rowid.

Access to individual rows may be achieved indirectly by primary key.

Sequential full table scan returns all rows in some order.

A full index scan or fast full index scan returns all rows in some order.

Can be stored in a table cluster with other tables.

Cannot be stored in a table cluster.

Can contain a column of the LONG data type and columns of LOB data types.

Can contain LOB columns but not LONG columns.

Can contain virtual columns (only relational heap tables are supported).

Cannot contain virtual columns.


Figure 3-3 illustrates the structure of an index-organized departments table. The leaf blocks contain the rows of the table, ordered sequentially by primary key. For example, the first value in the first leaf block shows a department ID of 20, department name of Marketing, manager ID of 201, and location ID of 1800.

Figure 3-3 Index-Organized Table

Description of Figure 3-3 follows
Description of "Figure 3-3 Index-Organized Table"

An index-organized table stores all data in the same structure and does not need to store the rowid. As shown in Figure 3-3, leaf block 1 in an index-organized table might contain entries as follows, ordered by primary key:

20,Marketing,201,1800
30,Purchasing,114,1700

Leaf block 2 in an index-organized table might contain entries as follows:

50,Shipping,121,1500
60,IT,103,1400

A scan of the index-organized table rows in primary key order reads the blocks in the following sequence:

  1. Block 1

  2. Block 2

To contrast data access in a heap-organized table to an index-organized table, suppose block 1 of a heap-organized departments table segment contains rows as follows:

50,Shipping,121,1500
20,Marketing,201,1800

Block 2 contains rows for the same table as follows:

30,Purchasing,114,1700
60,IT,103,1400

A B-tree index leaf block for this heap-organized table contains the following entries, where the first value is the primary key and the second is the rowid:

20,AAAPeXAAFAAAAAyAAD
30,AAAPeXAAFAAAAAyAAA
50,AAAPeXAAFAAAAAyAAC
60,AAAPeXAAFAAAAAyAAB

A scan of the table rows in primary key order reads the table segment blocks in the following sequence:

  1. Block 1

  2. Block 2

  3. Block 1

  4. Block 2

Thus, the number of block I/Os in this example is double the number in the index-organized example.

Index-Organized Tables with Row Overflow Area

When creating an index-organized table, you can specify a separate segment as a row overflow area. In index-organized tables, B-tree index entries can be large because they contain an entire row, so a separate segment to contain the entries is useful. In contrast, B-tree entries are usually small because they consist of the key and rowid.

If a row overflow area is specified, then the database can divide a row in an index-organized table into the following parts:

  • The index entry

    This part contains column values for all the primary key columns, a physical rowid that points to the overflow part of the row, and optionally a few of the non-key columns. This part is stored in the index segment.

  • The overflow part

    This part contains column values for the remaining non-key columns. This part is stored in the overflow storage area segment.


See Also:


Secondary Indexes on Index-Organized Tables

A secondary index is an index on an index-organized table. In a sense, it is an index on an index. The secondary index is an independent schema object and is stored separately from the index-organized table.

As explained in "Rowid Data Types", Oracle Database uses row identifiers called logical rowids for index-organized tables. A loGgical rowid is a base64-encoded representation of the table primary key. The logical rowid length depends on the primary key length.

Rows in index leaf blocks can move within or between blocks because of insertions. Rows in index-organized tables do not migrate as heap-organized rows do (see "Chained and Migrated Rows"). Because rows in index-organized tables do not have permanent physical addresses, the database uses logical rowids based on primary key.

For example, assume that the departments table is index-organized. The location_id column stores the ID of each department. The table stores rows as follows, with the last value as the location ID:

10,Administration,200,1700
20,Marketing,201,1800
30,Purchasing,114,1700
40,Human Resources,203,2400

A secondary index on the location_id column might have index entries as follows, where the value following the comma is the logical rowid:

1700,*BAFAJqoCwR/+ 
1700,*BAFAJqoCwQv+
1800,*BAFAJqoCwRX+
2400,*BAFAJqoCwSn+

Secondary indexes provide fast and efficient access to index-organized tables using columns that are neither the primary key nor a prefix of the primary key. For example, a query of the names of departments whose ID is greater than 1700 could use the secondary index to speed data access.


See Also:


Logical Rowids and Physical Guesses

Secondary indexes use the logical rowids to locate table rows. A logical rowid includes a physical guess, which is the physical rowid of the index entry when it was first made. Oracle Database can use physical guesses to probe directly into the leaf block of the index-organized table, bypassing the primary key search. When the physical location of a row changes, the logical rowid remains valid even if it contains a physical guess that is stale.

For a heap-organized table, access by a secondary index involves a scan of the secondary index and an additional I/O to fetch the data block containing the row. For index-organized tables, access by a secondary index varies, depending on the use and accuracy of physical guesses:

  • Without physical guesses, access involves two index scans: a scan of the secondary index followed by a scan of the primary key index.

  • With physical guesses, access depends on their accuracy:

    • With accurate physical guesses, access involves a secondary index scan and an additional I/O to fetch the data block containing the row.

    • With inaccurate physical guesses, access involves a secondary index scan and an I/O to fetch the wrong data block (as indicated by the guess), followed by an index unique scan of the index organized table by primary key value.

Bitmap Indexes on Index-Organized Tables

A secondary index on an index-organized table can be a bitmap index. As explained in "Bitmap Indexes", a bitmap index stores a bitmap for each index key.

When bitmap indexes exist on an index-organized table, all the bitmap indexes use a heap-organized mapping table. The mapping table stores the logical rowids of the index-organized table. Each mapping table row stores one logical rowid for the corresponding index-organized table row.

The database accesses a bitmap index using a search key. If the database finds the key, then the bitmap entry is converted to a physical rowid. With heap-organized tables, the database uses the physical rowid to access the base table. With index-organized tables, the database uses the physical rowid to access the mapping table, which in turn yields a logical rowid that the database uses to access the index-organized table. Figure 3-4 illustrates index access for a query of the departments_iot table.

Figure 3-4 Bitmap Index on Index-Organized Table

Description of Figure 3-4 follows
Description of "Figure 3-4 Bitmap Index on Index-Organized Table"


Note:

Movement of rows in an index-organized table does not leave the bitmap indexes built on that index-organized table unusable.

PK0 [GPKM%AOEBPS/cover.htmO Cover

Oracle Corporation

PK[pTOPKM%AOEBPS/sqllangu.htm SQL

7 SQL

This chapter provides an overview of the Structured Query Language (SQL) and how Oracle Database processes SQL statements.

This chapter includes the following topics:

Introduction to SQL

SQL (pronounced sequel) is the set-based, high-level declarative computer language with which all programs and users access data in an Oracle database. Although some Oracle tools and applications mask SQL use, all database operations are performed using SQL. Any other data access method circumvents the security built into Oracle Database and potentially compromises data security and integrity.

SQL provides an interface to a relational database such as Oracle Database. SQL unifies tasks such as the following in one consistent language:

SQL can be used interactively, which means that statements are entered manually into a program. SQL statements can also be embedded within a program written in a different language such as C or Java.

SQL Data Access

There are two broad families of computer languages: declarative languages that are nonprocedural and describe what should be done, and procedural languages such as C++ and Java that describe how things should be done. SQL is declarative in the sense that users specify the result that they want, not how to derive it. The SQL language compiler performs the work of generating a procedure to navigate the database and perform the desired task.

SQL enables you to work with data at the logical level. You need be concerned with implementation details only when you want to manipulate the data. For example, the following statement queries records for employees whose last name begins with K:

SELECT   last_name, first_name
FROM     hr.employees
WHERE    last_name LIKE 'K%'
ORDER BY last_name, first_name;

The database retrieves all rows satisfying the WHERE condition, also called the predicate, in a single step. These rows can be passed as a unit to the user, to another SQL statement, or to an application. You do not need to process the rows one by one, nor are you required to know how the rows are physically stored or retrieved.

All SQL statements use the optimizer, a part of Oracle Database that determines the most efficient means of accessing the specified data. Oracle Database also supports techniques that you can use to make the optimizer perform its job better.


See Also:

Oracle Database SQL Language Reference for detailed information about SQL statements and other parts of SQL (such as operators, functions, and format models)

SQL Standards

Oracle strives to follow industry-accepted standards and participates actively in SQL standards committees. Industry-accepted committees are the American National Standards Institute (ANSI) and the International Organization for Standardization (ISO). Both ANSI and the ISO/IEC have accepted SQL as the standard language for relational databases.

The latest SQL standard was adopted in July 2003 and is often called SQL:2003. One part of the SQL standard, Part 14, SQL/XML (ISO/IEC 9075-14) was revised in 2006 and is often referred to as SQL/XML:2006.

Oracle SQL includes many extensions to the ANSI/ISO standard SQL language, and Oracle Database tools and applications provide additional statements. The tools SQL*Plus, SQL Developer, and Oracle Enterprise Manager enable you to run any ANSI/ISO standard SQL statement against an Oracle database and any additional statements or functions available for those tools.


See Also:


Overview of SQL Statements

All operations performed on the information in an Oracle database are run using SQL statements. A SQL statement is a computer program or instruction that consists of identifiers, parameters, variables, names, data types, and SQL reserved words.


Note:

SQL reserved words have special meaning in SQL and should not be used for any other purpose. For example, SELECT and UPDATE are reserved words and should not be used as table names.

A SQL statement must be the equivalent of a complete SQL sentence, such as:

SELECT last_name, department_id FROM employees

Oracle Database only runs complete SQL statements. A fragment such as the following generates an error indicating that more text is required:

SELECT last_name;

Oracle SQL statements are divided into the following categories:

Data Definition Language (DDL) Statements

Data definition language (DDL) statements define, structurally change, and drop schema objects. For example, DDL statements enable you to:

  • Create, alter, and drop schema objects and other database structures, including the database itself and database users. Most DDL statements start with the keywords CREATE, ALTER, or DROP.

  • Delete all the data in schema objects without removing the structure of these objects (TRUNCATE).


    Note:

    Unlike DELETE, TRUNCATE generates no undo data, which makes it faster than DELETE. Also, TRUNCATE does not invoke delete triggers.

  • Grant and revoke privileges and roles (GRANT, REVOKE).

  • Turn auditing options on and off (AUDIT, NOAUDIT).

  • Add a comment to the data dictionary (COMMENT).

DDL enables you to alter attributes of an object without altering the applications that access the object. For example, you can add a column to a table accessed by a human resources application without rewriting the application. You can also use DDL to alter the structure of objects while database users are performing work in the database.

Example 7-1 uses DDL statements to create the plants table and then uses DML to insert two rows in the table. The example then uses DDL to alter the table structure, grant and revoke privileges on this table to a user, and then drop the table.

Example 7-1 DDL Statements

CREATE TABLE plants
    ( plant_id    NUMBER PRIMARY KEY, 
      common_name VARCHAR2(15) );

INSERT INTO plants VALUES (1, 'African Violet'); # DML statement

INSERT INTO plants VALUES (2, 'Amaryllis'); # DML statement

ALTER TABLE plants ADD 
    ( latin_name VARCHAR2(40) );

GRANT SELECT ON plants TO scott;

REVOKE SELECT ON plants FROM scott;

DROP TABLE plants;

An implicit COMMIT occurs immediately before the database executes a DDL statement and a COMMIT or ROLLBACK occurs immediately afterward. In Example 7-1, two INSERT statements are followed by an ALTER TABLE statement, so the database commits the two INSERT statements. If the ALTER TABLE statement succeeds, then the database commits this statement; otherwise, the database rolls back this statement. In either case the two INSERT statements have already been committed.


See Also:


Data Manipulation Language (DML) Statements

Data manipulation language (DML) statements query or manipulate data in existing schema objects. Whereas DDL statements enable you to change the structure of the database, DML statements enable you to query or change the contents. For example, ALTER TABLE changes the structure of a table, whereas INSERT adds one or more rows to the table.

DML statements are the most frequently used SQL statements and enable you to:

  • Retrieve or fetch data from one or more tables or views (SELECT).

  • Add new rows of data into a table or view (INSERT) by specifying a list of column values or using a subquery to select and manipulate existing data.

  • Change column values in existing rows of a table or view (UPDATE).

  • Update or insert rows conditionally into a table or view (MERGE).

  • Remove rows from tables or views (DELETE).

  • View the execution plan for a SQL statement (EXPLAIN PLAN). See "How Oracle Database Processes DML".

  • Lock a table or view, temporarily limiting access by other users (LOCK TABLE).

The following example uses DML to query the employees table. The example uses DML to insert a row into employees, update this row, and then delete it:

SELECT * FROM employees;

INSERT INTO employees (employee_id, last_name, email, job_id, hire_date, salary)
  VALUES (1234, 'Mascis', 'JMASCIS', 'IT_PROG', '14-FEB-2008', 9000);

UPDATE employees SET salary=9100 WHERE employee_id=1234;

DELETE FROM employees WHERE employee_id=1234;

A collection of DML statements that forms a logical unit of work is called a transaction. For example, a transaction to transfer money could involve three discrete operations: decreasing the savings account balance, increasing the checking account balance, and recording the transfer in an account history table. Unlike DDL statements, DML statements do not implicitly commit the current transaction.


See Also:


SELECT Statements

A query is an operation that retrieves data from a table or view. SELECT is the only SQL statement that you can use to query data. The set of data retrieved from execution of a SELECT statement is known as a result set.

Table 7-1 shows two required keywords and two keywords that are commonly found in a SELECT statement. The table also associates capabilities of a SELECT statement with the keywords.

Table 7-1 Keywords in a SQL Statement

KeywordRequired?DescriptionCapability

SELECT

Yes

Specifies which columns should be shown in the result. Projection produces a subset of the columns in the table.

An expression is a combination of one or more values, operators, and SQL functions that resolves to a value. The list of expressions that appears after the SELECT keyword and before the FROM clause is called the select list.

Projection

FROM

Yes

Specifies the tables or views from which the data should be retrieved.

Joining

WHERE

No

Specifies a condition to filter rows, producing a subset of the rows in the table. A condition specifies a combination of one or more expressions and logical (Boolean) operators and returns a value of TRUE, FALSE, or UNKNOWN.

Selection

ORDER BY

No

Specifies the order in which the rows should be shown.




See Also:

Oracle Database SQL Language Reference for SELECT syntax and semantics

Joins

A join is a query that combines rows from two or more tables, views, or materialized views. Example 7-2 joins the employees and departments tables (FROM clause), selects only rows that meet specified criteria (WHERE clause), and uses projection to retrieve data from two columns (SELECT). Sample output follows the SQL statement.

Example 7-2 Sample Join

SELECT email, department_name
FROM   employees JOIN departments
ON     employees.department_id = departments.department_id
WHERE  employee_id IN (100,103)
ORDER BY email;

EMAIL                     DEPARTMENT_NAME
------------------------- ------------------------------
AHUNOLD                   IT
SKING                     Executive

Figure 7-1 graphically represents the operations of projection and selection in the join shown in Example 7-2.

Figure 7-1 Projection and Selection

Description of Figure 7-1 follows
Description of "Figure 7-1 Projection and Selection"

Most joins have at least one join condition, either in the FROM clause or in the WHERE clause, that compares two columns, each from a different table. The database combines pairs of rows, each containing one row from each table, for which the join condition evaluates to TRUE. The optimizer determines the order in which the database joins tables based on the join conditions, indexes, and any available statistics for the tables.

Join types include the following:

  • Inner joins

    An inner join is a join of two or more tables that returns only rows that satisfy the join condition. For example, if the join condition is employees.department_id=departments.department_id, then rows that do not satisfy this condition are not returned.

  • Outer joins

    An outer join returns all rows that satisfy the join condition and also returns rows from one table for which no rows from the other table satisfy the condition. For example, a left outer join of employees and departments retrieves all rows in the employees table even if there is no match in departments. A right outer join retrieves all rows in departments even if there is no match in employees.

  • Cartesian products

    If two tables in a join query have no join condition, then the database returns their Cartesian product. Each row of one table combines with each row of the other. For example, if employees has 107 rows and departments has 27, then the Cartesian product contains 107*27 rows. A Cartesian product is rarely useful.


See Also:

Oracle Database SQL Language Reference for detailed descriptions and examples of joins

Subqueries and Implicit Queries

A subquery is a SELECT statement nested within another SQL statement. Subqueries are useful when you must execute multiple queries to solve a single problem.

Each query portion of a statement is called a query block. In Example 7-3, the subquery in parentheses is the inner query block. The inner SELECT statement retrieves the IDs of departments with location ID 1800. These department IDs are needed by the outer query block, which retrieves names of employees in the departments whose IDs were supplied by the subquery.

Example 7-3 Subquery

SELECT first_name, last_name 
FROM   employees
WHERE  department_id 
IN     (SELECT department_id FROM departments WHERE location_id = 1800);

The structure of the SQL statement does not force the database to execute the inner query first. For example, the database could rewrite the entire query as a join of employees and departments, so that the subquery never executes by itself. As another example, the Virtual Private Database (VPD) feature could restrict the query of employees using a WHERE clause, so that the database decides to query the employees first and then obtain the department IDs. The optimizer determines the best sequence of steps to retrieve the requested rows.

An implicit query is a component of a DML statement that retrieves data without using a subquery. An UPDATE, DELETE, or MERGE statement that does not explicitly include a SELECT statement uses an implicit query to retrieve rows to be modified. For example, the following statement includes an implicit query for the Baer record:

UPDATE employees 
  SET salary = salary*1.1 
  WHERE last_name = 'Baer';

The only DML statement that does not necessarily include a query component is an INSERT statement with a VALUES clause. For example, an INSERT INTO TABLE mytable VALUES (1) statement does not retrieve rows before inserting a row.

Transaction Control Statements

Transaction control statements manage the changes made by DML statements and group DML statements into transactions. These statements enable you to:

  • Make changes to a transaction permanent (COMMIT).

  • Undo the changes in a transaction, since the transaction started (ROLLBACK) or since a savepoint (ROLLBACK TO SAVEPOINT). A savepoint is a user-declared intermediate marker within the context of a transaction.


    Note:

    The ROLLBACK command ends a transaction, but ROLLBACK TO SAVEPOINT does not.

  • Set a point to which you can roll back (SAVEPOINT).

  • Establish properties for a transaction (SET TRANSACTION).

  • Specify whether a deferrable integrity constraint is checked following each DML statement or when the transaction is committed (SET CONSTRAINT).

The following example starts a transaction named Update salaries. The example creates a savepoint, updates an employee salary, and then rolls back the transaction to the savepoint. The example updates the salary to a different value and commits.

SET TRANSACTION NAME 'Update salaries';

SAVEPOINT before_salary_update;

UPDATE employees SET salary=9100 WHERE employee_id=1234 # DML

ROLLBACK TO SAVEPOINT before_salary_update;

UPDATE employees SET salary=9200 WHERE employee_id=1234 # DML

COMMIT COMMENT 'Updated salaries';

Session Control Statements

Session control statements dynamically manage the properties of a user session. As explained in "Connections and Sessions", a session is a logical entity in the database instance memory that represents the state of a current user login to a database. A session lasts from the time the user is authenticated by the database until the user disconnects or exits the database application.

Session control statements enable you to:

  • Alter the current session by performing a specialized function, such as enabling and disabling SQL tracing (ALTER SESSION).

  • Enable and disable roles, which are groups of privileges, for the current session (SET ROLE).

The following example turns on SQL tracing for the session and then enables all roles granted in the current session except dw_manager:

ALTER SESSION SET SQL_TRACE = TRUE;

SET ROLE ALL EXCEPT dw_manager;

Session control statements do not implicitly commit the current transaction.


See Also:

Oracle Database SQL Language Reference for ALTER SESSION syntax and semantics

System Control Statement

System control statements change the properties of the database instance. The only system control statement is ALTER SYSTEM. It enables you to change settings such as the minimum number of shared servers, terminate a session, and perform other system-level tasks.

Following are examples of system control statements:

ALTER SYSTEM SWITCH LOGFILE; 

ALTER SYSTEM KILL SESSION '39, 23';

The ALTER SYSTEM statement does not implicitly commit the current transaction.


See Also:

Oracle Database SQL Language Reference for ALTER SYSTEM syntax and semantics

Embedded SQL Statements

Embedded SQL statements incorporate DDL, DML, and transaction control statements within a procedural language program. They are used with the Oracle precompilers. Embedded SQL is one approach to incorporating SQL in your procedural language applications. Another approach is to use a procedural API such as Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC).

Embedded SQL statements enable you to:

  • Define, allocate, and release cursors (DECLARE CURSOR, OPEN, CLOSE).

  • Specify a database and connect to it (DECLARE DATABASE, CONNECT).

  • Assign variable names (DECLARE STATEMENT).

  • Initialize descriptors (DESCRIBE).

  • Specify how error and warning conditions are handled (WHENEVER).

  • Parse and run SQL statements (PREPARE, EXECUTE, EXECUTE IMMEDIATE).

  • Retrieve data from the database (FETCH).

Overview of the Optimizer

To understand how Oracle Database processes SQL statements, it is necessary to understand the part of the database called the optimizer (also known as the query optimizer or cost-based optimizer). All SQL statements use the optimizer to determine the most efficient means of accessing the specified data.

Use of the Optimizer

To execute a DML statement, Oracle Database may have to perform many steps. Each step either retrieves rows of data physically from the database or prepares them for the user issuing the statement.

Many different ways of processing a DML statement are often possible. For example, the order in which tables or indexes are accessed can vary. The steps that the database uses to execute a statement greatly affect how quickly the statement runs. The optimizer generates execution plans describing possible methods of execution.

The optimizer determines which execution plan is most efficient by considering several sources of information, including query conditions, available access paths, statistics gathered for the system, and hints. For any SQL statement processed by Oracle, the optimizer performs the following operations:

  • Evaluation of expressions and conditions

  • Inspection of integrity constraints to learn more about the data and optimize based on this metadata

  • Statement transformation

  • Choice of optimizer goals

  • Choice of access paths

  • Choice of join orders

The optimizer generates most of the possible ways of processing a query and assigns a cost to each step in the generated execution plan. The plan with the lowest cost is chosen as the query plan to be executed.


Note:

You can obtain an execution plan for a SQL statement without executing the plan. Only an execution plan that the database actually uses to execute a query is correctly termed a query plan.

You can influence optimizer choices by setting the optimizer goal and by gathering representative statistics for the optimizer. For example, you may set the optimizer goal to either of the following:

  • Total throughput

    The ALL_ROWS hint instructs the optimizer to get the last row of the result to the client application as fast as possible.

  • Initial response time

    The FIRST_ROWS hint instructs the optimizer to get the first row to the client as fast as possible.

A typical end-user, interactive application would benefit from initial response time optimization, whereas a batch-mode, non-interactive application would benefit from total throughput optimization.


See Also:


Optimizer Components

The optimizer contains three main components, which are shown in Figure 7-2.

Figure 7-2 Optimizer Components

Description of Figure 7-2 follows
Description of "Figure 7-2 Optimizer Components"

The input to the optimizer is a parsed query (see "SQL Parsing"). The optimizer performs the following operations:

  1. The optimizer receives the parsed query and generates a set of potential plans for the SQL statement based on available access paths and hints.

  2. The optimizer estimates the cost of each plan based on statistics in the data dictionary. The cost is an estimated value proportional to the expected resource use needed to execute the statement with a particular plan.

  3. The optimizer compares the costs of plans and chooses the lowest-cost plan, known as the query plan, to pass to the row source generator (see "SQL Row Source Generation").

Query Transformer

The query transformer determines whether it is helpful to change the form of the query so that the optimizer can generate a better execution plan. The input to the query transformer is a parsed query, which is represented by a set of query blocks.


See Also:

"Query Rewrite"

Estimator

The estimator determines the overall cost of a given execution plan. The estimator generates three different types of measures to achieve this goal:

  • Selectivity

    This measure represents a fraction of rows from a row set. The selectivity is tied to a query predicate, such as last_name='Smith', or a combination of predicates.

  • Cardinality

    This measure represents the number of rows in a row set.

  • Cost

    This measure represents units of work or resource used. The query optimizer uses disk I/O, CPU usage, and memory usage as units of work.

If statistics are available, then the estimator uses them to compute the measures. The statistics improve the degree of accuracy of the measures.

Plan Generator

The plan generator tries out different plans for a submitted query and picks the plan with the lowest cost. The optimizer generates subplans for each of the nested subqueries and unmerged views, which is represented by a separate query block. The plan generator explores various plans for a query block by trying out different access paths, join methods, and join orders.

The optimizer automatically manages plans and ensures that only verified plans are used. SQL Plan Management (SPM) allows controlled plan evolution by only using a new plan after it has been verified to be perform better than the current plan.

Diagnostic tools such as the EXPLAIN PLAN statement enable you to view execution plans chosen by the optimizer. EXPLAIN PLAN shows the query plan for the specified SQL query if it were executed now in the current session. Other diagnostic tools are Oracle Enterprise Manager and the SQL*Plus AUTOTRACE command. Example 7-6 shows the execution plan of a query when AUTOTRACE is enabled.


See Also:


Access Paths

An access path is the way in which data is retrieved from the database. For example, a query that uses an index has a different access path from a query that does not. In general, index access paths are best for statements that retrieve a small subset of table rows. Full scans are more efficient for accessing a large portion of a table.

The database can use several different access paths to retrieve data from a table. The following is a representative list:

  • Full table scans

    This type of scan reads all rows from a table and filters out those that do not meet the selection criteria. The database sequentially scans all data blocks in the segment, including those under the high water mark that separates used from unused space (see "Segment Space and the High Water Mark").

  • Rowid scans

    The rowid of a row specifies the data file and data block containing the row and the location of the row in that block. The database first obtains the rowids of the selected rows, either from the statement WHERE clause or through an index scan, and then locates each selected row based on its rowid.

  • Index scans

    This scan searches an index for the indexed column values accessed by the SQL statement (see "Index Scans"). If the statement accesses only columns of the index, then Oracle Database reads the indexed column values directly from the index.

  • Cluster scans

    A cluster scan is used to retrieve data from a table stored in an indexed table cluster, where all rows with the same cluster key value are stored in the same data block (see "Overview of Indexed Clusters"). The database first obtains the rowid of a selected row by scanning the cluster index. Oracle Database locates the rows based on this rowid.

  • Hash scans

    A hash scan is used to locate rows in a hash cluster, where all rows with the same hash value are stored in the same data block (see "Overview of Hash Clusters". The database first obtains the hash value by applying a hash function to a cluster key value specified by the statement. Oracle Database then scans the data blocks containing rows with this hash value.

The optimizer chooses an access path based on the available access paths for the statement and the estimated cost of using each access path or combination of paths.

Optimizer Statistics

Optimizer statistics are a collection of data that describe details about the database and the objects in the database. The statistics provide a statistically correct picture of data storage and distribution usable by the optimizer when evaluating access paths.

Optimizer statistics include the following:

  • Table statistics

    These include the number of rows, number of blocks, and average row length.

  • Column statistics

    These include the number of distinct values and nulls in a column and the distribution of data.

  • Index statistics

    These include the number of leaf blocks and index levels.

  • System statistics

    These include CPU and I/O performance and utilization.

Oracle Database gathers optimizer statistics on all database objects automatically and maintains these statistics as an automated maintenance task. You can also gather statistics manually using the DBMS_STATS package. This PL/SQL package can modify, view, export, import, and delete statistics.

Optimizer statistics are created for the purposes of query optimization and are stored in the data dictionary. These statistics should not be confused with performance statistics visible through dynamic performance views.

Optimizer Hints

A hint is a comment in a SQL statement that acts as an instruction to the optimizer. Sometimes the application designer, who has more information about a particular application's data than is available to the optimizer, can choose a more effective way to run a SQL statement. The application designer can use hints in SQL statements to specify how the statement should be run.

For example, suppose that your interactive application runs a query that returns 50 rows. This application initially fetches only the first 25 rows of the query to present to the end user. You want the optimizer to generate a plan that gets the first 25 records as quickly as possible so that the user is not forced to wait. You can use a hint to pass this instruction to the optimizer as shown in the SELECT statement and AUTOTRACE output in Example 7-4.

Example 7-4 Execution Plan for SELECT with FIRST_ROWS Hint

SELECT /*+ FIRST_ROWS(25) */ employee_id, department_id
FROM   hr.employees
WHERE  department_id > 50;

------------------------------------------------------------------------
| Id | Operation                    | Name              | Rows | Bytes
------------------------------------------------------------------------
|  0 | SELECT STATEMENT             |                   | 26   | 182
|  1 |  TABLE ACCESS BY INDEX ROWID | EMPLOYEES         | 26   | 182
|* 2 |   INDEX RANGE SCAN           | EMP_DEPARTMENT_IX |      |
------------------------------------------------------------------------

The execution plan in Example 7-4 shows that the optimizer chooses an index on the employees.department_id column to find the first 25 rows of employees whose department ID is over 50. The optimizer uses the rowid retrieved from the index to retrieve the record from the employees table and return it to the client. Retrieval of the first record is typically almost instantaneous.

Example 7-5 shows the same statement, but without the optimizer hint.

Example 7-5 Execution Plan for SELECT with No Hint

SELECT employee_id, department_id
FROM   hr.employees
WHERE  department_id > 50;
 
------------------------------------------------------------------------
| Id | Operation              | Name              | Rows | Bytes | Cos
------------------------------------------------------------------------
|  0 | SELECT STATEMENT       |                   | 50   | 350   |
|* 1 |  VIEW                  | index$_join$_001  | 50   | 350   |
|* 2 |   HASH JOIN            |                   |      |       |
|* 3 |    INDEX RANGE SCAN    | EMP_DEPARTMENT_IX | 50   | 350   |
|  4 |    INDEX FAST FULL SCAN| EMP_EMP_ID_PK     | 50   | 350   |

The execution plan in Example 7-5 joins two indexes to return the requested records as fast as possible. Rather than repeatedly going from index to table as in Example 7-4, the optimizer chooses a range scan of EMP_DEPARTMENT_IX to find all rows where the department ID is over 50 and place these rows in a hash table. The optimizer then chooses to read the EMP_EMP_ID_PK index. For each row in this index, it probes the hash table to find the department ID.

In this case, the database cannot return the first row to the client until the index range scan of EMP_DEPARTMENT_IX completes. Thus, this generated plan would take longer to return the first record. Unlike the plan in Example 7-4, which accesses the table by index rowid, the plan in Example 7-5 uses multiblock I/O, resulting in large reads. The reads enable the last row of the entire result set to be returned more rapidly.


See Also:

Oracle Database Performance Tuning Guide to learn how to use optimizer hints

Overview of SQL Processing

This section explains how Oracle Database processes SQL statements. Specifically, the section explains the way in which the database processes DDL statements to create objects, DML to modify data, and queries to retrieve data.

Stages of SQL Processing

Figure 7-3 depicts the general stages of SQL processing: parsing, optimization, row source generation, and execution. Depending on the statement, the database may omit some of these steps.

Figure 7-3 Stages of SQL Processing

Description of Figure 7-3 follows
Description of "Figure 7-3 Stages of SQL Processing"

SQL Parsing

As shown in Figure 7-3, the first stage of SQL processing is parsing. This stage involves separating the pieces of a SQL statement into a data structure that can be processed by other routines. The database parses a statement when instructed by the application, which means that only the application­, and not the database itself, can reduce the number of parses.

When an application issues a SQL statement, the application makes a parse call to the database to prepare the statement for execution. The parse call opens or creates a cursor, which is a handle for the session-specific private SQL area that holds a parsed SQL statement and other processing information. The cursor and private SQL area are in the PGA.

During the parse call, the database performs the following checks:

The preceding checks identify the errors that can be found before statement execution. Some errors cannot be caught by parsing. For example, the database can encounter deadlocks or errors in data conversion only during statement execution (s\Hee "Locks and Deadlocks").

Syntax Check

Oracle Database must check each SQL statement for syntactic validity. A statement that breaks a rule for well-formed SQL syntax fails the check. For example, the following statement fails because the keyword FROM is misspelled as FORM:

SQL> SELECT * FORM employees;
SELECT * FORM employees
         *
ERROR at line 1:
ORA-00923: FROM keyword not found where expected
Semantic Check

The semantics of a statement are its meaning. Thus, a semantic check determines whether a statement is meaningful, for example, whether the objects and columns in the statement exist. A syntactically correct statement can fail a semantic check, as shown in the following example of a query of a nonexistent table:

SQL> SELECT * FROM nonexistent_table;
SELECT * FROM nonexistent_table
              *
ERROR at line 1:
ORA-00942: table or view does not exist
Shared Pool Check

During the parse, the database performs a shared pool check to determine whether it can skip resource-intensive steps of statement processing. To this end, the database uses a hashing algorithm to generate a hash value for every SQL statement. The statement hash value is the SQL ID shown in V$SQL.SQL_ID.

When a user submits a SQL statement, the database searches the shared SQL area to see if an existing parsed statement has the same hash value. The hash value of a SQL statement is distinct from the following values:

  • Memory address for the statement

    Oracle Database uses the SQL ID to perform a keyed read in a lookup table. In this way, the database obtains possible memory addresses of the statement.

  • Hash value of an execution plan for the statement

    A SQL statement can have multiple plans in the shared pool. Each plan has a different hash value. If the same SQL ID has multiple plan hash values, then the database knows that multiple plans exist for this SQL ID.

Parse operations fall into the following categories, depending on the type of statement submitted and the result of the hash check:

  • Hard parse

    If Oracle Database cannot reuse existing code, then it must build a new executable version of the application code. This operation is known as a hard parse, or a library cache miss. The database always perform a hard parse of DDL.

    During the hard parse, the database accesses the library cache and data dictionary cache numerous times to check the data dictionary. When the database accesses these areas, it uses a serialization device called a latch on required objects so that their definition does not change (see "Latches"). Latch contention increases statement execution time and decreases concurrency.

  • Soft parse

    A soft parse is any parse that is not a hard parse. If the submitted statement is the same as a reusable SQL statement in the shared pool, then Oracle Database reuses the existing code. This reuse of code is also called a library cache hit.

    Soft parses can vary in the amount of work they perform. For example, configuring the session shared SQL area can sometimes reduce the amount of latching in the soft parses, making them "softer."

    In general, a soft parse is preferable to a hard parse because the database skips the optimization and row source generation steps, proceeding straight to execution.

Figure 7-4 is a simplified representation of a shared pool check of an UPDATE statement in a dedicated server architecture.

Figure 7-4 Shared Pool Check

Description of Figure 7-4 follows
Description of "Figure 7-4 Shared Pool Check"

If a check determines that a statement in the shared pool has the same hash value, then the database performs semantic and environment checks to determine whether the statements mean the same. Identical syntax is not sufficient. For example, suppose two different users log in to the database and issue the following SQL statements:

CREATE TABLE my_table ( some_col INTEGER );
SELECT * FROM my_table;

The SELECT statements for the two users are syntactically identical, but two separate schema objects are named my_table. This semantic difference means that the second statement cannot reuse the code for the first statement.

Even if two statements are semantically identical, an environmental difference can force a hard parse. In this case, the environment is the totality of session settings that can affect execution plan generation, such as the work area size or optimizer settings. Consider the following series of SQL statements executed by a single user:

ALTER SYSTEM FLUSH SHARED_POOL;
SELECT * FROM my_table;

ALTER SESSION SET OPTIMIZER_MODE=FIRST_ROWS;
SELECT * FROM my_table;

ALTER SESSION SET SQL_TRACE=TRUE;
SELECT * FROM my_table;

In the preceding example, the same SELECT statement is executed in three different optimizer environments. Consequently, the database creates three separate shared SQL areas for these statements and forces a hard parse of each statement.


See Also:


SQL Optimization

As explained in "Overview of the Optimizer", query optimization is the process of choosing the most efficient means of executing a SQL statement. The database optimizes queries based on statistics collected about the actual data being accessed. The optimizer uses the number of rows, the size of the data set, and other factors to generate possible execution plans, assigning a numeric cost to each plan. The database uses the plan with the lowest cost.

The database must perform a hard parse at least once for every unique DML statement and performs optimization during this parse. DDL is never optimized unless it includes a DML component such as a subquery that requires optimization.


See Also:

Oracle Database Performance Tuning Guide for detailed information about the query optimizer

SQL Row Source Generation

The row source generator is software that receives the optimal execution plan from the optimizer and produces an iterative plan, called the query plan, that is usable by the rest of the database. The iterative plan is a binary program that, when executed by the SQL virtual machine, produces the result set.

The query plan takes the form of a combination of steps. Each step returns a row set. The rows in this set are either used by the next step or, in the last step, are returned to the application issuing the SQL statement.

A row source is a row set returned by a step in the execution plan along with a control structure that can iteratively process the rows. The row source can be a table, view, or result of a join or grouping operation.

The row source generator produces a row source tree, which is a collection of row sources. The row source tree shows the following information:

  • An ordering of the tables referenced by the statement

  • An access method for each table mentioned in the statement

  • A join method for tables affected by join operations in the statement

  • Data operations such as filter, sort, or aggregation

Example 7-6 shows the execution plan of a SELECT statement when AUTOTRACE is enabled. The statement selects the last name, job title, and department name for all employees whose last names begin with the letter A. The execution plan for this statement is the output of the row source generator.

Example 7-6 Execution Plan

SELECT e.last_name, j.job_title, d.department_name 
FROM   hr.employees e, hr.departments d, hr.jobs j
WHERE  e.department_id = d.department_id
AND    e.job_id = j.job_id
AND    e.last_name LIKE 'A%' ;
 
Execution Plan
----------------------------------------------------------
Plan hash value: 975837011
 
---------------------------------------------------------------------------------------------
| Id  | Operation                     | Name        | Rows  | Bytes | Cost (%CPU)| Time     |
---------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT              |             |     3 |   189 |     7  (15)| 00:00:01 |
|*  1 |  HASH JOIN                    |             |     3 |   189 |     7  (15)| 00:00:01 |
|*  2 |   HASH JOIN                   |             |     3 |   141 |     5  (20)| 00:00:01 |
|   3 |    TABLE ACCESS BY INDEX ROWID| EMPLOYEES   |     3 |    60 |     2   (0)| 00:00:01 |
|*  4 |     INDEX RANGE SCAN          | EMP_NAME_IX |     3 |       |     1   (0)| 00:00:01 |
|   5 |    TABLE ACCESS FULL          | JOBS        |    19 |   513 |     2   (0)| 00:00:01 |
|   6 |   TABLE ACCESS FULL           | DEPARTMENTS |    27 |   432 |     2   (0)| 00:00:01 |
---------------------------------------------------------------------------------------------
 
Predicate Information (identified by operation id):
---------------------------------------------------
 
   1 - access("E"."DEPARTMENT_ID"="D"."DEPARTMENT_ID")
   2 - access("E"."JOB_ID"="J"."JOB_ID")
   4 - access("E"."LAST_NAME" LIKE 'A%')
       filter("E"."LAST_NAME" LIKE 'A%')

SQL Execution

During execution, the SQL engine executes each row source in the tree produced by the row source generator. This step is the only mandatory step in DML processing.

Figure 7-5 is an execution tree, also called a parse tree, that shows the flow of row sources from one step to another. In general, the order of the steps in execution is the reverse of the order in the plan, so you read the plan from the bottom up. Initial spaces in the Operation column indicate hierarchical relationships. For example, if the name of an operation is preceded by two spaces, then this operation is a child of an operation preceded by one space. Operations preceded by one space are children of the SELECT statement itself.

Figure 7-5 Row Source Tree

Description of Figure 7-5 follows
Description of "Figure 7-5 Row Source Tree"

In Figure 7-5, each node of the tree acts as a row source, which means that each step of the execution plan either retrieves rows from the database or accepts rows from one or more row sources as input. The SQL engine executes each row source as follows:

  • Steps indicated by the black boxes physically retrieve data from an object in the database. These steps are the access paths, or techniques for retrieving data from the database.

    • Step 6 uses a full table scan to retrieve all rows from the departments table.

    • Step 5 uses a full table scan to retrieve all rows from the jobs table.

    • Step 4 scans the emp_name_ix index in order, looking for each key that begins with the letter A and retrieving the corresponding rowid (see "Index Range Scan"). For example, the rowid corresponding to Atkinson is AAAPzRAAFAAAABSAAe.

    • Step 3 retrieves from the employees table the rows whose rowids were returned by Step 4. For example, the database uses rowid AAAPzRAAFAAAABSAAe to retrieve the row for Atkinson.

  • Steps indicated by the clear boxes operate on row sources.

    • Step 2 performs a hash join, accepting row sources from Steps 3 and 5, joining each row from the Step 5 row source to its corresponding row in Step 3, and returning the resulting rows to Step 1.

      For example, the row for employee Atkinson is associated with the job name Stock Clerk.

    • Step 1 performs another hash join, accepting row sources from Steps 2 and 6, joining each row from the Step 6 source to its corresponding row in Step 2, and returning the result to the client.

      For example, the row for employee Atkinson is associated with the department named Shipping.

In some execution plans the steps are iterative and in others sequential. The plan shown in Example 7-6 is iterative because the SQL engine moves from index to table to client and then repeats the steps.

During execution, the database reads the data from disk into memory if the data is not in memory. The database also takes out any locks and latches necessary to ensure data integrity and logs any changes made during the SQL execution. The final stage of processing a SQL statement is closing the cursor.


See Also:

Oracle Database Performance Tuning Guide for detailed information about execution plans and the EXPLAIN PLAN statement

How Oracle Database Processes DML

Most DML statements have a query component. In a query, execution of a cursor places the results of the query into a set of rows called the result set.

Result set rows can be fetched either a row at a time or in groups. In the fetch stage, the database selects rows and, if requested by the query, orders the rows. Each successive fetch retrieves another row of the result until the last row has been fetched.

In general, the database cannot determine for certain the number of rows to be retrieved by a query until the last row is fetched. Oracle Database retrieves the data in response to fetch calls, so that the more rows the database reads, the more work it performs. For some queries the database returns the first row as quickly as possible, whereas for others it creates the entire result set before returning the first row.

Read Consistency

In general, a query retrieves data by using the Oracle Database read consistency mechanism. This mechanism, which uses undo data to show past versions of data, guarantees that all data blocks read by a query are consistent to a single point in time.

For an example of read consistency, suppose a query must read 100 data blocks in a full table scan. The query processes the first 10 blocks while DML in a different session modifies block 75. When the first session reaches block 75, it realizes the change and uses undo data to retrieve the old, unmodified version of the data and construct a noncurrent version of block 75 in memory.

Data Changes

DML statements that must change data use the read consistency mechanism to retrieve only the data that matched the search criteria when the modification began. Afterward, these statements retrieve the data blocks as they exist in their current state and make the required modifications. The database must perform other actions related to the modification of the data such as generating redo and undo data.

How Oracle Database Processes DDL

Oracle Database processes DDL differently from DML. For example, when you create a table, the database does not optimize the CREATE TABLE statement. Instead, Oracle Database parses the DDL statement and carries out the command.

The database process DDL differently because it is a means of defining an object in the data dictionary. Typically, Oracle Database must parse and execute many recursive SQL statements to execute a DDL command. Suppose you create a table as follows:

CREATE TABLE mytable (mycolumn INTEGER);

Typically, the database would run dozens of recursive statements to execute the preceding statement. The recursive SQL would perform actions such as the following:

  • Issue a COMMIT before executing the CREATE TABLE statement

  • Verify that user privileges are sufficient to create the table

  • Determine which tablespace the table should reside in

  • Ensure that the tablespace quota has not been exceeded

  • Ensure that no object in the schema has the same name

  • Insert rows that define the table into the data dictionary

  • Issue a COMMIT if the DDL statement succeeded or a ROLLBACK if it did not


See Also:

Oracle Database Advanced Application Developer's Guide to learn about SQL processing for application developers

PK\\PKM%AOEBPS/part_dbarch.htm Oracle Database Storage Structures

Part IV

Oracle Database Storage Structures

This part describes the basic structural architecture of the Oracle database, including logical and physical storage structures.

This part contains the following chapters:

PK"e|PKM%AOEBPS/title.htm0 Oracle Database Concepts, 11g Release 2 (11.2)

Oracle® Database

Concepts

11g Release 2 (11.2)

E25789-01

September 2011


Oracle Database Concepts, 11g Release 2 (11.2)

E25789-01

Copyright © 1993, 2011, Oracle and/or its affiliates. All rights reserved.

Primary Authors: Lance Ashdown, Tom Kyte

Contributors: Drew Adams, David Austin, Vladimir Barriere, Hermann Baer, David Brower, Jonathan Creighton, Bjørn Engsig, Steve Fogel, Bill Habeck , Bill Hodak, Yong Hu, Pat Huey, Vikram Kapoor, Feroz Khan, Jonathan Klein, Sachin Kulkarni, Paul Lane, Adam Lee, Yunrui Li , Bryn Llewellyn, Rich Long, Barb Lundhild, Neil Macnaughton, Vineet Marwah, Mughees Minhas, Sheila Moore, Valarie Moore, Gopal Mulagund, Paul Needham, Gregory Pongracz, John Russell, Vivian Schupmann, Shrikanth Shankar, Cathy Shea, Susan Shepard, Jim Stenoish, Juan Tellez, Lawrence To, Randy Urbano, Badhri Varanasi, Simon Watt, Steve Wertheimer, Daniel Wong

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

PK-50PKM%AOEBPS/intro.htm Introduction to Oracle Database

1 Introduction to Oracle Database

This chapter provides an overview of Oracle Database and contains the following sections:

About Relational Databases

Every organization has information that it must store and manage to meet its requirements. For example, a corporation must collect and maintain human resources records for its employees. This information must be available to those who need it. An information system is a formal system for storing and processing information.

An information system could be a set of cardboard boxes containing manila folders along with rules for how to store and retrieve the folders. However, most companies today use a database to automate their information systems. A database is an organized collection of information treated as a unit. The purpose of a database is to collect, store, and retrieve related information for use by database applications.

Database Management System (DBMS)

A database management system (DBMS) is software that controls the storage, organization, and retrieval of data. Typically, a DBMS has the following elements:

  • Kernel code

    This code manages memory and storage for the DBMS.

  • Repository of metadata

    This repository is usually called a data dictionary.

  • Query language

    This language enables applications to access the data.

A database application is a software program that interacts with a database to access and manipulate data.

The first generation of database management systems included the following types:

  • Hierarchical

    A hierarchical database organizes data in a tree structure. Each parent record has one or more child records, similar to the structure of a file system.

  • Network

    A network database is similar to a hierarchical database, except records have a many-to-many rather than a one-to-many relationship.

The preceding database management systems stored data in rigid, predetermined relationships. Because no data definition language existed, changing the structure of the data was difficult. Also, these systems lacked a simple query language, which hindered application development.

Relational Model

In his seminal 1970 paper "A Relational Model of Data for Large Shared Data Banks," E. F. Codd defined a relational model based on mathematical set theory. Today, the most widely accepted database model is the relational model.

A relational database is a database that conforms to the relational model. The relational model has the following major aspects:

  • Structures

    Well-defined objects store or access the data of a database.

  • Operations

    Clearly defined actions enable applications to manipulate the data and structures of a database.

  • Integrity rules

    Integrity rules govern operations on the data and structures of a database.

A relational database stores data in a set of simple relations. A relation is a set of tuples. A tuple is an unordered set of attribute values.

A table is a two-dimensional representation of a relation in the form of rows (tuples) and columns (attributes). Each row in a table has the same set of columns. A relational database is a database that stores data in relations (tables). For example, a relational database could store information about company employees in an employee table, a department table, and a salary table.


See Also:

http://portal.acm.org/citation.cfm?id=362685 for an abstract and link to Codd's paper

Relational Database Management System (RDBMS)

The relational model is the basis for a relational database management system (RDBMS). Essentially, an RDBMS moves data into a database, stores the data, and retrieves it so that it can be manipulated by applications. An RDBMS distinguishes between the following types of operations:

  • Logical operations

    In this case, an application specifies what content is required. For example, an application requests an employee name or adds an employee record to a table.

  • Physical operations

    In this case, the RDBMS determines how things should be done and carries out the operation. For example, after an application queries a table, the database may use an index to find the requested rows, read the data into memory, and perform many other steps before returning a result to the user. The RDBMS stores and retrieves data so that physical operations are transparent to database applications.

Oracle Database is an RDBMS. An RDBMS that implements object-oriented features such as user-defined types, inheritance, and polymorphism is called an object-relational database management system (ORDBMS). Oracle Database has extended the relational model to an object-relational model, making it possible to store complex business models in a relational database.

Brief History of Oracle Database

The current version of Oracle Database is the result of over 30 years of innovative development. Highlights in the evolution of Oracle Database include the following:

  • Founding of Oracle

    In 1977, Larry Ellison, Bob Miner, and Ed Oates started the consultancy Software Development Laboratories, which became Relational Software, Inc. (RSI). In 1983, RSI became Oracle Systems Corporation and then later Oracle Corporation.

  • First commercially available RDBMS

    In 1979, RSI introduced Oracle V2 (Version 2) as the first commercially available SQL-based RDBMS, a landmark event in the history of relational databases.

  • Portable version of Oracle Database

    Oracle Version 3, released in 1983, was the first relational database to run on mainframes, minicomputers, and PCs. The database was written in C, enabling the database to be ported to multiple platforms.

  • Enhancements to concurrency control, data distribution, and scalability

    Version 4 introduced multiversion read consistency. Version 5, released in 1985, supported client/server computing and distributed database systems. Version 6 brought enhancements to disk I/O, row locking, scalability, and backup and recovery. Also, Version 6 introduced the first version of the PL/SQL language, a proprietary procedural extension to SQL.

  • PL/SQL stored program units

    Oracle7, released in 1992, introduced PL/SQL stored procedures and triggers.

  • Objects and partitioning

    Oracle8 was released in 1997 as the object-relational database, supporting many new data types. Additionally, Oracle8 supported partitioning of large tables.

  • Internet computing

    Oracle8i Database, released in 1999, provided native support for internet protocols and server-side support for Java. Oracle8i was designed for internet computing, enabling the database to be deployed in a multitier environment.

  • Oracle Real Application Clusters (Oracle RAC)

    Oracle9i Database introduced Oracle RAC in 2001, enabling multiple instances to access a single database simultaneously. Additionally, Oracle XML Database (Oracle XML DB) introduced the ability to store and query XML.

  • Grid computing

    Oracle Database 10g introduced grid computing in 2003. This release enabled organizations to virtualize computing resources by building a grid infrastructure based on low-cost commodity servers. A key goal was to make the database self-managing and self-tuning. Oracle Automatic Storage Management (Oracle ASM) helped achieve this goal by virtualizing and simplifying database storage management.

  • Manageability, diagnosability, and availability

    Oracle Database 11g, released in 2007, introduced a host of new features that enable administrators and developers to adapt quickly to changing business requirements. The key to adaptability is simplifying the information infrastructure by consolidating information and using automation wherever possible.


See Also:

http://www.oracle.com/technetwork/issue-archive/2007/07-jul/o4730-090772.html for an article summarizing the evolution of Oracle Database

Schema Objects

One characteristic of an RDBMS is the independence of physical data storage from logical data structures. In Oracle Database, a database schema is a collection of logical data structures, or schema objects. A database schema is owned by a database user and has the same name as the user name.

Schema objects are user-created structures that directly refer to the data in the database. The database supports many types of schema objects, the most important of which are tables and indexes.

Tables

A table describes an entity such as employees. You define a table with a table name, such as employees, and set of columns. In general, you give each column a name, a data type, and a width when you create the table.

A table is a set of rows. A column identifies an attribute of the entity described by the table, whereas a row identifies an instance of the entity. For example, attributes of the employees entity correspond to columns for employee ID and last name. A row identifies a specific employee.

You can optionally specify rules for each column of a table. These rules are called integrity constraints. One example is a NOT NULL integrity constraint. This constraint forces the column to contain a value in every row.

Indexes

An index is an optional data structure that you can create on one or more columns of a table. Indexes can increase the performance of data retrieval. When processing a request, the database can use available indexes to locate the requested rows efficiently. Indexes are useful when applications often query a specific row or range of rows.

Indexes are logically and physically independent of the data. Thus, you can drop and create indexes with no effect on the tables or other indexes. All applications continue to function after you drop an index.

Data Access

A general requirement for a DBMS is to adhere to accepted industry standards for a data access language.

Structured Query Language (SQL)

SQL is a set-based declarative language that provides an interface to an RDBMS such as Oracle Database. In contrast to procedural languages such as C, which describe how things should be done, SQL is nonprocedural and describes what should be done. Users specify the result that they want (for example, the names of current employees), not how to derive it. SQL is the ANSI standard language for relational databases.

All operations on the data in an Oracle database are performed using SQL statements. For example, you use SQL to create tables and query and modify data in tables. A SQL statement can be thought of as a very simple, but powerful, computer program or instruction. A SQL statement is a string of SQL text such as the following:

SELECT first_name, last_name FROM employees;

SQL statements enable you to perform the following tasks:

  • Query data

  • Insert, update, and delete rows in a table

  • Create, replace, alter, and drop objects

  • Control access to the database and its objects

  • Guarantee database consistency and integrity

SQL unifies the preceding tasks in one consistent language. Oracle SQL is an implementation of the ANSI standard. Oracle SQL supports numerous features that extend beyond standard SQL.


See Also:

Chapter 7, "SQL"

PL/SQL and Java

PL/SQL is a procedural extension to Oracle SQL. PL/SQL is integrated with Oracle Database, enabling you to use all of the Oracle Database SQL statements, functions, and data types. You can use PL/SQL to control the flow of a SQL program, use variables, and write error-handling procedures.

A primary benefit of PL/SQL is the ability to store application logic in the database itself. A procedure or function is a schema object that consists of a set of SQL statements and other PL/SQL constructs, grouped together, stored in the database, and run as a unit to solve a specific problem or to perform a set of related tasks. The principal benefit of server-side programming is that built-in functionality can be deployed anywhere.

Oracle Database can also store program units written in Java. A Java stored procedure is a Java method published to SQL and stored in the database for general use. You can call existing PL/SQL programs from Java and Java programs from PL/SQL.

Transaction Management

Oracle Database is designed as a multiuser database. The database must ensure that multiple users can work concurrently without corrupting one another's data.

Transactions

An RDBMS must be able to group SQL statements so that they are either all committed, which means they are applied to the database, or all rolled back, which means they are undone. A transaction is a logical, atomic unit of work that contains one or more SQL statements.

An illustration of the need for transactions is a funds transfer from a savings account to a checking account. The transfer consists of the following separate operations:

  1. Decrease the savings account.

  2. Increase the checking account.

  3. Record the transaction in the transaction journal.

Oracle Database guarantees that all three operations succeed or fail as a unit. For example, if a hardware failure prevents a statement in the transaction from executing, then the other statements must be rolled back.

Transactions are one of the features that sets Oracle Database apart from a file system. If you perform an atomic operation that updates several files, and if the system fails halfway through, then the files will not be consistent. In contrast, a transaction moves an Oracle database from one consistent state to another. The basic principle of a transaction is "all or nothing": an atomic operation succeeds or fails as a whole.

Data Concurrency

A requirement of a multiuser RDBMS is the control of concurrency, which is the simultaneous access of the same data by multiple users. Without concurrency controls, users could change data improperly, compromising data integrity. For example, one user could update a row while a different user simultaneously updates it.

If multiple users access the same data, then one way of managing concurrency is to make users wait. However, the goal of a DBMS is to reduce wait time so it is either nonexistent or negligible. All SQL statements that modify data must proceed with as little interference as possible. Destructive interactions, which are interactions that incorrectly update data or alter underlying data structures, must be avoided.

Oracle Database uses locks to control concurrent access to data. A lock is a mechanism that prevents destructive interaction between transactions accessing a shared resource. Locks help ensure data integrity while allowing maximum concurrent access to data.

Data Consistency

In Oracle Database, each user must see a consistent view of the data, including visible changes made by a user's own transactions and committed transactions of other users. For example, the database must prevent dirty reads, which occur when one transaction sees uncommitted changes made by another concurrent transaction.

Oracle Database always enforces statement-level read consistency, which guarantees that the data returned by a single query is committed and consistent with respect to a single point in time. Depending on the transaction isolation level, this point is the time at which the statement was opened or the time the transaction began. The Flashback Query feature enables you to specify this point in time explicitly.

The database can also provide read consistency to all queries in a transaction, known as transaction-level read consistency. In this case, each statement in a transaction sees data from the same point in time, which is the time at which the transaction began.

Oracle Database Architecture

A database server is the key to information management. In general, a server reliably manages a large amount of data in a multiuser environment so that users can concurrently access the same data. A database server also prevents unauthorized access and provides efficient solutions for failure recovery.

Database and Instance

An Oracle database server consists of a database and at least one database instance (commonly referred to as simply an instance). Because an instance and a database are so closely connected, the term Oracle database is sometimes used to refer to both instance and database. In the strictest sense the terms have the following meanings:

  • Database

    A database is a set of files, located on disk, that store data. These files can exist independently of a database instance.

  • Database instance

    An instance is a set of memory structures that manage database files. The instance consists of a shared memory area, called the system global area (SGA), and a set of background processes. An instance can exist independently of database files.

Figure 1-1 shows a database and its instance. For each user connection to the instance, the application is run by a client process. Each client process is associated with its own server process. The server process has its own private session memory, known as the program global area (PGA).

Figure 1-1 Oracle Instance and Database

Description of Figure 1-1 follows
Description of "Figure 1-1 Oracle Instance and Database"

A database can be considered from both a physical and logical perspective. Physical data is data viewable at the operating system level. For example, operating system utilities such as the Linux ls and ps can list database files and processes. Logical data such as a table is meaningful only for the database. A SQL statement can list the tables in an Oracle database, but an operating system utility cannot.

The database has physical structures and logical structures. Because the physical and logical structures are separate, the physical storage of data can be managed without affecting access to logical storage structures. For example, renaming a physical database file does not rename the tables whose data is stored in this file.

Database Storage Structures

An essential task of a relational database is data storage. This section briefly describes the physical and logical storage structures used by Oracle Database.

Physical Storage Structures

The physical database structures are the files that store the data. When you execute the SQL command CREATE DATABASE, the following files are created:

  • Data files

    Every Oracle database has one or more physical data files, which contain all the database data. The data of logical database structures, such as tables and indexes, is physically stored in the data files.

  • Control files

    Every Oracle database has a control file. A control file contains metadata specifying the physical structure of the database, including the database name and the names and locations of the database files.

  • Online redo log files

    Every Oracle Database has an online redo log, which is a set of two or more online redo log files. An online redo log is made up of redo entries (also called redo records), which record all changes made to data.

Many other files are important for the functioning of an Oracle database server. These files include parameter files and diagnostic files. Backup files and archived redo log files are offline files important for backup and recovery.

Logical Storage Structures

This section discusses logical storage structures. The following logical storage structures enable Oracle Database to have fine-grained control of disk space use:

  • Data blocks

    At the finest level of granularity, Oracle Database data is stored in data blocks. One data block corresponds to a specific number of bytes on disk.

  • Extents

    An extent is a specific number of logically contiguous data blocks, obtained in a single allocation, used to store a specific type of information.

  • Segments

    A segment is a set of extents allocated for a user object (for example, a table or index), undo data, or temporary data.

  • Tablespaces

    A database is divided into logical storage units called tablespaces. A tablespace is the logical container for a segment. Each tablespace contains at least one data file.

Database Instance Structures

An Oracle database uses memory structures and processes to manage and access the database. All memory structures exist in the main memory of the computers that constitute the RDBMS.

When applications connect to an Oracle database, they are connected to a database instance. The instance services applications by allocating other memory areas in addition to the SGA, and starting other processes in addition to background processes.

Oracle Database Processes

A process is a mechanism in an operating system that can run a series of steps. Some operating systems use the terms job, task, or thread. For the purpose of this discussion, a thread is equivalent to a process. An Oracle database instance has the following types of processes:

  • Client processes

    These processes are created and maintained to run the software code of an application program or an Oracle tool. Most environments have separate computers for client processes.

  • Background processes

    These processes consolidate functions that would otherwise be handled by multiple Oracle Database programs running for each client process. Background processes asynchronously perform I/O and monitor other Oracle Database processes to provide increased parallelism for better performance and reliability.

  • Server processes

    These processes communicate with client processes and interact with Oracle Database to fulfill requests.

Oracle processes include server processes and background processes. In most environments, Oracle processes and client processes run on separate computers.

Instance Memory Structures

Oracle Database creates and uses memory structures for purposes such as memory for program code, data shared among users, and private data areas for each connected user. The following memory structures are associated with an instance:

  • System Global Area (SGA)

    The SGA is a group of shared memory structures that contain data and control information for one database instance. Examples of SGA components include cached data blocks and shared SQL areas.

  • Program Global Areas (PGA)

    A PGA is a memory region that contain data and control information for a server or background process. Access to the PGA is exclusive to the process. Each server process and background process has its own PGA.

Application and Networking Architecture

To take full advantage of a given computer system or network, Oracle Database enables processing to be split between the database server and the client programs. The computer running the RDBMS handles the database server responsibilities while the computers running the applications handle the interpretation and display of data.

Application Architecture

The application architecture refers to the computing environment in which a database application connects to an Oracle database. The two most common database architectures are client/server and multitier.

In a client/server architecture, the client application initiates a request for an operation to be performed on the database server. The server runs Oracle Database software and handles the functions required for concurrent, shared data access. The server receives and processes requests that originate from clients.

In a traditional multitier architecture, one or more application servers perform parts of the operation. An application server contains a large part of the application logic, provides access to the data for the client, and performs some query processing, thus lessening the load on the database. The application server can serve as an interface between clients and multiple databases and provide an additional level of security.

Service-oriented architecture (SOA) is a multitier architecture in which application functionality is encapsulated in services. SOA services are usually implemented as Web services. Web services are accessible through HTTP and are based on XML-based standards such as Web Services Description Language (WSDL) and SOAP.

Oracle Database can act as a Web service provider in a traditional multitier or SOA environment.


See Also:


Networking Architecture

Oracle Net Services is the interface between the database and the network communication protocols that facilitate distributed processing and distributed databases. Communication protocols define the way that data is transmitted and received on a network. Oracle Net Services supports communications on all major network protocols, including TCP/IP, HTTP, FTP, and WebDAV.

Oracle Net, a component of Oracle Net Services, establishes and maintains a network session from a client application to a database server. After a network session is established, Oracle Net acts as the data courier for both the client application and the database server, exchanging messages between them. Oracle Net can perform these jobs because it is located on each computer in the network.

An important component of Net Services is the Oracle Net Listener (called the listener), which is a separate process that runs on the database server or elsewhere in the network. Client applications can send connection requests to the listener, which manages the traffic of these requests to the database server. When a connection is established, the client and database communicate directly.

The most common ways to configure an Oracle database to service client requests are:

  • Dedicated server architecture

    Each client process connects to a dedicated server process. The server process is not shared by any other client for the duration of the client's session. Each new session is assigned a dedicated server process.

  • Shared server architecture

    The database uses a pool of shared processes for multiple sessions. A client process communicates with a dispatcher, which is a process that enables many clients to connect to the same database instance without the need for a dedicated server process for each client.


See Also:


Oracle Database Documentation Roadmap

This section explains how this manual should be read and where it fits into the Oracle Database documentation set as a whole.

To a new user, the Oracle Database documentation library can seem daunting. Not only are there are over 175 manuals, but many of these manuals are several hundred pages long. However, the documentation is designed with specific access paths to ensure that users are able to find the information they need as efficiently as possible.

The documentation set is divided into three layers or groups: basic, intermediate, and advanced. Users begin with the manuals in the basic group (Oracle Database 2 Day DBA, Oracle Database 2 Day Developer's Guide, or this manual), proceed to the manuals in the intermediate group (the 2 Day + series), and finally to the advanced manuals, which include the remainder of the documentation set.

Basic Group

Technical users who are new to Oracle Database begin by reading one or more manuals in the basic group from cover to cover. Each manual in this group is designed to be read in two days. In addition to this manual, the basic group includes:

  • Oracle Database 2 Day DBA

    This manual is a task-based DBA quick start that teaches you how to perform day-to-day database administrative tasks. It teaches you how to perform all common administrative tasks needed to keep the database operational, including how to perform basic troubleshooting and performance monitoring activities.

  • Oracle Database 2 Day Developer's Guide

    This manual is a task-based database developer quick start guide that explains how to use the basic features of Oracle Database through SQL and PL/SQL.

The manuals in the basic group are closely related, which is reflected in the number of cross-references. For example, Oracle Database Concepts frequently sends users to a 2 Day manual to learn how to perform a task based on a concept. The 2 Day manuals frequently references Oracle Database Concepts for conceptual background about a task.

Intermediate Group

The next step up from the basic group is the intermediate group. The manuals in this group are prefixed with the word 2 Day + because they expand on and assume information contained in the 2 Day manuals. These manuals cover topics in more depth than was possible in the basic manuals, or cover topics of special interest. As shown in Table 1-1, the 2 Day + manuals are divided into manuals for DBAs and developers.

Advanced Group

The next step up from the intermediate group is the advanced group. These manuals are intended for expert users who require more detailed information about a particular topic than can be provided by the 2 Day + manuals. Essential reference manuals in the advanced group include:

The advanced guides are too numerous to list in this section. Table 1-2 lists guides that are used by the majority of expert DBAs and developers at one time or another.

Other advanced guides required by a particular user depend on the area of responsibility of this user. For example, a security officer will naturally refer to the Oracle Database Security Guide.

PK PKM%AOEBPS/schemaob.htm Partitions, Views, and Other Schema Objects

4 Partitions, Views, and Other Schema Objects

Although tables and indexes are the most important and commonly used schema objects, the database supports many other types of schema objects, the most common of which are discussed in this chapter.

This chapter contains the following sections:

Overview of Partitions

Partitioning enables you to decompose very large tables and indexes into smaller and more manageable pieces called partitions. Each partition is an independent object with its own name and optionally its own storage characteristics.

For an analogy that illustrates partitioning, suppose an HR manager has one big box that contains employee folders. Each folder lists the employee hire date. Queries are often made for employees hired in a particular month. One approach to satisfying such requests is to create an index on employee hire date that specifies the locations of the folders scattered throughout the box. In contrast, a partitioning strategy uses many smaller boxes, with each box containing folders for employees hired in a given month.

Using smaller boxes has several advantages. When asked to retrieve the folders for employees hired in June, the HR manager can retrieve the June box. Furthermore, if any small box is temporarily damaged, the other small boxes remain available. Moving offices also becomes easier because instead of moving a single heavy box, the manager can move several small boxes.

From the perspective of an application, only one schema object exists. DML statements require no modification to access partitioned tables. Partitioning is useful for many different types of database applications, particularly those that manage large volumes of data. Benefits include:


See Also:

Oracle Database VLDB and Partitioning Guide for an introduction to partitioning

Partition Characteristics

Each partition of a table or index must have the same logical attributes, such as column names, data types, and constraints. For example, all partitions in a table share the same column and constraint definitions, and all partitions in an index share the same indexed columns. However, each partition can have separate physical attributes, such as the tablespace to which it belongs.

Partition Key

The partition key is a set of one or more columns that determines the partition in which each row in a partitioned table should go. Each row is unambiguously assigned to a single partition.

In the sales table, you could specify the time_id column as the key of a range partition. The database assigns rows to partitions based on whether the date in this column falls in a specified range. Oracle Database automatically directs insert, update, and delete operations to the appropriate partition by using the partition key.

Partitioning Strategies

Oracle Partitioning offers several partitioning strategies that control how the database places data into partitions. The basic strategies are range, list, and hash partitioning.

A single-level partitioning strategy uses only one method of data distribution, for example, only list partitioning or only range partitioning. In composite partitioning, a table is partitioned by one data distribution method and then each partition is further divided into subpartitions using a second data distribution method. For example, you could use a list partition for channel_id and a range subpartition for time_id.

Range Partitioning

In range partitioning, the database maps rows to partitions based on ranges of values of the partitioning key. Range partitioning is the most common type of partitioning and is often used with dates.

Suppose that you want to populate a partitioned table with the sales rows shown in Example 4-1.

Example 4-1 Sample Row Set for Partitioned Table

  PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
      116      11393 05-JUN-99          2        999             1       12.18
       40     100530 30-NOV-98          9         33             1       44.99
      118        133 06-JUN-01          2        999             1       17.12
      133       9450 01-DEC-00          2        999             1       31.28
       36       4523 27-JAN-99          3        999             1       53.89
      125       9417 04-FEB-98          3        999             1       16.86
       30        170 23-FEB-01          2        999             1         8.8
       24      11899 26-JUN-99          4        999             1       43.04
       35       2606 17-FEB-00          3        999             1       54.94
       45       9491 28-AUG-98          4        350             1       47.45 

You create time_range_sales as a partitioned table using the statement in Example 4-2. The time_id column is the partition key.

Example 4-2 Range-Partitioned Table

CREATE TABLE time_range_sales
   ( prod_id        NUMBER(6)
   , cust_id        NUMBER
   , time_id        DATE
   , channel_id     CHAR(1)
   , promo_id       NUMBER(6)
   , quantity_sold  NUMBER(3)
   , amount_sold    NUMBER(10,2)
   )
PARTITION BY RANGE (time_id)
 (PARTITION SALES_1998 VALUES LESS THAN (TO_DATE('01-JAN-1999','DD-MON-YYYY')),
  PARTITION SALES_1999 VALUES LESS THAN (TO_DATE('01-JAN-2000','DD-MON-YYYY')),
  PARTITION SALES_2000 VALUES LESS THAN (TO_DATE('01-JAN-2001','DD-MON-YYYY')),
  PARTITION SALES_2001 VALUES LESS THAN (MAXVALUE)
 ); 

Afterward, you load time_range_sales with the rows from Example 4-1. Figure 4-1 shows the row distributions in the four partitions. The database chooses the partition for each row based on the time_id value according to the rules specified in the PARTITION BY RANGE clause.

Figure 4-1 Range Partitions

Description of Figure 4-1 follows
Description of "Figure 4-1 Range Partitions"

The range partition key value determines the high value of the range partitions, which is called the transition point. In Figure 4-1, the SALES_1998 partition contains rows with partitioning key time_id values less than the transition point 01-JAN-1999.

The database creates interval partitions for data beyond that transition point. Interval partitions extend range partitioning by instructing the database to create partitions of the specified range or interval automatically when data inserted into the table exceeds all of the range partitions. In Figure 4-1, the SALES_2001 partition contains rows with partitioning key time_id values greater than or equal to 01-JAN-2001.

List Partitioning

In list partitioning, the database uses a list of discrete values as the partition key for each partition. You can use list partitioning to control how individual rows map to specific partitions. By using lists, you can group and organize related sets of data when the key used to identify them is not conveniently ordered.

Assume that you create list_sales as a list-partitioned table using the statement in Example 4-3. The channel_id column is the partition key.

Example 4-3 List-Partitioned Table

CREATE TABLE list_sales
   ( prod_id        NUMBER(6)
   , cust_id        NUMBER
   , time_id        DATE
   , channel_id     CHAR(1)
   , promo_id       NUMBER(6)
   , quantity_sold  NUMBER(3)
   , amount_sold    NUMBER(10,2)
   )
PARTITION BY LIST (channel_id)
 (PARTITION even_channels VALUES (2,4),
  PARTITION odd_channels VALUES (3,9)
 ); 

Afterward, you load the table with the rows from Example 4-1. Figure 4-2 shows the row distribution in the two partitions. The database chooses the partition for each row based on the channel_id value according to the rules specified in the PARTITION BY LIST clause. Rows with a channel_id value of 2 or 4 are stored in the EVEN_CHANNELS partitions, while rows with a channel_id value of 3 or 9 are stored in the ODD_CHANNELS partition.

Figure 4-2 List Partitions

Description of Figure 4-2 follows
Description of "Figure 4-2 List Partitions"

Hash Partitioning

In hash partitioning, the database maps rows to partitions based on a hashing algorithm that the database applies to the user-specified partitioning key. The destination of a row is determined by the internal hash function applied to the row by the database. The hashing algorithm is designed to evenly distributes rows across devices so that each partition contains about the same number of rows.

Hash partitioning is useful for dividing large tables to increase manageability. Instead of one large table to manage, you have several smaller pieces. The loss of a single hash partition does not affect the remaining partitions and can be recovered independently. Hash partitioning is also useful in OLTP systems with high update contention. For example, a segment is divided into several pieces, each of which is updated, instead of a single segment that experiences contention.

Assume that you create the partitioned hash_sales table using the statement in Example 4-4. The prod_id column is the partition key.

Example 4-4 Hash-Partitioned Table

CREATE TABLE hash_sales
   ( prod_id        NUMBER(6)
   , cust_id        NUMBER
   , time_id        DATE
   , channel_id     CHAR(1)
   , promo_id       NUMBER(6)
   , quantity_sold  NUMBER(3)
   , amount_sold    NUMBER(10,2)
   )
PARTITION BY HASH (prod_id)
PARTITIONS 2; 

Afterward, you load the table with the rows from Example 4-1. Figure 4-3 shows a possible row distribution in the two partitions. Note that the names of these partitions are system-generated.

As you insert rows, the database attempts to randomly and evenly distribute them across partitions. You cannot specify the partition into which a row is placed. The database applies the hash function, whose outcome determines which partition contains the row. If you change the number of partitions, then the database redistributes the data over all of the partitions.

Figure 4-3 Hash Partitions

Description of Figure 4-3 follows
Description of "Figure 4-3 Hash Partitions"


See Also:


Partitioned Tables

A partitioned table consists of one or more partitions, which are managed individually and can operate independently of the other partitions. A table is either partitioned or nonpartitioned. Even if a partitioned table consists of only one partition, this table is different from a nonpartitioned table, which cannot have partitions added to it. "Partition Characteristics" gives examples of partitioned tables.

A partitioned table is made up of one or more table partition segments. If you create a partitioned table named hash_products, then no table segment is allocated for this table. Instead, the database stores data for each table partition in its own partition segment. Each table partition segment contains a portion of the table data.

Some or all partitions of a heap-organized table can be stored in a compressed format. Compression saves space and can speed query execution. Thus, compression can be useful in environments such as data warehouses, where the amount of insert and update operations is small, and in OLTP environments.

The attributes for table compression can be declared for a tablespace, table, or table partition. If declared at the tablespace level, then tables created in the tablespace are compressed by default. You can alter the compression attribute for a table, in which case the change only applies to new data going into that table. Consequently, a single table or partition may contain compressed and uncompressed blocks, which guarantees that data size will not increase because of compression. If compression could increase the size of a block, then the database does not apply it to the block.


See Also:


Partitioned Indexes

A partitioned index is an index that, like a partitioned table, has been decomposed into smaller and more manageable pieces. Global indexes are partitioned independently of the table on which they are created, whereas local indexes are automatically linked to the partitioning method for a table. Like partitioned tables, partitioned indexes improve manageability, availability, performance, and scalability.

The following graphic shows index partitioning options.

Description of cncpt301.gif follows
Description of the illustration cncpt301.gif


See Also:


Local Partitioned Indexes

In a local partitioned index, the index is partitioned on the same columns, with the same number of partitions and the same partition bounds as its table. Each index partition is associated with exactly one partition of the underlying table, so that all keys in an index partition refer only to rows stored in a single table partition. In this way, the database automatically synchronizes index partitions with their associated table partitions, making each table-index pair independent.

Local partitioned indexes are common in data warehousing environments. Local indexes offer the following advantages:

  • Availability is increased because actions that make data invalid or unavailable in a partition affect this partition only.

  • Partition maintenance is simplified. When moving a table partition, or when data ages out of a partition, only the associated local index partition must be rebuilt or maintained. In a global index, all index partitions must be rebuilt or maintained.

  • If point-in-time recovery of a partition occurs, then the indexes can be recovered to the recovery time (see "Data File Recovery"). The entire index does not need to be rebuilt.

Example 4-4 shows the creation statement for the partitioned hash_sales table, using the prod_id column as partition key. Example 4-5 creates a local partitioned index on the time_id column of the hash_sales table.

Example 4-5 Local Partitioned Index

CREATE INDEX hash_sales_idx ON hash_sales(time_id) LOCAL;

In Figure 4-4, the hash_products table has two partitions, so hash_sales_idx has two partitions. Each index partition is associated with a different table partition. Index partition SYS_P38 indexes rows in table partition SYS_P33, whereas index partition SYS_P39 indexes rows in table partition SYS_P34.

Figure 4-4 Local Index Partitions

Description of Figure 4-4 follows
Description of "Figure 4-4 Local Index Partitions"

You cannot explicitly add a partition to a local index. Instead, new partitions are added to local indexes only when you add a partition to the underlying table. Likewise, you cannot explicitly drop a partition from a local index. Instead, local index partitions are dropped only when you drop a partition from the underlying table.

Like other indexes, you can create a bitmap index on partitioned tables. The only restriction is that bitmap indexes must be local to the partitioned table—they cannot be global indexes. Global bitmap indexes are supported only on nonpartitioned tables.

Local Prefixed and Nonprefixed Indexes

Local partitioned indexes are divided into the following subcategories:

  • Local prefixed indexes

    In this case, the partition keys are on the leading edge of the index definition. In Example 4-2, the table is partitioned by range on time_id. A local prefixed index on this table would have time_id as the first column in its list.

  • Local nonprefixed indexes

    In this case, the partition keys are not on the leading edge of the indexed column list and need not be in the list at all. In Example 4-5, the index is local nonprefixed because the partition key product_id is not on the leading edge.

Both types of indexes can take advantage of partition elimination (also called partition pruning), which occurs when the optimizer speeds data access by excluding partitions from consideration. Whether a query can eliminate partitions depends on the query predicate. A query that uses a local prefixed index always allows for index partition elimination, whereas a query that uses a local nonprefixed index might not.


See Also:

Oracle Database VLDB and Partitioning Guide to learn how to use prefixed and nonprefixed indexes

Local Partitioned Index Storage

Like a table partition, a local index partition is stored in its own segment. Each segment contains a portion of the total index data. Thus, a local index made up of four partitions is not stored in a single index segment, but in four separate segments.


See Also:

Oracle Database SQL Language Reference for CREATE INDEX ... LOCAL examples

Global Partitioned Indexes

A global partitioned index is a B-tree index that is partitioned independently of the underlying table on which it is created. A single index partition can point to any or all table partitions, whereas in a locally partitioned index, a one-to-one parity exists between index partitions and table partitions.

In general, global indexes are useful for OLTP applications, where rapid access, data integrity, and availability are important. In an OLTP system, a table may be partitioned by one key, for example, the employees.department_id column, but an application may need to access the data with many different keys, for example, by employee_id or job_id. Global indexes can be useful in this scenario.

You can partition a global index by range or by hash. If partitioned by range, then the database partitions the global index on the ranges of values from the table columns you specify in the column list. If partitioned by hash, then the database assigns rows to the partitions using a hash function on values in the partitioning key columns.

As an illustration, suppose that you create a global partitioned index on the time_range_sales table from Example 4-2. In this table, rows for sales from 1998 are stored in one partition, rows for sales from 1999 are in another, and so on. Example 4-6 creates a global index partitioned by range on the channel_id column.

Example 4-6 Global Partitioned Index

CREATE INDEX time_channel_sales_idx ON time_range_sales (channel_id)
   GLOBAL PARTITION BY RANGE (channel_id)
      (PARTITION p1 VALUES LESS THAN (3),
       PARTITION p2 VALUES LESS THAN (4),
       PARTITION p3 VALUES LESS THAN (MAXVALUE));

As shown in Figure 4-5, a global index partition can contain entries that point to multiple table partitions. Index partition p1 points to the rows with a channel_id of 2, index partition p2 points to the rows with a channel_id of 3, and index partition p3 points to the rows with a channel_id of 4 or 9.

Figure 4-5 Global Partitioned Index

Description of Figure 4-5 follows
Description of "Figure 4-5 Global Partitioned Index"


See Also:


Partitioned Index-Organized Tables

You can partition an index-organized table (IOT) by range, list, or hash. Partitioning is useful for providing improved manageability, availability, and performance for IOTs. In addition, data cartridges that use IOTs can take advantage of the ability to partition their stored data.

Note the following characteristics of partitioned IOTs:

  • Partition columns must be a subset of primary key columns.

  • Secondary indexes can be partitioned locally and globally.

  • OVERFLOW data segments are always equipartitioned with the table partitions.

Oracle Database supports bitmap indexes on partitioned and nonpartitioned index-organized tables. A mapping table is required for creating bitmap indexes on an index-organized table.

Overview of Views

A view is a logical representation of one or more tables. In essence, a view is a stored query. A view derives its data from the tables on which it is based, called base tables. Base tables can be tables or other views. All operations performed on a view actually affect the base tables. You can use views in most places where tables are used.


Note:

Materialized views use a different data structure from standard views. See "Overview of Materialized Views".

Views enable you to tailor the presentation of data to different types of users. Views are often used to:

For an example of the use of views, consider the hr.employees table, which has several columns and numerous rows. To allow users to see only five of these columns or only specific rows, you could create a view as follows:

CREATE VIEW staff AS
  SELECT employee_id, last_name, job_id, manager_id, department_id
  FROM   employees;

As with all subqueries, the query that defines a view cannot contain the FOR UPDATE clause. Figure 4-6 graphically illustrates the view named staff. Notice that the view shows only five of the columns in the base table.


See Also:


Characteristics of Views

Unlike a table, a view is not allocated storage space, nor does a view contain data. Rather, a view is defined by a query that extracts or derives data from the base tables referenced by the view. Because a view is based on other objects, it requires no storage other than storage for the query that defines the view in the data dictionary.

A view has dependencies on its referenced objects, which are automatically handled by the database. For example, if you drop and re-create a base table of a view, then the database determines whether the new base table is acceptable to the view definition.

Data Manipulation in Views

Because views are derived from tables, they have many similarities. For example, a view can contain up to 1000 columns, just like a table. Users can query views, and with some restrictions they can perform DML on views. Operations performed on a view affect data in some base table of the view and are subject to the integrity constraints and triggers of the base tables.

The following example creates a view of the hr.employees table:

CREATE VIEW staff_dept_10 AS
SELECT employee_id, last_name, job_id, 
       manager_id, department_id
FROM   employees
WHERE  department_id = 10
WITH CHECK OPTION CONSTRAINT staff_dept_10_cnst;

The defining query references only rows for department 10. The CHECK OPTION creates the view with a constraint so that INSERT and UPDATE statements issued against the view cannot result in rows that the view cannot select. Thus, rows for employees in department 10 can be inserted, but not rows for department 30.


See Also:

Oracle Database SQL Language Reference to learn about subquery restrictions in CREATE VIEW statements

How Data Is Accessed in Views

Oracle Database stores a view definition in the data dictionary as the text of the query that defines the view. When you reference a view in a SQL statement, Oracle Database performs the following tasks:

  1. Merges a query (whenever possible) against a view with the queries that define the view and any underlying views

    Oracle Database optimizes the merged query as if you issued the query without referencing the views. Therefore, Oracle Database can use indexes on any referenced base table columns, whether the columns are referenced in the view definition or in the user query against the view.

    Sometimes Oracle Database cannot merge the view definition with the user query. In such cases, Oracle Database may not use all indexes on referenced columns.

  2. Parses the merged statement in a shared SQL area

    Oracle Database parses a statement that references a view in a new shared SQL area only if no existing shared SQL area contains a similar statement. Thus, views provide the benefit of reduced memory use associated with shared SQL.

  3. Executes the SQL statement

The following example illustrates data access when a view is queried. Assume that you create employees_view based on the employees and departments tables:

CREATE VIEW employees_view AS 
  SELECT employee_id, last_name, salary, location_id
  FROM   employees JOIN departments USING (department_id)
  WHERE  departments.department_id = 10; 

A user executes the following query of employees_view:

SELECT last_name 
FROM   employees_view 
WHERE  employee_id = 9876;

Oracle Database merges the view and the user query to construct the following query, which it then executes to retrieve the data:

SELECT last_name
FROM   employees, departments
WHERE  employees.department_id = departments.department_id 
AND    departments.department_id = 10 
AND    employees.employee_id = 9876;

Updatable Join Views

A join view is defined as a view that has multiple tables or views in its FROM clause. In Example 4-7, the staff_dept_10_30 view joins the employees and departments tables, including only employees in departments 10 or 30.

Example 4-7 Join View

CREATE VIEW staff_dept_10_30 AS
SELECT employee_id, last_name, job_id, e.department_id
FROM   employees e, departments d
WHERE  e.department_id IN (10, 30)
AND    e.department_id = d.department_id;

An updatable join view, also called a modifiable join view, involves two or more base tables or views and permits DML operations. An updatable view contains multiple tables in the top-level FROM clause of the SELECT statement and is not restricted by the WITH READ ONLY clause.

To be inherently updatable, a view must meet several criteria. For example, a general rule is that an INSERT, UPDATE, or DELETE operation on a join view can modify only one base table at a time. The following query of the USER_UPDATABLE_COLUMNS data dictionary view shows that the view created in Example 4-7 is updatable:

SQL> SELECT TABLE_NAME, COLUMN_NAME, UPDATABLE 
  2  FROM   USER_UPDATABLE_COLUMNS 
  3  WHERE  TABLE_NAME = 'STAFF_DEPT_10_30';
 
TABLE_NAME                     COLUMN_NAME                    UPD
------------------------------ ------------------------------ ---
STAFF_DEPT_10_30               EMPLOYEE_ID                    YES
STAFF_DEPT_10_30               LAST_NAME                      YES
STAFF_DEPT_10_30               JOB_ID                         YES
STAFF_DEPT_10_30               DEPARTMENT_ID                  YES

All updatable columns of a join view must map to columns of a key-preserved table. A key-preserved table in a join query is a table in which each row of the underlying table appears at most one time in the output of the query. In Example 4-7, department_id is the primary key of the departments table, so each row from the employees table appears at most once in the result set, making the employees table key-preserved. The departments table is not key-preserved because each of its rows may appear many times in the result set.


See Also:

Oracle Database Administrator's Guide to learn how to update join views

Object Views

Just as a view is a virtual table, an object view is a virtual object table. Each row in the view is an object, which is an instance of an object type. An object type is a user-defined data type.

You can retrieve, update, insert, and delete relational data as if it was stored as an object type. You can also define views with columns that are object data types, such as objects, REFs, and collections (nested tables and VARRAYs).

Like relational views, object views can present only the data that you want users to see. For example, an object view could present data about IT programmers but omit sensitive data about salaries. The following example creates an employee_type object and then the view it_prog_view based on this object:

CREATE TYPE employee_type AS OBJECT
(
  employee_id  NUMBER (6),
  last_name    VARCHAR2 (25),
  job_id       VARCHAR2 (10)
);
/

CREATE VIEW it_prog_view OF employee_type
  WITH OBJECT IDENTIFIER (employee_id) AS 
SELECT  e.employee_id, e.last_name, e.job_id
FROM    employees e
WHERE   job_id = 'IT_PROG';

Object views are useful in prototyping or transitioning to object-oriented applications because the data in the view can be taken from relational tables and accessed as if the table were defined as an object table. You can run object-oriented applications without converting existing tables to a different physical structure.


See Also:


Overview of Materialized Views

Materialized views are query results that have been stored or "materialized" in advance as schema objects. The FROM clause of the query can name tables, views, and materialized views. Collectively these objects are called master tables (a replication term) or detail tables (a data warehousing term).

Materialized views are used to summarize, compute, replicate, and distribute data. They are suitable in various computing environments, such as the following:

In a replication environment, a materialized view shares data with a table in a different database, called a master database. The table associated with the materialized view at the master site is the master table. Figure 4-7 illustrates a materialized view in one database based on a master table in another database. Updates to the master table replicate to the materialized view database.

Figure 4-7 Materialized View

Description of Figure 4-7 follows
Description of "Figure 4-7 Materialized View"


See Also:


Characteristics of Materialized Views

Materialized views share some characteristics of nonmaterialized views and indexes. Materialized views are similar to indexes in the following ways:

  • They contain actual data and consume storage space.

  • They can be refreshed when the data in their master tables changes.

  • They can improve performance of SQL execution when used for query rewrite operations.

  • Their existence is transparent to SQL applications and users.

A materialized view is similar to a nonmaterialized view because it represents data in other tables and views. Unlike indexes, users can query materialized views directly using SELECT statements. Depending on the types of refresh that are required, the views can also be updated with DML statements.

The following example creates and populates a materialized aggregate view based on three master tables in the sh sample schema:

CREATE MATERIALIZED VIEW sales_mv AS 
  SELECT t.calendar_year, p.prod_id, SUM(s.amount_sold) AS sum_sales
  FROM   times t, products p, sales s
  WHERE  t.time_id = s.time_id 
  AND    p.prod_id = s.prod_id
  GROUP BY t.calendar_year, p.prod_id;

The following example drops table sales, which is a master table for sales_mv, and then queries sales_mv. The query selects data because the rows are stored (materialized) separately from the data in the master tables.

SQL> DROP TABLE sales;

Table dropped.

SQL> SELECT * FROM sales_mv WHERE ROWNUM < 4;
 
CALENDAR_YEAR    PROD_ID  SUM_SALES
------------- ---------- ----------
         1998         13  936197.53
         1998         26  567533.83
         1998         27  107968.24

A materialized view can be partitioned. You can define a materialized view on a partitioned table and one or more indexes on the materialized view.


See Also:

Oracle Database Data Warehousing Guide to learn how to use materialized views in a data warehouse

Refresh Methods for Materialized Views

The database maintains data in materialized views by refreshing them after changes to their master tables. The refresh method can be incremental, known as fast refresh, or a complete refresh.

A complete refresh occurs when the materialized view is initially defined as BUILD IMMEDIATE, unless the materialized view references a prebuilt table. The refresh involves executing the query that defines the materialized view. This process can be slow, especially if the database must read and process huge amounts of data.

A fast refresh eliminates the need to rebuild materialized views from scratch. Thus, processing only the changes can result in a very fast refresh time. Materialized views can be refreshed either on demand or at regular time intervals. Alternatively, materialized views in the same database as their master tables can be refreshed whenever a transaction commits its changes to the master tables.

For materialized views that use the fast refresh method, a materialized view log or direct loader log keeps a record of changes to the master tables. A materialized view log is a schema object that records changes to master table data so that a materialized view defined on the master table can be refreshed incrementally. Each materialized view log is associated with a single master table. The materialized view log resides in the same database and schema as its master table.


See Also:


Query Rewrite

Query rewrite is an optimization technique that transforms a user request written in terms of master tables into a semantically equivalent request that includes materialized views. When base tables contain large amounts of data, computing an aggregate or join is expensive and time-consuming. Because materialized views contain precomputed aggregates and joins, query rewrite can quickly answer queries using materialized views.

The optimizer query transformer transparently rewrites the request to use the materialized view, requiring no user intervention and no reference to the materialized view in the SQL statement. Because query rewrite is transparent, materialized views can be added or dropped without invalidating the SQL in the application code.

In general, rewriting queries to use materialized views rather than detail tables improves response time. Figure 4-8 shows the database generating an execution plan for the original and rewritten query and choosing the lowest-cost plan.


See Also:


Overview of Sequences

A sequence is a schema object from which multiple users can generate unique integers. A sequence generator provides a highly scalable and well-performing method to generate surrogate keys for a number data type.

Sequence Characteristics

A sequence definition indicates general information, such as the following:

  • The name of the sequence

  • Whether the sequence ascends or descends

  • The interval between numbers

  • Whether the database should cache sets of generated sequence numbers in memory

  • Whether the sequence should cycle when a limit is reached

The following example creates the sequence customers_seq in the sample schema oe. An application could use this sequence to provide customer ID numbers when rows are added to the customers table.

CREATE S;EQUENCE customers_seq
START WITH      1000
INCREMENT BY    1
NOCACHE
NOCYCLE;

The first reference to customers_seq.nextval returns 1000. The second returns 1001. Each subsequent reference returns a value 1 greater than the previous reference.


See Also:


Concurrent Access to Sequences

The same sequence generator can generate numbers for multiple tables. In this way, the database can generate primary keys automatically and coordinate keys across multiple rows or tables. For example, a sequence can generate primary keys for an orders table and a customers table.

The sequence generator is useful in multiuser environments for generating unique numbers without the overhead of disk I/O or transaction locking. For example, two users simultaneously insert new rows into the orders table. By using a sequence to generate unique numbers for the order_id column, neither user has to wait for the other to enter the next available order number. The sequence automatically generates the correct values for each user.

Each user that references a sequence has access to his or her current sequence number, which is the last sequence generated in the session. A user can issue a statement to generate a new sequence number or use the current number last generated by the session. After a statement in a session generates a sequence number, it is available only to this session. Individual sequence numbers can be skipped if they were generated and used in a transaction that was ultimately rolled back.


Caution:

If your application requires a gap-free set of numbers, then you cannot use Oracle sequences. You must serialize activities in the database using your own developed code.


Overview of Dimensions

A typical data warehouse has two important components: dimensions and facts. A dimension is any category used in specifying business questions, for example, time, geography, product, department, and distribution channel. A fact is an event or entity associated with a particular set of dimension values, for example, units sold or profits.

Examples of multidimensional requests include the following:

Many multidimensional questions require aggregated data and comparisons of data sets, often across time, geography or budgets.

Creating a dimension permits the broader use of the query rewrite feature. By transparently rewriting queries to use materialized views, the database can improve query performance.

Hierarchical Structure of a Dimension

A dimension table is a logical structure that defines hierarchical relationships between pairs of columns or column sets. A dimension has no data storage assigned to it. Dimensional information is stored in dimension tables, whereas fact information is stored in a fact table.

Within a customer dimension, customers could roll up to city, state, country, subregion, and region. Data analysis typically starts at higher levels in the dimensional hierarchy and gradually drills down if the situation warrants such analysis.

Each value at the child level is associated with one and only one value at the parent level. A hierarchical relationship is a functional dependency from one level of a hierarchy to the next level in the hierarchy.


See Also:


Creation of Dimensions

Dimensions are created with SQL statements. The CREATE DIMENSION statement specifies:

  • Multiple LEVEL clauses, each of which identifies a column or column set in the dimension

  • One or more HIERARCHY clauses that specify the parent/child relationships between adjacent levels

  • Optional ATTRIBUTE clauses, each of which identifies an additional column or column set associated with an individual level

The following statement was used to create the customers_dim dimension in the sample schema sh:

CREATE DIMENSION customers_dim 
   LEVEL customer   IS (customers.cust_id)
   LEVEL city       IS (customers.cust_city) 
   LEVEL state      IS (customers.cust_state_province) 
   LEVEL country    IS (countries.country_id) 
   LEVEL subregion  IS (countries.country_subregion) 
   LEVEL region     IS (countries.country_region) 
   HIERARCHY geog_rollup (
      customer      CHILD OF
      city          CHILD OF 
      state         CHILD OF 
      country       CHILD OF 
      subregion     CHILD OF 
      region 
   JOIN KEY (customers.country_id) REFERENCES country )
   ATTRIBUTE customer DETERMINES
   (cust_first_name, cust_last_name, cust_gender, 
    cust_marital_status, cust_year_of_birth, 
    cust_income_level, cust_credit_limit) 
   ATTRIBUTE country DETERMINES (countries.country_name);

The columns in a dimension can come either from the same table (denormalized) or from multiple tables (fully or partially normalized). For example, a normalized time dimension can include a date table, a month table, and a year table, with join conditions that connect each date row to a month row, and each month row to a year row. In a fully denormalized time dimension, the date, month, and year columns are in the same table. Whether normalized or denormalized, the hierarchical relationships among the columns must be specified in the CREATE DIMENSION statement.


See Also:


Overview of Synonyms

A synonym is an alias for a schema object. For example, you can create a synonym for a table or view, sequence, PL/SQL program unit, user-defined object type, or another synonym. Because a synonym is simply an alias, it requires no storage other than its definition in the data dictionary.

Synonyms can simplify SQL statements for database users. Synonyms are also useful for hiding the identity and location of an underlying schema object. If the underlying object must be renamed or moved, then only the synonym must be redefined. Applications based on the synonym continue to work without modification.

You can create both private and public synonyms. A private synonym is in the schema of a specific user who has control over its availability to others. A public synonym is owned by the user group named PUBLIC and is accessible by every database user.

In Example 4-9, a database administrator creates a public synonym named people for the hr.employees table. The user then connects to the oe schema and counts the number of rows in the table referenced by the synonym.

Example 4-8 Public Synonym

SQL> CREATE PUBLIC SYNONYM people FOR hr.employees;
 
Synonym created.
 
SQL> CONNECT oe
Enter password: password
Connected.

SQL> SELECT COUNT(*) FROM people;

  COUNT(*)
----------
       107

Use public synonyms sparingly because they make database consolidation more difficult. As shown in Example 4-9, if another administrator attempts to create the public synonym people, then the creation fails because only one public synonym people can exist in the database. Overuse of public synonyms causes namespace conflicts between applications.

Example 4-9 Public Synonym

SQL> CREATE PUBLIC SYNONYM people FOR oe.customers;
CREATE PUBLIC SYNONYM people FOR oe.customers
                      *
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> SELECT OWNER, SYNONYM_NAME, TABLE_OWNER, TABLE_NAME 
  2  FROM DBA_SYNONYMS 
  3  WHERE SYNONYM_NAME = 'PEOPLE';
 
OWNER      SYNONYM_NAME TABLE_OWNER TABLE_NAME
---------- ------------ ----------- ----------
PUBLIC     PEOPLE       HR          EMPLOYEES

Synonyms themselves are not securable. When you grant object privileges on a synonym, you are really granting privileges on the underlying object. The synonym is acting only as an alias for the object in the GRANT statement.


See Also:


PKH<;PKM%AOEBPS/glossary.htm Glossary

Glossary

access path

The means by which data is retrieved from a database. For example, a query using an index and a query using a full table scan use different access paths.

active transaction

A transaction that has started but not yet committed or rolled back.

ADDM

Automatic Database Diagnostic Monitor. An Oracle Database infrastructure that enables a database to diagnose its own performance and determine how identified problems could be resolved.

ADR

Automatic Diagnostic Repository. A a file-based hierarchical data store for managing diagnostic information, including network tracing and logging.

alert log

A file that provides a chronological log of database messages and errors. The alert log is stored in the ADR.

archived redo log file

A member of the online redo log that has been archived by Oracle Database. The archived redo log files can be applied to a database backup in media recovery.

ARCHIVELOG mode

A mode of the database that enables the archiving of the online redo log.

Automatic Database Diagnostic Monitor (ADDM)

See ADDM.

Automatic Diagnostic Repository (ADR)

See ADR.

automatic undo management mode

A mode of the database in which it automatically manages undo space in a dedicated undo tablespace.

See also manual undo management mode.

Automatic Workload Repository (AWR)

See AWR.

AWR

Automatic Workload Repository (AWR). A built-in repository in every Oracle database. Oracle Database periodically makes a snapshot of its vital statistics and workload information and stores them in AWR.

B-tree index

An index organized like an upside-down tree. A B-tree index has two types of blocks: branch blocks for searching and leaf blocks that store values. The leaf blocks contain every indexed data value and a corresponding rowid used to locate the actual row. The "B" stands for "balanced" because all leaf blocks automatically stay at the same depth.

background process

A process that consolidates functions that would otherwise be handled by multiple Oracle programs running for each client process. The background processes asynchronously perform I/O and monitor other Oracle processes.

See also instance; Oracle process.

bind variable

A placeholder in a SQL statement that must be replaced with a valid value or value address for the statement to execute successfully. By using bind variables, you can write a SQL statement that accepts inputs or parameters at run time. The following example shows a query that uses v_empid as a bind variable:

SELECT * FROM employees WHERE employee_id = :v_empid;

bitmap index

A database index in which the database stores a bitmap for each index key instead of a list of rowids.

bitmap merge

An operation that merges bitmaps retrieved from bitmap index scans. For example, if the gender and DOB columns have bitmap indexes, then the database may use a bitmap merge if the query predicate is WHERE gender='F' AND DOB > 1966.

block header

A part of a data block that includes information about the type of block, the address of the block, and sometimes transaction information.

block overhead

Space in a data block that stores metadata required for managing the block. The overhead includes the block header, table directory, and row directory.

buffer

A main memory address in the database buffer cache. A buffer caches currently and recently used data blocks read from disk. When a new block is needed, the database can replace an old data block with a new one.

cache recovery

The phase of instance recovery where Oracle Database applies all committed and uncommitted changes in the online redo log files to the affected data blocks.

cardinality

The ratio of distinct values to the number of table rows. A column with only two distinct values in a million-row table would have low cardinality.

checkpoint

1. A data structure that marks the checkpoint position, which is the SCN in the redo thread where instance recovery must begin. Checkpoints are recorded in the control file and each data file header, and are a crucial element of recovery.

2. The writing of dirty data blocks in the database buffer cache to disk. The database writer (DBWn) process writes blocks to disk to synchronize the buffer cache with the data files.

client

In client/server architecture, the front-end database application that interacts with a user. The client portion has no data access responsibilities.

client process

A process that executes the application or Oracle tool code. When users run client applications such as SQL*Plus, the operating system creates client processes to run the applications.

See also Oracle process.

client/server architecture

Software architecture based on a separation of processing between two CPUs, one acting as the client in the transaction, requesting and receiving services, and the other as the server that provides services in a transaction.

column

Vertical space in a table that represents a domain of data. A table definition includes a table name and set of columns. Each column has a name and data type.

commit

Action that ends a database transaction and makes permanent all changes performed in the transaction.

concurrency

Simultaneous access of the same data by many users. A multiuser database management system must provide adequate concurrency controls so that data cannot be updated or changed improperly, compromising data integrity.

See also data consistency.

condition

The combination of one or more expressions and logical operators in a SQL statement that returns a value of TRUE, FALSE, or UNKNOWN. For example, the condition 1=1 always evaluates to TRUE.

connection

Communication pathway between a client process and an Oracle database instance.

See also session.

connection pooling

A resource utilization and user scalability feature that maximizes the number of sessions over a limited number of protocol connections to a shared server.

consistent backup

A whole database backup that you can open with the RESETLOGS option without performing media recovery. In other words, the backup does not require the application of redo to be made consistent.

See also inconsistent backup.

context

A set of application-defined attributes that validates and secures an application. The SQL statement CREATE CONTEXT creates namespaces for contexts.

control file

A binary file that records the physical structure of a database and contains the names and locations of redo log files, the time stamp of the database creation, the current log sequence number, checkpoint information, and so on.

cube

An organization of measures with identical dimensions and other shared characteristics. The edges of the cube contain the dimension members, whereas the body of the cube contains the data values.

cursor

A handle or name for a private SQL area in the PGA. Because cursors are closely associated with private SQL areas, the terms are sometimes used interchangeably.

database

Organized collection of data treated as a unit. The purpose of a database is to store and retrieve related information. Every Oracle database instance accesses only one database in its lifetime.

database buffer cache

The portion of the system global area (SGA) that holds copies of data blocks. All client processes concurrently connected to the instance share access to the buffer cache.

database link

In a schema object, a schema object in one database that enables users to access objects on a different database.

database user

An account through which you can log in to an Oracle database.

database writer (DBWn)

A background process that writes buffers in the database buffer cache to data files.

data block

Smallest logical unit of data storage in Oracle Database. Other names for data blocks include Oracle blocks or pages. One data block corresponds to a specific number of bytes of physical space on disk.

See also extent; segment.

data consistency

A consistent view of the data by each user in a multiuser database.

See also concurrency.

data dictionary

A read-only collection of database tables and views containing reference information about the database, its structures, and its users.

data dictionary cache

A memory area in the shared pool that holds data dictionary information. The data dictionary cache is also known as the row cache because it holds data as rows instead of buffers, which hold entire data blocks.

data dictionary view

A predefined view of tables or other views in the data dictionary. Data dictionary views begin with the prefix DBA_, ALL_, or USER_.

data file

A physical file on disk that was created by Oracle Database and contains the data for a database. The data files can be located either in an operating system file system or Oracle ASM disk group.

data integrity

Business rules that dictate the standards for acceptable data. These rules are applied to a database by using integrity constraints and triggers to prevent invalid data entry.

data mining

The automated search of large stores of data for patterns and trends that transcend simple analysis.

Data Recovery Advisor

An Oracle Database infrastructure that automatically diagnoses persistent data failures, presents repair options to the user, and executes repairs at the user's request.

data segment

The segment containing the data for a nonclustered table, table partition, or table cluster.

See also extent.

data type

In SQL, a fixed set of properties associated with a column value or constant. Examples include VARCHAR2 and NUMBER. Oracle Database treats values of different data types differently.

data warehouse

A relational database designed for query and analysis rather than for OLTP.

DDL

Data definition language. Includes statements such as CREATE TABLE or ALTER INDEX that define or change a data structure.

deadlock

A situation in which two or more users are waiting for data locked by each other. Such deadlocks are rare in Oracle Database.

dedicated server

A database configuration in which a server process handles requests for a single client process.

See also shared server.

deferrable constraint

A constraint that permits a SET CONSTRAINT statement to defer constraint checking until after the transaction is committed. A deferrable constraint enables you to disable the constraint temporarily while making changes that might violate the constraint.

dimension

A structure that categorizes data to enable users to answer business questions. Commonly used dimensions are customers, products, and time.

dimension table

A relational table that stores all or part of the values for a dimension in a star or snowflake schema. Dimension tables typically contain columns for the dimension keys, levels, and attributes.

directory object

A database object that specifies an alias for a directory on the server file system where external binary file LOBs (BFILEs) and external table data are located. All directory objects are created in a single namespace and are not owned by an individual schema.

dispatcher process (Dnnn)

Optional background process present only when a shared server configuration is used. Each dispatcher process is responsible for routing requests from connected client processes to available shared server processes and returning the responses.

distributed database

A set of databases in a distributed system that can appear to applications as a single data source.

distributed processing

The operations that occurs when an application distributes its tasks among different computers in a network.

distributed transaction

A transaction that includes statements that, individually or as a group, update data on nodes of a distributed database. Oracle Database ensures the integrity of data in distributed transactions using the two-phase commit mechanism.

DML

Data manipulation language. Includes statements such as SELECT, INSERT, UPDATE, and DELETE.

edition

A private environment in which you can redefine database objects. Edition-based redefinition enables you to upgrade an application's database objects while the application is in use, thus minimizing or eliminating down time.

ETL

Extraction, transformation, and loading (ETL). The process of extracting data from source systems and bringing it into a data warehouse.

execution plan

The combination of steps used by the database to execute a SQL statement. Each step either retrieves rows of data physically from the database or prepares them for the user issuing the statement. You can override execution plans by using hints.

expression

A combination of one or more values, operators, and SQL functions that evaluates to a value. For example, the expression 2*2 evaluates to 4. In general, expressions assume the data type of their components.

extent

Multiple contiguous data blocks allocated for storing a specific type of information. A segment is made up of one or more extents.

See also data block.

external table

A read-only table whose metadata is stored in the database but whose data in stored in files outside the database. The database uses the metadata describing external tables to expose their data as if they were relational tables.

extraction, transformation, and loading (ETL)

See ETL.

fact

Data that represents a business measure, such as sales or cost data.

fact table

A table in a star schema of a data warehouse that contains factual data. A fact table typically has two types of columns: those that contain facts and those that are foreign keys to dimension tables.

fast full index scan

A full index scan in which the database reads the index blocks in no particular order. The database accesses the data in the index itself, without accessing the table.

fast recovery area

An optional disk location that stores recovery-related files such as control file and online redo log copies, archived redo log files, flashback logs, and RMAN backups.

foreign key

An integrity constraint that requires each value in a column or set of columns to match a value in the unique or primary key for a related table. Integrity constraints for foreign keys define actions dictating database behavior if referenced data is altered.

full index scan

A scan of an index in which the database reads the entire index in order.

full table scan

A scan of table data in which the database sequentially reads all rows from a table and filters out those that do not meet the selection criteria. All data blocks under the high water mark are scanned.

function

A schema object, similar to a procedure, that always returns a single value.

grid computing

A computing architecture that coordinates large numbers of servers and storage to act as a single large computer.

grid infrastructure

The software that provides the infrastructure for an enterprise grid architecture. In a cluster, this software includes Oracle Clusterware and Oracle ASM. For a standalone server, this software includes Oracle Restart and Oracle ASM. Oracle Database 11g Release 2 (11.2) combines these infrastructure products into one software installation called the grid infrastructure home.

hard parse

The steps performed by the database to build a new executable version of application code. The database must perform a hard parse instead of a soft parse if the parsed representation of a submitted statement does not exist in the shared pool.

hash function

A function that operates on an arbitrary-length input value and returns a fixed-length hash value.

hashing

A mathematical technique in which an infinite set of input values is mapped to a finite set of output values, called hash values. Hashing is useful for rapid lookups of data in a hash table.

hash join

A join in which the database uses the smaller of two tables or data sources to build a hash table in memory. The database scans the larger table, probing the hash table for the addresses of the matching rows in the smaller table.

hash table

An in-memory data structure that associates join keys with rows in a hash join. For example, in a join of the employees and departments tables, the join key might be the department ID. A hash function uses the join key to generate a hash value. This hash value is an index in an array, which is the hash table.

heap-organized table

A table in which the data rows are stored in no particular order on disk. By default, CREATE TABLE creates a heap-organized table.

high water mark

The boundary between used and unused space in a segment.

hint

An instruction passed to the optimizer through comments in a SQL statement. The optimizer uses hints to choose an execution plan for the statement.

implicit query

A component of a DML statement that retrieves data without a subquery. An UPDATE, DELETE, or MERGE statement that does not explicitly include a SELECT statement uses an implicit query to retrieve the rows to be modified.

inconsistent backup

A backup in which some files in the backup contain changes made after the checkpoint. Unlike a consistent backup, an inconsistent backup requires media recovery to be made consistent.

index

Optional schema object associated with a nonclustered table, table partition, or table cluster. In some cases indexes speed data access.

index clustering factor

A measure of the row order in relation to an indexed value such as last name. The more order that exists in row storage for this value, the lower the clustering factor.

index-organized table

A table whose storage organization is a variant of a primary B-tree index. Unlike a heap-organized table, data is stored in primary key order.

index segment

A segment that stores data for a nonpartitioned index or index partition.

initialization parameter

A configuration parameter such as DB_NAME or SGA_TARGET that affects the operation of a database instance. Settings for initialization parameters are stored in a text-based initialization parameter file or binary server parameter file.

initialization parameter file

A text file that contains initialization parameter settings for a database instance.

instance

The combination of the system global area (SGA) and background processes. An instance is associated with one and only one database. In an Oracle Real Application Clusters configuration, multiple instances access a single database simultaneously.

instance failure

The termination of a database instance because of a hardware failure, Oracle internal error, or SHUTDOWN ABORT statement.

instance recovery

The automatic application of redo log records to uncommitted data blocks when an instance is restarted after a failure.

integrity

See data integrity.

integrity constraint

Declarative method of defining a rule for a column. The integrity constraints enforce business rules and prevent the entry of invalid information into tables.

join

A statement that retrieves data from multiple tables specified in the FROM clause. Join types include inner joins, outer joins, and Cartesian joins.

join condition

A condition that compares two columns, each from a different table, in a join. The database combines pairs of rows, each containing one row from each table, for which the join condition evaluates to TRUE.

key

Column or set of columns included in the definition of certain types of integrity constraints.

key compression

The elimination of repeated occurrence of primary key column values in an index-organized table.

large object (LOB)

See LOB.

large pool

Optional area in the SGA that provides large memory allocations for backup and restore operations, I/O server processes, and session memory for the shared server and Oracle XA.

latch

A low-level serialization control mechanism used to protect shared data structures in the SGA from simultaneous access.

library cache

An area of memory in the shared pool. This cache includes the shared SQL areas, private SQL areas (in a shared server configuration), PL/SQL procedures and packages, and control structures such as locks and library cache handles.

listener

A process that listens for incoming client connection requests and manages network traffic to the database.

LOB

Large object. An Oracle data type designed to hold large amounts of data.

locally managed tablespace

A tablespace that uses a bitmap stored in each data file to manage the extents. In contrast, a dictionary-managed tablespace uses the data dictionary to manage space.

lock

A database mechanism that prevents destructive interaction between transactions accessing a shared resource such as a table, row, or system object not visible to users. The main categories of locks are DML locks, DDL locks, and latches and internal locks.

log sequence number

A number that uniquely identifies a set of redo records in a redo log file. When the database fills one online redo log file and switches to a different one, the database automatically assigns the new file a log sequence number.

log switch

The point at which the log writer (LGWR) stops writing to the active redo log file and switches to the next available redo log file. LGWR switches when either the active redo log file is filled with redo records or a switch is manually initiated.

log writer (LGWR)

The background process responsible for redo log buffer management—writing the redo log buffer to the online redo log. LGWR writes all redo entries that have been copied into the buffer since the last time it wrote.

lookup table

A table containing a code column and an associated value column. For example, a job code corresponds to a job name. In contrast to a master table in a pair of master-detail tables, a lookup table is not the means to obtain a detailed result set, such as a list of employees. Rather, a user queries a table such as employees for an employee list and then joins the result set to the lookup table.

lost update

A data integrity problem in which one writer of data overwrites the changes of a different writer modifying the same data.

manual undo management mode

A mode of the database in which undo blocks are stored in user-managed undo segments. In automatic undo management mode, undo blocks are stored in a system-managed, dedicated undo tablespaces.

master-detail tables

A detail table has a foreign key relationship with a master table. For example, the employees detail table has a foreign key to the departments master table. Unlike a lookup table, a master table is typically queried and then joined to the detail table. For example, a user may query a department in the departments table and then use this result to find the employees in this department.

master site

In a replication environment, a different database with which a materialized view shares data.

master table

The table associated with a materialized view at a master site.

materialized view

A schema object that stores the result of a query. Oracle materialized views can be read-only or updatable.

See also view.

media recovery

The application of redo or incremental backups to a data block or backup data file.

mounted database

An instance that is started and has the database control file open.

null

Absence of a value in a column of a row. Nulls indicate missing, unknown, or inapplicable data.

object type

A schema object that abstracts a real-world entity such as a purchase order. Attributes model the structure of the entity, whereas methods implement operations an application can perform on the entity.

OLAP

Online Analytical Processing. OLAP is characterized by dynamic, dimensional analysis of historical data.

OLTP

Online Transaction Processing. OLTP systems are optimized for fast and reliable transaction handling. Compared to data warehouse systems, most OLTP interactions involve a relatively small number of rows, but a larger group of tables.

online redo log

The set of two or more online redo log files that record all changes made to Oracle Database data files and control file. When a change is made to the database, Oracle Database generates a redo record in the redo buffer. log writer (LGWR) writes the contents of the redo buffer to the online redo log.

operator

1. In memory management, operators control the flow of data. Examples include sort, hash join, and bitmap merge operators.

2. In SQL, an operator manipulates data items called operands or arguments and returns a result. The SQL operators are represented by special characters or by keywords. For example, the multiplication operator is represented by an asterisk (*).

optimizer

Built-in database software that determines the most efficient way to execute a SQL statement by considering factors related to the objects referenced and the conditions specified in the statement.

Oracle architecture

Memory and process structures used by Oracle Database to manage a database.

Oracle Automatic Storage Management (Oracle ASM)

See Oracle ASM.

Oracle ASM

Oracle Automatic Storage Management (Oracle ASM). A volume manager and a file system for database files. Oracle ASM is Oracle's recommended storage management solution, providing an alternative to conventional volume managers, file systems, and raw devices.

Oracle ASM disk group

One or more Oracle ASM disks managed as a logical unit. I/O to a disk group is automatically spread across all the disks in the group.

Oracle Clusterware

A set of components that enables servers to operate together as if they were one server. Oracle Clusterware is a requirement for using Oracle RAC and it is the only clusterware that you need for platforms on which Oracle RAC operates.

Oracle Enterprise Manager

A system management tool that provides centralized management of an Oracle database environment.

Oracle home

The operating system location of an Oracle Database installation.

Oracle process

A process that runs Oracle Database code. Oracle processes include server processes and background processes.

Oracle RAC

Oracle Real Application Clusters. Option that allows multiple concurrent database instances to share a single physical database.

Oracle Real Application Clusters

See Oracle RAC.

Oracle XA

An external interface that allows global transactions to be coordinated by a transaction manager other than Oracle Database.

partition

A piece of a table or index that shares the same logical attributes as the other partitions. For example, all partitions in a table share the same column and constraint definitions.

PGA

Program global area. A memory buffer that contains data and control information for a server process.

See also SGA.

PL/SQL

Procedural Language/SQL. The Oracle Database procedural language extension to SQL. PL/SQL enables you to mix SQL statements with programmatic constructs such as procedures, functions, and packages.

precompiler

A programming tool that enables you to embed SQL statements in a high-level source program written in a language such as C, C++, or COBOL.

predicate

The WHERE condition in a SQL statement.

primary key

The column or set of columns that uniquely identifies a row in a table. Only one primary key can be defined for each table.

primary key constraint

An integrity constraint that disallows duplicate values and nulls in a column or set of columns.

private SQL area

An area in memory that holds a parsed statement and other information for processing. The private SQL area contains data such as bind variable values, query execution state information, and query execution work areas.

privilege

The right to run a particular type of SQL statement, or the right to access an object that beczlongs to another user, run a PL/SQL package, and so on. The types of privileges are defined by Oracle Database.

procedure

A schema object that consists of a set of SQL statements and other PL/SQL constructs, grouped together, stored in the database, and run as a unit to solve a specific problem or perform a set of related tasks.

process

A mechanism in an operating system that can run a series of steps. By dividing the work of Oracle Database and database applications into several processes, multiple users and applications can connect to a single database instance simultaneously.

See also background process; Oracle process; client process.

program global area (PGA)

See PGA.

pseudocolumn

A column that is not stored in a table, yet behaves like a table column.

query

An operation that retrieves data from tables or views. For example, SELECT * FROM employees is a query.

See also implicit query; subquery.

query plan

The execution plan used to execute a query.

read consistency

A consistent view of data seen by a user. For example, in statement-level read consistency the set of data seen by a SQL statement remains constant throughout statement execution.

See also concurrency; data consistency.

read-only database

A database that is available for queries only and cannot be modified.

Recovery Manager (RMAN)

See RMAN.

redo log

A set of files that protect altered database data in memory that has not been written to the data files. The redo log can consist of two parts: the online redo log and the archived redo log.

redo log buffer

Memory structure in the SGA that stores redo entries—a log of changes made to the database. The database writes the redo entries stored in the redo log buffers to an online redo log file, which is used if instance recovery is necessary.

redo thread

The redo generated by a database instance.

referential integrity

A rule defined on a key in one table that guarantees that the values in that key match the values in a key in a related table (the referenced value).

replication

The process of sharing database objects and data at multiple databases.

RMAN

Recovery Manager. An Oracle Database utility that backs up, restores, and recovers Oracle databases.

role

A set of privileges that can be granted to database users or to other roles.

row

A set of column information corresponding to a single record in a table. The database stores rows in data blocks.

row chaining

A situation in which Oracle Database must store a row in a series or chain of blocks because it is too large to fit into a single block.

rowid

A globally unique address for a row in a database.

row migration

A situation in which Oracle Database moves a row from one data block to another data block because the row grows too large to fit in the original block.

savepoint

A named SCN in a transaction to which the transaction can be rolled back.

schema

A named collection of database objects, including logical structures such as tables and indexes. A schema has the name of the database user who owns it.

schema object

A logical structure of data stored in a schema. Examples of schema objects are tables, indexes, sequences, and database links.

SCN

System Change Number. A database ordering primitive. The value of an SCN is the logical point in time at which changes are made to a database.

segment

A set of extents allocated for a specific database object such as a table, index, or table cluster. User segments, undo segments, and temporary segments are all types of segments.

selectivity

In a query, the measure of how many rows from a row set pass a predicate test, for example, WHERE last_name = 'Smith'. A selectivity of 0.0 means no rows, whereas a value of 1.0 means all rows. A predicate becomes more selective as the value approaches 0.0 and less selective (or more unselective) as the value approaches 1.0.

sequence

A schema object that generates a serial list of unique numbers for table columns.

server

In a client/server architecture, the computer that runs Oracle software and handles the functions required for concurrent, shared data access. The server receives and processes the SQL and PL/SQL statements that originate from client applications.

server parameter file

A server-side binary file containing initialization parameter settings that is read and written to by the database.

server process

An Oracle process that communicates with a client process and Oracle Database to fulfill user requests. The server processes are associated with a database instance, but are not part of the instance.

session

A logical entity in the database instance memory that represents the state of a current user login to a database. A single connection can have 0, 1, or more sessions established on it.

SGA

System global area. A group of shared memory structures that contain data and control information for one Oracle database instance.

shared pool

Portion of the SGA that contains shared memory constructs such as shared SQL areas.

shared server

A database configuration that enables multiple client processes to share a small number of server processes.

See also dedicated server.

shared SQL area

An area in the shared pool that contains the parse tree and execution plan for a SQL statement. Only one shared SQL area exists for a unique statement.

soft parse

The reuse of existing code when the parsed representation of a submitted SQL statement exists in the shared pool and can be shared.

See also hard parse.

SQL

Structured Query Language. A nonprocedural language to access a relational database. Users describe in SQL what they want done, and the SQL language compiler automatically generates a procedure to navigate the database and perform the task. Oracle SQL includes many extensions to the ANSI/ISO standard SQL language.

See also SQL*Plus; PL/SQL.

SQL*Plus

Oracle tool used to run SQL statements against Oracle Database.

standby database

An independent copy of a production database that you can use for disaster protection in a high availability environment.

statement-level rollback

A database operation in which the effects of an unsuccessful SQL statement are rolled back because the statement caused an error during execution.

stored procedure

A named PL/SQL block or Java program that Oracle Database stores in the database. Applications can call stored procedures by name.

Structured Query Language (SQL)

See SQL.

subquery

A query nested within another SQL statement. Unlike implicit queries, subqueries use a SELECT statement to retrieve data.

synonym

An alias for a schema object. You can use synonyms to provide data independence and location transparency.

system change number (SCN)

See SCN.

system global area (SGA)

See SGA.

table

Basic unit of data storage in Oracle Database. Data in tables is stored in rows and columns.

table cluster

A schema object that contains data from one or more tables, all of which have one or more columns in common. In table clusters, the database stores together all the rows from all tables that share the same cluster key.

table compression

The compression of data segments to reduce disk space in a heap-organized table or table partition.

tablespace

A database storage unit that groups related logical structures together. The database data files are stored in tablespaces.

temp file

A file that belongs to a temporary tablespace. The temp files in temporary tablespaces cannot contain permanent database objects.

temporary segment

A segment created by Oracle Database when a SQL statement needs a temporary database area to complete execution.

temporary table

A table that holds an intermediate result set for the duration of a transaction or a session. Only the current session can see the data in temporary tables.

transaction

Logical unit of work that contains one or more SQL statements. All statements in a transaction commit or roll back together. The use of transactions is one of the most important ways that a database management system differs from a file system.

transaction ID

An identifier is unique to a transaction and represents the undo segment number, slot, and sequence number.

transaction recovery

A phase of instance recovery in which uncommitted transactions are rolled back.

transaction table

The data structure within an undo segment that holds the transaction identifiers of the transactions using the undo segment.

transportable tablespace

A tablespace that you can copy or move between databases. Oracle Data Pump provides the infrastructure for transportable tablespaces.

trigger

A PL/SQL or Java procedure that fires when a table or view is modified or when specific user or database actions occur. Procedures are explicitly run, whereas triggers are implicitly run.

UGA

User global area. Session memory that stores session variables, such as logon information, and can also contain the OLAP pool.

undo data

Records of the actions of transactions, primarily before they are committed. The database can use undo data to logically reverse the effect of SQL statements. Undo data is stored in undo segments.

undo tablespace

A tablespace containing undo segments when automatic undo management mode is enabled.

user global area (UGA)

See UGA.

user name

The name by which a user is known to Oracle Database and to other users. Every user name is associated with a password, and both must be entered to connect to Oracle Database.

user process

See client process.

view

A custom-tailored presentation of the data in one or more tables. The views do not actually contain or store data, but derive it from the tables on which they are based.

virtual column

A column that is not stored on disk. The database derives the values in virtual columns on demand by computing a set of expressions or functions.

whole database backup

A backup of the control file and all data files that belong to a database.

PKƔccPKM%AOEBPS/srvrside.htm Server-Side Programming: PL/SQL and Java

8 Server-Side Programming: PL/SQL and Java

Chapter 7, "SQL" explains the Structured Query Language (SQL) language and how the database processes SQL statements. This chapter explains how Procedural Language/SQL (PL/SQL) or Java programs stored in the database can use SQL.

This chapter includes the following topics:


See Also:

Chapter 7, "SQL"

Introduction to Server-Side Programming

In a nonprocedural language such as SQL, the set of data to be operated on is specified, but not the operations to be performed or the manner in which they are to be carried out. In a procedural language program, most statement execution depends on previous or subsequent statements and on control structures, such as loops or conditional branches, that are not available in SQL.

For an illustration of the difference between procedural and nonprocedural languages, suppose that the following SQL statement queries the employees table:

SELECT employee_id, department_id, last_name, salary FROM employees;

The preceding statement requests data, but does not apply logic to the data. However, suppose you want an application to determine whether each employee in the data set deserves a raise based on salary and department performance. A necessary condition of a raise is that the employee did not receive more than three raises in the last five years. If a raise is called for, then the application must adjust the salary and email the manager; otherwise, the application must update a report.

The problem is how procedural database applications requiring conditional logic and program flow control can use SQL. The basic development approaches are as follows:

This chapter explains the second approach. The principal benefit of server-side programming is that functionality built into the database can be deployed anywhere. The database and not the application determines the best way to perform tasks on a given operating system. Also, subprograms increase scalability by centralizing application processing on the server, enabling clients to reuse code. Because subprogram calls are quick and efficient, a single call can start a compute-intensive stored subprogram, reducing network traffic.

You can use the following languages to store data logic in Oracle Database:


See Also:


Overview of PL/SQL

PL/SQL provides a server-side, stored procedural language that is easy-to-use, seamless with SQL, robust, portable, and secure. You can access and manipulate database data using procedural schema objects called PL/SQL program units.

PL/SQL program units generally are categorized as follows:

The PL/SQL compiler and interpreter are embedded in Oracle SQL Developer, giving developers a consistent and leveraged development model on both client and server. Also, PL/SQL stored procedures can be called from several database clients, such as Pro*C, JDBC, ODBC, or OCI, and from Oracle Reports and Oracle Forms.


See Also:


PL/SQL Subprograms

A PL/SQL subprogram is a named PL/SQL block that permits the caller to supply parameters that can be input only, output only, or input and output values. A subprogram solves a specific problem or performs related tasks and serves as a building block for modular, maintainable database applications.

A subprogram is either a procedure or a function. Procedures and functions are identical except that functions always return a single value to the caller, whereas procedures do not. The term procedure in this chapter means procedure or function.


See Also:


Advantages of PL/SQL Subprograms

As explained in "Introduction to Server-Side Programming", server-side programming has many advantages over client-side programming. PL/SQL subprograms provide the following advantages:

  • Improved performance

    • The amount of information that an application must send over a network is small compared with issuing individual SQL statements or sending the text of an entire PL/SQL block to Oracle Database, because the information is sent only once and thereafter invoked when it is used.

    • The compiled form of a procedure is readily available in the database, so no compilation is required at execution time.

    • If the procedure is present in the shared pool of the SGA, then the database need not retrieve it from disk and can begin execution immediately.

  • Memory allocation

    Because stored procedures take advantage of the shared memory capabilities of Oracle Database, it must load only a single copy of the procedure into memory for execution by multiple users. Sharing code among users results in a substantial reduction in database memory requirements for applications.

  • Improved productivity

    Stored procedures increase development productivity. By designing applications around a common set of procedures, you can avoid redundant coding. For example, you can write procedures to manipulate rows in the employees table. Any application can call these procedures without requiring SQL statements to be rewritten. If the methods of data management change, then only the procedures must be modified, not the applications that use the procedures.

    Stored procedures are perhaps the best way to achieve code reuse. Because any client application written in any language that connects to the database can invoke stored procedures, they provide maximum code reuse in all environments.

  • Integrity

    Stored procedures improve the integrity and consistency of your applications. By developing applications around a common group of procedures, you reduce the likelihood of coding errors.

    For example, you can test a subprogram to guarantee that it returns an accurate result and, after it is verified, reuse it in any number of applications without retesting. If the data structures referenced by the procedure are altered, then you must only recompile the procedure. Applications that call the procedure do not necessarily require modifications.

  • Security with definer's rights procedures

    Stored procedures can help enforce data security (see "Overview of Database Security"). A definer's rights procedure executes with the privileges of its owner, not its current user. Thus, you can restrict the database operations that users perform by allowing them to access data only through procedures and functions that run with the definer's privileges.

    For example, you can grant users access to a procedure that updates a table but not grant access to the table itself. When a user invokes the procedure, it runs with the privileges of its owner. Users who have only the privilege to run the procedure (but not privileges to query, update, or delete from the underlying tables) can invoke the procedure but not manipulate table data in any other way.

  • Inherited privileges and schema context with invoker's rights procedures

    An invoker's rights procedure executes in the current user's schema with the current user's privileges. In other words, an invoker's rights procedure is not tied to a particular user or schema. Invoker's rights procedures make it easy for application developers to centralize application logic, even when the underlying data is divided among user schemas.

    For example, an hr_manager user who runs an update procedure on the hr.employees table can update salaries, whereas an hr_clerk who runs the same procedure is restricted to updating address data.


See Also:


Creation of PL/SQL Subprograms

A subprogram created at the schema level with the CREATE PROCEDURE or CREATE FUNCTION statement is a standalone stored subprogram. Subprograms defined in a package are called package subprograms and are considered a part of the package. The database stores subprograms in the data dictionary as schema objects.

A subprogram has a specification, which includes descriptions of any parameters, and a body. Example 8-1 shows part of a creation statement for the standalone PL/SQL procedure hire_employees. The procedure inserts a row into the employees table.

Example 8-1 PL/SQL Procedure

CREATE PROCEDURE hire_employees 
  (p_last_name VARCHAR2, p_job_id VARCHAR2, p_manager_id NUMBER, p_hire_date DATE, 
   p_salary NUMBER, p_commission_pct NUMBER, p_department_id NUMBER)
IS
BEGIN
.
.
.
  INSERT INTO employees (employee_id, last_name, job_id, manager_id, hire_date, 
    salary, commission_pct, department_id)
  VALUES (emp_sequence.NEXTVAL, p_last_name, p_job_id, p_manager_id, p_hire_date,   
    p_salary, p_commission_pct, p_department_id);
.
.
.
END;

See Also:


Execution of PL/SQL Subprograms

Users can execute a subprogram interactively by:

Figure 8-1 shows different database applications calling hire_employees.

Figure 8-1 Calling a PL/SQL Stored Procedure

Description of Figure 8-1 follows
Description of "Figure 8-1 Calling a PL/SQL Stored Procedure"

Alternatively, a privileged user can use Oracle Enterprise Manager or SQL*Plus to run the hire_employees procedure using a statement such as the following:

EXECUTE hire_employees ('TSMITH', 'CLERK', 1037, SYSDATE, 500, NULL, 20); 

The preceding statement inserts a new record for TSMITH in the employees table.

A stored procedure depends on the objects referenced in its body. The database automatically tracks and manages these dependencies. For example, if you alter the definition of the employees table referenced by the hire_employees procedure in a manner that would affect this procedure, then the procedure must be recompiled to validate that it still works as designed. Usually, the database automatically administers such dependency management.


See Also:


PL/SQL Packages

A PL/SQL package is a group of related subprograms, along with the cursors and variables they use, stored together in the database for continued use as a unit. Packaged subprograms can be called explicitly by applications or users.

Oracle Database includes many supplied packages that extend database functionality and provide PL/SQL access to SQL features. For example, the UTL_HTTP package enables HTTP callouts from PL/SQL and SQL to access data on the Internet or to call Oracle Web Server Cartridges. You can use the supplied packages when creating applications or as a source of ideas when creating your own stored procedures.

Advantages of PL/SQL Packages

PL/SQL packages provide the following advantages:

  • Encapsulation

    Packages enable you to encapsulate or group stored procedures, variables, data types, and so on in a named, stored unit. Encapsulation provides better organization during development and also more flexibility. You can create specifications and reference public procedures without actually creating the package body. Encapsulation simplifies privilege management. Granting the privilege for a package makes package constructs accessible to the grantee.

  • Data security

    The methods of package definition enable you to specify which variables, cursors, and procedures are public and private. Public means that it is directly accessible to the user of a package. Private means that it is hidden from the user of a package.

    For example, a package can contain 10 procedures. You can define the package so that only three procedures are public and therefore available for execution by a user of the package. The remaining procedures are private and can only be accessed by the procedures within the package. Do not confuse public and private package variables with grants to PUBLIC.

  • Better performance

    An entire package is loaded into memory in small chunks when a procedure in the package is called for the first time. This load is completed in one operation, as opposed to the separate loads required for standalone procedures. When calls to related packaged procedures occur, no disk I/O is needed to run the compiled code in memory.

    A package body can be replaced and recompiled without affecting the specification. As a result, schema objects that reference a package's constructs (always through the specification) need not be recompiled unless the package specification is also replaced. By using packages, unnecessary recompilations can be minimized, resulting in less impact on overall database performance.

Creation of PL/SQL Packages

You create a package in two parts: the specification and the body. The package specification declares all public constructs of the package, whereas the body defines all constructs (public and private) of the package.

Example 8-1 shows part of a statement that creates the package specification for employees_management, which encapsulates several subprograms used to manage an employee database. Each part of the package is created with a different statement.

Example 8-2 PL/SQL Package

CREATE PACKAGE employees_management AS 
  FUNCTION hire_employees (last_name VARCHAR2, job_id VARCHAR2, manager_id NUMBER, 
    salary NUMBER, commission_pct NUMBER, department_id NUMBER) RETURN NUMBER; 
  PROCEDURE fire_employees(employee_id NUMBER); 
  PROCEDURE salary_raise(employee_id NUMBER, salary_incr NUMBER); 
.
.
.
  no_sal EXCEPTION;
END employees_management;

The specification declares the function hire_employees, the procedures fire_employees and salary_raise, and the exception no_sal. All of these public program objects are available to users who have access to the package.

The CREATE PACKAGE BODY command defines objects declared in the specification. The package body must be created in the same schema as the package. After creating the package, you can develop applications that call any of these public procedures or functions or raise any of the public exceptions of the package.


See Also:

Oracle Database PL/SQL Language Reference to learn about the CREATE PACKAGE command

Execution of PL/SQL Package Subprograms

You can reference package contents from database triggers, stored subprograms, 3GL application programs, and Oracle tools. Figure 8-2 shows database applications invoking procedures and functions in the employees_management package.

Figure 8-2 Calling Subprograms in a PL/SQL Package

Description of Figure 8-2 follows
Description of "Figure 8-2 Calling Subprograms in a PL/SQL Package"

Database applications explicitly call packaged procedures as necessary. After being granted the privileges for the employees_management package, a user can explicitly run any of the procedures contained in it. For example, SQL*Plus can issue the following statement to run the hire_employees package procedure:

EXECUTE employees_management.hire_employees ('TSMITH', 'CLERK', 1037, SYSDATE, 500, NULL, 20);

See Also:


PL/SQL Anonymous Blocks

An anonymous block is an unnamed, nonpersistent PL/SQL unit. Typical uses for anonymous blocks include:

  • Initiating calls to subprograms and package constructs

  • Isolating exception handling

  • Managing control by nesting code within other PL/SQL blocks

Anonymous blocks do not have the code reuse advantages of stored subprograms. Table 8-1 summarizes the differences between the two types of program units.

Table 8-1 Differences Between Anonymous Blocks and Subprograms

Is the PL/SQL Unit ...Anonymous BlocksSubprograms

Specified with a name?

No

Yes

Compiled with every reuse?

No

No

Stored in the database?

No

Yes

Invocable by other applications?

No

Yes

Capable of returning bind variable values?

Yes

Yes

Capable of returning function values?

No

Yes

Capable of accepting parameters?

No

Yes


An anonymous block consists of an optional declarative part, an executable part, and one or more optional exception handlers. The following sample anonymous block selects an employee last name into a variable and prints the name:

DECLARE
  v_lname VARCHAR2(25);
BEGIN
  SELECT last_name INTO v_lname
  FROM employees
  WHERE employee_id = 101;
  DBMS_OUTPUT.PUT_LINE('Employee last name is '||v_lname);
END;

Oracle Database compiles the PL/SQL block and places it in the shared pool of the SGA, but it does not store the source code or compiled version in the database for reuse beyond the current instance. Unlike triggers, an anonymous block is compiled each time it is loaded into memory. Shared SQL allows anonymous PL/SQL blocks in the shared pool to be reused and shared until they are flushed out of the shared pool.


See Also:

Oracle Database Advanced Application Developer's Guide to learn more about anonymous PL/SQL blocks

PL/SQL Language Constructs

PL/SQL blocks can include a variety of different PL/SQL language constructs. These constructs including the following:

  • Variables and constants

    You can declare these constructs within a procedure, function, or package. You can use a variable or constant in a SQL or PL/SQL statement to capture or provide a value when one is needed.

  • Cursors

    You can declare a cursor explicitly within a procedure, function, or package to facilitate record-oriented processing of Oracle Database data. The PL/SQL engine can also declare cursors implicitly.

  • Exceptions

    PL/SQL lets you explicitly handle internal and user-defined error conditions, called exceptions, that arise during processing of PL/SQL code.

PL/SQL can run dynamic SQL statements whose complete text is not known until run time. Dynamic SQL statements are stored in character strings that are entered into, or built by, the program at run time. This technique enables you to create general purpose procedures. For example, you can create a procedure that operates on a table whose name is not known until run time.


See Also:


PL/SQL Collections and Records

Many programming techniques use collection types such as arrays, bags, lists, nested tables, sets, and trees. To support these techniques in database applications, PL/SQL provides the data types TABLE and VARRAY, which enable you to declare associative arrays, nested tables, and variable-size arrays.

Collections

A collection is an ordered group of elements, all of the same type. Each element has a unique subscript that determines its position in the collection. To create a collection, you first define a collection type, and then declare a variable of that type.

Collections work like the arrays found in most third-generation programming languages. Also, collections can be passed as parameters. So, you can use them to move columns of data into and out of database tables or between client-side applications and stored subprograms.

Records

A record is a composite variable that can store data values of different types, similar to a struct type in C, C++, or Java. Records are useful for holding data from table rows, or certain columns from table rows.

Suppose you have data about an employee such as name, salary, and hire date. These items are dissimilar in type but logically related. A record containing a field for each item lets you treat the data as a logical unit.

You can use the %ROWTYPE attribute to declare a record that represents a table row or row fetched from a cursor. With user-defined records, you can declare your own fields.


See Also:

Oracle Database PL/SQL Language Reference for detailed information on using collections and records

How PL/SQL Runs

PL/SQL supports both native execution and interpreted execution. In interpreted execution, PL/SQL source code is compiled into a so-called bytecode representation, which is run by a portable virtual computer implemented as part of Oracle Database. In native execution, which offers the best performance on computationally intensive program units, the source code of PL/SQL program units is compiled directly to object code for the given platform. This object code is linked into Oracle Database.

The PL/SQL engine is the tool used to define, compile, and run PL/SQL program units. This engine is a special component of many Oracle products, including Oracle Database. While many Oracle products have PL/SQL components, this section specifically covers the program units that can be stored in Oracle Database and processed using Oracle Database PL/SQL engine. The PL/SQL capabilities of each Oracle tool are described in the documentation for this tool.

Figure 8-3 illustrates the PL/SQL engine contained in Oracle Database.

Figure 8-3 The PL/SQL Engine and Oracle Database

Description of Figure 8-3 follows
Description of "Figure 8-3 The PL/SQL Engine and Oracle Database"

The program unit is stored in a database. When an application calls a stored procedure, the database loads the compiled program unit into the shared pool in the system global area (SGA) (see "Shared Pool"). The PL/SQL and SQL statement executors work together to process the statements in the procedure.

You can call a stored procedure from another PL/SQL block, which can be either an anonymous block or another stored procedure. For example, you can call a stored procedure from Oracle Forms.

A PL/SQL procedure executing on Oracle Database can call an external procedure or function written in the C programming language and stored in a shared library. The C routine runs in a separate address space from that of Oracle Database.


See Also:


Overview of Java in Oracle Database

Java has emerged as the object-oriented programming language of choice. Java includes the following features:


Note:

This chapter assumes that you have some familiarity with the Java language.

The database provides Java programs with a dynamic data-processing engine that supports complex queries and multiple views of data. Client requests are assembled as data queries for immediate processing. Query results are generated dynamically.

The combination of Java and Oracle Database helps you create component-based, network-centric applications that can be easily updated as business needs change. In addition, you can move applications and data stores off the desktop and onto intelligent networks and network-centric servers. More importantly, you can access these applications and data stores from any client device.

Figure 8-4 shows a traditional two-tier, client/server configuration in which clients call Java stored procedures in the same way that they call PL/SQL subprograms.

Figure 8-4 Two-Tier Client/Server Configuration

Two-Tier Client/Server Configuration
Description of "Figure 8-4 Two-Tier Client/Server Configuration"


See Also:

Oracle Database 2 Day + Java Developer's Guide for an introduction to using Java with Oracle Database

Overview of the Java Virtual Machine (JVM)

A JVM is a virtual processor that runs compiled Java code. Java source code compiles to low-level machine instructions, known as bytecodes, that are platform independent. The Java bytecodes are interpreted through the JVM into platform-dependent actions.

Overview of Oracle JVM

Oracle JVM is a complete, Java2-compliant environment for running pure Java applications. It is compatible with the JLS and the JVM specifications. It supports the standard Java binary format and APIs. In addition, Oracle Database adheres to standard Java language semantics, including dynamic class loading at run time.

Figure 8-5 illustrates how Oracle Java applications reside on top of the Java core class libraries, which reside on top of the Oracle JVM. Because the Oracle Java support system is located within the database, the JVM interacts with database libraries, instead of directly interacting with the operating system.

Figure 8-5 Java Component Structure

Description of Figure 8-5 follows
Description of "Figure 8-5 Java Component Structure"

Unlike other Java environments, Oracle JVM is embedded within Oracle Database. Some important differences exist between Oracle JVM and typical client JVMs. For example, in a standard Java environment, you run a Java application through the interpreter by issuing the following command on the command line, where classname is the name of the class that you want the JVM to interpret first:

java classname

The preceding command causes the application to run within a process on your operating system. However, if you are not using the command-line interface, then you must load the application into the database, publish the interface, and then run the application within a database data dictionary.


See Also:

See Oracle Database Java Developer's Guide for a description of other differences between the Oracle JVM and typical client JVMs

Main Components of Oracle JVM

Oracle JVM runs in the same process space and address space as the database kernel by sharing its memory heaps and directly accessing its relational data. This design optimizes memory use and increases throughput.

Oracle JVM provides a run-time environment for Java objects. It fully supports Java data structures, method dispatch, exception handling, and language-level threads. It also supports all the core Java class libraries, including java.lang, java.io, java.net, java.math, and java.util.

Figure 8-6 shows the main components of Oracle JVM.

Figure 8-6 Main Components of Oracle JVM

Main Components of Oracle JVM
Description of "Figure 8-6 Main Components of Oracle JVM"

Oracle JVM embeds the standard Java namespace in the database schemas. This feature lets Java programs access Java objects stored in Oracle Database and application servers across the enterprise.

In addition, Oracle JVM is tightly integrated with the scalable, shared memory architecture of the database. Java programs use call, session, and object lifetimes efficiently without user intervention. As a result, Oracle JVM and middle-tier Java business objects can be scaled, even when they have session-long state.


See Also:

Oracle Database Java Developer's Guide for a description of the main components of Oracle JVM

Java Programming Environment

Oracle furnishes enterprise application developers with an end-to-end Java solution for creating, deploying, and managing Java applications. The solution consists of client-side and server-side programmatic interfaces, tools to support Java development, and a Java Virtual Machine integrated with Oracle Database. All these products are compatible with Java standards.

The Java programming environment consists of the following additional features:

  • Java stored procedures as the Java equivalent and companion for PL/SQL. Java stored procedures are tightly integrated with PL/SQL. You can call Java stored procedures from PL/SQL packages and procedures from Java stored procedures.

  • The JDBC and SQLJ programming interfaces for accessing SQL data.

  • Tools and scripts that assist in developing, loading, and managing classes.

Java Stored Procedures

A Java stored procedure is a Java method published to SQL and stored in the database. Like a PL/SQL subprogram, a Java procedure can be invoked directly with products like SQL*Plus or indirectly with a trigger. You can access it from any Oracle Net client—OCI, precompiler, or JDBC.

To publish Java methods, you write call specifications, which map Java method names, parameter types, and return types to their SQL counterparts. When called by client applications, a Java stored procedure can accept arguments, reference Java classes, and return Java result values.

Applications calling the Java method by referencing the name of the call specification. The run-time system looks up the call specification definition in the Oracle data dictionary and runs the corresponding Java method.

In addition, you can use Java to develop powerful programs independently of PL/SQL. Oracle Database provides a fully compliant implementation of the Java programming language and JVM.


See Also:

Oracle Database Java Developer's Guide explains how to write stored procedures in Java, how to access them from PL/SQL, and how to access PL/SQL functionality from Java

Java and PL/SQL Integration

You can call existing PL/SQL programs from Java and Java programs from PL/SQL. This solution protects and leverages your PL/SQL and Java code.

Oracle Database offers two different approaches for accessing SQL data from Java, JDBC and SQLJ. Both approaches are available on the client and server. As a result, you can deploy applications on the client and server without modifying the code.

JDBC Drivers

JDBC is a database access protocol that enables you to connect to a database and run SQL statements and queries to the database. The core Java class libraries provide only one JDBC API, java.sql. However, JDBC is designed to enable vendors to supply drivers that offer the necessary specialization for a particular database. Oracle provides the distinct JDBC drivers shown in the following table.

DriverDescription
JDBC Thin driverYou can use the JDBC Thin driver to write pure Java applications and applets that access Oracle SQL data. The JDBC Thin driver is especially well-suited for Web-based applications and applets, because you can dynamically download it from a Web page, similar to any other Java applet.
JDBC OCI driverThe JDBC OCI driver accesses Oracle-specific native code, that is, non-Java code, and libraries on the client or middle tier, providing a performance boost compared to the JDBC Thin driver, at the cost of significantly larger size and client-side installation.
JDBC server-side internal driverOracle Database uses the server-side internal driver when the Java code runs on the server. It allows Java applications running in Oracle JVM on the server to access locally defined data, that is, data on the same system and in the same process, with JDBC. It provides a performance boost, because of its ability to use the underlying Oracle RDBMS libraries directly, without the overhead of an intervening network connection between the Java code and SQL data. By supporting the same Java-SQL interface on the server, Oracle Database does not require you to rework code when deploying it.

SQLJ

SQLJ is an ANSI standard for embedding SQL statements in Java programs. You can use SQLJ in stored procedures, triggers, and methods within the Oracle Database environment. In addition, you can combine SQLJ programs with JDBC.

SQLJ provides a simple, but powerful, way to develop client-side and middle-tier applications that access databases from Java (see "SQLJ"). A developer writes a program using SQLJ and then uses the SQLJ translator to translate embedded SQL to pure JDBC-based Java code. At run time, the program can communicate with multi-vendor databases using standard JDBC drivers.

The following example shows a simple SQLJ executable statement:

String name;
#sql  { SELECT first_name INTO :name FROM employees WHERE employee_id=112 };
System.out.println("Name is " + name + ", employee number = " + employee_id);

Because Oracle Database provides a complete Java environment, you cannot compile SQLJ programs on a client that will run on the database. Instead, you can compile them directly on the server.

Overview of Triggers

A database trigger is a compiled stored program unit, written in either PL/SQL or Java, that Oracle Database invokes ("fires") automatically whenever one of the following operations occurs:

  1. DML statements on a particular table or view, issued by any user

    DML statements modify data in schema objects. For example, inserting and deleting rows are DML operations.

  2. DDL statements issued either by a particular user or any user

    DDL statements define schema objects. For example, creating a table and adding a column are DDL operations.

  3. Database events

    User login or logoff, errors, and database startup or shutdown are events that can invoke triggers.

Triggers are schema objects that are similar to subprograms but differ in the way they are invoked. A subprogram is explicitly run by a user, application, or trigger. Triggers are implicitly invoked by the database when a triggering event occurs.

Advantages of Triggers

The correct use of triggers enables you to build and deploy applications that are more robust and that use the database more effectively. You can use triggers to:

  • Automatically generate derived column values

  • Prevent invalid transactions

  • Provide auditing and event logging

  • Record information about table access

You can use triggers to enforce low-level business rules common for all client applications. For example, several applications may access the employees table. If a trigger on this table ensures the format of inserted data, then this business logic does not need to be reproduced in every client. Because the trigger cannot be circumvented by the application, the business logic in the trigger is used automatically.

You can use both triggers and integrity constraints to define and enforce any type of integrity rule. However, Oracle strongly recommends that you only use triggers to enforce complex business rules not definable using an integrity constraint (see "Introduction to Data Integrity").

Excessive use of triggers can result in complex interdependencies that can be difficult to maintain in a large application. For example, when a trigger is invoked, a SQL statement within its trigger action potentially can fire other triggers, resulting in cascading triggers that can produce unintended effects.


See Also:

Oracle Database 2 Day Developer's Guide and Oracle Database PL/SQL Language Reference for guidelines and restrictioSns when planning triggers for your application

Types of Triggers

Triggers can be categorized according to their means of invocation and the type of actions they perform. Oracle Database supports the following types of triggers:

  • Row triggers

    A row trigger fires each time the table is affected by the triggering statement. For example, if a statement updates multiple rows, then a row trigger fires once for each row affected by the UPDATE. If a triggering statement affects no rows, then a row trigger is not run. Row triggers are useful if the code in the trigger action depends on data provided by the triggering statement or rows that are affected.

  • Statement triggers

    A statement trigger is fired once on behalf of the triggering statement, regardless of the number of rows affected by the triggering statement. For example, if a statement deletes 100 rows from a table, a statement-level DELETE trigger is fired only once. Statement triggers are useful if the code in the trigger action does not depend on the data provided by the triggering statement or the rows affected.

  • INSTEAD OF triggers

    An INSTEAD OF trigger is fired by Oracle Database instead of executing the triggering statement. These triggers are useful for transparently modifying views that cannot be modified directly through DML statements.

  • Event triggers

    You can use triggers to publish information about database events to subscribers. Event triggers are divided into the following categories:

    • A system event trigger can be caused by events such as database instance startup and shutdown or error messages.

    • A user event trigger is fired because of events related to user logon and logoff, DDL statements, and DML statements.

Timing for Triggers

You can define the trigger timingwhether the trigger action is to be run before or after the triggering statement. A simple trigger is a single trigger on a table that enables you to specify actions for exactly one of the following timing points:

  • Before the firing statement

  • Before each row affected by the firing statement

  • After each row affected by the firing statement

  • After the firing statement

For statement and row triggers, a BEFORE trigger can enhance security and enable business rules before making changes to the database. The AFTER trigger is ideal for logging actions.

A compound trigger can fire at multiple timing points. Compound triggers help program an approach in which the actions that you implement for various timing points share common data.


See Also:

Oracle Database PL/SQL Language Reference to learn about compound triggers

Creation of Triggers

The CREATE TRIGGER statement creates or replaces a database trigger. A PL/SQL trigger has the following general syntactic form:

CREATE TRIGGER trigger_name
  triggering_statement
  [trigger_restriction]
BEGIN
 triggered_action;
END;

A PL/SQL trigger has the following basic components:

  • Trigger name

    The name must be unique with respect to other triggers in the same schema. For example, the name may be part_reorder_trigger.

  • The trigger event or statement

    A triggering event or statement is the SQL statement, database event, or user event that causes a trigger to be invoked. For example, a user updates a table.

  • Trigger restriction

    A trigger restriction specifies a Boolean expression that must be true for the trigger to fire. For example, the trigger is not invoked unless the number of available parts is less than a present reorder amount.

  • Triggered action

    A triggered action is the procedure that contains the SQL statements and code to be run when a triggering statement is issued and the trigger restriction evaluates to true. For example, a user inserts a row into a pending orders table.

Suppose that you create the orders and lineitems tables as follows:

CREATE TABLE orders
( order_id NUMBER PRIMARY KEY,
  /* other attributes */
  line_items_count NUMBER DEFAULT 0 );

CREATE TABLE lineitems
( order_id REFERENCES orders,
  seq_no   NUMBER,
  /* other attributes */
  CONSTRAINT lineitems PRIMARY KEY(order_id,seq_no) );

The orders table contains a row for each unique order, whereas the lineitems table contains a row for each item in an order. Example 8-3 shows a sample trigger that automatically updates the orders table with the number of items in an order.

Example 8-3 lineitems_trigger

CREATE OR REPLACE TRIGGER lineitems_trigger
  AFTER INSERT OR UPDATE OR DELETE ON lineitems 
  FOR EACH ROW
BEGIN
  IF (INSERTING OR UPDATING)
  THEN
    UPDATE orders SET line_items_count = NVL(line_items_count,0)+1
    WHERE order_id = :new.order_id;
  END IF;
  IF (DELETING OR UPDATING)
  THEN
    UPDATE orders SET line_items_count = NVL(line_items_count,0)-1
    WHERE order_id = :old.order_id;
  END IF;
END;
/

In Example 8-3, the triggering statement is an INSERT, UPDATE, or DELETE on the lineitems table. No triggering restriction exists. The trigger is invoked for each row changed. The trigger has access to the old and new column values of the current row affected by the triggering statement. Two correlation names exist for every column of the table being modified: the old value (:old), and the new value (:new).

If rows in lineitems are inserted or updated for an order, then after the action the trigger calculates the number of items in this order and updates the orders table with the count. Table 8-2 illustrates a scenario in which a customer initiates two orders and adds and removes line items from the orders.

Table 8-2 Row-Level Trigger Scenario

SQL StatementTriggered SQL StatementDescription
SQL> INSERT INTO orders
(order_id) VALUES (78);
 
1 row created. 

The customer creates an order with ID 78. At this point the customer has no items in the order.

Because no action is performed on the lineitems table, the trigger is not invoked.

SQL> INSERT INTO orders
(order_id) VALUES (92);
 
1 row created. 

The customer creates a separate order with ID 92. At this point the customer has no items in the order.

Because no action is performed on the lineitems table, the trigger is not invoked.

SQL> INSERT INTO lineitems
(order_id, seq_no) VALUES (78,1);
 
1 row created. 
UPDATE orders SET
line_items_count = NVL(NULL,0)+1
WHERE order_id = 78;

The customer adds an item to order 78.

The INSERT invokes the trigger. The triggered statement increases the line item count for order 78 from 0 to 1.

SQL> INSERT INTO lineitems
(order_id, seq_no) VALUES (78,2);
 
1 row created. 
UPDATE orders SET 
line_items_count = NVL(1,0)+1
WHERE order_id = 78;

The customer adds an additional item to order 78.

The INSERT invokes the trigger. The triggered statement increases the line item count for order 78 from 1 to 2.

SQL> SELECT * FROM orders;

 ORDER_ID LINE_ITEMS_COUNT
--------- ----------------
      78                2
      92                0

The customer queries the status of the two orders. Order 78 contains two items. Order 92 contains no items.

SQL> SELECT * FROM lineitems;
 
  ORDER_ID     SEQ_NO
---------- ----------
        78          1
        78          2

The customer queries the status of the line items. Each item is uniquely identified by the order ID and the sequence number.

SQL> UPDATE lineitems SET order_id = 92;

2 rows updated.
UPDATE orders SET 
line_items_count = NVL(NULL,0)+1
WHERE order_id = 92;

UPDATE orders SET 
line_items_count = NVL(2,0)-1
WHERE order_id = 78;
UPDATE orders SET 
line_items_count = NVL(1,0)+1
WHERE order_id = 92;

UPDATE orders SET 
line_items_count = NVL(1,0)-1
WHERE order_id = 78;

The customer moves the line items that were in order 78 to order 92.

The UPDATE statement changes 2 rows in the lineitems tables, which invokes the trigger once for each row.

Each time the trigger is invoked, both IF conditions in the trigger are met. The first condition increments the count for order 92, whereas the second condition decreases the count for order 78. Thus, four total UPDATE statements are run.

SQL> SELECT * FROM orders;

 ORDER_ID LINE_ITEMS_COUNT
--------- ----------------
       78                0
       92                2


The customer queries the status of the two orders. The net effect is that the line item count for order 92 has increased from 0 to 2, whereas the count for order 78 has decreased from 2 to 0.

SQL> SELECT * FROM lineitems;
 
  ORDER_ID     SEQ_NO
---------- ----------
        92          1
        92          2


The customer queries the status of the line items. Each item is uniquely identified by the order ID and the sequence number.

SQL> DELETE FROM lineitems;
 
2 rows deleted.
UPDATE orders SET 
line_items_count = NVL(2,0)-1
WHERE order_id = 92;
 
UPDATE orders SET 
line_items_count = NVL(1,0)-1
WHERE order_id = 92;

The customer now removes all line items from all orders.

The DELETE statement changes 2 rows in the lineitems tables, which invokes the trigger once for each row. For each trigger invocation, only one IF condition in the trigger is met. Each time the condition decreases the count for order 92 by 1. Thus, two total UPDATE statements are run.

SQL> SELECT * FROM orders;

 ORDER_ID LINE_ITEMS_COUNT
--------- ----------------
       78                0
       92                0

SQL> SELECT * FROM lineitems;
 
no rows selected


The customer queries the status of the two orders. Neither order contains line items.

The customer also queries the status of the line items. No items exist.



See Also:


Execution of Triggers

Oracle Database executes a trigger internally using the same steps as for subprogram execution. The only subtle difference is that a user has the right to fire a trigger if he or she has the privilege to run the triggering statement. With this exception, the database validates and runs triggers the same way as stored subprograms.


See Also:

Oracle Database PL/SQL Language Reference to learn more about trigger execution

Storage of Triggers

Oracle Database stores PL/SQL triggers in compiled form in a database schema, just like PL/SQL stored procedures. When a CREATE TRIGGER statement commits, the compiled PL/SQL code is stored in the database and the source code of the PL/SQL trigger is removed from the shared pool.

Figure 8-7 shows a database application with SQL statements that implicitly invoke PL/SQL triggers. The triggers are stored separately from their associated tables.

Java triggers are stored in the same manner as PL/SQL triggers. However, a Java trigger references Java code that was separately compiled with a CALL statement. Thus, creating a Java trigger involves creating Java code and creating the trigger that references this Java code.


See Also:

Oracle Database PL/SQL Language Reference to learn about compiling and storing triggers

PKx^SSPKM%AOEBPS/part_inarch.htmN Oracle Instance Architecture

Part V

Oracle Instance Architecture

This part describes the basic structural architecture of the Oracle database instance. This part contains the following chapters:

PKGSNPKM%AOEBPS/startup.htm Oracle Database Instance

13 Oracle Database Instance

This chapter explains the nature of an Oracle database instance, the parameter and diagnostic files associated with an instance, and what occurs during instance creation and the opening and closing of a database.

This chapter contains the following sections:

Introduction to the Oracle Database Instance

A database instance is a set of memory structures that manage database files. A database is a set of physical files on disk created by the CREATE DATABASE statement. The instance manages its associated data and serves the users of the database.

Every running Oracle database is associated with at least one Oracle database instance. Because an instance exists in memory and a database exists on disk, an instance can exist without a database and a database can exist without an instance.

Database Instance Structure

When an instance is started, Oracle Database allocates a memory area called the system global area (SGA) and starts one or more background processes. The SGA serves various purposes, including the following:

  • Maintaining internal data structures that are accessed by many processes and threads concurrently

  • Caching data blocks read from disk

  • Buffering redo data before writing it to the online redo log files

  • Storing SQL execution plans

The SGA is shared by the Oracle processes, which include server processes and background processes, running on a single computer. The way in which Oracle processes are associated with the SGA varies according to operating system.

A database instance includes background processes. Server processes, and the process memory allocated in these processes, also exist in the instance. The instance continues to function when server processes terminate.

Figure 13-1 shows the main components of an Oracle database instance.

Figure 13-1 Database Instance

Description of Figure 13-1 follows
Description of "Figure 13-1 Database Instance"

Database Instance Configurations

You can run Oracle Database in either of the following mutually exclusive configurations:

  • Single-instance configuration

    A one-to-one relationship exists between the database and an instance.

  • Oracle Real Application Clusters (Oracle RAC) configuration

    A one-to-many relationship exists between the database and instances.

Figure 13-2 shows possible database instance configurations.

Figure 13-2 Database Instance Configurations

Description of Figure 13-2 follows
Description of "Figure 13-2 Database Instance Configurations"

Whether in a single-instance or Oracle RAC configuration, a database instance is associated with only one database at a time. You can start a database instance and mount (associate the instance with) one database, but not mount two databases simultaneously with the same instance.


Note:

This chapter discusses a single-instance database configuration unless otherwise noted.

Multiple instances can run concurrently on the same computer, each accessing its own database. For example, a computer can host two distinct databases: prod1 and prod2. One database instance manages prod1, while a separate instance manages prod2.


See Also:

Oracle Real Application Clusters Administration and Deployment Guide for information specific to Oracle RAC

Duration of an Instance

An instance begins when it is created with the STARTUP command and ends when it is terminated. During this period, an instance can associate itself with one and only one database. Furthermore, the instance can mount a database only once, close it only once, and open it only once. After a database has been closed or shut down, you must start a different instance to mount and open this database.

Table 13-1 illustrates a database instance attempting to reopen a database that it previously closed.

Table 13-1 Duration of an Instance

StatementExplanation
SQL> STARTUP
ORACLE instance started.
 
Total System Global Area  468729856 bytes
Fixed Size                  1333556 bytes
Variable Size             440403660 bytes
Database Buffers           16777216 bytes
Redo Buffers               10215424 bytes
Database mounted.
Database opened.

The STARTUP command creates an instance, which mounts and opens the database.

SQL> SELECT 
TO_CHAR(STARTUP_TIME,'MON-DD-RR HH24:MI:SS')
AS "Inst Start Time" FROM V$INSTANCE;
 
Inst Start Time
------------------
JUN-18-09 13:14:48

This query shows the time that the current instance was started.

SQL> ALTER DATABASE CLOSE;
 Database altered.

The instance closes the database, leaving it in a mounted state. The instance can read and write to the control file but not the data files.

SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
ERROR at line 1:
ORA-16196: database has been
previously opened and closed

The instance attempts to reopen the database that it previously closed. Oracle Database issues an error because the same instance cannot open a database twice.

SQL> SHUTDOWN IMMEDIATE

At this stage, the only option for the instance is to shut down, ending the life of this instance.

SQL> STARTUP
Oracle instance started.
. . .

The STARTUP command creates a new instance and mounts and open the database.

SQL> SELECT 
TO_CHAR(STARTUP_TIME,'MON-DD-RR HH24:MI:SS')
AS "Inst Start Time" FROM V$INSTANCE;
 
Inst Start Time
------------------
JUN-18-09 13:16:40

This query shows the time that the current instance was started. The different start time shows that this instance is different from the one that shut down the database.


Oracle System Identifier (SID)

The system identifier (SID) is a unique name for an Oracle database instance on a specific host. On UNIX and Linux, Oracle Database uses the SID and Oracle home values to create a key to shared memory. Also, the SID is used by default to locate the parameter file, which is used to locate relevant files such as the database control files.

On most platforms, the ORACLE_SID environment variable sets the SID, whereas the ORACLE_HOME variable sets the Oracle home. When connecting to an instance, clients can specify the SID in an Oracle Net connection or use a net service name. Oracle Database converts a service name into an ORACLE_HOME and ORACLE_SID.


See Also:


Overview of Instance Startup and Shutdown

A database instance provides user access to a database. This section explains the possible states of the instance and the database.

Overview of Instance and Database Startup

In a typical use case, you manually start an instance and then mount and open the database, making it available for users. You can use the SQL*Plus STARTUP command, Oracle Enterprise Manager (Enterprise Manager), or the SRVCTL utility to perform these steps. Figure 13-3 shows how a database progresses from a shutdown state to an open state.

Figure 13-3 Instance and Database Startup Sequence

Description of Figure 13-3 follows
Description of "Figure 13-3 Instance and Database Startup Sequence"

A database goes through the following phases when it proceeds from a shutdown state to an open database state:

  1. Instance started without mounting database

    The instance is started, but is not yet associated with a database.

    "How an Instance Is Started" explains this stage.

  2. Database mounted

    The instance is started and is associated with a database by reading its control file (see "Overview of Control Files"). The database is closed to users.

    "How a Database Is Mounted" explains this stage.

  3. Database open

    The instance is started and is associated with an open database. The data contained in the data files is accessible to authorized users.

    "How a Database Is Opened" explains this stage.

Connection with Administrator Privileges

Database startup and shutdown are powerful administrative options that are restricted to users who connect to Oracle Database with administrator privileges. Normal users do not have control over the current status of an Oracle database.

Depending on the operating system, one of the following conditions establishes administrator privileges for a user:

  • The operating system privileges of the user enable him or her to connect using administrator privileges.

  • The user is granted the SYSDBA or SYSOPER system privileges and the database uses password files to authenticate database administrators over the network.

SYSDBA and SYSOPER are special system privileges that enable access to a database instance even when the database is not open. Control of these privileges is outside of the database itself.When you connect with the SYSDBA system privilege, you are in the schema owned by SYS. When you connect as SYSOPER, you are in the public schema. SYSOPER privileges are a subset of SYSDBA privileges.


See Also:


How an Instance Is Started

When Oracle Database starts an instance, it performs the following basic steps:

  1. Searches for a server parameter file in a platform-specific default location and, if not found, for a text initialization parameter file (specifying STARTUP with the SPFILE or PFILE parameters overrides the default behavior)

  2. Reads the parameter file to determine the values of initialization parameters

  3. Allocates the SGA based on the initialization parameter settings

  4. Starts the Oracle background processes

  5. Opens the alert log and trace files and writes all explicit parameter settings to the alert log in valid parameter syntax

At this stage, no database is associated with the instance. Scenarios that require a NOMOUNT state include database creation and certain backup and recovery operations.


See Also:

Oracle Database Administrator's Guide to learn how to manage initialization parameters using a server parameter file

How a Database Is Mounted

The instance mounts a database to associate the database with this instance. To mount the database, the instance obtains the names of the database control files specified in the CONTROL_FILES initialization parameter and opens the files. Oracle Database reads the control files to find the names of the data files and the online redo log files that it will attempt to access when opening the database.

In a mounted database, the database is closed and accessible only to database administrators. Administrators can keep the database closed while completing specific maintenance operations. However, the database is not available for normal operations.

If Oracle Database allows multiple instances to mount the same database concurrently, then the CLUSTER_DATABASE initialization parameter setting can make the database available to multiple instances. Database behavior depends on the setting:

  • If CLUSTER_DATABASE is false (default) for the first instance that mounts a database, then only this instance can mount the database.

  • If CLUSTER_DATABASE is true for the first instance, then other instances can mount the database if their CLUSTER_DATABASE parameter settings are set to true. The number of instances that can mount the database is subject to a predetermined maximum specified when creating the database.


See Also:


How a Database Is Opened

Opening a mounted database makes it available for normal database operations. Any valid user can connect to an open database and access its information. Usually, a database administrator opens the database to make it available for general use.

When you open the database, Oracle Database performs the following actions:

  • Opens the online data files in tablespaces other than undo tablespaces

    If a tablespace was offline when the database was previously shut down (see "Online and Offline Tablespaces"), then the tablespace and its corresponding data files will be offline when the database reopens.

  • Acquires an undo tablespace

    If multiple undo tablespaces exists, then the UNDO_TABLESPACE initialization parameter designates the undo tablespace to use. If this parameter is not set, then the first available undo tablespace is chosen.

  • Opens the online redo log files


See Also:

"Data Repair"

Read-Only Mode

By default, the database opens in read/write mode. In this mode, users can make changes to the data, generating redo in the online redo log. Alternatively, you can open in read-only mode to prevent data modification by user transactions.


Note:

By default, a physical standby database opens in read-only mode. See Oracle Data Guard Concepts and Administration.

Read-only mode restricts database access to read-only transactions, which cannot write to data files or to online redo log files. However, the database can perform recovery or operations that change the database state without generating redo. For example, in read-only mode:

  • Data files can be taken offline and online. However, you cannot take permanent tablespaces offline.

  • Offline data files and tablespaces can be recovered.

  • The control file remains available for updates about the state of the database.

  • Temporary tablespaces created with the CREATE TEMPORARY TABLESPACE statement are read/write.

  • Writes to operating system audit trails, trace files, and alert logs can continue.


See Also:

Oracle Database Administrator's Guide to learn how to open a database in read-only mode

Database File Checks

If any of the data files or redo log files are not present when the instance attempts to open the database, or if the files are present but fail consistency tests, then the database returns an error. Media recovery may be required.

Overview of Database and Instance Shutdown

In a typical use case, you manually shut down the database, making it unavailable for users while you perform maintenance or other administrative tasks. You can use the SQL*Plus SHUTDOWN command or Enterprise Manager to perform these steps. Figure 13-4 shows the progression from an open state to a consistent shutdown.

Figure 13-4 Instance and Database Shutdown Sequence

Description of Figure 13-4 follows
Description of "Figure 13-4 Instance and Database Shutdown Sequence"

Oracle Database automatically performs the following steps whenever an open database is shut down consistently:

  1. Database closed

    The database is mounted, but online data files and redo log files are closed.

    "How a Database Is Closed" explains this stage.

  2. Database unmounted

    The instance is started, but is no longer associated with the control file of the database.

    "How a Database Is Unmounted" explains this stage.

  3. Database instance shut down

    The database instance is no longer started.

    "How an Instance Is Shut Down" explains this stage.

Oracle Database does not go through all of the preceding steps in an instance failure or SHUTDOWN ABORT, which immediately terminates the instance.


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn how to shut down a database

Shutdown Modes

A database administrator with SYSDBA or SYSOPER privileges can shut down the database using the SQL*Plus SHUTDOWN command or Enterprise Manager. The SHUTDOWN command has options that determine shutdown behavior. Table 13-2 summarizes the behavior of the different shutdown modes.

Table 13-2 Shutdown Modes

Database BehaviorABORTIMMEDIATETRANSACTIONALNORMAL

Permits new user connections

No

No

No

No

Waits until current sessions end

No

No

No

Yes

Waits until current transactions end

No

No

Yes

Yes

Performs a checkpoint and closes open files

No

Yes

Yes

Yes


The possible SHUTDOWN statements are:

  • SHUTDOWN ABORT

    This mode is intended for emergency situations, such as when no other form of shutdown is successful. This mode of shutdown is the fastest. However, a subsequent open of this database may take substantially longer because instance recovery must be performed to make the data files consistent.


    Note:

    Because SHUTDOWN ABORT does not checkpoint the open data files, instance recovery is necessary before the database can reopen. The other shutdown modes do not require instance recovery before the database can reopen.

  • SHUTDOWN IMMEDIATE

    This mode is typically the fastest next to SHUTDOWN ABORT. Oracle Database terminates any executing SQL statements and disconnects users. Active transactions are terminated and uncommitted changes are rolled back.

  • SHUTDOWN TRANSACTIONAL

    This mode prevents users from starting new transactions, but waits for all current transactions to complete before shutting down. This mode can take a significant amount of time depending on the nature of the current transactions.

  • SHUTDOWN NORMAL

    This is the default mode of shutdown. The database waits for all connected users to disconnect before shutting down.


See Also:


How a Database Is Closed

The database close operation is implicit in a database shutdown. The nature of the operation depends on whether the database shutdown is normal or abnormal.

How a Database Is Closed During Normal Shutdown

When a database is closed as part of a SHUTDOWN with any option other than ABORT, Oracle Database writes data in the SGA to the data files and online redo log files. Next, the database closes online data files and online redo log files. Any offline data files of offline tablespaces have been closed already. When the database reopens, any tablespace that was offline remains offline.

At this stage, the database is closed and inaccessible for normal operations. The control files remain open after a database is closed.

How a Database Is Closed During Abnormal Shutdown

If a SHUTDOWN ABORT or abnormal termination occurs, then the instance of an open database closes and shuts down the database instantaneously. Oracle Database does not write data in the buffers of the SGA to the data files and redo log files. The subsequent reopening of the database requires instance recovery, which Oracle Database performs automatically.

How a Database Is Unmounted

After the database is closed, Oracle Database unmounts the database to disassociate it from the instance. After a database is unmounted, Oracle Database closes the control files of the database. At this point, the instance remains in memory.

How an Instance Is Shut Down

The final step in database shutdown is shutting down the instance. When the database instance is shut down, the SGA is removed from memory and the background processes are terminated.

In unusual circumstances, shutdown of an instance may not occur cleanly. Memory structures may not be removed from memory or one of the background processes may not be terminated. When remnants of a previous instance exist, a subsequent instance startup may fail. In such situations, you can force the new instance to start by removing the remnants of the previous instance and then starting a new instance, or by issuing a SHUTDOWN ABORT statement in SQL*Plus or using Enterprise Manager.


See Also:

Oracle Database Administrator's Guide for more detailed information about database shutdown

Overview of Checkpoints

A checkpoint is a crucial mechanism in consistent database shutdowns, instance recovery, and Oracle Database operation generally. The term checkpoint has the following related meanings:

Purpose of Checkpoints

Oracle Database uses checkpoints to achieve the following goals:

  • Reduce the time required for recovery in case of an instance or media failure

  • Ensure that dirty buffers in the buffer cache are written to disk regularly

  • Ensure that all committed data is written to disk during a consistent shutdown

When Oracle Database Initiates Checkpoints

The checkpoint process (CKPT) is responsible for writing checkpoints to the data file headers and control file. Checkpoints occur in a variety of situations. For example, Oracle Database uses the following types of checkpoints:

  • Thread checkpoints

    The database writes to disk all buffers modified by redo in a specific thread before a certain target. The set of thread checkpoints on all instances in a database is a database checkpoint. Thread checkpoints occur in the following situations:

    • Consistent database shutdown

    • ALTER SYSTEM CHECKPOINT statement

    • Online redo log switch

    • ALTER DATABASE BEGIN BACKUP statement

  • Tablespace and data file checkpoints

    The database writes to disk all buffers modified by redo before a specific target. A tablespace checkpoint is a set of data file checkpoints, one for each data file in the tablespace. These checkpoints occur in a variety of situations, including making a tablespace read-only or taking it offline normal, shrinking a data file, or executing ALTER TABLESPACE BEGIN BACKUP.

  • Incremental checkpoints

    An incremental checkpoint is a type of thread checkpoint partly intended to avoid writing large numbers of blocks at online redo log switches. DBWn checks at least every three seconds to determine whether it has work to do. When DBWn writes dirty buffers, it advances the checkpoint position, causing CKPT to write the checkpoint position to the control file, but not to the data file headers.

Other types of checkpoints include instance and media recovery checkpoints and checkpoints when schema objects are dropped or truncated.


See Also:


Overview of Instance Recovery

Instance recovery is the process of applying records in the online redo log to data files to reconstruct changes made after the most recent checkpoint. Instance recovery occurs automatically when an administrator attempts to open a database that was previously shut down inconsistently.

Purpose of Instance Recovery

Instance recovery ensures that the database is in a consistent state after an instance failure. The files of a database can be left in an inconsistent state because of how Oracle Database manages database changes.

A redo thread is a record of all of the changes generated by an instance. A single-instance database has one thread of redo, whereas an Oracle RAC database has multiple redo threads, one for each database instance.

When a transaction is committed, log writer (LGWR) writes both the remaining redo entries in memory and the transaction SCN to the online redo log. However, the database writer (DBWn) process writes modified data blocks to the data files whenever it is most efficient. For this reason, uncommitted changes may temporarily exist in the data files while committed changes do not yet exist in the data files.

If an instance of an open database fails, either because of a SHUTDOWN ABORT statement or abnormal termination, then the following situations can result:

  • Data blocks committed by a transaction are not written to the data files and appear only in the online redo log. These changes must be reapplied to the database.

  • The data files contains changes that had not been committed when the instance failed. These changes must be rolled back to ensure transactional consistency.

Instance recovery uses only online redo log files and current online data files to synchronize the data files and ensure that they are consistent.

When Oracle Database Performs Instance Recovery

Whether instance recovery is required depends on the state of the redo threads. A redo thread is marked open in the control file when a database instance opens in read/write mode, and is marked closed when the instance is shut down consistently. If redo threads are marked open in the control file, but no live instances hold the thread enqueues corresponding to these threads, then the database requires instance recovery.

Oracle Database performs instance recovery automatically in the following situations:

  • The database opens for the first time after the failure of a single-instance database or all instances of an Oracle RAC database. This form of instance recovery is also called crash recovery. Oracle Database recovers the online redo threads of the terminated instances together.

  • Some but not all instances of an Oracle RAC database fail. Instance recovery is performed automatically by a surviving instance in the configuration.

The SMON background process performs instance recovery, applying online redo automatically. No user intervention is required.


See Also:


Importance of Checkpoints for Instance Recovery

Instance recovery uses checkpoints to determine which changes must be applied to the data files. The checkpoint position guarantees that every committed change with an SCN lower than the checkpoint SCN is saved to the data files.

Figure 13-5 depicts the redo thread in the online redo log.

Figure 13-5 Checkpoint Position in Online Redo Log

Description of Figure 13-5 follows
Description of "Figure 13-5 Checkpoint Position in Online Redo Log"

During instance recovery, the database must apply the changes that occur between the checkpoint position and the end of the redo thread. As shown in Figure 13-5, some changes may already have been written to the data files. However, only changes with SCNs lower than the checkpoint position are guaranteed to be on disk.


See Also:

Oracle Database Performance Tuning Guide to learn how to limit instance recovery time

Instance Recovery Phases

The first phase of instance recovery is called cache recovery or rolling forward, and involves reapplying all of the changes recorded in the online redo log to the data files. Because rollback data is recorded in the online redo log, rolling forward also regenerates the corresponding undo segments.

Rolling forward proceeds through as many online redo log files as necessary to bring the database forward in time. After rolling forward, the data blocks contain all committed changes recorded in the online redo log files. These files could also contain uncommitted changes that were either saved to the data files before the failure, or were recorded in the online redo log and introduced during cache recovery.

After the roll forward, any changes that were not committed must be undone. Oracle Database uses the checkpoint position, which guarantees that every committed change with an SCN lower than the checkpoint SCN is saved on disk. Oracle Database applies undo blocks to roll back uncommitted changes in data blocks that were written before the failure or introduced during cache recovery. This phase is called rolling back or transaction recovery.

Figure 13-6 illustrates rolling forward and rolling back, the two steps necessary to recover from database instance failure.

Figure 13-6 Basic Instance Recovery Steps: Rolling Forward and Rolling Back

Description of Figure 13-6 follows
Description of "Figure 13-6 Basic Instance Recovery Steps: Rolling Forward and Rolling Back"

Oracle Database can roll back multiple transactions simultaneously as needed. All transactions that were active at the time of failure are marked as terminated. Instead of waiting for the SMON process to roll back terminated transactions, new transactions can roll back individual blocks themselves to obtain the required data.


See Also:


Overview of Parameter Files

To start a database instance, Oracle Database must read either a server parameter file, which is recommended, or a text initialization parameter file, which is a legacy implementation. These files contain a list of configuration parameters.

To create a database manually, you must start an instance with a parameter file and then issue a CREATE DATABASE command. Thus, the instance and parameter file can exist even when the database itself does not exist.

Initialization Parameters

Initialization parameters are configuration parameters that affect the basic operation of an instance. The instance reads initialization parameters from a file at startup.

Oracle Database provides many initialization parameters to optimize its operation in diverse environments. Only a few of these parameters must be explicitly set because the default values are adequate in most cases.

Functional Groups of Initialization Parameters

Most initialization parameters belong to one of the following functional groups:

  • Parameters that name entities such as files or directories

  • Parameters that set limits for a process, database resource, or the database itself

  • Parameters that affect capacity, such as the size of the SGA (these parameters are called variable parameters)

Variable parameters are of particular interest to database administrators because they can use these parameters to improve database performance.

Basic and Advanced Initialization Parameters

Initialization parameters are divided into two groups: basic and advanced. In most cases, you must set and tune only the approximately 30 basic parameters to obtain reasonable performance. The basic parameters set characteristics such as the database name, locations of the control files, database block size, and undo tablespace.

In rare situations, modification to the advanced parameters may be required for optimal performance. The advanced parameters enable expert DBAs to adapt the behavior of the Oracle Database to meet unique requirements.

Oracle Database provides values in the starter initialization parameter file provided with your database software, or as created for you by the Database Configuration Assistant (see "Tools for Database Installation and Configuration"). You can edit these Oracle-supplied initialization parameters and add others, depending on your configuration and how you plan to tune the database. For relevant initialization parameters not included in the parameter file, Oracle Database supplies defaults.


See Also:


Server Parameter Files

A server parameter file is a repository for initialization parameters that is managed by Oracle Database. A server parameter file has the following key characteristics:

  • Only one server parameter file exists for a database. This file must reside on the database host.

  • The server parameter file is written to and read by only by Oracle Database, not by client applications.

  • The server parameter file is binary and cannot be modified by a text editor.

  • Initialization parameters stored in the server parameter file are persistent. Any changes made to the parameters while a database instance is running can persist across instance shutdown and startup.

A server parameter file eliminates the need to maintain multiple text initialization parameter files for client applications. A server parameter file is initially built from a text initialization parameter file using the CREATE SPFILE statement. It can also be created directly by the Database Configuration Assistant.


See Also:


Text Initialization Parameter Files

A text initialization parameter file is a text file that contains a list of initialization parameters. This type of parameter file, which is a legacy implementation of the parameter file, has the following key characteristics:

  • When starting up or shutting down a database, the text initialization parameter file must reside on the same host as the client application that connects to the database.

  • A text initialization parameter file is text-based, not binary.

  • Oracle Database can read but not write to the text initialization parameter file. To change the parameter values you must manually alter the file with a text editor.

  • Changes to initialization parameter values by ALTER SYSTEM are only in effect for the current instance. You must manually update the text ivSnitialization parameter file and restart the instance for the changes to be known.

The text initialization parameter file contains a series of key=value pairs, one per line. For example, a portion of an initialization parameter file could look as follows:

db_name=sample
control_files=/disk1/oradata/sample_cf.dbf
db_block_size=8192
open_cursors=52
undo_management=auto
shared_pool_size=280M
pga_aggregate_target=29M
.
.
.

To illustrate the manageability problems that text parameter files can create, assume that you use computers clienta and clientb and must be able to start the database with SQL*Plus on either computer. In this case, two separate text initialization parameter files must exist, one on each computer, as shown in Figure 13-7. A server parameter file solves the problem of the proliferation of parameter files.

Figure 13-7 Multiple Initialization Parameter Files

Description of Figure 13-7 follows
Description of "Figure 13-7 Multiple Initialization Parameter Files"


See Also:


Modification of Initialization Parameter Values

You can adjust initialization parameters to modify the behavior of a database. The classification of parameters as static or dynamic determines how they can be modified. Table 13-3 summarizes the differences.

Table 13-3 Static and Dynamic Initialization Parameters

CharacteristicStaticDynamic

Requires modification of the parameter file (text or server)

Yes

No

Requires database instance restart before setting takes affect

Yes

No

Described as "Modifiable" in Oracle Database Reference initialization parameter entry

No

Yes

Modifiable only for the database or instance

Yes

No


Static parameters include DB_BLOCK_SIZE, DB_NAME, and COMPATIBLE. Dynamic parameters are grouped into session-level parameters, which affect only the current user session, and system-level parameters, which affect the database and all sessions. For example, MEMORY_TARGET is a system-level parameter, while NLS_DATE_FORMAT is a session-level parameter (see "Locale-Specific Settings").

The scope of a parameter change depends on when the change takes effect. When an instance has been started with a server parameter file, you can use the ALTER SYSTEM SET statement to change values for system-level parameters as follows:

  • SCOPE=MEMORY

    Changes apply to the database instance only. The change will not persist if the database is shut down and restarted.

  • SCOPE=SPFILE

    Changes are written to the server parameter file but do not affect the current instance. Thus, the changes do not take effect until the instance is restarted.


    Note:

    You must specify SPFILE when changing the value of a parameter described as not modifiable in Oracle Database Reference.

  • SCOPE=BOTH

    Changes are written both to memory and to the server parameter file. This is the default scope when the database is using a server parameter file.

The database prints the new value and the old value of an initialization parameter to the alert log. As a preventative measure, the database validates changes of basic parameter to prevent illegal values from being written to the server parameter file.


See Also:


Overview of Diagnostic Files

Oracle Database includes a fault diagnosability infrastructure for preventing, detecting, diagnosing, and resolving database problems. Problems include critical errors such as code bugs, metadata corruption, and customer data corruption.

The goals of the advanced fault diagnosability infrastructure are the following:

Automatic Diagnostic Repository

Automatic Diagnostic Repository (ADR) is a file-based repository that stores database diagnostic data such as trace files, the alert log, and Health Monitor reports. Key characteristics of ADR include:

  • Unified directory structure

  • Consistent diagnostic data formats

  • Unified tool set

The preceding characteristics enable customers and Oracle Support to correlate and analyze diagnostic data across multiple Oracle instances, components, and products.

ADR is located outside the database, which enables Oracle Database to access and manage ADR when the physical database is unavailable. An instance can create ADR before a database has been created.

Problems and Incidents

ADR proactively tracks problems, which are critical errors in the database. Critical errors manifest as internal errors, such as ORA-600, or other severe errors. Each problem has a problem key, which is a text string that describes the problem.

When a problem occurs multiple times, ADR creates a time-stamped incident for each occurrence. An incident is uniquely identified by a numeric incident ID. When an incident occurs, ADR sends an incident alert to Enterprise Manager. Diagnosis and resolution of a critical error usually starts with an incident alert.

Because a problem could generate many incidents in a short time, ADR applies flood control to incident generation after certain thresholds are reached. A flood-controlled incident generates an alert log entry, but does not generate incident dumps. In this way, ADR informs you that a critical error is ongoing without overloading the system with diagnostic data.


See Also:

Oracle Database Administrator's Guide for detailed information about the fault diagnosability infrastructure

ADR Structure

The ADR base is the ADR root directory. The ADR base can contain multiple ADR homes, where each ADR home is the root directory for all diagnostic data—traces, dumps, the alert log, and so on—for an instance of an Oracle product or component. For example, in an Oracle RAC environment with shared storage and ASM, each database instance and each ASM instance has its own ADR home.

Figure 13-8 illustrates the ADR directory hierarchy for a database instance. Other ADR homes for other Oracle products or components, such as ASM or Oracle Net Services, can exist within this hierarchy, under the same ADR base.

Figure 13-8 ADR Directory Structure for an Oracle Database Instance

Description of Figure 13-8 follows
Description of "Figure 13-8 ADR Directory Structure for an Oracle Database Instance"

As the following Linux example shows, when you start an instance with a unique SID and database name before creating a database, Oracle Database creates ADR by default as a directory structure in the host file system. The SID and database name form part of the path name for files in the ADR Home.

Example 13-1 Creation of ADR

% setenv ORACLE_SID osi
% echo "DB_NAME=dbn" > init.ora
% sqlplus / as sysdba
.
.
. 
Connected to an idle instance.
 
SQL> STARTUP NOMOUNT PFILE="./init.ora"
ORACLE instance started.
 
Total System Global Area  146472960 bytes
Fixed Size                  1317424 bytes
Variable Size              92276176 bytes
Database Buffers           50331648 bytes
Redo Buffers                2547712 bytes
 
SQL> SELECT NAME, VALUE FROM V$DIAG_INFO;
 
NAME                  VALUE
--------------------- --------------------------------------------------
Diag Enabled          TRUE 
ADR Base              /u01/oracle/log
ADR Home              /u01/oracle/log/diag/rdbms/dbn/osi
Diag Trace            /u01/oracle/log/diag/rdbms/dbn/osi/trace
Diag Alert            /u01/oracle/log/diag/rdbms/dbn/osi/alert
Diag Incident         /u01/oracle/log/diag/rdbms/dbn/osi/incident
Diag Cdump            /u01/oracle/log/diag/rdbms/dbn/osi/cdump
Health Monitor        /u01/oracle/log/diag/rdbms/dbn/osi/hm
Default Trace File    /u01/oracle/log/diag/rdbms/dbn/osi/trace/osi_ora_10533.trc 
Active Problem Count  0
Active Incident Count 0

The following sections describe the contents of ADR.

Alert Log

Each database has an alert log, which is an XML file containing a chronological log of database messages and errors. The alert log contents include the following:

  • All internal errors (ORA-600), block corruption errors (ORA-1578), and deadlock errors (ORA-60)

  • Administrative operations such as DDL statements and the SQL*Plus commands STARTUP, SHUTDOWN, ARCHIVE LOG, and RECOVER

  • Several messages and errors relating to the functions of shared server and dispatcher processes

  • Errors during the automatic refresh of a materialized view

Oracle Database uses the alert log as an alternative to displaying information in the Enterprise Manager GUI. If an administrative operation is successful, then Oracle Database writes a message to the alert log as "completed" along with a time stamp.

Oracle Database creates an alert log in the alert subdirectory shown in Figure 13-8 when you first start a database instance, even if no database has been created yet. The following example shows a portion of a text-only alert log:

Fri Jun 19 17:05:34 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Shared memory segment for instance monitoring created
Picked latch-free SCN scheme 2
Autotune of undo retention is turned on.
IMODE=BR
ILAT =12
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 11.2.0.0.0.
Using parameter settings in client-side pfile 
.
.
.
System parameters with nondefault values:
  db_name                  = "my_test"
Fri Jun 19 17:05:37 2009
PMON started with pid=2, OS id=10329
Fri Jun 19 17:05:37 2009
VKTM started with pid=3, OS id=10331 at elevated priority
VKTM running at (20)ms precision
Fri Jun 19 17:05:37 2009
DIAG started with pid=4, OS id=10335

As shown in Example 13-1, query V$DIAG_INFO to locate the alert log.

Trace Files

A trace file is an administrative file that contain diagnostic data used to investigate problems. Also, trace files can provide guidance for tuning applications or an instance, as explained in "Performance Diagnostics and Tuning".

Types of Trace Files

Each server and background process can periodically write to an associated trace file. The files information on the process environment, status, activities, and errors.

The SQL trace facility also creates trace files, which provide performance information on individual SQL statements. To enable tracing for a client identifier, service, module, action, session, instance, or database, you must execute the appropriate procedures in the DBMS_MONITOR package or use Oracle Enterprise Manager.

A dump is a special type of trace file. Whereas a trace tends to be continuous output of diagnostic data, a dump is typically a one-time output of diagnostic data in response to an event (such as an incident). When an incident occurs, the database writes one or more dumps to the incident directory created for the incident. Incident dumps also contain the incident number in the file name.


See Also:


Locations of Trace Files

ADR stores trace files in the trace subdirectory, as shown in Figure 13-8. Trace file names are platform-dependent and use the extension .trc.

Typically, database background process trace file names contain the Oracle SID, the background process name, and the operating system process number. An example of a trace file for the RECO process is mytest_reco_10355.trc.

Server process trace file names contain the Oracle SID, the string ora, and the operating system process number. An example of a server process trace file name is mytest_ora_10304.trc.

Sometimes trace files have corresponding trace map (.trm) files. These files contain structural information about trace files and are used for searching and navigation.


See Also:

Oracle Database Administrator's Guide to learn how to find trace files

PK!SvSPKM%AOEBPS/preface.htm= Preface

Preface

This manual provides an architectural and conceptual overview of the Oracle database server, which is an object-relational database management system. It describes how the Oracle database server functions, and it lays a conceptual foundation for much of the practical information contained in other manuals. Information in this manual applies to the Oracle database server running on all operating systems.

This preface contains these topics:

Audience

Oracle Database Concepts is intended for technical users, primarily database administrators and database application developers, who are new to Oracle Database. Typically, the reader of this manual has had experience managing or developing applications for other relational databases.

To use this manual, you must know the following:

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Related Documentation

This manual is intended to be read with the following manuals:

For more related documentation, see "Oracle Database Documentation Roadmap".

Many manuals in the Oracle Database documentation set use the sample schemas of the seed database, which is installed by default when you install Oracle Database. Refer to Oracle Database Sample Schemas for information on how these schemas were created and how you can use them.

Conventions

The following text conventions are used in this manual:

ConventionMeaning
boldfaceBoldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
italicItalic type indicates manual titles, emphasis, or placeholder variables for which you supply particular values.
monospaceMonospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.

PK%JPKM%AOEBPS/index.htm Index

Index

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

A

access drivers, external table, 2.2.7.2
access paths, data, 3.1.1, 3.1.4.2, 7.3.1, 7.3.3, 7.4.1.4
accounts, user, 6.1
ACID properties, 10.1
active transactions, 10.2.2
ADDM (Automatic Database Diagnostic Monitor), 18.3.4.3, 18.3.4.4
administrative accounts, 2.1.4, 6.1.1
administrator privileges, 2.1.4, 13.2.1.1, 13.2.1.1, 16.2.4.2
Advanced Queuing, Oracle Streams, 15.4.2, 15.4.2, 17.5.2.2
alert logs, 13.6.2, 15.4.1.4.2
ALL_ data dictionary views, 6.1.1.2
ALTER SESSION statement, 7.2.4
anonymous PL/SQL blocks, 8.2
ANSI/ISO standard, 7.1.2
APIs (application program interfaces), 16.3
embedded SQL statements, 7.2.6
external tables, 2.2.7.2
Java, 8.3.1.1, 17.4.4.3, 19.3.2.1.2, 19.3.2.2.2
JDBC, 7.2.6, 8.3.2.2
network services, 16.2.1
OCI/OCCI, 19.3.2.2.1
ODBC, 7.2.6, 19.3.2.2.2
Oracle Data Pump, 18.2.5.2
Oracle Streams Advanced Queuing, 17.5.2.2.2
SQLJ, 8.3.2.2
application architecture, 1.5.4.1
application developers
duties of, 19.1
tools for, 19.2
topics for, 19.3
application domain indexes, 3.1.5, 3.1.5
application processes, 15.2
application program interface. See API
application servers, 1.5.4.1, 8.3.1.2
archived redo log files, 11.3.3, 11.4.2.3, 18.3.1.3.4
ARCHIVELOG mode, 15.4.2.1
archiver process (ARCn), 15.4.2.1
ascending indexes, 3.1.2.4
ASM (Automatic Storage Management), 11.1.2, 11.1.2.1, 17.3.2
atomicity, statement-level, 10.1.3
AUDIT statement, 7.2.1
auditing, 6.1, 6.1.3, 7.2.1, 8.4.1, 11.1.3, 13.2.1.4.1, 16.1.2.3, 17.1.5.1
Oracle Audit Vault, 17.1.5.2
authentication, database, 7.2.4, 15.2.2, 17.1.2
Automatic Database Diagnostic Monitor. See ADDM
automatic maintenance tasks, 18.3.4.2
automatic memory management, 18.3.2.1, 18.3.2.2
Automatic Storage Management. See ASM
automatic undo management, 12.4.3
AutoTask, 18.3.4.2, 18.3.4.2

B

background processes, 15.4
backups, database, 18.3.1.2.1
bitmap indexes, 3.1.3, 3.1.3, 4.1.3.1
bitmap joins, 3.1.3.2
locks, 3.1.3
mapping table, 3.2.3.2
single-table, 3.1.3.1
storage, 3.1.3.3
bitmap tablespace management, 12.1.2.1
blocking transactions, 9.2.1.2
blocks, data. See data blocks
BOOLEAN data type, 2.2.3, 3.1.2.2.3, 7.2.2.1, 8.4.4
branch blocks, index, 3.1.2.1
B-tree indexes, 2.2.8.3, 2.3.1, 3.1.2
branch level, 3.1.2.1
height, 3.1.2.1
key compression, 3.1.2.5
reverse key, 3.1.2.3
buffer cache, database. See database buffer cache
buffers. See database buffers
business rules, enforcing, 5.1.1

C

cache fusion, 9.1.1.3
cardinality, column, 3.1.3, 7.3.2.2
Cartesian joins, 7.2.2.2
cartridges, 3.1.5
cascading deletions, 5.2.4.3
catalog.sql script, 6.2.1
chaining, rows. See row chaining
character data types, 2.2.3.1
byte semantics, 2.2.3.1
CHAR, 2.2.3.1.1
character semantics, 2.2.3.1
VARCHAR2, 2.2.3.1
character sets, 2.2.3.1
ASCII, 2.2.3.1
EBCDIC, 2.2.3.1
Unicode, 2.2.3.1
check constraints, 5.2, 5.2.5
checkpoint process (CKPT), 15.4.1.5
checkpoints
control files, 11.3.1
database shutdowns, 13.2.2.1
definition, 13.3
inconsistent backups, 18.3.1.2.2
incremental, 13.3.2
position, 13.4.4
thread, 13.3.2
client processes, 15.2
connections and, 15.2.2
sessions and, 15.2.2
shared server processes and, 16.2.4.1.2
client result cache, 14.4.3.3
client/server architecture, 16.1.1
client-side programming, 8.1
cluster indexes, 2.3.1
clusters, table, 2.3.2
cluster keys, 2.3
hash, 2.3.2
index, 2.3.2
Codd, E. F., 1.1.2
code points, 2.2.3.1
collections, PL/SQL, 8.2.5.1
columns
cardinality, 3.1.3, 3.1.3, 7.3.2.2
definition, 2.2.1
order of, 2.2.8.1
prohibiting nulls in, 5.2.1
virtual, 2.2.1, 2.2.8.1, 3.1.4.2
COMMENT statement, 7.2.1
committing transactions
COMMIT statement, 7.2.3
defined, 10.1
ending transactions, 10.1.2.2
fast commit, 15.4.1.4.1, 15.4.1.4.1
group commits, 15.4.1.4.1
implementation, 15.4.1.4.1
implicit commits, 7.2.1
two-phase commit, 10.4.1
compiled PL/SQL
pseudocode, 8.4.6
shared pool, 8.2.6
triggers, 8.4.6
complete recovery, 18.3.1.3.4, 18.3.1.3.4
composite indexes, 3.1.1.2, 3.1.1.2, 3.1.1.2
composite partitioning, 4.1.1.2
compound triggers, 8.4.3
compression
basic table, 2.2.9.1
data block, 12.2.3
Hybrid Columnar Compression, 2.2.9.2
index key, 3.1.2.5
OLTP table, 2.2.9.1
online archival, 2.2.9.2.1
table, 2.2.9, 4.1.2
warehouse, 2.2.9.2.1
concatenated indexes, 3.1.1.2, 3.1.1.2
concurrency
definition, 9.1
dirty reads, 9.1.3
fuzzy reads, 9.1.3
phantom reads, 9.1.3
row locks, 9.4.1.1.1
transaction isolation, 9.1.3, 9.2.2, 9.2.3
conditions, SQL, 7.1.1, 7.2.2.1
conflicting writes, 9.2.1.2
connections, client/server
administrator privileges, 13.2.1.1
defined, 15.2.2
embedded SQL, 7.2.6
listener process, 16.2.2
sessions contrasted with, 15.2.2
consistency
conflicting writes, 9.2.1.2
definition, 9.1
multiversioning, 9.1, 9.1.1
consistent read clones, 9.1.1.3.1
constraints, integrity
check, 5.2, 5.2.5
default values, 5.3.3.1
deferrable, 5.2.3, 5.3.2.2, 5.3.2.2, 7.2.3
enabling and disabling, 5.3.1
enforced with indexes, 5.2.3
foreign key, 5.2, 5.2.4
mechanisms of enforcement, 5.3.3
NOT NULL, 2.2.2, 5.2, 5.2.1
primary key, 2.2.2, 5.2, 5.2.3
REF, 5.2
referential, 5.2.4.3
self-referential, 5.2.4.1
state of, 5.3
unique key, 5.2, 5.2.2, 5.2.2
validating, 5.3.1
contention
for data
deadlocks, 9.3.6
lock escalation, 9.3.4
contexts, 2.1.1
control files, 11.3
changes recorded, 11.3.1
checkpoints and, 11.3.1
contents, 11.3.1
multiplexed, 11.3.2
overview, 11.3
used in mounting database, 13.2.1.3
CREATE CLUSTER statement, 2.3.1
CREATE DIMENSION statement, 4.5.2, 4.5.2
CREATE GLOBAL TEMPORARY TABLE statement, 2.2.6.1
CREATE INDEX statement, 2.2.6.1, 3.1.1.1, 3.1.1.2, 3.1.2.4, 3.1.2.4, 3.1.4.1, 3.1.6, 4.1.3.2
storage parameters, 12.4.1.1
CREATE MATERIALIZED VIEW statement, 4.3
CREATE SEQUENCE statement, 4.4.1
CREATE SYNONYM statement, 4.6
CREATE TABLE command, 2.2.2
CREATE TABLE statement, 2.2
CREATE TRIGGER statement
compiled and stored, 8.4.6
CREATE UNIQUE INDEX statement, 5.2.3
CREATE USER statement
temporary segments, 12.4.2.1
cursors
embedded SQL, 7.2.6
explicit, 8.2.4
fetching rows, 7.2.6

D

data
consistency of
locks, 9.1.2
manual locking, 9.5
data blocks, 7.4.2.1, 12.1
cached in memory, 14.4.1.3.4
clustered rows, 2.3
coalescing free space in blocks, 12.2.4.2.1
compression, 12.2.3
format, 12.2.2, 12.2.2.2
locks stored in, 9.4.1.1.2
overview, 12.1.1
shown in rowids, 12.2.2.2.3
stored in the buffer cache, 14.4.1
writing to disk, 14.4.1.3.4
data conversion
program interface, 16.3
data dictionary, 2.1.4, 2.2.4
ALL_ prefixed views, 6.1.1.2
cache, 14.4.3
comments in, 7.2.1
content, 6.1.1, 14.4.3.2
DBA_ prefixed views, 6.1.1.1
dictionary managed tablespaces, 12.1.2.2
DUAL table, 6.1.1.4
dynamic performance views, 6.2
locks, 9.4.2
overview, 6.1
owner, 6.1.3
public synonyms, 6.1.3.1
row cache and, 14.4.3.2
stored subprograms, 8.2.1.2
USER_ prefixed views, 6.1.1.3
uses, 6.2
data dictionary cache, 6.1.3.2, 7.4.1.1.3, 14.4.3, 14.4.3.2
data failures, protecting against human errors, 17.2.1.5
data files
contents of, 11.2.4
data file 1, 12.5.1.1
named in control files, 11.3.1
shown in rowids, 12.2.2.2.3
SYSTEM tablespace, 12.5.1.1
temporary, 11.2.2
data integrity, 5.1
enforcing, 5.1, 6.1.3
SQL and, 7.1
data manipulation language. See DML
data object number
extended rowid, 12.2.2.2.3
Data Pump Export
dump file set, 18.2.5.2
Data Recovery Advisor, 18.3.1.3.1
data segments, 12.4.1
data types
BOOLEAN, 2.2.3, 3.1.2.2.3, 7.2.2.1, 8.4.4
built-in, 2.2.3
CHAR, 2.2.3.1.1
character, 2.2.3.1
composite types, 2.2.3
conversions of
by program interface, 16.3
DATE, 2.2.3.3.1
datetime, 2.2.3.3
definition, 2.2.3
format models, 2.2.3.3.1
how they relate to tables, 2.2.1
in PL/SQL, 2.2.3
LONG
storage of, 2.2.8.1
NCHAR, 2.2.3.1.2
NUMBER, 2.2.3.2.1
numeric, 2.2.3.2
NVARCHAR2, 2.2.3.1.2
object, 2.2.5
reference types, 2.2.3
ROWID, 2.2.3.4
TIMESTAMP, 2.2.3.3.2
UROWID, 2.2.3.4
user-defined, 2.2.3, 4.2.3
data warehouses
architecture, 17.4.2
bitmap indexes in, 3.1.3
dimensions, 4.5
materialized views, 4.3
partitioning in, 4.1
summaries, 4.3
database applications
definition, 1.1.1
database authentication, 7.2.4, 15.2.2
database backups, 18.3.1.2.1
database buffer cache, 2.2.9, 14.4.1, 15.4.1.3
cache hits and misses, 14.4.1.3.2
caching of comments, 6.1.3.2
flash cache, 14.4.1
database buffers
after committing transactions, 10.2.5
buffer bodies in flash cache, 14.4.1.3.2
buffer cache, 14.4.1
checkpoint position, 15.4.1.3
committing transactions, 15.4.1.4.1
defined, 14.4.1
writing, 15.4.1.3
Database Configuration Assistant, 6.2.1
database resident connection pooling, 16.2.5
Database Server Grid, 17.3
description, 17.3.1
Database Smart Flash Cache. See flash cache
Database Storage Grid, 17.3
description, 17.3.2
database structures
control files, 11.3
data blocks, 12, 12.2
data files, 11
extents, 12.1
processes, 15
segments, 12.1, 12.4
tablespaces, 11, 12.5
database writer process (DBWn), 15.4.1.3
checkpoints, 15.4.1.3
defined, 15.4.1.3
least recently used algorithm (LRU), 14.4.1.3.4
multiple DBWn processes, 15.4.1.3
write-ahead, 15.4.1.4
databases
administrative accounts, 2.1.4
character sets, 2.2.3.1
closing, 13.2.2.2
terminating the instance, 13.2.2.2.2
definition, 1.1
distributed
changing global database name, 14.4.3.1.3
hierarchical, 1.1.1
history, 1.1.4
incarnations, 18.3.1.3.4
introduction, 1
mounting, 13.2.1.3
name stored in control files, 11.3.1
network, 1.1.1
object-relational, 1.1.3
opening, 13.2.1.4, 13.2.1.4.1
relational, 1.1.2, 1.1.3, 7.1
shutting down, 13.2.2
starting up, 2.1.4, 13.1
forced, 13.2.2.4
structures
control files, 11.3
data blocks, 12, 12.2
data files, 11
extents, 12.1, 12.3
logical, 12
processes, 15
segments, 12.1, 12.4
tablespaces, 11, 12.5
DATE data type, 2.2.3.3, 2.2.3.3.1
datetime data types, 2.2.3.3
DBA_ views, 6.1.1.1
DBMS (database management system), 1.1.1
DBMS_METADATA package, 6.3
DBMS_STATS package, 7.3.4
DBWn background process, 15.4.1.3
DDL (data definition language), 6.1
described, 7.2.1
locks, 9.4.2
processing of, 7.4.3
deadlocks, 7.4.1.1
defined, 9.3.6
decision support systems (DSS)
materialized views, 4.3
dedicated server, 7.4.1.1.3
default values
constraints effect on, 5.3.3.1
definer's rights, 8.2.1.1
degree of parallelism
parallel SQL, 15.4.3.2.2
DELETE statement, 7.2.2
freeing space in data blocks, 12.2.4.2
deletions, cascading, 5.2.4.3
denormalized tables, 4.5.2
dependencies, schema object, 2.1.3
descending indexes, 3.1.2.4
detail tables, 4.3
dictionary cache locks, 9.4.3.3
dictionary managed tablespaces, 12.1.2.2
dimensions, 4.5
attributes, 4.5.2
hierarchies, 4.5.2
join key, 4.5.2
normalized or denormalized tables, 4.5.2
tables, 4.5.1
directory objects, 2.1.1
dirty reads, 9.1.1, 9.1.3
disk space
data files used to allocate, 11.2.4, 11.2.4
dispatcher processes
described, 16.2.4.1.1
dispatcher processes (Dnnn)
client processes connect through Oracle Net Services, 16.2.4, 16.2.4.1.1
network protocols and, 16.2.4.1.1
prevent startup and shutdown, 16.2.4.2
response queue and, 16.2.4.1
distributed databases
client/server architectures and, 16.1.1.1
job queue processes, 15.4.2.2
recoverer process (RECO) and, 15.4.1.7
server can also be client in, 16.1.1.1
transactions, 10.4
distributed transactions, 10.2.1, 10.4
in-doubt, 10.4.2
naming, 10.2.1
two-phase commit and, 10.4
DML (data manipulation language)
indexed columns, 3.1.3
invisible indexes, 3.1.1, 3.1.1
locks, 9.4.1
overview, 7.2.2
referential actions, 5.2.4.3
triggers, 8.4.1
downtime
avoiding during planned maintenance, 17.2.2
avoiding during unplanned maintenance, 17.2.1.2
drivers, 16.3.2
DUAL table, 6.1.1.4
dynamic partitioning, 15.4.3.2.2
dynamic performance views (V$ tables), 6.2
dynamic SQL
DBMS_SQL package, 8.2.4
embedded, 8.2.4

E

embedded SQL, 7.1, 7.2.6, 8.3.2.2.2
enqueued transactions, 10.2.3.2
Enterprise Grids
with Oracle Real Application Clusters, 17.3
Enterprise Manager
alert log, 13.6.2
dynamic performance views usage, 6.2
executing a package, 8.2.2.3
lock and latch monitors, 9.4.3
shutdown, 13.2.2.1, 13.2.2.4
SQL statements, 7.1.2
equijoins, 3.1.3.2
exceptions, PL/SQL, 8.2.4
exclusive locks, 9.3.3
row locks (TX), 9.4.1.1
table locks (TM), 9.4.1.2
EXECUTE statement, 8.2.1.3
execution plans, 4.3.3, 7.3.1, 7.3.2.3
EXPLAIN PLAN, 7.2.2
EXPLAIN PLAN statement, 7.2.2, 7.3.2.3
explicit locking, 9.5, 9.5
expressions, SQL, 3.1.1.1, 7.2.2.1
extents
as collections of data blocks, 12.3
defined, 12.1.1
dictionary managed, 12.1.2.2
incremental, 12.3.1
locally managed, 12.1.2.1
overview of, 12.3
external procedures, 8.2.6
external tables, 2.2
extraction, transformation, and loading (ETL)
overview, 17.4.3

F

fact tables, 4.5.1
failures
database buffers and, 13.4.1
statement and process, 15.4.1.1
fast commit, 15.4.1.4.1
fast full index scans, 3.1.2.2.2
fast refresh, 4.3.2
fast-start
rollback on demand, 13.4.4
fields, 2.2.2
file management locks, 9.4.3.3
files
alert log, 15.4.1.4.2
initialization parameter, 13.2.1.2, 13.5
password
administrator privileges, 13.2.1.1
server parameter, 13.2.1.2, 13.5
trace files, 15.4.1.4.2
fixed views, 6.2.1
flash cache
buffer reads, 14.4.1.3.2
definition, 14.4.1
optimized physical reads, 14.4.1.3.2
floating-point numbers, 2.2.3.2.2
foreign key constraints, 5.2
foreign keys, 2.2.2, 5.2.4
changes in parent key values, 5.2.4.3
composite, 5.2.4
indexing, 3.1.1.1
updating parent key tables, 5.2.4.3
updating tables, 9.4.1.3
format models, data type, 2.2.3.3.1, 2.2.3.5
free space
automatic segment space management, 12.2.4
managing, 12.2.4
full index scans, 3.1.2.2.1
full table scans, 3.1, 3.1.2.2.2, 5.2.4.4, 7.3.3
LRU algorithm and, 14.4.1.3.4
parallel exe, 15.4.3.2.2
function-based indexes, 3.1.4
functions, 7.2.2.1
function-based indexes, 3.1.4
hash, 4.1.1.2.3
PL/SQL, 8.2.1
SQL, 2.2.3.4.2
fuzzy reads, 9.1.3

G

global database names
shared pool and, 14.4.3.1.3
global indexes, 4.1.3, 4.1.3.2
GRANT statement, 4.6, 7.2.1
grid computing
Database Server Grid, 17.3
Database Storage Grid, 17.3
group commits, 15.4.1.4.1
GV$ views, 6.2.1

H

handles for SQL statements, 14.3.1.1
hard parsing, 7.4.1.1.3
hash clusters, 2.3.2, 2.3.2
cluster keys, 2.3.2.1
hash collisions, 2.3.2.4
hash key values, 2.3.2.1
queries, 2.3.2.2
single-table, 2.3.2.3
storage, 2.3.2.4
hash functions, 2.3.2, 4.1.1.2.3
hash partitions, 4.1.1.2.3, 4.1.1.2.3
headers, data block, 9.4.1.1.2
headers, data blocks, 12.2.2.1
Health Monitor, 18.3.1.3.1
heap-organized tables, 2.1.2, 3.2
height, index, 3.1.2.1
hierarchies
join key, 4.5.2
levels, 4.5.2
hints, optimizer, 7.3.1, 7.3.5
Hybrid Columnar Compression, 2.2.9.2

I

implicit queries, 7.2.2.3
incarnations, database, 18.3.1.3.4
incremental refresh, 4.3.2
index unique scans, 3.1.2.2.4
indexes
application domain, 3.1.5
ascending, 3.1.2.4
bitmap, 3.1.3, 4.1.3.1
bitmap join, 3.1.3.2
branch blocks, 3.1.2.1
B-tree, 2.2.8.3, 3.1.2
cardinality, 3.1.3
composite, 3.1.1.2, 3.1.1.2
compressed, 3.1.2.5
concatenated, 3.1.1.2
descending, 3.1.2.4
domain, 3.1.5
enforcing integrity constraints, 5.2.3
extensible, 3.1.5
function-based, 3.1.4
global, 4.1.3, 4.1.3.2
invisible, 3.1.1
keys, 3.1.1.1, 3.1.2.5, 5.2.3
leaf blocks, 3.1.2.1
nonprefixed, local, 4.1.3.1.1
nonunique, 3.1.1.3
overview, 3.1
partitions, 4.1.3
prefixed, local, 4.1.3.1.1
reverse key, 3.1.2.3
scans, 3.1.2.2, 3.1.2.2.3, 3.1.2.2.5, 7.3.3
secondary, 3.2.3
segments, 3.1.3.3
selectivity, 3.1.2.2.3
storage, 3.1.6
types, 3.1.1.4
unique, 3.1.1.3
indexes, local, 4.1.3
index-organized tables, 3.2, 3.2.3
benefits, 3.2
partitioned, 4.1.4
row overflow, 3.2.2
secondary indexes, 3.2.3
information systems, 1.1
initialization parameter file, 13.2.1.2, 13.5
startup, 13.2.1.2
initialization parameters
basic, 13.5.1
OPEN_CURSORS, 14.3.1.1
SERVICE_NAMES, 16.2.2.2
INIT.ORA. See initialization parameter file.
inner joins, 7.2.2.2
INSERT statement, 7.2.2
instance PGA
definition, 14.1.1
instance recovery
SMON process, 15.4.1.2
instances, 7.2.5
associating with databases, 13.2.1.3
described, 13.1
failures, 9.4.1.1
memory structures of, 14.1
multiple-process, 15.1.1
process structure, 15.1
recovery of
SMON process, 15.4.1.2
service names, 16.2.2
shutting down, 13.2.2, 13.2.2.4
terminating, 13.2.2.2.2
INSTEAD OF triggers, 8.4.2
integrity constraints, 5.1
advantages, 5.1
check, 5.2.5
definition, 2.2.4
inline, 5.2
out-of-line, 5.2
views, 4.2.1.1
interested transaction lists (ITLs), 9.1.1.3.2
internal locks, 9.4.3.3
invisible indexes, 3.1.1
invoker's rights, 8.2.1.1
isolation levels
read-only, 9.2.3
serialization, 9.2.2
setting, 9.5
isolation levels, transaction, 9.1.3
read committed, 9.2.1

J

Java
call specifications, 8.3.2.1
overview, 8.3
SQLJ translator, 8.3.2.2.2
stored procedures, 1.3.2, 8.3.2.1
virtual machine, 8.3.1
JDBC
accessing SQL, 8.3.2.2
driver types, 8.3.2.2.1
drivers, 8.3.2.2.1
embedded SQL, 7.2.6
job queue processes, 15.4.2.2
jobs, 15.1
join views, 4.2.2
joins, 6.1.1
nested loop, 7.4.1.4
views, 4.2.2
joins, table, 3.1.3.2, 7.2.2.2
Cartesian, 7.2.2.2
clustered tables, 2.3
conditions, 3.1.3.2
inner joins, 7.2.2.2
join conditions, 7.2.2.2
outer joins, 7.2.2.2
views, 4.2

K

key-preserved tables, 4.2.2
keys
compression, 3.1.2.5
concatenation of index, 3.1.2.5
foreign, 5.2.4, 5.2.4
indexes, 3.1.1.1, 3.1.2.5, 5.2.3
natural, 5.2.3
parent, 5.2.4
partition, 4.1.1.1
prefixed index, 3.1.2.1, 3.1.2.5
referenced, 5.2.4
reverse, 3.1.2.3
surrogate, 5.2.3
unique, 5.2.2
values, 5.2

L

large pool, 14.4.4
latches
definition, 9.4.3.1
enqueue, 9.4.3.1
parsing and, 7.4.1.1.3
sleeping, 9.4.3.1
spinning, 9.4.3.1
leaf blocks, index, 3.1.2.1
least recently used (LRU) algorithm
database buffers and, 14.4.1.1, 14.4.1.1
full table scans and, 14.4.1.3.4
latches, 14.4.1.3.4
shared SQL pool, 14.4.3.1.3, 14.4.3.1.3
LGWR background process, 15.4.1.4
library cache, 7.4.1.1.3, 14.4.3, 14.4.3.1
list partitions, 4.1.1.2.2
listener process, 16.2.2
service names, 16.2.2
listeners, 16.2.2
service names, 16.2.2
local indexes, 4.1.3
locally managed tablespaces, 12.1.2.1
LOCK TABLE statement, 7.2.2
locks, 9.1.2
after committing transactions, 10.2.5
automatic, 9.3.2, 9.4
bitmap indexes, 3.1.3
conversion, 9.3.3, 9.3.3, 9.3.4
deadlocks, 7.4.1.1, 9.3.6
dictionary, 9.4.2
dictionary cache, 9.4.3.3
DML, 9.4.1
duration, 9.3.2, 9.3.5
escalation, 9.3.3, 9.3.4
exclusive, 9.3.3
exclusive DDL, 9.4.2.1
exclusive table, 9.4.1.2
file management locks, 9.4.3.3
latches, 9.4.3.1
log management locks, 9.4.3.3
manual, 9.5
overview of, 9.1.2
parse, 9.4.2.3
restrictiveness, 9.3.3
rollback segments, 9.4.3.3
row (TX), 9.4.1.1
row exclusive table, 9.4.1.2
row share, 9.4.1.2
share DDL, 9.4.2.2
share locks, 9.3.3
share row exclusive, 9.4.1.2
share table, 9.4.1.2
system, 9.4.3
table, 3.1, 7.2.2
table (TM), 9.4.1.2
tablespace, 9.4.3.3
types of, 9.4
unindexed foreign keys and, 9.4.1.3
user-defined, 9.6
log management locks, 9.4.3.3
log switch
archiver process, 15.4.2.1
log switches
log sequence numbers, 11.4.2.1
log writer process (LGWR), 15.4.1.4
group commits, 15.4.1.4.1
online redo logs available for use, 11.4.2.1
redo log buffers and, 14.4.2
write-ahead, 15.4.1.4
writing to online redo log files, 11.4.2.1
logical database structures
definition, 1.5.2.2
tablespaces, 12.5
logical rowids, 3.2.3
LONG data type
storage of, 2.2.8.1
lost updates, 9.2.1.2
LRU, 14.4.1.1, 14.4.1.1, 14.4.1.3.4, 14.4.1.3.4
shared SQL pool, 14.4.3.1.3, 14.4.3.1.3

M

maintenance tasks, automatic, 18.3.4.2
maintenance window, 18.3.4.2
manual locking, 9.5
mapping tables, 3.2.3.2
master tables, 4.3, 4.3
materialized views, 4.3
log, 4.3.2
partitioned, 4.3.1
refresh
job queue processes, 15.4.2.2
refreshing, 4.3.2
media recovery
complete, 18.3.1.3.4, 18.3.1.3.4
overview, 18.3.1.3.4, 18.3.1.3.4, 18.3.1.3.4, 18.3.1.3.4, 18.3.1.3.4
memory
allocation for SQL statements, 14.4.3.1.1
content of, 14.1
processes use of, 15.1
software code areas, 14.5
stored procedures, 8.2.1.1
memory management
about, 18.3.2
automatic, 18.3.2.1
automatic shared, 18.3.2.2
MERGE statement, 7.2.2
metrics, 6.2, 18.3.4.1
monitoring user actions, 17.1.5.1
multiblock writes, 15.4.1.3
multiple-process systems (multiuser systems), 15.1.1
multiplexing
control files, 11.3.2
redo log file groups, 11.4.2.2
redo log files, 11.4.2.2, 11.4.2.2
multiuser environments, 15.1.1
multiversion read consistency, 6.2.2, 7.4.2.1, 9.1, 9.1.1, 9.1.1, 9.1.3
consistent read clones, 9.1.1.3.1
dirty reads, 9.1.1
read committed isolation level, 9.2.1.1
statement-level, 1.4.3, 9.1.1.1
transaction-level, 9.1.1.2
undo segments, 9.1.1.3
mutexes, 9.4.3.2

N

natural keys, 5.2.3
NCHAR data type, 2.2.3.1.2
network listener process
connection requests, 16.2.4.1.1
networks
client/server architecture use of, 16.1.1
communication protocols, 16.3.2, 16.3.3
dispatcher processes and, 16.2.4.1.1, 16.2.4.1.1
drivers, 16.3.2
listener processes of, 16.2.2
Oracle Net Services, 16.2
NLS_DATE_FORMAT parameter, 2.2.3.3.1
NOAUDIT statement, 7.2.1
nonunique indexes, 3.1.1.3
normalized tables, 4.5.2
NOT NULL constraints, 5.2, 5.2.1
nulls, 2.2.2
foreign keys, 5.2.4.2
how stored, 2.2.2, 2.2.8.4
indexed, 3.1.1.3
prohibiting, 5.2.1
NUMBER data type, 2.2.3.2.1
numeric data types, 2.2.3.2
floating-point numbers, 2.2.3.2.2
NVARCHAR2 data type, 2.2.3.1.2

O

object tables, 2.2.5
object types, 2.2.5, 4.2.3
object views, 4.2.3
OLAP
index-organized tables, 3.2
introduction, 17.4.4.2
OLTP
table compression, 2.2.9.1
online analytical processing
See OLAP
online redo logs
checkpoints, 11.3.1
OPEN_CURSORS parameter
managing private SQL areas, 14.3.1.1
operating systems
communications software, 16.3.3
privileges for administrator, 13.2.1.1
operators, SQL, 7.2.2.1
optimization, SQL, 7.4.1.2
optimized physical reads, 14.4.1.3.2
optimizer, 7.1.1, 7.3, 7.3
components, 7.3.2
estimator, 7.3.2.2
execution, 7.4.1.4
execution plans, 4.3.3, 7.3.1, 7.4.1.3
function-based indexes, 3.1.4.2
hints, 7.3.1, 7.3.5
invisible indexes, 3.1.1, 3.1.1
partitions in query plans, 4.1
plan generator, 7.3.2.3
query plans, 7.4.1.3
query rewrite, 4.3.3
query transformer, 4.3.3, 7.3.2.1
row sources, 7.4.1.3, 7.4.1.3
statistics, 2.2.8.1, 7.3.4
statistics gathering, 18.3.4.2
Oracle
configurations of
multiple-process Oracle, 15.1.1
instances, 13.1
processes of, 15.3
Oracle Audit Vault, 17.1.5.2
Oracle blocks, 12.1.1
Oracle Call Interface See OCI
Oracle code, 16.3
Oracle Enterprise Manager. See Enterprise Manager
Oracle Flashback Technology, 18.3.1.3.2
Oracle interMedia
See Oracle Multimedia
Oracle Internet Directory, 16.2.2.2
Oracle JVM
main components, 8.3.1.2
overview, 8.3.1.1
Oracle Multimedia, 19.3.4.4
Oracle Net Services, 16.2
client/server systems use of, 16.2
overview, 16.2
shared server requirement, 16.2.4.1.1
Oracle Net Services Connection Manager, 8.3
Oracle program interface (OPI), 16.3.1, 16.3.1
Oracle RAC. See Oracle Real Application Clusters
Oracle Real Application Clusters, 6.2.1
Enterprise Grids, 17.3
reverse key indexes, 3.1.2.3
Oracle Streams, 17.5.2
Oracle Text, 19.3.4.3
Oracle XA
session memory in the large pool, 14.4.4
ORDBMS (object-relational database management system), 1.1.3
outer joins, 7.2.2.2

P

packages, 8.2.2
advantages of, 8.2.2.1
executing, 8.2.6
for locking, 9.6
private, 8.2.2.1
public, 8.2.2.1
shared SQL areas and, 14.4.3.1.2
pages, 12.1.1
parallel execution, 15.4.3.2
coordinator, 15.4.3.2.2
server, 15.4.3.2.2
servers, 15.4.3.2.2
tuning, 15.4.3.2
parallel SQL, 15.4.3.2
coordinator process, 15.4.3.2.2
server processes, 15.4.3.2.2
parameter
server, 13.5
parameters
initialization, 13.5
locking behavior, 9.4
storage, 12.3.3
parse locks, 9.4.2.3
parsing
embedded SQL, 7.2.6
storage of information, 6.1.3.2
parsing, SQL, 7.4.1.1
hard parse, 7.4.1.1.3, 9.4.3.1
soft parse, 7.4.1.1.3
partitions, 4.1
composite, 4.1.1.2
dynamic partitioning, 15.4.3.2.2
elimination from queries, 4.1.3.1.1
hash, 4.1.1.2.3
index, 4.1.3
index-organized tables, 4.1.4
keys, 4.1.1.1
materialized views, 4.3.1
range, 4.1.1.2
recovery of, 4.1.3.1
segments, 12.4.1
single-level, 4.1.1.2
strategies, 4.1.1.2
table, 4.1.2
tables, 4.1.4
passwords
administrator privileges, 13.2.1.1
connecting with, 15.2.2
PCTFREE storage parameter
how it works, 12.2.4.1
performance
dynamic performance views (V$), 6.2
group commits, 15.4.1.4.1
packages, 8.2.2.1
PGA, instance
definition, 14.1.1
phantom reads, 9.1.3
physical database structures
control files, 11.3
physical guesses, 3.2.3.1
plan
SQL execution, 7.2.2
planned downtime
avoiding downtime during, 17.2.2
PL/SQL
anonymous blocks, 8.2, 8.2.3
collections, 8.2.5.1
data types, 2.2.3
dynamic SQL, 8.2.4
exceptions, 8.2.4
execution, 8.2.6
language constructs, 8.2.4
overview, 8.2
packages, 6.3, 8.2.2
PL/SQL engine, 8.2.6
program units, 8.2, 14.4.3.1.2
compiled, 8.2.6
shared SQL areas and, 14.4.3.1.2
records, 8.2.5.1
stored procedures, 1.3.2, 6.1.1.2, 8.2, 8.2.1
PMON background process, 15.4.1.1
pragmas, PL/SQL, 10.3
precompilers, 8.1
embedded SQL, 7.2.6, 7.2.6
predicates, SQL, 3.1.2.2.1
SQL
predicates, 7.1.1
primary key constraints, 5.2
primary keys, 2.2.2, 3.1
constraints, 5.2.3, 5.2.3, 5.2.3
hash clusters, 2.3.2.3
index-organized tables, 2.2
private SQL areas, 14.4.3.1.1
described, 14.4.3.1.1
how managed, 14.3.1.1
parsing and, 7.4.1.1
private synonyms, 4.6
privileges, 6.1, 7.2.4
administrator, 13.2.1.1, 13.2.1.1
granting, 7.2.1
PL/SQL procedures and, 8.2.1.1
revoking, 7.2.1
procedures
advantages, 8.2.1.1
execution, 8.2.1.3, 8.2.1.3, 8.2.6
external, 8.2.6
memory allocation, 8.2.1.1
security, 8.2.1.1
shared SQL areas and, 14.4.3.1.2
stored procedures, 1.3.2, 6.1.1.2, 8.2, 8.2.6
process monitor process (PMON)
described, 15.4.1.1
processes, 15.1
archiver (ARCn), 15.4.2.1
background, 15.4
checkpoints and, 15.4.1.3
client, 15.2
dedicated server, 7.4.1.1.3, 16.2.4.1.2
distributed transaction resolution, 15.4.1.7
job queue, 15.4.2.2
listener, 16.2.2
shared servers and, 16.2.4.1.1
log writer (LGWR), 15.4.1.4
multiple-process Oracle, 15.1.1
Oracle, 15.3
parallel execution coordinator, 15.4.3.2.2
parallel execution servers, 15.4.3.2.2
process monitor (PMON), 15.4.1.1
recoverer (RECO), 15.4.1.7
server, 15.3
shared, 16.2.4.1.1, 16.2.4.1.2
shared server, 16.2.4
client requests and, 16.2.4.1
structure, 15.1
system monitor (SMON), 15.4.1.2
user
recovery from failure of, 15.4.1.1
sharing server processes, 16.2.4.1.1
processing
parallel SQL, 15.4.3.2
program global area (PGA), 14.1.1
shared server, 16.2.4.1.2
shared servers, 16.2.4.1.2
program interface, 16.3
Oracle side (OPI), 16.3.1
structure of, 16.3.1
user side (UPI), 16.3.1
program units, 8.2
shared pool and, 14.4.3.1.2
programming, server-side, 8.1
pseudocode
triggers, 8.4.6
pseudocolumns, 2.2.3.4.2, 3.2.1
public synonyms, 4.6

Q

queries
blocks, 7.2.2.3
definition, 7.2.2.1
implicit, 7.2.2.3, 9.2.1.1
in DML, 7.2.2
parallel processing, 15.4.3.2
query blocks, 7.3.2.3
query transformer, 7.3.2.1
SQL language and, 7.1
stored, 4.2
subqueries, 4.2, 7.2.2, 7.2.2.3
query blocks, 7.3.2.3
query plans, 7.4.1.3
partitioning and, 4.1
query rewrite, 4.3.3, 4.5
query transformer, 4.3.3

R

range partitions, 4.1.1.2
RDBMS (relational database management system), 1.1.3
read committed isolation, 9.2.1
read consistency. See multiversion read consistency
read uncommitted, 9.1.3
read-only isolation level, 9.2.3
Real Application Clusters
cache fusion, 9.1.1.3
system monitor process and, 15.4.1.2
threads of online redo log, 11.4.2
records, PL/SQL, 8.2.5.1
recoverer process (RECO), 15.4.1.7
in-doubt transactions, 10.4.2
recovery
complete, 18.3.1.3.4
database buffers and, 13.4.1
distributed processing in, 15.4.1.7
instance recovery
SMON process, 15.4.1.2
media, 18.3.1.3.4, 18.3.1.3.4, 18.3.1.3.4, 18.3.1.3.4
media recovery
dispatcher processes, 16.2.4.2
process recovery, 15.4.1.1
required after terminating instance, 13.2.2.2.2, 13.2.2.2.2
rolling back transactions, 13.4.4
tablespace
point-in-time, 18.3.1.3.4
Recovery Manager (RMAN), 6.2
recursive SQL, 7.4.3
redo log files
See also online redo logs
available for use, 11.4.2.1
circular use of, 11.4.2.1
contents of, 11.4.3
distributed transaction information in, 11.4.2
group members, 11.4.2.2
groups, defined, 11.4.2.2
instance recovery use of, 11.4
LGWR and the, 11.4.2.1
members, 11.4.2.2
multiplexed, 11.4.2.2, 11.4.2.2
online, defined, 11.4
redo entries, 11.4.3
threads, 11.4.2
redo logs
archiver process (ARCn), 15.4.2.1
buffer management, 15.4.1.4
committed data, 13.4.1
committing a transaction, 15.4.1.4.1
log switch
archiver process, 15.4.2.1
log writer process, 14.4.2, 15.4.1.4
rolling forward, 13.4.1
writing buffers, 15.4.1.4
redo logs buffer, 14.4.2
redo records, 11.4.3
REF constraints, 5.2
referential integrity
examples of, 5.3.3
self-referential constraints, 5.3.3
refresh
incremental, 4.3.2
job queue processes, 15.4.2.2
materialized views, 4.3.2
relational database management system. See RDBMS
replication, Oracle Streams, 4.3, 17.5.2.1
bi-directional, 17.5.2.1.2
hub-and-spoke, 17.5.2.1.2
master database, 4.3
n-way, 17.5.2.1.2
one-way, 17.5.2.1.2
reserved words, 7.2
response queues, 16.2.4.1
result cache, 14.4.3.3, 14.4.3.3.1
result sets, SQL, 2.2, 2.2.3.4.2, 2.2.6, 4.2.2, 7.4.1.3, 7.4.2
RESULT_CACHE clause, 14.4.3.3.1
results sets, SQL, 7.2.2.1
reverse key indexes, 3.1.2.3
REVOKE statement, 7.2.1
rights, definer's and invoker's, 8.2.1.1
roles, 2.1.1, 6.1.1.2, 7.2.4
rollback, 10.2.3.1, 10.2.4
described, 10.2.3.1, 10.2.4
ending a transaction, 10.2.3.1, 10.2.4
implicit in DDL, 7.2.1
statement-level, 10.1.3
to a savepoint, 10.2.3.1
rollback segments
locks on, 9.4.3.3
parallel recovery, 13.4.4
use of in recovery, 13.4.4
ROLLBACK statement, 10.2
rollback, statement-level, 9.3.6
rollback, transaction, 7.2.3
rolling back, 10.1, 10.2.3.1, 10.2.4
row cache, 14.4.3.2
row chaining, 12.2.4.3
row data (section of data block), 12.2.2.2
row directories, 12.2.2.1
row locks, 9.4.1.1
concurrency, 9.4.1.1.1
storage, 9.4.1.1.2
row pieces, 2.2.8.2
row source generation, 7.4.1.3
ROWID data type, 2.2.3.4
rowids, 2.2.8.3
foreign, 2.2.3.4
index, 3.1.1.3
logical, 2.2.3.4, 3.2.3
physical, 2.2.3.4
row migration, 12.2.4.3
scans, 7.3.3
universal, 2.2.3.4
rows
addresses, 2.2.8.3
chaining across blocks, 2.2.8.2, 12.2.4.3
clustered, 2.2.8.2
definition, 2.2.1
format of in data blocks, 12.2.2.1
locking, 9.4.1.1
locks on, 9.4.1.1
migrating to new block, 12.2.4.3
row set, 7.4.1.3
row source, 7.4.1.3
shown in rowids, 12.2.2.2.3
storage, 2.2.8.2
triggers, 8.4.2

S

sample schemas, 2.1.5
SAVEPOINT statement, 7.2.3
savepoints, 7.2.3, 10.2.3
definition, 10.2.3
implicit, 10.1.3
rolling back to, 10.2.3.1
SAVEPOINT statement, 10.2
scans
cluster, 7.3.3
fast full index, 3.1.2.2.2
full index, 3.1.2.2.1
full table, 3.1, 5.2.4.4, 7.3.3, 14.4.1.3.4
index, 3.1.2.2, 7.3.3
index skip, 3.1.2.2.5
range, 2.3.2.2
rowid, 7.3.3
unique index, 3.1.2.2.4
schema objects
definitions, 6.1, 7.2.1
dependencies, 2.1.3, 4.2.1
dimensions, 4.5
indexes, 3.1.1
introduction, 2.1
materialized views, 4.3
relationship to data files, 11.2.1
sequences, 4.4
storage, 2.1.2
schemas, 2.1
schemas, sample, 2.1.5
SCN
See system change numbers
secondary indexes, 3.2.3
benefits, 3.2.3
physical guesses, 3.2.3.1
SecureFiles, 19.3.4.2.3
security
administrator privileges, 13.2.1.1
auditing, 17.1.5.1
definer's rights, 8.2.1.1
program interface enforcement of, 16.3
views, 4.2
segment advisor, 18.3.4.2
segments, 12.4
data, 12.4.1
defined, 12.1.1
index, 3.1.3.3, 3.1.6
overview of, 12.4
table storage, 2.2.8
temporary, 2.2.6.2, 12.4.2
allocating, 12.4.2
select lists, SQL, 7.2.2.1
SELECT statement, 7.2.2
selectivity, 3.1.2.2.3, 3.1.4.2
self-referential integrity constraints, 5.2.4.1
sequences
concurrent access, 4.4.2
definition, 4.4
surrogate keys, 5.2.3
serializability, transactional, 9.1
serialization isolation level, 9.2.2
server parameter file
startup, 13.2.1.2
server processes, 15.3, 15.3
listener process, 16.2.2
servers
client/server architecture, 16.1.1
shared
architecture, 15.1.2, 16.2.4
processes of, 16.2.4, 16.2.4.1.2
server-side programming, 8.1
overview, 8.1
service names, 16.2.2
service oriented architecture, 1.5.4.1, 16.1.2.4
SERVICE_NAMES parameter, 16.2.2.2
session control statements, 7.2.4
sessions, 7.2.4
connections contrasted with, 15.2.2
defined, 15.2.2
memory allocation in the large pool, 14.4.4
sequence generation in, 4.4.2
SET CONSTRAINT statement, 7.2.3
SET TRANSACTION statement, 7.2.3, 10.1.2.1
SGA (system global area)
allocating, 13.2.1.2
contents of, 14.4
data dictionary cache, 6.1.3.2, 14.4.3.2
database buffer cache, 14.4.1
large pool, 14.4.4
redo log buffer, 10.2.2, 14.4.2
rollback segments and, 10.2.2
shared and writable, 14.4
shared pool, 8.2.1.1, 14.4.3
variable parameters, 13.5.1.1
share DDL locks, 9.4.2.2
share locks, 9.3.3
shared pool, 8.2.6, 14.4.3, 14.4.3.1.3
allocation of, 14.4.3.1.3
check, 7.4.1.1.3
dependency management and, 14.4.3.1.3
described, 14.4.3
flushing, 14.4.3.1.3
latches, 9.4.3.1
parse locks, 9.4.2.3
row cache and, 14.4.3.2
shared server
described, 15.1.2
dispatcher processes, 16.2.4.1.1
Oracle Net Services or SQL*Net V2 requirement, 16.2.4.1.1
processes, 16.2.4.1.2, 16.2.4.1.2
processes needed for, 16.2.4
restricted operations in, 16.2.4.2
session memory in the large pool, 14.4.4
shared server processes (Snnn), 16.2.4.1.2
described, 16.2.4.1.2
shared SQL areas, 4.2.1.2, 7.4.1.1.3, 14.4.3, 14.4.3.1.1, 14.4.3.1.3
dependency management and, 14.4.3.1.3
described, 14.4.3.1.1
parse locks, 9.4.2.3
procedures, packages, triggers and, 14.4.3.1.2
shutdown, 13.2.2, 13.2.2.4
abnormal, 13.2.2.4
prohibited by dispatcher processes, 16.2.4.2
steps, 13.2.2
SHUTDOWN ABORT statement, 13.2.2.4
Simple Object Access Protocol (SOAP). See SOAP
simple triggers, 8.4.3
single-level partitioning, 4.1.1.2
SMON background process, 15.4.1.2
SOA, 1.5.4.1, 16.1.2.4
SOAP (Simple Object Access Protocol), 1.5.4.1
soft parsing, 7.4.1.1.3
software code areas, 14.5
space management
extents, 12.3
PCTFREE, 12.2.4.1
row chaining, 12.2.4.3
segments, 12.4
SQL, 7.1, 7.2
conditions, 7.1.1, 7.2.2.1
data definition language (DDL), 7.2.1
data manipulation language (DML), 7.2.2
dictionary cache locks, 9.4.3.3
dynamic SQL, 8.2.4
embedded, 7.1, 7.2.6, 7.2.6
executable, 10.1.2.1
execution, 7.4.1.4, 10.1.3
expressions, 3.1.1.1, 7.2.2.1
functions, 2.2.3.4.2, 7.1.2
IDs, 7.4.1.1.3
implicit queries, 7.2.2.3
interactive, 7.1
memory allocation for, 14.4.3.1.1
operators, 7.1.1, 7.2.2.1
optimization, 7.4.1.2
Oracle, 7.1.2
overview, 7.1
parallel execution, 15.4.3.2
parsing, 7.4.1.1
PL/SQL and, 8.2
predicates, 3.1.2.2.1
recursive, 7.4.3
reserved words, 7.2
result sets, 2.2, 2.2.3.4.2, 2.2.6, 4.2.2, 7.2.2.1, 7.4.1.3, 7.4.2
select lists, 7.2.2.1
session control statements, 7.2.4
stages of processing, 7.4.1
standards, 7.1.2
statements, 7.2
subqueries, 4.2, 7.2.2.3
system control statements, 7.2.5
transaction control statements, 7.2.3
transactions, 10.1
transactions and, 10.2.5
types of statements, 7.2
SQL areas
private, 14.4.3.1.1
shared, 14.4.3.1.1
SQL Plan Management (SPM), 7.3.2.3
SQL tuning advisor, 18.3.4.2
SQL*Plus
alert log, 13.6.2
executing a package, 8.2.2.3
lock and latch monitors, 9.4.3
SQL statements, 7.1.2
SQLJ standard, 8.3.2.2.2
standards
ANSI/ISO, 7.1.2
isolation levels, 9.1.3
startup, 13.1
prohibited by dispatcher processes, 16.2.4.2
statement-level atomicity, 10.1.3
statement-level read consistency, 9.1.1.1
statement-level rollback, 9.3.6, 10.1.3
statements, SQL, 7.2
statistics, 2.2.8.1, 6.2, 7.3.1, 7.4.1.2, 14.4.3.1.3
ASH, 18.3.4.4
AWR, 18.3.4.2
definition, 7.3.4
gathering for optimizer, 18.3.4.2
Java-related, 14.4.5
join order, 7.2.2.2
undo retention, 12.5.1.3.2
storage
logical structures, 12.5
nulls, 2.2.2
triggers, 8.4.6, 8.4.6
STORAGE clause
using, 12.3.3
storage parameters
setting, 12.3.3
stored procedures. See procedures
Structured Query Language (SQL), 7.1
structures
locking, 9.4.2
logical, 12
data blocks, 12, 12.2
extents, 12.1, 12.3
segments, 12.1, 12.4
tablespaces, 11, 12.5
physical
control files, 11.3
data files, 11
processes, 15
subprograms, PL/SQL. See procedures
subqueries, 4.2, 7.2.2, 7.2.2.3
summaries, 4.3
surrogate keys, 5.2.3
synonyms
constraints indirectly affect, 5.3.3.2
data dictionary views, 6.1.3.1
definition, 4.6
private, 4.6
public, 4.6, 6.1.1.3
securability, 4.6
SYS user name, 2.1.4
data dictionary tables, 6.1.3
V$ views, 6.2.1
SYSDBA privilege, 13.2.1.1
SYSOPER privilege, 13.2.1.1
system change numbers
definition, 9.1.1.3.1
when assigned, 11.4.3
system change numbers (SCN), 10.1.4
committed transactions, 10.2.5
defined, 10.2.5
system control statements, 7.2.5
system global area. See SGA
system locks, 9.4.3
internal, 9.4.3.3
latches, 9.4.3.1
mutexes, 9.4.3.2
system monitor process (SMON), 15.4.1.2
defined, 15.4.1.2
Real Application Clusters and, 15.4.1.2
rolling back transactions, 13.4.4
SYSTEM tablespace, 6.1.2
data dictionary stored in, 12.5.1.1
online requirement of, 12.5.3.2
SYSTEM user name, 2.1.4

T

table clusters
cluster keys, 2.3
definition, 2.3
hash clusters, 2.3.2
indexed, 2.3.1
scans, 7.3.3
tables
base, 4.2.1, 6.1.2
characteristics, 2.2.2
clustered, 2.3
compression, 2.2.9, 4.1.2
definition, 2.1.1
detail, 4.3
dimension, 4.5.1
directories, 12.2.2.1, 12.2.2.1
DUAL, 6.1.1.4
dynamic partitioning, 15.4.3.2.2
external, 2.2.7
fact, 4.5.1
full table scans, 3.1
heap-organized, 2.1.2, 3.2
index-organized, 3.2, 3.2.3, 4.1.4
integrity constraints, 5.1
joins, 3.1.3.2
key-preserved, 4.2.2
master, 4.3, 4.3
normalized or denormalized, 4.5.2
object, 2.2.5
overview, 2
partitions, 4.1.2
permanent, 2.2
storage, 2.2.8
temporary, 2.2.6, 12.4.2.2
transaction, 10.1.2.1
truncating, 7.2.1
views of, 4.2
virtual, 6.2.2
tables, base, 4.2
tables, external, 2.2
tables, temporary, 2.2
tablespace point-in-time recovery, 18.3.1.3.4
tablespaces, 12.5
described, 12.5
dictionary managed, 12.1.2.2
locally managed, 12.1.2.1
locks on, 9.4.3.3
offline, 12.5.3.2
online, 12.5.3.2
overview of, 12.5
recovery, 18.3.1.3.4
schema objects, 2.1.2
space allocation, 12.1.2
SYSTEM, 6.1.2
used for temporary segments, 12.4.2.1
tasks, 15.1
temp files, 11.2.2
temporary segments, 2.2.6.2, 12.4.2.2
allocating, 12.4.2.1
allocation for queries, 12.4.2.1
temporary tables, 2.2, 2.2.6
threads
online redo log, 11.4.2
time zones, 2.2.3.3.2
in date/time columns, 2.2.3.3.2
TIMESTAMP data type, 2.2.3.3, 2.2.3.3.2
TO_CHAR function, 2.2.3.5
TO_DATE function, 2.2.3.3.1, 2.2.3.5
trace files
LGWR trace file, 15.4.1.4.2
transaction control statements, 7.2.3
transaction tables, 9.1.1.3.2, 10.1.2.1
reset at recovery, 15.4.1.1
transaction-level read consistency, 9.1.1.2
transactions, 10
ACID properties, 10.1
active, 10.2.2
assigning system change numbers, 10.2.5
autonomous, 10.3
within a PL/SQL block, 10.3
beginning, 10.1.2.1
blocking, 9.2.1.2
committing, 10.2.5, 15.4.1.4.1
group commits, 15.4.1.4.1
conflicting writes, 9.2.1.2
deadlocks, 9.3.6
deadlocks and, 10.1.3
definition, 10.1
distributed, 10.2.1, 10.4
resolving automatically, 15.4.1.7
DML statements, 7.2.2
ending, 10.1.2.2
enqueued, 10.2.3.2
in-doubt
resolving automatically, 10.4.2
interested transaction lists (ITLs), 9.1.1.3.2
isolation levels, 9.1.3, 9.2.2, 9.2.3
isolation of, 9.1.3
naming, 10.2.1
read consistency, 9.1.1.2
rolling back, 10.2.3.1, 10.2.4
partially, 10.2.3.1
savepoints in, 10.2.3
serializability, 9.1
setting properties, 7.2.3
terminating the application and, 10.1.2.2
transaction control statements, 7.2.3
transaction history, 9.1.1.3.2
transaction ID, 10.1, 10.1.2.1
transaction tables, 9.1.1.3.2
triggers, 8.1
cascading, 8.4.1
components of, 8.4.4
compound, 8.4.3
effect of rollbacks, 10.1.3
firing (executing), 8.4.5
privileges required, 8.4.5
INSTEAD OF, 8.4.2
overview, 8.4
restrictions, 8.4.4
row, 8.4.2
shared SQL areas and, 14.4.3.1.2
simple, 8.4.3
statement, 8.4.2
storage of, 8.4.6
timing, 8.4.3
UNKNOWN does not fire, 8.4.4
uses of, 8.4.1
TRUNCATE statement, 7.2.1
two-phase commit
transaction management, 10.4

U

undo management, automatic, 12.4.3
undo segments, 10.1.2.1
read consistency, 9.1.1.3
undo tablespaces, 12.5.1.3
undo retention period, 9.2.3
Unicode, 2.2.3.1
unique indexes, 3.1.1.3
unique key constraints, 5.2, 5.2.2
composite keys, 5.2.2
NOT NULL constraints and, 5.2.2
unplanned downtime
avoiding downtime during, 17.2.1.2
update no action constraint, 5.2.4.3
UPDATE statement, 7.2.2
updates
lost, 9.2.1.2
updatability of views, 4.2.2, 8.4.2
updatable join views, 4.2.2
updating tables
with parent keys, 9.4.1.3
UROWID data type, 2.2.3.4
user program interface (UPI), 16.3.1
USER_ views, 6.1.1.3
users, database, 2.1.1
authentication, 17.1.2
names, 6.1
sessions and connections, 15.2.2
privileges, 2.1
temporary tablespaces, 12.4.2.1
UTL_HTTP package, 8.2.2

V

V$ views, 6.2.1
VARCHAR2 data type, 2.2.3.1
variables
embedded SQL, 7.2.6
views, 4.2
base tables, 4.2
constraints indirectly affect, 5.3.3.2
data access, 4.2.1.2
data dictionary
updatable columns, 4.2.2
fixed views, 6.2.1
indexes, 4.2.1.2
INSTEAD OF triggers, 8.4.2
integrity constraints, 4.2.1.1
materialized, 4.3
object, 4.2.3
schema object dependencies, 4.2.1
storage, 4.2.1
updatability, 4.2.2
uses, 4.2
V$, 6.2
virtual columns, 2.2.1, 2.2.8.1, 3.1.4.2

W

warehouse
materialized views, 4.3
Web services, 1.5.4.1, 16.1.2.4
write-ahead, 15.4.1.4

X

XA
session memory in the large pool, 14.4.4
XMLType data type, 19.3.4.1
PK(<4lXSXPKM%AOEBPS/img/cncpt305.gif4GIF89anlllfffPPP666Ővvviii>>>ooopppJJJ|||:::NNN<<<EEEcQUUUO)))///000a\X]]]ZZZ ,,,XXX&%&NLM888rlhƪzzz444 ?;:RRRtttHEE2--cccBBB#""LLL644@@@KKKCAB999(&'212梢Џyyy___```ϰߵﱱrrrsss鯯􁀀RQQծΣ[[[SSS^^^Ў333|{{TPN;;;534OIFӑxxx~~~^^_A@A}AAAƷ{wB@@(((NMM423U???WWWvuvlkle}]CCC!!!ƿH~~bab+*+yxx978! tsskkk}}}OOOHGGet`{yz/-.?=>puo===###!,n H*\ȰÇ#JE(3jȱǏ CIɓ+^Dɲ˗0cʜIJ5sɳϟ2oJѣH_ MʴӧP.JիXjʵׯ`ÊKٳhb2IIK]W\qq&L6%˜{cl? \k a˛iK kftmYP lcs `/7 %;qoRg^iAC ͮ$-xd%csA6[L,ZDO%EQ? D@} zfzǠ`FZF9O q R hc((b)C0X`E"#[hъ"Ò6r [-`yCifAn!?hhQ=~@n@9% 0eg6Z&%\'at\jQZ7fh6ZUqdT$.m& j mfv+k覫YRwBnϽ..l' 7G,Wl1U_1ZoX,W!lrV%2ƞ0,4l8鶷 A%=qY{[ЊA/ y!#uGZFq2l+2:RiQ32NN}gBzO[6}[b8݂KY`#t^Fq"q3DH!tqid6hXrW$ģ*6Gh Qp$>Atet!M 7dq9a j&#fJ S?"!J2`TDFF"AFض8O+6G?-ĤL'iTb0#xEFmG03ԌU8NT[7 d#oqt%Q5lΓ`rDq!#`2^&&(\$dB(w`؂e80pw 1 8A$A&E&!\RD'!]XɌ0F08m-q$Qlb?b#=%snaf`jdoImdg6-YxfAhf v`o`{{+uДOw0 vV|qJ*Y"fBeKtgE[{kF  0 p S# uy]>zH0, mgOhQkicGl##DlIh < Iٚ- pz\pSP@)" WRE ymUXl6?d*Q19f !pSp 0f@1NWǑ DpeDv[f#jxFIHhRڑ_d -H v zl`v:yx$m@t>1’A&,7m\mp0F :qIIZ`ZxRfw7"`j'7☑Y 7+ hrG*Ǡ,V؂Gpz zʧ~"R2 K%$B""Yiq EmIet`&@ab\(&)CU -ѥBI#bDuX[HHg;f`"i٠(u@ P/ڭ$(%;9SZD14HĀEPpR;T[V{' -OH?aaksR$<-T^,N4rAL"'T@'-é*u z::~ j%;x>F !ᴪ3:9렢h0zZy:Z겞 9_WLN[=ݳ̋=sqH(Ѩ˚؂`  p蛾kjҗC D&Shw AAA:>+u <zʸ嫾쫻Xɻ钹R k FbfFK˲U .k9+?ˎ<mD\F|Hz沲&P LḐK.tQsA d@J ) `p E>Q}z3l5rDfԋv:% VD ol   v岲B@ P RJ ZȆܾ<{H;m`Łcd <ޙ)P:x P|| 8\|Jm<\̪*䲲c̭씮؂$ɚ |̣,ۂ - =]}i"с38Id<jn rL:Mx8>@B=D]F}H ԉ;)=Gl V}W2&^`b=b}<$$^&~ p+/^K2T2$|eb41.4n@n>8>$:>MFH]A3Tl6( ڰk\^`'A<.o xlnpr>x .R!;F`>^εL>.A1 0޴1 3cHA05 a @+RM|[^: @:e.~쁰 X`-A k 4*zhp s~֫3g|F H > > 7`  m j ؎ nVn1يqK0Fk^.#ZpP@*0 Ip[ +`ZpPP 0dmR?/<(~X$> ,N)b*P\o$҅=8/NLy H~spy-"83Wn"?_/"籚zQ-[up?_p!RE&8'a1n+3o۟??_bs%#PB&? .dC%NXQa8X4nG!E$A)Ud91PZWLYϞq%Z(ƒI.eQQNeXͩ:n%Uaq"mZY,OŮeVURvU[y HV&\a֥!Vc,R[2ϻ5ggi<``iԩUfڵ4H6-_7&块 8Y/W^pO:%orܻY\f i34ϧ_}ݧ^3$r `#. l+<#. tС2gB iş,DPz)JpEcqF ҭD2@r }D́J02 1GNI/Ҋ .K0 4S ^0Ts [n!4((6on[cPB 5PDUtQF b؀: O,LO=6uTRK5TTSUuURdH,(LҨ8Y{T7}]Vn=PvYfuf)SXj?E,ʨ6GcUWxvhm5ۡ'qՕsӝ;vR]x]~ ` nEh+Yix@5]q߄d*uKb.yڔkVQw6h+mYKgf#Rϟ.B@%vq-zfY6Hd7^hß6v&xk`^8Ŷ jHBS <*BZ8 VIb3dB~^A`9\,Sۯ;<}t2$pO6 %DzWvgM{C , oR;܎_а, \r}XمHxD()`Y"E@,&@Q"H*Nzbh/~0^Q*auUF87r #bGNQs,bpd @IH.H>d'vɆdAmH%ITn ~Aa*mɰUOH=R&Z3 0>B% I2LlV:&U9=ffSQQ3TBLd痜qq',9RiSg?;S-'Q9PV+)<Pj-T%hE%Q&hGQ5GMJ%NDBVYI]ꠔF αJ :RC)DV*S;IO#TK%*MȖKjS[bT1G*%iCWMuS/[MaƕkjL TUt]W3mk` ;eA6V`+d";ف~u%XdMYljV%ŤgAPѦ4iZ!u8a[lG9qZ8vHxxȅF}_{I+a,{V 9<-Z*IU/~|65y/szZ/+,3e!,$7 |%?o?.C @,@$ "J6y@5!vA.3 , #$2@Di P  D<`7B…pJ€ڃ`B;x„%iAt$|A|)Cq; =3 4[)؃5 B53< 4;\4+B-Y@ `4'B(PCB @LPLO ԃ4C4A,TEO )X('`D4⵹/HBMuD7ЃIe'J@he\}FHt}Fv'7XuHtw¨d r4P'dLBЬ4N<ylTB䤾ZNE=@<4jY=CP=؃ D̙O| 웾*L BH0tV<JqP φЊρZkCէ ]=LQ˶КN|BIU4Dl(Jm Rb"Ҷ)zQ%(DM4 +Do,+U-;ߜM ]U!OQU[&90z^]+@LaVZӖ0[^Vx>Vn}`eeyrV0P) `2+WyWzW>pW}e Tr5 3mW=Xy\XmmV/2Xϓ؍nXX20pC MY]YE؈-׉ppx7XYW.0ȁ>P(ZYq^מ}ZE(Y0Z 󇦍ZZzZZEͬ [}[ȎKۚ(Y l}=X7?8Xh۷=X>ۤA.܃xW-\ą;e}\W7 7\p?`^2W}^x٭+pY XEJE7EXȕ2@.p\^.-Yx pX]Xp]^/2{e>`+[x+ `+н5`_?_70Y=^ЀًxE`ʽ>TumP`^}( a4,W傸?X_.I&+`͕*V&Yޏ ]EU(08Bb ?э[mW ^%5> z35>bދuedz\8E`ܿ D p-_ X+ך`A|^=UHdK$ڿEX>[z\{f y`EZe\, d̽pf[{Dp\l. ԂRfhfrg? ^sg\0p7Xgvgy9XecEݚhlp} gu9Y6h`a4@xh9NXSu^PJi>iC+9蕦:ȃx kg7(YATXM^.j΃8Apt`anw [@RPQXjkv6jNIKP-Vِo  ;OPj^(lj6fl~KH.MP `V<Ё A`NhFNk؞mnDNNmn.2Gp+@Dx(Roo T@E0OX;?FnnV>V݆MPovo~DHB L8CHCop7ngmj~po?_o3/n_l wl G _o"#'qGq,Pqw'q)?pmXH-Vl&s7rGs%_s&ws()Gp^+;=.sA[oviweLWm pƞJrIAo pslq1s'wM'vwtw/wwPvD{'xW}g̈́@†@Yu&=A*Lh".wgk~ê$C7C"E6BHxwkOHeDMŒRzR\SPUdC|XLBE߼EB:|L UkvELhlgDȶ+lF?UtUd\ǎH%{-1{q'{G}GǀN'C$D}|u|Woğ_IEJiHFXIp{MlÆl}"?_HK}F4JGTM5|Y۰Qtx l}g[E?kGQkLqzh 0nso/NbixQ #2wqYZypBa'H?\R`nhrjyŽG) x!n$mؐѶYxaZS?ʝz[h &&Z UiE @TR·$݁ێ<)ݥ+G:hd݇y zywHΠ賥7  M ,*ltJC24{T!ꬡصӜXT@g:9tpM0esrZҷVF1ȓM|QśB8RUMA 7215E%?23T4Wd33ER^F'9QKnPO5]}1Zw=6V/-6m6q=7z\6y35}7 >8;7c_Px2 oQ)9p *~n),QrgO+8 : G '~WO2%DJ]lRF{8 H"B& D@!xbw(0I#@a((, %( 4 n(`0 D<9zң=y|#̇>}?  #C_Um"l7]/{7/}k7/8!p(F^nΦ,b$~#| */ܢ hN1C?~XA!bD&' ,,8AFC\Rƞq$A%PN,aQH^хZ`!<ɅrXhe_Gβ#./G^nEydWLJѠtA󍍌#YKJ1c/9 H# 8!)ИdfHX--]jҏD)(`P&)K:JҖ̣.3G_0AD>D8STi<z͈ܴ(% ;Oj2HĜRx:Ԛ.6): iY!t=Av%@n\4W*OԞ۬"T5;E]*_-(ΆVDe iA Ga9fC+Y)^Vi?uKDMMl5҅$ RE-J83:8Cĉ D0.RB<@ R:@ \`JBӥc t@,&z K&C"$a@ng< &>R7$`(@ ` 0!c᐀wD(B, XA%/YN ?A`$!p@ˑ1I BdPF?E|׉N0bTVU/A/gs%@AkO{W8PBr3#-ISҖ43Ms;C&P "S}Tխac=D6P@;PK`44PKM%AOEBPS/img/cncpt121.gifGIF89a@@@jjj666kkkrrrppplll<<>>NNN|||111RRR}}}搐///***!!!...ccc&&& 888PPP:::zzzIIItttxxx''' nnnSSSKKK└^^^333hhhddd)))+++wwwaaaiiiFFF%%%HHH EEEZZZ$$$!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗/ИI 34:JՈ4059"Eg:fࠊEҠeҴ9N>B5E*"P*uOv6?EO PYsٹӮm6.˘.˛x<T6w!p #X T-̟uK? "DwJnfd8 O;.0r)]w@h3C鷍7Ḿs?r#4Gtwf}x`QDkՖ{&upMۀQ@lFuyefcG PpbukeNX1?)?F"8Q:F"\!ԅhyWOȀ5”%jJ T?:DOE`SQL"i?u?u$  G bVz?4i ((a韘 +za-(HdO?TZgz d%u Ϧ r@"XWu + Zqф+n#L*$ /l(C'$w\pc)M x3P "" %"?cq̲˾Y1":]\??=?DдDG=5J Ğ^ ]|JasV֫6n˯ +0zu(Ԁ0 ѰE7h֒d&`?gt BKR4hKA.r4(zmC@?쾓1|@{ bzN?lL_aPLoQ@kLΟOC5?9l<#[6Й \?P:ֹx#Hn ~d?HxKVH6 [ s _fIA1v=4 H@etC (P n0^!.B1_\@ч=0 ݩnWX `P. >x@qҐas?_Pb(&B%)sx$.ьQb- ^ 1DXHhA-(рoo1Hhcpms$KuUHQ m1Xc(0$Rb<ӨL` IM`cO'$ݝ2f 50 @ 7ä &Md*萠”f6%`i΁s|?iNMpSY̮6dvFD ^}G6ܦQ1}f`x%0¶` A?:O+XŠnB5ʱgk\풍!t|x5Þ8S2lzǫ50 j4 >bY^m@,>MvsHpua]A WsQu tAv݃i e {XP$vl83d|&`0Ѕʂ  B3 4KfD1b PF1rIT?@gNsxa(@ЇN@1 nϑN[}\bNvgD}sL Nxϻ.< xz9@x/"9X& -o7w< qS M#VֻgotBЂY O~><(# O}اFK @O4B'\@R۷B .׀~ @_ }P؁ "8 B@.0(p9:$hXHL(0.'> !Πa pPPD@ $qp\X]y@-`Gݝ4^Ȑ tjlnNeN㦠o|Nz v~' z犾z`  >BNFJN刍|L-m.Tb~ם>^p JpsȬzȞ ή> oK~ >9IPA>E~IMQS^夎姾 7wetpJF.l Ot!R.V^Y\_E}ԠDTp8:<\Pf:<_F@ B5Pྠ^o.WnZ].ocN1npr?- .p@~-êN}p Bp_?a^-'/t?_9/on[?N,/?-JoνٿOY%?+g/0?poN$X`A.d)L!02PB"O!&.{\%BӦ9}#!Bw)  TjW8sjZlv[nun5n%J[{]x-W]vVP =LDeuF7:V!`Vxavaw`Jb3xu)fM 4yo{2MvU5u2W,ryg{g湔kf4Vzi8hZSiNZJ1 =6U4e6֬`!V{mvmff4{oU<{pFﱶPcQ=3e[eQ1,2|s;sC<+4SW}u5X}vI!ʼnePdUMsf_}?xW~ywy忭Ҡzwtw{뿽W&w!Wf@B~~׿JJP\ d`'8H6RY+f+gNXM#ѦW3PUs$Pi`XgA9_0(Ap bxD$&QKdM?Sb7J5˰b8E AD*صeĩ\vsHwB{*;>Ru~!DA1n_.$01_%-3P@5yMlfSf7 (4f9yn>1Lj Nx4d429K %hA zP&T 5u9,hE`5BhG=:03)|"eO=4JOY%iMmzST;MIӡC%jQy JΨKeP<&uFG@x)L™QRˤ89V&v^Z*<PH An8R+| а701  :f!at;z*VB L{ZԦVemk]Uj|mmm{[׆rIn}z ^2d9:p bC=p0Vl @@7fP D/s~+|CG{#!UgOך|Ʃ_ó;|`yOtFHKDXAppa !0< d )Фh X+fq]Ƕ*`|c&[gZccY06`\ $$YKfr=d(GYSDleO8cđ,qCT0e^i|>fBsV Yq|g<9j*.Z t }hD'Zыf [ꙥt-h8Q.t=() C#-4"Zֳum}k\04 ][50{,fvm +'}mk1za{8Bс_b/:pb)zA nF VK x ~p'\ g2] x-pux)hG[!yBMn aDrh#.cX!G0|tH!,A@c4` 8\#(ɝ^rD"& ~ug][z׽0BVA~v{.QkؐvXdA bP( J0 H H #[I`&1u\.|=yЇ^|hҧ^'=^wh1x|_x0x|F!+Dr|Є gigЏ;JipަJ@?bco)^zc Հ>^|jZ=`0vacx?k31@ @ @@@1+ALAevxXAA|6I0 VA^Ё ӂ8$# _` /B/B0 C1C2,C0\%4C6lC7,Cb;iixC;C69M#P7C1`JXͰ @HDIDJDKDLDM)!DP EQĵ#06ETLEP䱩8xEXWD72E[E\E]E^EBpEY v@m]hD~=hSNҐFl&Fo\mdABr t&(Gr( `TDi8 hP}\8h0C?L4#(2HD#?MȎQS/HI\IlI|II/Ёd^ >Xg.+ .8@+P4JTʁ(@dP H0H^^=8^MT-_Z8B0Xj_ZXNh>xXP`J\]@&a;5 > p` h!fHy"X&na~aan'X"N f80 UPx, ܅Է&^U*b #+]u<^/cWuT 8(Jb!`G9c: "+pkhhnL'_@ hdG~dHdIdJdGF_%"XKdOdJF"eS>JFn 5_)Zf[e\e]e^e\eZNeXH>_sP)u&X+fmfnfjȇ|mq.rX%9sngmp6grvv6+gwgjhygq6m oh (E nh~hhhf^"cHo؄#(:q8[`T#]6iiVh@ii&ii-jfjn/VhvmX<TyPNîj#NG\xP(fC+D`Sr98,9RpKXG~lȎlɞlʮl˾lAxx( 5G2BVf  P)PRڇG) 恾(BHXPn4fhmшx:xT`X+kH^]6r`ls_vW\#`T+MncG@ USFxK(H1@h@=* :fhvpyyGy(o<zTe-st]\JwЂnL` sXr/X21|ap X `= p(H`^h!ȁd``$-ܸgt(ܴ+{ˏoA,b2HbJ] 'AE X !Bf>!2₫UZںw -½}xw8O#cs5~6#zOYs8k:Dpˆm\ K sVL#[hC*ldpX:ю. t0y0VFb;+T`@)Fp%4Q A! A6p -)q}Ԣ ՀG3@a-dt]'v`86p?A  5&,DM- Gxz`@(-(LSe@"xA$Pm< @A%&<8C0xl4Pr,F:T Mb 9!%EXr '<0RQ5ltԁ?Aтxx^lm^\뚍h vs` ~@@ ȁk?\!x,B,C> 2Lpʢ {c8 68"(2U ? +'m?ѽ7f#& Aw{wc!/p;8ZɠPvryATI RM}jgxy+:M77o}8 7x, h0 x؄uLR;//G5#g*x/NW|OuG> |/NaT!?ja)Ӧ#qo;9 x^݅g:⟾x;u=׽L4)`A=r?DAd?HA&C^%1=IUaq{!Gz<9BĠC̠m`)}_ ֡ p=!FN!>-8B@T!v؀!^an!H8ap@!Fr  `&_`E?dÖ4#>"$F$N"%V%N?̆%v'~"(V8C hH 8*"+Jb&RΟ`_! C&P11#2&2.#363*#?<#5V5^c3?cp?68#4YE^`M5ـD#rX477]cAĢ:a-;""/c"6?|@>pc$6j7S_#΢c bW>)X%D @>p? )*PB/P(.%0C6"C9_3?\%C6?A-Cԁ܁A+5?@Dۤ1ԃ@jp$V+ 3P/܁?A+.d?P?C(@?L@-0C6PCĂī8PfCHf\ʮYM+,,+"m"2ӞAB]mnx,Ȋ,zkipe~bfDA>B*sA#hD)\?t,ȿBG- $ @9TB*mCPG)D&\]CDHAN/V^/Yn)4(T?DB_N+R 2h,@%(?̂.?+W `?TRr炯-.ꪮ-un k9O/&& hO+\Rg&&r:5" ?`F&䁽P"%4?A"A(A0ԁ?l@~!*hI ?􏠾3(0m#ı1ױq(%7r1(X@?bK&{(,)6fA y)LpDq /qA4qGݿNsXq4#G?2N%c2?wk>.ްBpgq*h0hC]5@"gG2WC Gq q >m7203’A>3?3Un+k/7s@=(@{P$0S(RKD'@1B?HC26k?ʿR/?h8?@D#2HEkг5 _3fqe0CH?P4@4:4"*h7h.,!u@ 5t)/'.Ex?A$7?=@,Q6b'b/6c76SE;C#\C_eVC_2u$<?74sPt(/o14+ x68yCc6p/65C@TSU7bf߂WXuuZcjC7CHCl϶ 5` 25Qsa*&D4&:BB5pA>P"ÄAhL(5(F "ց"$3ȃP@=d=,+(yo8׸8+?B6B;BwWAC :.߬:pB2C;E/2YxA~S9B++Ky=Z(0)pܥ}F? JvFkv A009?+7KYp*U`3F{PͯOFA;X 4xaB5t8&}xcF#8#I "6LeL\O&I~i/JNѓMS#t(M%:UTd[u,ؗ1p&jw@B E<"Ě8s%XXPPM:,ٲL*pߒ^I6}ujիM׺1"NJKCڗr1@rH2 ݽ >\ Z:6lN08x3l:99Pm<&L "q+?tv14)в+i;ˈ*렢4#&E' `aˏC' qČx*L*3'`-./#0c1$24ӡ.jbJ.01Y)s?AC0GWjWlSO= .jdKc!"rşx! a1Q^$TJ~eENMuV_i"m67AKGԟP6(BީF^ȁ(fp#Y kՖ[oȨaf ğLj%ѲG$xG(hAg8oFg$IQdGq2X9_¹uDŽ*LqHc]؄9Eb Q2şYn(Ai裓a[:::0怉 F (N!q DfP lҔ>YD! K p*(Q4@Y\FTBҸF1iq@H<"x0@l F eHC 1 #9f0 Au -9`}T||@fa 5̏$g g, i I _4U@?F@0T? MiRX#XXSNs1\ 0 *in4W|?y@Ԉ v^)T(kbƥB9) aP,(F5Qf FtF E+x @$jڂ1`j  _RI^ZfpE2x ,"xҀ5rPh[:W5#t.$QXUbXT8"J0 Pja`D>@}t@gA+|N: ᨥ4 nX< JuPixE:PkXHiO+2׹ЕnF0 䍔5OUz^ NUƄBA!(ы^?( xLVq&|# pD 4a!@`H+P wH~q`cųFЌ+71BT8$?!.b %(vax:*j0>Lf39#D$A@$?g?Ё ]>X%| ‹EDp\?4R D|S .rQG4#`-6y=_g7May`Ѭv5'reT A'G 7F\xF΀x& T=U!D@U!U~ ! $k9^- xwdq3) $}k'I9q67gF: hDB) RpG!9,цI9" 4@&_g\}FⳫ:A^;!ĵw<$E%wC!Qj i8B7@=\r(V0A`^zafG}aJvqa˼/ J$Bba 4X"0K'-u{x WT "_Lo,X 3B 6azx @"pXT2.,Əb ANf@,$ҁ @ ҁN|an먡 PFB0;, 6 ;0'2P# .N @< m . ŀ۰0EJ(fqJq-a #Q'+/ S %F0 Qc 9 O`jhcQaHosQw{QEfQia |@C[1K[F Z(@ñ ˑZN11 I䤐I!  R  ZaF!!"#R"'"+"%";#?$+rB%SR%1R#&cR&g&k&o'sR';(R(((;(;`~a)**2))+`R,!(g!R,r"^r'.R.c' `R/2/݆Xrv0 3ߴ00r/s0S2M`. &3!fa/a"331r.K4O'} ` p!J jd6o7O!p$`PL-s 0 99:S: d v.C& O2nf$(+~s7=T3#€88m A?@T@? 2p2;/ Hc8N=IB!X=aBG4t%:4ޓ$ :n a|FkFoGsTGwF!f  $T`4L,<5"&DųI3B<"JT>/" !֑XL4@@ a6MNTNNM`p@ ` PV 4R >4#L4ZAKT%4(RSD5bBd!`Aڠؠ VcUVgVkVc\Z!~ƠGX4 #!aE7"!!¨:#Jc89 * U^^^_̰` |!ur2o΄4R5LuѬ4c]K5B%JCF! a 6@[bVfgfkfogev  pdA  @A2 NtoB DT;KcZ`BM#k['P(` OUoo p( BX `!@`hJA>AbtXXUV`tKN7uU:F!at]A7: PVWyyyWyA*8$ > a ,@ &:f9v}ݷ!S~7l !a9eL!؁#X'!$"& !0 :¡!|/s1™vSBc/_m#R`. `z؇Xx5'tmK.'bi*l"J(׉ILxx)؅x6dV#טcY(B6ؐK"$ 2@|G̾! yB7%"Xպ@ Jٔ=Ԡ 2"2 ' NRy[T`4`<#3Yؓ3y$9E!!#RA$Z ZRỸ9?Y( $  A0a7W$@t!*z #a tg$$%fZ՜)aAA~0 "d d@)@Ҧ!AjA!h`@ Z.A*a!HaOA;oش5nN ("!#fH)3 n (T@R4ZT@j.@ Nr Z (ƻz=!ZOn=:@#| \T! ^9^ ϞU-b8W ^v{I -Al1?]fEQw?KANR_)[c_BiwaZw)H )]϶?'!cR_[]$Z )@ Q7I"798=_ <0…# !BD?<(8`"Í;zC)BH0,[|Aʼnb Tp<{ٱEs==:tMd*,FHZuSLHMIرc:{rI6ܟTܪ&8&ԕ{ w"=` ~3M 9frͻT:uKm(8Vl#(vW;;$Ŀc'Wq1?'pb5A_͟O/@uPDY_Mls̀t傐u ?X3B/G afC Y|B 7 ] h#d8xb, I(dp2ҘAYȎ 6WD$d BHjڒ@(Ŕe^jәGcjidgzg~ (?H)) . 3: ("i^<i{@*꩟9I0aE Jkފk 7HTR~73l.,G*{M8!hLm>bL.WI,K-H`4(aGo pvD:_dgb&qCOLq_q-89p&ŧı0{30r6k< !~:hN? uROMuV? .a q\MvfO2^pAhMwU?s B)8j@xx/~DII\lCz袏Nzk'3N{; }],O<颸3{7䑜B/B=\=kKޫ~?~柟C9LQ*K~ ~ !0o  ,/9 ?jp ryiC   Ѐ `odG00Amqch=,ԁ-XC H>O{ cd,ψ4qd4H u1" 9JG7,r{7Er$Ƞ9ͬ&!!:7 j!#t8@r" $pMr0 Rpk#x5\J'0A2c~ic"iH-)&-i8Sڒrj  P@p.W>%X@@C9a +e A;exQэӘ J&ZRFu,E7Q:ݬԭ}i\RN7NYϟuE=jRԧFuUUծRa] BLȬtZ 4ξ5`[EL¤H_S4@*QT2թP*UUrիbH9Y ivE5?:p-4L.oXtMaawX6•lq'L\6!,v ˬ.~Bj%n_e mb{XBv@@A`BW RӚX)wk`"$/sX. ndk,-7wx{d6=[̒6`m[X#CrY5^p~tL Fg3:Y%δ>{zۋA'`6u^ iC$yɣvfA^K@˴5sx#$Lz߁}c{;ukU 6MmZwr"0Dbq,\6vkp?Gܙ&wG-cf+e}fG SyG LaNAkSn/Яv]Zo"1Ѕ;J񳎼G r%Urg7<ѱU6,'^q`vr/sua.GrS2~ ȈTaoOC{6m;vA<! DY K%oĆWGcJ:ɓD JY `RJp,y%0F Dɔ J^y%HdGUz'ZK  y` `И`R=PY P 9`RAMc ٘0Й.ez撪Ǘ,'V{gܸdvv{|; ʹُ>i{{{Zpeb{hP;Z{ܩxyz~~!ebr@r[PJ * 0R  8 iQe *  !ٛTHwx?@Db4EJi8JhYRPJIZ/JJ5j" Q餤/D4v(~9Kw~ أYmיpIef*lE'vꖧ@qT?iCgꁍ?s#Ʃq.ƨQJJ9Mm֪}s-y|;sZ tZ}k˚ R:Z6QxveVYvj嚫ro &i::g󪇈 ~SŐ^P * `- 70 K 4`  p {@%g+ ke jeV * ItIP0O  epؐTu Z Đ P ">K*ؚںjk%Zt0p1d 7 C2 m` >@ N$Es d+   ` {> xz| ~ˀ:nkjPDP [ {།P[C@C׋c=]wg AQfeʻɦ 38D + v?#WZ`Vik cIH`G† Kpjp L+ z%\¸@[0:& àW0 ;p֐x` Dp ` 0ٹ1Մ pMmǍcѩ!M M}FAzlAb0-- >a0 @ N߬ p   Z|  w &կ݄ pgp{;-n'~ }#^ (.^,43!܋=?~=+=սa 0OQ.SNc@ oܡK.Ua>~ 6ޭ\.֮bQ` ۣ W˽y{܋v D0h.U~+6h`U_x! N.ꩮP.z N؏ފt-ݿN~ɮ.Ӟ`^!wjH0.ع{nKⷻs1~NKr1yN o]?FP2)UPFq"? 2?oF& COEoG.@ ^~1M">dWw # p `gikmN 0k b]uc}ϒO\ 50\/Q t [ K [{//wu P0 @/0' 0¨!o_m2` w1P @- oooB~` 0PgMDPB >Ȑ~-^ĘQF9" QH$\RʕJYr5mt SD TȜZP0@ETRM:99KМ9p$^ DD~W\uޕ+H}W`x+X&֋$Y5ZFΝ=ZhҜ xb┦s9!kf,aFb"\pōG8!{?rխ'O2tg[u]xlnj@/%_|}> z(vr;ٲ`0B 'B #97<0f.1D-<Wd=L|bFo1GwG9bSFł|XPyc+~2J)J+ 0v3L1 F.1d,i K椳N;3O=)^Jx̾jKEeQG4RI/C{,I7SHM4TS#5TU V-D V[o5W]wDU-*Xc5`cXdh\ZZ( o7\q%\sÍXmK s߅7^sn]B^}}j2 3N 8jv%8b'b/xbe8: 8dGƸz;^Hf!$O B8(B{& @vs(19 &lF;m~Rlm{2O~;y!fgPȟ "rbQ';0hhN!T:"-8|H;!DO=E+}=SH>yTkƟ 0Nx' 5xǡpēg~giZ8+!3

Q `8HB&`׾C6ґ$B"G2(d#Ї*H?Bd`A6@p@ J  &DA(,%kH'8e.w_st!zҕt[9ӥ>uWw7?w_{>v0JPvdoFwg{ u?e|?xGࡀv4d|%!}Y߱5y<|;E>rҗ^wӷ^7]?7O9r\|f{VA|7χ~ޣ~};~ŏ}CԿ~m0(?d:049Y0DD,6 ZOJXEDty@) O?{vxDA4,)PUdVtWXUTYC]^EZOb4YFS"tFxjQXOkFlTƓsBq mTulo48'>0OKM84x33Gy48PȅdȆtȇȈȅ 2'ȍȈ$4|ȑ$ɉH,8dɖtɗɘətrH6ɜID?ʠBɢ4ʣDʤTʥdʦtʑ&&p"Y|hO&JOJJJ@@-ʩ,K zKJ˧p؀%+cQx99t0\˃h@賅؀QPgxA+ Ll0;l .1nPx_X'ʴD쟸JTa&D`0c!E8`.dN~c"#&v2(bbP/`a@Whuah_=b',.`|݈38dv Pȅ'89 p;-[ɺl0r0^Pdr&0PY櫄xf|*"3Tu؍ }݈bP%m&:SpZ^RF03f&۱e`g5>dfZfijgfp.m^drXg~]Fs4]^]TX E`cKEjCEpKEN> ]'VkU*jCmd2.X7feX^h>V݁Ѕ2phYV]K8E`mѦ\UH׃`WV4@l6W(T. ,k6kqkkkʥ6.-l6adг`2P!Qh֥$ѕ݉%bX̎o=;9ɩ%4~fKZ*oF_`cpE o=\x02/!̾@qgk.iֳo5Yb r!qf]o$\Nn0nwf i-3mr11/6 bpg6a9' ;O0sr> 4G (-%e#;PK`x'PKM%AOEBPS/img/cncpt240.gif&'GIF89a}8BBB\\\e^ZzzzWWW???"""---MMMUTT ddd}|{~tqnmYXXkshiii|ws$$$;;;]ZYutr555***'''lll@@@666<<<Ήjc^񾼺SMJeob+'(($%cPhdbTwv`VTRet`ssscQdVOMLeb`olicKTRQGEEޟHFGtsh!,}8 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0KAS {@CE3ѣ=kL"2:H#FGǕcC(RBßӬpYHB18__A0 $H N& dioT-2w @oeI"$I8a M[ewg% Cb!*P/!$ Z y]\qfbt$ToYMdE;b\O8?B_ZCX@GPąPh?HOCѡ_},@@@OrijX^+ }9՗X 7t_(&ړmVa-.@{z'| b$ermtUNYϹf';o/ fWO$%VffQO_ z@iyU8J_-SeeX\ԊTu\S:BHFVk5@;UxgJj^_\9V Xf_}ݙ^Ae_1ekOYN%L:kcm5mp/)%ubb6e@ab%;-q5zXbY2=%_bx*A) Ӹ|VMixUԗCW\:M%C)!}e~%|vg^Vnj BԈ C:Ж/XWzug͸jЖS^um"#a CPUb@؎{!փdxx95|8,YQ2G͕,꾗_ Ȯ \ֽX@(Sr5^#S2?345B:Pkz_TUp L;!KaA)dkW>ă GH(L W0 gH]vp ". Gb(PH)@Ja\*zS|B%EX`Lc2:P `PhЍ8E 0S H'? $'II(`]c"YA>! (Gl$D)H㕰,gIKX Ф*a~T 0cI 㐻"]a:3e2m< i.dĦ8Go6iU2|&9%tD&={3ܧViM3(AiPaSgCkP*C- f4'G яr#5GMʊ %e)?Pҗ.)ӓT!hOaSƔ4JnjҢ&MRSԏ:PTzf)jFՒxu`X'Jֲ M+Gж5$p5\-P*lUGbq*%ӻRU:6ÊB/$ΐ&`aq^^!L`2 =ozAb3 v.GiX׾l NuPL&(XP@'Ls"5{ =;X$F~j! )Ww3cǓd&kc 3%lShP\ָ/c8j|Y%D(U!MU(Fp "N _cWu%( U.(Պ׿ a jlcΘF4?_3-Jq\8 *eWqG i0C@ mXq|<ϦaV`FhpR4 iIS4P1J&^M 3q8`Dt=V({< ȇmg:.J~ + 8d_{% `a}L>iOZԤ0/~68GQd#} laZ5l<ϾF:y $ Lh}-'f*b]xLdt`dx/!8`|/3P06cvtM1.SQVx3@Zvrf^"AUo}Ć*A=a>AȊShQ,!BGR'8pw1~@x}hl\!}qqvhR"Xeȇ-.xPW8`kX~~'>P<@L8X83׎Qqxyv?m<@tRLvFp6J\a0eGXyɋm(Y>`X6 DRWXmRX0aoxlj(< َ.Ujlٖno%6cCL)?p><{(Wv\^/p٘k9Ȋ= z?!r9_w邔!'g>~UWyv>q9)YUBIxu20i)xsY_蛽Ww8 LsqsX)xwƌ )df'A8i*\q!ӟq,鈠쨎@ȝǁ32M1Q*Z"`&~1r,R9KX-~'YڝhGM:Pa.,DG1qTb\ ECJ.r:tZvJ(]/Sp:uJmIEzzpx'!}jQ)OzQ*)xjWZ0mI"gꪺaJ6)~Q&Zf)V:ZZ*6@wʚ Q9iz!R*ګn\ ܺȒ'yr|*FjʫPZj+:HZk;(yGcx Row{ 0!Qnj HijVCx1ptʪ8˥iJ{yIRm!7aJ۬ۡFzFQm]'#ʵG99Зeˮ-ʶY1VXR<0tq>k3K[Z.$rD3n6HD+-v Y+ y A ۰8º5Gʊe^Ҹ]8nTxK5GȻeH Z~W3H*ۻ#`kd]P~)9;hP @% /03`ӻIRH&fT%Wİ:jw:F`"`!F T1)|{/,ÞH5\7<9<ÊdC|WD6ęPl`5?%\*R]R,Lf|f';n,mrb:vQu|zy~l}ǂLU<Ȇ`|ȊlȎVȒl<ɖld|ɚɞɢ?<ʦʦTʪɨʪʰ|ʬ<˖,˶ɸ˛˼#4ƿl@1ybD!.6 Yik]qrY#f \Snorusl:\<Fl@.rDw.$:M]ͯЎEWH+}W$*U3)w@,}y(mQ)qm%|0a;`6Ie}1oXӪD{$ R5MD EgRG!0LՉ W ֪TO je$G Il Caz&s-DQvYo 6UĔBxȌ\ۘk !mC[8y ĞMa:9L@k(u+I&u 9(R3TXoyWP29Hʔ"@}bk.܋I}W7 pYt 8$ t6pU}Cm(%Y[uÙ?@( @.2Dع.MK6?W稘jƹYBNȍ&iq@wwY9p 3B5ny_)6R%;wGB9~|-L-T< fB"--yxm(Ԡ,oY!b;\!Bip1~'D&U +ؿakmՀ#Ba,qqSYq)ǟBc)E)3i:]NB6B G"02%mkX;n+^".hNb*Q|W.8ݞC}'^<#eCn]z N0E Q$~A -v?˾tWsCWt22Q#f1z<Qj%O%AwqS>@ 6 Ia#GPs[،?%-LE ͂9JRВ?x$`ir!ȃC#u?.]ei!i)2B%1Js=J$cN{DSocI/%>_COO+oD)D_xav4?_֯k2T` `_` 5H0+$5_OVo*$Xp .dC%NOF 5nQ# E$YI)@KYŘ9u~ iOAU,Hc I.eSd 'nBўUŎ%K@.1ƈ"==1ċ8V^9#<BN@|aF#@ ((0"<@  H"8~܄)M*Md<2t0(`P:o(;,u+[dkm۷qֽwo߿>xqǑ'W~VaNKm^mnm~ nKns N?;, -./#0c1$2B <Ď4Tc5d6t7#8c9Bh }ˉ@T"QS׃ѽ㳑3TG0RH҈HLI|pJ 0-5 +OH!3cQۓB;񌴪=DtP S{p2+q<[1=ً=廱> yUT\@$\RA'B*'B-uZta6;]6PSt6" Un Do%W.UuʹX55EMOSThK]}d5[AaPZUr3/-9kձEhO>mݝjYyV"?wI&iSvr!b\%f/wK(s&{䁏NeWcNޚ^].l VZ^bzsZz6䂓^Kwi^r_W:ds3F?=-Xqƺ㉯rC`B z ]*9n3^(}p? †v.w¶pj+&7إ>q8lgu# 8s;DKx݃ZYWL W=nW_93FAY'~ 9D/ұev!hB ycc $vd#HB揊jD`% A$rрs"16%ASf[, Yʍyr=H5хĠH1a̗0yx?)qB2A40kz/g Mcâg.JgYQ" 折3HZ%A =K4gCJqO,69ҙ '"7^=t46Yx.Ӡt#&Ui4R2%i6GO!5K4%ĥӐ\eP bVe))iQ𔻄fנϯNEI1kJue 蔞md*{?GbBaUy A ӁX,&3U`QPtEU&WJ`mmN|f?%G[Hp7\F%{] q%5 oy{^We/yi0&aho}{j@z 81 P`B&2P/"@lP `)4; 5Ł8 :"(^H "̠6 D60؄ȰLD!TaaX^kb -5tDh!2˧Rp"cx fBp(*Ѓp /WYne0T%1!HDf!s(A u`pZtA0Kgz XR._AVa<x7 *faL"9 7a` NxEypX9 ԁP d1P xC&V|L@(,e0f1W+'sqIɓ{ZKk(!C'zщV]ѝNta7 Owt?Cetc'{~v]kg{op7 )p{~w]1ל^'| x'^,pBܙI,^|$2=y7k}Mxk~?}]x=򯧽S|?{_ǽgt/|=#}_x"~5Տ'B}"㯻2#g{s'R_?H;I?P|@>'@IL,A()@CPΆр"#P', J hP-NXjЀQ9Ѕ8RdpS GI S4>>ZZZKKK}}}Ⱦҋfffeeeɞ͒ggglllkkkjjj,,,hhhݛ񖖖NNN晙444333222111䏏***...(((555Ú+++筭 ///YYY^^^___??? ¶:::ddd666GGG;;;uuu%%%IIIbbbUUUTTTooo"""www888VVV'''HHH~~~nnn{{{]]][[[)))cccmmm!,XR H*\ȰÇ#JHŋ3jȱGB~Iɓ(S\ɲ˗07͛8sɳϓ3JѣH*tӧPJJeӪXjʵϫ^ÊKك`Ϫ]˶۷pʝKݻx˷߿ LÈ+fǐ#M+b)c̹R͞C}4ӨS4YÞM۸ {SMIĒ'ʕ0NFt!p` FhÈ?4o؃|_I z>ЀoݡA=G_yvy.8~Y'b@L1(Bxt A#Ar Ŝɨ{)&b1>&7BYH 1>`r 7#1 LSNWi#Dw%8@ f~0⚈!#X̋HdCB1 b1$PLɣ{ҙ26hLVX 1U ÑPjzgLgb ui`gI1i j"gBD T"1]Fmt-`' cpw뻀i ~J.^ت&[D tmprn(nXBdv@L{)N'2)E [̥*-vZtffm|$O7Dha@HeKQ EоgFIORoB;T`8pI AӑSy¤$Yq!2Zx3[)#c|f¹8ҫoG#x yIqQ=O}F݈jIZ*}(PڒcTvA$o(R( )FSy"}wvÞ[8t@RGZТ~D\UBC_D%|\HaɄ:=Nt)YE RNZHɁT5SQ@dfV6@&Qkv$)EG ==c#/Ɩ < &׃@J#)I@Y@%,MwG܇̡@,jS%pxRmg[qLpcHNe,d;L$7%O2\.{5f̋dYWW\ca,0,lT5HT ~21b#Ŏr,=ag]u)_POq4,LgH}Sx{sjgνwk`f }O{%1`f=^KAzdO' }s|_2v.Pjmm/kflȖh71veG8cP b&b#x%x' !-j<,8HC|X肯AhChEGX4b28cMsv@(XZȅ]GWr)6'cjhSFapc`XG 0f,SzHeևc'|臈8x7go?fyH׈bJh @ixgeH/rlfpG chgchgøhpL(-kbb6mFh/VuVh*vp(cҸ%.V،󨎐(c{bxԨii/VrduWwfxqɌ=Ȏ$!x. .fo0`hVk(vkζ'lVll&rl&mm)ֶmm(k:gt騊$ĸ'ɕi0f-I(eZyhb&bp{Popo;}p@h0p0PpOip t5q;&z@vȈi𨙛Ig"()* kvhs6jfi5Fh&vSwrr,w5s1Gsɘs0st t mWs{hmiD 靇GɁR`hUvtbOwp%x&VuvYuI5W)vuX)A :⩖٠j.ydVuFxgr)x7 +ǚxj+h(VoKk(Ɇ:ԉh!.V (/l()'VjpNPN**FbRLIJҶos&b/Ed*dc\b}Yj9j xqs*P|h:r8}WzqVc{I6y+GF}h*xZyAiXƥxꊜɠH{obqVo)Zcᓥ#j`gVvIcbkrכw vwʭ%Wk`e2ZrԪ)7 (@yz]iȖydho{:xq 8l˶xܦ5 b.7*kMPx.lY)6vؚzpj ZʯMs:o(P: bC*״J˴G(Ʈ䖣@U hԺJrhVcHfj;j6P9]0jRish tgxBdKk:;)'n܊9?湛pD+ִYWvڪxmb F mb+vbWa{Ke۸x;ovpOJrj?˸qb@=VD9ZWt ל!G)ƭ+GϨ_ֻ5'a$:VZe,;es;X;ԛ Ǿ٦s۪v{gىd( )K .h!gm˶K\a˓F[> ɛ0fz[3eW}kdHb;í rtʁILkL< iK (61Kv5|+;cvLt|pǽk{zZouGt_|: 1Ƹmi&Fv!m&?tjrypl5=i'jK5.> {ư`tzok1 rƖXm =ʄNNW>nn^w}gbbob coq{`}j^⭾.N bBh >׮>mZQA8dhS>UދN# j'NR o鮇? ӎQ~Ҿu1~#^/)/ZAX'nԇ?V_}>$<*6?&={{K^?W+dg<6ݭraV*sE}?zWMP?O ?_͐_?B/MWOWO_o#6>QQ_wF`?AҏO1 o0o !q?ԯa_$Xb .ThC'#V E2#G}dBI(N@%B$M9"Mc83IݸƠGŒcRC0$E>:TI֜S& T-ǎ-VZ'z{кv+n߈{z:g۴](0࿌  <- x;LYa}~XZfh֓MϦݑu6ܽ;8qQ'7"#L^wuyޝ7wg}yyΉAGsǧߛ|} ǿSzo+pAd0<.B  %<0*0! ?d.D#D./7Dۃ1f6oJYdr1;!\H#B2FqA 02&+(KI-2L$S1L5w?0.M9Ǣ;̓A/ۋ4=,C?-8GK4IEk4R.AQ2oCH9SPWI"Y35\?bU^s281rRzVzNM*^LYt"%֩7O],mNw9{ssM'=xmF@ 2qy%<]?@:޹qWxWc Rw A?X!nvU{;=dW*:,|}w^sH?U;˽4T'@2$0um߻)#G;!!@>嫞 ջ `H11 S?Tɹ݋k;4I`b0쓠{  7\$,cSq ! ?9A´<0;(ѩ"A5:S;S: "<>S*?T;B=\ZTFmF=RkJSDS̤|LMݟM(MO|QTNihUW}UXV!ԃ:TP ] 00Rp 4 Uba5,b'hX!'(gbm D0UBVX8+xU*b8q= vu_W5 f<i ЂBWXHE͈XXbh] mWb|]ňuW}X~m+8 ؜-'`4؋PX-!h:)֟؛-bIWuYU-hЁh\V=Y=e }Y=Ѕ Jك٬JLUWmZ5h}M m٬V=h`p-[[X MR1\Ye[͉XKĝܬXuą=`;N܂8%uYhMo ]^*[yEĽ^|m]݀K]ݖ]uH==3j_8^mV([x_Uo-_a۠&^E'X _05`V"`&ZtF t Ḿ 0i͉ &E(~VMP'~b'>QHfb(b)b^b(&U /~b0 $"`2V۸% Xb;6 bH*c@N@<.!`@K㭸P AG5dbXB & O`@bQdR,d@b䨘@0[feeZV`NV bhsފ^e-eb0[T&U[.$Xv Y=d@-N bbƏPan&e5&jNX-if@APJSXᡐXg9T fPfw:o bgq>db\sA-u$bTy)رa)`^9Um~ES .@܂sF[ԇ$TDIiiH0ij~ih]^`` >k`b&bu~kait&NhlaHl̽i~lfvlȖlb`P˾ifjHՆ~؞ efm׆mmm 펶kmצnN ~>훾n6nNoNob>oFkV6$V .6NFbF)>n!pmhHp  pp"b qG>m֦jaq HՎ?Er% p)O*rfrqfqs&s3qFgsaP3w42Fœi >D_(Ѐ7gF7tDEtaptMtgrHHH^Vu0khxX\OoVH\ajcvuqQ'kHVkvisb'ovkoovNwl6'6OV^ow~jw_oqoa&Iu`&yxo' (r Oywyp(|Oo'xf6xOo6RoyzRxxyz'wzG⣇srsywRyLWtt z'|Gx_n^UguWk˷~'z'7{aXb6}cOvvvug{EΝ7ptw{bpq7|6{叁?~Gqq"'u`^-~_ 򷓺^s'b,f Q@D k @"Nx1Fa)* ʔ*Wlr% gQ؀MH 9wNa Ay)Ԃ M'ЪDi԰b[p -DnB`"1TƊ-kV!17ryaλ7ԛ^YQ>)b&I)_FVyB3[oKn22 KsM .w]߿h2!yo#Wۢ^5 7p9e|PAv70zR`Us4ߝj;%}(LNH RLfZ18#H#=*uc7x>I#13w$7%S;FidI8戡qHՕGd@eԢny-ikoYii$1<& ='} XR+r݆uPagh&2X鏠Z Ij qh&4(x*֨dڥ*LI}q:h\p,n+ 1p(Zk"-D%Uk-_%l%wpB=`6kOJCe $T.1wk %00.Ola @$t LjIE|[=$Po܀I̢- h^RxUü-oK3YLkGJU+1@픻+$jߠؔD٢vO ݐ<;ԝЄNvL= #RKLÀZ'p0^wJ[kCx%`:dwW,">P{^5 ]0/NnAc{N)1G.^G {CxA_L 6<⑟$Ba'1REz?ȶat!HevJ!{b @Z2KVT!C* _bo_Pcʉ@x'ȸWq ^Obl(M٩ ԡVCϙ-vr}89.͑" JIaJ%1Ä́_x\*Qcq0]D5%KYy\lK)Vʐ\N}*T*թ> 8@խrV*.CuxB0jbnY bеv+^Wq V5xqd X𠱍d#* XH(8Y)p ]^W@cYRf;Ўwҁbe`e EV uhSRmj}w=nr+ x ^Z8/pX 'Be_ϒ[ַł" Ypָ  [ ;x", d@ Vp\8dhP iB@_^, &0C<x.@ ,S# ".YVyC&r]$;@M~2f. ,Ctx3 g+9[7_kM0 SmyC-A`@}K HHpCpVC H"F.!톸hhr4NS^{l߾ gŋ t0a3_~. }Lѱ?L@1v Vu֟I^밃 T?ŁUH>`]YܵL 1M]Z @AYYZb`n`"AB5 0 2` z`ؠ @l !!  N Ka!.a `  [ ~ fa&!6 >aL֠va J!Ɯ?}a b!(( ̽č@*"+biK+" ͢-".bK".H-"0"K0ֆ*2.cJ#3/F#5VA9J$5"4n7~`#8G29c#:L7;#H;?cJ#@A$B&B.$C6C>$DFDN$EVE^Bv`$GvG~$HHEE@dԣJ"4$L KƤ($Md$NMOObO%QJ?e %R.%Sz6>TTVU N^Vnee%W~%XW%YaYZޏSe([P_\\%^楝ܥ^F#wuW[fwP@18@`@4iE&Z:dJ&b@Q0f]Ib@hղò1pf8@f]mjk&x1w}AЦAA`:Z1@4s&sf?نs>PG)fdA|q*&LgqsvvDi}Pgx91l U l:@Е0gyj6gkC 'PU'|GTu:h:&A@ hnR(}H]>hg@  |1@~(1tA∈& t@1hd1hih\' (:@v>@Hi1T)tJJD&gwէ@8( Ajfvׁ6@x)\g֘,[y({fdrhgH*f@:jg,Agyzf(́hR*k"(]) jdR~Z*bg:+Fv篪>p(1}fi1<& ާCxZ @~:^jNJ+榚ƫ+\U( gpgPH@ARjh+˄VhkF鲢)fjd:@f' ̨fdaCClm&A(&A<4jby~\$`BN+2ڢކĞ-cZIέ"eޭdd..&..6>.̊b@;PKN<<PKM%AOEBPS/img/cncpt239.gif^oGIF89aX???rrr999﫫ߟ///򏏏___oooOOO@@@Ⱥ***UUUddd```GGG𠠠PPP000 pppvvv<<<:::^^^uuu>>>yyy|||!,XD DEEḐ9 H!@#JH"4 8ȱǏ %bl0ɓ(S6Rcɕ0cʜIHˍɳl7_YEe`A8"TV ʵ+̠")8@Hd6(۶H "U bۖ-ⷭ"upثǐ#mnU9R mV*+X@DB &@g" n Mf:e+@9*ȡR  E0(m1CY&_Ͼ}R9sE/N iV[ rX ނ 6x |Vg_`w|%3ՆVPa y%0U(㌴@XWr:څ` SWRuYU E :XfI6E@Ac@Zk]\S%*@KM@Ki)q ~(6J Z k:j B馜v*ꥠjXꪬJB$* J뭸dkҮ+lEkΣlFkγVk5,AE`mS% 0-l2/-mLQPro8KOI0, @P8)K8KK, b-/_(Ư ļ "C61,$'-G1-Is-MLq~1O:%h)׷zU*p}])T5Pi+8mkQҼ g9ŀgKux¶Pog F,qcq7pg9+yV_  @,R (f71 F{Pi/* 4?yW܏29W x-1KFyڲ4n!%(<3Z؊Q{/y~թzpcU ,@6E,YvPf p-bQPd%{Is\- ؉@5 Hao10ˆTVqCpXX{HR - *ĀƆ[&T~9JᢢWb9\C)2fL(,+Ŷ5$  pBKK@r'A.Pa#%+ Ԧ(p1 8%NŷX26X#̄aU_y1+BOb􌣩 ~B2S1;kd-5 Eexk(:!.gsʲq ^lgا5(3;Kɧ} xmb,c9CɸPI@>Nl zUHl$OSNAehֲσB$ *ETϚ(P!*Xqb6mC6IDUQRT0i>#06!SR)"vWi&Tu4z ^ m 6ȅU,)*@ 9xpʦC/0G0:, ROvK Nu N m"m-l]u+e;MX1ֲF:V_5mr/@@8cڅLvv_&>Nu$kVMTK] OT MLya],eMEJjv'Elw=+VGEq7AR1߅qk<;bYd^,ke1ϓ<7FJzӟ>WL /Fo o>R/ }gǾ;|$fe4bϑBn_s{|Mӱ?e+*u߾IO?=o!AyP~N#|%t0 8 P XE"8p&P9)8%2 1X87>H+  XG H.ExK IHUM8Y QSh]-WOX[~gx_aXch W8qhiuh moHyz78w8 {wWt(p~Pacm#]' j'b#K~9nr&ɖbY"*8 [G3r/Q_6tv Z[%_"fJe8[v([Ș+2I%CM &%y9 U` >J' ;oEقF$BTgșdc.5?4m06GAأx xt4TBsH:aj՛IQgdEV N Tej2 {(2g)5z:?W p-:zSU=gqc< YP cIT>3 9+CذCP9 c3Rijuu&iQރ8C<}pﺋy'uRZ   K k sHz{5Z(^ȱ2!QRP4Ӏа'ِч|k(@%+">/됳/Buܐ)&Oɴ Q xrc[GxD'd0bA%!yI@0:`T2t1pg@([gZ ' Xo{Y J1h:x{|!ZpfIiT&ڑ7`Nv,K sSjS-sFuWږ;+ dc$#G^ t%{:z^ʫ{M%;4ȰۛC18kDxP7$D|{k/'dg* `I% IP%J 7E "#64(> M8n<$0S W"3 "VokbNt> {x'3|a5, .2_4hC!_g ; IZZ4su"J9 iDN J0ωy-D$yq'͙[5j&lUoP*d[%}\okDdJ¶b]J)a|MZQ4gUJfXg.m2qsˤЄaU7aY[S1|If̈!٣ >-6I]}ml׍PMd <- =60* .k bpt(8+̝B: :»*@EU1] MuaA1٠Mǵ0:A]}Wim`=4=OՈ0Dԃd]d Mq}̦kR׃a^#v۫ i d.$ڭ6am]#eXݨM 37Pbݷ42Œ048u IMQ3"5 Q;u ra.\ nˮalV446}eAhRJBۂ0}E.n C}V = ΢ ܢxR̈́ڡK]`éqtDW.V:V`+BP#$> ~MA;bbT-NnjF!#U;Ў ͳ2ʨ]E5#!O}}9Q+~)bQ1ί*nu#N]KU SD)L$Jjc=0ŵz Y̛8U]\ ؀jk0'*rX%F5JXaN͚%ׯ1g" b[Q@A"f4Pp6R M[վ' +ÔDx0cawt,{mb.fx3`d5{Jytb"L+ZFYVyvVeiEА$E.j")e JK  #1u%{)tĤt kW> B(,91#8  L@w\&@EXsqr e DTt(@#5TwQ" S''!P 1|- 4A@"[z\-PH0 x`jᶣ$DE览426xB!~Е@l%U^RإC@^E0T[ b 3)n$ b~Hq@*A$@$,*޳e ّ((]>X,aǫoMi4F 7 ":L!@,N0"HtG+X#5A\J e \|/$4"g p|>UsfBp*R&&(6$uJ 6JIr)3%[EoT!'PPrb IMi_f*A&HN{Ɲ* `ɑ0Mo<r5r "jHi*zi‡Lp }jWrg ɑ̷E<;JKlі C$p~}Ћ1æZ4 ԟ<&ٶeTE:ZYy&jʊw23{0z7ƴ^ ȃ??b_ t 9mr2dMm[.,ʚ4Jnuԓ^64kDұ;k"F .yښ<!YG8D¡Ez"]oC1_ 0[)|fEL0ZlHr ;!߳yE";@`1΂])`bR {yD A6qU/BKtIyIW6*=eQ0l(5Ll,ō_R"pQ1DE G "Lf=8)j*2HiVZ0 DP0\UATnj`rvi *Q>ꈎE.qD1$g9eU#Al%~B% 8Ȧ#y̋aԠq`1ʲG=IE/W'z3K0hLmK)4($ΐ.qj+jrÅS>6b >8M%OeV`8J Xb\?Ԩ0*fZUA*4Mj5meNj(C ]Rl Xε=]*Yy ajMnbqi=d1S 5f|h1UB'Yc;-ekk[iUInk|W"F%nq%\赹u_]fuOwZ\sVV qF4{ _xm+3klLc"{L.q,<x0r#6M*%OИ/ɱjcDl _BA{@`l,& rK|`X[*1,*Oʶ5b ߀q^3`Uг@,AMhJ{I1Oѐ'V4SҘδ|M{Ӡu:-RԨ SVX5gMZ{ҶεwMZ\wv(NFakJ(8YFtZH Nnth[ywy^ xo#( y820[ϸ7^q H\ _8Nu>0gʳovBpa@ q;Pz3 q7@6`? .phⱇGdRo}Dҁ pGO҉O=q,%)shfON!q/}C;&7@> [IKd>H ox 8ЏX>_o@B:DZFzHJLڤ>jșTZVzXZ\ڥ^`)54shjlڦnpr:tZvzxz| PQjPOƢje*@\ ZکaQRʩZ z jJ IIYګЪC9ʒdZ ɫԕdhڠ˚# E @JB$4Zڬj J # 0:BAF#f*Z4 @0p< PO: R%S;I5 ۰ת 3*J@'sjH@`ı 2z; !.۱0:ĭp"K*?,۴ЮqT VXK g][A 2[oj۩lKnR9tvxpطqY{;{Eӹ׸񸒻x+{y۹{a7Qɺ`约i-a{S_rKSf#S`  twC[) Q1!^eFzW>e@/U@qq Cp{I67A-:g 2b Q't3Hd 8ָ4R?(SA+g 0P0@x0~- 2GÎç!0! ,2$$^B#P.RO*s>3SC ^g,Z4T!@/='5J'ʬigD.8Kw\y\Ȱ0c7<ll P|~dz@ -C!633 1f `3)D+CB -( h0+032m#@#Ϛ38 LcqȲjC0+ ?ɗCc: c 4$(,S> 62Х2;?G=< ƃ<ӥ, ʫƀ//ɡ60 $%]JGz ,=PC;)ӼKөc3C B B 0LH>RPJ`7t;L,Р{D c PPӬ+qDW.ty]||~Lm Γ֦a0'=/D+C,W 0 @ \P @H Dݚ2H-- A$ RL1/nAk=0?n}xqHk ~3Qy1& 3ENBS$p[  Y -:}Q.$(`` @3w[ߑpasXxBT6( DηFH.%j=GtN ,vF-H^~&,Qf$s]tVҁaYa#3[EޕQ\漘θ栾ꎮZ5A61~sR>p>^~ȞʮpAlq1~.h.msk.b>^~am\MqMY~.7Ru;Zߺ^1/.[o@ by6!KA3$Lq>/uC<*WgQO_C nk{ |rI@>R!m8o 33L7|yMqqD`:tzܕqϽ;,cʅ9Z`q 2 ` ^{OA&$G b-3# pL@ Fִq~@~3۴O0c׽w_0č'W-N`  [$-`EE  E E E CE Dʂ D#! CC  DC>W"G@'^}΁Cv>l1ܶxo!@)ېLy q68sɳTy: 3F&DH` $ *Uf$UPABZDiճHY۷pΪuXDЊ5@W2"ULhU ;p.C4@A!6,|aHRLyƉπGrz_k }ެa6M@kA†!16UܧB3Xqa@WOf~Uu h`[sb .L0 5LMR_'D`(@#%A.tj|[m>5YC@A՘j@~A >4i#R!`@\Y pwiZq"Ɇ^{w 0u FA~_s"xj ]E0LWߥ!"bRhT@)p)@i7&il+ d=)0Z@je]nCN$ڼԜgf [EF!&UH `%Ys^ʇ@n<%SEա -,- /` _-^ZYyt6tcl źŚ%m:9CR{;`$L$,DC%MfEiNn XB} lNLHy$u$L@#{uS V-ܡ$*ʢ! K7pHb$~tBn.#I&Hhʭ(W;Y6)vA?sr@ %@@ᘢm--a0>!0AhBޱ $v¿kF O8 )( 5O^(>D^;Pn"gmyg&f:H!%:1P1 "jKVr.Oؖ&p'*zpyF4vbvWlDVF$C$ = 8k`@Y 9zG~Ҥ'ó?3' 'A~X 9:btcw?r"|0<xjc$BTZ4\Gɓئ%Fq~LA=z؃BA<"O0έ-|aaxITԷE|?Skًv/̟ rR;'Qk):p?'K_jS/rP't X[۪Fmk E͟iSj}Ч˂zDBPo\3{N8 ƋȨPWqELԁmsa5@v %!slT-j:VX vuJ.,* d PZg9 k`*~*AVf\@Ů2(K@<|tG0Eq, C Pj h*Mgb/`:"H\P ;kJlGuFSRtZ:@IeD:h1 Nڟ5bcQ٩\3p »(!+1)pjkLprRzN7<p/@exsAG: ˹#Jh[ۅ@E:,m,cְaYjI$v6<`"RNzxZTg1=rD.oz GND [I͞/",y«P/4~">\|(IBKB4t8qeITJ(otIn@H4,hx gn33o@S} Jh Qo6 Ă!j3@Xͱ-h' PU !d\v T8V8 HQ7 xu7W6 Qf]DgrE:GDxvvhudN-MxFyHr{ȇgg(GHFkȈad8DFdNĉ5AΤ0Wxydӊ^RE6XA#A(D>'“**uhnZTAMH0W50^q!U`B`0 7T0759.t(H.d;-krNx d>!19|:]2,Q;f!0%+`# h"P y%e0܁(ebYXX} g P!g~t (w/ ^&0CIco.RQwBRq߅hMu,trm?Dm,qfB+ q?YA(tހYvW 2)$@ѐ0 :CPj*"ij I1N 0 @yni>L{.k8 PEt*e6[+;ap?Q#Xp%%a`)HI871>Zp[gQY0;n2%pvt^18@Гd0Ȕ' '}1\;kC%J7'xQ<0R4WTWm%.%2Ycq2,'_N@8QX m,n#3急d!nGOkAru'Uh m9ri>/ rlz㔗nt?7צ`I2$v*2)XQg. V+#3f*9] ˚LQC!YF.u!'(a7@E,;0n󨘪lZrʋ9%:c%+.jjP%.3S #; {(a3gYpQ.affc[WqGAxw  = #d0k 5Lg ;ު/Pa' s+z! s ;* 18Ĉ2 !aI`$3Z%5zH`;DT1'#/#F#ȫ 4k/%Avً uAD'DVT+C)IvD`P <{[*C fol8YK3OTӕ / !\|†hy( ,EB&T8-D.U0P4kTs;;K^B| ! s!%?6~ҍ[k% kZ&V[gŽ7SeJ hx ^R6,ŎJĀ \, '[)Wԍe׮>k ) ii7J mo;~RA" }~Y uA{^'W!5ILv0ȿ9k2 W1^3A1v?L.epI?a;ɃY'A|3}â@?RxSJJLF1sr4|iKb &s6)ٲ1ܡl[CYFQ*KKJW/MidbeĎ e}DP! a\,b+vW,J $5=&$Z 2"^ Z*ϱLE/Fj~:Kg7km",-L lQʰ~aɀ PfxfYL?W{-W9?6+--}#LS,bYmTVu.E\֍d/u<^tw' Ʌ7{*#l//N#)8Hd9 ;o>=LEBBDKF`†Kjo{ݻ}4eoPVP6kNbd?qqzZ/oAs^`oďRX_>.|$ /7O@o=y 6/OZ~/ԥoKARf?4, 㓇 8Kgt_<{]"9jna+]*|NpBV O7yEDEDCDȫΐեDŽþEEљٛ H`tֵ,ÇE YI(ة CIɓ(S\ɲ˗0/#B'Ο3N4͢HF&RHT7LO<$ UA,@" X%VX,DX@ a$&IO!YpIOy+H%) @;"1aFƍSdD hF#)i |f4ᙎqI?Xtn)JC$;Zd7& F~,a]jOE 1sO)b9EpQ,v(J+H@"a `s'BY!""ܭ }1<x8^yB .e P@.z5@Dq?_7W5Ğ pAv[} ȍQB_*љqPRoO 5̸>T FHgR "/ /| p@q<>wL PzGPyeA*K]v)G"sx8z\{@yD@}D`ogvvyT 0 { Nr|At tD`-A @g~чyZ" ?HpW"D@@,wEx @w}ͧq GtQ;th7 '"R8D09 b2p4ޑ|=ф hmw{Pb~0w\-#) -GYg0[d-@x} `xyGHxww@"J6ЗOAp%P 8 og@{Gu@|AxzEsg+wAvA熾 H@(V ) 1ӧ`yXt\熏{/l%Aw ~jw< i;  ]Fi  1׈Z gq q g4GvDD  zP*k N"'Fty@~ 1~]y g)}6t9\ - Еmw7ؖ9+y3(J Wi>*'ӹөԧyDG*9 쉞c({}~dϧ]]"yA%t⸟)x$2e񟹧t1؁VUrVrr9x- yAi>,?ȘУ-5*B7:>9z;r00Xst6@-͠ Dcr'Rw"7ǥ@vNXsw~yv\u1r: djf=h  ' zwzP: {0- j{4Z~ppƐ۳rYH8 W Jv'ׁ:~"( ,z lw\x@ ȀЁgDxt@jx}xAZ0hr):J bȫ  z(wwAx JAtA~Xyx"JZ+7 (({%;,.[wvpOB p&Bj:%v)NOB+UVSq(Ќ zG`7JY(~52wነе؅E .PۛNjj GV=whyW0$}JɅGɟ GZ2o;'ҕ1pG{xmWujDž`\$vwI1K1\ :jufZ" Wxv 벴 Z88|N"zPp}p;8 4A7y8 \ uzGP!)d1lr"w_yr۞1ҙaiT|ֻr\ʃN^!( 2wXLg a0{G4|Ni7j f8X4< pW"A(/wЕ JQ a5uQpȢ@*  toWus̄ak ;ĜSuvq臕L{ )F!͔p;Hͧ͠q} U]u|EKzzʹ,(v P焅:>4;z ڭ -ϭ˂<)r8'+i|*"Lj o!)KDp#+hs+ksF;3+үB:Ɗg|Ź3 "b]-Ƕ 足r7wt   ;ЇZ8Xe&(t2)!Ah+˺%H{(Kqī窑‹ū$f  6GHϺKѼg{DP=-̿x#( ȃ{{Nݰݯi6kQisQ@<{JFL]IJ ŷ@+kŭmػk :}]}KWVMu]ʢ@ɖ\=f.u .ʠ@&N=-._Ͱp #c'djqVsI)ZLsBtlmN@emnp s~TDyy+z\z׌{خv;QZP_ ] H|y^fgr``(ׅGcsy,w KجM ~ U s'8 @ ll z&ss^ 8 k"1^A-{԰'++ps%lwۓ7"B{u_Nv 5ϰ'w]{ WFI|>xw +b7e[gi4'˻qr+uw-wp/@ **L* ~hp/rO veAyNPwѓ9sNlRϛ<ȟv=[-'jX{⌽M)֬.yJ7l=YВGW6_Qۯ~1Y|]y)HomW+MF?ؿ]|CFپ~w2̩·DE    DD E DEDDCD EE ɲ(+2OWPwA" $SP!/XI %2/c[N n[Վ @ c ˛uI !bIXjׯ`z{v=l &@"S &Tqb;!oeÊ 9ۼ"^x,cGgm \ 8\B~q`S>xkWG~Kڋ):`Sk-8تg_\oͣ'.9ʫk^9響~sG=XS|>߀G`X.&g`*HV "VoFhadx؆$Xք*7bӘh0x6bX<އ ގF&_@&$28>Rd]MVYeZFGeWeNrIr_jfXc)n fD۝x*蠄j衈&袀@d)7DTj饘f馜v駠*ꨤjꩨ )s)جj뭸J+k&k+"kVkfm6+52ӎk覫.݆۳][kkۮJID,9K' 71 RB ̸p6r t,L10Sټ|̴"'S _PAGD;r%  *B PcLu*OGMs -x .J1΅tu#;AuXtBwGW %r"(& > -h*1\-9D\ނp[3@ u $ r  %܆t艓2,_c s$3xuV(}r,BЋ )\~!I~|r3 1$ .YԈֿ p 2\,@ s,Vz+p_^VL| 1^HAaB$`:RpCw,K`k X`&H_'8oCH:ڑ,tC1NE&5@,` )# !NI1"2aш|{!fD-ts4!Jh*Hd /`n@C.Y$bLϏaD &h p$ 0f23<L1~&@%#w5U(\!N:|I*]& j ) 3я,FC,FM'Mi#:@ш,~JVA i!|hD!OE)4ӊz!4|ֲG54,³p\;PKh^^PKM%AOEBPS/img/cncpt025.gif5GIF89ap???999@@@ߟ___oooOOO௯```000 ppp///PPP:::***rrrdddUUU>>>vvvGGG!,ppHU ȤrШtJZDvzxL.zn|Nۯ`!wR:Uyu&Q:WtC^B϶ӅsByCRrO:;JH F8/-&`b>EcDZPdy:wX7$O6$€ODv,2TGm!'8Cm4I'rhvu[@vtͦ :> Ti <b v|c:;• jjǐeW+*, SȰ&~*Hq a,74[HƯ*lrjIrC6ޡÆ-0V!T Qy[V^ND0`WBtqV K!6^2ޅ.XD=ECDO4d"Xt7~y7QOhP:tvMTARK55ae(唦oZ4dc@Dٍ` QxJ\< OX;@< }ݽIq@@#DY"FuCHDU$|FI姠J-jv@i&>kbNtA*fOr8*lRjrE`5Rd Y%{lV!@&0aųCYkqlvr縂Q ]QƏ5K %0L0{>ANw;׋2,؞b,gőiTyܞ9 A@&M#6wAڥm>PCr Y.T$*=9yE  -Dy=?r-݅4ѥ9*@܈&_gJ7+Q"7(;Ud؍acU";Q"AF FA4cnΛCzcҾn+ZmMΓytκ @G 0K% ty b-Xu Cc Ѐax@:v `+B'$ P0Є @:PB@!. %Q 00'L.ЄB4b@pOԿUt ЇOPN,N'F[-BxI4 AwB!,1B(BNONr*D!L؀dB6^x@77N/L8`|alW0b^m`lvИUU `BAH_0`:^`Kɣa/(Kn,zZtA#7(((6ƌRX_;xW!4$&JqJEȼge's"}+YT󏘹ԢEeD&)iH5Ir2`T@&=`¯,'E2/0\=!iN7U`އE?֜2B0M< @b1#+syqH mӤ6Oog]H9>$~;Nme rQ|9eXWߴ?DKCuQP>|sFIfWZB@+tU}?H$Ta}[ :&(\".SqS*U7 r 7T!|HT>"dNBfG=&AMeCfRMOxI3;b1U"$3, z0,2gPwS^%Kփ]7tYIGL愄#4d  BRX6EY:ԈIɴ};g‚o({+r thv4xXq5{75MDthiBQ/XG^f|2E u9LVM!L'1{fK{ڔMטȍELɴEل>vuuptSJ#3PjJf`=w G7 cEC:TFoEEEdFD(D2C/VDJwuP"Gr<$ 9D"C9B3t.ws?HwvVI{S1;O'~B@"C@+gmy',Hqj}rwn9lfn?t̓xt|93iksyi3RIqu >EPK㹁fdT<(D_%^DYk9 BvIRM6L%H䚗4EϤ>KDEHZJRUz8>ESCIܥchYpJ2'ME'QdHQBhCԟ6%_9E#^XP9OTpH4ZV8{vSJ6.8: 4F7VIi ٷB5sD45D |>UuXs(S6ULLƢFiwg.i*y:`B>de0i JF5Cdx)'%s#mC@){zթ$&MϗfHpRtb>`E^j֜DE4 *jfF9MPA8E6GOscОB)`6ԞY^Gs k4״GA$ĥybs9_J7R {p.K%;VrSm,+% 3Rr(:**,!.2R6{78):<۳1D1?K%H{JҴSRFkpVQBRҵ`*b!d[f{=nk\;T\V|X| tgoJ&`bQ~Gp+ Ê6 H@"4aʍLp&HV(,*dϗ\bB/m/gf*=I=oPm \GuHU ݊"j20UNҸ<,L2Lԋ3rHp&, =9 GԴ`Y"+Yٕ0a' ar6/ 1 OGՎ:u ")F7E<9G/ X $(1nu6_sSwWMhcY(?Dk zm9r`s09B,2DW.ʈI'C-VSBc3m Z>A>{X%կ_\ʞJ&$AVJ)mߺ=!+l]C}jQ>eܤCs\dC6T< S$AzvcBSjR_%J/ #sQNv:{;c}`!3P x̌&}{K^uiI{|Xig%ҝP0zF(O:_>EC0fX?G^W6e  V!a0 9lmXRυQs0tT=Ɖ(Uc>D]X^:B"$~**iL; #@V) %C0D5/s SS]'?izJi>C6FǠY5e4B$vIRdCBĚkiJ>zSS7uD鴫/>аɲEǥ~ёE!l5.TsMyt(xzK5I:]:SH9E^>&TD5ϭ9xTE5ծC0M EJjݬmI '0+f(S5܂:u0pzl&5 #J3aM#c<.3|* NE>R 1fMv& n{8}Y)x=~ #^忯Oa/%\N9ٜ_) luPh>:?x: Mvwy u E-?bQbc_;X4 ,Q & @*, iXta+Xvt;>e**w640v*0٦t /13t43vJK((v&`rmBwd1]aeiXw(Nv&((&.r,=66v4w 8vp(@;h ` DA 3"{AI0S%V`0.Ļ Dy0r p.h, Er!I0*#j*ũT'ORD`ST!ԩҨIN`̎Q; x6 8`!5 PE:)p't3g`sZmm:}`RqwmlE8CX]Du{HUڀ#;)&RAG $,0}NLYe=RO{>#bbr[@(i&TrK:"Ъjqp1 @(m:k!Bh8%*EP5Ы>H $@J!!>蠱 LLTEaŸʋ)f S8ki+88l%; )eFqB ED#~8@ v 8Pʨ$3جg`SMZLc--!G[jl|m],m Apw( [+PUw1vxIs`.$M!:j@ #ʅ8d! # *Yãtڛy$硉` gVS礙ni~iCSjZ뭹&e/%j)[N[m^ٱ(mMОj6! ?k o%N< ([EM84L|zU~ =\01U N3<>B N ~%C VB-Sx!5zEG(*,`,3]PI X#'@- [Ȇ!aI Q1.x 2&o6Ѷh# zT4yN`1dX~7@!5a;dÒNx`bEG,BaL!}(2Bu&Od%#q9!΍\a. @, CBM#,` Ld$5r|3ue :TM=-JȌ%ːI:3rIR/G/(t$-EP*Аh3WRmM1=BKLmҦ=}VM}:;hPʶ% CmQ՞N-*x*UBm[-Uuգz%jPjӬX[1ӑnpִƴwkDֽY}:XְwElOL6id+9Yʲղ1Ŭ&ǺYѺ4eDGZuUʬ\5YJ+=-Lg[ҦG%U:P 5q\.us]Nw!`i}7j.^񎗼5yћ^u{_ΗuAiz[d҃`6`/ va[-{1a o+ 6ĻQb.eGW5qc=d!E6򑑜퓡\8'GU^۔e-K [{e0Ksќex~Uᬉ3Ǚun*af;E3gAy΃6t }hE9ыvthIC9ғj+}iMS6ӛ];}ԥ6QjUխvakYϚֵ^u@gLΘpla6le/vmlZj i7Ydmi۰[4rsCw'vzmxOK wguh6p,X@Y3 jԀw1{iצ߬kh,3(WW~w%'tpl@!0!lVpcqlr|o8ϹZn[ɀ.= EHi$lS.q@X 5 204pw__@5wQzկ>2iC`d>'s#~yɂ>yasap,"32W¼wLdeP$@O2/ގOljZ4!Tvænr [!e[TGtL#v%](@^`;%*d~*s.f %B'eHe8 0 $\Tk 'PVc f$SdiN愕4 FNd*G,`%"B&( ;`'!-@<Vؐ`FΨKK K"/ @z:ƠH5_`NDSBa&{x$@`b񏄂ta'LH&;|A 7'nc @;/-nb$I),(tn! $b#!qb+a[L94Ve "Nf6n銮܀,@N@R$ A{ANxd" bxrQ16h~B kiPG 4q5c%'"Be!ޠC`.1: "  )c 2XOذ%4E6bU q"(:$6)K%;4,$*@S ցTcAr!N,&)2 gK2"J!#(!r/~ &Q hzbB*@Glh[<@_p): eO J*`ZI%=驞x< b;gb4Z)=;pԲ!!e2:'!/bS:@9Vn0F$i^<4J|f $DM6J rrY6T0 #D_-aI$@ETfl &6lt4 !&C.#|%W`2XEGK 2,DBV 08@ @V@eA0E5:16ߴptkSEP#gTTMBaSw(b>/nPU hN#N?b5xF23) `QC&d8>8L?hQ X +AEN5HKWWgfO gH hU x2 >O_^`^,γ\BF|E!` C|#`aT_J*Ub#bP U;?JF}EAN}O@TjXTBfI"(G.)MhyBӳA^cbbPА&UJ)6mU B%ON0aW@?6W~1RtBV A>`%1:UXj (5yp2hp]a14 HY#8P>E41p8OBl`2K!b$!"o]v KlV(q kY"t2pD`4atY(! P85l0tU$&FmmX1ZV=^Vjbր<bptWwajM9xBxi_~b+S*!yb^wѐ3DWb2$011CV$ifx(E|X>w'q&n _ѩGU}9aA|c_[Q*r(dƒYH&o>7.%(:=5~9=~b]jMQ>U~Y]a>e~imA |]OUS|/G詍 `%nk&F{{]҅pi>p<m1|Mꎠof+\5 ܞӝ|գWUfe./.@rf2!O.﻾Acj\fd*m3S^\l԰zLM-=LF}!ꉠ{ׄ͞PV.h5 1\5B>4-fג4@ͥ?~jN(!-]`ABwh )RPB`1l>5~9nm!7 y@y}U`d,hHbԝx(rFeSS6TIOŠ`c{v6ڼ):`8F7Za:p B*HI8ī̯wdhVJT@ XUPKaAmXC}[7Hd0Zt%SdHA-d\6!,i2eT4ZvAgo WLlP6 I_HD3-)@z(_St~H#[|FZ-U wT" wI,V4HJDz}B98(Vyy@X"_LzeH5'%AxI`!фyfʩ)1<,aFd^ᤢD)"ЌeFUAOxҝC)EB"ŰRW O߉%:|B.òQ\2ʚn`LUC.p |\6ϛs+pJ2rafD[^#1 ,7-_C4qFdT+ $M3 x@ 8!PD! @u7;|H^3; ؜edtuZ7L <(H0/p d ֲ]EdF<ՋC{:~rA]͈-|J~A5L Xv[<<Tz )P BW!o H (f/& AArPxA[ڠ@0$/ T@ <ś^"x49tz@4 .FM46Ea\.Fdb` P3'A(o`JOnK_א5GZ/l#6L A@9>V "G6#־)x`6:5 hTA r%HX~{@uC4Th`l6E\YEn͛_p'Ao!q> Pvː/D=rЏAigҡs'5i\S24- @bL@(0@ ^:P4#47% |ԧh`ŋbR9h N ){T(^S3du]g  fZٚHc),5HN a#a=HLeYy:dkYC) Thid>BŦ?:Ђ4 mC#:ъ^4hF2}oKN Ӛ4;O:Ԣ5KmS:ժ^5[&@ TPP`:׺5{_;56mc#;+c sҞ6mkc;nv)o;7m;PK55PKM%AOEBPS/img/cncpt282.gif-pGIF89a@@@???333ooo___///pppOOO```000AAA PPP111LLLyyyQQQ!!! 999fff!,@pH,Ȥrl:ШtJZجvzxL.84Rc; Y:}K:K!D: mK Z$ mOQGnQJEB' LFz<&<%#C%è !֠GH'&Y=E ]̭| .qSUͬև(BVDJA1TdfB3F](aO}3 %u1`#&1Hh'^uF$]8w@Bd xARᑕP"+Q_lyX2N^!W)ٵt 1 PZB&# :9PVģMPz襘f)'n駠j9yd)r*!>ic2) 4,rfUZ,!(s\~b2zвcٜAR VtS^ZKH}Qv1PKuaL[Y11 @e3mESShŕn7~ĮϾujFޏ?Yi <^0(z 7! 3 r`B(499! ˠtzIRӎޝ+0j9}?!A B9,Ƥx JzwE!) Ai-+h1+:#R%& ~|EŤ:FJ1 tC LC:7}A(7 >L.mɃ,=+5?$$ y|X(>RYTfF4#BJ.(MrƜtR)2:7KU\ъ,r<TͬI(=)|&K^][0bla2b a4KNpH@$k:'CЕzg VH=-IqE4X݊[.ro80bpJ4tKZͮvznE"vos|Kͯ~kw~LN{[ywu [ΰ7{ GLcxz,n8gz-qݦw<^T$t dʵ(r5%uqlT,? y;A3άf嶙oE;8'b_=SSxMBЈNF7@ @J[Ҙtk0iM{ӛ4GH NWVZpgj ԸikW]د5M@;Mj[[ڔ=ls@!]nr`v{]hMou{7-nr 8y+|kAÝS[v}p/$<Ӷx"h*B̯qi;yu]89gn!'zN-ƥ.q7\:̱~y[788<G­^qkAGw~t']4{.|ez(ЏO[ϾW}y{ 7~~'  +x?ǿŎ+M~~|g|O0wkv8~mW~CG'Nbph%or7zg~p5 "*${)Ho'{vy3o7KG;x*=xA?o+(s-/|1u LLBl؆nHrSsUWnYwEw_sIHoMxO8h_\W`  0b@dxWxXw؈8؊Hq   b2 PTgևEGJЅG8vFERp:4uDP PB<pp `H  PH PȎȋljT8,×oXo nȈfhJu Ϩ 淙b2GPuk\HP`爔Y ؚ )Ipym:tim əH'HEЈiF%gn 0 P @ ODh()~4ڶ9vjjaБ*cxQ7~Iע-Fxkأ%YmyȇB:yFxHJJ[BK)> @:x)vWJm2*&aZm.pLZfXk8Wn؛XЦ&AYxe*Z8f@F.Yj9#ZV;;Iwt:XrujC:ݦƬ"٥,JgDYjY0ifz @VV=w ::؊ r <@:#jHB[ڪ {uκuh)6ʩz*멆xDzyZr@ʪz(SG'jY{q}JJWީ.KYوz8;۱YfhsWz+C@7@lFqJ 0t˰ڍ<Э <ˇ^@+ ڱ+솸.G|ZEji::h:۳ک KZ  IkWU7(Jhgٸ&; ;{kFRa{c+ܫھ?;VPGJCZۀ U љg˃ hۢKxj+(* :gKbٺi8 #Jt)қv~kEF\'_xq[Z?AvC E|]4W<@38 8\ЈWL;[pꫢ,(fw+8؎9hɋyp'{m_ ĖY IzԨ6H )3(,Ȉp pɋ]<#<\dNJKMQiTyPk ό8nkBy&ŋl[qH,jÌHAKz~)9  ۘ|Ix L}r͑w2,ΛcũY顯YH)ji8`n+#Y 0-4'+L(ٝɛ⹝幆n`P5+Z\ͪ|͊r,|[ i!G1*MNu  J"ءLBP7Kyʌ0ּq.yq1FZϘ| *ۚ> aߦ, ) @֍шƷ\熎KhMۮ=}LRY]( ]xF0I͟']-pJ@EzL'y ؆mm'H^J U 0 )pHݳ2L. NnЉL`d#>2&o*p,3.|zGt4jn9.`J. `6&Y|F. Gn~) 3釀~= <̆;n(P0-Ѧaocq CNI:P M]nn+J<I{P6NG腮m=0m.^uop~^rn~|ЊmΘëj6}Ѷ,)@N[ ;XMtɫۼ}'H=@ψw( t(y-?>ya: pF0PӶ].X* E0>HP1Y?>mM^1 z~9h/1t^fꞆt:-0 9nO&QHLۮ( ্%-L[*O'um.9v@|_ȃOX[x[;៎@0Y~c4@m{PnF~XGސHXu',*i1 }`n a7u󪉷 ]&`ڦt*tx!"9 :tROY,L]aM , vRgy$f (( y \RdbR\3;98'; xR";#$"ҿA!2-Nh"ES( JUD@ lHoy"ٔcѤM tXS N d`HrBw3 44NV5twF8*VtN:6A0( ƕ;WD(Y !"|$bJJ)}+L}2ݠv5yjx=jրZJ3-Kc"Et ,t;wjݰ-ҀnqZJŷc+ i&ʛN | (%2 q I I @FK'F&ُ%D!hC,:S7S&4&S/A !r:!@z3G!3(EJ1HS+;q-7N,:sYiOCD'PA#[5#D/;U߰-2bT54kՐii4҃(VVr{ v9 [0yo[e\Iu#;ZegwBL2_N5Q7UøޯX!" *]tuЬMHv9$F;X9]'Zy6 h.hN$hUcjo |ȳYgVTe8c՚WŞ59'l;dx1xτ=X'Teh0ti"!qg~P G|2G-s=7pgY2ܾ D:Uy~@^SU(pa/IYSش"P75 ;WJ,m `C x"ٺ2P!f$<pNCARP@~ @ p Iwހ 0׺:t( _Q"&Nax;&ʳ"-9!; j/-NKY-Gfᴗjvzř:Mc5EiZԵL9ljk6d63lЖިq@]l¹Ҿ}?KSuji=BE] Gm Iwƛ?fkRCd H}r5q)g6 't#I48QY p (O Vt?+r[埁:n-i/v N`N)BN,x pr.'xWG.g:ay!k q}=E|d"() "pfLDx@"Pt\~_]8kվ? i1g 8b]1fN*X}'G6=6P/iV{uF  A`~a|vm"JHW^Ӈ7u~W#:A~*$@8N~8`C "j` @Ϣ٦P9/ cL\nm8|"ncKGkz't!%$kfG"B` cGPdLPdp,tO]/$J80l0 NR8^Afe ӬӼPPPc  SfQ9 =b%QpÈ5Eǰ = p Uq҈:pdQQOb 00Y/pQUp7p n .;XPOұqXQ1Kqqx _ O㦀 m 'Q P Gr8ɃPP;T4m@I$2Q%"}' )QOL-zcc R ވ ɠI:ޮᣄ b41-"'NN(p)6$(28,a;; k,(@, ;qde"(2Dވ 0wE/oi@;l|!:-o s-w234cE4s5ch 7dT $7K>,6vỴ&%Բ2u8랍89 E 0p":c6;+2vS rڲ/mV 6qsMZQQ%[t!b!.i"o ʐ$ jaP^^=LJJ b!Ə "0"pxGޯetb9cyY99{9t9ym 6yVB a Z9u Zz0y-ژ##z=s9s DMQ`$aёF9n= 2)yH`BFJNRVZ^bfj&!&%plBv5<ȱֹy~<#' %t\(OSW[_20`nSw.u"V0x (pDLp!C:0h(q"Eu ';PKqO--PKM%AOEBPS/img/cncpt296.gif]OGIF89aM;;;vvv---pppPPP*)*dddlllZZZ222jjj```bbbUUU ///NNNtttEDE555XXX000]]]zzz666'&&LLLRRRBBB GGG 423111???@@@yyy<<<>>>rrr999}}}___ۘ䱱񦦦үooo㠠iii藗KKKfffgggJJJǞ888hhhTSTƴnnn^^^sssxxx|||===AAAB@Agffbab(((#"#?=>LKLhggfefxwxmmm333qqqjiiqopjij`_`][\ono~~nmnaaawwwdcd YYYKJKeeetstkkkihiyxx_^_poocccsrs~~~CCCIIIrqrgfghghvuvuuu}|}!,M H*\ȰÇ#JHŋHƏ CIɓ(S\ɲ˗'7vI͛8sɳϟ2=JѣH*]2(ӧPJJUNjʵׯ`rٳhӪm#G3kʝKݻx˷߿ LÈ+^ wC'5$+Ĭ&3SliK|)=Р;OMd^RQK(N?;D4-_DŽaā9 9ShP@C8_phwPP?;?zh>@atK9`TTGъuyiu%YPs^V^=Igu7% ՕDp@Om:\XpyjZGؐ}㪎ger )f|U)m1u9?U&zE21;\zHv;ފK0-?J)N(|ݗ.ЮtN;/e L w-]v%hVmǩתeܕKh<*i :ۋmP|'/yD4=*]~>쭫GpL5XVDx&_~FrPd! Pe"ls?Թ( t.--~`fmcֵ21]%[vm@axrM:uA74ZC,F`7uHx(b.GUms@ؓ9h]dQ ^=L#܏MzDZ%w3s `sRe2_Q,pæH{(S6p||-}EʒR2܆;9iU9uR7!?qsESIlĘ4-o L؄hPTlFWq D æIM-}SPjQcgә#ĄH]L_~^GꊇˢVԃ1션+AX UѓC`䁔W6P<&i MBe hJ&٠LTtN񨋌CC)MMI3 iI!r(_^D%3@2jJ@t MㄓzhGn#=U9!HSj1asl\&GN^׾ ` mIa:"}d'KYDlb/zhGP@…MjWֺlgKͭnw pKmB$Ѝt\VJ$ͮvZ7' xKMz.vi|KڷH}/O!N;'` NP=r({ pd (NW x'B?fL8αw@1.̟ 9AN&3$H*[X1_g`sޙWhNLypsL/x1eI#π\b* y&OFyς2mEJYy7 fLќulCҢNAAV V'woK3=T? h9~hC4@v|y}cv}7sG~3v緀W}W7y{Wcwe>vx0x9&vHՁPu.Xwh@_s6`cug9XheA<8?7Ȅ 76cqf&q]cC6xQlUjn|x0QvP?Wupu_ׂ/hmr3ƅCRygnHn`Vh(Wm؇q8-}؆hx׈YH{gTrV7s_A@e@JE~`{TpHAb8~،A c*HC2&HЍ}'2G`ߨglGnqZb|&vxXǃ|JHhH#Vyw|u8bePPTfȈ0(xH@?}c(?}9ve~5_'y(?(丒1Xuf1w~2&yxT6wPzeψC&@{5gCVGK؎VwvwM(r|v7VC&Y{A 9mA/u]i6}JP`ghey*(v|8v7%4ٛenigyzٓ1yCJ)c隰Igl8wow{@oƎ|DI`陙oia𞒇m9ls.Yw*8x0dIcmGxJɘ9?Xj4 K9eHnjuej*Hcy(c3YowfgjB y!JH^f'ɢɝ~)1'Sהi~KȞ(gJi S)ٗf8T)v69bZ exqju٠=|ƃezjȜ?M)ԩSY|e5\ZIv:{\yjJjztZ^֩ejW(@?h\i#Kcx8ך҈VȅpsjѪ>0Xx8@( nJFYKhэyMZJȄ4hS|0Z(1{^lxzuʮ9Yۋ vȇ ۫Oc[>s{Ċ0V9rVcԇ/t'yWtؤPې{4&~fsQ׵G2GXslydK{G~ZȠ6w`myx{4p~Ȃ3vzytGy4xv~tY}t6M۴~귬9tF~t[}ˡBzWˁ;[t ˂M۵3G}3۱W*gi_8rgv 9f]VΛg;, ;qv׼kx]ڬKmKfh ˹ g ^jV|Bɻr8xf{Ls \ pKkƽye|WV!ig&b (dl!MFs2d*̼7e/\1c6@ ܽE|e=L?JNGS|W l\75- Lq]- <!#%M'--}/1MC3579m;-=9?AC͕\'ČМ([\u|KMMmOMQͩ<]|~WE3 ,M}eS* ؑY\V ֠զ!NL ш-ъҌ}Ěmw[< QE|k'WlsqԞLےMl̺-ʐMƿ-ŭ-T ܔ-ܮMX ľ=]}݅]۪Ҭ-=ټ\W۽M=͝} }.k-H&߉ (% ,ָڃ$Ilh܏-V݄,ɽg (LfaȭF+N^P=Mmݤ䍽0246>8^W.$.&n^Nu]4h灭@"@<] ,v阞faؚy|~b#6 `^g`F뺾n6[4pȞʾЎ @D^~؎ 0R^.>O08 ^ 70O0?$G%VS./ ~/!?5>(/o/󅁿Pxqs$)?=oٻVޒ{wTCU!RBuWYTuUP5YimWW_7Vc/$˒eIQ]Pi5ēOk6S?ʹոul1ڳݐ%]: Cm^cw"|-w8-)߅#[Ņx߇Ę>7f.?/d2Y@SXb[Dc6eʙùpq]~sar瘍i~RjTꔭkkRl~bU{bs.onήna{Fe39gfg' F|$1hs4m@OvEgt/lUO`dpvaHHxk0!_?>yOyyG{/aOw|鹿Wӏ)O`gpP\`H< ALP ܠ)xa %% B$ą/G 2Cʐ5! mx "o!I,"l`"=}HE!bш@+z1bܢ[ Iq5O?G7⑆oD?Q/AhH@"R$ RH2"HF>&DA';9pғ8%BDR䔟 (IQ |)])%*{J[T-Kcӗf1!!+FkbsD4yojӓ4H8snS$? NtS:qw3<9bnrN@4q.T(e(Z$ CyNR)E |Nx!DlYBH5t"8K^vrpA`7 IT AR2rs`BQSpN(*5:\ss(6c)`Ԉ ᧩d"9y7/X5 `C˃,X@z?ǰf(\EAZ"$B@l,zTU5,Q V*^cV8Tw=ꅜj6ɛF8C0B=N2iS14q"/q9`\& wS,Nn=f? c(cXkyPF׷x1]x ȘpO%G6B,`VVe9Sh7zmY>UM#:Һ/WrʻQ|J!RU +5{36HQ"ь"ߊm!pRbm"!FP{ۅfVv}V8X^ptAGHhj,7AfVpd$9x?`@#xG6># O/Br[13[>de*f's^!iv's$8҆$Q+UPZv֬Sz;W fKT4Mp!D6q_6칧yCLV7EBrgY'+l`) !UↄVN\@27%XK"-(4GzL$O5 )F'M{)($j+r =8ǵ^Lv|9c{G W/U̮!88gʇF@k|#K yf_rvh?;1<0+x/K.ʣ>wh>jj <꾾bJ Κ < L(¿s4.y!?0J% 5̲5R,c'b$? 1$C틩A)2>1§;#&Y£۱3*ě0;C.$䒼1lC>:CC:B4CdÄrD7Dx88s:Ȫs70:HUDʱPBj=*Ą"9H.=+ L1SS45*jFxƨ(<1_Fa MJ-#"9H;m˥ncǨr:¼:Cb$*:cxW|7B!Pȴ :/~&M)cE5tr w&3%dZ iI:۬aԋ%6T ZZ&r:5J$;HȘ{=45T;*XI@G93Գ2E K KHXűL˴ܻ1l-(`2KKEGB,6%{ɲ`J0H{HwlLţ.ǜL xT̺d(7(ʐ(ESK&MڬMۼ& Ǐ2EȄx,N4 R`!NN2G-pT:et:G\OCMH#dObX̘70@2N=PE` 4Fp:Lx~PPP~Ex:I,k}Q]lB PĊ`QM]h;K!5$;h6}Rl0J8T*)R(M 6؅Q6)`H,'2KA+,A쩎LBP/}/MU(Ӌ=g6jB]IȄmSO5!S(K-RN%~45lRI}NP0RCO,$4zU 02R. 5Te)P ԬӣcM&C+ P_@ŁC: ? <쓿HVTPx Ҋ]V)` :SQoLK.?ltuRzX Hċ)4MƒA`rҊp V{ȁм)Xe 3x@7+dƳ:ӓ QOW sz+:H*ߊi 4i"q:2n_HP;ߡhZ$|f GXޠF!gZ =]Mo=YPxɞl^XN^it顝ʦ@D+H V@-)bT]j; 8ҦNFKHډS^>'l.S0,FFPpO^=lG`hh0@[Zmmv8~](OG)h۸8# F W}K f"Nnno8n_T* oQ|-]. o[e^ p-pXXj\j]LԄ.x( g } pOz0QrNx$؇"@(Q2`\ bcr6s|ւ' @" LPVfr(rXy\,!XE/^_4bJ ;[7s9~ p]p@_M>&$"Qɯfd*ಥKK-O,QHL?džmuQXr&@+XgO)]HmhKu$-Fpw@`:e5d/_:vZU wm"J]pXu~΢Qdъ>h4lNJ0X w&oyP1R_qT7AO``cup2`P Nbb-LIv&ny/svNWygMy}&eubQgb+LoΈDsk8}wgPxMlz'x%H}go`(H#3]gmf@XƜL_p H+8~ `P|Qmx|\|%,h „Pp T&RH~7r0c/ʔ)Ux`AG,D$ΜRRJ<@ )ԨRR)N+֥X LB`-k,ڴjv?4-.'$Ҙt%7 xsIɿ()x@!h3!$4+rZ#?+6-÷6Ĩmv *5NE6Lp$9ϋ@,* vhFͣF:|(ExcpH @5f5W%k * 0?al[]!6x`jȡF7\(t 0CaLx[mtAyp `p1c7渣F4#(JG$DftP?j# L5ۋQ7.`Cyemɜ? ]vڅCwLaEaC$sZ(*Jh{ qsyr}A5DgA1^u`A6%ʖ[oEg .#` 2ŭǫ:b'RHkqk`'ljdxf[HP:?TS Z`9&?6ۡ;Fr832~؇„qqʠ@ȁ%G8VTY +RdpGBI."GgyD@ŒO*ӁT^EGo)8A+gYib"lpA;&KΦثzjďۆg<-?RCB?Z?XФ!8v*d9A\\CBȑ 7 m($e/ļ'H\ ?+dLGmb" D,0  TxUpQHyY11D(m)46u]k-`Ak[QyRH@]x0-{ )WwY'OP #l~dFeƉH~0eEvC ws+"{m-bP,1?\$zs>;* @D/3뒁`([^,y4nNd/J1 P'tB5 !F?|)^Ђ XO8"Za @Ht률 `1A]m ACya(A)@8L`ry[?(9d '_m(≄,&4~U+y! lBp a @8B _eLAAK]]m@? Y?"dM*)` YB@D5l(Qp ]0 =|(4A1xx |A $ Ÿ ^1!C MxUy $a=&.+r"ƃyHxd"& --.01",'L3B4Rc8A^(Y8 ,@Eb(*rkQA'j\E)@m<0| 5p$+>^B"u`B"."/?(A8`3F457@A7DWm8`c @'D:>4KɣT@@Jƀ)E"dtAB^.ʀVbAW~eXeY%ZjZVc GCH"J.LHlAQJB%r#&bQvRNTTKʉf&dVW>?CkZrd["6% %BܥFY( c`C bfDAoƀOReJUeAMqBhaz?1if4<${n$[ΦEVWF}E0mM/d¥ye DLU,Z !higjC1@{f{hݠ@g7A觛.yh imh\9dEaFdB0P⅄?DffB!6y<)ʦj&"i^&5KB )Oކ"&Q`N,Ni.< 0  x$CL47x-^7\ƩA*$ž.*' j2pwj7Ԁ@xh&$ !D +`;X%C <)I·ҦC ("j jpZH&$)F5A18ՀXP^!$'\%D  Ѓ?H? >D@슶$%?Bx | BATj @*@-Ę݀0pB ͞[@`J&"b)D4>?L?<@@Al|&x˜ LP.K4n.b&ThL.A.B~?Br? ?|?8.NL'An D܍,)@0؄J) --@.Ӳ?AN VWx6qB_)Bf(3DFdH0ln?'p>C01,Aj,a 0hsH|X&'b_0pZ[vȇl81U +"0' >N*c$(A8E[yF,"# 3:2'r>@—ow4?oYu-R;đFL:׹㹞-@:ǁB 4ÝOy?{G;TB$3zd0)HhzԺE⸙zdivGL̠*%++ t_Bl[bD)Fq$FF9v1~#I4yd`kT|ȃG39R gN(EП?N^A'4pMğ)bGK?PUH^L AQZXtx;ߋr[Z]Mw"SaС~@q Z5∀߾ k,Ta r.(q b)"Dq#CoIܳ 3ECJ;!7J"G@ˢ+#̸L1np^x"d#i c,<ܓO<@# ,:OΙH% u\[Ȣ (L1%T ~ȁ @ @xBA#3Xş 0,VD9HB bhB?,$a< R)$; ?pGx@ S:T""w@RN nq@V a .D ӟ^AQen[@ؘ=caμ* l]n#:(0]T"'`h/NǑ8n]ʢ8$ޚ kd\>ctC۰A ʆbО[4=-:9!x愀G ^{IH+&YiqAVaQcVBruGX]Ax]!Xb(b H0 J.]#*&H]u]Bgv ٌ$d梎™w '(O !HXV-b.S`PJٕ1 8PQx;h<8fKBۀwԭ. [zfHBHcDCJq B@on` E hE+0(a?ҕ.$ |d7y  aPxXiQ\c *BNQ%  Ъ bi xc]o)$Ҁ-\s-?blN)rf| t;.nQ" ~>ͧ"Ф=T dqAЌaũ]IMoz'IN9AX_D$p8Ish,`9Ёo 8,WЇU"BȒ3 ̌"0x.PB$YRHRr?2%3ݜ'i52* I@s5]H쓟p PhCp D*q" [AsAAҚyB2j""&S Z/2Dj8dt X%V䩀 j`R˾ عdn/l{3#GQ^ VMVUYeSXJd^¬5l!Bұs\?Z {}ka ζe(  @ ә ,^;g0`ZVlNR)"BZPWfweڎŶefD  gJd+9,8ˆI\b%̚&F`a !>{`5]w^ o [`1aLz_ Y~?0Ca6cF,7#H1k/L(G B>lCZG"FPxC*@KGoU1MhAщftM IO䀀59dn`I3APal7cx货AEҦ4- =hP7٣vtOMmrnzÚ.``6ypL]~z$ҐaC 8$$QKuƃEo npoT`q;,g$-)9ޅ `lJ ZN¡ NO XP C9@ $>>FA :p #B@VeU&!+P`<`d0 P/`d!x # &a*B  ` B/qD @N` a @ހ1Hk0@ 2 $D`PV `@в/)O @ e ϑ"` QmQ  rkl@!kpN勾 "/rb2E#;1fO 0#K4E8$WR؂P$O %YR&-&-c!n'ur!xR|tp2!2'w(('2(2)r))2*r**r+++*!@2_Ҥ(-q.!.EG!./B///'!0S0 00/3231)s11m@伆M&>S!:>D3!H>LPT5]345e36A3i6m4qs7u35y7}5s86ss4P-A-K2i'0:!P3>:;D;';<<>“S<ϓ<<=C=3>>c&?%9@T@~pATAAAB#TB'B+B/C3TC7C;C?DCTD!"kDOESk:SE[E_/XFgFaTFkGs4DoTG{G/GTHA HITIII. ;PKc'lPbO]OPKM%AOEBPS/img/cncpt236.gifHGIF89a2???÷@@@󽽽rrr---999ׯ___///;;;ɱ000oooOOO``` gnqsvx555vvvpppPPP666yyy777333:::444,,,888222gggjjjXXXbbbJJJ111 SVXxxxiii|||MRUjps>>>'''\\\...KKKwwwY[\378BBBqqqt{fffHHH===ttt]]]Z`cUUUMMM<<<fij~~~@DFcfh###$$${{{dddTTTccc%%%mrukkkEEEIIIuuu)))GGGeeehhhmmmLLL(((NNNRRRLMMZZZDDDFFFWWWsssnnnaaaSSS&&&}}}^^^[[[ !!!VVV!,2 H*\ȰÇ#JHŋ5Bv㯤ɓ(SDyEd4Qx͛8sɳϟ@j 1MH+*]ʴ<իXjzE :k2ٳhFC]dxݻx}AԨXġa+^̸cƇ  ,[%[@ϠCb͕f9װc'6ڶp9ͻ.u& 4^μsT14KT5tkν 5ÙF;A@ZGsStf_vzhr*PFtE^d߄BY$Up ZxRc@h_,]wRyᡈ8b$2iDk$j;6d7aJYtƊEfeD O)R6x^`lsd)i8ހGnTmZd]dR|(碌HE{4F jiwGʈ荍v@R^\jo/aI{駰^}4Fjw]ԇy+lzxxR(AI{QV˜ yZ2-NxXk݀dQƪW9gIk. 7PS|C']QƌV,2TD-?n1ߐI{( m!uL-<&a4TW{C|.TG`{C(ֺv@a-%1h[I:|4 Qp^4=2/GI0>DoFIQT.z&>֝g)?ƚyY>?;^ڬ.|3;18^&ǻWo &={-և^%i}e~s7W?o?l3g{F `b.wO?>pD`I2z=x0IwA 8=U` ArIaRN%Cnχ?,  #]. ` E7PȶHx̣>]6;4]Djlt UAr#w7'(̤&7Nz %0 XG(DRM;JI96qDJ)|>LΕ Pb r@i~<#\Ph%`>^aRY)E82tPAׁص+k`K- \YphB"e,'|ed4mJh"Ӛ阞d0D#R:'NuYzDRqU0jK6xA`/"ۺBQ:V~tml#ok8)u8-L*!Fq6U:3j]gZ4B(EІG DІuAvAx iIc;GN `@XrP`zb(,pۼU^Vn-W]'m}mF(TcQJ04 ,aSիd%< ~7Fnsi[*yQƖ67=vjkA;aoHg:QR&d$JacWsÇxj=x?|^"P'hXxT%}RageyyvGz'~Q4j@ 0 sp~MQg!Ӄg!c w ǀ NJg{7xxx8xxWZkfxv@qydq$q&vz~ ~Ђ|(~(2 50 h  ' @0(bP(W|Džxnyִl=uO7e՗yygW'twȂ|~(ZH=0pEP؊x r@ y@)0VPH8Qh's]x|`b 86 P & -S  -`0 XGYwelh}}y((zz}ǘˈ=В=T994 iiq@׀pFyhP N PW.T)VX9)PVpx8U8X`I\D  X !u+.(ifq}"i y2ْYApMyiYٛC9Sș˩Wѩ\N8hiiYoo>0 F@0juP>0[ S$h"ؑo(XvHiĈ, 3Y!:%zG)iȩQiUyY9]Y`ɎYjx@|5 YSTN  F YxYtY:Qozu yʙ{.*隰)*,ꢒzʜ ԉxDZm HJk1pIXTKŞV1Ap ZYXJ}jՊʡ"ڭ&)ڨ+ /:3ꜚ*ک>*IhFHXFY @˥77E K ;i놹xڋ j꧀͊ۙڡꭳ .+0[ ZS9ʩ<?iIF HpyV@1RʫT&@WVIАXoU\ꁌ m8a+;p[[~ lI\*{I JƫA@a4ڻ۽%kUq :d۾KBڝGʸyw -pUA>K m[k%q>@|㙊 W[{Ⱥit=A˻D۸ܪ\yU `cžCAz#+EJOlS }cpD,~G)2lJz|Y/bt&I\Ѐ*bj0W;}IyI\P  AAɒĔxڏssdI E,zɟ FDL^z 3K,E+e̯h!Wͼ\ oe{u˞D@LaʗXXɗ \ kϫk\ǛN@4ҩX @1zvu"ٹmU\@O+V\-F1@1 LH<ȃy?n*ĈŊlģt)-BiP =E-gIR*߬k؟]xI$ormCv-ӁLz1C umɫ}=5zɰ\KuYKެνkEPϽaۀykT\8][ aPΊQ"ܹlTtQ][ΕLAݿ~<ۙ쀛/=Ă ]GQzIM՘VD^Ĕ0. yyunf\ܘ; <] Q O*N0 >0ѱܗ*@LI <b }a@nBү]1=ޘlL@LǙn𬴵}AK|D|^{ޠ'I>އNo/q{A@P [ " @l鮭=C4_68:<>/>ǎ 1A0 2P(_XZd^_[XCT r?t_vxw?쟮M9E  ~~ 'YpbP__do)E/Cz??|/nOJ?<䗟Yd_g?i,_ɬ-$_؟=\Z| .{)3@QnrpX ^O00?^̒̂.dP'ME /l G! 1$!"d(+31CA%ZQI.e΄jjB`ЕW @T ,iGV6Τ* `ƌ Adhp`̡ /%O\ٲBHE -l1G"G2+HOM4LCM5[C-(ԍC24̡#틥 HX!]"BϳB S+5][P6!m,DUXcPM6CDPJE̒1ڱG cdbCBTQdȀ`4S6<,uS|6lUVz(Z9rsW:[ƶFqPYg pi-R>m[-'rN4QLK_J^ q^k96}8N_ vƃTY +QݶoHS+]MeSakywduf6Lm|a.֨c1Qm>+ 3t!Z?#P$uv]rU<{s΁KM\{sE.X=saja7߻prA=Wt'K\LW;W~y>9GŸD>3{3AOZ]ʽFx֜y[`tnEɛT d;k>/B8).w]|q]s◹O+zC !k FB(I*ϒ(>e x[ӒHX< y+ [391VCe(*tR{8Nxc "Ð,w!kbJȥ,{N.Fry_VFKJFQZs ena 1 6t!.r`ˢ&I`dhFՍJBD: cP1Uv˕%cfIwDhEf_0ialc@.EP`GJ$!լ5blvl&9pv!ׅίLl(|gG0@+ܒ)@5&E'%;|d>U`l2 Φf`D:JD5QM}(8/F5V }HjOMuK)@":Z,u}zA&7tjxPj]DU񯞦;VHcBa  &5,bA1*VRhWfLz4Ck]ZVE˘'#N`I,D*Es($CYAeMʟ2@0dCzsKWUTGW|EXEYEZE[E\E]E1[[=LkBBBH3T4 AH\JL=3DmsJ?K>~8G-=vlGw|GxGx@e+'4F;[1,)T+E5@o*pl9sDGuGI,yL6J {HSHYL<7ԔdM$xM٤M l%N#(8<l턂NO)O&(8O+PlTFOOȵDD+R,R-R.UK0JêLU?mACO$ODOI%RKERLE=&T""(4 X>P00Uvùl0u7|5VrtTSeԜ S M]M< Q=-Q>EN?]N@-NdUTeQfQgMOhR,#M%T%VsO5 "'"qQU+Px ZG-Z=ZMZ]ڢO#ʏ"P;Ϝ(Z9Zڭ Z ۰-[%8H[]۴e}[}3[۹[[9[۾\@8\ cT%?$#;YL٢BKW%h' 'r\ 4LYi4USĞv]۽=5}\ ܡ-H(H(W,xYM-XN+H#6_-_=_ݥƵVD<ᅣݎhYp5ݎ]WEhݝX]ClU?Yǝ̒GDYU__064,@|]a2fTg4vSw.E3fyg;ca|^db.*gC僎gVh@bh{FVfqfpfhĜhthgFh.3骥;fchpT`v`iǗYТDjzzm~_rꅮfj~ҐNⰞa\h"xp D䞮Lm`iV~@N€ 4Y kfljeq^݈O6=(~Ƃ@"Hm"(PUmHkmt56kK'̮.Ķ.iϾFif&]^WU,46q}]9gjj.ӓ~f&hXaPo^.`ޕmcM^鄰p"hn^nVkFk}PQ~gl 'oM'x.0BB, ]}. Vkoxmyfxn`n:~Mn؎,!ohY"#0&쬾Vfv7>j.U܄s7WPqh8Ȧ!ޑ GWbVj6LVe'N9vc#k]6Bv&o dPnoneGvU>krAwI' BovpB^ZGNBC~s\JVW7g^m^z\velGH,ZG[xxx"hn>t5j&lRN܆`7?GG+ m{dWT@ޝ`4p7V1̏ο{r`P/$cFdte''~ $hۿWMgVl'X^2{֗$+?XZk!Ĉ;"6ZxcF(i *<  f&`D:XĀ-j(ҤJ2m`UZ p-"Zj@h;b(u`BH Ն 5^dvDvwdK6ip-PC=Ԃ &0P ?*<@C& 1~BPDZVxa!K [Z{-)J8(]cZqgwJd"7Er n&4 <0 m܍qnN*Eƅ)xLW0N !kқ,,n3o) 1-x0 ;0ՍKidś3QK'r(!LbZ-QK*t6?\v{dz;5BK9&G ʃ=7U5K $:OvڦtoʃK2>u{k'MMmˎq>|s}`>> q<_ͰֺΙ~ã}/:̧ ܫ3cuoڋ z_zѨ8/,T. {|v29OLNo]~ [?H( ~hbZg>AM64Mii.bn"υK6 MCk'ؠlCض򡌆"Ee>^79Xk^: :|L# !F宇~_Hc .!wgEݯi$.K'xLdSPZ0 GYqRd 7 NRcu#fP3< : iRּ&6mr^(f(t!Dp.% G3 iR>}'@*P|촛87U!xPӈ# M7{j}0鐕t "Q(Q˼(.yJJ eNjBNnj>)P*ԡS4\*N="hz@NmlN)p^*X*ֱf=+Zzԡ}ܣ35>h^CNŒ+ X>=,b2},d#+YȊ!N^TE!)ϧғ;&+c ]pS:`h!^D\lu~h?ЏU -p+=.r+\bu37ʠr1HZ.\)t=T"@j ̇Q- |ҷ/qG2jP<Y| kXzہ6v<.B` +\miHŜ{[Ҹ612 rx )?P. UCLwȄy+!   HcKueJvspL8t?K{Y(02lf!2aҠG0[5E19Vz٭U 2x $кErww{½~;t$j%"B& 'cy_ ^0]tCZkc l`␷ -uܮ\լv5eMk$5} laV6 miƶmpP0 ЭuKLpw my7osڛg8o_xCkbpwBki25]U <7~#!mIܺ-|eq}ΉϑЙѡҩҵ^^^ }]!1eUqϐilVCxdAAC4jU D@<|l܌_9zًE\!Fl!vaƁ!!!!֡!aʁ!  "! "&b C9مS5RZZu'~"(YA#>ڡM"Փ%S&JaQԢ-".."//"0fA" : [ R+ ,:^A_ʭK?c"$2FI3 9zbaқVT6N6#U$uV+>9cY8=ފ]5J)RdtE&łt$ARa` $ǫpAp@#XWK:aANAUB6%cNnZO&C?hFl?`QQ@G`Z le:F49_0cBfUNfVYUkC,f8gefCQI"]W]W6f#o8R" q:rhxhR&udAWWlgn^#1fd=$LdEi Azj֢{ atbߡ_W '{n~ds`3F8A gf%6e$T&Wp(rw$xF$.#yi<J6`8if%hVEX&Wq%f;KNBiC)*x"9:EIE JhrXgJXcBe(pi[Ύ)mN!<$Σ&#Ef&q$aWMbV;nbD+B+f|Ң#7p>*6`E(8Ah?{PE %CChaplЇЩ ~4(<D"lcNNJ D@iJF]n+6D8-|ʔ W=eGD* sM_.l NFdA{@*CѨD-BmCT~?ǿlik{p?ǒY٪Zꦠ&?d{FR,je c ƚ$߶Vn^nfT'u.RLlhgG~f*ՒlՂ_.ЮHc<d~ْ(* -Z +c~.Rd8+glƕ|{ DHJ$leHd8.n,o"/O:/WzՕ8 7PØPiǚ/+~n^U#/#-zC(>̇"w?;ʶ6VϦ ۪)c&qw*o[of0[15i*wBfl o1& bf!q*d,/$272?p)B~SPW\&qs'1fq(1 $ ) bGJ䯬C< . 1%3w&Qp2bo#Gc.S-q.a asJ2{b\F@g<{dz}QwjO%`A4B)){3RA0gPe>A$ֳHE4A(.$nc@ִY61rF&gc DAHeQ&B ,LDLW5XS3_DG|&+Q?.u n\{hiK0tRC0v}rtr/?yIF{||Ge(Hk?Dzbu`?a6r!6Y+v)D4'h\I.Hwɗ-soIQ%_W0Lij6kGpv6rVrR1Tk4ЊJ41G {r, iРBOYS}p__rV~N~7~k8* 8[7!iv38s/8KNGO8׷_xdxnxUUp~8ύ끗8e*27wЊON-Uj2c7x8Cvnsҏ۸2븉bcKr}s8}WxDbvO"* B(}xﴚ9g#77@B X=Fƶw7i9 'zӍV/3O9*ȹ?w:xi +z||_N"::8}&D19tI"p;٨W%A:3;*37/%{`;tr$[*z:{A8rF?9G;;x' %: ;WYB&C4!2j1xI 5lb'T -8vqI%FHqrFGXrHL03i90;wJPC0*&KHCT S/T p@V[ 19AȒUIINCDn\sֵ{o^{p`/d)[V#xPs8L4BH,%! EH"&_x$ʔe\sL7qJѣH:Ma:@T#GJ|T S-Tp5@V\ 03Ԯm+~?. >T 2(*4R["艋2ڈn)7Vbɷdc8r2'S!朂Ί騳;S;A m4Op5!"PlAEMr7}Nn '(k覫nۮ“*ř(J ʜZm.HSMM(9#;3sQSF-hmE=#bdFGI]GLT:N=52T%GTAeU?!$K\ҕcua%B 5$-=e5@c;oziTGJS\ TLr&WbV |< 蠅6XZ  #ÉCtOhPk-mCV'psKpNMeQa Z]5I\҈k +Ǎ(6Džb>VjӨ^Vf+cj яe [&}<7H;mT$/QgV$,lߝt@ <ܟ(% X+/4cB7nD]tlq49-EyLSOz$UW?.i7D0Ԝ"?Fzʜƪ1esٷHq.ecAē*a;}!KS Y؃?th1ROs^ .\LgC}! # BUhЯ~a $maT,K jtAúC`lD$eh p 9!j$K$>AB֧()YIK  ( ED(Ґ]4=) dFL`H@ 6KE|08`,[l$-Lg6 P/l.T5o~D6(3衘ǔ2eLw! 0_bzIN0l$ EpD4P>  '?IМ$&: Q#HH( Qx  >NyӝUCH 6Sx;PK0P<#HHPKM%AOEBPS/img/cncpt043.gifH1GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜIwrV3xFig>D3BJJ/@CHZl?ي0,G 0y'x$;P t+R8)poʼ)&=k ,6jɰcgOX!Q v.n\`@_q0|-w? `R-PruKZ`yP@X' G 9?ZBX@7 xO-UVˉf"(+_=@s@#Ed4_A d7v#rbp7ȷi[A ]H&ˀaA#p d+ :Xu?߼RWqOb(YX f)|e?n'Y3Xjp6m\rv/Wa #| w|zW:@[ ׮~{u;{/ 1%_|jz\G.o?+L:@]f= ( j GHB{` W8B8PP! gHЁAK@ H"H<" @.L`HH*ZX̢DEP>($Hl<|I_F1~KYGFΑ/zқ^>zܛPډgB*\wSF&AH (GIRL*WV򕰌,gIZN^F EbL2f:Ќ4IjZ{6i? $8Ir'^vDfAzgN~MFq-BrU͊vwXͨF1 @x HA @ EI1Ҕt UC#z͉j ݨNwё%=K ҋtH aL5SVӦYNў$-*ATi"\XTU5թӄ*Jն phP ֱ]j:hZVNժq*^Wv4#udF6 kX"6#kA"JM wY6SUlg ګv%i#ܦpjk [*vbB,p$&S<.r-Y~nWFwERu{LJQw^u}ϻ׸k{$n}6dMjI,, & ĊYdV4hzÙBKyѐ>JiJ 4 UAog٧hXaԨNWVgMZz*_o9 (E$`]Dv;3^K|ϞmE~?~(ߢ/y#]O`GAZ@^D"w,1Q0^|;ϝ>w^/Ρ_Lw{'!t>I}퓛g֓?~z<cX~ wUgQ|W~b^vy<@G0 R ؀7z8nx |w WN$@PR+Ȃ#518UWa8|귃\XL4JȄXVQ>[؅x(Fgg?džU#Gay<ئKQAAxH{qZxu7q!Sxh*&ҋp~a,y7ޒ-94y7!H!Q?;=RL8q~1e"1VY1B8i6a2 BIGY/ n)?g>Ba@c[s9h2H=OaOiq~9dIo9o\TAjb;9jy)CKt }9i _d$Ssa;<ʩ/n92$Xé г7!wU|>㛱^2)1KD0#-C`p1 bh bq-ќڹz>ˣ)*y( I0 :RD@Qr0% %#u'.F"f(!ᑣJJ i*d yKĥy2<{bY'%C6 "yDncPcb#ӔIr#:a zڃf:AU!j + 'n)m 9K%&ԳBL2`,[8@:S$Uĥa(cLU~&?ssƍrne @ʸF"ݐ$]3mEҩdIҞ&<*J6-+>ͼLJ$SACӪ=ΔMOQ> HӪWD^LVJ˗cY][}?1`=homeMg\B>:DBCz=@@7 lb>d0 Y>>ܩpr>t^ pX9-ݑu pP bG@ݒdQp >n雎 @E|{Y,)A1 FP¬{"yI۞u.nHP+^@p>n@ 륔aIscC |3IP _!#_n:k 򅤖b 2 Q768 N2'kF|?M˯ p  fh*lnpg} pOJj#ąBWt->kbP> $m"GV(\&?/_1 T}8'\7=>.E1a5D "Hj];JOPt,NK՟)5a!M=/qr |WA .dC%*%E5nGx)UdK1S~LM9!OA%ZQFA`ʓ:NZUY.Wa JF[/n̮bAׯW?@K"ۻ/ @%?c˙ u)\iFݺfag`D3DoKSv̶`$o¥Og)ImGfBр5zv>BdV7P0M<^>u>@` pB ;0A Z($@c- C!q 3TQ (DG|1W£9 H )$2(QC)ł#r DŤȒK4/JL+&7{/9R,;44w - ,-L =RLsT(=LC.Bܔ<5 TQ[ tTT4,V]յoYuEUuWdM{ i־[:6YjO{fs6)8@ٟ%jje"(m+ \Ls1zkwW(r8gnUߠ aEaxcr|$[(wLҘcZW}>:9eEb\~}fyJ.3ߠ VL!p멍i1mO{o Sow Kp{U\D îr':r<*Ή6uoB 8X&7{oWm]3(jpߓs@Klgnb^N^zz,]ϬyuӇ ¯Hk{뗩_qEN/_h*`Xh@.0@j<0 ;~2?PӠCh5C$ VoEPF5zP[rRYA?4ŒU3IRxԥX)VJȑiNQR>})Pf;M[T16I*Ǥ*VF=j]t_H,RDnLZ/S$U(aZܵrkjWr@k_ WFU]}[ W&v`xLcXF6!qPK "Ϩ]K*>/\ :hsl+@@{Tֶ6= $0 M }XG NbfzJT'g@ mN( ׯ-;`8xxb:Ȁ']Fa5s)V6AsH/`]({H佫c "#AĞdc3qMw. x} ¦踍B "(0pA6o6 16 fc=YDsXfKTs&6n0A\R ` -I/$a3iuDilJYTn\c!^qEV@@w PWeg*c{p< 2ᾄRE}KVS WPqkU`\+gE&0irQ|,3yos_ys_J$kkэ~3'PK%+-F 4aJ1%-JGBo ѱV$xt>5͞->{~ o:?0(?񇺜Q䝬R)u(VM#<,_<7E(Ju.#`iR P^D[ػ%-zD~osAa7ɋjw]M#=xϼu+ \tXw7̎p{.k $#=X> Ӫ+ú{=@p-Z5dT / *s?xt: A6( BAѫl0fj; ?3:gxAA |?sGB@;›GppBx7Ã00&sg4(H29B C@ <4 *nQ8B9䉥=$#),@9R$Do3E@E./Ԝ` ڪ=I$)+]|gFȖb|o0ƭYFP3Cz^lrƺFodmtqGdG8tLu+ilGyGZ_hYGGl f)GY"eYHlw$ RHHY"ȆȍD,Ʌ$I3ÉKyO3O|04lTɌD;X=?sɆ"1.@ɆԀzܣǤTILڍ?ӫ/>y?x 1d +1<yk3D4ÀU"(4# t{ɶ;D 0k#oC٬,c;L?,X3;b;훮3 `8a֌40ADK@ c͎$i KD7C<.B20YcO76BL;5|\="ҺXX kL+y+Х_ϋOT+50Q Ezɍgx@[ z`7σ>S ?qC侽2=dREHTJP5 W 6A:22,".K?lAOE.?sJC1 UNR" eAQ:YTOL骝L<5Ӝ^ˁ7<@2 EDv[d/Q$[C%aa5ŔN%=;N<8WtMWuQX_ hL=DjVʈׅ0̃H>tƅWO?Zׯ(35.XK2T i k]U8vWP0؅e^ʥ9]ٍkd:G=5Ȝ{Ygҳy45Ȏ-:")`9ZK W= h+(<1c{y+ud;wˆ tpsPˈ+8sˉJd#˔ؚڷڱxؚ$֣CdK7?@CU[D<܄JغU˜xPחWiZe6F90,\ţ@.b26 8+eS>eT/v,I4[>3+ زԮe#e7xEE$ĈL.Xu3e6I febFSP32Zc0T^gvn ]|e.$04 EeA[S{7;ms2d ;_N\`d+;E胅<[48"QfE Cdf;MApg鷻y61A`hKd˭USUUMhy)`i ZXM<˚q_Xow~ )_@o- hJֵ N &$o6e04n`r BQ&^pSeи fp 91y.yd;p8i qŽ)?Eigq醑BFbos+r#?r$Or%?r_! :q.9`rr ʉr)./ϡYlsISՍ  s sd.E2_ /VHUs4DZȈNk=XQt D+"\Fƃ st>89WSRm ;>,Wp0QgcܴNE>eϢ 2ꉒMs86$cc ]#)\Cb׿(L\?ӅuD5.&Jca[$AhoiN\%C;vF6қɜ8t r>w{2vVW>c3(ѫnwMF]vR?6*owˈu猘tOUQ[t.磞X4BsO[=ӫӯG?}#?r<ٲҧSnοB;O׾k?N ۿO>=_+0/ՁB 7!ZyAA(aE|㘈Eb+H/+^x#9hPmB  Sh% iBa'Tb=UU$IdR=%1x&iv"i͗U.)\? Q|Ax_u* q`JAL5dgl:fd!i'bْE VC詋)ZkZoyA{mhL v)e?b#K h|j*Dܘ{V/]v,ۑJ@ƘJlqG;?(Jb<)`믒;1jj'p#ms}% JHPվ*B7/86#`Z1M/tA7*yULW7%9h5H{߬Bt"'26e;7IMv MSEIOf19[>āk9*A9]R1i(+bQ=9 1vP i ?O-h=<67@A,q+1| #( R 3X;PKgZ"M1H1PKM%AOEBPS/img/sagug004.gif"CGIF89aurrryyy999<<<@@@000333---***UUUZZZĝGGGpppdddfff```PPPiii KKK쥥鲲...NNNLLL򙙙!,u>A=>>?=ΧA HAvÇ#JHEz>٘Ǐ CIz924ɲ˗0cr#3sɳO5UJѣH2ӧPJԫXjZjS`Ê+ٳhӪmiv۷pl+ݻx˷_{XF_08̅6Ɛ%ζ8eb_^4MPM4&MMkQ{MֵIuNɔ Nȓ+_μ'Vؓq Ë]zjӫ_|{wwDϿ(h&Lw,(]kPR`jv($g{a,&X}g~-h8lX(d;RHdInX MVi%x.݊\`(^$>StHf֙&ըwVSO嗅JfjFzf *iZ祓f)薜^`:<6*%5T*Ncx6^+.V N;n>n.P&{nno:0;lZ~MEFp Cn`cיq)f격 p6Gp!P 1oKx0Aȱ( 3#& ' ,nwt+r@p@X5^vt5{sh7էAfM`.E#h~H .B+;]!|6< t_+ÑQ7: v'79n~KO9[mh󗽎_' n+/DW=TE$0%pyC27r`п $p#sx1mj| \`tW+?ЄLV؟sڜ&D (VM:FA@w/ޙ`6CЈQf:1^Q8OAսz/v @}@0[#v.zV 9g8B~.m;ĦHld؟["GI2t>eL `{b2ӹmUh<}$#rd%ȹ%ͫ^37T Wf VS^ts)M\ɯM.Y5 }p x8 {d/k+ /I?$OĿϿq X8 (׀8V'؁"8I$x(~,؂%.2}6x8:<؃>H͠*7DXFxHJ@R8TXVxXZ\؅^`aXfxhjepp vxxX6768Xx؈h`XxPXxHP|8h؋ˆ8x& A38Xxؘڸ؍(Xx蘎5:`1xX1p9@pYy ِ9Yy* "#y()i 02*Ap0:<&=9YIHJLٓ/y M9T 9YZyBy`I Piay(P#nٕpR&9x Y| j fɓpA0 @0? yu ٙ9"I`_iɐwɚ% yy)!Yi# Yhy Y Ж A}깞nɞI iIYW y: 9b Yɠ)oI`ɡ09)) 䉢yY.Z p.z *P5 *ڒ[:J @ yKjJQ)YYWzpazg &‰VFz4J yw*ʥz0yZs:CZʨnZjjɢ!jz٪:3II0iZmګizyj*` ) Iz JD*'- Y( ګc 0*dJz YY*9(Jk K +9ڱ+"{OZ٤%˛IkªH=:"ɔ?;#*BKZM GۮP˞Z)0+˵@9*캛_#9= `ܙ9ٯɷz<ɫ);u;[TY6|zfJːS*a)v ~k^['k[:-o[{Fɨ CI  a<۫~Z`t*ӫ.kz ڻT %K޻9իD{{+3 [azɖJYIKܔK;'Y+˹ˠYz||ˡkZy,y j0,OA%l@0y»|/,M @ɠʢ<ʤ\ʦ|ʨʪ `xʰ˲<˴ 鵵˼˲k<\ ̦IL{:̰̹1LTʌz͌\x(,>@p"o>͈̼l̓M`#=  \< 3= }! "- } !Xм! 2-4m6&<{Խ68mԻLMN Pm?=ռ(DZ=HJ_=U})e}gYֲլpa c]ײz|}oץ(\Ԅ w׉]~ؗ9ؒ=t}ٚ0M֜mڎ8pѦ =sثMۊY۶]ͪە٢݈]GhMڠܷn͈ݙ]݈x m]Mދxݗ=}6 퐖}߁ޖ -Mΐ]/M- ސ  ^')- ^7} ʭ-Ln}ŭD0.9mQ.G-Im名 WX .yImiw  -xIm-sIm苎(蹍,龍n}^-ᖾ軭ꐎޒݧ>n۪~ ۮo9]^|n)Mm~ ]5NI7O}ވh 뫝ADN.^Ӿ />=a^}Uxl~ .Nme,*7.02_4\n?A_CoGܗI!#_%TO6oK/M_O9;ikb/[ϐ'Fqn^g]_>3_h_g.}`]lOH.ێߞ?/Cnt;.?nߍ[ y@/3O_ȯʯo?s  xA>@>  <>>&@>Цljן @Ϥ܍ سڦܼ a %upJ&{D:<"[ ceY3 \2WIg f )PL1 2= "2h@!by _)n21HU@v"E3sӎ*̣C`!=+4@+C^B-D*] J- ,#^F—۝\> 5c!:t6-kc=URd|kц܃}_e\mIy /Xq]Q}~dIvrmQ#0 C4pD8!Y  rRmْ0u Zq  `q͕1l20\=hTIW%  D9UHVZ2$`6dB%؜{EU`$}X q&4dlrId>pp>( >UAr"J%zw @tli*lc*AtcBڣ[+̍D'YԨHsrN;)l-!pe!Dێr"–|!h;eAޤTJ<ظ*BiNt(+@X Ư}&#ޖ+HSLbǶLw0ū51Cȶv=˷INhe.T[A<v #ySpj[7( q!7&^1e#݌igN C$@;Zmf9K~3!L",U ]AgCM(2<ϙ&+2W,hݑގ gе Do;^/"r/;rƔ耨. >57 t-#H02E bHTgn"PRDi9ٖԁɌ!ld!>טG 8O[)F63If+%2SLH+?Eo_1V0Q(BsڡCIJ]1fH/r4ZK|J #}a(&<4RE* )O  ֚B7E&8d@4&2eRfR0pV` ܉@)r'IsCv0}d LdwNN`dRY'LLvB(OzϤ,EeʩvV"Z3nK@ PQMn}sHM*PMG*PESZBT^OSz+ ֲ.5M5Z:UTupȊ׾˟i`WItVZZ&k Y*lY/jseپOoN-m_9̪g_ЊHZO+vk^cUmo&oUbc umzu̵suv>u{ ReEy#`Ywr]}X?u{#XIx–Aa1|.X%0$;9CAzvIRb?“UbY=āw 5&2-IO%kWÒұe\xʎ0od,u*r?ha1gn-߷kfKgW%?q=18kʹ2:ΆvĞ;5в D7by1-Fѐn-6eZ"zgmwv,dV;-`ٶaXꅥnzL'lxý?|؏ +YG+/˓`va?`I-n~}i#ネ|+?kl>׺_}9Ћ|ʍ~߽g^?nw|×xzrG^}}}~ՀX{}}jWv 8o]x~}w Gd\'H])x/c1x[3\5~o6|H~%8n?\AȂC(|B.my.5ֆ7Uh>tqք9؂BDžEփąiF@$dHkfftk(:8u&6Xz}r_rx؉7LG"BjX؊8(~%؋(ye4XxȘʸ̨zӌ8]GؘXyȀp긎Xⅎ8`XHxЏ gjD T*  7 "FaƇ;PKU)""PKM%AOEBPS/img/cncpt231.gif UGIF89a%򿿿@@@ܽռЀ???>>>\\\rrrvvv999}}};;;<<<777fff```USTiii333___gggoooppp/// 000,,,XXXJJJOOOGEFcccPPP878 eeedddqpqyyy*()666hhhmmmnnnlllbbb cbc888222aaa+++^^^jjj$$$%%%111444VVVkkkHHH sss&&&KKK]]][[[...qqqGGGRRRZZZ~~~===***WWWUUUMMMCCC)))TTT###{{{DDDQQQLLL|||SSS(((AAA---YYYNNN555"""www'''zzzFFFIII:::tttEEEBBBxxx!,% H*\ȰÇ#JȐƒbvhLSc,BIɐ;ѨcʜI͛8sɳϜhґɐt(U:ӧO,J*ԫL,( +wlyٳhӪ]˶-ETI8NQp߿ L07N(Zcn#KL /lXvh≔QtUXq(,tL(7鰃g!Nj4&doAGHYTViic`bhB r@)hb G 0)JPGdjnXqi)][磐uZ%f LT*HPꮼJ*첀+>VK촑>`2湃Ԇ|{RHcց`/JG̫e! wgqkE g K>hʽJU&nj*l󮿊!ΒQE7k$lZm-ҚGGSxՇJJuM:#d#>0vM!qpYk0a݀Cdd;s&,6ߤut>q}Hc`LC0]tԅS>Uz\ͯ8/aBĊMG./}vu!!A!3Hw}MRH H9ry;wgWDXį/ڏxwW\!U{Cށ2/vj9  ȳ.՝mlLy{ XwiXq*uj”zn d\*x.X@Pz_f7`q5z3A=BP:tL@)A{:<P юrϭlzSV|j_^N*7A*$'/wֺ"/T[#ZoC0X~t07=]җ^kL=)%2V T&s hsG(AKm5&@.Mig<vz5`1NsUp= Ef? #"D8 4WBc`h==XTF5Qޢ"&I aыR+eiC= @p(TLk+t5E)NsڰԧE2P=|H=)F9`-A𑹩 B֤nU]W 4cKR5Y#kmVo ׸kbP-N+c^0faŅX*D ق-+0 *kYfVg=4[Zi׼"0.kzYv6^ݩGXvNŖR[u\VM)rܧ6W"1AU0pYeg!` nc@,K.k}z䢱\d'ƨAp/_ l=L+X&DWypZ섧CHC- Zy<*xB2@PHPTrC.reLc+6W1e`:W`FE0f@™+$@5(q/>@8KU7nrz@mc𞕼]f7 l7Pc!1E*| w!.qLc8X0qQm|'S %xwXxJ3מDH%2)9s9J}>Mo?vK+'8A *X}$v^y!F1&zR`';~w|ou'!u+LϷMx#>O.#MFInYTIR0IpEJ}x6}~sܼ^=ܩ,kg썞=w7|p4k IwvQK@yȑ8O\q`0N@*H1Ђ}zGzg~:zzqzN')fw7xQx(|xPTXp _P b ^Qfh j І5p;&tv,/}4~Gs~v~<t>}2V {{IxL8xP(UhX`ЊGlP @ ؋ H[\P\?C3Ќ3Ш(sXw-/X|3H~igs8qztLj(gF6 WX؊))+-А)>D/Б/ȌA :@tvx؍28zxz7H=v hI7HXxJ8U؏h!  Y>D88r+ْz}Wzv5Iw6wZœ>(@FHh8YRIi ɐ )ɑ i$i(i,sɍ1~߈(mwQ9~R~'uiIJؔ Q)xWY]9bIf"ٌ閷ר.3)Y}ii7= S"8INI)UYչZٙ`ii j9myorY)Iz:9Ig`b|KYىʔ:iɕYɖ%Iը癇J(58'ʛ+-&)4Jxلʙɣ@:B^ JcIg*ښT0wzY9@e/wh xYmp IiDڠFHʝKNZPʚYz~|ڃ;Ur3*h7zoq  :Y9JLZq W* ʞ#]z( t9ʚzGњˉ=z?ڪ ff`苽 p ^m0";c@&{T*.z2P6[ :k<۳V@a DK˺&笉nOɪjRp^`b;# HNL\~z8Z;sy ʵ=0`k#tȉ}+k(uwkJ{[ 0{p빊1 s[kjՊx+zv.k=[z˷IЏ)۹!˟K:;jڋyW8{&i:lھk[E <=E LP j⫓{"+6rZ˺ L$Q@$A2| "<%R˾{{0``Y8|hW<@bEg=\\ 4 Z@,XC {cGļ;k+KU"aU0Vzeş\X v,ǜKßz: +ElȈ9S{Z[k;P>7Epj8Q`a5L\`e@7Xϔe|\cU<|rsX ʵL e  T,V,f&- ]o4Κ,> (+U\hM5̽/\a gZ7sff0k0=\CmD e0ɴU[L[~; ={ʢ|lXX%eD-Ͳˊ}cՎm}’l[֘mre&Zll\cd<jLX<<EǶMĜfػݻ}̏ 7}|D]7ٍ|В߂k:Fyྜྷb6m=y=|"}c^1ߌlÍf!!;~yr<+V-02>a=| .gf ;N3O!U=m^=nԭe^7츾ݎq+LN8^: Χ Ć㩎~8T7>0߶eOL.Q@{Lۦ^^U Ş3Qm%]?Ow2Q{#>_qMEz#XA .dB|ILLbHuG!E$YI)U$Xȑ11̄P#t.@OA PSQ:luе iM@ R݂Vqc%&\aĉ)MtPFQ SR!V^-kZn)b%Rc&^q% 0͛9w)"(E&]T{RVuk!ض}w.q%B? 4@s9Ȥ˰lκ-<3ͼ[ދo>h$?ͯPEkF{&ӌ3ϼOJ;c-䋭,rK.K0s,m~h?dM8$.Gq:l!SТJFQN\u$]T6O]vZj-Uyt pQ(IRْRf+ߵs[go-CAW=5blt]7xӨMNxcӷAX̳ mp3uBPXtV*c*&bN8g>cmC_oMw`qW&asafx)iY$wٞYhVW}7ȒH<ɗKj#;Z?Nn;Em^[AYn^acNo; o]n긇a;sid\.鷁Mtbū;]#ۿ}w7{tkUeЄ[fo@}U7=U'.}{ 1%c31`\<]Nh> X*PbѲ /usYʙypFqU=Ğ=x3`npTzbx8QpVT%H< Or^a<50#X#5:t;]ӠXGQ I8{CdbC#KIJ@$&׽u. B);G\$UKW'?.ldؚEBi4(D`I**a1[!'[hO.J h6Lцkf3!K Η0N HLMҜD'lAJ6q'=cOn;A>6*7wp|<`.! (M)*0|3U,m=>Y*|)xWf񘝤e:Ȉ҆YRcO-u4lȪYs.c Fi#\M&϶魃Ly.!R8M}*T X|'W9jV* ([e%GHrj1ɜh>봨Ujq{n$u*T1s:gfwU8aYN"Qw @u_Why,G9R|X('T+X-bRحz *HW"Ef"kI+fq]b>X-]`5kcU,es:'l*Yi!1XbO:28C#dY[re0Yc&sL5q@ӇP Zq ԅ j @[@,&t }hD'Zыftm4?k@-}:эN,CCc9a}jTZի iu0m-L#4sPA 0Ԧfu}lT[d4 h}kTx)no \4ݢ l Wp@@'x A |A& `' > $\ gLpD8x pq@%xK@@ y3p@. >ZCTUb-ڇn2̝/k`@wm{[7 ~x-q m`r@)@9 @Z;).໳a| |]<9gMu@ XV* w™PqlP{mPx,Mֹ._;{>kz [ ;+|H>ų @`K+kʹb2!14=+sA3=KzAכ̿Á=콳=d;$$>4D>(j@ ̻+Ę0.B++hˇ.HZ,2 .#9]1^4_Sr4;xՃ?<:==A #T#l$,>cBj(IBkKD.&6`.h||0Gt@J!nDo<+*0,@CEw\/x ³6){C@+I[: #=4HKBd4DeDDfHF|I(Ȼj@с9w9A5ƣDd T¨tIjd/p/%p UhNPLv4w1;y\.GG13G\A؛ûC\bLcMͧE|FLg!N,[Ђ) <e|P%eL MzlAsId=ÂFԿ DcBȦHlTLTRpE PR-NGP-P%p;`PL;0Rx')p7JS5]S6mP4 #c1M[|KTQ\OM\QFApHᴡKЃ)PRK R P|%iUY1\{0&*C+VN9N(Q,M8}MԢQQDfO_pT;J[0ӂTMU0||PENGP/P8ՂTKshd3$U8UaҶ]^3YS<ͼϽtHC|J`VJq})@U 7ȇL% ?` *RvL Lp %%5WR׆؁-K9ݼL\$ѤXCOהfgCiˏQLTޤ;Q;8gaِEPURLP?  0RORP/PE| PwM '-8 eA]uIIm#1=ֈ3ϱ$JڜѥٷQO[;hهxzU;pGPE|P-^L|E?\?x/ܓ\X]H6 8XUUmX6Dc݆g]TVDU[d[4B[gJNkTټ % % -nU-a%̠56.[S__dh_k/SM2[n͸سuϴ [´a;ay_.1,"f1#>bHN؃%U')&V;cmlfѡtQ1Ͷ`Ech`om9h;80߻\[߉HU^eVneWfc`J]3K4*D6+hd]dA]]kJ,^NNٖsP~uPR~ZT3 XރY@`B^F+V7fSH]IT%Tj= ֻe(ӟML= "gFˀ@X,1\\0!|hx8s'0 1WgvNuC&P V&N]v3)Wdvv/=\0MS(7<0wQr`-~.9:*,5Ȁ8|02ؒ*ge '5n9?q Y e|l\`P{%XjøA,8).|xG$'(Ά>3o\]&׵~LI`z>Upp|PD`VW00. 聱7np`4f5n{J`0yʒcǗ|ɧr;φ+AЀseL_g&duw>z pDaPB Yu>dW%̠!1xD@edzL!cYN:3pgraJ?>K6 8\1 >c00,0)K1dM9O7Pb HհSNA%U.XCVZq>80`_(_YSLakYf5zaZSMmQUZYM]`b]dM9&eIca!H9'`%lgW ,":h!r( v(('rKH:]Xh)!{x1*F|qj *Az@Kd3 ,3`QCF 0lHH$ FK.$SHڨ =P\&SH5UUWe'6@JcZn#S^O`G6<eb`R61ŕS lr7p!!ej@|2)祷 p3‡3]fTH2 RKApJXm0]hӶᇋEQG%+F1W80ieddS 2`SL}a EWVIW>Dy9'%ĈI\1%I0hܙ4y| oj%.~;;ﶇO˰<~,2X`@++\NC-SSx5e-ঐ$C;Reb0;#5wirA H-cRe l Đ$lL"V%&O8! Иб2/ CzuC2 =!T*V0rZ"jfF1"ؠ^Qk|N8+5 ok)ME;[Ԇ$#,pHn~SPDӒ,ӋY.T-:$l b[-L.`i& 0Hy)L 1xF$^R3D@ وN$#iF!`x&d-ʉ&-?; mھ2?)pCE S #E, qI ; F)BvKte`RQHE.Ɨ!KcZ!^KËDl&@PGb3L  h_7Np+hq} >\b#JJ= ]'}o TA E,ʣ/mʔiRleӴ'%DR8.dxK)S4&6EsZ3|jp8:[ r0,݄*qRA&WG)\` hZqzH(Tb8 poY%(Zz[7Ђ@}SB L[6E3ь" Ҋ%A .g㰄?pi DJ &v=\1b83X0N ~d!F~*ܗࣹ!qr ` yaI+0.u'y׹&8`3ZD /f%,!K@SA jWo҄(< '$K@ԡ8Й8pP "XhQq[mƫ1 6P{ ]Nfr,Nb(>lg50)A/U~o-ћ?fbߜqm/l``(,C.'Z?e*UJT \#wCtfD!~aRdLKNn52?k(W"I&̫\\0E pg#H?Tx^[w$Ϭgx / FY6-=_.IkxYa}z' RoЄAi1HUG^r*<~5US5/!)F,B2lйxmԞxqVn(m[%i< d}=H߆ C!,B۾l%__ʹqaUQ"Є '$BU%)Aхey>@అC  >Z`[,b !b+%AԀ xV. ` l Ƙaȩa_1XYa% ! < H$bFED!` F"ʀx4$`i7&XE%&n"t%_%!]Tմbb͓] t@Y6vB.AETZ\@^8*22*3F3>cdB+]gB '}ԅ%ciཔ9:!#Z=@OAEM$&]`DEFFFb[e|$HJ*%IdZlKXL TWENʘ:$;O"Pf9!!0)lCAy,J%\jfya EXdN ^eeZ!GvGťB g} YtFMXM^>Ak&'$5&=)*a*8]UVma>t"<8B@@jbZD\kIaLm։noeG5p&)qnX (']UA'&>AAYI > h>Am܋߫cbwdV^)QjsAef\\zzD|(lWԀ^<@ao 5,ijjBibX&#n F \x|@ `񙁋TAhC,@a֔.vcd %RŀEi0ւB+Z>!C,+8P>‘AaBL>0 C0iUAр ^\łXG22X)&m,*a>jiDjh fb(> <A>Er*))x9!BB 3Agg 1(!,&((| C/+1 .`n,$ hgm ܀v%XD @Y-^BDAD v*PۓBJ `z')H% -&Ү,,f~ .fi+mZ@ؿ/1\z'+Q148"11(|o5T uF%mM[xl^@VlÚ@fl`I /d)j:O"wJu^mbi*"p)B-((|ꮮh,|+բY^-F)XnEڦ+^3R,A+\ Bh0@J @E 0 ggXFg9Vj>Djź(COm.IDri,6(>;F.x^X&f!tyBB,l6);0Ѳ!XA,(manTʮn ? .o&`Jhm'%=# @W@ t1q@,,Y@š񩨍⨏@rYAҨj /p䪢8!@!M$RA-3t%%8e lA*. &T &ȐȦ `@+Leq *N++FcJJ@B،@.DB zGg%B 3#v4[sc2:0Z +DM b<[Z4FG|4Fro2[CVp4\":3YR/u;K!lTS^5f?T,Wie^Y%ZcEVu[?A\uP^Jg$0v*5j!'aף$ahFMeuffװ_ 4%I*ip@j{\uliE^v_jlv_6!"6iaB/c>*6hcaZ `vssx[ 3%GOxhnw69Yjٶ{6&|O&UE1+ִbw-R R )YYGw-x>huum6OWA$r7sxKߒs$n [8 $`v?0=bK hWw1v#8JyI)H"9m_7c%TWt$#A$DmupAu QDK҉2yy~CVf J+`N@wŤv[zKO1\fE{<y #{SW7;^qGq2ѻXFY!Di[,0;i?;]v4 ;d>EFz>ts(& ɲ#;CoS|~CcosK|FmZD*2̳ οUZ-#z Agb"}a(KӶӇ Կ?;2p;{hz=Y{اAEeZf8:=٢Bd\Qttt4rr}h)~J3NT~{gSC<,(vl[Y#K q-6>É{Bq˙3?oco1$u+:+`iԩUfkرeϦ]mܹu݋A ;,nh,"2{`<,*HM]MM U0L2[ 1+/Jf+"8߬(D*ɞ(R)*Ҋ+,R-.kZ ` 0S1 .L3<` 4 &}RB`0kc LqʂHMH<'R)ͫ2=,=/ >2;s?5&l:TAв +PCPsne҂;3uSPE}B,GSM2xu<)ɣr)+˲=.r>1+3?4[*:6dDY={O p 0a[{M>96XexdFˁl>g 48gغGWI;_[toσ(@:'sA?j5CS#ynz+{Z`]6׫(h L00h7kƇ)^M{Ua \ߥi5`\&ת *9DAxA,/" Eưc &It\³IO$%Ei;! C, iHDvQpbH6Hްf=3񔧑8u6QI Cр!t37i N[9{iPjlSS s!)E )UJYR4a(߫7*aY%?Aͅβ!gHaLh; l`V5aXZ$$!7@? jBzȆ`Sy I&m ^UJv$Z 8'\f9Y~Yk̦@,|p׻uF&Rإϑc$-JJjt>דD {|v]~hZs@k[_/WD/ψntu,t IR׺U`״$A\70>0{kk[Ɨ}o8T{I17-x.>Sx3kgPd#Ϭ0k,<9QrUKu_N7)NazA.ue>mW8GmgfW9Xv~i}Bܪ Og⚑TlZ^4A{FQ|8uCݾO;kG}ez L^Ag߉xY,6|"LOO $/аN먏-䴯> :dF ގZOҏboMl/ k/QdVe0`w^hC/.0Mf\oۏLOux 邏hC`f x  --p/ QώRV@P`/ s bpfZa  CT( vo0@ *3CT6ৎaV39'DA/s/?252FiVr[ 1dA&K =m.H۴'N ,3"r9r T44;4u-Ak4orB zGl 7SG\#tI4?r?OT1)^TK uAGгȆD Su$Ƞ<0(3+?O.SuEWEFPQ0V5mAtU8RMkX ]1Br:ܲI3.qZUt:4[5[s[[;]%P3`WWogDRb-B^`@Nq!,@TY"QUJ2$4;atLq$tBXqb"AΠYGIdPs` t5TVT%1E X!|ugh׶"@|` F4O9C_GS/Kje V0tVkÓ2DAbA8X!(UbVmr) @~|VOOOvjVPkP5araeW8:|]gPr/Wx)(@>CkDK7Z2EVUU6[[_vkc6Õ!pεw}WDg}/"  `HDKVZVjYJWU`Wv';*a7M'<}3x$Za8` @TdZZ6{ w;g{b *!rTbaW8#@rhBx8 |a t_Ue]jaeO;y. x8}%f؍GbhV7`OO 8`Po{8Q ! ~@6/Z XcX7!4|{ a &/y@ד96 @`Q\(D8`zjU[spi.  h8@l wHU@ #P@(@A9 vT[wpyu@` *  &א&9=5,ZMd @,@rZ a!ἔc2@AϠ^ؐx@ Pց9\FY@yۺH@`z)x a&!j8,ۡ `حeʚkRF ݚYj m[v.4`fB˸ʾa,;vg".0.NA@A˙u;PKU UPKM%AOEBPS/img/cncpt252.gif iߖGIF89a࿿???<<-4t@mѺT6PG-TWmXg\w\/=+뉝)ShldbdvVdx|߀.n':wzq[Ugw砇.褗n V)-v.ns:W4/ormG/'|_OwzмH߽̝T_;Ϝ׳HS&@:o7"U @ `7 p  $9r&^$`^ Or$Xa k> ղ`dؽ+@:V v- Bu(1:VD`v@+8 F tFVJ peS☘H=p6 K3Ɠ4 `%D3n"0Gz@?[qpZN ٧9R$6; <ϟUXQ)>Ťx7ح20GPr X}ul(=%õ&2CĐ; &w 4Jw#O[)^ҟ̛X6R( >)P*`Tv%838Q+JjN-!}kR~ӂ5^VbR%z- T`SǢ:a+k96@0!+0AgQۻyش@P䒵0/@.n mV#,ZҞt^7R|`ca)Env%̱?V7-UFOgT]g~84]4GlTk%JTHby<.lV C) 5[2;4D(K>S*P9DUEKibҥF[)zrKBpzMI묕l[Ko& ߻29Mmܽqns˶϶r]Gs~{w6ۼyV{{۾s@<O;'N[3 g^FN(OW0gNϜ$UJȓ@ЇN#yan|(ԧN[XϺַ{`Nv\UwV<Nxϻ1$8v;񐏼'OyyvýGOz_)Go|g_9j5xwrnz;z⋞ RPwV$a`E ^t ~zV>yyW 0>`VAWE 7wWp}5rrWWyzGz4z7}gwWP h}Rp`wI 'w-gR X7q}*}ȁt~~ʣF(yg\@@kp0 c0 -h5@pc h dwr}hg k@Rp^Ȇ 8nWtky|xW*(w}dPׂ W +R`qk]8xƄㄯy!݇ x/֗-w}Xw՗xiG`̷wWh:Hp5P W RЂw98HwهɃ wkxxܘ{G]gHA`HrwgkP=XW89w`p]@}qIЎ)2Y|Hy(p:dYו7W9ip:RMrzwtx;w09uח-i즘|Yyٙ9)O)w~v6hy{_qa99cIwu89Y9h7 N'v6ăqk)cǖ閮Yw9 7py|טs&TUuI%<=4SS)=Р7@ʙYٟ)d? ;dOlj Z< ڠY7Kh*Cɡf:I'SuLKH'I٤g%W?*X(BO5Ke Vs ɒb sAUJHdGX U9Qrfc;jmZQlP!VFhzdV4bXz;Z\*̉ι|JSd9B`:r%_U$S4k8qce9$J:RNtIYEz:sOYZuT9eXGv9e?c4#6Y빪x[.:0jzwdj?Za]u\sSCdZ9d98fTUv7"ꬢӪJJ2JgVD[gs56NeL#ԄffF ;LPjG`E%::*]ZN֛c ,aYKyf7Se.eU7h#$j~ڝSVi9iL{iS9p@˪J"k^ڜ`ʛb*wJ:$,jF3cd3h[kFۯ*u j;i{9;~i'۸w{[`yH 98j^KlGq94bT;9_ac3Y[ƛ7sKɋ9 ;Ivt:]˻kGثǽ C۹E ˨SVPDjjXI{9 ;Ԯjv: ,{8u7,z< o(۷՛[N,F6;8+v䨘E#AZNA9PlcD;+{KZ8gdE ETCOsvS6vFCEWUDS6BL[CuۢpiYJDK,8l=\u;B{;7c]TĉĴOg$e!uJ]xtaLbLaW$O1Zjs4^gg+y8DKbnƚbQtSȘK O,='~FclfYpU GeH G`|AjT,PO!b@CTt\ЋǷWJ%jEUG BDEBd;ܻ{,.!l\*}O&[daD_.[ׅƇţuj6|lŸ D+H|̣8 JȾ6\[ć#`3T]V}M|s}@/qXkOjVQ ^&]9KM}dPemS PM1U'A8:mWKz|9? ě ց\KmK˷߁Cad4U$WhUGFD g#rU5E7EATeE`fUQхEd I\WDdf]LĈO}Ăq"d͹]X,ˤE#V`tVHruPFvjZ)NʴϷqm9kki*[`@,;}\˚̜== /AIs9]PMfB[B\iſ0HTU`Y7\\V։4/BW[Hi4Ǎ4ƣ->އ"+IkyW{*,Eіe@~NPm-p^Xt޸v6U1L\BƬg̝*oh*θnT)P*9_ēn~+cI+M+ C>ٽTĎ2.D H> MBFġ+NQ][]_ĨK7ysNzx@d荄˜SOЭq@DϢEYo4˜,ホz8Heƞޮ9%Q˵֠粮`"$ꄍ8P'1Ej9-DZ=Z!FOdt:V;dW[%O\חpԕ^F~2GiLVC6s7B AdIgT\$9jζCCdN¡^VnAdX( UA|s{|$Fh6ZjcÚbY4ГTR<P<hÇX!4PjG %V\I)UdK1eΤY͖dEOX:QIb% dStJS FtJ+V.0 bرX9hhl>ua(Xe!XFv `BIc \d Wػ7 +H 퐲:ac3nqS%:yS(ɕ/7yiSZm02@ >d=xCJ@;V  0 `r0!C {m" @L074*#@ )7*B儫' a:C&BNT):\S- b% "m<Ԣ Z|M=.˶2D2 *fd J;$IJTs͔4C6O0N:1\Sζ|ԫ @c ~t`@(IҐ2K @uȁQMm%LƄ6NZkUsN[{OSE S.ˠI 0 +5ٰ56@0S/p+(.8fb܇4-u*o /U[ATV1rU37EW W]a<: +m 3"9/ `T<@@dgT=ش:2(U9Hef˂]- eխb6 bv D~SXvmUIV>U+@rky]Ľ 6 c%l։+׼b1Vb9mK7 >UxW,p` TZwb U/@~>s͛g:3wl?W;tO~4SaW|L+w̍+q'3y9Om`qXAͮ<hSΐW\ l>hmZ=$:Xc\d0jT+V\N7O4XX2@$gM kE9ҖmnՄ8|> pD.D0J!j)4"by)k!`R!RcpvnSdqkN2Wײ3{fRg=jd[4%Y:ӊ 31y"`F%]8M0fXcR |M|j0jC 8UD{aH%UقP tH5="NUְ'T:m[t k Ԟ(}n'(i|>IdӤu\v= 5X=Qմl*ָXaH[Ci`zT#q\\8%'䫻hd ! Yި7Sp^™{3 9!] |g+;L6oU!5nNb}nϟ$wҝv{U{+!%}="1a~o8,zܛ;wvS:g=v A7CG+xE$XVV~_g~}y˟&~#:3[>fk>.Љx@@ @ @ @ @ @tj  A A@=[;$ #qAAAAAyB",//S ۟:H4B,B-BBB04BTa[B@'0C9C/l93Z iYiy7о@XCK?"@dABtC>MDJK DN\EV, O! IN3CaqVE_TW<2?DC,zBS:*ܼ_|FhƴP$F0E AQhFp$i|DY4FRC\;]|p|o F23G FFx^GjD{t|[Tu̼vT6HHHHHHȈHr$ܜ< kI|II$qEI)IGʉA JJ,Je<@fta,LJN5u6j.%m5mEmhO + C"1Px€> C\u*Hijfnvn.[Dfe(hv^dDFFM&N(Yθ*ĵ-PJ&!_Rb&p6Fpq~>.g  NvhF bƝ q4pioIsW>ޞ"}Vi.r nHo/o0mr}ȁXr}3t?9qjjf2]V΀Z4]n]<Y%& ru&><m=\>T?T@J'd&] uB YHoZe+Hj .Wg7g#As&;olDɔ*%̗# H&Λ-_C ZP/*mĄRcQX%P JBK՞*'rj.HY[ *Ÿj%Ȓ'S\ѱ$?Ԭ$HϢ#֕:&b1ta\bp!CJf:8jոYonu+׹%H`]C+*--ܫsU=^Wn^p93fx4'13E/yEuMRZTlA$GAmѽSPpy/V\PE@(+UPAŵNu[x׎AFx{*$YtFM R aaéRi浗fDfb%%}gEI]Y(e[ԥf&S|kG??(LV<1p%π 3 n/Q (‘<5n|#(9ұv#</`cAJ(f)KE2|$$IK:$JV$(C)QR$%$BVɐ b)YRHD$UyLƃe-)a0]#.%RJ40)iR3L&f6际f5)qT6M&yl$'<)O.6Lgֹvr'@iN{ӒM|'ɀ2(AESIܚ?эf eDKv(JS#~4~!UH YRvR6J҂!kӡ/,ݩ^*7;iQң"5uJSԗAU^(Uڸ"/+յNUbYGle]e+^ַ-+}浰+_Wv>a +b"6/[f++l-+kـa2gբ}-lc+Ҷ-ns򶷾mEV33 ͩ1}.t+R=.qfɜ>Q(=/zӫ}/|+ҷ/~݋lh8>03~0#, S/kvS#C,&>1ufSӸ61slNÐhF>2XyդBPV2-s^2,1f>s&ɽܤ,9odt3IL=S(І}Ў~N {FȐ4G(PZ34CmU@cRy&Sj2ŦW-Y'ԫ\EM][ ^ج._}VW~6-iS־6ms6-m۲&aju~74;H+s%y7Mz7e38#.S83sxiHKiΐ\-=Dr9|F63SnC|yDd|Gtnt>}D:97}6nu5W}ĺ:u|W恵lBw}^O˽PwQݥ`ϧ^ ^h T+~hwrNm<5[Λ?VC^Kּ]vw$>Dz=75> /{x*;/{>ý>F5}4?ƾQtv,X uAݡ gAV@@zS@  +I ATٓI +d`̀B}B  @ 9IDGG+@ +$@a .6 @ .-@+ Q!G aq "! "."#6#>"$WGD`G@!R E#"+'")'*aDPJ 6 D-$P@ H`[-#]RC̠.@+"4 υ!p]#6f6ܢ̔  .@6#;#m78ñ&NRDS֧7>#+#P@: @>^ #CXaA$H8J#B C>@r" l$j!䥙DHfJDK Jn)IaGR#L[hRjAdQ҉^@BR eS hYS^`RGZe5Iɜ%Z^8[:Ƚ%\ƥ\>G<%^ˆ &%``V\UYR^4c6c>&dFdN&eVAeffn&g6t&h&gA T<-hj>fjj~&lfg کaKbN^o&pp'qq'tq.'s6s@hy꧶𧄚^yFrgf?\ӂ*h((h"A֨(j@((RpRhY(P)j$B6)Fip~(3((1(X@]@8W̓uoH@j,%*5@FLTīd@S`8JD$SpXp`Tr^#@*E23>ȯOrV`T5TnTY/r)Ƅ nsXs+#O._i{I5q3k+Pk44Y8f-+ EX k*;F-QKF+k?2zS1 B3z0F$[྅Șe @%`@8U'u.b8*@)Ӳ _KYE*O8@&KKjLS  . rhk kG qlBg*[w .0lvT1L(Hˆ+16CX*+T@-30~s wqDpxvy u_EwT[q6s~3hklb*;7gr.ܡLHP4sLP42'n?I2w`F py*ꌟ{|kw6j(EN6L6OIkwӊl۪j*4+t̯+EcSs9@y~@sˆDŽYy5p^@7[# ³O ;_;2qڪv*'ti^tfS{|N\U8;7sλg2r»/''|p;UDz3G}pѫ|Ƴz<|SEbKHt>`*C-T.#/===7>>/> |ŕϫorW8rdHݏ^4>Aꗾ⯾#~_AC[m02Lj5Ҳ*0<^oeE,?7??GO?W_x@T<lX?<8?A[?Sx'NtbE 'ZRJ'&\XEJ\udH#I숀U++WH٪ XpA @jXE3 2r3JPU[vlXcɖ5Ju`,v-ÂN."A->Sĸ-H^/ epTLV\@UW"p,I4֟Tr`3BV8 d* Vbpyr˙7wzt_D@1aL B6knCw"P7!{ ֱnbI}wD!@;3'x#$p$Hc%(Z)0ൟ@pkJ X nXuܑX1 Ҽ춣@%lR=3CR%$#rI ,/(͒2㬳H Wbe+TriY  t )0iënH%(NALpT"A(SpUOTHT7mB9[qNTbeVs?Yѳ%` ('E*G'l`),V]^7V&u]V?9h4ݬ_|3`v Hg]- 3(Q'\Z=@# : tW]1(B8tiu*R2;ʝ] aO/uU]u($X־B vW`fmDsR<8@ 2|==~=x_Kgu[^w x!XսG_ػНH#c/"l2d&*q Bt0XJig iH9ldzXBk4H % 6j'-5a&?w:s~PVa=Qv!9H8P)!͉6H BgKmDG^R`ZN;j>n(B$+@- *r 7JbF3r%Uq9Dz0$:+y-\B``W饮+(n3! PLPW$%Lh/ LQV;&\؎adU )(Jg9Wc':taxyI{")0.$Z$Gh@ @G ,u)L"@h'$ !a`A] ]qNQ,y _+l`<@$n\UʇiUB@N5fTjTb8 SjTp<EVN2UW$OjWZ4P(]4 v$!`ayXp "Dt[a> ʊ A_T* i( BU o02RžTPj"02Ԭ7h)W9] HX+.XĩtC!!,sxFwݝo:0RG&R;CUq{!D'}_׿@]VBhCٶ$-‚բ '0 8)- tOo\YsF@Q mC8X o@!P#<`F(459*#}5rvR<)y5b~$DQBj mH6TJPaJ1dmۮ$'V#yܠP*`cdZ!׏37Mu~ua6<wۑsFP{J[+x@)f"@0(9#Cn% yJPaù,\+\JFJd: Rn̊lh hʘ. l nOo9^ڣ>8 f /% \iD4HH'L#aKYC6: J\*PK:9Bi0.jLS.*0fUެ%%$@ibkp%kT"VDO%b4p4@@  d.߄8ЫLfm TqFk(&N ,L(z`1.؜#?؃4Zp)DS"V#TVt\ $JXD,FC 0$b/BqHNҬ nMz #Nn$@ qO=LWE1U0(%3l5QOH$5F#Ns pDu߀+ 8)vOXʎ j8h8 +c LcZR%<`)Xl'pjrdѕr"b%D*`%bH%6,'2'r(gQߦ0'gh'{n*(Ɏ*{)l*+4\G*_b2hX<7.FsR,/06j=:1&!(߬s 0ŬpB~C`4?~`< >i`Z*.`T(9q T1;O1ӡ3<(iDRqVLaC e>5Ȅf*F9E,E 40%mӤ!%tB9*;IxLfeA=!sl|D@SIEǨ@<#G-mG'}4}4<2;L`,sLg4J]aJJմk`LfsN hLPHJI%=QNsrOtOO!5<=5'/@4uBzMS[9F*`F` Vlu F:`WWuWg5Ww5 zVqXG j XG Y}VG@WUYoWuZV z(StSsS]X<ăXyu\qZYu[uYu|_w5X5\ Z[^5au ASLPUBTuUW]=5QK^&eFn0t^4S0e vF\hNCfINEnXfJI$)OE"]q]3su"SeM%fdI]bnZ%l^h&LjIQbuQuv}HES,nn;dğm eQEAd^VIީfA6gk\eTZ6hf8%?6lK؆eK?6;)vOo=eچI VN[lYlKvc&SLlWc]bvs;vg@SdIP L;iV< ;0q]e;$V,2,vUmvHC6AD7l1delIee^pgEe|aWfe7;ow{[5VZTdDžxqC\vqcqq{Vqz?z-{+/3X7;؃?CX^` ` RO7`Qdq؄iX]t_ ZX_WxcxMY8\vDX3^X؅wa؇i؆[XxS8ødRG&ysSŐYPx#"9+ْ/3i4ٓ?CYG-yXnٕ_yQ@I9qnYw{yXajMHf`RrtٚV8C Nyr;ٜs9v\`~YoY!7c&mf@31c٘y3f YٝkYf p :4ڢ/VW+&:O+37WaePyNPDqbZ79:Qک yQfڪǙMMع@ZǚڬZڭY,٫ךڮ˺2Zo؄ ۰[۱_r; 3[7;Bd)r=[۵_ӤGfWw{A4\i? wɹot`}aM_w;H!2z;ߨ;S[z۽[{`ۼp'1ٻ@| ($ <-m㩧3j²+Vv=VDX&u,Wr(;oǭs|2=4q=Bڝ v@]I<$X9qع}]`mhϋ%]];B}35#eU}M]i}rr`p@^$D[$X`(#f`v^C$]]zۃf$#XY`=+^<{%^G~>뷾>]aI?3#RMmK=B݈;=`(cAbYu~:>s`_$V ܣ)Pfeڷ=#]#>A>Ý~[m_/ o?{#~• `!+ b@\c +VfPA!4p d8Pd I.ƌr1ҎzǥTZzIXz 6,AptrBҎT V?"J ;(08m*5 Iх@ipYW.hHF,1.d`!6jH] ;dͲ@W-Sk;ƥ:һC뗲EN \ _e_WZ2 7GG 1-a$(Jl8#:qTS骈B<̢H&q̡(E2щb\gFzohё$ #+ɤ}̤'wOfr(O)Pґ)W R2le'I\iԣ-^ >#ȃ)sl3̹$ Ԭ5ljs7 psu8 Ɖtsl;93h=|s? Ѐ t-AЄ*t mC шJ4-E jtG? Ґj$HOҔt,mK_ Әt4)LA"t}b$eP6s 0 ox b6| bM[˕zm"ԡ ~w@[bg@tYC{C΀s\ϸ_^5 `>PgNs $CQm "\os9(Q\AꐮBYuQz{J7*Ӌs[(I*qUo{+wךhognoݨֺꂯQ]Aϼ9@oy\;[ahbkz$`^'~gn tgR2-oƾ;q/ٝ7*ǿ÷O鑷/||ĆohftgwxGmf} (6r (iGmh `r(灦w%m+؁ W3fW92ȃ؂?x)(E~DvK}JքQx}PH6W|V͖]hy\chqif!hֆ&mho|vOfņk${|wOu~g8{xHOzdrGOeihj`Oׇ87Xku7OƊiknkX/w$AriƘoȋXjb8(Xoō(ȍ`@騎똎b(Q mhPb*)I_ɐ y b*`.&)_)bɑ `b)Y%ّ' g!ɒ* )E*vEU8 3u)P֓DOAG^CbENyg)@I'& QД_}f`aɕcYj)^[ib] kiJu+)iƖ%`F%p %oǗ `pG%I c镕 w)^@`  5^%i `TP^Y~ٛ߅@@F`T  i^^ y )FU    E_] pTY i+A I:i ^Gɜ К٘J I)Щ̉'I9; ]Y+Gڡ)LjNzh=]KzTAZ+a&,JŞ` եrEl,ʦ)u`*_ JiT`)9ا}N: `yX|Zp:]i PJynڠdiXJ*j) mʥ@z:]p$aiJ)Jʫ%a­~Fj ' ^Ь5;ZJ^a*a쥰ưJ"[`ia۞Pڱ{a襠y"Za"Pʲ)+^++@yTiЬ ziZ);۳ЙF*PʴNu8c&u[Y.:Yٚ 9_ ]UWt;a)Ij9 3z 0ɡ{prK'zRzt 렢zziM N{':`Ȫى9[ɻIq;'¬{s Li.JJ@ !*W!RZ諾I]:Z[X٠XaXz˔Jo3ʝ˿-ʏ̏ <߻kTjkp& 6<#;Z pʠ[G,I<:Z;Lử@~˚$AS{!\S?ʳ| ǡ[Jrx!8hv%Z*W(+fm[\l_ZkvƸ'˽|Ta˜VKʔj K̼˶Ë\̖<ͺǬ۰L<όlͫÌR1+οLΕl ȥl,, *iJmѰ!-#=M Xes-/ 1-3M5-ݛ%Ma=?mӔ, ZuZ]DZF-HmZJYL}ZNP]Z`;PKpi8%i iPKM%AOEBPS/img/cncpt277.gif&GIF89a???///___첲@@@ٙ {{{xxxuuu```rrrLLL렠PPP000}}}wwwppp###ⳳooozzz 777SSSXXXGGGtttYYYƬ)))666;;;kkkӋlll&&&aaaRRR+++EEEfff,,,Ճ''' 222bbbHHHiii<<<›]]]BBBIII\\\OOOWWW---阘[[[mmm111"""ꉉjjjMMM333DDD999yyyqqqQQQeee^^^KKK(((888...!,9 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ J4b  +4xT,}9 ] ȁ]˶m .@S6mM&IlB˲n֦洉B^MuKrQ%|u8`]&+^@xbN;!`C0VL(pC {D!VrNLV3hN$d7=Dnl O&ʍs219'eu\AThpw&u]d _}$} ]z8WeuRJ!vplpU~t^4^0x`r 'T0TV!rt`N$fQB(7U^ {sILi|V"xprh5ZAB&D{pAh@ |֤];[n|0m2St y~:$n2V~ Bc척ѨUZ $wJPXQ5r+дT-L@fZ+k,1dJ&np\$:<7pYmI q}s,2pc#SE 0 l<<<}-2H7m-OԅA=Tg}$Ӭ#qm`͑ؕmMl-n- ݱxlY3߄'^k ߌnjGNmPgBuڠ%e~䨯AVm^H{`+gV^$kP(e~AeY?=@?e @ZWA[Flo6d>p1?ܹe _!lQ-Z&,zppPGHR8 WH%d`HCa5XCJ=d !ф2< ٥P*ZXbPh`"2^qA`6ZQnt#XF,e\`T92<H,._H(-<@#Ђ 0ILb DҔd$)ŸUqU$,JE֒tdAa & \D id d'2 s l- M>撔z+a)KrΒf#KȀ ~!"L L=iO|6SY9JmxT" q=h:[ vSl85ROq&A\Ot $ )@&$LgJӚڔ6ͩNgӝ'O? S,;)Tu*թ4V,z8DR@Nh&鐂pI&A2\rYM|@N: `9$ab 6|$' +8v  @MjWֺlgK 3;-t IJLdoF:V3EyP3#Igb͖vri;?xn@3 VHIAK3iZ_֟3}fZc:ӝskHZ `%2dXdMb/zנmine6DB=L` v9 YiU.ӁQ2\N}xL Npg$- :!M[LI@0[@8'@ Z-g@ t A ~ :Bӝނ|8oZs\ Za^}0WA Av36HpIn vǧ)1Aho`vϜ@ @Q7o$@<l\]*`jy>IXg^"|UPt@ܝm! "|wiz' 7Oѷ zxz>5Hr @/U c? +=w 4Ur6|wA@ ؀r :Ȁ "(V@!#* ("/`18 V8U?;GEȀ@`L4_VqW!W\tWoYL0jskhljjr(lhwȆ}( `$uqhkHiȇh08h07llAFmemdg1@$9ъq=cs''LX{E8ЈdՌY1>ahH"a1Qr&%g8Xɸ 8瘐 э ꈊa nY^(G`dxobk$HYX hђ6>4 IȒ[19 `J&w^Wp#:y8cY]ِgWYREde(эĨ(HIwٖq9=9oy*tYDiGم?EJz)r)h4>hYٔ `' ɘv&@ih0țqzj89y0e6XFZc֝cv#09)癞9`1%90op9iZy PY0*haNI`ښ*L L$Z$&Z&',.+ZE3J% P+8j $?Z(ZDZ!zC!&:NL0l鉊9midjSJLz@+ l2$rzBZȔxrx U Ϙ `1٨ &IZ&lʧj:~6ZtJ0z zJ꩙zj*A#gRjM&꣝ZZ"PqJzꬸgʚz%jڬ!ꭤj*{{Q|"YZ׆|ejʭ!zj ʯJ+N zL Z7)wzxyg\Q *zN IJJ=ڪ%jS6# . 9[L F+%MMlxMoA+JP骅ooj$LZʳ =8j;8 xK*;/\^mX_:ڭ{KtSJ jK"` KZ}K{ZC뫬][|KL +뻀hBKYazi/'[?=+{K˽[Kˢ9YO˵ۧ=;kJ29۶}ܹ\egl[$&,̸I|ʡ*Ӝ伦LA<;|ϴl\sc{4M+ ($:=ܳM/Ȕ|}" = hɱ# ,Kʜ7mYk{QӨ7  |^̓l˛\Ȩ: +р\QMEД\[LѺZݦc!&n׬+D-LJyJm'jLS @:KҲۑ.=V|m\]m|҇tmګMpd-ؓl֕3 ʣ^ @Ӗ},ʊɨzrL՗_}Pܽs=v:˘]$ ,,Nyrdm~ k-&j!j-=bƨmjݥ\ %jιLW]x n\+xWp¹}ͺ]w[⚰;^M䛛qs,Kݮu-l}[>ƍܞ,K^ń\d 0{([s< + R㝷cA,h}-|}- >ٝy.`L^GkLf'Ƕ ': u |r?vخͥ㵎㎎.~$J*Fې,35>l>>`M{V{>|/>[,\'mox-8_a+j^o|&yRm?T㱭J?~.XQ S _Lsڳ_O"4p"X0*C Ol:aDGPѣ ^1Ȓ7x%Kʈ;|81C4nSÓ3@RQ$,eiS LZի buVa!P@|x" oΥ[7S>Ƶۗ%B[8S' 6AŌe GL o sɤȻWn t;(,t,ںerȣPdVSf9Ћlg>SzY=ߍ??(gDVXbC {k|2 {kb[", PlzDcLEX{QN( )|a`Dο#ò S/m: 90  㠄l,{ 4ô*H`TsM6dSM.psN:3ԓMFbO@ @|a(T6As:R:7R76'JBuTRK30uUV80ZuXuV\2`vXb5XdUvYfuYhvZjMv[n[pw\rW^Uw]vu]xw^z^|w_~_x` 6`Vxava#xb+b3xc;cCydK6dSVye[vecyfkfsyg{gzh6hVzivizjjzkk{l6lV{mvm{nn{o 0o|p 7pW|qwq#|o|s;sC}tK7tSW}u[ws,& vq]w{]oڃw7g.~yyynzg{ç{vP`}}o8 9OyRV?#H@j,+ij 77 \4A2{e:0@F -ڠU&Ax*KAr"0Hau \.afVE 8Pi´`cb7@x'9V"D e0Ȁbn' NdAA08Df"$9q|͑H8&D)MYJ'RT%Ѓ7Z2-DI,^"I2򅸼&?c+oeXgFӔ ؄G9: AH \ #H-<˗f&%YIQA8E td @>bNr ENw=S Ҕ&5Ki*Of-/ytZ@pM. x Nw8^'n*T  >Mjd@*RP9@TD6S3*Yu<'b2Jxaz0Fd]xȇ(BtNpp% LPh&9aXV{L5L ~ NZM|~ PGN u~%HLCDf{Nr$`+Z,Wvv>@[cʻ $M(=Ip1>oq/U]T k H "fG٬e%p^ P Bc Y2mv#tW.>]: | ];:5+}YS7A%}jx]S%`Wj @nJ tE.q~Ir~Hlpv,<*FrA]/ M@`?398& r0Mgi ؏=K.'?p~@ 4?.ȔV崨![ NxeqW|9ag1]@@ìm}k\-|B οߵ^TkhC,b,UQ zbV,C=mY 6S%Ԫ;N$ `xpNib2u_w#m b]>@̵-qv'Y_:<@. ԯ$#@!JÙA_8}ɦ2-N%"\aucR`NR XlNyGHԵp@J:ށSQ.C{vn{y[w IU+ Kӽ$%@!sEi˶ל? &ļOAֺY6U_WKEgad jAxO~@XǑRڟt?v R t9/t!M&ㄙcP)8ҢwR1؄ƳsSJ#@F>KMp0,|r0pM*13쭤{[A;O@+pz;)oq˖\"Z2by+6Jx3k4l-4.\MC@ԄDB,@Pq:dB[d?4DK?D?ThF\|LJ$D KD@N4Cw4D xBLFEwEI,8JgGMr̘P,QL[B\Ev|ExĘGGCm$n,D^LGB*t{?|$ĄTȠȜd'lEHodJZ%;PKKc&&PKM%AOEBPS/img/cncpt247.gifYGIF89a111))) 555lllZZZ"""rrr[~~}yyyppp<<<888???fff{{{gZ___>>>VVVhhhDDDPPPvvv```BBBLLL%%%nnnFFF///JJJ|||dddjjjNNNTTT\\\tttbbbRRR+++XXXHHH:::쯯´JHIust'''GGGQQQIII777񢢢𵵵㏏૫裣ՎֻѮȺǪ;9:sssOOO<;=ìaaa/-.;;;;:!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲJGFVI͛8m:hǥϟ@ ZWYʴӧP#[@`@Ea0"Jٳf54pʝK ,x im5UI8&?ǐ?!g #7Ph̹gϵa+`H q0M@CDFW @M448 tVI0QسS]O_A4jд( ? p_(LF!e!i '.! z$($iّ@t4D`c ai1Or(a<0&?c  ҄xhC`)fD(h?1nIA1;?g M?][pӂ0 f҄$<@cve8b~ 4!?-hbnAE E:H1hB &@&4a&>0n;D X!y! ZH,ʀ&K.aW\A  phr@a S, 804Q*&> vaІ|>πt !sEZ131]$d& q a@-8@0@RÙ ׶ hb 9':!uFCTMlb5G @1@8` ?np *{ȁXjFG@>EJЇ)xЄ Ci^3A `A8 R0$-urC[;#fA`s*S#c,}7Age&1!4B@ 0 H ̀gu"XGi2.B \hw LO0 AaPHq!!g ZC>[pbw#c=^{GzJ B%ON_Ab<~ @kZ aH; dOO?>A~ &$Ԃh 6UkG}%tZ ~W~wb@gU l  @ ܀$:'d|"8y7}21;*8WD~~:@@]0" 0@zHgzH 0 0TXVxXX M {NfEs{o{{'|a`p 0 0AF 9 `vvM y8XTc85Ȁ~GǁGC(r`uxvP{H 8$@70-^ HB h긎 8(` ahWf[8xG|qh`Xǘ،x ט#ݘ(:M`&vbؒP 4Y6y85 [ I@e8ȃ;*oȐIƈȌ|ّȍވ@ @!p2.P@ ?vyxz{ي!CW.bT9V?D WIZy]IֈaXgk9mɒpɎ`uɗ}N4TUs٘V9Yi\)ɑb)dihln Zp|p 䅊tڹ~r@4)N7<ɘU)XY[ ‰Źy  Ai 0 ڠJhfGɀ7)<鉛 Y cٙ.)t UzLi4j;!9' ):in [@@!.9jG;0=:?꘺鞒E**J,٤N25TJ]۲ӥٞٛ^Jz/l Rq Ut*EvZ*x8z:Bjj9 ysC!- zBBrx@}j_eɩn9*ziC!ʨ!AXy|ZDzGJgJʦ@֠%pP Pئzɺ.Dh گ *A ~٢L  _{ B r"Tg 6B,۲.0 Bp'E:~`1`j{P`0sqJ" U${?Vl`v *P7 Y{JC*ښ i XEM0 p& Cv V;ڮZ P6^`k[3A| |jpk ?kB lu` F ,t긏+*0_kņ9pP wQ nK k=/Zy0Cm{M\[.Ûu#i ;l @`0;Jۭ p yN {EfM_P ok3 eЂ q5" m@ yAڶK*[& צ KK! ¸ f!40ȀàB;\[ ; ˭M|q Z MWs 0'Drб elrzR.S-:ƗKj@O꺎jpi P >#0gnɖd{Lxlߪk줍|L\q>P9˞Ltv:u뽝 npAp*YkLn@4㼼l\˳̽jZA<\0]Y62&|OA8{ػJL\ʅj۸M0R %&'Ml{̟Mz,Jd t4!EL6B-&EmKԟ׫Ip3dD xq>ꤞnF!` ~E >@ nLN6=&v33(@ Q4AcX|`>ԾӶH1β@ c g ,mʻ &Nk9`ȾN:dpp >~ Pvv0q  0 VFhnp mN^P - bFpɾ65N4?n5& Ɯ|@` ` J:d !pưZ?\`(ibQq`S=ڟ'_.%nN( 5 pp?$x" aЉݒ@` jc5usP,0h_a`X[.rý >&o?=Pq-@Գ_ P ~0_o B@  aA` k $XA .dhP(JSE3A?!E$YI)UdIE#4adΤYM9s(BZ%J= KQN?R5B: Ŏ%[v >#8[q]yA_&\XbX( I2uV}A@=pc9脔0 &[`H@XP$=..k ρ p? D $TrI%!lrr1  O2a;NX4OF*LAva݂s49dhzЌ6@;ͫ&tRJj2/ )gDT%2+8A04T@?c rg@G{ 6iXb ,4Q0YRdpc%kJ)W TʁUu'^u݄8 tUWxd_~W1 6`Vxa'YIKPfG@أ? :1At@vY$6` ` ك> `$$ [ȁU)D vÍ7(h^ŷWxlV{mvm@ Y cGD8$ID m2#谅_@AĉZH`[e1"r |!Pu`&e  k mld+Byv]kЂ&tcpQ+-N#Hp@+@{ym~s\; K!"0 ,Z.T"a )4@.P@T&`>@uIf>\8;l0'<ÞCe7Ҧm O#*)QЄ bޛ#4@h=* ?#` ,r'Bv :0@ ^ (@EZ.?< kqm6Zl:1v(3yc@@5p@( -؁ I"'r4Pkv52` Ho>㾻>? <330K.\DE8,H -K$374D@x&Gk?&l4Jl]pj;NXRڂN2KH.PGh]K[X#L=XAhnjDLˌS̜SPIL[N@T.XIlHCx8^(pȁ&H @p 0ЀBNh 0pNBjP`O 7181 x 7OPϺ򴄧@؁WmhPxQxP1 @Ch'hW  (h>~ H2@& I3HspȺ€: 7G0H9]ӼpQ|^@(H07Q%=5@@Xu#(xP6XQfXp/!3P)uX70.SȁG03G:v"2P^F2`Y:Gܬ/;+L"tG#GEBY>! ؄=oZ>pse`B(cFV4f݃@b. Ph^ln%( A@guv~xf 8{ ;&T!q$߁BDh|CBOth&hnt{L>!snn` < QC@@-IP<?I)D T ؃M  >< _0-h!$k GnNֶ;PT1Xs,hs,`8s/22,81XA s.>K0?ćF<-0m)ItJI0dsN&S_t B;DW4-hT5̂N{ eAă6tMDt^zVuȃ*Ȇ+q#uj| 2Ԧ#;Zq "@TD3n1:Y30jN Bxh'j8"¥?1x& KET 2N@*a+Xd͢U-\tc:S|$m<ґT-f#Jvc~C`zRM=TU]V]}XeZm\uݕ^}A&yx")"[p`r6!tNwuf!w ~7$<"x X^M:$Qb-hr1眄UHm݅C @AP*Z,Ry'& GE'BT q r>7tV!vnw"Ft?q9xLz*vLD\*jhWҨ](i>ZZ N' !I H $q,1CgX0M\tC(lEqAALl"?pC (BH#+":56z^8?^j&_PblJF SAB4>Ou40  0HD#hsJ9_@@I D( A4ě H2H434I;xC@D0A€0L9(O#,1O ?;FG!x( gi#9F fd1?(62RhhN&AYkf NP0 H|!! @hoVϰA%Р.qE79dXK\B| @D׀Nt3j@  RKK6 !ZD 鱇;`'1 س$>T J+ENeT7$0H"|- 66&T`+8(LTm#r` C@^> yxAq  o PCc'^ ` C,dR6,y L^ @D@ &m\üh(c"p`P=€l)xvV@ -n#5!3L<+5dVV,4dĈE1U)=pGL TX2A1"0G"DB)[\8 ~B*duS-8 a1f%jJ~"6!h 2L˲I'ü2D!y*1z3h=.r&mJ'SEOBQbrD2P6L\=mSKj1.| xYPשԧa]W>E&MBGz2ѿ,lZ!9<ڠϢ.qc p9("b 7upKۘ׸]6!d ?B@L8 zasf~r7冀Bh?lF|bQD.pE^oTg3r,e*7D -h ( H9<& /j V> A>ZaکAӯ~{7{c޿d*_x!#_r_ ND@eAD2 v-6: Ā5CL T=$l " L?Aj9Z |a u V Ɨ 2L`} $!!C՟ɀ>>zB<E8Ac}A&$0Bآ:@+B\ Gd$d6W5$b;v<UB|P^?AQ&ABB,DA!8('UBAA@t A)@G$@e$Z-W\'-CRxBQ 0aL&eVe^&fffn&D@HD'@}B@@9@CGeR@PB'd@.p?,D@<@PU"OJx p.g6@@!@ D@.p%C6?Ȁ)@$' AJl(&(a54A:Dh֗,gBPc1CAF|" ?`l*$ uC T?L@$ĀL>0X"@"!A@xxtM$H3 " ?db 0ݘ&@&&LhC 1Q%Chl*$?  =?| 8ACv@$b߲"D Cd?/D"|A|(NB@,?,@ @$A8"H (B@ `n613 (?98<D"S3  h3%K#7#!Ѓ.P:#4A ȧ?`??$@ D/r\@*hB@C7C"?08@0 8_4 t3ÿ\)A/Z0B@Td"%A@h!8k$,B;\@ҁ XLS=@<3=3>>&@%8 @B4 0C J4E[|?ltGYHc@$ nfBlh.`<\f+<k;@X2@ \')uv(8h)/ )*2RohOZ4 TC/s1s2w ;wX@urc&JB&)ܫAA(p@DK!|(XjT7A !dN A#=@w?(@ @ 8C`´%c4'T5 D11 WL<0HU0A.u3Xx7·*,,1A.Zy,j-LχxTrpp1@.gBI@((W&;4;;4B u[U7 #D?;x |B 8  A!B;!$<5̀)?@ (HB@<@n XHI_}ן>g(a<B "<2 \ҤBZ`2G jH€@@ l4''0GCA> 19Ƙ{9ɤ:̰sQbdFu<-hFE7%4"B'S0d?$x@< K"C *B(iJsN[1"2.n+@"OBhZ8&}dnMpl&ZIB\ @ vPB`lYǎ WuN_OS|XB-+-θ5b>.Y#EqM>QFC~9.2a@G䅈 a?rADID`_*]IWEcMCw?pC@M&ɕEE|+TdYr*$h0&<\g%QeNXDMk,aO#NX.{KMP*-TF9hz`b H>"qt 4d\/I &IʎiRDkt:CAMP0L5KzW"uM#NF wޚEa1ymXIjHWe$ PeT=%_ 1pB!ܠO-26c6(Y c6Qխc Fl4-ZZ[¯E5+`+%Ǖn[ֿBֶυW]Uׯ%@{z~ջ}x;ڢϴUmjY]f-mHf_Kn`˻mP<]psWH@B-I$ o1"%dh|TSAH\'`K+o]LҠy ?/ +_Ye};`Aͺf7LKE$QhCщV4cW>?ρ?To&]hImPl1'C& i[׹ymkQd (ҫc쐄aف & ` % @3 ȭ  5zFk>c< L@,Ab;Db ~R`{yL' `pV`K@ ]$@)*x$PPdj eJ;(|sC'HQ 65=ЂL` @ ((s0%hD" (aJ+ 8 aC#QO.(rF10#A^Z@R ]gKC `@ a$(EE ڥ IXg2]K.0D( a521@N BEjO;P`H`@-@{A᠄H@j7B9D` `mH B$"/"$A" ! NlT`$@ r` `VNMo0h I"l "Z` N pN  Y@Z  P ǐ Ő X@ 0dF"' " ld^4F &@ "z Br\ L`a@4 ">a46A4 FnsQw{1 $ FSz!BM DTA#"TJL@ ƀ!Jx/"B"z`dQ\ tfiD !R! %q !ga."0 @n@,1a0@. L!BF .!"  R)2!!Ub `ln@oQۀ.n^  L!bL5mql2 $bNr r` )1)!$>Z!`qV2/," p@t<!@l@P 0"t`0! 1E1:1b rn"(a B"0>A !! 3"Ss:t)7!3@! TAgABB#'H,&  DCTDG !SLCo}Z 4ovG{GHtGA{q%`H@ @x @4`=! l(/AAv!,aA u`j`Jg   #A.  R" j"b7 > @ FTKTOUSUUGUd`$D nW3$v*! ``zh`@Za @z:`PAr jBrZ 8  jLA&`€ءb@ jR@! 6P "`nS(`@GT>dCVdGdKd?v6v` >0 ڢ$P@T @?m1  [b"H"0z c"a<!P P^'$8 8@\aH@"ʠf~ޠbc!95oUr#q BlDFaz&"z mAaZ`vs `|WAdzAB J0j2@;|:U bd@D9v Hy"\@` !V>qg72*ڢ/3Z7G x$La聒#:!`4$R"r0WAf` r6\g$B%V\!bw~S\`S<"a @uba %K"ĺBјZG"88@" %pi!F"G>V ,F$`^ADADB `zh L@x/X9 9 >aݱ!b  ±L`:,^!! j`"N~ _E!Qa(7pmE0"J[ lo܀*<f   IgN` 3""vM@~`,v #`["`Z ñ!,a=Pm\=#`F`A@냀~RF< |a `BtK-b&`>6 2^e@AA%ءoÞ2,H?ЊD=83B 0}9OxD3ƄPDV _*y$(}2DHA#DĥL:} 5ԩTZ5֭\:]&jR(0(m %#"v2ZAfD~ 0UIAlMB#p'OT>Ќe^z90&84'SeM B 090 AUPA jD"0e"kq̬#/A'U'O̡F"-H$L%]eZneSrф?<`?V_ x?az1Ut]^G 0Jh iNJi|fRVib0%J j kJkފkkX;PKI_*YYPKM%AOEBPS/img/cncpt059.gifGlGIF89a???뿿@@@yyy<<<999vvv}}}VVV...폏>>> zzz~~~AAAϽ|||qqqppphhhuuunnnCCCIII000{{{BBB111mmmăXXXiii///FFF===ޯwwwGGGԝᣣttt^^^HHH]]]xxx'''LLLgggǐ[[[ŵ*** QQQbbb777&&&EEEWWW---SSS:::DDDYYY,,,555تeee888```aaa\\\;;;%%%ddd TTT+++̔$$$JJJNNNjjj"""ooosss###cccUUU)))(((MMM333ZZZ444KKK666OOO222lllrrr___PPP!!!kkkRRR fff !, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JѣHYǴӧPJJիXjʵq N2JٳhӪuzkʝK.߿ LÈ+^Xq(S00Y@BY@ ͠CBBF;qB@% DD|ܝТk6j@@ K?|jn=4" P iDM=I9sUX? XH2OӉ[PP0qZ tBrhH`I _N?`@@ԁB/;|6.c H[+$h'xx b!$G1yFp:0r$@ ĹQ{ D  `aE#6(7lV?(C v o~(B za)iD wBh Y(B .wXA "`Go` DaMPq1 !h+܁@(d ]y\Hd;܂Y A P)?XG2j@L51Ҷc!xf1h!Є 0 DAlf T$W0:BF: VNAF# B6! $'|ciω BPwlXpp Q?*  h*0@v e @&"~ 9E=! }16 gi/Q E'l!p #1 "H CR' !A?C$5@Pe\a9- pj < X#?4(Dxq&qugCU0F 8PIGhpD0` 18=@3??VǗ||DpP9TA` 0A2 ~Od}L3 ~e0gj#Af)4GDFy` vP~z 0 D ZdP `5Z`FK"HFp `uP 4"Ur(;(iC ~PB@ `pc tT [؅_cXg8iXs@kILd&@V`y0y P {P]5z ]@{ʰ6CLQ 0ĉ<6VRik7g0 p K:Rz'N0D1 `! P"0W$5܀:R(g@&r p&=P wpP nP+j ]59VipVi5)>Pp%r#vWA<@: A4e Az T[l̶m%g@P M e@JN^HW0\]i9]Go9$ŒppERݠ7`<^Q N  ^Q rrK1Ws6醡Y&\&pMuh @p_ݰFpjc1c57cvcFj@GIJ'qdI6,5bAxwzb0Gj{qy !y,U P# ` +\D@Gz0\p`࢘iEPc2J +[@70^ g|=%AjAkpwJjkAM:>0 pSnTjʆY8 PZ=)A ? IeYN JcC(aۧoo6gpgpېq2B _FI:KPFQr/Ǫjw)aaV`p P  Auǀr_ @ {0g` `4PZ]uc 4'Df9Fvz 0  JeJQv &p ӯjxh&@|wr &@ j Ipas`g35/ @Ɛ p̀ B 1P< @-kpD{]KAi) p UP.~XpoJe B0b{Zd; up 9ve K !P  ֐iB  < px HpI&28 r Xpkq U }0 ZȅIb8hp  sPja6 @ 򠑰 К; c0쀒 O0` zP[ 4 q}pR  [p 9V ^ ï:؊Ә@:٘S`  ,WCGP B!-f;̇`PP3.`:|=`f|9-C4 f azp|f M" Li BH`/@Zp 0 p0|l<@bAoP|!.zK@` 6|pqA AtR@ P@: 3w+ (7z R5P ٧g IVKʠ=or@pp@m=0@\wPPu ӄb8|a(5`CX9XJRJptH85H &5߉>  c`*;`>,PP+uPݽ93A(}AjqKb-A\ƒ NߝHߛ c E-e`QS咛"goqz|~~.&^ʓ n5H,hpM {Pqn$*T& 9nr >^~؞ھC>^ٞxqW0``S`:?Ѯ Q8kj__P "  ?&?2n@ x A~8>O^0 𭎾!` N0 *V4;BaQ0ި ¡U O0 ѱq!Y`"@rvxz`~__OAaw UP0s1Qqh/ج%_ _(|o< Ï/ɏ1Ooʸo__h)t 4 $8".W@B %NXE+RXAG!EaA?qT&*q0NxAM9o~@O!dIRIpP@2 d8`‹!F%[V!Gfj$iJADy͵yšE%ia` ,7 $OG'"T@a l@9)\rE6{;ObZ9EটTi'aQ%թI"xc ?\"tFQ[H"7'(Ȅ]dYh3RkHo b%q58j*b P`'t_% 8.ЅP ȃ]40uafzV]Y rH#zEU8>.H+uǵ`.H%m1&$VC G<ȗYZXt|r*"願Th'jZKWOf8s  PlDxD1/1t T@A`--Dz{ 6)$ p@K!X]8FB؏!H)c#XӰ\ ÀD$1 yq/1 "(B) o8Р2fA1PXo{ib^00 ~("|XD % jp!k28eb"DX B P0 O.CgHҢ'ECuABNNp#C8@MP|%Y 5 AaK1AFћ[G  $D+B"TM!98BdM?@87"% .1~hob耆!pQEmH?(! L5$s Z!aڒ 0j3 #@CP4CU$Bص,rDw ʁ0lJ1kb@& Ld`'.Ԣ( &R1"Z PBί.HV (N1B#E' Dxr]*^G}+t!`=DlTvP L)P?0\PeZ a#`x1 I4cD rzO QG%V!`#=jQ &:,? Q@XdD$A!0^a 蠅( qwp&j4xRlOG-<0"l'A!ӁD!X>Ppxc9Hx2̣s)BE W@D3u#d( a- $a dv@L"A<6q%d `Hb^.B'=,~ ^A1pgq4b abzH[8}p(}`~`{=tXB3ga 6`Py oU%o4+2 i񷩻XzR@\@@:{g mJzp{ (8ah3!i@Zix:}c<38 ^3I8C)0C#ZPЀvb=xK,0T0PF>#>+_06Pp%r~HH> 4;?ZX?m~8h5GР9?35H`)+ , ~ 12D?'DC5l[*bIQ@:&ûS& -8) @bDcXvܨ@J, K@CxԼA*A /n$=08'}<'0 ( ,I.X'(\/XHQ>UEFF1A`kHƅ(bxk@;;C8=dGLǹ7_$ S;ZD?Ȅ*,ȂT|DĆĉ9.*ЁUx`\EMa/H Ȟ vM8E8"Hټ:2ZQ> f"@%ck,ʴ{7XX>($`͋h)Ht @d~,̋Qx $6@NCDVR,%( ȫ*p!IT)-bJh P PTH.i5F %R  P %HXiҁ,OCI[)bJ#8q8XЁkL<$U"lO1hH@ep3ݙPQ0(lF'@fb:FH hZ|("`O9eP< )3R52 ]ɑ  XK4!Ȗ'x) PF] oJ*ΪIȅ\p!,8@R`CR(/hBuN:TDՈЀ8W0^"8zP(W Zh>"H~&U(U kmx,XU\JɔMO }'Ї+H7SLXPPdНb0{H nHkk/0}~CyH]ҰhҊ Z X7)(XPLb&80YH0N8ķP؇5ϛwz|ٗB GS[؁C83Ȇ+?e[$$[88Z-< bUB~ `0ťS]"ȍh%9Z?8ՈYx& ]HUxً(I^1)JZ8daXa)\ ;/{e&vjE^Ze](`[hS<cRX~cg܊j2sNjXcp%.d[ S]0ݙX!z2VH>Eg`lxPeʂℱ ٤S+tp$mV=Rh$(:%(cV`p}XH`2=bP;gxR X8$p6dNY0$DR$Fr$H$ѡ OĚR #H0мzjPk͈ 8X!$@FX08x9ah AF4 VȂA` #He F_@aIKR(i–.-to q r:t:Є X_%iOp&XT*3`m>lVh Rykh2!g@dHgR QO2A񊸀\n(o=q>rz:Irr- !fQHEJryr (7fx(K`r|sHB(Vg" ټd s/(ts>9 :x*L/$8*QbAxԞB CA PDϋ6\^{0B1<@ڂT![(S<u0S0p5pSd_S`wWU_V_x9 |0a@wprsҰ! `%Ps#VxdدMf(8v `.pk0x'X2`H/h/ VvoXJ8c (g'9vImȁ Ra'`fxJW"Vxz`0NȇF@8`#50/b_hx 8n@TH*XU!8B{/tX*Ryx 4H  pЁ;`'0xIxhkWc7XxL0"x{؏V @/pk'U6hz-{؃n,h VKn}QoAXH9J9Vg\liQ`dǜ:wiBZcAM0sXt ~OB'* D, €,A ˡwHiK)dB}">୬@ϫ\^Q$`hOb@ *WM+ta'4zsdb?P<+C/` ӆwe.P!1j^9|r+rߋk1P&8CIs\c?0Ǐ :NU,TqamEV،1x1_8ժ[N @84/0RZ0d&pƤٺd$Sj,,9yg48!oeP/xa(E01B{~K?e#OhJR *| PB A 9 @le. * X\P9 L54[@ha,SzO $0 ;%9 %S%;yBn]™.d@V t 9 v xS+%w>@1 x0xl6oC WΰT5p >B^hʁsrrOA u%$ߒRA. L?04Jg׊d* ϩ :nu%¾;9 @ D NS!x pڹD3h?@@EyCh9gcs{r z8Sb 7hdn@w+DT+ʔg8/5 %41@9h"A T8Eh:(8` ANiPG'mt U!Bұ9 D'AB| 29@AetZI D-UDhɹ -z*( *g@8h#4rCX \S o&t %$K9 adCbW1Xt.t #@R@ ?8T$ec4p s&ܐH8B 2# sp z0A @Enh@}pA2D5r 20%.O lhCh8K%8Bb6293^Zv 뒔#  n$!.o` D Z8JR*C |0{,%x0d8!%5lpu@asG|BBXG6dc؆mo|S$lXa C Th AnuB`\X!02Q⅑uRNx:?=K"0 @#8_Fb@V+oX a*@[EAeTj:fDz1t B6Z]|;MQPOѓj#<1? [L`UA<0AcN|*)Q ii^-0R d= _ yxР ʏ@`aba F`@@mY9 ! XB1E (L!@]5 @A Q!P  ^$bZT%N!N :@˴@ EbNh*D@)΀((ˠ@\*"//"00#11#2&2.#363>#4F4N#5V5^#6f6n#7v7~#88#99#::#;;#<Tl",C#! @E ȁ8cBT D0Bla?xCl@LR,@ED#x@@ lB%`PKB D%ht$ĤLBT6X/u D#́T7T0\@ A bGu"UfHHdI |E?@!6?\@ AX ?@dM?$?A3 ?0-$@h@XBG0.%HPr%R @$G 4#00PPRPB-dED10C\ )H 4y/8)l+8π, $A D4.a(PnI[֥:0A;DA C*p <& C CCX-<&KC")PD?E?@;L <%̩rM*E&;p?` 4CO@hA9l)TDP*FÝ8D܂ %+7pET8?t/SU9G OIATdE|edG$r4:dkm /x)@ 0j8ACٞm0C>47P& 031T? `v0?@20ջ+Ln@&$1QA sBB2A4LC&$`g@Dl14dYN&p`.=3Qp* X0*B*4%@^D=8tE(, C2`1b C4A4F <@̃,B2L <@C@' +Ȃ=H@XD3B 4]TA T9EA14C2=?,5A3(5@C x;XCT7T7lB"l@xL d$XjE lt!P܀ 6Qv, Pd?4l?>UDm(ʸPw"ظE@+G8 ?+O1 HNCy@p'dp] q"q,Eu *XKgzÒHzzA:aAC:$G05 2tX,#rE:lpi=6OD :C@ o^QV tZXnuN#X*A#2fiy\ t&%/;O(A3G ).'E+l%4? PC!l4 D)8`7b@2?B@[AD@ƃ<"µ@7HQD`E@lF,y؀< {g)@3PCLj%8XR0p 4AK C?<T06`?D@)@C<:B'00C% .$TC5<2xR@>,@`@ 47%&<,xBl-EH)89d I@Oʿ^hZB;u&X;58@c,," @FY✧/ HB=<ɖ5{mZk%?H4(\-oѝEVjT HsLnTj $ҿV.S%LIHYvZ28t 7M;3EG <()XM6"`>b#r(ɀeY-ijjWrRSS#@ r,9 ]晦z?))Hc$\.hU\ŶZ+ܰAN`˺C,!Naq(.. M!6n`b^AYZ2ϒkf'j'6س  yHƄ 0ŗD%0h>"P'y"HzIAe#6(G| (bqC`@_vG:9,`l5X`Y.Jt! f(F`#M&RDy hp5ٖ]CSM|S8$s>aP% J) PK1=jʜR:pf&˙0)W@ZoVW<NdBb10@<*SĘ4H~PECGndjv@d\^D$aÐF -gM>i#/x͉ӳlbR:C`β 2Ha8Ց+Ƽ !dK)D+=Z7& QfP$d W1'Ц ec5\l^HF"Ua|@%>p5X\h. @āqFhT o<HO<h?`"øPunzݜQ V`נCL9vW hE)qJ9>\GXEH:hGx5 wँAL$:p`)Yɝ bs!+6P >>^^^VVVeeeWWWQQQ}}}GGGSSS|||ddd%%%((("""UUUCCCEEEAAAYYY***iiiIIIDDD+++~~~)))bbbaaaBBBccc!,9 H*\HH#JHŋ3jȱǏ CQaR\ɲ˗0cʜI͛8sɳO )`Hѣ DɴӧPJ*3A9jʵׯ`ÊK+ez-@۷pʝVՄ˷߿8.ˆ+^.VƐ#K,v0將/k̙cz;MzF3^͚gy[˞M;U;냱{ Npē+?`У5ћ|wh[Nv˫__:>?0d]~YX@Vl`Aw5HbA kЈ((#W֦9%hb-hCBdMhΒVIPէ8$8FJFA$fA]c9SN]@P,`]'h!6gQ(B5V#YAE`W \Ӡv`J@4ptg[ghv Ȧp&`Uy慀{Z}nplEr9J,Li:vl60A) 3 9Ô7 $0zD`缨J 9 l_\-c|F2Lbvp,Ыq{pD ]t{WJ /pGrI`: "mAn%X ' @'.ǵ+f \ ] 'hxYS 8֕)}y%,K#:x{'9KuĩJp%@2ؒU,xdJ %9J)!m-w'IT:?P_ Z;5(/[eU _} `D`; J`Wpe(JZ*h!W':('j WA5-'-N ;dxr,=; V8 A$A**cWVHA1ncvԕ;<-ۻݯ%mm Q+a&ʆ?ɒS.?Ie@SleT9,e5`MuA:U`J0jr;a ]p B/%vH-JUf&v\XH 0*t?Eh#k {\Pe\ծ! H/p"1M QJ"D^h\@6uDR-Re=󙾴Uh>p]GUh=$ +C(ʚ\ 綒<5DP_֠Yr'{̹&.\[2|!j :}dQC meŠMG[Zh.-MgO+ưmt:&ȴ$ѓXV4]o[6-n&gqih ]I6Lx]hW4.ľKRƽ)f}k#ષr+Fn9og{_Iw6Lk`3.,/³ipZK@n 3h,֌?ܟąjNL_f,W#c44)k(|T %.!}_EA_e$XJ^K_KMȓY\/99s&(`>HL 0;3g{@> C4w @s({h4Hr[l-krТ^^%N}zƗv; f!#Ͳq 6rM(Vw(E[' /3S516vzv%#MmnePRHG|C!Mヤ((:s'b9(o1R} fZj18!]W\M&dElu"k%aBj $~RLjEP$q6i @!Y27SBDF%u-Esx+i #xS]FR*,izRpahmV\ȆyojeDq1Ea/u%\cmVUej5u%G_ၑ7QXèo XwH?(بWm?V}Z%3Q 8X]q_(I#WQ y8W UYVi!9 #h阌.02949FS8:7>@2BȤs@*WgyR9TYVyXZ\ٕ^`b9d9XejXՒErٓrY@IvzDx#9Y%L)8\'hjx锈јrYu:f녙p&XhánaR(暲Ö-Dia $IE5xG#RFAܹJ$A1f3ǜe8׃}߉r۹9` "e7)I g\uiNp;߸8wl >o>fk$!xhSjz1"JXvaN!uƇ'Z{k4ן.B 'k0jN 3ҍ" Um$":%s7|ifH\PSѠƞf$os"%U )09Lr~#0C52Br q,#_I"w*Sq$G'dn06xE%o 7qy+S" >g+i,W;d+%(nIg\wxIIGڥ v"ڦ&'JZ"P(nS%#n@jN0xvׅjwy6g٭]6'ڄzX"j%Үh!6&vNJؤu%"6^:|BzU6T{j6!QVXE5aºs]"df|V*4{&4c(y+wzJ|}+1+{VZ&@)V|&efF+?fw'}V pVW/ypfq(sxVrf(O)fmQO288}elqjBctu+DƲay9v7U8;v=hEXli=FWRrL^"ewkSVWᮈjdG4m.9A~z"Ro;5Fy2עG&>3>Ӳ~:2=j zX$˽&xi&20t2&njonΫP'񤡃$Y=P[yxA{{ 3K#{DvΧǥ$uk^%˃=E$-h xSbP(op[zeuh*B0ȉ(P Båȸ iR(.2x%H0cP<WZvWs(GŖiZ{eہ<`B6UWvş[~L0u%Re_\s(Qo.ng/Lkge>kLiz,f[Q$٨ǙYlϘx6ěD 3a@FhKD')֜f<]<dAEPL9 * ͽ0p)}}.(~)ZAϺluLmQ-e "=SF5 ͽф5AY }v8ByG(A wU^ Z2=GfPPnv`&񗵜[m+]̻Q}ѐAU=_l-l`<pBUT6+|.z [np<׽Qׄvt.MbuwoehJW~VpתؽUʛْ`PMׁA2-(" ۣ؈۱a]ٵ=yLCXZQk+NۈlѝsܻIټav:xQ2gWm=%J缭MM\"4୺q ce N}o9{ 5!(JQz(Kq,!a=ju`w92a L4KeL6 (>v8B*A tQzvހQPnAT{"(uyFZ!&.h5aR'"!)w(%/ޔӝ^pJjMdo.k揎&Qfkij2[B~8 9{a|4[ >G^Q>qvXDx| ^kk o:5uU1#[)d&x- fL: X=XX~hv2Us1Y4N?)ZGNMgh~S*b^>24xoFî.,8rCP|w(,$U,lDPB-F} .J>ƈuz&-H$""0e\sr\eJkǤ-kpv[./X2o~^4`)FLwf;Nw1 i?ZV(]Q,|X 5\GtOSR8ֶRO>- wq?kl $XA PnC%NXbÅ<@ EP 0܅ jsiA6S*\!CՑ;NPNV( ,,2JϮec[qþMq!4Clhޘ5,9+!೅іY恾1N;:Wp*,+tjVƦ{A  &uٍI@6Mgnoi65o=:i] .Q]` @L.۴Xϵ{j19ƪhY m} Ⱦ6ᤫŃ9Y14$M!ޔ_9Nm/"K%ꆈ$ _VjS>(M :MȊ27y1"4YF~$ l5ӂ! 07Do .9@t4/E%1Z7@|:x2)hl7"7¹`¤Hw"C=~)RmHn˘MpF OB2(^1(BTP#C*x eN@+Z&8yV(h7. $YPQbL8KDT*8G CJ9w# ._z ?I)ܱ~} r@AlfN/A@e<_@ 6uP W5[IT}W6ϝ!=0Qfl]̋NR;I' ]SY6>}GH@;O |~N@c4 I1oi Nv! 7<}>%7:Q'jԟFLᪿq{6^A؞(8+I`ȉl!d'ls+* BXO=u¹sW/@rD(ѿ}&=MuZP?wY 7H$;'k2 *; xʮRҽ / >a˓ P'HK<#X'P,`,3,X6#Kk,о +q +  ͙ )1 hyk C b xjh # ؈tz &.&@;9 H"(E9?9$y5 e$fK$1 Xr dИ QsАuT lD=P8f6,l E Yzdy4"0"(k#sBǣ":(:d Ū ؜2kZ29Ib2q"$hsĂsĀ'86f ȁ88<&( >s6 (B'P!FyL4!/s : ,)q -F Xxga{;3 HP;L:>sG L3&4H8ac3|d(l;L-Yr(8H K / MTnlCыKN{ %1 >;ͺprLD{ O,O `$keKcʐAX6ҭLTbWԊX8DX2kbնWWS H@V*MEW\4Wq W C L%!aiGٶ7 M5s[ iXe>icYsق-<ܼՙUX4G!#lûcc'Ըf '>6dsHXfÂ[X{#HUkT [T3<-̒+E |$Ɠ\|[5Ƚ-8SL@E;BX?%#5 MCRWh]jKh9x>\dzډqVy]iPeJǍ ]'U't"Kڼ~*z]+y8HX&24ԉm4^Ŀ JG/H"a%ȎrV e`nߝECnƩ{`%IPTC}ҺNbN,+4Ӕ:ˈ ( !"vWSb4N&:Aϋ bY-xgQЫ$a*ahg頣S 4 gIEFlicBa͑`cK bD@% ӿ1۽ eX|!G"Eu{]^њQ4 >')=:8 h!D+xD&92[c#h7x5b@8Ii$iײ {蕮 xiS4Ӹ'Xhg-$L.խ-0GjgFSdjp0j8Q'0m>"}ֳn>cQT N)q6,(HlѤ.i HrSFծņDBn h8a' Rj6L1qFdBdz eدK(6՘T? ^"n="pv_RJFTUnO 8)JJ.+3Hjjq `k'@J9֌oNtEr.QH:NN0& Q^ aYh&.F9nInv)./O[hi(BgvǍ&FUF>#4g$Glbqp) o?CgBShgYG. l1a3Co4q bv@Q!Vh᚟{T/S/_Zd1ߔ-1 (^_HW HgHU7" 'co#vؚo: cRf4at2 q4s.Dt~6a`E{g_ DVnV6xsզ\ PݠXx=/w$ɧ`슧e w? wHVQ㯈Cwy`ui>Οڸ$dſ}Uԡxy7nio|^z7x_bz GחWmm-O{ӘRz[j7zF{hRMq{? {|@sT{By=oE|1TB;Q|,x|Ú`|~;L'}ӗ)g˧o}/}?|пڿ_y}YRY}M}/p&{GO7w~G#~(s,h „ PX ˆ'Rh"ƌ7rxQ@9"H $ʔ*Wl%̘2gҬi&Μ:wL0'C-j(ҤJ\ZӨRRzqU B+ذ#%,ڴj]a׵rMJlܺzVۃy.l݉( |1d682VKLBd͢G W(Ԫrղgk4-r˴w>:"{m;lË3_3첟g{_^V`=⡣ownuW 5TM c@HP|(% DW HH(؛!x#a1h 5A y%`$i$HF 铒FFF6,Ll9#uRcA iZ9#cPN4`! @"]i П_"o6Iy敺X!aTĞhW@x::Ԭ@T& M5梬vTG|ZKAgIx;A H;,+** `y-uz1eN4k|)RE'iẘJ(짴 ;,oHMM{⋙R+X <BS" Kߒ(@,P@h1,f_ZNθyrd-GrnV+2z3+5! A}"PtM@ev{f{nHu}a q}&NJ;5xy; ̮B1ZD@6nK E}^c㥏^JaEzGT^FN`Gؾ8󣃭c/=ێg|׾#'>Tc{d}X9k'd"r Qq,"@YghU 4IM1SLjK )2BYb0(O8Xxsm2V`<B T92t7` h7m%6Js𦷍e$A C{آsm}S% !@ %7"= 0E4` ,J 4`h& We JsL$ x \*0_JU*4MAH8pa p,lx-@ Z5ǒH&Iq #Dch DieHǡ\`H0kFxO%T8 QIAJ+4~* k44b^tJTpOԄ9lgZ?7ЪTAYPu1B ䷄V  xTQpU3b(+Š`P:ؙt"V%! \gY A`TuY 3W uܓQViuB$ @(Vim6+[R)o3HٓTT P,T DeYwfqdH v(ڃ &!84*JM+}\~JZH`izZn nvJiP M\Y56avXػޅw8Bk5 D̚T닩M/Wf^FDžLJMGHe'!!r{)\%r*9e5fE1ap<AE b'hG.Ew02oBHG$B4]C/Y)KK=FB^1(RLɮ;k$3ƈb,*19Ҏl*s{W?>/T5h-nO۱w6;"xt-wg$'ta`[.1pٓ'^#.SM83s>.\㌖,2-ߠ K49s>?yTRN>\Vn&^0'凈~ 6n̍b7e׊BD{=2bHI)bC^D}]i؋2WK]fD Zo|h#mhf= MM R>*j0כAA2Lot 1U᷵T{B\/Rڿ"*X[U%.J̼>Cl:4t(vyh ~cFL&s"*9]{(4КiY횘ኚY=a9A0Y9 яA˜Ln!ʛ b >֐ΐH}5Q{çi ADJ9lMI@xJR1[=HGmDԙʡؓI_iaLnLN<9Uu4d `_h}D~8 *DQQW$b9\bUXE9JUҊ]B|ݣQqN=%8L ۡpݙ'$J=Ȕ#ooY!u! >' )$bIID"O$3" 4^:f bԚh ,@`V ژwd9UYcJə< P:*5@,;,}DhS XM@+)@e-9%@=6-#u%AJ4Ih&3q}YAh`,_= jLaP卞B MgA;wYtTBxGTU%82P$bgOeęQS]&G )h]`H\^bD2JwU/V8bdi(h]˱1JDYN'IO *Wxy@b (16d !e;˱ʱ/J a J2%FGMU2a]r{>F/SQXry.pV f,FyR$`ale&G֘fQ:}=(s2,sB7"Y.!2O>2H,f' gXq1i2{C0sZ;.JpM(՘M(Z|!@#uXXV =͂AjQ3EWy!tRQ-U /E4NNstR(XQEWJuUuULgQOWw5 c26*51jQ5F`}Hh4ar2D+2BuZϠPH\$^EI1%1 aO*\[Wc 5e*օSQEHWϱؗp5 ;XluMOvOh`WshNplt1],VH}wO\}N9p5mIx'мC}s}Al!L.ʾXIRo5|>FԒNV3[m )0]~KԲ<ە °&jI16fuKT;?@;hc0g48x 9 0A0j4p  dJ+YPeAeZ•l H:hnc˕P*uKSR(@S[vlXcɖlڧYզPhʙ S f.4 "CpiLYFm])0TLw #xdvWVi{TJ`ExpÉxYM BHK < SO\!<ߌ!Z맗B"g̤ΣJ6T?K7 - 5DNîۭxj23nBPL)l;4uܑY KDҔ:^T19Z.B'51,R8 KBK+0̶쒠 쌠< @&pn@D@Z r@ 06׌Ӭ1KSv, DM]`т e*S#45U)$= `OWYVYKPɲV2ՔJ X2*k5`OHD4YMkr"Or[ m܃ |zVf)X-%pԖ3w2`U ]s 4):`^X7|]]~em41Om%́XD9 8l^Kmf;iV+ n`-xa J:9$39߯q}W&?0N;tێ:Wz։-,5׽YJU\UQ<N3<~y'2z_M3̊]Kh5 +Յ`xκ|hE>o8HT$|u&OWG'=nOA ) ``0SQ&XߐCqYsIx F`(G!&Ĵ,EKC&8!q T"jLb8{H`"Bsjw.YcYpÕ8>ĀdOQ,;@wAdEd S ub, u,"ib9p,Po{;] jw"H$4)P,J#"xXF٭ ` Ƕ$28xL&a "$ T2һ2]tr&kJpLDuH %NSq @?qBKT1}R) tGL`@^^JmrrUb:!RR݀ԥɡP҅J@3WFD@KOܱ4)S2#KTsng:'LըZh*(/HG ^V &%D0 pˋՎ|HĘXQk$tMP* k Q@*0`}Ŕ>5 Fnv̫e&WafһȌD.`dUSIkAnkEFiEx |;ϝp18J(VNE Hn Pxꌱ0 r#e/זnU 1MP5W!/`"1lKPFx AB8_U(߯D+A\ OiHGˋzÐSP)$9Yb(R[P+\絰6b*CsYk\hCϷѳK!*чm_G-C JY>#GQҡ 9#Ӊv78N% G"EMg#Dj_/,fgc.y wUڹ5epi9;=l@i{6bf B쵀/49($(9]&M)TW;ʆEweH` X}J&7@NCqlFqg W9'`/r-ǜ-k-i ޕE`r1!@>h|I?rW08[=2߸QA|1gdLul5Dr=L` UM3ΖF)@.rݮ;Y}bo{Vj:@V"щvpE]yh3% (h ^#0L3,z5]/G 8 ɫ_JDӛ(2`c z)s'W'|q0WN~k>#]b_f)PKƎ8,0*Nn?*pG4p,8{/"B:>9 \T@~%sO^uh U^gP8 P9 H +,- P 'h "P 0z)2 B  wj18_X)1Y,8?^iA1_D8YQC2qdN߆G{1/$4NjF[D!@dk`)%F*!Q%0'K\qWdBNTzx.`^ElFP\XRDBGOQ,PHb m642%PPE|3mF!lw6na )Ԑ[ ZѤ2 $p;'ʬ.r%!T2<\#{i8]Jq ƹhk!g]q"$9Ij,!c\)&QKH Хje[ GSGQ."G%3KzbqVZ-Cԧ.f,Hz#tlG@"))R3)rc&SK`bF4O"@R26 2%.G4 ϒ\ҥUS6P%o(F'E{vGOk< 9#$s4.Hr+-VJ1_@03,(3K@=(;wIή@8+  ` o$ZH19hs -jr xP4+l T@$մ\jA lS,OLFUȖ4Ie V tGKA0D]LF+gVKTM[pJtȮT6hMNܠNO%g(­F>>PP@CD FU;@='D8;R{-G)R Tu0@ DtTWUw "UcUVgVkVoՌ2,`W{5 1@>i%P)̘tWXCQ MmR{ uYB^GYⱼ,A/.U4[\oW/N5ܞ\U^1DN^_U__USҕ_:~u U6H0`QG v*R-r(jUb[BBaG- &0??ֶJVT_Ė>p]YfogsVgw>]gGh\UY0/f|Vt,v70Qc'\[0 Nv`#cRGhgBo&[Vnnnv3o8:o/Qe4 V _68Ujv! 4p5%Ncji3wMrlEw` nUu_voEqcGfWCl CmGzVt/][xsmaN\R1wyDRjwz̖qp{6vw|w*w8W}o6 Z7 =}1pG~xNWM?Ww~/uO WvV5t z/s{ȴWX}|%M~7XCLbIULQLZ o^joAZ-G`K Lfbx bJetFW3*ԉ̆I>M8EM |X L Xǘ˘ M | VLϔp͂CesyKeJiLJW8xnx8pBŴ X#Y'ٌ ULI+f3qkEw击9[ٕ_9`YZA8dy,r t}- L VwuU@} X9 ;yq=X^Y癞Ɂָ 8eSF ٘٠Řb`ոc`JwcS ;ڣ59Q@O?M%@ L_:YL@ ُ3B^+@`:M< ;8-|2Z ڨ?Z Z` :@u:g':$(O ӚD@|km 4YeZ:E @TmVXi : `5), `6,z)@ `{z yU y%,5Ob@ >_ kyWi0 [@ ?B :  j;$V [(O5a |_9QAۣ:H,|[Z xpۻ \E ` ]pCˡ ?|E  2S%ٛIB-k5`W>u˄Va{z[:VsʓY޸-6 л_;?kCq+U|+\\%\(؜;|;ΜVI < ] 6)& MA…` E`}V]aZ b nY9zػA[ )#yMd}%NVUثZ !Xߋ}=`c@89 8ًѻد` ޸%~꥝Ͼg{: [ jUڑ}M` @ $X| uX`= e~ z#Sb\gU8 6^}kךңݳ]>X:=_ }]: V=ډz]^i7=Oo^kr1bQ.@(Kb$1ĉ'"D&)p2ȑ$K<2ʕ,[YDUDTӢLw$%a= 6D9= ^YRFⰜcLEZ!% ̉6cgd2ܹt1 jڽV!DEK%WbSCbrfuP .1DhYPB9RS,c&<2Z M{u{ LWZ\qQRLTvQ}U9SLXa9U@aӀ7喅Hc6Su3KD!iV}ZPKdgRD UtvUQ_̍U9Z89PNxcbCōr9*P&EST)؂EYL%&!XRnh[z!tj#VX≊Ŗ eAg:W,jN%E V`@%4TdA&UQF%DnDpY5Mū"(𔴭R}yj3RA^Kت6PtHPu w #»>;jv^}&i"VhWzLu-| ^@d &+DUk+uD-S/p9J(_Yęqоn[&ޚPs RXRUQE<IkU֧RMYQ8ZT5RɁ?`v,1~ Fbnw-@߭FC`%S%DiRl>h*L/'EPD+^3~RI9`O|Kz6 r?=EA>>]|!@E~SJOh~_zMߏ4%t/r8/{3ޖ*0-"P%F`a`,7UM \'dx0Ù#B9`t,Vj #G-2.*y!$K>5z)̂V(D,ʢ%Jd $'F%x wfq#"<.4,K]r! Bavs! ǀ4 h!z#?R$H(8 1!]&_@Mp@! ,%Ƹ (%8W2~b B8FlxԀ7oPU] 7&=WU,$(KmDQ+˜Ca ds/)τ-f7 cH8Oh6v(zR'̣̌65 DzKP1p@hJn@X@BqT,gdL'((!H,`~;s O/ZC!ZB2ĨN,n8"@ӯR+6 X՛iA/ptT.U dYJ Ҋc zǖF! [.lNer$`Uy%v*,D#J @s +< RBmӤ.TE7N^nvxr ֒uĵjy\&6ĪT-5 $ B-;KM q +*ֹWNlT0z]r(rŕ`", [`bz<,Ej*r vXb"_80%0yJu8 ;X]V@:!s;Z 5A ahA `h0roI:- c‚9p `*PB?FÊT{rVbAʝ2yH-ьrDJ_h息{D\CXěaϽ~&kRrlm plρnqCxp2D:sw0c̵J7iLfY p$ U;ƮoYp o4<v! a %c 1Д0t6\^/X~j F3Dǁѳm:~1 e]Bn[.37; Ǿ|O+0;uvBjAL@һ=zU@'ʑ-l!Ugpqm |. ;46M|U4zUa8!^Ћ~tmy w:j* > T/|oޫ[Yw|!r2H(F?PC9 g^g lovANDDGѱ{4rl k^x`|r"Wypyy?B @@;`)$8p 4@i%X'()8+-x/" {6@{:`{~v{xjp%|W|7cGiGqy'@ }0!qgDž]fus 4X{B~{ILwp 7x\ qFX'aƄ焏yXXXX`%'X)(+8-/x185xn(MWhd` oEȇ/u|P!B@: pp0(H@՘Ȃ.7{ix{|_`>ç؇ I)@uO} H(hȉHhjH{hexe\@n7hShxm0 ((yyOQ׎y&P~(PX$%@x&蓝 hx㘃Ƀzw((4PitVhׄ؏R(^i9gi)8miiw=8!K8益Q)Y7iS|-9Xـ935cY$f`*tZ ʖ VzʑwY^ PIO e HkZb9i*xʧÉJt*D:fc,iڟiSJpyzJ]Jʬ%:/9&zyMZNQ^˺ j*J*sQʯj.ɥ_ +횚YKjz vTZ{*w[HS` (> Kf OQ+@UW5](a[֘e[G0k oKq+v@u+ ^}#+ `H *, .I KazZڳjG{=Jka慥kfq U=~ ҙ%ojWd) `܊3ڠz}v9&a$` Xz 0[щ:ۦ Z꫗ ;;@כŽ;;zBkPZ||٨ MZ x`:[+du)\=E ,=aĂ^@E3YI gLO Q @T W 3]8 aː^ "ٸ~` mƮze @t w Q}, LL|`ȂȀȋj3,L | ,\fKʥ\zdʫl ;k -t}Z۫ 9L ܿKR8 ˠlfE  ,L1\, MCñ<ˡ[e2˖˚Eb`;̗ C#PP< Μ|δP\A@mK#]q{,oH =}оUЉ3MEmGm|뿈Tb/ E\ː7M</?M-vCaր֛l11=V]w{m m ؁4mMV̜\mM ׎]a|"ArA )! ڻ-M`٤= ̪JNϚlpyPP`<`^}"C|^5^g1#Ns^v~uyn~S.wI{0#c|n.Bcrn5 #.-)(lգ .ӊ1  c$mS@ޮ/qTl*NQom~A|li^N_nBn,QٌNmT@=Щ-<Sl}ޠk8-$ 1_3Į  n.RpDO dYkiY\/}|ao Opkn.*h?Ͼnډ~ ۯ_]C/Eo'-/Uo>0e]_$7卓j~_NRmOqo7?aN@ DP!Ah &ؤ)S&B=~RH%M , <5;N+* (0@P3PNPh(`B9$ѓ]>A:@K@ĉ#4&GWuJT,(D (w40௄%R,c-_ƜoJ,_za&!nva燞 %j唚*0jT ,H| 4+lvlٳi>v ͗ǭ__۱LpĊL>qEe(_I-]”I&N<}|  m* h`8 KO Ȳ r@-!6a>ӎV\(K F[F> mNKm~͉͠`sH 0p ޚΌYꎤ N+$q8Et3#2?C?ɂHrʜ9TS+sC>tnD* գ9z1LO>kIJ3 0\#!=O4LO5\T!"B0 UU=QDcv[7_F`A2P67ᄧ4GVcT$u_mW2y+~v:G7r_,يjYgFF}H[GLXӔuM%J|q9ߏJ>_)`\.'ޘF5$e.|6hvc}W @l;dT.˰xdvgwgETm4ݝmt0ȺI;3[`+i</Z$%]@ћ=Nɇh\u77'~+G>y?s Zz˅~Ju߿W[uc=7Vl_E "6m"\1N}S6+9e |+^y-Վ58`k@&Iz~$-kEJ֪|X-+W3rk kP[Ђ$IAP zl9`@TìE ѮFUH6$ub>50XmV`嶕;Kf3nQCp@\@[QfP\ i;κ8=$=}jO5j/ XP_]ud"d :'X,XċpV}& k0 n0` /a.&^%_ZӳE|X!'O5/1d|Wv1hۦ@H2B !6F>r6b^ч7Feb.Ȗ~:/FsƼ=Y m,=ȑt^/җU +y^tȬԦvm]BsVhDPP3:eu@JOm׿mPŊ9֠uFNXV؄"t8r6ׄY0qFwսnvw7riY#;ZV0p @r6AwWʯ>0ZQ(x5qwDX0r|'Gys WP'\jv $;MyЅ~%zҕNr pqs ΕP `=/tG/{QπR8ɗUIɼB N32{-G|a<$o<94O!tD?} T_}5} d0{}u/kY{:~|`ǁs00 z ^;a.^WUw }5؁>Uv7߃C^<7y!~O#s==ڳ=À=O*+>/c>狾sB#>:#$Z 9l(mۘ:` Pΰ)?;Kc<?DD BL=+dP@(D D+D,D-dxPL"RlS,Ae~^dA(,(a<3; e?g̿h A$=k@l QAѫTOF\ԏMG-IYMI%(MM$r!MS.OHcQ$DUdF-g=YBD`%kM> ( PEƅ-=0=1L3O MSGeStl#@ȄrH\-RmE !W Ts5SuMV u mxyVB{?pjSL YW0TЖU,THS ^ h'=PTpoP^.Uʝ[[\HU;R_(%._Y!xI8.Y ,-Pa b --hP4P&8ZQX;bq%օZ˽ޮYxD=-D@4Pb]czH ZП10[hO\MS\X5-'0rX_I.pbր`fNScdaRB`U+>@cl>ìEKep]hAV(3` [Sg"m(0dprpvjȈX;T6@XhexN\iU,&߻qxB)Ѕ\P[ehPJI`-hQRB :h>K.˞6΀X+`Q@cek.F6/;bП%l?=grp<5n!8 0[P&PL?>0P`gƽCPp`@44XKPm<0noQ@Vf n ߞenI4Hm5%#;8~R(p!(&or\Yp*؄,G.9K1X̃4σ:`:6qAHp{@FX>x&/ ןEVOhedmFSHe@ 4&vKkhAO h ZG7@?U_`s5 v5;:e27S VwHr 'orH9o%Gx_` pIK?p0pG?#wnWu;sSޓ0lߤ8ᐌ:,@ '2 R>f76h= pu y@^?`OvbOvNBxg3 lo@o鋾c>01==ܫ!h' A0|>WF`o|CQʏ.wv/x k k8ӽ8J{o;s D{ O3 x ){Z}g?>ُ5zK  C҂y_5~*k}z"Kyg< ;PKeJ@PKM%AOEBPS/img/cncpt200.gif FGIF89a.8  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,.8 H*\ȰÇ#JHŋ3j³ C"|ȓ(B.˓x|IbL&k˝@%Ƅ03QCq]-J%яSV}3@|iV}y֪ҵR.гhMm׽@% &޼j k<[5 &iVx_ǛQJ5Έ5z翫7&;#Ե#~[6tKf}0=;}\lnmиtɕ9tf*u70z}?^;t՟(hBi%Fh }f!   $h($B[,(4g54B ~YGdB9 $yO\1iOI@Inِa|^ e )O!7ki3P/=Cx(ՙ ;sb&  /fe'BDQtR qEAH.鐿BF`v*7.# p FJ~ +4}ZЬ+97`V+F;FjA UX=,V> <@[+`@+G+#-- Do¡Ab[У08FmO?J 3c .i˥Lpr'OQNA;o:?O옏LZtM &6I:4Կ=ڲL:kc` 2_%1+͑7n|hN8? PF7,>M8-q[+N-ܞ='~~tӏb;Mz| wձLxB?⻗S+'=o>UhOႊӲ#WA/o\^L9yz3 gLxYt \jƞ)p)YV򍈩2cI@,fzT F.$Qޒ/xFG\,FecI<YB,) F'^ vc4 %6\țDUB" V5 j7&UcSܘWЇ`+,2jq{a6Cf$brg( "rd0>9 X`XH⸐w)0ȉv7a]KT3Ѥa O8f R |Gzg>rsVQ<77rZ=,caJSj񣈩C̐pO2A9nѢѦKJYP)Y(`$M51)NBRh%n!hGMYbOiiI a>ՈN l=E3M4(5M9LiE%=ժjBvTPXJֲhMZ_-dYb\J׺!p^WT>Tցk;ȁb:d!dY+f7n gGKҖ+W;"lgKNu5c`(n M.ms"A ukK!1nu݂^!nwKގ2wemR-HvKŭ~{7<LN< 3dl;L [ v0x; c {?`Zw[z[{$pt,n1^<g63^os8614 IQqs%MqrAKeݲ] zdFTYLf"e̦,_S)&Q|emaX%Qzq;'E%k,H{쥛mVM8?2Ȥ\tZiOite\~;4iTguwuL:ej#]aΎ;jl|D:^AڑEm{ ;PKUN PKM%AOEBPS/img/cncpt017.gif+lGIF89a???@@@rrr___OOOooo///999뫫ِ```000 PPPpppYYY,,,bbb:::uuuyyy;;;GGG111!,B   т9ݺ᡽B|!80+ @@B -DqD]QƆ)8B[ɲ˗0c(f#)mɳϟhɢCC*]ʴiLNJJիBZ8ׯ`ÊKٳhӪ]˶۷pʝKݵ˷߿RqP \ \`#K*eD_(J$ P!Ҧ$.˞ky6. ٽ;A"₆)!} J+>]PXYj "pmB PuB'q݁1XA D8Z1gV@ Mǔr0 }R 0։Oy8 @3@MG{UnAf` i_%hp@658"HHuf&#g'}9W}["AH H jb0A7&&NݤH[FXU b' b& ,0NF BABaAHP HT@ ^ & ۉ&`w\ߥ.\%tbfjsgJH_]ǥ`yg5![ lzě ư{|&pjVSV PG^ 2@B p"Ҁ,-CBt! bAn1 QPSgPbB2Yu[Ap0vi\-o5D@dmpe ;ɟ.%lDh#;l pl0YDXkϵw^QtlA=??@B<E280}A @b3Ive DuBxk 7rf3JE/ĝ8\zב(" s6uv^@,:Ԡ ƭW# qj08zHjΈ5!W ( bL( /3B%>`WVa땓cFej64jBa)|t #@7vے&wXҽ?(Xބ ػpZ!iXW.t\"` I0-ɦMK<|QA7JgG/r3XeK*gH0\zpxRL4N PM96սkA;W#%w0t9vUK4 f ;xH;j5d7,ģt{ Ʈ)צUW>a:#h8%TzP$~%-:(H<ʲ5HvQ!W 4iٿ=7^`zO" ) " Qာcm5jH ّUd!6-;ngt@vFg%OBO/α6>0:䦁<Ҡ )*$0X!:C^lI28&j))Qj*2U`8GdX k1fee[r`UBE TT5 iɥ![i0+@+\ELM =ZDMH5ap١Xi3 F"4Kp3TIz&:B4W,DSDxL/㤄<:3J(*05DTDZT9#t= J 5#EC9/20 +RKɓ|)L52pzli>:U+@E2I}?Q6A`U٭pF)u$yN3#GҨǕ3*d3$͙ :3:kZJ+;4 TGjL\Z4{Ȇb\$]lQƓ̚`+}#p#ś\q˃S8ՕŲl#'8`>ɉ0,а?Z`vP̞+q%3!HSJ[LQ)mΘ$ɍ [9L3Z4JSƺ\z h)jK8=ÍܮBw(M#pB=D]F-XΎ)7C\+ɪ;,5Era - +-SoݪKL$aǴk +qB\%`L!f2 LY;F6Bp|T;qЇPϠ2R4aq0MIbG#`:aG355VTc]@ܴj_ ac]ō->V}NYz$;  4C!RӾ"$@=#Nž<( {è(=m8܊@5̓\{{$S JE\$=D6>t$Vuͧ]3]D#>kl lp^-pܐL1Б/l4^: IjឺDSS+:KrZD hK*OȜ ˑtl^[1,,ʯQ TƒJ!3M ˫=l4^eΛ<4.nnpnЈM\;cUuӔ3R[Rj7S1sN M$&ۨDx4ē͘% q]^(-\@:@Σ|kYD pQ^ojL} 𒅐Y&(*X҆/ d"L+:(/;P 0-[+2:W3^ D F?0@b?d_fh_MO<\բQ]T5$v,DkР+2" C\P5\CIb )JTK}03LR4kr!>/2ظvnN6͵{\ /> y$p$+\{<ե`|eż$/ _ bHSīyn[-] S   B B B  ĝ ˺ʿ - * \* u Y  zmM J'(%\@`'M~uסJ:bR}3CV | Ϙ'@%TSK&l)}|A¶۷pʝKmxmP߿, *$N)&i^FiZb骴_(͔9I hh1mܠ jB>iAl\ًBUl-m逛,R[^A'[NbAU$B8.aPF-BLD9OU$O@gc~ȝ38) j0Lj+S؅"g_"wZy볅hH/l'$bLm3rM`(,1a4s؇籆)ys-Ç~xyo%Rh^{fVp`(r tXoְ1:˲Sa2scƒc<o-pް 3HAe4䉥d98ܸ#u 0| Rբ=bY/hqc7؍h l 4`D V JDs|m5Q u58 'l8 0 C]N`Vْ48xQx4 Nx_%=qJȑV&( 9uCue[DUSRy7Y I#a(>1c y &Qq4dH[nT=?6rU$LGvGTWpɅsYPT NpYN5hOqONf :rL|TF9M&ÆLH%4g8fiyMsՉUTy I$΄JY1 sD /D0!x|MIӋIrh X Pa ڰ` şrB QHɐBi3LiE20򉆻%XV-Jq#-a6^a㔹p?APcӈx)hbBARѰFceZ*)WI 8:)]B}R(a56!A:JtV/P:Rw}uD%T$#128JVxoI;Cp r:q%D%Spۡ *ug:!ڂ-MZ"gck/q$ǗJdt, Q ֪IPڅĊPZJ*ڬDBzo,[#wEgHX2mZzlkѫ(䕯;+ J49K6: l|Z㊰ 0 ` ";$[&k8а'C.0 ATn<ߧ~ꅦlg=:^é(C\HMO~Q{8 VˀU0 \+[;rf 3| TAZӶIiDCy׷Q+Ȳ㷄[ay~Ӻ/{[S{ |{/KXwh貹E}5+[k# P*;Sz 0sR o뫞꼶DD ȂeEJ NQ8$]Ia{+χoP"Z-UT O!60cPeKek+a +!X)ҿ Q9ƌ @^* {³,9[=Fl%> ^bD g%4Hq-AМ5Q%lFl߳"J'$p)@>!EI92éZJч @   0幪Sj>,\,, E˰'a nt3Yu+Ĕa=rS DLҸǩł!պxJʮ,rJr|Ġ3zl$\'Dî뉏ɹ .霗,◥ z|)J=ˢ 23ܻ}G`]DNx3XMHJ5 L"` >= .a]=£K\*AC.E\;?>}4{M l _ls`b.gd^`|Kjnldnt~cx,~'f ,^ pN 胾B薠@n^/n^ /N n.n  ^껎׭~0N륮.nnĞ/^ P`n ^ ^p>.;PKUk ++PKM%AOEBPS/img/admin054.gif;GIF89ak@@@???࿿䀀鶶潽ͷ߫000```rrr;;;ppp ݐvvv444999PPPggg333lll :::JJJ777555XXX[[[888666ooommmkkk ,,,///nnnjjjccciiiuuu\\\)))ddd222^^^hhh}}}___wwwZZZ|||eeeqqqbbbtttfffxxxaaaOOO~~~EEE&&&<<>>]]]...KKK%%%RRRsss111(((***SSSLLLDDD===zzz'''$$$"""YYYTTTyyyQQQ###+++GGGAAAHHHUUU{{{WWWFFFCCC---IIIVVVBBBNNN!,k H*\ȰÇ#JH2^#+|Hɓ(S\ɲ˃Px"`8s鎉'|IѣH*% &9DI%-XiݺV-_R%''W.]˶۷n\Sj0Z˷0Yl+^̸ PifA˘3k`'MٞM4-n @חs Ӹs&}fְ MYw+_μr0Nz;YnνUb|uξ'X6O8=768m#E&(VMDᆯ1 G:EX(,N^l20XUheh 2Bhx\h ?&@MG iTO5T利UZ)pl*(@d1P1k~ b)wV}wdᤡN:`(] 3d``Jeua֪G^eѶ% k6j벤jD7km|+__*d Aʚ̖B!Dt.g7ex nk{!#G`i#`A;fR*(`zJH,Z $hpDSmXE(dq!Q%P0*@5Nh|Qt]`ݵ`9H8 %3BKdЁKTO|T4T,@E7o4SNgnT2 uC@ؠmrkt"E}߀ 8pAa$T $,1C=|Bhι砻C^wwH:O-`;;o<3 Ӡ:?O+;d!Pd"NE)Rq`V$_XCM}_A}ЌB_& @pB#t><vev[#(Hѐ@ h:I*I/ 2%N>trZ`0҇e bW:Fe 4A|I_c8D" Td&>>L e,< 'I?WNOaK#cv⅀rrwT&q=p ((Qre(":ч3G'c=/I`R<%5J#&R8Z :2Y,a Ψ9zb3\p5<x%S!{6*2aehSψ 1A%rX1 wb ]0wBcCK'WhY 2-D 9n>=s0; 82~o W|h_0 >ܡFQ@NILa:M*dȃ @v AP3x|j |0Xz 8 0p(Jb@0pr +<@>/1|@>؞@\(Օ; m)e@sI=nI0; wx̋V:;~Q_CepG0 PNq wL] s&ruwF[6qrҠ sx! 5jDbjC  ҔP/b"t(±^z'-& A0E)v(y xA!?5&7$JL>T%^n t%")r-k}cRՋҭ,)#etnOz:Hn!G!U &UPpN k 9 .0iiW4 aqhHrtEYw  P3 U;y\Ї fp  pJE $!7у+1I28K}uE僉400 3^` xAH1 a=pȈ{uO&P}(5h"pNP`)R(Qs#q4X =xvKDHP:QhVl`'ظ<ڈkB W3& 8\]u\Lb(C U1`8 cqԨC_p F@ 3 x,0K;aWMGPa;A|Po0 =ggJ5Fq |W^iL a7 Su|x,?@z\9QRBYx.z> P_  {@H[h:N@1e8X?MJGfU|Gj0 3]wМ|DwH# KI9~]j pts^﹚t%3Wwlш)t!m1 %J0  p 2HE3HJn!wC@ 0B _Т91E32@!D}47 qj?Kj2`UjH4XVoZ3ssM|OVq*FzT@ ~`L* DqU;~y]Z]Ƞh| qjX41qcq)q҆7:JWJJWRE Mz'P/i:PP1It ۰ДDaO7{@Py|کZ40@e,۲-KzZ )ٱ"yJqдNPR;T[V{Q+0~ ;[_ VטG l1q"[*:ô$ZD AbHѓ=8qF[{zAk[ 1I[!{x A=!ٳ鱄ٚ 㥺Kr;P@  e2 t@[; x [4˼PK}+ѵ0q Kz!{3IPK!),aOH9V u Pޫ6pIWpl ڡXDnۻ?Z@ pl@ N@5p r ž'A8Fp@/P 9_ GKŽ J L.XHuxJT`s7Y17 l}`$I°M'ݱP VP@Z;HS b7 0` )F0"m o-[e7qͱ1 P KjƢsj qPD&51̖l5 .NYkcct@@\5@H#b$;H Z7Qhb Mڋ/93qK҈: pP'PxIpPRM q*Q2V[ee'`o΁@ T~$d@[>(dE0lmN⍎ wim A.pmN;k@蒜f-q n.Nk7d@ dp~ޮ~썑bMpUB.춎[~ .9QƾtێmN(I{(yȾ bD>0ö+K 7Q벾Gj[ #7q ,o.$A^~ep @ ' >^>~1 FAE4=]GˁaKO=}]g/D\*+]3`sZ`a3.?!^er@xA3dRpR`OU@(r# a3ܨ?pY0ݻoIr`sr-[-_fnDZO|v@ީ 4_᪏6/+R^.FGUA .dСCa1E5nGܹ YIO偔1S)@͓aOA~Ҥ"NI9Tԩƕ-_>uJӝMMk#WTaB ٓLѮMeleZ*7%&<9n".Iq+\`:&\#TiPPpgX,$-QjQaKRpx9Ihc$B`Jw1 .7 2O-L c6`'p<9wO>13w % qe$9˜lQMc$'.^=vRA]F٥.nylqfE WH9 A`9h.VEr:@}%-cwށ \&(„! YPc1‘#PzX`ߎ{nfVK:{ifL7^q!rMp$ d@"~`H}_n}τGxf#˟~]/{X:ع|`}sߤ.#]C#ӨWqc^'=Y{Tw@)pvk}&k&ByCaWH@!݆fC: /?0S:T[h%Pv峢n @`^ҥA$ уS3<) 8Rx=nd'=IPR$e)?y(/i?K\##FHNQ `\S([1yLd&SX*XnŃ%IH&P.+rG PB;NxSg=yw@ZY2פ"GJ1ߤa8ӷ#J+[,zQfThG=iK4buda(6ԎY *XяT;)GCH;ġjQb hEх4fӖ\ʅ0 ,"P^>W`N|JiOVb wbp ) BTWF VmF^P a^`֧Ha h43abL ̂@emk]ZV-lOh pp% wl` 8 vv/(T@PMwpNm`H9 Y! xX1b$KHq3( T$!P;]6``XF6Ѕ~1up%n^<G( nd ^,`/x0;ew0 ܑ Cl( p'863'@%8L`` x CQD@ڲd mN *. w< *e wr_;  QH;bE Op/W? Tiqw</ґk> ;iwvO.Mt@Cwa,y$"AWLcpG/u <ܰ9U{ лiKrT @`d =p;Uˢ6GCvaG͛p9  aA6xg[ RȈnolt8]7$g &@Bi0HW HРB@x6+XB &u(0 `قNJ;)hka2# J4!r38xdx%[;ba ]| \ᴾ@a@fYԚym3%}e:71T(LHGg w k>2;6oЗJ3U$ x(#=EҾ둄5@*x[M:r, ؠ>jꘗ˄4,R!8p BgX1p >ʢGA | | DAwPCn` Tx?@'zAnA6koptz!Ȏ ,äB(HBB0 SS*tQ%h A33^,X3\ě@æPC6L؅ p* $XCѮ>tp[B?:2F|ƨP1A#wwp3CNtA<4= EәT[XƐpD#Fzj<Z,P*Xxw%* CaP>b(5T?fzHܐaBz9A (Ɇ 0\w0qLr,<>_wN%H0'%Hpd`) Z@+EX IGPCѓ%ˁ*`8IJ?ܑ2؀ʍJ>̙5 PI*pG܎3+kR|,[9'HĤŔ &|KPp2Hx5LoLCGH$Mi,hLCKÒ<P9 H/p ?BUܑ/@h͔8&33KJkNzN¼!ONXΰL)ZzG\p"rAL||EL KR#Sk0tڄηt:PF,PL't8Y`pI"P`$E 9Pd@03C@91? Ot=PH \"@Pę2PtK\p'-C( NjmO$301}Ҡ) тr+ }[92&ir N?Jd BT,T=HTeA=E(>I%7L AMU?Q E =U##?7Mr`UVW؃ ")uT6=!w V؊=hiPMQeQlKh(V=YMem[%HM;6lHw>xO%JF?|}T6p]V؎0pWjR}Vl.Y:Y2p`X4|T\klj X5:5>XM8Uqړݥ22F%~Z#XRЃJZ]S8{۲@KZ۾}ײJ4QPX81@Rh0p8(ʵ\/!1xQ. ;7X^S?%ҪDH8Sۭ\P]aYHNh575cMϙCxe85"Ѐ _:r1"\qMD+$ ؁5`25_> 8ha" T 0aDὁ8N̥-0 ab#!^"^E](&']$b-+,bWbNb201NcEiCc7VL39ެc>c<>b84>< dA656>d$KXdF0G?H$#.1dK.?Jd  (e Sle yd -VnN!^+&.i䦀bjR]ݨ;屑`~\! `>fue!`:gF[pjTfn tS<h6gk|}Gb"(xh,)Y>I -%4Ȃ|Y00)8hމ0~a)pEΠdkT)Vj)j[NaX;/hv֍XN0in7 XSn>kFɂofj-k(kk배w0 F!*0k>*8@¾RSp͸kx쾐%m>FmhMN F-5٦ 9H Ɖwߞ̎ l 0Znnx6h +npoV9l~wppF&K}`7 o nDF wP&ЂI% o~ Y8(n)T0 p7q7R4nYqqwp~ '#( Cq4 giy)Z`$;%&g'(o\ zGâ0w\!2 z%Em{8 H9nD00'= qH5O֪iXjA{D- 4;#qwsKGL/ MtPnEc&1N@IԫIOvus5uDS PB8Ë8H_q",>}PHW87Ppt~?|1P`!,q&Rh"wrFM>X$ JWl%̘2gҬI;wl|)`;R# Wh RbD&RCSì 8!/6! I'?ָѠ6wdI 9Q⎉@PYA{^|D)#K')hf3Т]9Ϡ0SDipG&;OTqw*9E= r&-hղuÍ;DpWN3,Ó Qhb•0 oNєPk!2 [lT@*gp,;\&>! J%0h*xXy070E<1H$UzW# QJ)SD  7 o;1$gȖ͠;bp‰;HO$&I%WB?GI LL6R0񤕝z*e%k$l_9fm9sV3f''\g# N"x~MaD^P@=p[(*aiDd(bYUzC2"㌀xc;6$J: 3EU<Vt=r%&CQ JZq9[q0]vFvu]x6LS<fNDS7F>LH$]O|dv)|n7( Sa@ [pUV[9!a}P7f8KY B*xM_t`9 @< $m{JO@1۹[vpB5L L`1 pVZ?ls,8yS/ A,#@1~p+ŧ;%.x[^g腅zÞZ׽o| F> ׿pw9ʀ"#M#^&ba@1yГ/ :.,8͗ C # V@ج x hz:nr"!. C15}x=14YE1S^@ @R@"@$l@!7@ .7GQiUr&U 8@BFaGNp`O8%:B;0#HyPiTiR#T,IB lHL4L; L7af؂'̠ e"> jT6gZp.wRyFwxᇂP;>0|0=hOĄa A?S:v*/, K"$z`r(#2 zR2,Kcha 7Yh9-uѝ[+@T'~=hR*>uJQ%$:+p˜TA SJCn!+1,ɪDf׹RVwu] cPժT$#hDtp . P!P6v  6wRf=`0h& ,TL2{'>)q"5;춷 R 0qb,)t)8 Rd'to40P \T}a |[AѾÞ L\ް`L ϕ|k~.Hఇs%G- qMYDXq/1 A81@^`0q!s@&Kɵd+g΢2\1:H&ΠblŋLa(ױ;Sڏ]I@ qHĠ10icl9P 4{dxC H<gN2 WJX3ە>YKF;Ɛfwb1p80n6I6K`iGju$Ŷ8>xKfh`({X>5enG7D 0.(4 7p{7b`"|6ϺKr.$GlйvOaK>鴻hLoCp=B ӡ>rf ( .H[o[Oe.lP]/ͺیxl7(o=W|rHx3a0 s{HAzM3pzySr;bW}<{ݛFw',=w[/{1n7;Ϸ= "0~4q;}{]l@ͭ_h8u__ر/CNB@ 2EL%UU Vfem%tWBXX:$o%ZZV[%%eť\f!]Ε]%\%_ZY~ `& abvb.&5<&ddN eVf]dfD~tg~wSi|>jWJlPT @Nn[hJx6 'fa۹h2'%e| :u\q rkn'CxWoNx2>z'o9g٤gs̕>>|zJE|ا'nfSu{h 4զHq2hEh,g5%Rh}@z"([tńhzh+;\h\v~*I"܍2^iz6p)­C%Nh镎D|JiPi ~9R@z lDݦgN4`h)ꄗis'|f j):aJHA橛:&5J)cǑtV墦GP jKH`#Eϩ&ƤP+xzjQn>*kV4Bk!\Rk[ªz++*;PK0";;PKM%AOEBPS/img/admin062.gif('GIF89a򿿿@@@???Ϗ<<<еΟvvv///>>>ooo___OOO999֠rrrޱ;;;```LLL000yyyQQQGGG[[[fff###kkkVVV---qqqBBB aaaƘˎ(((222 777==={{{ⰰPPPpppՔXXX,,,آJJJ񳳳sssgggԛMMMNNNYYYiii :::TTT555nnn888uuu&&&ZZZwwwSSS^^^ccceeemmm!!!hhhtttDDDŊ\\\III)))UUUzzz444|||RRRjjj 333xxx}}}]]]CCCAAAllldddbbb ~~~%%%HHH+++'''WWWKKK...666*** !, H*\ȰÇ#JHŋ3jȱǃx0y DȲ˗0G3 ēg I6c Jx1pg pb8q<Ny4բ`ÊX&W'!Fʹ=GЌ4ػx yo3<1f˸Piמ\츳geb@/*3gk*wTS1;Yޝ4d£KYI8)ը0*ӫ_ϾMO`% =Ph& 6X`<(!Afv~!yg :S4"ʘ@)DB`Ɇ7h"! *P+B*.$CdRC$/b-Ip |RL Dh3)>3Kp6"HC6^LaJㅠ0S( &<E8@ Op[ F9 Q 6$qT1A,J狁7h2$rh6hVzivizjj*A+{:¯2(Rj)r)j**jz^nk*nB+*qo^;lƢ̺l[F,y#{..ۮF;/{'2<1q 3= .l3#MGcrϜ077L&-S 1wL!` A |7Xw]3-xylW7\/]?u@KnEJ8s{dS=4igtn7E^vD筶I׻ޙ^:uON/WvS^39F׮8xz?z__k}{%фY )wc Q,^,!9(C$(qT# uH%y'xD7(84 2L!9PCh !ivj(MJWҖ0LgJӚ8ͩNwӞIP eW@CIbz͎j1f3gB3#5QNDrSAgLx," [B &p`L0 = x!@ Ns#Џ) @ hZ3@b (l1 #b 580n<++LH @( +v4Au6W'՗TȘMljDܜ5䲘ͬf7zeb㴨MjWֺ-<ͭnwֶ5moKmq<nsK>ʭv{]fwmwmB zzm@¹nyUk^ăHLN(xxGkΦȰ7{ 0>φ 9A6 A0܈ 7" 3 9BHNxl @.>aA`Q`Y Xr | |a%x $ NzPx#̈N0(0hFδ5]lӠ6@v"x@HM+ ΩȪӁZ4aP*p[[d/A+"kM$! Z"!H0e37@b '8d "(m]C QD+p"PWP@5ݑ u`Dh (0zq|b gF4uA8ŁnO`p "H A f9tXxF6psh!1tuB5QT9Fhf d4yE> |\.w7;# ߙ31^"/yPc<慒5iX"Ћ^,KlNoެHY2؇Ţ=B~`}M |8sAq]n"[&9Aezګ9xh?e`kP? 2[D B6 +0Xx+plP#`x`gkP+؁8+Pk`41.wHqp0g%xk'}-2@xo`Haz}wnA؄N@U>Zu Fo}[xOPk0Xh8[X0mbЁpY,x,p8tȁpajKч~k`}X +@+ `+0pFzk(o415a@Hx^_>x5a76LȁH+`Pkopq0kH戎`lŎp؍U0_pg,0xȐX(X@$~$(HX@l ؁_x=$Y昋+X0*>ؔ_`x, x5`0@v@5訋vpl7sy؉uihiXop=P+~h,X q ؉ 8k7 X}-u}X 08XXКĨ@ ( HIP `/ȩ_;Q{fX ^ ٚ՝ 0 kل^x ؉ @vyx}I0 &ʝ Yy 怌qP 4 hʛu0@dn(X ` `f3Z С<@JarRDpYx~o~q 5 ``&RJZyY *YdbZ%0b ` Z V ?iyzʧ~:e!ڣa* p -0`0 ƪ)P_*m*}j7媈Jz!:]Hj=0cp|_Z:J :Zʹꥋ: ZگJ ڥ:z*j %K(ʭ,+.{а J6;۱> A;D;' PXRˣpqh;1;ַ~;lF vʥz[omp!-{[Qj!esc L 긚˹˻!!'py˹yj h0 hP0!"ཨѫp-+;[;;  WV[ ""jLGHмf+ kh;1+&Iܸk?;Vƹpv"ckιkj wwO i/KMYbP !U`N Mݶ9U6P< e rab:n.*Me},AQ0su= quK>i wFe/o !pr܎<@7|x!  P !>K6~ /,kef gup8q^\eJQ諛_?l.J_!fjY:! ?VO?!H?ۼ bkOOdY ) x@ iH.Y[ac5Q Ѡ@ Wo҇ۉ_ཤ_:wYː L{ jo_)_=15@8좯.NYO9:Q1NW }qcw4q: -=z 6`CȋaDX<5n`<`APSeH9uOA- 2 ē@ $p(Q$HP X K+MCVXdʕpuJݎbB_&7QxI;.m4Ԫx%Oa/۶&Qd+Q]ʡ3@ /$ҩUf}4He> $$J:*hh?\vsd .4Ӹ~/tAV̑1ǿ5 ̑F ^ ށxqpY&qGc^:ܴ; ȓ鼌  =,Uvľh4P7F 6ں;|+#@0*AkCN CB:I!Ɏ>ϪPȠD  0eBU H(gR2AzΌZDp>0Y8i !$fZ38Q<53SyrSyQ*Ë , bp,DЀIYr"0UN;3OMhVU:`h! "KB".t`|M3%c+E* a$ <n' L=E+x\&s(]*Fp/yѼhZ[oUzs00H}^@x@7! [Ij\diRzx_wNvW?t\Z2ԟ{a*[ezLLu}9:$*$NT)UR:׿ţBe5!Sۋd}$(#@@ED`s15y $YH$q2d50i\bH:emO1bC nBaϜx >q؁S/~i,c:N4t"1"3EJZKY'.ᔟ'x(>ep08UQ`٨h<*ƈF]0Y* fdT2w8 3Fpj4OҀrLta% „`?L>G*e0 5 3ih pf@daXLt"Ƣ t#A+ ]-<~%"ʍL*i# p4F9;Ђ+3ѲXfmk<I[V0 *E6rڒ#XZU#86P*mFH ̠yHr;f%+FIk]`Y!!Xׂ8ߊbT]wkt,|*A743o[-]p{q;e#[ f- 6h9>"F +Z, #Hp 0w=\` qȲ7kX0h {@}-hZn>^P6_2TXF%O>psĈvhUq T\g_yx(X6zoeE܄$hRr@9(PzqU2^`zh^uhwv\f Em7L6 RrӽTYf0V'#'-ȥ zIO#pc?Z囚s-tZ\>vYk:i`A1yv)#sIb6j `f FX祘VaAbu]\AJo)hNh]at'gP+k&6F+V{RxH-]Y}h:VF ֺBEo/SR0K[ G,'Qlw,&$l̬͢0̐lᬬ<=r,,H۬4L7 F-Tk$g]\{5`Ömh p,7tݿ7xPƺ4 ^xf8ыc|1V~כ쀈#   cHxb!#%N0[_|ۦUKLBUMK_;jB=SK?/o LԐ:/ :P# B| = $60 e4a8̡w= q :, D%2 (NC$`āH2)82 @m#(3& f\c͘8أS9H8FAe )F3r_D%_;#)aK #bM ɉ8"`3)gZ$EydR@E ġ[bGXA[Yx_',miCS\=}_ H1 ͈s 6 щL@ ('@PhP(yF|t/miLϙ~6E#A B4(' @Nܠ ;X(AH<E)pBȦDJUNtam8p"ؤU5ʉbe[*Wծ^ūZָկ`њ׶69:VGNv5U55X*Ё!t`^{AΖ mo[4!k] \!씧 DJXӡs-]LW"ts!B i iu̓VuÜzG@}{+_ҷ@z+7䁧e &\!" ,! ~B"<spCi GL'ة9^eX/F$X݋dPb>~ X/!0F?+ /$X+vd72.kVxfiaMI›L:k"v>Lgπmgz&t!p:C! s0>3d^?eI3 ꎮ3m39"uk]s k_ю $%XluW/ ƶ3ýkr܋7n[7x0s tA}mJX!M+_9^f[ք:O<3nvf6ὂA w;>.wܘox]@rjݶ+.tAGotE>rxGڍ̶g,W r"4_BNErٙpkw@}gv]^'n"HbM/ӧuTo8aoge I@P{} U/"g=WH(|wz` ;O7KDrغ6gHWnup_-tp~ ^7 `^~?5z(_|y({Rpz X{nGTPց]!$h&Hpu~ޗ~;~c@i('?O0=x PC X X؀G05xy`xuac8aepgi7ZA%@wvxxx55 A(t7 wXz{XXE8RPcP|Er1*Q'X)(p(~HfA~7nx0Xss>{?3k?>ȨW>sfbVje~_Ս vj,Wf,jh\s3C2LюxQy&b(yme)_@ I`x)HDf)u`oo`oڶosuph;a)Lq4@PؓY/Dp;xP}E~Xs}}Jɒ5<; \XX/ i}㕒jonYm(8%Iaa.94I[0b)\i:Hh>4>rIц#cyHY}ИIei j5plK96u}AXXΩP3BɑYXPV})x7Ph#m-h yipyv9ꟁaY#ġęy ~mC!XCC69$,8<Ԣ.z4C6<! pAѝy#ɗ詞©lr0%CBC <]:2^z>\ hG%7ɔ]MI~Vy0:eCdb`:Xfzkzmo9@_Q":{9N$(=tEJ7 9$z9pʩztu9:I*~ =ҊCZ*:Dں =ڭ3ۈ8ʊ:fiXDXtZ<įOĭ:$L;B*ºkp9&קK z:=:g$;C T*`YJl C0izGˣ- ˩J;TJV XfTi7g a8t@C 18kk&N; 9X\^Ky* תય:) ޺*Zv:y: j5ֳdf ˶:x받KyWkMQxZcZPCv;?z:ɻ+3[딇}]yI[y>kL!+<Ծ{Dw;kʿ<{ZǸ:k<4ʫ̛CpKEjZԛ6ڹ}I+{Zj 1ܫ׮1s èK;[{ʺ= CB+ U^z;LUH4,V:I:YClfiLa<šj9뿟v<{:LA x{Oa|\;g{|Cɂ CP+#i}ʂK<[6K<½݊o\;L;Ǧ+BED AGD̜J˻wYṱX:Լ 'Nmˣ- i2۶~ලs=UM+î.4']襻½K vDA}=4/3쉾^w~Ön\!n\~>чą^p=ŚYliނ]Rh -ᮯ$C.>02-x>]1Gbf_eUDO^5M_U><_U8DSE-gl͛l^ILer>QsmV>[>~N9R/EOS7G|Osݬ/1O0<`'`o?2O5 ?, :<'ǿH*0ӏ 9؟ڿ/29p?O / ?_ L0C $dP 8Mh 0th(BG!Elq+Fdق U E#(R a;y1HCY؇S73d@LSAV2VM7t 6XV|Պ֫٭ X\.HsAڽ'-^Daɾ"Q8$t=1G'^TrΚ\P }]h|y5O@tPB 5PDUtQFuQH#tRJ+RL3tSN;SPCuTRK5TTSUuUV[uUXcuVZkV\suW^{W`vXb5XdUvYfuYhvZjZlv[n[pw\r5\tUw]vu]xw^z^|w_~_y 6`Vxava#xb+b`cCydK6dSVye[vecd8怗gwYmc}h襓6~vzXzj`Wk{ޯ5zVM8<״W V׵"!{o.o0 z] 6Q|qw+w)(2#6 u+$4.`즣K?tC'#]d"$"=ў繬 r^t8y\h H2xVMzeh(K ΗE' p" h+hJepp^` p=\ ;EP%.-tE Pu0 WNP9<-@k!^xKQ`fE- @[Ԣ E0~1)HTh&.[!jH #aOODE,}p] c! )F-;D @h^4 0@ fNAu / 9N4@ 8сLrp=U$+:K %GP8 l E0OЀFЅ@,9 \ppeh|2RoH Dʉs"2  pR $ 9@rI?_r"@FP PteG83]KJ>ҜTSF'H`$`7tNs"uc(/"wJm$g*ف2u@\W X`äHBT2fL9^DGʨYEiaJpL*`EFOgAMGX+[]Y"l+*Q#VUr2bVJrohJJ H.3U' ㅉ;aʉRr@$GNJmW I 0 É^5.+48`E T w|zX)'Hz e$~rT{݆Vd a32\W5w! WˑL#v汷l`׆Ʃr'Dea[ٸ~A,YR#[ 0+y9Zf5f|e&\Y[r~p/nk4UeXt3"PgȌ|;Xl_G}uL6,c{}^|JXfkcBٽ -J(k#{\R晥걌2?@:0Y?j?Ty-wxbA4 ,ںY@oIxy\06㈣/9@t A%<؄8 +( <#@"$#|$TBdAQ*!l+RC-9Ʊ/&\mºrC@T0lBSB7ZCnCǩ@9dBdB/BYamqHdADC,>>:::GGGFFFbbbCCCڷʡAAA888ƴLLL%%%111RRRҮ,,,!!!###+++***$$$...---(((&&&'''"""///))) KKKccc!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s$@> D8 @tJJU 5` [_ؤ龫pʝKw`}+/*?-6,~]*^̸ ,/؜W uLTl }TͻwcȒ6+Q~W@nУKy7[&Ț߁Ë2֮_t=4Aw~֒O~G|2h4=1? e߁& 6F(VhfQt ($h!:D,/nጻ@ۍ8<裏!0 iHi46Y?F)T(\vL:)b6fGĜl&cIW y :xx)WYrc衈&jh aTG;Vj饔29E:#ꨤ*Jg *묰/:u\kjJ+56{)%l@vԆK y4覫++PDE0 B t7 ن9,Q,g$/?4! [h妓dglp +]B DeTTYUe@H@]@0+$1mHqLSp5<?-Sm5?j93?@ ( , !t-M Tu6]-$Ps*pTS:$0dgnzIkFX%Lڰ\l}$ē<} 9`5_fq:G@L.P"o>AO;,v)Pt| ?~3,p]({:l`ַk(z 3~D-`O p@۰)?9NHTw8̡ : naA"D+xV!PE%.x@􍐀.z`(,L)!6lB23b+>|#ă@ Fyq|&L w\Gkx '9H- bH~R0b̖WZ,!B 0 LRi cqDj0y>H@h^ 8Ipb`|(f1qF^npry>~Df! =mFO H@s!%׌B{rͨF1 Ѐqk/obe; d8ͩM;ф1Jf( AwLL*&JժZu7@gOeG{FH XJֲ5[)Hŀp\ Wdfpk}K@^8Ùv3!xWUgP; `iKW[!B hG Z$>Y>b#F4z1ˍ2wg~yOfVL. w PDHPtKJ [эwphN! A%( p[m"ViSߐ8iLc (@lXb}-y祿,ν>L+M};y`(:d"=ˢ3O׳8αwkaD|םcP&GH["??Oy,#'IEeLj6.9 /0EPE5+o3 *1%B{_ŽlF96*ԫ$o`_'~B~=A~:*R4[i4 Xx8~f|\h/=~-e3##.0.8&H1oA/Aoa?S*QT {7L؄NLH5$PBPTB T[eBr jlS(!zUpxzxoTiAT0X8}臗Z4 8!sB Љ؉3 B؊XȈ(!(r!$!08h!V0 Ќ،5@Lj ɨBb؍޸XHp蘎x(ru!$ Xx؎(B 9Q@8HBF2{ ّY;!Yi X&IQ)R-B p8:y"9=Af`a&7^ZA/22R9TYR ڦ[!fm1ñgk]!2c7@ npnZY^\WM42'3i5 9BtYqeqpKQrq}9 !S_qY59jHQ%q!$ ٛYw9}:s6+ap!$ Yy 9]`6R&P7y^!T'yB0Y9ڹ:@ NPNI XZ\ڥ^>2fzhf:.DV%prJb*Bz|lZ5Zz- :::IFBЩکz#$Iڪ mꓦ /BrpzJ1"$6ZzګzizE:ЪJnuUBЭڭ2# "$R 꺮ڮ:>ͺDB u ]S #"گ.BB$IF$ !\=:L۱4AWx@Iв.0۲ kXXGd@KABw!BBGpHJ{33fmAqX#Si )YLY/`$B6phj{.@,<uPr?68=3b3"$M[{۶g 5,t@?+5#@cZ!BRP{[5Kf K#+ RP1YfV7KFXg![{Ļ4۸6ۀ0)\#?U ;QJ 3"$p;[n";%K.u\'_b ME[>k4"$3 0&9yRPE TP4*,̺QBRNP6|8\/#'$Q@B<@黏ճ\"$PR &ubW<.AQ -})B'p(*o f ?~~!\1e,% M!BV0D_F?;`~T`NuL|]<Z\Z?2Br{hg14e/r?t_r.YBb?~Dq"$J?a?\B=P_i5#?B?+B pz?(?_Ȍ=؟O_+B2^0_?4@'CyN;RID=A  $XAdC%NXE @G!=R1I)UFo_ L>[s0ЁK( A% L~7o.̘JYnp#QaŎ%Hɮiծe*@  d`3A 0xtRnc VUe[7~gНf&]:eKLJ0LQ#n `mÈiݧ*(&^$,gǥOX;PWvZ<>1gWjr8uW&S}v\[; o?[B6ʁ;CS@ C-!rsm7 EoNgDq 1zD/ BrH"G$Ofk.«; 5#}Xۣ0I4ۈBtM8<2M:%Zr'lr)) %Z>A*4cRJ+t9!մ 1«ؾ.(H\u@UU8G75qW`WFXd0YfMhEvZj-Yl51[n'H-w\rý[t{6]v5@*w^z= `_~_x` emwpa#vc/!2xc;cANbt7 SVye)&?[yfkfsy }ݍbh6zho]4GzjNizk$7"${lOҴF{m 7*d{nf8{̈oo,ot3qq#wpBrȑ2:s;̵tԳh3Zwu[=Nvg{wg=+ۇ7dyw~y%H?^\d{~udx ɲ:T"+gv а~?|ό H^H| m?dm `-xA 9]]V݊ brm2%,  i#]E mxCҋCNO( Q$.@L. 16.܉̞\'=0QcHӹ |" jє ^Rc@L0<#6E$Rdd"XU!jq)|iW,(, TRe,JJ!@T"s!dL3>H̄ldif5yMj vBC|9&M<`c27Iq.Ќ4aqO|S&=b;(H[L@*%s ,ɝ ӕ0XQU9C)D~!@V})㇗QmH|Sէթ:!KejSl;* fU[jTj='A)FZU ~`k[VzT%%udB4.WVQ'B*TA4:^Jlg=YHRIшY@$`@ ;[2h_ MiZ&Y nq{\(A_ch]~DQml |@ jnE{^WsAFB\B.bApJz˫Tp-<1ZGX; & &EDM4\A3qeB2Ag@:@) d@ P1yI8Śpe,gYWr7\@,(zTZ4@ 𶅶V &8S&F<@ZЃt+7&=V$eLS(e,ٲP`Aԣ&uEmh KMjXZ֯A IUսu}k^kE Qf}ص|[46 ud[vjNbGLV.FҰ x[l}GeaQSpR,iD̔/@pG\brcC%ı'ZV.3\r6DbO-ʨ1;LCKgzӕNspۼ HM+&<421a;وqv]go1 ih\~NQQ^|-.8=P<_GT]MH}2 Ї^k.dx*T949rIC}uo^i7|'p{q- ~}3y&Wm_'zP"R3NDC?ı$HI0sSs?˂rH@\@L@h:** 3p7"Rj?,p?-]y(US=US2-*! %풹TP]}H$HPfmVgUMT$7V0/k݉&ֺ ~D Q,cPVzhWwu5XU$)'% LyNMSaM}5EҬt%d-zhX,fLXIf"؈VBX5d{CXY؊}}(Y`PKȂUY ZcYGmZ}Z;-6? ;PKɨ_D&&PKM%AOEBPS/img/cncpt314.gifM6GIF89aS򀀀lll@@@<<>>((( }}}EEEŁFFF+++uuuwwwZZZSSS---%%%:::TTT_KKKbbbcccmmm!!!zzz111JJJjjjQQQnnnAAA"""eeeIIIDDD!,S H*\ȰÇ#JHŋ3jȱǏ CI@ SX`eLʜI͛&o@=WaPH*]ʴ"Q~ aJ$xiMӪ]Vfhx*h(<3ʿ;LᇀZ@6.Ø3knb qݢG7^ڭeZ4LӦSͻP2M|&zٷIBgxwN^^tFʬ?)QyR+ح-˟O/R (hHBQ5GVhf*OL_ `(,"0(8b4(:) Vi˭z*lŒ˪l|wn0FL+p02"/Kcn/,H3w{+qZKTT46?,.  U5㫵',lgmު:{?M7%u*,GG3LsQL6RY(~|K3PMO;N)v8/!TLAX-@Z #,y`l ~;. kAӃ!gk%//M-}\.YBv8SRt*sr) %pNM`A(ð@Q8B]\ h@^@#>1 L xA O`nb ~D ͦS]D[.Ay#RBE(Zp BPB h0l B6J0lnY KBQ<x '&8 j_ÉS\D`;D`~`28)fQ[B$/dBVP t ]ʜ 2̞ Z9]~NJ[zJGFB]L 2timKj+/I+j @ZָεwF֯Ehf Kf;ЎMj/+P#&臸MrN~X Aueo$ηq{$Ć]|GKr{ I"1b[^L2e"="wO0W'ڵ]@k$KC|K!$ Vzp}xhzgpPVL,UE~2xH|<؃;8z pK`GpV0~7PfBrqAGG0nPׅ^`xzoGPHs~W(nY6xz|hwsehGm#X_h؈Xo  `laƒtFK8:uDPk1Q8xe (TEØX6 %PpxUGL%@HCPK0K 0PLZiX8XVh(yP qCC (x`ˠ Ȑ P _EvgIx@œG1U:hYxݧ@);ZIvЕZ0G] ;ʨ 0 9p` 0 %( xgT`o0٘ ,ai)Ȕ8%ș?p @wѕ(ЕHؑV0G ̐ 8P |PʠL@ L8h8=Ϙ_;1I;_h$ؐ=YDhɚ@ћ !c &p Ɖ&P k H 蘐)_9iXiи蚠Iܷ0'ى) 4p % Ahy;ٓ_]@KPLIiܗ􉢝Y[ʕɔ fY91p @&,3 QяG⸍X(L hd9(@p9P锯8 yE { ỳ x`xQ Z/KV P kѭC ~DExi!@Z6U3K5;rRJ;ڧ 6M`A͵CӰ#;1@W+4;qK sW~.,9.pN {!ZqA>C>QУݗ< =3o @!L@-΅MȬ[]uwS yt{./-c)}55TԀp1p@ FPQ7`Đ ` @0  >^@p~` 2p R 0<` |ZYNpn<Ԯi {&ھYno޾%!W̵霞]]^E^^>^^5_u_]U N#` `f6a`a 0`a &b$fb(`+Q4pc9c=cA6dEvdIdMdQ6e Vgw j91$hcFhgfkf gr `gxg| hFh`A#eEb1Fiim%<Bg`O;tu-W1xAƒaK"nn`sS;ooQ<pO#Jh攢|6kk@0noSQ Jѷ0WQC@bQ5#yv؟ڿln?A5$;|W_o4Go/j' x4oH+o7bJBM9GTdK1eFd8M9o^OA%Z~&dgQDo)*PaF 0aBa#LR##PMԮ΅w݉_*[Lb?@$1H8d@ #@\̼vդa,Ʀ}`ܹuo9g'nɍ.sá?Ko]zձ/CZRnR pPAB cj CCqDKid# 8pB\PA `k @8hD {0Ȧ0#zpI(rJ*|!Y#K0dșL250=2aλ$@EBtO@tPB 5PB*p+ϗ-t<(ࣈ^;G)ĀJtUX]GC 8F5T$ Ҵ-TS*ٙ&Zl qt 8 `LbHP i$f%&y* w_~K\DT B 8Xť͵z+9uY]`2xc;cCYc^ɀ `Bko1զb(ƙ%>gzh6r2@+vvZ/%p`jo:keb#L16lVmn뮟6`&o[9`oo|pPmz+.\08󦸅;sC}tEVY*EdPA.q 0? Đ 7xW~y/ސ\a!Wz C 1D:@ ܫ! X: TL4ƖDq_O(2JoBG}ޗ`~ܱ&Ą #*db|<17ρM'X= V$AN +0&aCWBܸ~Щ`  H"pA!/(*ɈH)8'6(4 S`)q;1`bT!cFQ^T+XB aяDA· 5I"Cc&MP27db)OJRa%] K\GL-\S'_|[ S!f1r%sӴK3YhJy͡d3Bf9$Ip"E٦9te$#)SgLO) Be |; ~'x`B<я8%x" & >, K iO}ZQMXLFB,bjSTfh%R#X?jWAzBfG%Q¥Uk%LWU&X`(Y_iV UsaweWI%,{Y&T}aS҇04V]-F ٿ1J:˔aԚ2@o}k~t෾D?J1\ h<u@hܞ#PG|6V] :" ")hA q4uA APBXLtAaz%3(ՓV&#W *P>$ĺ)#O^ <=f*@v e+AH2AJ?R,#+SsAܚD` I(E#0F$3+htxhA)0ԨI4AE\^̟5zkWaǸ rifw @#.Q<,ֱx(iAMtB k{@ KVƍ,:Ѓcag:t󛟵;3~۫?>?'?+K;s؃?웿?˿;?D[;>>?+ % l?Ծ>?@|,D@Al@$#5A CHc[0`9!@ܿ+1` +:C4LC5\CJX` *$@ B,A?L45Nfg|F_\ XGvlGw|Gx\kÜF+Db$-,zrA\Eԏyř:B=X45^xs$H,,`UbG Gh;fȍ\\\lF||HWFd,AU4dI*D\JFLLjE0QɟdI 4|WGHr:ʨȩëcǢ; KŎ{dn4F~DS[0p˯ȸ ˱tVƴK.Kt|œˑAp. RLL ɤ\4LτL\I1lH˼KTJ2`MzM2dDNdE^dFnBV#h˧UdLdMdNdOLFy[J[KeTNeUdQ.RS^eYeOn}Xd=@_e`fafb.f_~MeL ~ `PpHЁ0h"H X@0x! #HQF[f&gd=jlnpr>t^v~xz|~dde&~]V'Xhjflfnfpgr6gtVgvvgxgzg|g~g=ۂdv醎i鉾iij]>iNaYfh~虖hhhikveX괖鈮iij&j6 H@#)`#[j]kvh&lkf~lTe^30N ۖ#9q J~iҞj쫆j^~펔mp #&zcA݊Ljjxіl~kVlkn/^ (`-Vj.쬖jnKzn .PȲ ' /6 o&?Nogmv&W6&6pFnnFpNqon/&`P\ep7mF_nolj>n1o&6nAr>pfn>֎n!"s?rPrFgrWmf( r KtLtMtNtOtPuQuR|Bq*?Dq9?-r, u]u^u_u`vavb/vc?vn @L.fsrGЏ3[EPvfdg6q+Wsw6 vPeThq8/,o:<2叄cO v yDzwgq7+_t sv_.^7owh7'q,g xyp gov'C}__OjxNzWz؏஍ /"xsouj/zw xwI拨Oϫ/wDv~gybm3(8{ Lжy}WyWX?˓]@(XyqyC_tkvR: *@‷|5W|Oyukw@xg+o؏ pb*+ `G!X]1aɕ% o| %+8-~Xsq -2b@h'R8 6B#Ȑ"(`'""'!D=( .hȁaF:NТ I$/hAd )%O"( kH#$Xe1 1 i|` ww+h'lGǁl#W_GWCeϯGf"w F/N$J,]”I&N<}J(RLBJ*VȻO`%A%;+E p4ܟ^%A~Yie[j|-?L08QhKPQv?Kąn(Wpz1tI)K1TM9OA UQI-SQMUUYmey2z$0Yj%]VY|E6P7g T XdfhdEIh@kX_~8f_&DI6.sʠ~sUD2ƄjX`8\b܍\Yݐ]1ޓDii$Ժ0 k"o`TklKŠ"k1|RkYxؚ1@Wdvhp([86#t>NuDfw$wJ~פx\*x5a=6_:E,xwKTƁm]Pq9ʑUYٮDe.xoNє޼IiV-pYCOdklEK+!T^YmETosrJ*Z= 豪ZY$[[ɣo^zdR/L *Ju6ܯ{u:^&)x%pF4|}ivMG@XL "!SB" Ұ6!s(CX> <"%*`B(E1Fd"EM"7WE@[<#0(l|cS4)(=~# A!mplHQsB,@T@01O<D 0 K% ^j7겗Y B`EHA& U@h8 =@ |/ e/uzdpt,م%p(PA Vp`h` cp/aB*@(F3эr(HC*ґnb ҕ LS-N!@ 2~! +b:H.B@0ҕE խr^*X*ֱf=kV4Bn}+\kx\Z#^? ~+`+=,bXWL#dƺ,f3r,hC+Z͞}eղ}-lc+6(;ˎ-pҖo 8.r2}.t? @pr+Z=/zwM/|㻹}|׾,~+=FL/,a:X3 sC 8f, Ц.~1c,8 ,ǔ5s9cIxF>2d%bsp(SeK,p^2,1w?ɂdP2[(<F=~s%EN83ڗp JҖt̘(+``э>u%0i@[ 3c-kX92ȋGaސ0aGL 468_B&q/S=7ӭuUM`@y7woEMyB . p@ k .qH T ,CpSO]B@ы`":WGDLsb`7H!A_|2JyN׭0\BWP мkß.v2H$hpg%A6`c!9p I$.(!3h$o38B*XYg.1*4P<Z_|\zӾb@;PK6zQR6M6PKM%AOEBPS/img/cncpt226.gif06GIF89aP&???@@@ppp___򨨨̲߯999///oooOOOǠffflllYYY888 ```000MMMΙ***WWW䔔~~~TTTbbbPPPaaarrrvvv;;;IIIQQQBBB777DDDFFFmmm:::,,,JJJ>>>333666ttt 444XXXggg555ddd+++<< +Y`0IվG @@8 AӴBD8Ë7a sm@AHc(6uq%H{I_٦^0hA`AhSAPp l`BP@6HYaua`<{D@۔x6 '@@PRe)R!}$8PU!ٛ_ )A9dq&nsAL#6;'РhEԈ@Eq T&Zi/(<$'hzgD~ TX`@PjcA @G`G@mQ& h@TA-0 v2UjQ9Z%.:eT*ofA|)z"D&QGiQ@@<CX5 4,Jwp۠w:i=q1&6s{W"PcA} so2?> Cjoc-!9tY@y@Tps@0/^ (9vfe;!ZZl6ό*o$Gd ΐ po1 ;'[|Vă6t}N@{ @V.PG8?@8Z 2) Tr P+x=ԄN{K@ hB#"= (йp ÿPr +u$;@T(ъ @z A'Ñ@LV~0`]TRPpQKޣ  īupsO\!O mYڤ( h)xZE @b-Z윪,m!K3i1rΤ ?X :V.UU+R-Vb*dм(]Y 9誈J (A=rO@BFɃQEBdTHT# n^".RW8XZU TїP*A"WjdPPgqS" ( BP0%u3g'+1UuSA[LQ!ĤvYbViIoV[jV+hVJ ݢP+0xH3 A1G,=`nȂ-#,x5W6bn6+-%@ 4 P T^<<`r^xn7) %گ4LAC^: w-4#(H,nSxg7R!\Aڗ?/}ن48+C, mx y-ɠt-$DY@ҧbmxJS 3NXY$(<$*LEǺ. ,NȗXc:]&" P_U&E+$cBV'յ"S*<9%;7׮aC[vȦSb=_߆6O*j2ޒPa<)Y8!=%! i$p5YYQ\#n"M*'E;fF|K{Q=(ߍuFr3dP)A6F-`QJȒ R RazUut]FZ:7 ,j:IT dE9e@[ s+; `.p~0Li|ar )I A%ӢUbT(M~5,kك =w}~2CSY po >]{O|݇R<'"~$C" b|ܷ~g~}C藀h[d1sI(n^`vnox~ 8g|'&~'6[x2B $]G6>gYE4kޱxx@Q3LGIy!NyG|<`o=x!w{nX2V"(} (0" s*#8#p@$8~Bi G¢)[SX'e%PhahV#C#^JrV2,BhPX(؇w({xKX_S,V4Y1R&S"sW'G w Ԙ~8H׀ex%77oq(+ih,Cρ(.ƌ猵8XX0W90r$q7x"7!zd!jb$i+ILSh4y6xauXiurNrP?E`E^/Rraa&`%pX釀HcW89urrNmivXG0Zq=uP{J66s3(!X)!Is]hHIgjyɊ%(0F7k18i1F!)1ҋa”XA:ט^beyi Y'L\W WuiSNUU#TD?o1Ui8ɍg))ș69LKwqnu<ٓiГ"Bq J Rp)s)é/DBQ(KQ%˜vc:"ʠ!z09I^,e0$Dy1UI% bW>C%0gJYIqBPbdc\cHcJm8aGي'L:@!;>(CI&tro\"^zʇ)IJgtPGQu[bW\ymȍ|ߩᩙ Q@;bTB5:U1(iK"D35ڄZP/IPY89\5=hT) lWS/ȢD-&iح{w x?;F^ *z\f[Y9.ȳI0Zx˝ z#A= Sp*&Dz.bK#9#J a(`Mk2:` aKa $۴2k*&1'b4kp9CLh"{~KlMkR\`V|섿GLx+xuk̫`29YT:i@lH&g|Ȉ|6"AƐarֻR|D=UL>;3a"˅AQF˂x6ʮ|Z|kl\ <$P;j9Ω+z(ƞ,}r:<̔^\Yrk},ĖMݤ*+z0^oY LQ,"=$]%MЯ= -1ГP)jv^!mB=D](--rŤ`*]<+X!@Z\^`b=d]cG IpKw'ȋalri<L-OęZT xz B9uX/@ j* ӪMʋ=km}ڗ;]ї C 7ڛ<ڑl$l,΅'AېlXڈ:a|͇}ɸbܽ-|$iܥ׼]†>]{}]FAv{-8(۠M|)DmԦlDjm ~۝ !/L|K} .ݎTn *,^ Q+#aE}8 #.2^4n5PB>D^F~HJLn{'QAV~XW#%A 0d^f~hjBnp^5^`PQ~{ |~~x#03=[a?/,>a{3Q\+5Qv!ڜ巎..^¾}.qwj혡|\NC |acAd[b!YIZWaﴩXN VAL!]iMJ%KH(Ia>Ä?ar "?$_&$/2n=31m68yD_F">/K .<P_NYWO?߁A{]o[i<jw̾/QkkXOtcUwdٛZ)20*FoF^TTRG4-!}(!a-ujwXxmWg7P (rYzm܃V0@4*Uc$@! FU%iA;nc`Cn>\#ǁ @a6jm.pyޒgW)1xxn@m {b!pb"z& 4xh YcwUIe!}U]])xG/maHrl v b15&m=!(A5`_Zt( !0Uy, :5['m4_@.x8D^Z6';f0=_Py_6 " *QFCm 6U~KC.mUʅCT0}hp2H`Ku pl.|EaGr~ FЭPVB`;BJ+"n5kMe?, p-8OTS",a 1*HV`X*fg|OfC^ͭ!{ P@49uunkY!PZwDZ,p7͛Df9*jP4 o4IM\rcFҝvVWmsTMQJGK+-):g1M: g߲`svA'i$ @auh~DR$gb=d K_=!11\,eU Tm.)$Y7-]TW:QQ~YMG"5f"ˬ,xHlgJEژpBu5RU?8pkR iǖ&=.;rI+gzkTt|E[\=ڱv뺫r*2DZ68)}MʒRFmVDZV<['y G"L[k{vFr[HYd&ò%ȕq*7!jxE]i#{Z6e.x$(@o_Xƀ |`'XI@`#a @ JTF }Ԫ*1 QSX3qm|cX;1K)xd ,B&|"I [IS;O0No?u 7ŁNt!oDu pN:N[zZM 9PȾga_\,% @ ~H - : ؟葙XY!>c K*pQxS탐hiˆlA Q%E۫[qY!" x ӽap=8@!K7CL$(X8A86tC>h*>C3%X:QS!4*)p;Z Q3W lm8 2T S88;>L̆$pF*l@9ԆAb%@e| [$??$F04Q$A!l[#sGLuw?P[D|$X{ GhԆl%$è4LÁlĿ9-Dž &% SqE ](mb!h6ȝ񗆠5El >?I D$A!ܾA!̆AS>54T<>aa/aab%`manaa "aa!Nb%^bٺap-b#6*b+b,b-b.b/b0+"(>c4lXHc8c 9c<c?cȈdC>0X DndGn (xdJdv0 KdN=dQeh#eTeEFHeWdWeZe[N5~[68e^>8`7;i6(ji1 d=C0vngw~w~(Bpdqgd jmnꃶj ꂎm'j6 vjL8j`jƄX8k6 ^k^mn&`G/ȃ(0BH?8 0F ni6P2Kg&ik W/8nߞ o280.HY]o{W`SA+nmpooFpO5Ȁ.0*HQXU='ȆxX"& &pG,h!h!,"=8r!'r#NrNfr./pSOp*q*k0!/r 7so~/`67UhdFs",ρ=r0q@p@$p6,Pt~vr%@XOgpmEM>׆6(WW&? 8sSGm_UgVmHmZw@m\^׆8PSj&8xHBqAxfgVsigpmZ.>>/ XC9j4ЀuHwGfVmmȄ{wm=xpG焄GmUwx7omAxlx}w^w4x:?(ym&Hcf2mFAXxx9`GXJ!ze?F5pq(Dȁ)Ђ"cYXcL(rl(d7tm"].yrL"!t2RG|eXƿe_qȷp m7r#Ȑ"G,i$ʔ*Wl%v G f 6A!mHɘE Q'mli+UJ۞li,ڴjײmV&Mjt%. }"f@:sh P<Mx4hs5q3ТGYfNm7Lƈcі*mzlCۈȈHLXH3o9tpkaQC6P&P/` #V7Ǒ'Cd9ӯo>_~ç$AeBQH)ŔSQXVh`%i!4]%rX Hh3!T2lBSQ1c -Ԑqb)PI*}*`@S,X`X,XfT1mc6<WDFHr3GLy'q /4D9eW&[fah6!06ad'z PQi%Zr%XIfTCHRL 4"X ) PЀj&QzЬ:te&ԶHCX1,bꡬ* 뙲>ʦ6.o\qh2/: .s40 spC ;(T 0`@|ss\' -iJ'~t`,<5բ{V_|$2Jܢm(R]23EPE4T7ߞՐA~lDs 18!]Xqߕ[V   @ 䑇&:@ O`R;PKq<)00PKM%AOEBPS/img/cncpt220.gif#PGIF89a2"@@@999,,,YYY///___oooOOO!!!CCCddd :::rrrppp???!",2L`H,Ȥrl:ШtJZجvmfD@C.zn|N~`"!a!ƨ˴ҷމإ  :w9@(Tã:!QU 8|A +Z`` BǜTM( 1pbCQzCRe;F>jc Rzad_EG& fЗ[b_%M:aU4&]Hj0`B!:JKNgiWHzC-hmE@e5qv)N}+"p 4ӱc5AqJ2k0Xפ+J)`)%xtP?z9!-[ ĭKuENZ€B+5| DmD) IQM;쐁p@ kI I;%nuV[]Rm27nۡrTBA[zc`(ߪ99A [vF-;ݥ`YM?H9{PY i6缹lfy1ܑMc{>/0o#s=G/*OoTsA݇/?k«mOڏ;VHmee V#@R"G+2W"$:p1 6xl tԈ8D%ĚTR~7nR E3;;q ;`0bGM{^[ 3)B5%?^؈NKxiJ!CM94 _D HFG I@ED `B( 7GEK^2Fx@[ L #+xnFE'ukȔ1bYxTI&VB;qi *B/sM63ۨ)Mcdc UFʘ sõ }QDFBpc'I$̧>~ @JЂ5(&: =eEZͨF7юz HGQh~(MiF%̨|M.J\$6^UMb.Y,̝ڴjJxzFB/kR-qӑ]LEDU+Uj9iV :5{cNUR2j&֣m]ZjU A[ڦnyE`;u\byu9`edQJ5$B 5N;YJ^_ rml WNյp k`KXEm-j[Etvլ_z6r[YB8jjֺn]RMou+Բ4f/skV"B}/”*.^ *xvnrO緿m-%rWJÎ.{^'ؿd!\  }qUbxK(Wx&&*Cc_Lmr$gx}qyKbVY9K^S/-.ye [/~|9=/mS4lg%GGLgAcΎ i3k55q߬e)+Ѽ!]Lҍ4,:vt,.•5 ?ZשN1}{p~6 LkYNv}XGudmig[ -bKFYP[{͏n"D,]R3B8wOW}_Zo*kDfꐀ!s8*^ IDx<>a GuJA>)_8+7<w{.5' KOn3CϺ/t6L~hOӮ]ɾme'}NN7 oo;7V7rvn<醟[|Ǽ/7uc[Ѹl٬7~+(}wyDX4dxOX({g8UwohqȂp|z~ƇgƃTWK7[xGV7ww'WȆ{观hhYJx(舟hPR؅3vhXoxbX:xf2G~{hp)ȈXpnhj؍ވDž؀s(Øzͨg8Y.؏bC"Pyy  ِi$))ZS.ɏx.$YFk=*294Y6yn85)'i$ّ' $)!IL##S@yQbOِnICP$RP%_9P|}8|ؒȉoEXhxif7FuyٗhW,wq{xЅ+itI-Hz8יƸ)YjȎo稅'hG%瘒ȖkɒYY}ɘyy ɨ蒀XrYy )z)雅ə쉝7yrthٖ C9٘imy9"iY9yz \x *+6!I< x}x7ڜ.:8J>hIj 驢٢S9y|),:X\(ڠ":٥)7Z򹢢wFwHZShLJ9jt橧j}zl f5}W 霼YzjXQzIq`Mmzʠ rʪf*Z*cxɩZ=bd9PfYPaIPcYP Pz蚮: 8!:PZ @ﺯ0-C9$i!)>9< ۰ y96~yZp&{(+ki*ұyY8K蹱:!9S",ۛ%~Gj7{Yp?ڞ۳OKϺxKP.%d*`n:f PDrdNڋ/륙@K訠[ $$&D L ڟ˳w&v["+k T5jW وpB>1 ɺKكip!D $ۣ;[{k@!j+XC{HZ˴hK; B\F@ |v췭 (RЫʵ,-6| !Kq¹—ܲ1[@s{^ل剞.̬ ے--nyg=~z(4>L}.kx-d~8n_{۵p.Ί6N=α鹮죮^_=О}~LÞmnN=ԟ͆~_丹a}o^䧍^~}N?=c Y>OOPЮ읮 <_>M:LO;O봽b`*b/Ru^hWIKW߶z^J|l/n[tG|_`jvRεoK*Υ˒OOVOޛo}R՞j}߿ <{+/_m/%/ ˾ ٟp-iٟۏT/PrO֚0 I%c\>S^=6Pi'pK ΂8iYב!BC < )ڶ- !2J+ADVhl"=s\6ux{INCSe[`Ӛp˺˾|'?U9ثkoˮ͒?/”rŬ殚XɩgƂAX@]d(Kb'(\ [Ǖa7r@h gO (P&4EO@4FTM%M6tLa9Q>oc@Bn@;!9i!ebaɍ9fA 8ޘ9h:?CpL|; ahNbN9O)HTjp]@JF n(ځT2 /zٗDC: ?VMvSHq|Htup0eye<ݭ=EY=a}6> J%|IWW[mT.iGuR21Db?U1U>S>soSnMfI:Z="qMIP(5aOr[ߤUq P$!$HD,K3 ~ui0 a UO#5A8+!6A8 r av p6*Bs GY#b/Ph `%E QȘ _aIE1 fL#$-y! &K2W@(]c?.JMyȤ9PrRxY=ŲWs;ieҰ˳5hkؖ-[@gᾦWj垷RQkn6g n]ӈ7u]l{]nm虸{4Q#Sq~}i>KndywO pCy&Q"Xk|0m@|VkoCdp++a:~msSyȽM k\/(1nr&q[ n#RY@|#Qe^;+9wY~C>;ΞEoq{ DƭoX};x;/aS/+Gɀn[O*s;K{>ht糸.ήԏ m6ϟxPڮ+Rk= -MpOeSH/IкN0OKWvP0UPʯ>PBP A ƀjN  _0 p촌 {.8 p POm0_0 [0M0!1 0Q 9qu0 +d cU pp%?NQ1p 1]1q0il/13QW1 C#*QQp ZlZlZ  <@!9 RX R!=L X %!" ,"Ő'Hrn$Qr+%YҼ`2&erq&m&cpr'y'2('(M(r)&))Ht2**sd*2+Er++iR$r,i,2-)ղ-+2...̒.2/{//m/209000 31-1132R6n(,21335s393a(\b`44Q35Us5Y5]5a36es6i6m6q37us7y7}755D8~!9s9993:s:::3;s;;;s:8ó<<3=s=ٳ=;S=>>3?s? ;PK2ʹ##PKM%AOEBPS/img/cncpt242.gifZGIF89aw@@@𠠠 000ppp```PPP!,w $dihlp,tmx|pH,F0q@P #afG[`09xBCB:2@)$prt"vxzb& r)yl#C"*%"  "  #6%#H x h ˔X m w " t x ଭ_27ѳW |)  $jJ,2 McI2F(`2   KAԋDI5UdfP8PaAH"b08h p&$ RA:<P`x#[MLwE䅐ZpFm.%d4L',(b sT{"-0$*_` <)|3PJIV#7 L.X ֓e(wQ5 7yqQּGdSEf(]A*@QuJx(eIz-]DT|bwݐ7x VX%QN/irz X͓@rzpS>ߖp5 fz &1哓$aZ՘p7|~ \N2g4 JBdqx"y%ty%,JL% <@zH5hK)a"tAp[HKT׃, L-F)UZ :'d_`ukQhȄXf<$՘Q^#-^8疰g*p ǹ{ wz85zi˴5'\%w`i07H q*XQδG92m(5TQ ">DcI!_zi2{SL(/$Lgo- , `GIq!=/p_vpEQ; ,p=_r]*ߪdwuS3kCՄ=pt#嵃GqSv࢈2YqxEm8ȏ L$CWo՚%p@uBxu= 6ЀBD8~oobHL:Qd̠7z GH(L W .f. ghA8!`,!HD HL &:~L|X(RX<.І^ 19(#p(:v>z~ )B:LdF$)JƐd0N⏓ e@)RZLPVu`)ZЖ-sK2B.I ȴ1, /IM<4\&8)q2D&:Iu|'/)O\ҳ'>c}L%@Zʁ4=h'L2|(D#)щ6M$F3Zȍr4hC*m1lk׸h$IHqYEm7QES os0X7da1S`aǘrd"ʠH2Yo ]̔Ëz*`7@C \jR-~˄&VuSMV֎Q2&2#̂ʲIN=1& PcTV]oLeȄ-7SNcm}6:d UUFU[Vw&~xU%^ȸK I5bnXtJ Eac0c{\P|dCifzb+C_g&"״nPa#*yt+s#q{@`^`pC"# Sv8YpcB,V:ݍBrRi@` 3 [9>o ; D -ƥϸ7BNEד(Pphty~n-ZmPoE l% ,i;Ke44K㼙CyA=ЄCO{t5M\DAR?,Éu1k -&Fh(3\~+n,@b6y_'{>J۾`B@%`Q{xW8e$◁\q4 M![W%D n+|eXdc?rDžaf12+veBYBhYq S$v!p1 (Aiow_ l(qgSf,UPdV-0`L5&b"@/ZF/~/%`UYv  :Tuz bwEUr,5/ A,hN2`eb"c0+aWX%)dv.=q qh&_2Xaxr"}Y8NT"I_jdX&r cu 8`'V c{g"2Lb_h $"gNT43#İ "X(1s 6MI \%\Y1@}9Ƨ$p~':~$G}.!U$\H_YMY [&_qd#* `!EV7yI.72 !]a(5 -xF1#fV@ 8X[%pS&O"B=pv9&-F$4x!p2fh-B |H ~)rl80U8 P^ HjL q fG ݧ8a|9 '""$ ^_1$M.X UǍ@ՠ U/ƌ՗ _`` ZPaJN_]Ћ5@w7rKg1G:3/ U됐cʹOd,%+qr:tZ$&Tq|ڧ~c'KnNS4LZ?NʦmĨF OJ_KKʩjLF:OJTڦJJjOJjK zjJ:{zzhJdǬ$ګ`Idŭ䭦Z:Ш#7zrI*JJڪjIPZII:ʫFzFP*I I  I PHkIڱ G+Jb&{(BYCkp8ղ.S0>5*v5e8:峧}S4K)9w4/Yvt Y~*"S:D"Pc4UUB"2 Y\֐9Sd[I $yE3 c 8'0N:șNq4]'Xw)' )yjeTƴ4T Ap!_ A軭f`*Xhw!t!iEf' d~5so+{K+YWe(ی!w7 f)%$ R%$fwuTU,8;*8x$Br``q%=3e陞@/{A)٥%Ah„2!# Qb 1 kA9u'o QV`2!< ^+ xBM|l 2¤YvS9($]]{1<=={:TE6[K>h P(3ـ Y1Bo$"*zK%sQ` VpŘ9ɯ|wk gL@K4DGF!mNPLToWmY=FSj^>]yd}=c}4j-l0pr=dlx-6u(~mFׄݵ}1؊v$ך\ .9]w qY[X&; 8JEP0V@qfX%20,v>En; x:%ub,S* hEɡWRLwc^f\0NXhS+>ڸ+CŨuX.} Ue'پvԘ茁s\"2: 氌<]Lg֏HOTɤ$fϊT){(̫ 0sԮQkόH"B :Q?TT.-3w#>80(eAQ oUעٛ2"E;SR@NT0L4jАDTA Ƣ)5 U-1l" 0Z n>>H04,)84,$$09,,8`<(( p*0-4`206 4EN@@M] #o!9At]C@HF( <,8M" ȉH= dr%ļCث Y:XdB(s0jhFZ+r7v|`zp-&NrXbmϊL5t)ӦnUc  UD={ |5P_4 vGc I#Œ: ,x0{VV;*p䁀ō@B'4П(vtA.,|8b Hp\- x>w5&&$Vx"8=7`yk@z汽^Zx1\qX![2!ؠB(\vba18Ġ8Fy)t6Nn1 *RОa;''" 0J/o vp:Xe={ P# QF4;zO"AaSNņ x@1; *̖p2hq 0Èi>`LE41SCJ6xܸo &zL_|T!*Ӓ UX0@Q›3M=qYg>vA%`TE<Г=x$cwGBnfqqc\]CFe^b}G,FF!tGC]z( p2PAD2:Qǎ׎p<4@ r_zC0 0@ @7W0KO@ 04 @@ W0$`$B.|oŜ<)p@ 1P zJA.@@$pw>v2Mpm1 V̇ W 4kP|P`"D@֗ `(¸@ EgK"f58b>lq`ӓXm>"7

 Wn1|phNOfV46wHR*R`T\E:XO} y. N70kXQ} hEaw+􊆙˯(OE,bBP@(@& Cڐ`V hFe-Y.,]k}׎v;#msyHVR`=8K4RU'|Gwj~i[bv]shGy [5E!ʤ52  8aQ0STW Ma Uq[M)-?E,Y50?+xx\ ,ewam [ ҜIP\l`Z/ݷ 7sOJ3GD70s_{w&|IއQtCVs`xNeP~W}Ձ[W1n&H+1-HzW8(Z28ƀ'|Lǃ"S}88D1FHZ9W;2$<<k0 U3SHӄ_%BifVp~mT}0`fP]YVEpb`PSJEBultvh^xk)S; B4u <%XCFhTw,`"$< E%Sf4VWw78TcU31%En=EJ΃FV62Svb5Ff>a2_TC4{@@h4lg<(gFbf2FGB"XM9y)>0#B3H1|pD䇹dv[\6\!FD`Q&eȎ3xA'fF/U40"TQ/Rmw+Y( mXY-3ᣆ xFy"w$L9#^>s:3&TQYH `BXi?&Dw̅P2Ѹ c֌T;&YHC~&DyhDc`B`by0qg>mo=8i!g0I0D&C EF<[TcRď'vfCa=`prx)HI^脷{!W5Rt~BT d3&HiN BH099C.EcP`EtBP)s>L'eRơZ{M3? ڋ4=quC94wSHIj`$Y0 8 JGDB ɍ 0JFTQ'\F@U34119Wik 8\d0 )/0J0i0TzbF%g(רd$#C6wXX39j*5mZc֫JYYJghjFD@#FvĪܣɭU&9I$h[gt?\Ǯcfا;Ưhx(BҰb ;[{q";$[&{(k-s˱.0286{8{ Xد<:A;C{EGkI۪KK ړW۬SMOKQ+?ua;c{Rbl۶Rrgovwxzfp[>7VP_ ok';i9ָkO8˹湟`osgㆺ{2ۺ+J ;!W;! Zgp[+3+P821}"CC rxVշ8';#19_0d#,80PT(CcW{3ǻK6)Pњ#kAo&3]ӣAdTkYx'Azb}GcvTs8F]<G7SwibPGP-W%F5ڭ[=OuEjvjSLHF_ús'5|i;E;OFHy`34{"T3t\*F91ԛw̅VՅvĭRY9[DXUGH <,L\>E#N$tQ%h@ c>/: _m=DtQu>@g<{Oz Ƽ $Uf j%aLnm_K%{0&? ~A/GIK_6M߼O L{VYW[/So.߮Q'/;`W?mo]˶[r/..2Esu?gzc:?/"yZ)̂q` p?_8_i6ȟʿ?;_xP?TU~/_ph0It";(Y^Y)vaqt2Tiz-Pl^y,  P !#%')+- $.9;IKMOQSU=]#_gik_3lu!ADVZwkcq7{~ ˿JK-8 bP/a~ !F8M1YB@`=9E'l숒H/a4J}\ԹsLmPGD0ҊDFG2|*@lFAa뇨9AJ[(8ەN{tCֺc7-&oѥy'ֹEc;5uU>\s闌:6}@ݸS-Qa:6ZJ`ؤuY Z}{qvx^RcOn,6HQw׬Á" : #侯~O ,LPl!PC?Gj8A QI,QLqPPaQF0R R!,#LRI"@a'R)Pp/d0,L%0K-Y7|84qZ͓ܴ?A B!SH)shNƎ JA5sPI%A4XmWaUYi[q͕Vb>-)GU*1M&LVe]WxV'"O=FF@ Wq-sMWum]r@hwj7l3ݖ>:ZW`%w`=xZ~%HO6VX ׉Mc_W7I H:!@ VSx {Ta) 8ΞW+@ 瘕ySHyhEnrV9NW:VnQS@HyPᄻ@f Rho ڗ\`gWqvl3VE8Yhe(Qrv r1&(7OЕo|}LK/<k6\J}~6} z)x= 4@y@4s '8ziP&E{H差5y{/P P?Ep&@=E&Z A$a p@@4xpDk0XX䖟E0xk _2|{@礰G nn\|My}<qkً!<$6ĀE@p۾x2]s_"Ip'^mNFJ{1ma0E TH@'p%B͘ `ͫ0`@"o=>f<.,1<Nepֿv [7<^3z o Liߋh7 ꭰG~Y>A/x)GMN lZo 䜄~dڒuEBpZU PR'C# (PPVvL: % jW:t0 d)* nIv < }<=,=uZlͻqfWS(86Aޫ7}+*Cg\{/ZdYL$Vô1pV=|fJ a@Ñt)*`0o1lLV֘!!e*sF5Cr@VVDPQ^>B jQ7m~gU4H4tX +8iΕVfZ͉nVZp#/tѤXg)F{g"w{<]9r#䭩̨ t:I~^=U:I8}qwQs'E5O[4 BR8DYV6YŖVp2H40ApnN ښ (>tZsֶI ./^2 ΁(?^SE.*,Q&nrgEsr&nIZ#PI[i<'xfS`,Oy8iUsF@GeN}"0ogV- ƾ>g GP,3Fgf@ +f)֊Vl^`-8"GrHin>J}6')[H(s)h`4HJ}hfig숢Fkxrx&h11)º%_(\5,ndL)5=΅fPCH,HxP >DŽCTn3)&% ILH ČDшjɾBC%{d2OH`vex挨D.2s:m1 2Ɋ:D$Hvb+n}8Μ: H`\"T&tϊEc*3 CED м;Nq F.17 pgh (8pm (GG&URt64L4!%;-NMdIEDGIrf H(Ds Q3HGˑGSx2l2XƙLnhrBveda6GOnufCeeq){6aϳRac˵LVNd6iͳc%jvj%D``86kCfmh@`lɶlV V>kcmMkGNc@nV%\ݖ`vo$cvnvp VmogOqpp!7r-p%fr17s5WDXds=sAWEn؀dP7uUwuYu]ua7vewviv]76vwyw}w.džSv$7ywywfxCyzzkW'7{7|ŗn7n{=Qw}ٷ}}7~w~~~7wWQ}x| $8%!b8%x x-?t1x9x74EA8SIM8;U-XG\qQ @FvTXO7jTuʐ.% \F7'7 #bSg _f TF EDKlc]4~74rSoH4DW *#P  "9a&yTCT(5ȄJ6M`" Y7A27(NP9# x︇81PR9TY m$KOYB8CC7C0dA'K 7@@A@DZPJ3r T^ OjPsMW&T7<!8~5h>WfʦpxT,r:)PwZz<^F׋q3pYE w5s`9@! 1JY}9𦻰1@`jJB* ī  FeC9 (cJ=v910@0|iJ>` ܪ &7 YIfd qN^ЧhE IM<9;͇){@jiQ`JjF hM5S)~p@ऎ`B:?4,3iBƶO,C0$CCkBJ>hx DCWӥGvd < Cf ?F@p1 :@P`TEĊ5cZDmc1kpdlo'0qG hNCj`+ kPiF b0&`1Pjd+GG~HtH!@`pY`K( WvvgX ;X^X*^J ;1k9]۩ 0̋&@Rq7jUN$jtek=@`prKc(%T66]5@.0Ee”p:[CX\Ukp(v {"+PEK1gHsV A`BSq创RJ]]Ůje[Z2`o'{:Oi[ #Z`_lGe\Z¡ Yz$fqef;hkYT83tRg D\ DȆp^9<ȃ?;!\jh< Ϲm[\ quBPTUPDŽPH iȺ[Z*P;z:< } ތ^+…;9+ |χ; 5J4mD esɝ6\c"]Z)ٜѫ0̯*XZLLúX&; m@[\) .`4piL@ B ĥčŌP3> ^ A l !7mk 9Aϸgh%{BL  sM*zDꥊEa c e Fȑ̥x9XP[5 =m }mDR%P٬Zخz jjϓ %UȤ&۹5_]ܖC >} wjГPҘso<2-c>]|ՙѡ؝-dشp ֔Ԙ6V9T Lןpe<-=1ኬ/CVf7d O\z2 }0#c0Z=S( Mi]]^e$V0EE_Fx0|]ZG =]%n 7$ YѴ7m:<~ I` 1g(E; 68lGHXH/CరIښo91%[} 1ݞh #j2 c;Ƶ {$P3֖BmMޖKO*B%o #~*}Q^Ƶ@ӧ 4?ޔ*L(`/l4(HD.W  ꬷK]L>뼯.B$;n89= CP`+({*#<]&x!ݨN7?uo㣒J4/o~Lk`I?r= @0Hk"P(s`iP 0z,!SMBǀ)b:'" Or2/(p,Dg@:BS % ʇ? pa"x Cy0iy  ܠC,b,e"pT턏`!ΨDp #HF&<0 `Ёa6_\}S 8RTvxI[JbYZaGJ.wd,Rf(/F0U"kh&8|h G H@r$X/RH Ţ4!Be~b󂥩WCi^Nu%9A0tap{!8\C@WЬ@b6C@PAAotND)"6jH@t.0; U{6p3C ږ$jsj`;t$`(#^,!Ip2>83DT'oT1] , T`o"5D4o h~D|mS׆q}b)!^^% {2>C6ltTg "&% 2NkA. އ6`9IoqB/!uFf+Qm6cB;5⻞o@@`A`Oāy=3ߘ+XO ? Ȁ^oh{9/% =:"܋dXjiAgjp+@n<{8~[{H@ nF$3ߛ4%sZr6ޛBZEI*< '̞GRh]v9/O_4ހ)ܫ b>VIl5{ Xuva~rw\"oc+0۽>̭X2D<%bp] MQvq: _pi XVFkYrt\Ǒ0|y,ktF։ 40MD(dWL,YvU+•`@K`7Ńʯ \VU抣 )ܽpǡCP%< #L 1 Hʑ,ɓ{ `,lwg׌> r[6: ^2= R~##t/+5S~.+ymvቐQM Żmhv3^Cp~H8> (DQ琾B֫WaT趑$[,s1&^[K5N+Tdb/IAi<@tTPpB1Y. .9,Ֆ?yҎ0vU%Dj^D ^l ^Pyl`װp߀z) CD&0~00@ ؞vD `:F0H@ Iă;쭽.#w^ PLtm"KD7`K<`<>).&E)5ߡY ?h8wTGH0Z:@EH{ S-`:kDEo?P;oU* ?&c0Fa>?Ixyi`:1`e/AIm. ;r;е 蛐s}  :lak#j*& j6- k>@3H7Ό k jܷF@K0k j5;zXȁ*\ȰbրHOƊE֐#X7<Iɓ"2nX$ҡɳϟUMD2;p PJPԜ:W`RKfDLWMHKJ@U"!r LJ\? P@T !kYi8ܹɢMJdԶQ˞MR޽^]߄Ban_+_^:d5fNfrKGnw:e筡|r {<.ەc-%0@AhᅗL vH &p$2C00bN1h8<@)DiH&L6PF)TViXf\v`)dXlЁpb-tigĩ'%eUy)#}Y &Hhj<饓6ji" ",FH ej覈pAF *  ~z!*! \0"rndp)0l!Z~[ !qb &.! @/*BY!›lHmHmyNR[@"s??-@0>*pp!<${ d / d2,дk4P@t+u@'+2>3-D꫼1g8!c&!NkÊl!!L $챘j"wd7 ;*N46*߇l pFl2!7Yr"s!p8?;=;!P@ȟ3֮4[P܁%ҨXTFħ!ʷ|2UzU IS Q՞V⧋p e&h4 xI.php4ȶ5JkvK!vll5cQuή]AkǚuY<=Zc5jjfF|cTD"MTр܆Z.%Qn+ԇ:~ kd-cʵm-[3J!f[3@G= l<6ݱ# ȡ^ Y f 0뿁n>W>&q\kƆ"#|{Pe.(%,c[ز=vdkw{ ׅKB  <,Q7U! uFU4֖*\0;s*NiQdB!kLh׊+u."*Q1n#ȰjZ@ȍ{uWXaҚ`?4LE5k!î+l#[j zӮX6 yB\^w*wjYCp3B#@ޕV]%CHZWuU%H{n5`vGv"n4?8.{ ;PKE:255PKM%AOEBPS/img/cncpt310.gif:GIF89auҀ@@@???999444vvv౱fff;;;hhh___ ggg///```333000rrrppp PPP,,,ooo'''օOOOJJJXXXNNN¨ MMMȺuuu[[[AAA&&&wwwZZZ555UUUħ㫫ܻGGGtttڎԃ###ddd)))iii(((SSSssskkk̍***777$$$666!!!WWW<<< 888LLL\\\FFFmmm+++lllQQQ222CCCyyy~~~EEE"""!,u{ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0FP@8s@B̟@ J( p00ӧPJuvF0ʵׯ`2 QcXA pKw\`BԪ(V(KÈ1&i \LQ˘}(XlMLB%`Ŏc˞MW Q@ͻ%hKCh+_>{†T? Nu,`ޠ4Êӫ_?4ZGL (#K 5Է9 _e6$B^ 't%PQ^".!7uB@ h ,Om"tNA(P݄@g@B)&uÖ= ~sb0A.5-ҥf袦C.n9m/Ix`[$B:t( q$]肛5y#]V[jV*+K +&h '/.A ~*;<ګ]Rʰ-()O=8׍yB %/1^9oF m-Χfl(d-X]sXCJ+ ,r1(P"ܲDp4,Ewrl0D ̥kbVϲsm J p&mu¦ .Vn*M^"X Z1| "/>/FUH:\0K 8iWΜx 1L>` T*韏΢j.+e )/&7ȏi+ilbн;7j*Қ)'>w@ZtaD<vyl߹q7Mj\9Ԯ)(`}s_&ء`/@ Ro*<.s+aY [R3 ,a w8 @ 3:YDԚ՚4PHqUȋ rLԽ5  #u2LJ ^I]Fg2A vxEfI"EpĖv.B)xEoHό88qCA\FH7LF pGBIPRy^&$m~,$*$Җe.K_Z4 &`&S_2-#(lAB(B#NE2ռ< MUn&Ёx @.A۲l L4s^_gImAtZ"^-l> Z˄tL@ RH=+ 8 [vӞ3}H@&Mj4qIMEyLZQTթx!6AhM+ZTi6uP+PJպxͫ^־lM[ѐ.k]:l`˔ebSz6 -R'Ni4ͬjKYRmdI[!'XnIZn-diNiHRr:ЍtK]NGL-p=+ܿƍ!r VMz{^ͫ|K>ʮkJdm y̾Nk~`Zx(~WE@91yp' _X~aTߜc8ƿ1hkK3 yab,Ⱦ- eHIU|Q”M .C*2 @g|FF=ŌW&7$f 7`8gyuވyqވzN2rC>VYW:,NqP #(:\D;FA|^ 08 2Y@y*z"6\Xg[q l;#6H:x{f,pt 0<#F;;Q&<D[9{{m$j?*9嶶6+00 +.48U+ᨳegA蜲8{ڕ]u@wcV8G_.h S.wg@K,a4 *6# ́?XqlC@, !@hma@|Oi+S}A'uWgwYw[jug'ukmJGQ|+ 5,QOcX`FgK`x&@UwP~M]Y0Fgg7]0hŅK e oqb4Qz Q(u  h uX{Wz q+r@l@Wjh vw|yG?P0xfWU>@'}W~)6gcH~KItK{L gKAutQ'0xz&&{(g 6ǗU1)g7 (p|erqx*a`.Hg:M'~ݸh)xxwex}Uyt`x9XK4 (x8 8[UgAƖ]X_H{q !pk a 3!eqW!Xf|刃} WpWgUV؍4c3{@ [59+90H39e)""y2 * @e #Ap Ib1#ы2b)fkwU ` pCiPH`pT`WLT07$ 9Z !Pf@I {ٗ yiy%IP1 A 9w9 QFa  `JT~i Pd>  yh* rДA@ f ]_IP&a0@ٝqD:환sY9" )y8  2 Nd|ٝ% )BNQ"ir*`GJi8*5z^zi&)ʠڨʍ_.zj'X:%ʞ(3  ҴK  2PQ]0bʗUpizɦN"Nup8 9*ѥ'` ]& Э}Q8][]JeʮA\`&K@CH {%-$VZ}P I Z0t۳>`抮z%0T6iA@" 'P늰_zG;㩮YQ* A'@Ԫ{ aQ j&Girx?[_z3Y +۠{i@J KwЪ۲K` 4<{(]ph}ɶIr K8k%A1*pbQ p˞:T S!|;[{RA˞pڱˡ 5˲,HK|2Ѱ!qj؛+)ڛj:+)k[l%P"ɗ ۷\+囼T#9_y9:0{l ˸| *i=@*s ~+%aF-L{ۼ3[Z\8;fۻw%|)_Z@  Jà XlZ!`!#Ƌ[q e\ƗƌƟp>v\Xq|[N{ʂ2Tʰp #ybjd+.\ P9l[yǚ%9@"M» mˋi(I7Y c|9 +8`+А+3wpk*h fܨ\ IEXyl2p,m# -pj=y 2 q] ;9 ) 'Aa Lv`,M&@gTPW-&ݨ|T!pVi-إ XGKhm i/wCa\}u?#X ǟC S|W XY ͞]> X>xB]ELp A)f1! Bۥ!(pyl؊ʟthl` `W: T` >x~ͮ"%_m0T0 SPRKH fq ^p.c4!nӑ0 qۈߤIm##|x-_(W)DwFfOprv<w0 3'DiȃT}P'K<rpi퐿8uue9)T~VX>Iuo 齐&W,rfN7( XPaW&/W7`SN\PPD$O>wƖz뤞Gˉ!x >{jag{aQ^Wn߻!oTnWXvh aTni/fq*#/n_v?/p8aau)Xuјt#)8Xj// Ak7anpYh|A 6P vЊ!Ee![ra 2{hOTUSS&p>cVM[DnPt?۽qXOi"T_j p"{1fE55[pǤ1824H$TrI&t"G*j H1sx ˫0xAD 8H< 2dlFlC5vОrQFujL3tSN;SPC EJ,*pˇ @;XȱXNH^ :`OFB0*YԀKE[p崀R{@,tUw]vu]x% *QuPt+LV@JO"6B^Oje9H^lύwdK69y=ye[.-NK!r9! " ZOla>Tdݔyzjiefyl6lT70B:k]ޚ{oo|pو{A fmER{Zyěp;s |tҁJw#P*hh'|` B"P,~&O8A執~g-,}OX!e 6X1Wxf4Pf taI`=M9qC@XgUZ`ҳ <7@>I@ V}C "4" U _52+jpakAb.c UUq:qUnX<Y [G@/7Z!/3b  /@asdGXp/8)+.`0HT)& 9=`abW3(Ha P)ULh~0y%,ofLg7 24Fh03 f;y? Den x8T #%"^@O}͂ `,#<hG$t }"*q%hFYQP } fFҒ|*$` WLz`ӜlVT!!WRUD /x*JuT* 4`t"Xz(`HΊִ`l%MX,t\+^خ }q >\(@h4@1( W(Dc!{Z:%W,mi0Puhj}ۡ  `V}  ` K \fz@Ḫ lf[i t2ڥovU]_*0&b6@B]^C2GWh2 _pgS7 1^4p' ] .K]D|䉴(Sr_&  l#D q% ?@^`sK@*RZmvȫB˃&v 2n`:AQ͠@(u m3ž-B翯_H~HzW~`1GRZarXa!ԷA$!7"#%w!)~""#3X#&ʘ#;#*$CX$. $K$ (DQ*Y%W:%RRe40ihlp)tix|矀*9衈&袌6裐F*餔d fv駠*ꨤjꩨꪬ꫰*무j뭸뮼+k&6zVk{)vj gzhgpnokAD h DmDVl&ABP [.2#Ap.A  ),t<ATW g\|4  p,p Bwp08#,t" s,;|A 9V'^*| uNxг/a.48+L~~k0A۠P*PҾ?}m4K_H@-v@],mP Zľ,_0;o}Z&R'8' l~QyWH,)P ^p0WQ}ȡw@ HD"솜 Aإp /Ý7!o+:“6p44V\蚙^4]t@F]ŭV1ddX2;1 &7Nz (GIR2`u䟠%i JX k̥dIKRO0GKerx &2ɩb&̤2IG9YЬ&n"ʦ78MkffiL_8%x󞉚g~O$?IЂ)AЄ3M pNCDtU '+ʆzz5 DM$!'MUFM4 8ͩNwӞ@ PJԢUIGZQF0 , M-LYS$o` XJֲh5kV  0*p; ~5 `K’u3`D+miXTm}_ ze#biFV m!TUL{W];@L#aLOnMuw3mmThSֹЕe\ ݝS@ X Bo ؑfRy͋7hT.~PTQDR6K׫}p*JXxp(, kw8 ,sEL_`E& bR/f%8cihjgL@e0$0ZG%K`F@e+%`0?j34o˼Q 9f&Zny}_|}FfCa<4UB*:Y$=-C=QZrֱ j45,w׿hZg+fM^*FV; (-p<@,ew jrW܀B$P^F4@*cZ ~ o~ĸZ3[<_ߵ^y<(earu ˍ۫#+<+- +%+A )!Kz1+ ۳2bZDK*H,M+JoٲR)Tk,[[zC;9+X a{D꺻 V j[{CG/FMGIcpkGFdKFM\F,'kI6mTTnF.A߫F>+9J{FuD{CF`45k$8DYľK)T$9ӻLDԼ ' 0+L?$5 *+0ϋL)0+ O0sžEM6|FALáM@l4VC=** ]`vӆ@٩zNW9m`? ,wgWg(\ըӋ^~Jek-QI&*G(Djo (y] _[8R厊=pAMr>mT$|mUOu&V~e=WwXooE])wsn-yŐ'yf~soem0\\,GyBpWeNm*fgW]ai&=`)Nz0tU}p{0),-)=yC{&VWȶo-Wʇp^fHfڨL]e4])Q2%wg-d [n6>|)Ҝ]@Ug}\c՛2J^fiX/)&IT~0yb7K V_y,$}( &u-X{oڡb擒TW]QFWU_UM*@vB.'IitU&Qu[9yGr胒mЁ=vH3Dtc>{0~hMR$3K/%{).(s&I-9ue-U,,.(&tL):-- kNFfǸNmbuM,(&& ,.*ݾx &IP((&+/*{!&#if7ϽqRňnZ/*B3&Fo>A)K_&`._X`Wf0Ld(dR^/7ǎhiǁ:&xmGq^[Y&NfoZYiՕB٢7Z ]`v5 `wvYyRRxŎevurZ)So&pn^F5K|M)>jƾ7Z)<9=oTb)QD'PkVkω6)OZ2yI[/7pBBA BAAA B A  ýēA  ӰՃޠ '¤A NQȟ)%SXX`@8` /!9<H_)cVI*͒Brfd%M } 5F ]j^KUHJU#(H2u0@ٳ>l $Y]1`Bl$܊D찒~-4R-0*|;%k\ GzWTJ%juM0zT&qVRl!"8i5]\{5#xXT;A% OkFz4QrJWel ] DLٹmYoP M> }gs@7X9M(})v!,F_އ'7i5x 7FV!dS^i %6oD^ L$DBҩT@-Wf/6ĝy Ed6c&v8m%d{(H6זfs#Sb" O @CʧP٥_zЦuΧdi*T{P:TƖqRR(KL kIؖ,l=k$I.9뮣Om[|+o~);ٴ0@ btL/>,/VĤkm yBdR \g\h q8' RlƔ&jǐIRK6KMb4BVG:qAϛ5@A;RBBDz-FY zoa *< @O"4[?lD K0S{{9 b^r ]ǒ,H$,0YA ]uOQoxK8ߒ B5Hn#4z#i߮/"8OC 6$CM.]M fk^73 UHn%Ob"q1E\%,H|#PDd"˛ױ5:eTJ'-+ \hφNT[qB P1q|[ }?|_-ZK٪ <6]f"FYjE9qp( lk<!AʯĠH`1RL#$hǃJ$h L1@F<('x 5"9$Ƕ5vCuS$VwFf0+%ŅahR F1`3*p"8_0!mY>J>2YL[47͓1t\D6R$i2$ˌ!߹0(Ozs#>}b}L8!( ƽ;û$G}VQ<&S^[3AIq(@8 B%`k6%V i547L6`*xgjꮋ4k;"~J N7CJmQeDd<0&f ~B"zǴ ָ ucP!L MƉ% *8aW Ķ bzƳZͱǸd$Q_~\@Inq*RCRD-:.C F@Ki$<.8- Mz{^hµ cɈ|ήz|Bw lS5[YT`XR!_?L -bh^ؔA\tl=ap؉[c)Y[/C{\g-ǒX1c xcHXI[/x8o/9lGMB?(B-ɇ$N1k%ӒBmQxM# +*W݃zٷ=*qSe1-q U:x[<6],lu8Obm9+Z[2 [0%8 xͩ7K<(%?wHPU8_wz;﷭ >y~WKc|LY9cl첻^$~9)1zާQD>/ k*v/V7wxj־5u,Y'ILguW\x6I&~F~3[~>WgRf|}}{&zc`րgf7&|zg*'71YBmoizB!<WCc zw{{BbW[W#DLH NP(1R8RzTsԤ<5tqfb8>7GpJo~~^ȂuXdL#K؈82`j*Q؉R*Y8a*5 ?5XUzt؋V&dYQi9km9xx2(Ȗz)$+> vYvȗ`٘9*H;ٙa2u8o)qFa Q iY 9I YpI8͙Ii)iȩىi] I)ɞ9  `yɟ *@Fa ` * :ɡ *ڡjP 5') J* )٣}B| )) ΢ e^2pz|̮|O1.B Q\A A `"-"bǭ\(,lB,TΡ@ #TL8^2[y 1:\mrìBuAPA}O7}õ0GS9}` jՒ<MX=I|*^f-=[^ASm \A`%4;WUM3={dU,,Ԝ@S) =< 㼓u]w]y^ŕ̹ѼDȑ%-|̃8%L:Z=yllAޯ7yCaǙKUM2iBߒ<1/ >ɜAi֌,I-C "^P,^|a>jU%U-.`\6efAfM U8U0R_ QA. (\B ,C@> W 址0-wU h] _na %XM. RL IN睰YƫYVp/`ȊN VzڝpuMQ"zN"9> G|1G ޚ -:f.ʺ؜$m,)ѳPbޖGk~_oX>*~ z.o Yx/&O0.02?4_68>@B/ߚqM#HJ;oiPR_CC;kp})HYQjJcR c}DWc_IUo|?=DlnO_/tq/Ysp jH{}a|y_+oN[w]/)$;0Ʌooo'/{?KwXgy?~χmrB$/DBOڟ(_nd J\O Q4 &p# BBAA  AA…A ̛  Ԍ֕ͨ᫻܄ɉ   |jD[`EA"2  qTɍ"r%HQ .[&0S8uq؂,tTSSBn#!V %aJ a0  5h d@9qv $wVmZd~LRd* snݻH{eF2@B $dAȄ B*X,0ȈY4$⭥ZS,H^X /r֙o,f⹳Os]*1hR:ߕ]lzOAǥmBl5؁VwZl=x_!$.LcMz(D9 #aM8 SX!gQq^$t 9#2]c)#u1Z!i6A&AB`Ypy`t!GEP"Y#*nX APQpw @ɢH2@ՑtE]rY01"i~cJHr, l㯃-HVuWWfvBEcЙxFҎdeirN *(**$'K#l D$kUf-v͙UxjhcR(f@]3Y^_R5+"r] |rH 2BYFT i\?&3yŒt҄X'$'N` PM 3uJ3Ʊ&CIpg2\652RCI݅`!9 E@| u|B4gW~o&a_֓[Y7@ASl-כ<+"A0*SRe\RNbt^ F i&ߤ.Ht8{bޝъfDBB,vu.($ekӒ2@_-7nj7G3R8v=MH+`*g ^F 8 - F"$),0ۆX$;o$p$ , 6C"W-P BWa-;bIj?A_ 1ŏ!0 e>8\/{rP r`r#E+1 %#H.2V,T5Ge1c; {cY4?Je`'J0)BN)p!u($B^!yw ;*D6)ijpI3AY/ҙ qz.^g&oaQ>I\BZ)_A~Rh!Fjt#9-_3ǾXx^éLgعNOBITէ P8le&9N`ۙHj2pWBjH< -b6ۡ:lBB%Jη1^F vifV7&P8KTB3mǖ@&TpZLgXd5+мs#ԘY'j@q= VUVY~Q˧mD,bEt-YJ^)g/cFHSPh>XD#pOU˷L64H`ID/<'$KpZy3EUtEYT{%1@ 3'[E QB5)@1i(/!?^Xt >ސ\?AKϓi9؏0pade9ug򨐅DA%1$d;4G"grTCErǰ#r!VHVINI,$ A#v4PgGb;&]M7A-&]B_Ia)Q Al?ӛauft!= 6P793)u>OD6n 0B{ BH28P6YA-Ir&y: r'W;S+Q =o4٥fCFK9EKrU42++<TQ V[9'$b"pkB5"M`#?en&J9( )3zP'6s} b^qyXUQ6)U"q@hz ـ @ r; K Z, ,>׺ U {p[6{d݀Z*J+wӛ1m? ;+{᰾AtÐ+J;۽m71g@ [;6wkV< [2RKJ+?T'C`!XFF{ch! e'C¼+ H6ĄS W"_REA`-0Pg("-"Es,TdEXԾn.Q\@@ZB._/j24:Rb,Ov tx $N<` zL9'eQ.>>sXBl!I9# .Lˆɸ ܏ BåiI1 +˺|ˡq\ wͮw]TJQ-3 R4+R`Tlܹͧ )ȅS SbS a^s!ˠSK:ST||dIH\%)% ]ԅWp2<#e'>ի_хmJ|K! Locra#W1cPhQ 6iOEm= <#lCMw? km]mCp > իߘ֮'ᔁz > ~.r> 9$͝Cx0x ۱u,>M8H~qJL @^BD޵UnqW.YNQ<>[O|2^~P vi' 6prƒ;ۍޏ^őx~z|^< GH\QUR|\߿* 4#7qnߛ>؟Ҿ¾ŮǾ^ͮ ]nک׾۾fϮ~~ P ~w}`P `]-m.n  %Lrŀ0?H~2q'mZ*qCN:HIO~P UW o E˺pM>%ɪnrtvo]?_ n_p/息ԃo܅؇ ?ߍ/܏Oّ_ݓk>\vU)CO˪n?_%^O}O_ڟ?ޡڰoD}ĝ-ş؏͟_k?_oÏ, AABAA' ˭Ǔ⛡ Hp *\Ȱ|I)Ë3:g$I3fM'2JD2Ll^|*8r 23*: ͠*Y!{TtH,2r k u(vն1v,AIH;mj 1bnk48Fi`0.9CvG1EC SIQ1{< 02%0#LpG W$ܰ8Kr\2D;1t$L+D*,]J3XmIt=}tSmQR- J%,g(h-P4*$kB'}4 }s#]zyvL+@CJ+,7nSA(]@s"}RG_>Q ~ KN=.݃(ezG!,wI+ ;pϠҽO]ɦ1twuћT&tt=J{co Sttp=h+IG4)$E`G|]I@8py$hW$$_QDbع'y-DBd-&c`GBENAבd}%P_+0^W= T@ę#Ae-±,% kXĒ@iZ!HדԤ  VDVYe̬sJ\wUy[ u!Pr x׹( \[&s;^g&M"]߮@й1(+Tz^@ V*\C. J7%%XaI@ DU;6Fx.PX#xSVbXG4t&;PL*[Xβ.{`L2hN^5p~L:۹&sgπ4 ЈNt%F;JF#%؋8ť']iM_"ӖtCm PoZuORկVuajY{յmMjLZ׷uk`Fvle7տf—QSڗvlcڮ4nەw/ƽrN7)i~My wo}7-K'3@![8-hG\8%0{\B 9U|-/ya|'kۜ2y΁sB7z!K M)JLNz֩uK]_zؽnu]g';%oG{.u{wzw^ˉ=Cw|./Wz)/=GcO|O|?vϾaw>=/~{e|7~;PK+L&LPKM%AOEBPS/img/cncpt302.gifGIF89ar=???///şgmn367___999oooOOOrrr@@@TĴQjôjgnqР000 )sPPP7|~Eppp```4|pC&sb}n˽GGGʽddd盥⺺ȁԝUUU***` t{{&))MRRsvxZ_`syy@DD:<;y{{MRUԁ<==\a`"$$378QTT~ƸPUU9<}2gʧ-ƌtkѥI6Z"݉mۅ+P.uۯȓ+`ʁsW vy<:ԭ\@եS.>{+㻜Ozݷ~`|x_~8} נX W!~!"h!xE"A&R'"+8Pϵr4h8<@)DiH&L6PF)TViXf\v`)dih^51)tYdv[| {j衈)h9ʨq*ãZCf馜vi*h4:jPPte@,(7k}jABi k&A1 _몭^J_Nʫφ+fk覫Ad4" Z1AЁ1T+K9tC0x+1сʂCBĪ Ь?0p ܁`q"˒,1t@+2BƼ1 PU.,!  2е ֡Rv0C,9hvתv,?ܫ g|",5Ъf+oǍ֨Ak?~xЬ ˴Ww/lR!T[Y*ص򬮶B oK<*m򤷲: ~5+ڷ+0|,9 + z/GA[?Ud&os⦷m-Vz1ÉezNն&3n; b{XBv>YO̘V(~A`é叅,![F,C?9ߓc2X?63q,) tLS>Ii-V+Ţ r[zU~tF?X{& M}-RIC%,s0- Cȧε[tab@#-I`b޵#Ў6j[8J,j_~ȥB@rNPd5 sGVU2 ^@E۟,ȥn5zWa@p 'N#`y& XT!`;Af%r̪WpkƪZL wcBbgoSCmUK{Ղخ$S;[ӫBj6)wOdH z5U ַVrmR[ pťvoݲoG&dzNgFȬ` T9p 2{AdЂ`qF kEyc^ ;v-`NޢlORrAA>VM90#DWpZo`+nZ)1S^Q9ҷIՠKTKќ Y~MjgB2Fmr'+~ߣ<832<5@yzhIbB*Q0"AzsE8OmGH>uJwzs6W@t F'?<(Mrq(0ׂz"R7+A(*B8 Ohg>s*e@f%Gz6>PWa83];0H"tއyHxy7}CF}DRHK&71;20JruxT988RGQ9q;xsJ107-1BCs*؊xx?z$JdD#d@3c%cd7GD6 +DsrsX-fr)([ǍrO8K(7i-7*SB7)7z('9TSfHgs$>XW=+Br#>Jihu 钆7tW|$Ay 01ԑ|Rz>v?6F*tYh/~ dٍ wCrs#D 6xR*Ň~h+-W|IEٔI z'7#{'=*aDdEBrY*"a+k69{X™qw>z%D㙟wU23nXӁIGN6(B;yCS-*飆F#/ȜrS;T-{ .Na|gFYfH:Y0c䘋9zΉB0y6Irŧ=#2 3)+9ղOg1ɝ8f>ZDeÍW08@3d%J/B3:1//3Cg1"4ڔ*~we1|g1$4W?-y2d1Pף S9%01î#P1l+w)Ҭ4󨿹2䯇2Zc40*Wƫ WJnmoh±8T [W",D&R+,M2{HBch>@B;D[F{rU'ՊL۴NPW,`hb>Z\۵^`b+6f{hj ` 99@o2++Dn%p?s[w۶y%{>}K'v?x\20;[{kg W ;[{ 8 q ` {k`;[ ;% [[p{؛[˛lz Pۼ   ˽0 "ó0+v rоpp`, ,<Lkspp r`s rs@0L@ lB L)9 lB +l [ l`kr A\kf`++6|o` k[ܿf;ıPG(I9Kl l R`s,`{KqLvȜ\hlư0Ƌ|pN\tÝʾ+Ȅ4|5kOܿ̾ R\5 Ȍ Ƶ˾ll̺ɼͰ KzT<ĺlWlL  sɼjr);;\˦  [ o@4UTl~lp0s@Prw, l\&}(m,k ``PsN쫾;))MܬFK΋|+XlkRRPÛl+U ˛\Pݿg ŧҋŮ<苶>]H%[-0x1]hK`׶{ +xmԅN#|ٞo 1]ڝ=kg$Ѧ]:- ڟk٘% =s,1B-l@# k@X,ɝpۻ}%؃[$eٓ]r- RHCy1ZmAmdK߳m#G3^= >& ױO'k#~!9%>.=+^^+Bb8.a $ r}$$ĻiarF A|B| }4d,f>h>jNlNn~X^|[ KKG}4 T{~UW. s卞^>`^~$ءn槞>+-=n%~SN~޹~pWC~۞b^Nn ;$NĮ~a.%v,0_{_"k ׫ ߓmik %"$iH 3֎3OΠ~m8'-ڥ¯ykMM؛@nb sN eq{٭ o.Z#klWO'?yᅫ_(,^vB1 |1ڋƻs_^{_$?;%=bOdO?/$gnًn"XA e-  C %NXE5nh  E4(͛3$U*MYV 8@DOA%ZQIb@͚bXo&t3֑BY &VĊ5'.A)lbɹB<&\aĉ6}`-Ă uQiL p$XB͜;]<[H/\{q#$g^`n#Gf:׫ZLַmѲH[rO=B١WVŭ{r#@8KTpAbA B r;:{**0&A :M0cܨd0 ll+ G G bq! H cQI (;nCBI%:H*.LX SZ>J8e1N:dYKjˏ@ʭΤ*D Ԡ<}@MؔMFo3TR9s@ATOR@}jHZ RC3-T #jAp= Zy%SXN_XGvۉN-*O3O#Ʉ܂ZT֧C+`L|V(acjRI3 Bsڔ NWy}#Hx^"eV}6`A5V_v&yޕu2[̠h7MyRb;VcY=dڅeJ#UR؟&u}b5`i˖eUhsAk鍔fz%͞(jfk[$A{qmC;&.zh%솗{$my .tGy^;Xϟզ1>hWRƇqj#'0}C(/\4?ih (qO!LJΉA ꜫˡt&m<=0zkX_)$4s5njGcGm:&D[)]Nj*ԥ8]j%yS*I)TznЖ)%jVɪ_U)O`k[V Bpk] 敮k_*Wf O$V6zb XU8+ZQ֠~ldW5mkg:زV%-[6+e9EH9);{RZ-I] ֦:oݭOz+V/1] ih_15M+u+J;ӘW<#oYmr޵Wj4}*TތķjIK$pH ꛐbj.ҕ:}r@,XFѨQ,6!=0;a;x[i8Gc-/mcrceƼm)mL͸c%Ť)A3vZ`R ^ -4+u\!0|$t;?!YԴM3٩bYҊpiLgZӗN-iPctA=ĢԦ4 Bh)tMZ#D5mM^g]=;"4ÔCggW*6E"{ȄmZRQ+{lt/%S]\M&o;߻7Cs[j%^q]m;æ-. &F JiC䰰q`Z/!k~bǸH8_[[ G8z?_xtt6>Nq>!-}!a_yviR_771Is=^/eAv|hvrK=9w_9%M=!ÑyzZMd3%qpb?* 壇~7;؇yä?)x_ƟS|XDAw~/:sWgD/~ou-z>4w=.q{=z??+cӽ?*9C d d?;@L@>ÿ›s8C, B-;\SD9dDFs8DBD8D&,<(> C`F@E@*<8>(:x˵4:JhJf+;ʂE؊<`$C˷LLX LmɄ,<: :KL X NF`NԜ# $'%%>&mB{NoY`R0 S1S1%2MS5]S6ŵ&RRYh=S;S<]+d?AcxE(dA>dBvdC^EGJIaJdLLfDeRP;F[YHe`eT&cUve兠UV+Z`Z^ea>XxZcNee`nfh ffzfj挘flf kfoNbcfqfm. gts^gd^ghngt~gxVfy.gzgcgqg}f~fg^hohnZfN]hlnhZf蟭hjhYfhhiYnf>Mie^iXNffAiiiiijj.j6]jnj~4MPjjjjSK jjPK>Rh6grҳ)=赆gѹY눮ukn潎bkP@^f >F٘lll7lkkm mmqlumo!4xЈ4 (`8Y>9(7VxpnN#L{VЀ ۞hf:Q3miS o薅Cq&p`0pnXYpp/T8`D o PnޘomvXȀ oY8 qpY` F 3nY(^ ȀnW!( (YH 80p1?Vi fDY /s. Ohfo`D0 [F4~Q;Ot?X^oFL^(t@tF܀`XX @qPuVwu8r⎔hC/(skt(?I7.sx p6p'i ȐH_tdg3=3-n; H0_stgtFTnWyX `gafb~Q d/gUCvs@k#vn_txr t^"!tDw|g X 07mFОm xUw-Wx 7n5wXBj_o cZ78xsyֶhm~Gu/y(6(ɀ`DgLw/^π pz1 P@p|Gj4syw}hxbwHgD7_tYxLsC P7t\Q32pGp姀}ωXH}@uyN^{Sun 0P_`z& "@„ 2l!Ĉ'R ƌ7r8 "G,i$ʔA%̘2g `H:wYcNB-JKJ2=is RTZru+ذ>*,ڇ2Hr۴rJ.^dW+PcQkB+1f\Ř7/uܗ3h mӪgz.ɔ'mgۺE!ʮ'8rf06KG:,cÛv:=fgOLH߻}m@ d2Wm29X!Dx]!!ġi}X")FD` V=k4.w ሜUwE FR #BmŲyA ] cE )g 5 Иh@,`idL*('MB;'4а,4BH*( П& 1uPh ]j&tiBWiYsiRCЪSFxL@AG&tRi, P.Н )"Lv&fi$qY!$U"t yk֖*EPH@ӊ*A, dUflP ~*ؒzd' ePq-4K C6e@gwr<r pf tx,|R| рBSK-5 auc#у.,fR:Cp?ٳJw,HC3Ǖ r2r<,0U pB2*`lCH/.N kKNiܝ@ wcvLʀ' i O~4~|CJkܘ $;z+qC|c-,#>t3'Ddƌ#ʸ {rs5.)Dt WJ| !g "% !lY?ؠ.nۀ20oz60wKr B]LJdBPDp\>)/q=>‚?ߑ!&eňx">% #~FK$5$@ $΍Yeg86K`C*?CD`UuonVRw?X?Y\^@L FAt%GH!PBYaKR`6*D0CZǐ-NNig^jd"ge,LͭR$c! ,q\HxRvB 8YO\4("rJ ̭ LL8,7x  sO*U59IJn!cF3&2+%THܔDR,&`SQ 8rK ]AvD!!T^b:Mp$)=u~Dmru"X" nE,?n-Žz*dM#Xڽ#5d* S) M<iGOz *D1n0jlr2I@NF{uBeʝ:dN l"2WeGjAՈ B"ĘtH~8sH5j"Y+|St=-*;Rʲκ")Y}$E/UC>e[&;56tmK~A0+.4ST#€ XqBnէݢ&XOn 0q[@P=#KD Uu\u՝nUSU<6)Nߠɳ3L&ͤܳpoF1y4Ax49ƒ '(9!h^;f'ԱS_29~np{gYȐez?PM6pi|<#qI𸒹Mcj#2eR=V.g#p3Y&I:# S0Ѧ6}7tp;#raذ48E[70{;ūYm0ssatG9^S92PGY[!6$m{=!xD[uuĩlh{_ j&Uz:rrTJd굪B-3 IaZmmiEsHRInB8)O#xʆF5JH 'OjDU]iYi_Ԥv \j5tjWd-wekЎ,ө7=2)9ALϕ'1iz|0Q*18۸4`h$ _PPlom* ܾsojc0b|oPoOp? m  EMIJ`Kn_aO ``D5 *NV< ŋ1F B  F ZGE".FE2 EF&GLJ!!!apUơa!!a![!!"~!&"vKaP$F$N"%V%^"&f&n"'v'~"(("))"**b&.8b^T\\__bWd!rloH|Y%e ̆q:kJLL L (@ }N יNDR f"D%'b2&* dM ا,mmiIFªJF{Hs,V\clGIfZ-h̩㈢ѻ@p,쏐:ӣ(jFA, h*.a'@`άO(Lx"_n_e{׫J,;.q",2ߴM> ̇~ʱE,Q҄"Ɏ\+\R@TN;B@g$e&bg)Cto{dAb6a$I[&*]@%mzmmnQБ0V2 cCKdBLďsՈ0¸R$ 4iN*DQ$Pj.BQ2D.mBP0CR;n@0O\gѵYjCSrd[Q)`wDNMJG|/:[)|Dc $ CQkPRc*v@#t$+`EFZ7EHo5b6ZnD-,d|)G1L\W\OѬuU[bˆvg;xRM*bQ6M7|"Dcv^3iW䌳PUJ )m霭h1gHRܕU6e{3Q#u?`BOG`ԧJDSSm uQrrkRo``' GQLPH 1&}%]/Bwȃ7]|EQ7,~cI zؑfDAOkP*D.gTSF7.Bu/[8JFTC _3'lvzjhZɷd6RswS_4`t+k#{f^_s8O˕8cyHY)_g jź88F~'#ӣzƬ+Žx2ld|o(yE!|#<FKdƿECmd <_<~0Vl|w h1Swa5oz/gT7B/2/&Q^Co::8yh0@{čոp{/E MxQz8D̹Sxx̰Go @۲ G.B gW: &lkܗ:+}7T.*=YLF܈5̲*ͨw|Y%}DHߚLz͉C-WrB3#B'RcS!cNl7OgohodETo6=,)wă \8 aBbXbD,8 6d@( ! $8(Q@,HGCNHtP  .j9,&DЄ&XLiTS",yeʕU p)&$8UXkru֭ : n^ \! $ȐaHFP@dPVf \X ePsVSO()S̉FS5$OGR(Ui#DliТO]9jPÆ`R#\;{{|겼+ ^0k:`'}wXoQMM@Qb%X)!R"6$jRbi6dA:|uk[S>$ ӏDd;ύ۞Yz`M :`$fYp.])MtX\O%g(pK)Wʄ`:$Q"`R,VHrJܨ4Yhz5K BMxNß*tY2%s ]q;jw>O=BKv2ݡݒH6;^N櫟~|'|O"~s^~įw~_!π&P-`>l\A`SqNRH2IpXL*)`pC!,СcƒV>.a` VҀ€< g09 #U8>)-C]e-lH@N!c%0RF6GEaLLҪ:T"M3UK A2 4 k-b@C6 $`J+c92 mi*trzCtY| TEa$2V)d"oDM`/='IW)b"`:) 3sbB0r)yj2'~\t#YӬiH ^60$2=#$W۔Bk& IA -:ޮ~ XWPx,Ж~LØNarx.M߅VP ȥB:T4ʁNt0L`r3 "uSu*Bz#58#Ii`r: dr.DNe~O>7׵L!bD!`#Ѕ|#TEgh&0 .Vi"H,BےVV}I-+%8H t 'm/X}  Q'H)%IQ<ͰNr('ծWN9kN|J pp:xUljkH=Dۭds-Mںr)M!vM5P| }]Q^6fL@f$ޝZYh;mJ\)\ȅ*5cɍu4E6@]6p`HWqp!] RV9”=\oe\&;_U.dPV"?bP̆юcJ,t `Wn"W/^HWJU{@B ɵD*>S;ocBZF6@Z6]c/yvK7miۋ&cF[~mnxZ,wiWk[ IBk\SAUT6&5|Uh8REq1 ӄwl 0&=1zzO22SZ  \b=:U5<$= zpw|f35Z%#|yj`ע3yʳQe!)k`r{X=E;Wd.#>ȀŕJԸڌ=dDT3Y_<&$aMIQŃ<}zcΕ@fTfl0o=fϠ"`!&2ݝ=ІLiwH4e? 9'"_(|i>QUW m[BBzu wU i1x?=t'+~b 3gZvlGi2C?+p̌:e(K裷X".͖.jU@o~@} 0B jXD0bdnz@d L]".lCgr)2b@<"-#ϥ.7ΆX%\j ITx@fȵv܂BJhL<#eLr"-qPuBnfJG:NBBXlD֥ʂ2 6 .T@KpKoↇF*!x~2O$݂NR*=Yil#ҤCE4c(؅Ҟ2ZP]>*dNT'>bf0 ?"?9"b  m%f&@R^֩/`%i3F*#rfM,d$ffC5P0N4 Ld~ D27?UBt !lcGXL%I>2?:?>@?@A@A4BѭA'B/zC<7C?t$DBGDO?4TbړD;>WQ%( GsTG lf?EtRD.M FGTGH0[:JtDIDt-KTLǔLt ҀI/e ߄CUԂH(o4GKL5 OL9L @Q4`DBNK t S3US7S7 Ks4ATyh "5L9OSkV5OtP G<4̇JMdqr4 4L `VoYZk5 *PߣU!TUȎu-L+5Z\1u @x5ςK0ygB\߃K+ L+ `6`4s[dz[11"*` 4_b/V B TGc gJ.B4G*V/6`^faVfiVb6fb@ v-ԃ3v?NT# &bY62\6fgffqi##]5`]+G<2@aCdC.pV9YCjm ^ j VnWJ h   5M. Thh"_CR[nC vjV`3``6lblN4ϒ5Lm5irW ' V fV @Mע/ p3qh \fvwvieq\C@k==hRJŖQtI'bOWvuhvnVV o@g;5]9k}p 7x'hxxyZvGz\5L@"a{)$Uc e|_f)W sv8~95w{7lע\`Wfv5c׵wn^I ɗy㖀@àvSO~wV8Z8*aXV5} vsv߷o{}w{B@ O6̗e#xD 3"ÍH1 ֆ3j YPϣQCG38eX`]&7U ) <!4Y дuSj.lUbOyyi!Z9o@pYyZH^Lٶ\QtfJC|UOy)91x"*tCҔ&R (9x ZSDd  L`r2V ~ECx"xeq5}WGogSڃ`]v - Ts]&~9eYo oY nG:`m}8<3KL7\58%5S W s ,ZSךc:^;ٰBRpT\Ke#[*V3ǘ笥Yvks4UDNuatz-t ϕy'״O.FjC!~zOÔ]8.ITHXs4mUyu;U 6?GX6]OXT5YGCg4Ju8hR=_7ت5ջkUɛ!rwV]9ZGUK6JuFX[tW/Xu#KŴOAZAH \?8WTcǔ]s\w\'R-1=p nvŏp_* ^^>#+)&3^7%BC^GKI^O[_c^gkw{^臞跽B,^꧞X>^Ǟ^~)S?c\~.}=`3~t#'+#\7;?-^E.TD-.+>,ޥ<,E"f#iD~0LQO@kTG|']YdlDR`-kΊ!Vjb.V$c$R=H"g.54B 8kA b)1"X HP@, &$x`„XK<2bP 3̙4kڼ3Ν<{ 4СTK,#*kC %@փK6Ad]\-bꂩ [DLp{%xL`W1Y.9͜;{ :4MH(}r beIa,X @W( (@S ig]0X^QxaVYۻ?]c5Ȳ`rh˨Eۿ?NzYJ)X}W  vUWQvwUՔF/-ț^b9|QTaT^(I& V_>dBi4U t IeaB pD,Y#IՂfաUXyeND[fURUwp7m 8}<g~ (EԙXu engBĜc5O29)o "JEVneFgފk4'M݅y4UҐcg夲X]\M񖀂oKf#w,DInIyJQ7JJdKJo+QkNm fYH\Dq}! 0P,hj; C1DpJq$0Պo:̳f3e ZD8tJ/Ftԩ+uV_mӄb͵WTw vb卑c'mی3fwvn=ZPÍ@jsU%z|Hww[9_uwފ?ΉGNoHjNy:2.㞏N\QzwC2ܸ ժNVl|| |/h U=g}O̗~臯~k<61fМTHKP{ ' CI( <&(8QAWW6P.ʹS6Ԓ(`:e5a8|' ILWEAEXl@Fm&P?:`dWQS]2nG2W61WO~djDggR[TNO j?MwF[p7uY#W%Q q!kH4[&uNaDubvBU!f iE4h&+//'((Ɂ2DsC)471C%_r-uC'WlJ' )`\Dm4pPU&WXdKE0pbYYH'`kKAKOA4h~t02B`x&ٸ8T0%|%C3 1vC5w/s+ُG iYϢ!x n>U0Y188SIM%FEzBd12|?VSk*ela!Li[YgI4(hO)3$`+jy/z/|' 6r6x)$~y+I/i/9$5 6$(+I/ $Y55 $'i++#45S"IiIɛ雿 jIiǩɜ$% )Ia٩Y2 㙛I牜Yɞi)͉ii,ǂ}šҟ1IX#?YRAsW>A299;S}٠}١٢9yY|r? r2Us=R>ң1|RRFm9:yYrqJZVӤQ;q a0mZ-S%Asai7LDЅdZ`H`F]Z"e)@ pΨ+j20rħsXUsh~ &VqjuzU0Rt_aC !p2JDp LpL7cDc mQ|(V @J}ca!I֪LC!rgJ/+G_[2C8Qw~Ҵ*Q{6-81wM1gYgoXHzP )AuR'Z7p.+)@}`zXXnw3 z@9ZIYAk.w]1$HҥB\rU f =[VNyDGPHlK@{cK`u6|Md/k`B@@8m*T$q&mK+ q[*~MA2e CV=r5h}Qg.8{ѷtTH9qcK4+ L4X 2 Qb()KQ_Kq?j0L7kz|ky׺i;CS WB(P=V4]TD=6dtȺF&Vj4Iqr뤘!gBUf!1Ѵ\k"QD[rtEKtjDva4a|;Y'Ѕ)3ÜS&q s_pq7dl/V7zeû*{wYJ_37Ȅd=\%A], E`S,+:|H(!AanuVqLSKǒbC`ys& Sz, U Ĕj.#u7z lqN]P + ޚK dD_+F;Ɲ;%B\;5QqCS6W|+-M>< 4+K* "(&4( 0'8:2 (446<@FM>-LMr ;.-$HJN}V'B4D}yc!g LQmB+)6HlEȎKPKP,z}N{ֺ#|!'7^i0'ѓ"9o}O{:q!}KTxy#(*SH0Ad{ʩ,@\E l5 L-6|=0+mLzQ5hOImU4AٛAڲ2FeTqX.0sAvsSOmxkY-}Qh6Ugd'\lFܹ8硸ݬ)f42?eLs_T Q*2922RYjD-z(qaKVߑVw Nn8;ֳK+ ͅȍ0FŶ27J -\-.=i9YDeZ86IN]J֓qsaK$\Y,%E E(K7 q{DYD6,]L..3{:y a! 䢁"$eK>hH16 @ZV.>Ѿ؎CVʕ],$.pQ%%б,ĆRa%/+ OUboE~3_j@Դf%L ]*ETxt+x\FRDELPlͷJdX Ѧ jJ'8狞ͣQ@D;p"l);Q'`^]HWT={edО^"! 3QAed1%"+޽A$"@IK~֡"cZQ"BeI="o E^.&Q pܨ_`z⛡a߱$D}:$VC$!M$X\!!n4BYu}wKB$,5v}gֺ؁Gs!K@ DPBTA -^ȐbF=KG%9n4R%Ð#WLĪSLS'JE 4 QM "ujT6qVŪDY;vrjX`{6HmtuOqֵeޔx~L``JV:S*kA\~Я bm8@PきBY!a;nAQܾ BܷkcA{hC "',n Y2冬aJ_ +AgԠfX94  Ad@?d 3&(d@3b`PH 32O%z8Rj+@` JA Mn8!eف$!)@ H`FBpȨ4/M ? r!e b[|1Ɓ>8zTkLI ) \ "[D221:3sI`0`/hh=0>E|W|7h;k5N_ ~"pɩX/p`1Gd1b٢dcu  'BjTTgk ځ M֙0&Š6膁>@b ՁlجUTc@Ava XBHtō]l4t`bF9g^[z<.HɋP/b78s!=W f4HQ}A0 - 򐷼P N#D/aSڂHooE xޗ!qf_^X,0Wju2&= tJY A"@d= pB@&s0aK'_ٔ=EG4ƿGH@W\@D6B@XD s ˸ō># s}Nd-HQC[>fLdgڴC&RĤ&ׁш,Df nA$mi']6P֘*Rڶ|Q #VEsjTl'_fo5Ej[*PcwFQo܁I okwѯ]0vDjW&IKd+YWE,]}g!S5b5_M@IRpR%e&ňuLkºɗcM_ADAƓOqI xI8WQIw"9+FiF8$>wY _g܂X w4/Emk %=Dh6KGϳuBf8-}tFӹ-H$aoRACiVL&[!6ls 3xyS>r#SQN6EQ0['8g7K!wΏ譳_2bb3)ܒ,sX./L#(`>0!>73Tp zax-B[tpۂF% 8]f lċDbZ@%sr iSSs3 @ ]9 9:[䔟Yd~ 7\,)EaeM6Q U>J 6u$H)dJ9I="* Ǡ$x2Dkb<#﨏X8{ڏ z3"s(1ȶ=tK>hA,*;AKxAA"AA[A<šJBB*™ZBlB*\' -\(d)T ype1^*xd+&.3!}ӷ?d«R;;İ%ê1C` Y8/ԙ6@E J0;=K3Ҩߛ& 2:r3B5\&1!r75kF!KuLDlJ ;8=B, 3 !k;GX kAɀ0,fkDf7C8+s{.0[d& C5-t b)z Ȗ)>DDH" `-ҐHLI 5^ȀVG话FPÍ]\!qS;JVC3#-JKI$ h4ڹB0LIHvl"ajiDEŖ$lɨpdI$x([)SYڨQ?dTir1ap#M2;Y`"Bn |#[KzH(;t {IEL9 uO Ć+Tۚ̋}7~.ܡpQ2O Tb9מRԗzȓSWWWW)MװSA\Wd)$ dr¨;Zdiؑ k5ٔ Uٖu9ؚٜٜٟ٘ٙٝٛڠڻ)١5ڣEڤ UڦuڧڗکڪZ#)ZY-Rě!!-Ԉ"`׫e۔ZDqR۹ PjLYjDbڅz }@U'(\µ%m͋.B[?ĝM%+-C H\0( \%6Xuޗء,3 -^EFDp]!L☰4 \^], ^] }N΍ ]u-^3!Ŵ+"Ѭ1@?]/``FFa,ߺ= `΂^a^P\]??E`1n)*b+(^x!V0VxI(26(Pc_E^I~P^ 88(bPdpp 1p@E(^M % XH)MaD>End'X)d~a<ءe%m-dC]DnpeGpdE0!>PR>e/H./@.X1 I^Kn8~96^#y#6ane fVdt^d8[^-ЀlnnY)`dHIn,_n\z<.}?.fn`ChsFhN huhmh$ qߍfduި hgg  (f>PL2\Mf5fsNgnf-=j. iՂpŴ gz}V Rc6anVFgV0hݟ^kn딍^3HeV'Mh&iyfF˪W!Dq@iUfcE^n[J]-)Bf$eۮ2ڄkfzn "`/M%8m4(k4m_Fah~Z1/%^Նa k.H^dnp:%3\J p/ێbDvfxpMM+7 gИl0ii'ϩH0Fqe!a)wQL7܅ !Gn6r^(n6s.R"^M99x?jՀms@#^6wEdC0eij`^d]_eI_D]F(gFuHoj ,M- =pR߹XVLfumd gh MNZ[AB&v 7烆vtG"Wt=^&ۻ Ĕ$nF\vnnlfYɮwaE\ǭuYuM\|ΉLx~"[J%[E\hxu'xvg]~8mĥǕx[_P-\xVguJd5?yߝ^ ݬoz%dݣecgW˕dZ6j.hfS_jdwfitG|IE~{*bƟuO|;PK-PKM%AOEBPS/img/admin078.gif3oGIF89asss??? KKK@@@ث ===rrrggg>>>~~~ﺺeeeBBBIIIPPP}}}<<<񼼼vvvĽxxxkkkyyyÂѷ)))###111]]]hhh{{{ٙ///ӗGGGcccVVV^^^AAA444⹹666lllzzz탃|||ϓFFF...CCCooo""" WWWtttiiifff;;;,,,LLL!!!jjj%%%YYYMMMЦUUUZZZRRR:::___wwwɡ&&&qqq333$$$DDD888555999·\\\mmm+++''' XXXHHHEEEpppۥ000 dddJJJSSSuuu*** ---222(((bbbaaannn[[[NNNOOO```777QQQTTT!, H*\ȰÇ Hŋ3jȱǏEIɓ(S\ɲ%Bm.ȜI͛8sɳg6\ JѣHG AJJՖKjmuׯ`*6lײhӪ]+,[PEݻDm _{ Pep Opʾ k#sJ 7h tB筸*ga#* ,0DiH HSn0. [c+'1e Qj猹+oa*4k q@n'q C$Q?h1f#>@O.CkqAel( pT@ $K/Z?Kr4c2LP!D̡0 #/T2dˋcAAtq%YE%&4?m wA& N !37w Mg;4V~>R ?ZHcn{]ߖB<)(R5tJ' 7}OA!?g0Adʃs/( {k{B|p?*r}pRmO@0d~2 | 0h~t T,qV ^E!$< hD8øGJBphch?&kTDH D6,@ A`\ء>M+HD&j(qV#ExUlAB`TUj 6 c 0F11?p#QTF"QHsLeZC Ch }(*)KBq=T%e.*)V"ĕ r|,җXb1~d:̃i" b%7 ]}9J`ΡoJ; BX)i8p@fa GH K|J&GYhAD:! ^@av&LE06LQ:q'q)L*ITͪJ'j%᪍ ֲ>D5"Yj/NlkAJ#P0{Ȁ`KMb6v}dsyXvͬf7z hG ډ(sVlgKͭmw@ӦVnp9@Mr:ͭocZͮvzt;Y٘Mz5,K] /~y7ѣoj-; r [8.a7 #7C00-6B Hy(ɀ+j,u@.H'c"0Ijl ,E\d\`YID `6Q/ITP T9p~_ <@ iCIZ< aA-XDG26А.H$0"-FxH!Bf`@`b$ȈX {dD 5Eq@Ciqsαbc"q(>x(DmH\9DAbov 0[ك ( G+=7E;7H R2g8dw+0$@J>pp8I {$ ?qGc?<%:ٟ8Wڏ"xϻ1ܾq$Ox?Z'O[ϼ7G^ GrϛO P-4%Bw{OO;zOr[TROOK@?I /HZUqZZevD.VU J GU}UhHE(W8U8U!S#GW'R)XE+V-P/%S3P5(B1V9N;B=hV?NA>CXVELG>I(7SPKLM;OUWJY;Q wU  kv ll؆npr8tȆuzpQQ |(900wj0x8~q ؉( Pr0ȉr'c8rPPX8`x؊(P,8XxؘH p8XH) xX1J`iqDQHLNiPUt Y.t LcJJ ǤrDpL#rq) FP,1F` $$U+q ,.H9U?I#` @~EUP`D*]OВ&Ѡ~-` 9 p Mp رzp &X ZQ [1# f  ,SG s8 >3) l &/ 4?3` C0 p0MA`v9:$:f=f@+ - ~qYr𞘹@  ZPHs`eJ c  Qg Tʫ&*S 'e0CU@ -P bFH Th' G# ,p&oP@/{lK@` !;񩮑x2 4k"a`  gPox@ Y:[+" m0FT WDDЖ{Ϲz)D0 ) kШPP ;K<UehZE `0WoHSI dPT3O00 ;+2@p EP>z :p >k˳E) ) pp lHRFPAQ! 1 X  '1+]H2%3 zVCZ@b8 p0`pu# A8QSRZ C؁ c 0 bl 33\Qcj -pрPQA Af 0 Gb{dPFDQ|yN0@ W 0h0rB Z,{BِI08zfc &^ KQ )cȠ,"X$SA.aI bc`k й 0 l0l ðK6lm@Ѝjj̡)p^DՖ -p) =W;=k.a2(:<V!#dՈj_Ԁ -1.xV0Em p`QO&,]T8aau).RnM8PVVP՜H H+R?@A0 `2Ѻ BTq7٦ az^,&2@Q3`z*5 AS`p"3 M;``Ϲ}`΀fPd!9` jh@k@6 [ q& * d߉* -o ^@)Q@]e01M2i aa+ ` A N@p1'(^ l @02@ H5 M)x`51]᾽jؠp8fOP S0 p4 EtMK9P %l@ @-@ PB &4L1[ &8I0Q=`j+q6]֟ @4 p 00 Q NФ&㚩p Sr `0#D0@ >+@uf8@> MV,a & $  _  pn ۊ.@ $ bB? *pjpc`0ftnjxa%#H0% _ @٠a-27P cKfP Pn^а m Z$ZfS<l64M[F_8PƂznuqŋ]~$X#JF*|=BhcF#`";U%K*9di^[oJ0N~<@A%!W'Ú+\T` 2( HaР)} b"B{h2 B&B1 P$А # yh0΀d :yh@*ȉu|_62$)01Pz !  n y(hWr,qza&⡙dgĖ!/T/ɂؠ h0ֲ&ZBaj@(p"vQԊ?rɁCA ]zSK34pL !;iH2 %ax L5-^4"BBR` ېYX0&ڀ4>x"ExVۇfdPe(' IvCnpxȈzRP HDQnBdgܡRAs$S7lWIlIGDHggU$$sDdU"q$$ĺ+b'.!'TasϞQRh<#,;x i>܎"jbáo6qNH r"i=!EÎV#f 2SzȉI;N)(C2A ;Oq`w}cB9봢!&k?=P&xAn"AzYMH/$;a @) exp8 yB?tEO>~t# Ibt3MJtCQ2>uSMUV~ucYO>us ]&uaJ>v e2~va@>DCEr:-0Agr-٦#x] ";z$l=r2 <o1791p@8q#[`sV&Gyp?bg+HȔaOk CV@~C8e~_Ep @@?X+@l@?@ @ @ @@@ A$=LA\AlAś tAAdA4A52!2 A($j2 #& %&,*<2ЁB3.#,ı-3 2x/$`6|5xhp> o B(pr:pDλPC>zC5 >Hl*V/('r E 0jD!9FYF"3t UdEWE*EHyHXRrx#G pKDz[7(@ v,p߀G `E`\ pQ Cpm E(%0(su$ sdžzl d)( HDH\ȋAGs fܟ*pʀHryI|ǦsxGz ɤG2ǂp:qpApI0ITJƠ5,(Kp kP">&7(z;8-PIxkKAJPTx&IVp¼$*0P2/AM'`LPEB4x! XKK.@P[4L PL+'؂I089 ,8>PB|@( H-hhOLPl=\dnj,Ô "Pk9CY|͵DE<0=c(9Ap,h %4i=)xX6P88A( `R%0S$ІJ\T]7X}Q'rA,P(T0 zR/S1%S3}R3p Rԉa_9a "=$]&}(҂S -J 8cAM5mS!.  &Ӹ@$xr  ]PH x++2HwЁvp(_ m 387!8 #0³,tUWvw$a4|xG! DȄ(Fh`@φMSYXQ=xՇ0-p0=V<|~ ؁-؃Mح%`AXqeKP; V(= ȍ4HdW5 ,XO4:[( (!6p?X3ڣÕS`ax]\hȂu`5=Z蹦h] ؄ݰ[Z ݂]PvZ:"P܇h?]88ZHeh@݈ -=x]0\(Vݚ(F(qX`dD .[ni ]8a'%h}m`)R̆qZ,Ѡ l> 3hGhaȩY@`p'x\x\ +0b$&%fbxӠ@ڕfl p%XEG^xNaa^~vZRB6c(f)v r} (/Px8M@UZȀ6&i  SpS0 hP]u b&3xPx)J*ã⒃ӊg|e@@_fabf`a@gfifHGa4pK00JxP°unwy Hyt[]n'0Z@[Qofkfmfo炸;G @(ȁyh{}eEX-FpjQqimOO!X:9P(8zNBX & P@-h =kXl΂F(hlþ8쇐b8Ȃ$NjF,~븾9lfgX];!HeN@P`]:8S5o8Gވ^]Y Dk Hn!Y  p g2`  /Vf /qk VF qr6QsE*+ C&00   x@+>>?? ~NĊ 8ǎtRt>>p@ 8GIt@/9sI$Y49O0u>Ht v; p+vAF s߹I@iӉ7385Y XPm0yU0w4h\Y+r?Ѕ|#|&^VN9|uH8_x?w=ЃysWg?( HGЄR`wZs?0T@yAw7x|dM# pOPDyu~58hx: geL Xx84(ѿ?L:{H׀Oޫ{&W8('@/)$XЀ݁ p |˟_?pH{&aWpnz{fg|Gr|;6-${s}XK $ JXL__ F($.:8`8L4(„ 2l0#93 5QA!DŽMI3!ʔ ,a/!JcB66#aQX)Mu&T"Ⴣ9` _ դWLH@ e'NLuKa!4M" !ᇃ7!e JP'8VQ?9B>rks`YaG/"?p_&sh"fwn `fݦQ?1[+OQ6hBT#/l|yP3Ls#P`BܺG-{eZQ$  ^]D8^8BI7!4PT!Kذ'A&qT4 % Do5N=5K@=z @'bI7,HEz qL*4< !? D.AW}א  REDFe@ЙID56%٣\$tiB#s HBGBLEogcFljMw&) /=8BB,Wy>;.S& ,LbInOL^",l5Tw>yBcp1c.F Dq8BAƈ!Ʉ)X|;ITDb/2؏W'\j/ř,@.f" 168G(G`6bZ2@C&&04#l<Gc"G1aHb=PI8$BX +j MnuFs^OCs! `%C.vIRDJY*ɿwXBJb|2,,%*#799ꤜY:)I\%,{IK[ Y.L. 2qIh)Q5{g37kf2&CiNTs&JVs!7O'@*Ё=(B*q }(D#*щ'E3эJtHAꏑ&=)JSҕ.}ID!)Lsӝ%ł8ԧF=*Rw*Ӳ8)PT*թRV*Vխr_KT}hۡlx(h󎭗yꡀo{;Ls#W, VP/u΂7H^w1܀c@iV ~,7HsB5Ck❎&t@ P2GNC/-R hB;&p&fBv5 hcM @b3H@~ A~ z8@- /A@A< C^P-!;APmDK 'A ?( ~P!H\ dL-q Np$JqrGH }|AV≅ d#H4fqe#` qK  >x.@ h I(<@ e=iJQ1 8e8Krғe! pxJORp.eT,?~ 3yMZzS (% Q^әePK#R':y$*cY *@Pҕ_I)F%jIjR==3^ C3PPhYJF|dMuZB" u92ǣBLSդNuTb!* Bi)Ր\XӪ򴎒*VP#jJl^6(+ :W*嬛# v,%Mpv&;Y >_$Īڛ6|b[WCv5!0B^v%pu;.R5nasZے8[隑un\g\BXoE(uUyӛ7{%]HUPl&J꯲.D.AthˎCDUea xp?lE&6D|XE(ˆ+_"u#ĪFX9p͋!\V/<%o8ɒT0U 㸨]u00$l@+YRv"'$\?kɌ:+̵%V.Yݰ2ua#U?UZd!?ʌP*KI7ҐNl-]e,gYv;R_y@6D|&^S꫎ jL&ʼnxCbsps|gf M+@7t#|[Gdۂl0w6wu  ;n56!mzfkS]yKi ^=~/S';żىi>\/7#,oJ*,9s[рOs_ֱwy=0vpyatrFjhMb>Cnzү]ug7f.=Aj^19r/̸~I~F^]è#&AAt>8}7:vp/kZO,/nӷ !txUw~"GgD;,rCG̗.>Gi}~2aH~a{;{az xuup'{`'xVqX\~~0~W~ׂgyy(~ޗvhvJy8arwtwB7IWxFzń vu{_u{.iWvw*sW8'փWUF7XD_w7džXx&X炃,hagxhgmmyat7 wi'qXň%׈.G؆zzz8ȉ'zNjr'~ĘXxH)W(jڷs؋p(&bw}($jpgNȀWdX?6zw0i؁]`ȋx|Rb8wۘ̈+H~r}؈lx IC ) x680z&?%\z^uQjXk|gGpx'h$iEzXWD Ֆi?#")SIhircƕkvmuuoI{fq䍿ŗ5qipJXPtaŅn~9x ɋI|m5Zx#9Ȉgh .qE)VKfPRzInɕixu-9.i4YȏZsxd=ٜ&y ٕdyY9쉔觚iirhu ISfHxȓ}؎x&ۇ/銻|Wǡ aṢF ^ِ􉠧')YawY;ʖ=:DnyFZƋ? u'JB:?}YZ|xzii]C6ȦWz3ʛ0%yiCIWɊ{ZuXtYٝ}jP>ɒ\yThU J j ̩ IXSso:}%ʔ(wGآ t*Z9뷟zxh!ȕʣڠ0:L*\*_Zi xɉ&ڄʧΉ?ح("Nj:확nʧ1*q 1Jxʕ̗aʍ:(#Z{䊑 wȝ ojjک{Jzڦ7*JU˨rw ?kPKyTk$˯YR'+r*a6ٲh.{{dX;sJr맀N b}KS[x;>EʵY;볍; D۟XUoڥŹ\7؉`1٤ t +s&KTK;o9.:[@ۼ?[kȋp؛ڻK份[ [;[ۻ˽;k{#<+p l",@"`'#,1,%`)3\@,:KE%CKM K%7\ b.p+70+pph<0,׫p<"@` Z -i$ % ɔ&$0[%ɔ "`Ɓl| `%L 0 '#P||\'< "l464ɣϡ&ϭ/fLm r  } 0!l [Ɋ[. * l\6}849>;B}A=F]FmԓK-MP 2 ?MTm>U9^/am/Lem4i 0Sr=t]v}xz|~׀؂=؄]؆}؈؊،؎ْؐ=ٔ]ٖ}ٜ٘ٚٞ٠ڢ=ڤ]ڦ C`ڬڮڰ۲=۴]۶}۶}ڟ`۾=]}ȝʝܺ =/ܜBҝ .}ݖ= }.ސP-ފ"}-]߄ 0^>a$)]Jp .) ^ P6rgP0~b>_o!4B--J@JL0I-JC3 0 $sMn` *#Zk `0 Z'R#R)[^`.,NPS"|"Abx1Yn2PRMa57P 0)m^" Y7Au~wް ` p@P & @0P}w:$  m1^)mn 4]骺$ y! .P##kC P$ ޵'lo5P0$@hQK {7f~F*Y !GN .$. Q 0] h M?Q.[+楺"NP_!In@8Ux\兰 en]g X)+ *RY*#*"xOjl/Z/a'"q$ B/Qo]y5GBGB$1OJ  "So^.b [ 1X#A%*p A@]>I D! PPPPPP ĊP Օ٘ڬ ϵP ń60@B}mW  Z"'ŋ3j)F? :@<`A(BElBJ 6Citb ӧPh$F:*Uծ`Êk+nZq% ,۷puK҃gNe߿n7`O+^XS[h6xˀ+[ *-d̔*M:fJ|9yUQְcC=mˢe͍9ɭsNoG5ٖ-KQQRPnгC?^jË]Kcvy(w޾~o?}p&Rz߁% N4ރfx~ Z`j1a(yη_0nm-Zb8"ݘl(iX顏G69یڇNV5.Y\$vba'vi(IfY"gۗħf[iWp:"gf&]m}gL"&XbVIyRgwbvh]F*fIꝊ9ev驓nkIdފ맊"꫙[k UR(ZiImN@&rki^[.Ӣhji>Jo,ZA8W 4h&cn`$?A(2 pRA<| 3J`DLHoEh`D\wu#AUL5g ng t{]sם+|8ޞދG~_rcnvt砇.褗n騧z8.n{ ;PKio<-(PKM%AOEBPS/img/cncpt253.gif6GIF89a???@@@333rrr<<*ҴfffxxUЙ000999``` ///pppPPPooo___LLLOOOÊҕ&&&j -- `uiiJZZ@KK5555<<< YYY캺򝝝iiiէlll:::|||444yyyUUU,,,)))777!,\[[ÂʗٝHb*$Ç[H`È3j5Gy7I2TǏ(,ɲ%ɓ)c&[鲦M0eEϟr ѣ]ӧ2:'ԫX9RZ4ׯZ ٳhӪ]˶۷m} F˷߿ LXw+UAǐ#KL˘3WrŠ4ӨSqװGS*ۛ;쪦q Z  3oIKNY,oHѩn;>w__;.};F?/jه߀6Ip%xyd  Vu5fᇖ1( $F4! "D'(8)`@p0 `䑒9Z4 `]i;C Gd (EZY!%dyMVkyȦ4宑يNjk۫tf*m[v 5\.** j #֫+VdKp̠d1 &ȩ4c6Eʪ|r|)3̧x1[2/#|Ќ3q9F҉}4ͅ%=\s4ֶi]UT jbCGfZtn/rMwݙ^D7kw' 8˂~aRrO~.n8ޥ|/o'|NWo=̳_L/? rBUJ;OH!"$ x$Pb`@GG- GH(L QXpU* gH.|&@ H"H$bkYn'FQ7 y3!(D IHp-Q,R8@   < c# &\\/y DN ȑ0)PS28aB#.0brMF׿ ܑ Z,'. t/ +dB*#20D'JъRԚq4]IRmfD`eb&( 8XJt@"jt `ZQ9t)P5s )!*PB rU*<@U 8Zp\:P R&?0SW(!HpL.RD]X8>4U $nl$%+{b,IIԪXuE@A  bb9Iҕc_LKXV \YՏ@E&"NvTMU :/⵮e 2`@< @ *.l6ZXzJ±Ԯt+`S1sNV <hv '$# xmjUw%x/M\^- %B20Kjo6]!qX7:\(!<9*Sv27>ɸԣFTO5cYھ6lS^+諊ԲPxLAZ8%@GR @b\3لc@ ;RZ #O9zꅷsd#?IhB3\*F\bjM^X@<r@"]xx5A P.ƻ39$kU$(pq༁],ژ|vQSmZ`Z@ h跞[Vi(:4&QpVD-1oT&J;j!Ueȷ Uo3$A;ɀZ7Qnt|#EJrF$aR6(nmG-2ȹI`Y=EJ#&a<&6$  vʂ ,)X xLnSȖ/=U Ѫ$-.AP3`6yX<n6Y Ei AF@V.PAT@cHAXvP%xJ(Zps5dH|f%]N;~/:\UcJR-fS;Z`) M&R!v$dry%G0SJw@G& U.ag n*`~kĕLP$U\n>(Zo'3e&dUH9SQ|vJ|QveV `HPU`zpxzb%~Uu&^ׅ@-ZW:!pm&o\g_c^Z,0v^eTjlHn(XV,f~-vև4mk4Qp^)o'V0m0o0mJ}Wn@ƇmAm p  |,x([ӌ(X؍$xPhG1!%@v؏)[861dC  tθ >y3>'v@ ã6ȑ=")Iih'I* ɒޘAE6; #>9A@81 TF)!Hy@JѓM O S UiY [ɕAq aؐfy5D9$Q7 )pr9tYvyxv)EYĖ(.3XTF~Y,q"8Y hSj3?ᘈYyVcq7陦#y037Yi+{.P3I9i *:1 )R%6 % @)Y.06P76Y4Л-dReZ@5ٝ6R-.˙+NB0",*8@44I:!*Y& y%rZp)6}*i"+fr4d&9 o)*y)0Z)N*d 8㢷?I+i049yP /J{ᥪrU 0`a1 %ֹ/ 2gj"i*ӣBfj<)tz2P.М&J%ɨa2R ",-*5$B)ٹQ8*OʜJ.٠YP:A q-Z YRJ)1'z.O)r-+NRѬ+ɠ';|үI0*"J)[ʛbLB8J +b9$Z'k_-y-$lZ&r**ʮZy-" -2QKrӮ1+$3+9Pʛ2ZUb{ EF;HIb^"JJ]{cek`2x*{l.P9)bkqjR[" X)AK 9/{Gٺck7{}ӹp뻃ڧK#[țû.k>QQ5ڻ۽;Kֻ 껾k" U{ۿHм2yCK̊ l|ǣ;>w  F "<$\&|('LF*S.40L2<ÔT1Kq<|U>A, ^9STĄg :NPRƢ\Qkn7 4J sT,'`$Q7|5&Ge/X$0\G0R sxqcEjeA*Kfw lFNDw]LeNpy5̶̃\j pY5GK̂Ga`@XdK PMD[\,UTm,J,]s%GUOЧX RZrX<{le3dHJ'@IcQʇ`WSDȅu z\%~ }~ MAFZ(UFؗQffO8{n[eb7_@dK\`y \?fa$OL%G<ԵRSLۺ-G4eLQwJ'Xnnz[wP^f{^  x+GէԣtLW4SMI}ׂK~e-GFGv]R=`lơ`bWv_~$h~!@ cc`n)~Ԉ kWi\xG_O]KqإϐF$ yuy{˱3O-D.iLI~ xMVexَ\9^{с&Vu  1^-Hb# eHwnG `ɉŌGۣvKCϠP Knb_=0qF^Z/(clvh .\x"g>b0'.JJ  H@,wf{^G,@b`ɷ.ˢ@J~T@JH@x?|_tt&vU犤sR?adN J{n> ?ʺHJEۍѽQ PH}5TzH5TI/h؜ʪٹɂ@̈́pmJ1JDKyuu̪o+wQ>em'R OCF."UtJzзw Gi?|aluDGGTCjD]OjQؤM0NwЎL}yJH^ ~EWڮ5Xl]Uq-7^vuSUusT^ͩDie|G Piv_ \}\& $\ Z [Z\Z,)Z\Z%\(Z*\Z!!*Z '& Z$\ Z\\D/ 0g<!H 0`D @FHD}D0QqҺK&.Ttϟ@ ]ʜsVeD_l-(А⪳ZU`*=]NrGi :h "@ܽ(P0}9!PA|EuG }HةCN'LpM7驾r۸s>7-\ӌp.!4͊+2. V.K~ 7C DtI' -B> vϔ|PPN=Kf&IQޕR@@8ThqvbA1S[ܽ96K $P8+:*a2$~XW.֕ː][":2p€ @;i@1e-?dBj@3x D $fGe*Vhj衈&ړkf&*m6'd@@RzLZ#\=諰*``TG(+:k*LS/jVkmɶAk6(k."u)Ƌ[n+/yN{+ {okݭ,G\½1JRb0$G ,0,8#F pDmH'L7mtTƳw\w`-\hn9Ypvmݩ\[r]ބq)!7G.W.yR9ވ砃>y訧~.磻nİϮf;ǹ.,n<'|7p[Wogw=·/*l.֒_oZX@GuYH:')zܗ*j L W@&aPڰ" w+@d`"v 8Ĕ3Dx&P̢դH.Њ8z#Fp͘:q̣(;6xc?2($ ) 1Hd @f4@,$G I>ZhPD@9LJb] 0  Ap;/@YP&6e@XӕlZf )8-p20 h@U 0*SY- '+cOrA+ KV~0HD=N ́t4 ue?de,k0LR D_ȉڱ h@- :NӔrS ܧJS8,Ԧ8UG@ ѥꔗԂAgIo ljMƨ*6r^S6guF_qPO>Ԝc+. OY 1>W:8X)buu F'x6ZKNq-iKJly*R%.$}{\։]qۨ,d.uW\QesN7]ny^ֺt\/{%Wdlo}80/,W$px`\ [%C 1sr+@P0gL/&CzL>\&;ykGo'[Q^㔋yuk2P\6f4k3ilB8Zs >GTuSf@zm \$_ $DJ[Ҙδ7Nkڅ*45G> ԙJ 1T_Wի:|FV>6 as,V'䈴Mj[ζm2?$% 9.]G0v $ySLAuNOpsc 7Fnx#)rk*Nrlt. o֦!>t\c!Q nӨTOPNF# O\T*'`f C,I,wQ wBb5B 4k`П]HR`pΖ\JauNiJrO׵xw]{WO&^q-\\z\ȹ^>z<";86Di(9BX~r72ڇǻ>vD:W?7 cA)/%$Q/ճ~0M6yMoA`NK?GϿi`]|G 6pŲxY}zm ؀~ -Vmz4&x(*,؂.( SeA*2 weaBq"g~3.PRh?`}-0hc1p! P"PBwe ` G*WⅻVxxy>`G u6 HRJb PAyO2"Y7qM t(((;+ #}XGqG!7 )qQu 0.02;4[6{8k0z6{x)`psYh9*hGҡnҮ@8IZ\۵^`b;d뵵=@ ! TW2 q  ͒udaʉ@BU8`$@X2o w;C2$ +x'  )VStvȸlK' sq)Bi& W{C;h:Arّ$C NY;XDL8#Nj R9pxz+%P;K۽53˯5YA(]anr8- K!B {];ۿcIAq0L<; %\2&\UȽ!#,;u'ʃ) &2 '@vh7lex('d"q 0\  _B P-!1&PZ Zh|Z@0 #I0L q m@&`Q`` m͘`$p -<&xvq :uC; AHq^\N ;\͓? ќ0s?@ p) p @A áϗtG6)TgKZл ȊL_\ Ż6p`,P  uA`#pn4| ,vrI༇ |z# P}C ZEHU= :Ya|`-`_0 `'@u& ~ʣ-"$`¨p+\ } xE *@\D<gTSRl +١>ׇ0"0 0*Ջ  0ߝ۫ Ӡ "ד> ur{ b؇ZK82rVi%@1\ڽ@0\ Z,dEA,ޟ#޶%rs!I! srʜ fP׍@}YL5@ K$KWUEdzeApJA|ѬI|?Xp(BF.DH^TDPbWYWYT\Y2..rY@,[q~g2eV2u$MOYeE?,Rd+P~ꨎ& n eCSn KHŵ5ѩ>^!`} -˝nތ.pnfAؽ@؍QI6`R<%W-저G"{b q[ Ϣٮr.S+CTuY u4V6G>PO,Y,mIr ~ U1,L;; A <P\'!.NL';N%2#9[?,]VXZ\^` 䦜nk-R D_B]f9-4Z.s-{nh"2x|V݁(_^qg*!P ax ьpVkOͺv?RHo([GFսo 30jBA!(\ `n/O "RʃOTt@Z [A\Z(ZZ)Z!\\(Zşȓ/-YZ ы>+Z-=Z\x)2RC.6H)D #fGJ˚9r(S&9|@.Ǜ8s&w,@XHǐ0:3ӧZ{FjӆRhGV۷([KUx7ﰢ}K-ÈɥJ]#Kwrֿg-oXĠ/Ӂ+ƉH{MhLU#cU.X󜪟 .d≎'mӋ.ν}qSЍ>'3Z(h7lY~b Vh2` h(,(Fh%O@nC"9L6PF)TR]\fA`)TI$l&WV]Yɗo\k)OƙԜv&: 6JhgqJH`饘f馜v駠va*j*Npꪬ꫰*무Zg뮼&Rk*k,v 6{%Vkf"ZaϮ@'見䶫+dkl+\0UWoӿ'|7p=+,q" ?lŞD<cǖhlɑS>߃'w+/};6gapgIS߼Ɇo~u+];/?ooVfXG@^*Qs@rkZB" :,r%9JVB%7 4uNw$Mb4Tte*#Ё̥.w^ 0OgL2f:t-5h'̦6nz 7jMCQ96t2k,;xV3O)iT8O4-,T?c( шÀE鑁x0 Vf0T@~$6@JhH$v1IO겔N⧑@@S- * / U-!݅*H NZթfbD=QE l~4Z`A 4- (<Ԍ,F D5a`UPn`|k^5ִlF B(@T7PYT$)$2R$ (@ېў5UFUIdD E6;؝vF tŦL/Qb @jRKUŖ",) J <*CS Zh/F:r!.n1r!B)Rp h*Srp-B,H N} #@ K@" a `〤 qXZb7o@d)KLn2|(K_TbXrfՅ8`.6X.g {_J"@RQNGN=6k״\ 5." 3jJcYZ`/.|(Mi\FTYt9HŅjk\X5](~hr<( |YN@Wx 92f-X,'G9T,&OEn|x~t; =>>\ad ~΅Xaf溺ڋ޾?EIwwwr|~~~%')񜜜B@A㍍ǣrwz888GLOKORQPP^^^GEFbgj$"##!"sss333䏎)'(ǁ"$$闡  !, H*\ȰC$ŋ3jȱǏ CI`<\ɲ˗0cʜ9dJ8sɳO6UJѣH9QKҧPJJիXjʵׯ`ÊKٳhӪ]˶%*u#QL-yxg=Pן%p*^쳒JK:?2K<1(F,q1<GE ʖ+Fr1d#P/zYJuk(.hьH9sQkڒAy+_R%[bovY'WĒ?~wm cGxzwOiJBYS]*t P&V?5 &"l+.hc[}gYxbfeXEaDu裆 ?t)"7V֓r'w瑑YTS-Db4X@bh6ϛY|dxI&fM&,Q m'Tމ}^:dE`\ul9ցw6t dd5A}]A \j+k&W&F[RVk7] Qz ׊KО6dWk,l2oFADG,Wlgw ,EA,0,4l8tCn[sWz+Tzn;8=>$o}G$&cA}Ǔ?*K?hӏ s+' k=e+&"#@$)}N?* CG>%|7Hhc+c_?"rvZD" !9XY* ’aHhX%M G~ѳPJV"Epf^h"$@|B_@5Ft"@E>H/.#;,7c*@r0QN>$zφ<U&B< ZH|DxU@ G h%^9X6O 6fkfshw͂|3[7wtj];IϥųJۣe=Y{ވ'?3(Az3.Q(C'*3*(E72n(G9QJmVRxt m$F)8ͩNwӞ@ PjS7t+wRz36ZPTJժZXͪVծz` }&Sw@P% !?cdl'߅L8@{8 ݠJh XhBނ 0.C` ch 7&pA`o@N+6G`aN@t9Λʐ#7-V:Xr"aw8I`p`.:D&](l!Qv+DoU" 2V{z ,C& - ll 1 4պFu %2[HBdj(DjW [(BZ=w8 DCaj_;p./"ʶygf-c.OsG^iTߠ?a Hdf|:aWO{:,v{mBPO>u]V"6|sx>bCG`5jVpnqoR_>VeQn>Ruf6wC i[˶YW[.v @Ps|ageB>]W<8fE]dPcAV]UcfqJydP@iCj6@]7cQhI`whG6'3w5'Iv7x\9xZ[1QVp6(_vyR'W8[jH@3Ɗ"x/H3yaø8؋:HGnj(z8I؃2spXx蘎긎؎8ꈍϨ(<8>9Yy ِYȈИܸn-ّ  j׊ɥ}h72Z0294Y6y8:<ٓ>1Hg,ո@PR9TiBD ʵ+ӒNY`b9OyYiƕdٖndiĘzJՏ. 8YU|)> U?) QrSwli5RbɓٓYQYNx9PQ} P 4yP 0 ٚ0 (Y;ٙ1smԸLi)  @ 6"Q ٞ0iٞ@ 6 Ω݉i 390 0Qi QПi j `jC9X) Jє1 řiyY2$ЗG Y04Yq/؍H>@jGJ`(P jzE:m IpX*ZJ\2 92b U iT*鞞Q`ڤQ( :0YfGFiѠf*%y l*sJٗJ" Оٚ**Q^'IKe*0Yv:0:ړP*XIؘߚ8ٟ(P6yfxʝ ۖ,«:iƸԨ {Y +$ 2;+ -'ة &;@K5;7["[%J4N;*[z ѴOTjZzXۣ1˵h^[_:~Xi[9Zzdd۳L{v;:Ey'zKIt*˓iSiZrK;Q(1Mc렗+%[]a<`bi6ŻXںJRTM븸+Q +%˺7Egٶ'i;tn9JR*>ⓨ+k|;:{;# ">IJڸfۼ1y!mɯ; ֿ j̤񪦒 z!KVQ6-{S'%^,jHqsX @ðC,78*ٽ3 j\? RpoE\6K,|íC`2prܓ<ȅ<;LF\xzl%(ǣO({q Lz)uvLlJ::촟,` .ǀLPŪKɃ KS붵P\U09m̮̱Č<ȬSYQjƲ#|ܱL"~Ό [\ÓO%=N,܌lW4%!lХI=+=ɻE }}M O=Q-S-UML.'3ɯlQ<) @Ml+=) |л2,ps um_[̶z͓ ͚л 鼓MO%UVпU<}Njm͍}5]7=̓QP|s :֨;ڃ+ۈt져κ=4 ]mmy0],UԎM=-՝/-3Щǫ--᭿Zܷޥ- Ѽ- <$ ԍ- -[   y>M׼>,N#~MQy/~Pw]˙sD֘҆}>qL@i= a)˔ ߻H VX)^NR/Te~g@@~}⪜ժ=O@U,sNuw+~d<`nh~3 ]ۡ%Kl@ L>v\duvm| M>n謎议Ж ʹ9=xn9-iA-lW:1쬻m)b]zڞ3~NnپFn}Nޝ̒~mĞ*/Ůљ^3eZN/?ʍ:.i(O13Sn~~3Ȏn>@o aGIO68On~Z}7^0Pؾi~hobf&\^q!-;{jyϵsiAn󎿵 -ow_yʘ[__mo/χTTO?Y/te_I?_5ֿnxn#OӪ?9yV?_0 E$XE,>|X?Bm|G!?8E)UdK1eΌH9r-:PQ\갊QcXaĉ,3+I%[ً6'˟A5ҹO힥p.֖[9 6^ĉUKX'O@],U XA>i6ES,tB3φueݏXɕ]]-d' <$mĻP+*v?V=<ܹϟ =;wP"B1,D³ TZOc}$o.2* qkiFm|;#{h7ŠF躋¢/E(I+c,3C2Y %M+UJq/Q(‚2T"+pQ<;(<"+‚0t;*3 2% .2+P1UJLXM} S,h2*f6U\G t "H6-But6Cat6) w &Ibnt.]>3Ma+V% Jx@(PkG㌗يUWUUvq"wk 5v*` O'QdN4U8৛iByJu{#>)[%,AIPB ]&4aJJ!\E@#+mXz%Zd OO +C%5!9 Jja! ͸QPXe)tq#B2QhIZH6 GIZ8,hFm($s~C#Yd)摹{IVՋ4N&>("%V(L,Ӭ.ٓا Y걒|3M7W#'QR%X@@HG,Q0Ur%Ғ %6qp{/IrA@\X B ESxu|'Jxw4Cm%&?H5UAMdЊ'.ygu@$GXRlԎ)jTw4`=//VӃ?ejF̦l©B^ةjƣ da+_9G ,&xbpK1|zUge~~k=Ow52_$˲ŰY$ch]!Slh@Z1n͖EYn>tR<{ZϠCjPbUt4UN˖-uTl\D䵜EdWf^t]YVeK+d5xml嶚3缍/\|4[֚?sc=O{6[nέ& |+UO<юiZ#W\3ym^ )7y}N&&W4BoStG]Szգsg][zťmnk/ h7%Q`{]s{>`8ܰ{4BސM= ̸{󞨽^BYc$ssc?1(@<@L@dfP@4+ɘ,t@ˀd A;9 ?뽳s76A/c lADAA@ˀA’;@:Du˭zAT#¹HDI!AA)l ?  *+L46YC% @2ARHR B,|C~BN¡CC<@34L95\hC D:AB2C> Gt:Hd32CD66{sTLEU\EVlEWTE?WETTxBEZW?Eaw 34:T9QLDRwhFiFjFiLKkFp:nppkFqlGw4cDHe<EwjG}FoGrLsF~ǂ H;+z>s›>8HHH@@IH2PD.8Ɏ$)0ɑtIIEA$+A Kqrr +Ie&=JhM˾'< $΄Cɠt,ۜD ,MtMdLBz$MHN$hN2 dN)`9Hܻd\̤=X[[[[\ӭȝ܏3P#5ӭ]@QpWH׏}Jא[%U]^H_%ր^Kٕ\^C};߅uy-ސ%DiY21T\4:% :4^}_]=]w@?>tE`u2`]aߣp_u͚C]ƭ͉ `_(Rav)P;` ; :U>a``\II 9U)^T]*b+b,b-]X"H'ff 4@P#Ɖ2cUB& +c=c>c?c+4cc쵃7 EF%^If 40YZa-.dPeQQ~ eU^Ov"eY!Ye\e]e^ފX'abG_`fnfg~fhfi-4X]RmFȕfb>:c3d)h1u^gvngw~gxgxl扟g}afg)e>h^nqVrΚsV<hhh7g-\mfh4^p!@h@8j0  H("p@@9~2ygfrHHB2:3E@F 6>`G8F @8CBH(A 4jHCh\!0~HSh뷎빮.Nnǎɮ˖`N ~h%=nnnˆ@EX׆kkkkl&lFlfldžlɦlF喉vmn#U.vkmmn6ߋ 1\EɥȄpFN̋Um _ovَoۦܾoop/J E7 O noنڞoܶoo~rr?*?+,-.q%q1p!77r5q%wwG0 %<_=>?@r0t ' 'r4p$ggr8?I_:tS:tǰ\+gaOV0/u 3#_s_77MsӵA<qGtu˜aowcPqB'u 2"OsO6'&X/6Zg o;9XJh;V%RHў#vw^>q&g?'-k,ڴjײmkvKx刺HRkǑ} "%) :bQFѡF@( @*dDѮm6ܺwݻ1/wg_b90u *3J, Wb/o<.ui^&,pōG\rfuYhvZjB =D]oZx!AFa!!z?5 R5X#(0qR0_"W9W"EzsuKyD_~W_aMcIFeiƙgFi k lf&qrxq9 ^Yl/" IXy]݌M/!g9%i#ݏ98bCpA"%A!_bxUv;c541mm\?u]p h3^µ@@T4gI4rJVݝBGMb/R2oΦû v ᑁJQT d -!(`e >& B89(N(CI;6I5ab ڻq><9prpэ%( @"TB #)S9{[p%Ph׹%SWW\tXnS3!GMטքi "@{`)4`?5m?R}vEx^UXxD]tb8|prhWᓌIZ)I |BK+($ @%<@@.P&,$ XzUyW. $%Y:]M@]%LeX2= @@<,.adhdNC>ded6Im&PXXbr8Afn4>ff1P7%]@!U'Y]eDu)JgPgZagh\)D@$T #!,hֆ"X IHZhJ~fn'&5_sXARUÅ҉XA,2&A(? )$ !HÆ Idn)v~)@%& +g-F ^ $2’`e"U@_4X&Q:Er> ZN*V^*0LývSR1D̬\:jW.jţPf+v*)@.\UЅ\p]")(R.Y]=\)&~+'jj}kƫZj2 r+, ,.998 D@-Ё0X"hrvռxoEZ1`[BB0,-$?}=vX=~=᛭7.=n7~0Am8O>;FgoG>>>y\~~>>S귾w?/+[FA^IG{;ך B 0A@BnDl[XœCpe?53xaB&%tbD)VxcF9vdHcr_;0QQgȜgRʋ hPC5z`ɓGҒ .1(;"lXc~Tz%5*2?6Zٰl^{;, &+[5:n׿)ʛd8VD{C%VvlIxP"Q&Kx/)L;RLJLsznڶWnusvv'^#&3M;@ߧy zfۤ: <AAAPB .į3zcB=8Ď=+;M7[L-Il,Es;񜡍EҲmRpl K$dHG$dTUJ,3Wc4M- [bF%DG wLYviUVjʈC86 N~&W\b臊~4(fhew tAB v`6^ xy?Eb 'Xb >EX~ÁX.D8oB@d0fEyKYeo栅~d땇'8eݥ>9}ٸk6AFqJ >>џFy{Dq` o>Ic; c1D3| ?D~$rG cȽ|IFM߇QW}띠#\b<(X5/A[}AYeU@1ywgr9!"{>EcA+b)|g}ѯW) ?$W7zf.p DqMN"gu,@BSX\r@ְ(" 巾o=SEhCЉB!f},y3"gD u( qb |Ff5eīRguv?^  ,Mrx^)cHh"p##ȸ=@:~b=|Dr2,| `2Di!eFUmV0@7v v̲0)cO`3 hMfyM fC|Αa&pJ'EiN9 Lz,{!B'&k"S 0 zv"Bi 2"':1Lc@>|Ԧ) :4C c8CvӟF 9x*u i| pDXa6fU#[5WLɁZ銑.e?@>hulH{ٷ_a ^c d!͔X j'Q~!@Tb,@ Uh/fnH-H۩ZրrnyIAfYR?h[iPn3t; b\ *V;ܡ͸2@mfĥq[_A| E0{D'XPUUA$ bz^w[[ebW-/a֟ `$.MbNhdo:Pd#I.r.(@ްUh#6[lkh 0qH!p$&c KyxB5ÜP:X/%(+0m^j OPF(}Sӣ,@Ob+EΟ"ajW8վljWCyka_%jmkEIVlt<$+دöd,v|g=ς.lЄVü}{3L\t9i2oN@;PKFJJPKM%AOEBPS/img/cncpt082.gif#4GIF89a  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~, H*\ȰÇ#JHŋ3jȱǏ 3@ɓ%!| KPXz|I$3kgǑ:QIȠ.!4JGL-:E 5jũ'X+["0dvV?fpݏGsNGs6 ᠄̑&n[]0br Ls]˪ s5j]vKiZW=E'!Xn\;W5wxFM1D]D0TYzMNE8/fǟԛG$A5ŷтX!|MdF(Fm!SҨ_#4K BȢD 8"V/2T$ 'ь/HQQ75wGՑS%d锘cD[IȥFyiҚ;%%A߼IRtf"&B}sCJTPԠ!6I;iET'A k괩AE*Jj~ Ed`lY'M ':90*Ѱł(^_R:KrY3Bmxa8ɋrZ)2})ILꭹ=_$Cŵf;E~oHA/D4d/=zYwr<+qH߹Dx`7 !mL3dg~OcsC,t|?ˇ=Ppn| KtuB7r 5$DXr 8Cw/d]P0`vB^vؠ57o*P#RǏ%_U'nrD;O'O_J#Sңy(~9E>Pc.EzkAKJ]xr쓟^o3%?P.YBG`;삾OI`I7XЂZħA y yGX@@As "ZPq%˅q)!BXAƩ84K8T&p& wF t);7(. &C K2.)50m ҭ̈Fh:q H'$8'5xHw3\ 8-p ;4#tfW&n@Z fq$xNGJ0 q$WKhi(0/{Xϑ47ƈ p#&ERD@K8pp 0yJ$@@D+"@)I"Oݑɞ?^AM&8 )\IYT>MO-d-{?{e΃?OoJu_ fLBH#J|#h5!tz=G]H%B$o&YUWOT*ʐd̪EUԝW]BĮAP3m[YƲv֊X6uwELhXD(J0y:̈6k!VG i8GT@?@;~7 L?XͮqWYBf%!Ui|Ynw.ZSyk9x7m>5%.G\ `P$&j&\ iaEg2緘'Xc'&X~ "z7GEr鑠Yp9f2i ǚ&wXYpb)|aTtY'&<؉o)˹Y~y.(&ɩ5fskШP,a+9CgiBG;YhG 1[ue$۷pV+T~cy0NBye9qFqaYfkEana6e~CpLhy@!7h0`XJc_:fQfeڠ{ Q8ZsAH J hACjEGgU6Q&*Ej#fE5@j,*n&qYږ6? !j qB3_}z1E3='63#U#Qxґ5rtj^z˺9j(w|'Q$[:>2H!îRRbpx3r:O zeGE򪑪?H6>EPPHzH(tS5+pN#!0%kS8GKɪAc8%8³4@+Ey?,8g;h֩(H1RD.]놭 Kf;:b.6#Ue`=OJlKokQ)K{j;BwR6Ad[JQ۸;[{K,1Jm+{ɱۺ@;[ kk'X˻*{;O4:Kx/qo,dͻ,kf#k82F`LqCMڽI{K<eܫ{6R* b 6@Hu9Ba! %Ծ+֋D \L$\ 츿ѯ[I(JF'%wK/6Ei8 ĽÎE4G\UJ:Ů3RܸSXWtqaL /a̸#uqŞD_ #+I\L!~7 A xL>W,||,<R0nj e\RF}TzȏkH# ,9{\κDʚɒ[8̸,,ˮlL˲l\ 2<\¢,qԜ̗{!Ll\!q~;͟,|ٌ\ ହ-l[! -Ρm3 -}V% `*.+ @4]JW8K: .k8ө BӚyNjR=eT}XN" .^`Epf}Bm#2hn]czʟ 7߼"ʹf!v=@xz}msݺ$2ؙؑb?י˟ح!\כ 9@ڟtM٠MڦMڲڊ =ۨ[۝}Yۿ۩٘+ܥ}ƽۜ+٨ H}M3˭Κptף=M K}#}d9t?J0q|q fp&<10E]mZνq/A -9q#RjSI}ec's1=C1q|bf=w  T%^z4Gav2N r-F(z$bQ@3nå7|r Na9g0ßxRb,U1Je\V5ӡaVտxэc>Oenm0gVvD.scz.n G9|ri"x>!.PPSxR +&b~NihQ||pj@?09B*@:Z}ryjgm!* nZn'CH Ox!^=Ӿ jC4 VϾ&3>|\U!\OEWx3  7qLr1 `imӮ!C~, j(ߐ0 9n0=Qp# r %M9[p yv8DT$=/q0j(6:ni$蓡Pr/pQqYU>o/vvBZ's 0aޖ7 "X9fK17':_mfA7mIC"qGw-rUA =>.*oJ&D$J1Px^iHzOi|/%> ? 0,/ x0B 1>Uƻ)(גJ1eH#PJA?@Y1#?$ = ,⫒EgB WT ckL9r!ؔ*ByDTʥH߷*8^4g?a<04V+O ŢP䣨S~ 7p]c}p PS*1>ǝ[WuŴY</uiVؖܶ@`W&.wYӢwG/\JOxךtM.8B+\k4f? 7{1 8*G#w:+**(KG|Iǝ`0 J F ͊ͬ(∵-m~ n: CɃ&B:JG2$k{"<58,W"1ZdoO( _M">CHz*D-W@[0Í<L܂ ~b* $RmʎAԃhm^XnEc<2 826i> 5vҋA40ڇbwtbʖSIt5R֎P-iU@^w  c_fOxeZSOM⌾ҍ&j ѓS\0u)zOԈY U5${,ZL0/:UuEe_d6CP')2P\FW &$g0&Ⱦ+zĠv#+w$J| `|B%"Z*C)~ g:uؾ]<5v= ?Qo ءL' ~jݱo>7u{× 썗|rM^7<~3ןd|$`y8+Ld`WF|ړ`G}K#HxN+T a"0A|exF(e0o Q=T (&6 X 2|t6%Ұ}EcXFj h)oo$?5mG1""cXH_D!)9A]R&ѓ(qHSL%IV|׀lyK\Re/}K$f1y[:n Df3Lgꐖ3ه9dSf7MpS$g9ZӚdg;Nx \:xS#9M#1%hA zP&T ehC A\N6+f/R>^p/lq[ 0K`Yc #0f(@ݔ|#yHQ2\A_5<(kf 5 tdr܌ٲYDz*On󖝳gD["]f.:ѓhH>4=]褨|O[iZճޟ9FjO:~uzF}}b:|6%gldGSlA[6dWyڡvk`zf}`Dw}0,o>;~p')8B~G)yqgܖ~=SxM~r[!X]rO"&!042;y+}[ wUK&{ݓGOm)QFJTG՝۬k\ׅdAT${eͮ'uhl;b>ްϝBmZwSbwO_ƺ?x $z .R \^&cs_D"%HR) c3_y[1⚅@rG:ߕo'xct  ]K*UUyW8wCS.Ko@@Jc J^ @4i8)z`)2! 蝘L@:Q@y$KYQ hN@( ޜ9x|{"MPفMA ·pimT\ w. j9{TBZ_Y͘ĩ#,DI6zD! E9A )ӤCĞ?y,)p֢Z АДңC:"PJP Z?qw 9(ДGX(PɈ㉈`8 (.]- l"+, M1MANI )!-K 䜙Q9}a,71/XQ34 >SFqpAa)RMBuG pCHT㼺ZS.ژQA]WD:?TXPeDEOa}|$T Ք)!ՔєhB'Տ(UWOVՍ-.R}p%/qKU֌囐gA 0ՋoQ YD| G 0H2L:XUOYnT;++ -իڼZZ 9^U=[%rZ!Ou'~[n'F{[[ͧe&*\;%\ĭ(\!:}\2\ȝ\Z\!ǥ\M)\(⇵*]=]Mݴ ]}]؍]*]۽]]]]]E$ \ū/8P-:Cc}@2^d [h]y,^ <0S=Y_0__#YJOE6%-E Q `Z 3\`b`S`s΄040aˆ`n#5Kc+a92Na[a ka~71raa6^1h b!.a;N^b&6"0#Yb+N5,60-bObb041/2.cD;cJc536/7~5cc:2;.<c?^1@-Ad +:dD60:+ÈkdJdKdLdKVFiG:ڛ IE -k#.AL a>eW.ӚMfԸE9T>$Ģ?x(( \ ͢xKLqhg1tf%7D2ԙG e8 ]Ύ E0᝵ Oeh_HDnwvK\4C{ͅ( {.#P.c k ;g8X $9J{_ "= ֠)] 2;Vg@]{ YaKp}dT3AQؼvzhkSB j9 hoH OXf/ mG#.Y  O+AQވ p F(Ȓ%$ICF쏀6Amcd)ՖQTF(EHRA $n'鈶n] XRS QnMhdEˀ^ME"ΎEuDm(N mYEov -Qt`4-Y͌ޞ p=eۍ9kD ͐-,_ÕfߍP \v_v0?30`v81h=kZC"w4JVmM+m(ՙgLڠ >͚h\ɐRTɛ;5wn0GԈ5yH`ޫ/؀" hdVԮGDvEO;FIlEl?P7 ."úHآ5RtϼmUf T] U,Nk\3;_kzG ?T}5MkvkeW*c`{0B Gj! v>kʺЙQ?`*`*axzwzFo OhuP5Ѭo:q%׈p%Cߢ{և{ktrnXuZoD'r} uh{ 0kkwk_R2? (FwSzy=PI ӯ֎K׎1ށYs  x 'Rh"ƌ7r#w|(N@>f )d˘:~,j.AA(ĝ@~+mjUTȤ+85Ѵj5>|*/P‘"}6_ > ߾AoT(`E).E~YIsw|_ 4}-Үm6|;& 00C37fp> Oҩ~G}?'A|EN f?]@7`w Qa*3$V'9bR#T'JΉ! 4IȡD^(D M<#QaE r8bC"WQkI:QpAOZy%Yj%] #OUz;49&i&m&q*8Ra IAAh@*huw }%(7&(}n֞}kQҢŧlz^$*>j~r*'ʊaIWS a K@@#9fA$@7z?&M+  (S! +hB.uU-κ/] E%מ @D\UD R g IINDM*FMՒ|3io `n2)?;FO0k䵢O %t]`|r0Kz@ŕ*L]3m $o'šZѲ@3Oq2I<4F\-`7DykJ96[^u BhllC9کR!e FSKGTdd"%0ad%   9* rLvEM+tc[4f&:&7M7 Da%ԤZ,OYsbo^8Zc'6O,e:P D$lF_ɁD%@XN<*^VQF>cB6'<ʔTD7 'UfxsFK<%59XE答:}\)ӭvMS_9n0;D3*`LHXTBll5('UVy>A1E«,iNfb)-s0-u0[fqT`}m×bXJVHG9LLca&90HgfqV@=BV ?G+`HuZUؒ_X$1`!JHE:bOtY=A&[W(:!2W=GJBF6+k aZ| VKR0S1 ;PK{(4#4PKM%AOEBPS/img/ccapp017.gif1GIF89as}@@@fyyy???ߵ??3;;;```>>>sss<<<ppprrr000PPPvvvLLL ϥ߲ ؐr&&&䔔OO?,,,ooo//&gggXXX___󯯌OOOJJJ///:::ooY__L666777lllƚ999uuuėiii444555ɉmmm888 ttt'''˜MMMSSSUUUQQQwwwBBBZZZ~~~hhh---ddd(((***}}}HHHxxxDDDqqq222^^^VVVbbb+++NNNGGG!,s} H*\ȰÇ#JHŋ3jȱǏ C*P@ 30a "cʜI͛8R`00Jr*]ʴӧKY ALE ׯ`e5RX֌طpʝD >2\ n LL(X,+ьmL6q'(HLix]5Pm IGMM>5X6l+_|@0X5bPȀxg,ӫ_Ͼ˗$ _@_,_z@E@5$-)8߄q\ ֵTl4sq=Yt|X@C587fI%U_%g@y&А%'bExd%@U=qGL(&e3&J-H;7KI#iXQ%g|'oQai T} P0I ~Nb˔j2GtꪬJérZ @%ɂH_3򉕓-AU"i6 2̶v뭷Bq*O%ʑIN9! 2dׁ>[g *Dj 7 .Ltk vTl ,/ۣTЁR~ْgr|SG0 \ū˰HdA?G-u20an'%5aH4S-0 'hn6C]cmwDHiQ-8-,#7޲ڄ v> q ~ y[1  /?Ca.qCAUl~,W%\_~^ ۪  ʌ q#BY@WLϳ{_=o+@YP ME>Юgf~v&%@gjt{ݶ\UGX `# 3J%6A,A# #8A~R@d (| sD5mKu22T<$* !LbOe4`n Ȱ"*T'VCR 4 c@\js":@4PQHd!*Rb؋ԥ/،]eS`0$*;=BaM\ J)҈ -m-(Xt0!"pILK n!}"ŔT)kEz%T +pqre9@!|!B&y \ `b %(+B%b=,PN\BP ^uRU| H. h8ԅg"5%ICcDEaZn9nKTKV,k2 wSfvXj^S2!4UTAB6Ummt3f8-\g?/yfehHor׫زU@ <\Ǻz 0q3핊#AJĮD$ W!̅Ѐb~u`$ mY᎘ ٖFp +&D[Wu#4De_$,D\ -(`ʋj9\>T<17.'bj͊0W2qs>,@;s@\o{7/|ěAqc<B?->v OIo\S!Ucz3iA e G?e AO}VPwv Ƹ(:Ѕ.íOO[LGAoΌc{;?"*8?t H{`X$@cf?eV&qbV(y#o>QL2Fw_%3ZzTG+2'IL1p @]]՛viN |O:JF)&ب9J:޺Ȭ:z<`7P7PV^Xnf;أJmf`; (G ZJː  `U)0$~KKa\0 :hZ`J9P 7P8 Bdb,x3f:̀ Pb B ?P[?khZq(˽1_!Ak+ f:ˠK[@@`;+kܷ˝7Yk^ISRCA{*F9˾[ C)||\˛9{ : Ͷx{7@J9Llv J3lW3K@P3@X}ͧϓA~~ڽ,͸|F|@@ma!ɥ9 @Yk*ʳx7 [*@tKZեi°[w ̣浶,M?V  =O=;YPDp<ęMkˆ(:Z]çLǜ6 ѢɳOo қ]K\F{˄uA\Ӫeۀ]wk*CY9ݼ;@PփօœĜN !Vy[Nًm Upk٘=؛ 2m M.SJiQ՜m*oq[ŋZ=򻿥g..2mw{+ʭ=oGBk@FV pcWmԟ/̧:=<5A-̈́]|I^Kn~wڦ| LaG=Lt>$.&(>.uFv|~NNϠ׾ QJq꾻>߽Ţ<<Ȩm 9!MyA6}|r.r9d̸N߷H{ \P "?$_&sp-@yx}+2Q8:O4p)o_6oLNPR?T_m)?GI_Kod_fh^w]lcvx_X1âsu ߅ߑ[_kmi@ O؁ka1\ \<@F]oO6 ;Ol_m_500$X ' JC%B@35nG!E$YI)U bٓ >@v"ӧO&,X@A*,SQLE`UYnzWaŎ%[G\̬ysE;vӗD"UtF,FfԨB#Eis{ QUfeϦ]vvli8pƌaÆ*C 6)ѤK+2D"Ed`B0Rh2eʚ=beH:N(0 I PJ ¶+K\QLˌ@4oK&OPCuԎ"MJް#P J1-M20[$_dWRb)NhTdUv #6w8Zp Q-=KYsH6iĄ!)8vYz뵗 # >PXrDEGZe\С]bXcC,>add4LT0xnHjI6QCP".X#dv14`1W!KUf f!d8lfS6*I:"U{o5H;Y$D}V[4"O C œU 4boKc su7a5cO K@nxM7#tq] t yA ;PKֽPKM%AOEBPS/img/cncpt256.gif,GIF89a):좢桡ȅ|{|wuw+')ZWW\Z\БZWXTQRLII㬫>;;0--ussgee1-.ֻvst?;󕕗ihi氲㲴RPRΞMJLYUVIFHJFG̺onp극{z{# !,): A ,pB .lO5P1aƍ1>9ɓ(Srxʅ-4̂5ԐΞ?] DG]FXT)ӥNFm*)ԪV^i5VXن^ZjƅVn]L"ln_duv=aحUqc4dlj!݌R=GO4i~?ܽCS,aIm'}!}ݑFÁPϝ>]:M84ƛOc\@7~^X!h gE|*&{ Ra~^Y_ ^& ZP #He"@HbDCq 4PF)TViXf "aC-h)dif-?lp)tixA矀*()AJ}N(Shy脊鏣:U郙{6:ꁟT_Yja :A+xϲP+zzl?ÎFIN_6W>+P.Β{+ߺ˶k/B߼⻩mC60l@6jcQ/9̖O y''IG&y-^q<3w;͜mYCSXg!͙POWԛQIW^YhI!ph ,oFB 'BXoqkB+Kws0%I +0 L $l6I1δכx7T6J]?k;# B T 7TBNB $<䙮zYW#\k3&Bp >(" 3*K@8V8~_㽒o|ca),}Bs &>R@ Pv& G`T`;?To blt;$0  \Xots??0FP.DuE?r"quH6;-Nh;TBG)q[s&(ާ4`k!8q/$H$}b TY!+E'@W9}\ PC`(3\ˈ)<lm2 &H ?ǿĒ"C ?@{fBPqzӝY=ydY&0 x#AHpP@\fҠM:ӧY9>_((Jʰgl֤pTu%~TZ -*}(um ykNg7TĨKs:d L,4ҫHZM{A6DrLh Vp[O,^-ʹrP\m@h 5 {"x D9Ғz5:xߊr[ T>`Tm;dž1G=*5ݔ-NJעXlB>T! \(䩀͢xBL.?<0CWƈα!kyׅ=TtC! D9+S[p(ƇM`U_%ȘVC )>"#x$#]hx[M>HǦ[bGK*оxqv;UA xLU8t8e3t2&F i΅Y[TJIVMn" "e={jFs8 =8es3M@>ю<%H?Oy6y[ٔߑ̱.m+r]J:Q|i/Kgo⎻KmnGqGokoۍwFw5v5њi?=]@bn}>6_xEO9ڽyo{:Jo&4N7ĵ!H<~V9%ƞ空دy>%_AyeTYqߦ@Bp6dr8koqƟ{L>\D|ГZB\G}:@!7{}!y5g^gGw2^.VfVH^#|lR|?GOqDgzdWxw"xW#ae&c&gKkZW;9=;yiz>:bc;&d[DfVVULvJHKK<<]6nX8f;m>yw/DH{q6\$I6i06@h i!EX<89w]̇u<+Y4sHLۗwx1a%qNnfzS@(f@}9hڸ؍8䘍&&'odnf3c|/bm(''츎zt7&QRuI})!aqU'ÁyepIxwpyy8> )(:nZG|+ɑ )Q(I2QCh^8,Aʙ98ΙYʓ:mrAma+:cX{K WX8 ixKi,pqړKfEe(8k˳>;V;UEk5{yKO !ia$KĵI585ae Z)`y;T$@?k 4A\Jļ=LUT?;='FU<[x4(!9O\TQ|́KN?V&8J@6Dž[`\%uy[(@әh]UYC[v4rlZgsL^c%ƐDS#+[t]T V< _$^MUFVPIS,X8۰ Liv_*{/,s*-tkWU -$1k뫥 iѡ,D5zZ;:qRjz|au籰2' 1ɺzOj)$ڰDTw\Ղb=vBհjlT|+t]vDQV -6; k<4ݺ}Y0-B Є<$0 aqοٺ1$ݣRk/(6H=VH8-҇ IF<-7;LF~;EOz<0`22uM7W>Uc k5N&_9N@DG=ɡ^#3ZCa36fVC䭃fVf[7!|߄F(m9 Ef )ffbeTB$66lV8iT[ (COM=T5<;۔c)(i9<f@h)L_ϣxbT9r?Yěݛ;UnX~{Vs.+7ljlKQyM{F$X]3)69b Ca8L\Ey꒮> уmMq9EncV:Vr[q%edV<{X8N_Sԙ҈:#`* M>;ɰ!0m~ؘۖoؤR,*Ͱ(o?۳Vt5 ҧCzHB?D_FHJLH"vƇM_VX3C^l`_^YlWn }Bn_vX-#:AʐL &)kj#4V$Oh ffbXl^nK`#?ڤ_'߅O>;ڐv(3FǣtKӓ8q׋26䨙 08#ʄ dBKӻ$.'#8PU+W=V{'ES2mox[ EL W”E{JbبL+\@4*M;&//$0$8!70TxK& ʛ騳N" 4mA [L;S2F, _kQN0!QRAE*ĭE+д=AJMQ9*' BGR8L !Nh%"2FfFBB+ʵ$8ѷ,&*G8\JpBA<4rKͺG;04-2Sғ A78E($z*1S;Ak,C'~l1+(aVpOkge&%!"ĒK.UP(CZ= N4Dj"#7W9;K;8^Uzr7]f{ 9䦊jTJI>BnT);ؠuKmK5"fYα(,Y, >B^HA,bF9Ÿ/$HkzZ@D3ŒYi~hBlvm_>u{oHAkon0»pN#\(rƾsd!P@W̷K\W]FLq+|vޭjq 7xW~ywyO]+w(G{Onҿ~6P[1k dH(@rTiD6ҌWHV&=)L~ae)?BSRde+]JXR,IYF{.ƻoԎ7JnN(d>m̤3Yh^l45 l~sYĞ8I=sSgn/g=yO|ST;i9]s-(ۀƂjcB?N1cG0BP0|00RT 57 ;@MU ``,9(J:B. 5xPQ{:@ISTm`DdE=R@jʃAG :BGWu 9Ztr@`0(R aij## :[-9iձzHUVC9m66[})_?RДT0 nCgP څ@/%?JjWn-) 6AQkP:-R7}`{^Weo{k7l 8+ $2/XYq*iճ.Ե.vOB!W!}i`tWP3|Z !lrk l 80?  6 iV;q}c Y55nCْ`6`y7";P1|բD`rq8*$q VN)Y }>Vb@}2 YЃ&4 l?x_d'|c2棿A#/QA cApA9T@SYp +B@nv0 C0r|0;B±B́A}=>C>24&$ ع718)";t!8C?C@y ٺI \#y*DJDEGl!x(JHLQʸ(4@_J:K.(SCEBHQ?ҁ֫@a%3KPeT U(O/ /IC4 O< #{G||#>Oo4E@mG; -!PH2hcI@,FBQ1܋?ꐻ3sj}T?|J7hb8C6i,93 xK;;&dJ{I#=tL|3:1\R5̚⭼ ,JT?F8L6`L,\{xLB̋Ħ?@~>`6H Na1J,dj=R)MBᴑ@TM笂'؛#ܩN<8 EύJHh*iࣷ,l\AgO,>w'*e1ZJ]3-N2؂+ #T Q ͼKYPt|Ax.@NZPh]IGyG%O$X&U?*-!:.ҭRX@< *!%R,>j81P3M!8SɎsS^8PA&،Cd#/Ca8yK*I(TSQR.cņTP ,NUNa:K.؃9T54d26uIMTU >~H)=@9c-= Y5Ki ͙#-xmUMo4W1AW^UpVViWj}WTymQC8}%D-W+Q\fXW>rW^}<8(AD1 AɍU#,THȂT5XFZV!ɚ*T٦-^ U58#@IB ,]t}֜]Pł%$2 [tX-MX^[[ \[h"8Ă$x0$Z5R% e-G;^sc1mMHƁx4KeڛUרI4]G6p;(P0M09@CA(='""/]&3`T7D[ާ%‘VOx6]+h+]3DᕃC;ł'`xM#^mE[_]]\mD=_]Ka_-|-]'_FKN@ܫ+<ؐ`|T58N1xu R@ЀO0]PD P\MPy@fk\0J?K.v1X W[7ŭאc,%Oc92-c=hTPaӸ]7[}dކ9;6EL`cudIBnC6N8YF/0(@MBdd%Ec2@1Nn]QE$XX(J_ʅ1fq[^eifjj@)Xx(%SZuuxZNnf7P`CQ`(RJPXzX%0IjRʷ\im?[unf}cYh&h^P&ac6S%Ph$ 2OKj4f=c\.hR&&;;<01X/XIҌq@*^afG_V.(Pmf81`@8 (K"k#j4`.XM5_e}fJ ɮ:),:G1@j(I2lV`J~V1Tn&B^xmmmކo=iե&1bF5e+ 2(G0ۦNH^'_-;ޓFikm'5dMo^ﳆ^Vjl[Evj~rYߛe0-Hq7l2l&m-0m?qq r!r1i"Wq]l_|r|r{roЄzJ&  3_25WHh 9 WmJs6Ws47G4oyE7IwJWt6LgKw ȑ)!RTхЀUWuRgupXu[uME0u uAuceOvR_vbOQGi/vgSjl\VY'pqGrWstwvhonwnvkkw}c/;PK~|,,PKM%AOEBPS/img/cncpt211.gifGIF89aI///___@@@666999𱱱 ```000YYYwwwppp &&&GGGlllPPP###OOOXXX===;;; ,,,((('''ggg˔oookkkzzz333QQQ***777BBBSSS^^^!!!???ٿLLL!,IPOOOžOPOºԛ OP PO 胣ί$P @(UÇRł/ PPײbqe jUHS!dt ,)@J(HJ>qMW3nBPUq˴TIf*8`'"4лx=ElLuۀLfI%%Z l)h VżCc".'&/M.Kp2RO$bhx\s9W1+_ )%V lT~4)a`=%Tl! eo[2X}B|U%΁fA R f# 4NKeբYMH /'h((4BT"].=NdhKici-_sʶn|]w}}ߚ}zߟ^'?nyԈg*T~Fggꬷ.nB[l4#/o'0s~gw?|#@OGk}%{o()K~Ld Z+Ȅ7OLQF1eLy׌x̣> 90YF-;ƈ8c@Ȇ^@x *ICL>Ґ'|x y36 **Qf) UJ[> PB3KAT'Rdǜ_xS5UxAdsH4wpR3Py0Q:OBE9͹̉qS@;Yq&0D!8È7?qMB`:(BNEG|9@R8iGQ: S zR@N1=OK %Vy H8@-cqBaUu~O\ ƟD-QSC0y#LF#,@&MK X `R@TA 3W ȉA CSA8Iec;>FE*J/aDj, yУ\W`,)SDk M7 `aQཐ5F1] w!:!~k' -,"k^aF;5~BS_؟m tsvK o| xt>Gj{ 8˘VhN󚉧Đ(=!d +x,ef?(J\ zCЀaͼ} ar eHN6zbD̨ SĔ^/w'mox=|䪍qg[ Oc.7ۉDdn>'޿pH(Sm*>ooܒ8'$~<<8k1nx8v7BYBy)pE6|L8d>Լ$3$}O&AJJF_ca#kLji脎0#Dthe @`zh5}g~HQ$4QgBȆj膆q7(S%b@@/av/UZ% 0p 5c[U XX8xPvH q&V`@]:k)SPGBxA=67p&aXv UA]^!2m &#89Op"@`Յj"&:u]pd']>6#eKX|s`vRZf ex{Y`0V.y[%fԀ"yFHsc'xO=&/9rЁb" 93 _#HIrÔM9*3W/hGɖqoqI p^"v)x6zg6ǘ)y6)@g)5ə')'(y|8\S)5N}9Z3I}ǹnuٚCvIyř4ܹ5 '()DنY4fǞA9)Ed 5)'ş64Ʉ4J`C 4 J9晟QJj4J' E":kP#ZEsɢCHDcP9<:4>'02ʡC*4E S@*:J.4G,AӤ I:X'ZX\:NSPJ_'afOjp '25hv7hM|ڧ~:ZjDOڨ}z" \z5ʩZ*zTڪz :/jz z:E3ڬ{FìZ ѺjڨؚCC:4Jzxz*yʧz'㺯 Jگ(Zv [ k ;Z8ʱ"ۭ$[Nz); Ku (2۲5 8:b?A D[κ46˴9KP+TN+YG+-_k[+cgakm K;j={xz |+f:9{o ۸ "ੜ۹;[{, uK ;[{00)P~ؼK0[{֛p ;ҋ蛾K?Eн7K[ h꛿+3[k\w6пl< | n3{ <d" H%' ,|5. wy {LǀLttv\|3ȊȎ,(CȒl\–|֩0, {h+x+H]xg(mmن`^Fn9% 0^~O:}FkF[  @Dk[l@O/ E$_J&`y U!BנVBXvHᅹt x#FX"0 \H1xh/(y<"LZW!G"]+4ieuOQye)Ȗ\Z%h7c"dYٙieng_6zPXOT'7y!tqIם6Y i1萏F:Ȥe:fv(V:&y*Li]} +J+WaUV ( (]1`֊@ڶvmh HR ;PK PKM%AOEBPS/img/cncpt228.gif+GGIF89asbbbjjj///FEFyyy\\\BBBZZZTTTuttMLLWWWxvwJHIIHIDBC><=KJKHGH@@@CAB???@>?rrr999___oooYYYOOO lll000```ːppp>>>QPPꬬPPP̞<<wvwhgg***cccqpqa`aLKKihhdcdvuuvuvrqrmlmpop}|}nmmUUU XXX|||JIIgffbabedetss)'(~~~LKLkkkA@@baajijrqqNMN###lkl?>>xwxihigfgonoSSSonn`_`nnnsrs?>?fee222qpp !,s H*\ȰC"JHŋ3jȱǍCIɓ5[ɲ˗0cʜI͛8kɳϟTJB *]ԡЦPD*UOjJuׯ [+ٳ`Ţ],۷Qi+*w_v|/ὁ=iƃ/La08ؚy3eɕC4 #!iH/6#e}pc`(h 80 9r'% čC=a X o #0PŒ#Pc⟄#=ߋ ԿHÈ ?{ ䷙mà ?ǩ9$ A P?їwQfmp0݆pyǍR, ؜m:T|A nF{,8ne7q4'rߑ0р-6fX ,l݄98?0ԩ|\s ]~2GС!z`fw "@Krڈ,)Xmvٗg* wZͽ􏡈IP_lBzݟ:wN9`{‚ɒ+*`ܥX.fHВWpm:|)J? $@-Vz?68ݗ0\uLv+n;7x".#X+%$8 SPeaKCc8n[Re-6"]P_jkuA0 ǧ n}_`sG} '‰_s8B^†uUxAUHO6^>19ZN碏z{k9[U Ĺg49?E:[9N{(WJ\vAܼ@B|VWQw sn 3:Yk[·F`6&|g>Ae}E r =Cա8@s\w Dn'$PNdU%=CJw:,HLXvXXc3>;9_m9I 1hCjp -Zq"Q;U͐ bX1x$rp͋n|xu4"A| 2'|$(ɥD򑎬da!|$(IQbE("*WV򕰌,gIW(4%$QZ /SV\r'sɐL!De㘉R>'9^mޕF3pElX8[!7Kr!VUdzj[)Iv6=~987 bZ[l܇.IXۧg ߊD+lo ]T[^$L|G[6Em{G܄X :<""$rbr9h"2"i9`j! WI*FIP҄4#|&h@kc!vB@f 1o/-M˫m,U[۰{+ QC*"Id2B|4%/ɉjItTg6BQXF?r,Onݾu-&C,= X k^ fAfV9\>H aUP"J:S7t3^eAZ=ICɱ6rp\CB.8:,BmQyM,dDzla3-7B5M_8_nnx>2/ĝlOnR@<>͊6%6M>ސ<(C{qEyym5'qHb>c+ArgXϺַ{]/jEM:K {>On;wEsF/|ߨ=ŏWK~n7O؇%8's ~'Qo~:%% ? ~߈>/~Dw|w+''8zWxGr4qy(1p7z *xz}NX( w#H%x5Hy{gy082=({!׀ȃJGtAhtuА> >`Ȍ e+}HyԨy(IQ()&)0ɎR}w1Y_+)-)|769Rɋ8\c^eNyEGȔ=<&Xnq{WLIij 76((iu9(;ȖIu)Pyu ` ȓo >T( - }W?Q4C7 cPإuldP]LMO Гaa\&& E63x5hXP[/g!ZϩqQf3؈cU_M.=3|}"2ok AK=ԇAi,uc& C?8=RQ@>Ҩ2s(B1]ؤM]W2+=v$r?!'}V|"-bpF!|ٞmܦbׂb*-s'6)"s8VݖDZVBō=ڣ,dB#Ԧ{]]}1xR/ ^+T"+X0z 1!ޝ@;-Ҧ}Q3PRF3V"丱KN3④*J~>r@BCj,# T_)]%`M /wKil=\^tqP05ZP韞y.>b~{sNNn },`nn^Ҵ寮nDӺB""q묞Eqn%=nNN.Ѯ>N>n^>O>?P&L(Lf'2OK+RQ:)>@B?D_)@6-/;F??Uo?8/sKMb۾k;<._No&ǫtsrox_g|ao[=a_Y?_ _PpG?D=|~SFR,ƶ/Gÿ̿͞zQ<:O:O/O_:?B_Oѿ@#X DC%YXB 5nF? /H2r`J#e\ȣFL9u,yeϝ1]vsGHF:莂i.U@SjƯ(kDIh!g̩F0'zIėo‚E`tDТL+xxI/xmX$7ކHy |)̬Ȃ6H̨!\2BN!\P B"E,HO#$%B?Jɂp,1ʺL #/_JQ@R);+їd8Ο*tT͆u!L5I| )l = ؆ [d"-RHR@.W̊TDm*[`} `S2d(=~e0 ٠C𮃄(.uud5F)ᒓf̢9R7ѣ5!TkkpN0VŅ"XEpQKG#:݈~ 7p/|"`{|zdP|sQ@}:G9.Fvkز*F !9 "\q 6XHR5"]Tw(q3؈ '5ZcU~гM0↫(a~9 2+vt}dYTD( cyqdQK4B,)|;S -c_>b~D2^[ziךNh)J\_ r@!KɅDA 6-ub1"MHXBߝx 1TD#=YEB\8i6\&D@&:''wg Z'H@~ }7gJ v?  cqS)MYtb~m>.\] ~ygni' p- RP(@r-mxTWMWT}AWX?] 1=<8="WSVX|Xg ~eZH8هP XYy+ueGYAEhZZm (#heYqC5xY# ըGT!ԪFzsI[[U9msn<\]4(__<<81- "eU-Ye\}ݍ_]>^yX;dP?`؆u'X1a``%\bq9"y%Hb%^b&nb'^bbP P\c12(2f4f=XcC0MxAkb`"Nߑ8A>X%GRE=^]^[`< =.0ʥ?ᑐXO9H?(VadadW*GM.SNe_& \b  ;%eg X^i]}fovkkZ31Q#X9,f^fW=m閧}ˆ`1Abz>hig0 R&(8!0hQhЊ O @IJA^ nhgeZY[1\! og`n!# lu6thYw"z)j~f | *!ڂ>&,bx`)%~k_.qk>h6lmF?21Qn!0AlvΖ60\ґmϩ-XpЀ J>mQ310 j6nEnmyƸ8hЀ5!nzmo]1 @ NocƐ&')lZ_o="X8FWp[nb 1Iصp^foplp GIng=q?nble1$Or%_ȣ'r*lar*/'r*-r,?ds2/s3?s4qޝ/'ǮloysWs9:d;s7sos>ǐ>>\\\{{{```000 pppPPP;;; MRUJJJ///t{%%%&)*Z`c$$$ggglll___&&&'''@DFXXXOOO555ooo333444222111jjjkkk...sz}iiiɬKKK\ac888eeehhh:::fffhmpnnnQQQNNN.00ddd~QUVmmmzzzaaa^^^]]]YYYqqqsss69:===~~~9;/:xᆏ8S%{ uSv41m]zBy؁? <BKǫȿ!{!#k :%yl Z(↓|؝R! 4(eh72JD蚅y c2HBdABUrІA +  4A+DA}0@!h(|tF+vT %BȉKCLd1:Cȣ$7) M6!0FNEqT" LnŃE^& bK{bK!J첗lR)P`2YR'oH  InJ~xA(zDY-o|˿IܱDo|<ٗ?C>NO? Wzw|bpmG z7{uw|ʗrm(|{g%MƁbM 20#}!{Vkp~AIЀ"}$w=.p}yB :@R 3HHh 7gzMb0 aZS'PݐGH(vxiknxr 9(h!0{%|$ 8qй( P~ZFiPc k3F;L@YGyɝc$>r7?L  i9 ٝIapPz׳0 #٠'z$)O`aФV ƀ:Pev0 ,s`  EEF\t !M|> XR,;+,ȹ ņa| FD'vB( Ơʢ<{#\Eǀ Z\˄˙3˽ff@o Ur)@bHG"Ց\\̟G#_-@ M ޢ= 1=ʥު=תͺ=m\ߴ-D-FMHK ;b>>>mq0fq#R>TN]Q ]0MPe kmڪ}j mߵM]}8?BE^ LJiQqQn!QPq m 0dnin&.?p-·ȋ,胮<~V [G 0P؞ 0HpnXX@]`ii"N$^|yЮͱf 1~븍·;~͞[' . PȠ0 0lpN.#.['sK w.A?7ۆ?oPoK0KVo8y b Pfh l p r Pv_z|YY_*^n + }NMQ/SW? \ a/ mp s pv{~o0ݪ>n68.Y> @/ _Fѡo͞T_YOO:p??ee Hp.Ѱ!PL<#Ģ+ǏYDfAR (e&1cneMktrɥOi~!Qla S/ UjZCW+Ď ;B6mZ[q}oNyM["߿*RXĈ,q'#{%J4kY ?z&m4Tvf-uQ|̦6ܹ춲wq AƸɧ,"L*t0ĉ/j$ȑ$KLɲK3k⼩sgO?-ҥM>:*֫ڪ+k7/B0S ̉,l3< M4z0X[͵bm6n zm#8H9s:[ꮣ"ȣ3${ j!ɧ(3 @"ʫe8,ЂtPK ;LC{C+,3=,G[15\dчo-{ $#TDp2;턐һ~rNօrUb^Ԩ`Ř,Yڲ㏗>j[mwA71t+\MZ/ާKEwƀmG5Vi5:n1Z*߆[%n;o[e7vyNeƳpٍ|Pn kWrⵔ0SM=kFN}Y?!W_gvXǒE01Y ޴ؤo[v"7.aqR㊦-^J֙{(_B_*}:o:{젴/$Ry ȥ)w dކW-F0pV-' zӓA}QCZHHypSペ8ϭO`M ?Y l sX똔?SD#dnRN62F>O"P3`8m]` WFQ ب9T2WG;Sh?۟Y!PqSԃLM&LRpW,Ku=.̋îJʌD#JpU#*^_/C/b)drC3ٞGNS>g}hɨ) 'òOKb9xNmH*/JҍRkI#RG3%O#4Iծb׿"tX#`3 Dh.wAi+Ybe>ɛgJJbd\:[N[R)/Z?`ޏ $*ֶ.tS"D,FzfHGJFt*Ug**s1hzW&aW=rlQ Z1Qce$"J /)ceٮ a JAs&-hHTm UKYjy<ICٌjX!vujC=ؐ=6N(s/9E*[LJUw݅Jigzre>q}ƯP&̳A R<ա05%k(f W@<v6Vm5m4ҹG~\1:߇v=~yc/ Iժ.YscNx(L4N/Wy88-lb2xa[ؐcf;GYLfnpdS,qq(N.VyZt{xُj&(PflTjWs@О=+6r}y [~k}iaZcZ;&Múej dk$Z׻~KA= sʕ۰\>.WٔMP- ~m7+t68Ւ;e{5š ") (,2ml+] O|i~Ŝ~qe|)!7fhyp+7Alo5bV [2]xn9Ғ^[l̀@ [Lc\:W3:3խ{o Wt~xgvڤW*vPNT@N,i26\%n[Dްq{QO)-^ܛ|1orf>ywCjw9k8=3=*!,?ڃ7#9Gú=y+ c[ ;c>3<ªK[㾽>5=+?3KkB'<*9C3w 6۳bK<;B/% >4+A@ DdB3;ğs#= C>K@ZK7PTH56 tO[ 1J~LKEC2B+YKBl. ʾ2d=BxJD9 aKk#Q=Nj??ɓƜB9ӛ/4@D=GT=3OJuTĴG 8GbQ%~D1 **Ƅno:EB룻^&RBhGw+Ʃ{CO:Pd.Rt/=3SJJJ[K,KLK\K|K˷KKKK`3<\aDsÑCFT D޳C:CKILKJͲdKTKLMK֬K|MLٜMTH`MMN<R)*R,PIaHP.R/R0 S1S2-S3=1]MpG8S9"`PE(BPsS@ TATB-TC=TDMTE]TD},-SITJTKTLT5?|SM UQ}:mP$LӌS9yUXUYUZU[U\Up$AQ VaVb-VcNeSpcmVK,;]:=ӓSgVGUVoVp WQMVOmSP~HWu]WvmWw}WxWyWzx `0`LUj.kp^(`XMX]XASLbVD8H׊X{XX|$~SRUeCXmVZB:ؖYYbӑ=~`hyZX=ZW|EV%YJR8 -Ya&,VZ 8ٷ٠pUUtmF`GH[H`Cx~`~PMZv]ZZMYb\YPZZH}\Ƚ\ܸ8}0ۉ%~SN@[MhCZ=N?0hX½5ܦEܧZRV\ͥTɵÆ]^Y\t]Єtuݽ?Wںօ[ڵ^ߤݝ݇}^݇FP_&޴_=HW@&_Xu3LGP_uA! B  2 2 `߁\ B8W_p_Z~m]_Nb}`ލ ]ELAM a-aVSAbHS2a5^cR_ MX]eu]ڽ{dB.dC.d%W&FߧG) ,a%,R(FcKb_ 3JL6cOY`PVYHd6eO=یUtC`WM=?[z= DY=`HNeIb4c+- P[S_}U.s0k-5Je__6׳fx=+',vh YondpbDd|`Mb4V(04{>a0}FV^Rd4Z i]eYe8jNjۈ",^jN]`tp%(SM-E:Otܖ̗}&k7JPj[a⨆jFhy^EG>i,&Xe6iOvSsd e{Zu~ȞlZ.4Zzkضڽ&c{hh{=jĮ&&LQbvP`簮( O镶ٴFnfn3ug7%n-mfnڞjymzM .na?EiPlR]6Xюv6?`P.v~mkWvjW&\`Q'w 2l=|gp XGWmݮEqfd_r*lmTr,_!_ۮnO:ErƮVV6r9-/r/?rIr_r2ܒEs5ƶ7ZwTsF:o#01?4O(X=t~8otRG'.fR 2E)hWw䆭*Z' +;R+H-쯏zz&# TEyVf-Rk|"vB VBn"䏳}ʣ͍t陽 !iB n y0 ƚлc1 )ۭ#'cAҦkm٭*A ư< =4w* p!;ҽtCP/mJ'[ -8r;վmT9wu0 3pu=U4̔zGsozЧ+|Dgy4}᱿^{?ZCo? 펐;9+mnW3 i/y?}ժ:0{8 fɄ+&g-}Ӝf!s9PsdzL|@g3TYpm;[A(.)8j>``Ev[Z>A0YOc42BV"9q&)^ *fniu|:\ Q|U GΑ骣BЅQ;0PZ>+C1RggܐJ(qe{踥'm gg8+er`@+hǗԤ. s汗x$7J΁7D3y>m];tIk6[0W(@orW' hNdT'LjJ3nCsO^PR'p*4e f OkhHҕ.})Lc*әҴ6)Nq:>)PRXruv^%@ԥ2J%EOTRuPeU*c<%"FP0*Z=+ZӪֵNE%׹ҵv+^| zeV>=,b3Eu;*UɂR\%'2mHа"L,hC+`[R }-lc+Ҷ-nm+eHb Bmp[,, =.r2׶z{l&?QԽt]. Ѯm"Xy(9W|H|+ҷ/~\0 ,Zղ>0nq, SX=J;G8ѰJIHz}* ŹEc,6V.} \ ׶5,d ;)qo8l%1XZΜ8+2) c . ff>3ɠ5j,9y v3l2~m AОC _W=x4#hfHҐF26AMs;4C-jPԦ>5KUծ^b-Yzֹs] 5%61qGa2p|rXQ|,sqA6}4 ?x , H}c B-| C88נp.0 Ex8 /P F8٠q0p G8_ r&WkȠ.c5 C^9 &N tc/ NB%PZu~T ^MZ.\5}64<7нv; ҁwwtCOxPۼ:;0<Ro:PZլulc=gv.u񞷽 /+o ȗj|.yb><;|B IW:ӝPyO|E鰛֨ ]͙} ѝ=U E2WiyM=]ş=a^aEZZ굞ޞi[!_ ­A9ĥAYƱAyȽm} "B\CϝM `  ٟ n] ΠCZ`Ş%`,4.A8p@[oHH@YH=  "F # =$Zk]b&'vbZ%"_Tba1\zaQaq\a)aa%+ bŢ"bU.j]#b/_ c.1"2~ )[1[).*H'Hٵ]N" &"A.AQb  0ID&c a3A#6*fa9ƣ%*2>Jc"--*""M"$ RC DP]E*P2`FbtGvJq䓍)$z%$!cKΥӭ]f^>Z zB_C&&!`aZ%[4*%UcSS6rT~#>UJjaWjXe__+^[f_@@ZLz^^fiFbNdj&`F1*E ( h!\€8?€!h‹ RyIZ&mg%@6xx~.$_Z0 `ebPƦ| mjm"eIRʛ5:eB Quqcr#^_ss~tu%vv"wBf~gg¤xLݤB2zZOXl"f)K8!ȇ~?t€\# (yqBI[2郚JheLR)y^)$@%#Plg3^n4f]cgT\7(88)':2:@;B'ʪF(殽z"kB,, 8E)SѶ1'9[E-">)/.b-/n$ k 0 W ;0Ͱ>-jV%R(1mX/soA/BMqfJK) k1'-,Q/qDkRn+g֯jhp{1jZ.o032o>2mm%߰aWlr2b%nez%%*n,?5r6q7wp/ s9q?p#s )3BP53A,|wiI;O{X@{nnK;7{_syH3sq;fyKK×<}@˻F?@9&I|o@>< #~+}ŹO{cs{W4gϋ:Ëįh?@¯ 0?;<}Eнݏ ~~"H? H+~;xeЧȯB\gp<3}S<D 480ʼn~ _}WTqqtW &J,%J+# ZOD 1LC'Aw 2o2tjTSV5q&[BDX7@ YR t*C'ȐWw*AΰQ:z:x/ 9ɔ!VA M,ȟݜi-!xj|wn wV? ||p'jANOn0!T JxFA$ir3g.ƜV4 -Tۢ]|jM)ÏCbK'5p+ [",3/:,+M!y [B2H yj‚N&H&| fznI(lRJ%2˧N`+ѩ몢0h2Zܬ^roF t> Y(47٪+MLʟ4Fï !'2LMcǢ;:<$W14Zh֡K3݉^t"#[.I/O8dUe}gEN2sNѣs;)~ ƟN@lK|yU*C-HCGՅ Qő~jx} XPTSC5:Um\Qg]fam80{ a$[Z *3B MV3:kf4Gv6|/|\&g%Ы]0H!olvI>pf(9.TSq~g p ^>g$BAbğ?2Dvv mjIsM@<,W!dw$~?.zlb_+Q|;Aw|>UZHWp}CS75)fD<]d1r2@^x4|RLi VZG, Ha6C1`!DFwuˁӃF ک=1T$-`iE.oq %x1rzz2"IrӉ : cP91c@e B>m[CFHE Zz*bt-e(J$0M 'GQpAR)z̍\]UǁZ<+3Xc g)$`6P yf4'J-y<9^0I'%v3:D 0Nr(V!ft4g-Ke"]蒽/;L9z  P6ܐ36kl,6kcټ,8Q܉%Nr+%S*p iuf?􁵼AQGVa -ֆ(J:3U* ?nh(#sCbcIk1⺡o469;3m\*<:2Hfr2*+*"'Tz$$6)┯)`ӱ)졈Jn(Sd:QȪng%Aq)7ǪXfX"/RdyfӦ}YmM][ʡPnb nzEHpS\wuP@)>湒_ёX;Tл 2޼W֎՞׿PyjHAq|NVj0ےQwu',Z!ߦ>c(,NIޖ9){{73ήAAǖ1B}Yٺ-T gy炜 k,VVquY.۷coM㘐Yf.!ss|"{ȀI2jW:+l^^R=q ˡy04cK-<˲yn5!975՝33amo f-\گ/MlK/rwWꙛgZojhmx3Yup?^[h>7uݽސ]7cfb!q+p %\mv ޗ${ z^tIWҙt?QiBs\LGKsZ:VwafCݡpY7u0r1ڳ@D _xWxWGoMv z#_V[dvg?{j\=G6YwCy{?zꯨuY_w^''!i96QkiûO{۶~N߼/^|*O7NZYƸ/\ͶϹCFKG RPWSP^cPap jok v{yPp /rn6$,40H 3mOүo PP P Q  @q q !q &q 21Ӏ > @E J Vq__`}@eQ jQ jk@vqØp&Ďd m䜏*HNPj cf.|i Y w p@ q q1+5q;CqO1Y_1gls{q  Q7Ѱ'B27 Q°- Qq$,1p Q)1;Aq SQaQ}!m1u1"}ʀQ@-.R$3  #$] _o'u2{'1(((Q))2 ! +r+#RR -2?4/# ,-uc-s.q4YhS &I EFS9ya9SS:S:!S;;3S<<S=ד=s>>??$Ls%ʤ6".?2 is.6$Q l2q/'06CcFDKDOEai)͞05!t5Trޚ1BqFS $4T<8L ܖI] "Vt4' ,c47v5FGgJGG- 0 lH%t8R&INIYt,]PSqC. 7@/?ra8 A5R??ZV@(47/T/ϔCsQ5xTQˆ8]/NOI4JT,KC#Ph!pŮ4$^U7d5#R3MRuxJ?D7itw87p&$[U[[[\U\[a[DUr?Os{4Ac^cUC.S%GqXP%+7lCZ_q#^sLF@($PJs]{@CmNTq:D6E^wPcS~dEq#&UL L LRYU(Ee%EslQ"h+g.&!cV۩Hiji' eVjiUASkvndkjB)lldVjɤX)u7Rc6livkjۖ:Vp|TVoޥ؂>TP/lGshU+h`7/ CkdQW6Nu8: evV E%% E&TYCNF74GvwG6b^ea?teJXuJKJi#QqrHuQ?)Wg|"lm/~d~>7.&w'!fbf fx_"ORFv BŁאZTFbVr;vc!U]@ܐ|޲.}KBsXe8 #-/WX)X+ " .-!|m_UTf3U8-xJHyXgWo6gV(eodXh4!tt8|]]i:wuFKX52C"~Aގq5FcBwJ0|+5/u3x*d9aHC_9ּFgM Ye"QeAr^d'^'tmtN8W9w7A28>9嬏{ˮTϮxoeev U—XgVθ1zIz]hlB&Q{.h.CZ_xXy|q͒ Y2>YvҔS(aZ㹿dy&Hhy3T17Xh~٠YyI83 Vj$QMOaerLZP]U/C.)٥ osFٙ  i,)Rf{9 {:9uZz"F^莘%lA9ĭttd:Xh@_sv!ڹ7mٳgk97#X6Y*/7۪%"ڱzl_4M eT#&9]鬥߹=5:@Kq˰ں]Z8⟿`B{{89D9HZ$\2cCN`+g c9cb:&puZŇ+\o `'Q*yaΔK/Vō3ǜu[wwP=_\͜\еh.{휞?{1H|vH'U f<*hyܮKm:ϧ xSзZ!! ˩<u}Nʱ|E+}eřu\G)D*ԣ]s={տ6|֓Qɉ;գ}ʁ߄7$]O\]Uܽ}e|i05Uxw܃-г<ݑ;!6Ã}9~]ٱc <!ޮB}W*aYeα;I¹ *(߇߱ RO>f|Kp~!tyZ/cL$K&ýBLةݲiäTfP'ޫ^ޯWQU>ߏ]=_]IYOi4e{#Ec?[$rߞ/?R-υW=&b!?wzѭ=tۛW"K6MvqG%=/ϓ ;a0‚:4آÂ*/>":G⿉$ `Q` ,[_Ę$aT/bqE`h C& FAzMn+?Y+~6ԙ犟@5t)S3S:7V^G m$ڊjٲ+ݒ ]鉩ib"yr5s?RnWzzP{yQHtvKl{ UQ)fU%R;1b.PN8/HcHPc/S>+ޓZx(d d"riՉR briouf* **ҥZ)e%qI&}fއ~̙&z2 ~2ڃ$CjD(pGljhȪQ'7k/#z$L $+Nip w⫧\ |cV8,}Vvl6#aܦt?. s1#mk\a^:IQ(Y5D="()gM^5B{|ebz1Kq$eUw]  g :BDwތ8w4Chspc;UYW4XGCKwww-n\=nhn#ZTUl[j^b8 lls9E|jtGr<]cݸ^;xΒ:ىGWR"\"_\| r&֓4yӖC8rwa}h,yJb}If-=+ﺹM|s_?$mwdi w';ϒxE$#?"z#q m!ت'?B}dq! G\@!j%ob_3(@e.щ83 w$5h,HDEQ<(h1a+<@Bq R )Qcҽ$DL诉gش)Bt#C␠cʸ  E7냘a \ I\0́,'1)e2H S5>D,&3nҙ6IN_ Ӝ&8I,s%iD19iA'3*v~Tq6=)Jp|-!t$-HԤ,%)JJt/%d:SV, v4,@nJTjHM*IjL.-Zm+r c{UWU սo?ގVUz aWsmQҥ`WWKƦM)QS%f9ػf }`8}Z-V[_ W[cR)T )BK Jt„F˪ , Îݱ;KT /dz^ǙɢMr))7J2O3x3K`@V%\#hb!NRhQQ}pfujŦcd7ϲnu-W$X~ uFڱݠqw*$,趷}W|{/ao6$,ׄl[dU/'jS- TB<аŸV[[͘cCF{=_J-=e 0+2ky 29 ]P py7 Up::A=^"3#:]\xϗG%;I须[e%@}p/Nv=v$.Uy+YF/#ṙ#}m^U|oLSq ?&߼K>C^ rg\(̧}Θ|7 }HDwtZ>Yau"l^od]%:meE`Pw\@edLEoVxƇox\cq*! ul9URX-Yd(uɇ,!h؂fdaX.X{*XAD؈c Sؐxl8͗.qx}هH1)|+HrtvfIVYfykmmXF/j>@)(o?|wIwU 9wqW 4?0 wi P UQU xG~Z.U~z٘VnekoH8 wFOȌ}zH*Us.gbrE2c 3ƍb(T 3 \S2nelؐ^鉞YyɖGy`Y!Iȓy (Dn' $Zvn])! jn--o(` .m-2Ѣ.euɎa)q4mf Fj F;rmW6(7ykljɉ3˩|dAEiXSkZttE1Bljnmj}<>C3#ji1TVPJ3$ɥ8yk%  [GEr G)EU3x%d :$ѫeJ:4&͉@H ) )< .ӭaԋn{٥[Jxj*d` `\Hd `0  8Ij8P q @1 #[%i:Z,AʄbZd]fʪ!wQ Pp \ P+ GKO90\QG4 P["i%ilxld1 1 a;Ys[e˛ꚥt hs>a@{B w qL xK A q `\q 0 p q 0~Ey6zQ +Kk ś|ᩅ2i;cA٨ud K;˾ D 0 ǐ`KŰ P!?  K̿{оz cq7}C%1&ºa^*;x[ A{]C2;gA, g~,6M]%1;x>S<|yÍ_ ![>`LwpZo|PaQ4aaZǼAAa8^ ǃUcLȉf˞w i'Əȕt,;BaR,Rj?k|[Įjɧlbʫ ȿ[)mʬ,@˻4`,̼lp̹} "Ϭ\?*lλʐqj|l ,L|0     lkbM9 YlzL2+1뛣qNjcWV<\-?`sk@ME=cPҰ,F Q WlӔռR -eҌ̻K)io/M*W]8\ ɗ ؁-)ԫ2؇؉mHJkmUMٕm.Ӗ0]cGQB7.é{Ռ}8QuM۵m۷۹ۻ۽ۿ+SC`ɭ2l=H܎Ju ]۵s=p\Fڜ\3* -^; .NP3@ ѝms^-OݟsګD\ Zؓ[֭5n7. ? .Jޕ.mM ޛQRν 1eA=80ښMONe:>nknCE,w^Q),})p5!U|n膎e1n6 ^^JJN=nf@;@.>@ nnKɎAAd .:`:0ٮeniN gBBp.h@?H7 _] M C ?k`kEi #?`onTXO^~ꫮ.뵾.~ʮNOخSݮ/)~8Zwwߧ1-iccoN r1^=o OCp_!O_`l``p//@rGǏj55 ƀqN.hmp?tvy{=O`o̾O>oB"B&Q"D.|8Q#E3nXb)@nLqb$ %s5G N5j!UTR<}:F0U8V/9P6ZCZ3mPKeܹb슉7|c8V^DbqLFS,O) Μg|!p`APLC9֬F6kgn$7|K]?E!͝E:"խE#ݽF<#Ϳ@B="ݫ_C~ \as:㤄x㧠*Z)ʪrkJk-ڊK.K 0+ s1(223BFr###L(Ɇ>bIJbVj饿'x)(rArj© 2 -{p뭸N.bчy q# G5۬EsNSmք-l-7z+s観3s>l? $2!Ds'ִM P :AO.MTQ"ñ43D#mȑ5/X$ Pd \1ž<*mE[3ES6W01EolQ4H$-@\@Щ,^xKo)≛%p'www>x'xuW =9y矇>z16Y&oU0Hz'| f!9Wt7~RuXײaf(!A@6Ё`%8A VЂ$@W)`E8B0)GS$sT&e4auCӜ$?$#HP? ,K %iޫ (:.vы_DRAJă cո0VDk)6ٸG>q""E4$HXI[(EQqvWlPGNvRcܠIR)%Y>ȑnt^&拓єĥDzol_YFWɝf6Mnvӛg89NoJdTbMrӝg<ɑ7dhܶKL捖L<:P#%! akĴ=Q] 3M,rD:RԤ'EiJS+!1d:ARԦ7iCn ɬ~~ iRTr1K/aRVyc&FQi~4'TuV_*J=`IVu$ |6DՕ1'Ge)ͣ*y-c:پ/Q"VЀ=t (W)?~&sXcOD`E~@mNY5&s @W"u-C6݇`$0< ed+.׹M)tY_j}g ڭPڢjM]5;G,!aD n0#Hح|@e 1 ^p?AbMb |aBW+t[umJF ÂG1~0k$ SeȪf9)fFIRKvڵ,plK`+A~Թ)5 Ϲat!UnԮb Ѯ PJ6wt?| QN-LS U|  }.̮`3Eδ}щ5֎q1`C0փ NJG MB!քg۹ts OsDUsl&ΚXc oyzkL x5~ 9;~#L Ije"gd˝j':pOss1Ёn]蕵uLn Gd[hK!;*1,&Wq]%w{w|I'wvWTa+6Xelz8/;U`AD/w]t "^%6o|79 _wa5%ovⶪ+zd?S:K…U~H<(D) t.00P?hCj#LrU0Z<+,M+OۈP@ @/p>B4WBWSCsCG| B:T[S©?p8O;\cY`g_) < wŝǞH]0L^4&JЛLT-سíH(FH>?DZòz3ƏTJ8ndb`(¼YMLTIӪǬG]l+\p? )zB$Kd@}CM=FN#)ФۄϤ*;>[N:ՄL,+|)$_4-#L ϔNbItFĂƟ'|OMOMOOO|N&dN&N-NN_;c"MCd͉pM͓)T@K,@95.+Pm*ݜ\VSjAI9 C%[QњjT2esu/E'-;4OdR(R}O Qj}.k=lXRăUDYάq}P8BNΤUbW/{X%cuSMSNDORVxXSI졗٘eR@KфV#mQR[;XQ`|WRWDdemf|-}~UYm3گEY4ԆDUs ^u2H MZcUƲuZZ"Z|uO}-ڬPPeuDžȕɥʅ\mUXɬXYXMPUWԟ-J5K-׈ӜӒӋ6R*8 %ɵٲ5[N\B ]^X_e^]p ^Rݒbݲ5]$Sݍ½(KEE\-D[ԥJ_;Q 78Z8Q]`ލ~\ߜepU[{yuEZUZ u`M5* Nҥ^=}_-љO!S9UiayXZ\ ^9` έӥbXXuaaTEx``5 xbŔy #Q )haVb+b/cQ3I4ecH=R4aJ5E ^dMٔ"#FbI&RaTdb*Ob.RcA2>Nc`^c;e0Qa4;{>de?᳜]ݛ*fhLfE6!ny#NI^bfbMf*YPg.֕]QS6g2xTVF-ce^a:W&wݍ }e,,ـVcԄߜap柉dPbjhpvWNf,[Qg0_TN>VvG7'izߚnii=~$YBN*V"^]bF&bvjۈijk^fgFg;&Bei|vβ^[렮UƼ`f`i&I^Fnjh^lJvlLm+o /r&9$m56a.dZ&zgX&=F>6*IVjFlfj^lhf&g>>njFpMt_aV*w:zFpUDh ^jonMdP enS6T:/Yugb:%+W:s1糤m眞WE`qq Jr;3s崛>G~jnlhFp,/mO;rNۥ?K*APPsƩSRg*UWy;wqsFߤuٴro^hnhDOPj$~6*n\uvQ I+Ht:6w:t)yGċhwy_HwH=iu]sAaw ~7|7vdM!wdOih~vFdT%fjk&6kKrQ'JX9k9y')縂n0Þoy8-S4u{mo_zOJ(sfh.rEvtp(˞Kn+rNn.g\?mQ /=?Y¥'h1K/z$Gz@m;&r*qN{!ofoi'vwnGyu3r8Ct479%u~&~˷jCcTiHMeA&)/~G$CH D(` F >f  FbI .M>"uːU`]e+"^ /FΞe `b vAɛW _55֐!X+F _*QQe%.Yuar qbE HZO<8B,4$m2FqV.iҍl-J[e=?߯Do‰GȡOc]ytoʘ3oBg*?Ԃm 4? ]D Cxt !xy+K𒢊Ң/ 2*Sʄ;6ӣ>&BZSEK26OBSRIe)Wb%7`f{dUff h=b"ma lvC,HX]w e\drʉwqBpZwY!`$g?^bW}e9`(jiQ؝uG"*'+1ڨ?2۬BR[V_``aifdyYn&{+z頟ګu`(Jɽ(Jʫxbڮ#a-b}g~ kHz(;+7ްlȚ(;ܳ)kގɘh,j'6/?ܰ>/rC <(#8qa*ǬKX':F , 7z0?C4Dkcㆬf~t>گy=Մg]]/:^فvg3x,z|oZǻ}Lȟw6kA&cʬn2G'_&`#H9gL;ӻ+u}|nNN[EIk7KX^=zOTr+|g7ykShEQ4˟f/nk\fzEDAszT~٬n!\NlTu7D֬wTt&h fӼ#qǑQq6.cE/gW!x>հ[b\HC7- 6FPA+Ήl!#] t /;Ƌt;!82;טڎfzƽ>}Չ qcW/"K2c|n{ގt;]aeCD[\TI;Y[ 9"K#ligoBT C,˕p^rvd }ԴnO@L\}` I?U^ae,4nT'xW1@Z1b5 a :"a 9:!:<R!փa^! vFa:?aCvaTD\-@aaJabm!w`ځ!'AA-( F X)ތ޽y޽}hI9yћ荊ԭf"Za޻1q+~…CQb1%~U&'"^HbEph!ߍc/ZE ,-Z`RtbHY1#222c:W'G)4 \5J"h%\y *ҕmq;8#A*ߘt?A.߲8!C'$#dl%e $P#Z%MN08b-Z_q.N"T %9%S_8&8M+Q6YRʉ&8`e?\%u_B,99"am^BHJdN&U5IVIv{kB\JsQݵn^nh#R)HlSuufce)%̟DhĨĖ^fYn&Xhm֚6ðiAL.6)#e)]u *u̠vj`j I6hnZ8rzR\FUIdM i&ʩVi%iBKf8jn]L*7!륖))lͧiji)Ԍ')}J,ue.)rjV+B_% *cܓfB2:+e*+^fjq+΢)k֪F,Alʪ,܅+m&諆"&+.Tn1, 9ƢnBŶFj*jbjwmC-mٚ٢mڪڂ[- n>*f'$+kk-)nzfmn-ukέӞ#.+>bV->&-zm+ $Iج߮-nϚϦ"nmZnҨ|@ʀN\~j}.nv..F>lj*vؗl튯ޒ//(5⾩N&>mFmN-f.j+vnIQo6Sݶ.m'.b""nƮvpqhrmEN!/f /|j.:Wb/zo}^0B/epBbg/;ư FNƆp*._2p-BpOD1m|W0U/.onBEbq o& 1!Sq p11^RqrG.qVk*K$g  ,/cr%?/cSR''m(N2Ξ+G%/ 1,+ _%n"kqg^`ΰ1s W1J #083F)q/7c2z3'4^3Ҳ%rꎄ42K 16/t64CsK"[E7>r ,r0sO;C1=^!XJ?4@;1MlN>1L 40uS{J5P_V*/RS/5Ts1TpU[`u2n5W)?F6Z6#%Rjnvfr"]WQrRgj*gd*tͶbt?gxpN'o#@ok wqgu5'rKq;7CtBzBdt7r7(9K%]3:ryZwq^Iu;vtj\& jmm{wn9eu #\Ic'aS&-B@|wi5$wI0anťwIxilwIlޣw?cM&*j@}Q*1BeZ*#̏mPB9ID8xg::cAD#+#܌KN/i>w(C% k<ЃrCG;[ՇxQi_tI|:=`pz{HzӛG;95/`ý/53;I1x݃Ǜ0Lý]õ[18CI p:^C#5,;};ﻺó 6b&J#,l81L0ܛH캺HCX<;mȃ<CO<{yF61{?|ͻH}{'s»Mbߣ7v,8l۽o306|<6x=؋=qς3L3`4,=wׇ}}9wxcS3$ Tgh4U#<_7|`w;B ,ǽ?/<е>>ԋ c{KM. ӷN;?|?~k{:c&/=9h`&2;H\BJ?[';@8`A&TaC1ELg_%.DdtDDA9dȈHoƊ#`CLԹN'_SDQ%t #8,9jU,e͊dʕ0fOgѦUm۵^W֐1wK1Gw$5Mi*;jcǏBHbرQ1*+|sfMLr6PG6ηqd׈p+Z\mqǑ'O.]vGW_>d?|yѧWW^K6w׿畢*-RCk5Z ; *P уRP[I8 QC\9kS6s;iƶlnG4L+Abk#RB*Q>Q-D瞳KE`/dj;l͟rG>|-kH ʟDkIT;-J+-8KTt.Ř*3@dF'csQksHIMU PMB/G "_f?jHKjR.UBLeV:sӊRp1CjQxԤqkSiN򒘤5of:ΰaY~sG(AV"0[63aM-C1;ug?/ִMЌlZ[R5XV: w$+rV6n}+C &Dk^0Jc5a& ez!ЦCfYB1AhI FU<`(j)9UoSYmBo# ܯV5rG n7 80!JwTƈ=bKv<H]dV J6H8mSI.8\vp8tƭ'f5CWXҝn\ 'NT=h, x8.4 '[r.}Fȑ&Òuߣjʜ4CxmUMM/fg]]|y}k^7:Nn Ҙ*q{ JiS?VĞ^_ĄVp355waFm,3^5ZW#7w[1\"!6![-7٣3Io,hC}pK⑏o/Yܪg ~wwj}V sִtb]f,zR9`zxl/;+5nvڹ EN"ǝ Vr6ڽ/ϻ jc9 yU:?|axu͵j1^alTzZr0$Vz{~؉=;Luڷ}E/Ӏ/حvη άn %val "cϒm NT.BJro Xf@ n0˴ oX(1l͘N`dl&ϖ*@ IM2N ^FDKlO Nʨlݬ,D-lOM-jl,p /"/*.f"A:ش$μ R /m,-0[nȈ PtN /q 5 9.$ iOlM Ӣ o|`VPG/Qj`Oyo_H % ߼1ä1pW P'1)kq# ehhr ;kt,@@pݞQ&-˞7:#e 8P$Q֢Т{Ư%ŧo[ &/l&&u tR  ~J!M"""ެ*%nA2+u$fuA-S CQ.i2( '_'s00Qp(\n)cp1  n225PEV 3,b%`:&F/-c1&p&ًmn/o/! 3ʊ13S8)P*s}n929 7p:ys  v"%_1NkL&.e.kоR6(3m7Qsq84* @P92g+0> l9lvS |[$.gQ5דDep0 '/(73 s-1p1sTG#*@%Onl`l4w OCQp-;D+N=.DR/Od'i3!E4FqF}j)@{0qp+HL&PӠ--r@4@PB4=G5[DW DLs! {M{M5Ga5V#Zl$ L, +4XO4=4t2UL@sSMz)NTU ]O]5H?rH1EQ< ^-t;# vKSZ]ZVaaVC[הT?mF\WcP]'PAݕVOd5fb_3T \_=4`Rg'D|1(bQ+vv?i1;G[Ajıdr:SVk-~5-a2fQ0gpg.Rta@h>[aib#M19vG3R W9tAJV$)k u-@ls5u`5+uZQT'UT>eonn+ousToMi@v2d)96kmU3e .rl 8*7-p` RsgWK۶Knﯗ u>!coow@,9׵wVq3Sg!֬:?W| T5v?N]75Z ||@D{- ^ѡ܀;{§9+bE9;UOyYKu[YUw/3ՀA+! l̄lX7m2Z5SG95oњT1؉ע~3O~a;mO  |ܱa6 }ֽ-{TܭcNC;AtȄZ[}*yaTZ!|zGz Z \EU)ٺ\;qţsiFj-]'p z3][}?=ԡNAU]OU< Gހu}W3؅<5uS||/ّϣvħk5 `kI"}f2 Y1.5ݍ!,/WI]i9v:\]O7WAڅlM޻A9ͅαW΃9=ʎ;QeߥЖ{EU^IF`'d_j>QYy=}և-''ԋ~ÕU4I^JA;~@mWZE#w1=e38=9;L:BuJelh: `];Y(g–핷WEn,x ً_XcBKÇ(25HR4hbg6s`hG$c'YHs ;7 z++ZĸG%!E\|e ݗ>tgB:fkt`tq P71k7xy 1Iq>W _ ^}oj2aW>go)] ClscҶM Cc$ǚXwBM~wF F3yAU6=ug*O*=p`T)X}\_펫kP짱9)D6 ,@db:27I X,\`PpIPPv/} L"e)/w`XG'KҒ uGї0m4v 0BF|D "]4#qԤ1TgMs\y6̞B]p9򆰻 C3lld0N4!4i5b (,|ԛY&/(N1xI gSn.}\ 8"0& W 8E7!eMl9fNӱE8mbzm%W#q@&L'G7ӵ|A>}8Z=|O3y^f,m'|,W4l!˿pH,@=H@ּ#/$G2 >D >bw(=}yV#iAL|̷\`3PygrM Feg =7F@56t5_|wt wmgKgc LxG7yW@Nŀ@X 0X 7zkgq`g~~cp$~3et5'c,W ͐@uLp}8:T#d@Lyyx>rPpq0@HDp"[$gv0tXP04Hq| }}8dPd@ikLbyօ﷉l  <@ je|Go8X3 d{!M0H`܇e̠ !aVw5UE'O``H48H|@a8H0vPk 0i~|?iꗅD~}G"@ p @q u@PX D(qk)畖ppX Pi׍L03yFlxX{XW>) EIy 4@upUi Wr(kЃ )i>MՀ 9 w ng09pYn  Y jNuPV9}ՠXЃc,da)x0Ya/  Px֜PYٛnP)Yɹ͉3@Pu`׉ɊjWxh$] `,ڢ.j P:ZLNy @ ڠ zW5h;PU)Ik!.+ `jy) x`jУАC `Hj)WY`:)"B ^ ڨ*P 0 * ʩ6ZЩ ZڪYyxФ~#:Sr|W((ڥzzPiʩP*|r%Qp ڨ:B) @BЯ;o` {ꪰ w 2 EPV@ITQ0!$;ʯJ{w {u1Z:n` P p()˲-벦++v0;{D16ᮁQC;PFK HJ˴봾)+ᙵxKmѳAp f2{qErby+hµb@BK[$Z+{۹k^ {++˺;yxЫۻnj+țKqry;K.[^(Л鉽r;3۽㛾{⻾G< [_Dҋ6MK+L5U܇| <d lGk &||r#,}%0\)2–4b9<,M6|܋?\$F܎WNH8n:,XlyQ\[ŵvYO^h`,jhdĤ{k,H" J}ʬ 0=6̵]  {ͬ>봎@H(`]N]8Þ&Kqy!HD튂^>.>)Mʞ/d. (~^շ7ĀP,ȄpLmJVHo`N=o-ӯ&*?X^98;A|0ԣ}=9LoX>#05?/`~] NO|KnoK9<\7+x/?=~pBxP{ qT/ћL\ϓN ݣ֦ )x|HA| {J]9p>.5.܈OJ=ҬE}χԏś[?͎8^{͞~˱? 9b?!E$YI)UdK1eΤYYp< y7CBx|󟝠pLPDCu'x@ߞ k,O{^%##"y!n޿ q i͛9Vۗгs_E"6טmv ְ`p#ӵk9H;{ji<Æăd(<&]trq|[wLsѥO^k֩!g}ڦ2Hx]~x`5=$^mjm5/+dDz6 @˵Xk+2=4{/*52LoCHt*tj KƦl/G!SrI&tI(Iᶃ2?$ 򣠝SK *` + +T80))#r;!#;@ʣ '7tB*p&B;Ӭ,N2ܒЩ4izjR I@@)@x(!P@B;v] ̝I?6&Wv kDz/l#\[0;–g!$,gB![qɛ*&LoMca- ؂[Q@$ϩ\u\ҩV~y曟=Ry]z ~{~&%,6Ӿ7AOI{w})~~P$` =&!a==YX,$P$ Q< JwAk\">$!9B}* E2?$a׆ OG:?؃}mvc–I*{#!zm!Vޓ5*Nq빕Ĉ< *jZx+3=tXHކ;}Nwb|"B0bFKmI od(G%L[^dDXoz@'Bvy1˴@2dցҒ5H#By)Z)d(^Ln(qdm"CQT$F(ڗ;5c!0STd0?1t{î&C''f=b^3$tJ[5seKGDzĐPԞڀg!` Ru=bP(e΄2['S <ԑQJ0JXUDRj"Biq ShAQEDD I?D%\3G +)12]AB\qǬ?\ZEn=K-pu)HM֐!AFRBhG+4Gk[+ӝD!YVkw!E nu(m?-@'‘heqv*[4յ2,nS3`Ļ C(5Asc^8=o@tճSސ(f6* ۘ2iC/9V9C/mz ?M-0d*HA`zj*%|OT'ueC=ĸ-5Q~e8pP8WU[2~M9觘RP;%mOmVd[ 9XJ;ŌRS=@Ei'YL#1f>!2(hˮbא#uU3kKMn*ƊAPNS[")-ӳ͖}^'L A@BQ* V+vS"cOC /Al]0!Ɲq/[*i>u2Bn v]BE{,`aC|DJr86>6ûX_܀^g҆vo#*A+r p#.ccWyi:,sc;PK+/* PKM%AOEBPS/img/cncpt251.gifnmGIF89ao춶YYY輼pppǖjjj???Ԕ999cccȤ螞Ҵvvv&&& 666111-..nmmJJJlllUUUgggzzzsss^^^!!!)))}}}BBB㈈JRVHHHDDDrrrMMMSSSQQQ[dixxxfffddd&+/```NNNFFFPPP\\\<<<:::۶q|ۼٗ,13댘ku|V^cGNR49=ycmsCIMBFIw=CFu058 #&(+/27=@nx!$&grxfpv',.ܲ###@@@AAA~~~٨󳳳𰯮OMM᫫侾੩kpt߁̷}OOO333777;;;WWWPX]+++!,o H*\ȰÇ#JHŋ3j؊L CIɓ(S\ɲ˗0cʜr͛8sɳϟGGѣH*]ʴӧPJJիRkʵׯ`vhӪ]˶۷pʝKݻx[V LM +^X'RKLe/k\qdΠC33Ө7zNͺkҦ_˞]p5۸s{hϟ>NxDƓ7HЉ#N],sճkG=}׿?;ã_y2#Ck+]<6 hp1B@5ACd$Nb MAJ-2DaApP+xB( ZYshcOu !AdP\aQ?ÀI R!F0?%?C@O/ ;PލQ?1È\?t@04 Ҁ?XO P@?PD\` Gb  R 3?UAmȝ(bEh >(at. ؀[d\^0`h-P)C9Tp8-5*ʱt}iB5҆wMS@!nP"X0.KQKpIWs'pQj}t ZhK.G  GA (R10yL!Ҳ?ʱ,BA^ dt =uB' X@n' <%\D)XB9π V(lNb̃UPѐ'MJ[Ҙδ7N{ӠuUa ZѨ -VհgMkRȩ5`V]}PMbNf;ЎvA [׺n{Fς臸MrNvMuǢڥ&p wNOmm}ɪn[ϸ/|dyP]W|(OWz"HN<P`@g˯ s}"x-.5P IӰjpCm`BQza~L8?+|~nO.BCDPu?C :q)[|0l0T<8Du3v a84ty?8?p۞!I?y >4#kl& 4@|0Pu(Z==]zP\a ABalQʑ?_8_> ' PLl0` `{` Fmp|xPs`(~7~' x}g PmVP'7{nT{wcw 'wv`@p;PuQ Qi{@zl ;Ppr9su'~bW`tf0  p`mNHoD"FGHpwX wb   L`k y p vt`PPa| Go@$8 vk8pjpwP ;v0`G~&|PLP@~`føfnbWP WZhlPPV00 gt#P Ȃ(nY׏L@30DyJ(>Lt>|p VsPRRx`680 `whs60`r 'u>6g0vЁ6 l`r In)wCY٘ wEtY)o)Ew)t@wFGy ٚ9Iٛ9YyșʹٜyvV9w Xڹٝ9MHni`{ў \9)rՙ Z y5p ֟1ZnǠJxB<6mzS2[`ΐа 3Wq 1 `0 P E!k#j 0\@)J6 4$b@;J=AzCEhGZI @@[ =D@b #`(P*@@<=p_ N0 Ч"@\p IN C-`£> ejgJiJ'YTf$ RDp'/% Pp_\a  @*5@;&P#1D36sp'ꥩ6ʈDڪfjH)n٠HJ@ E%p 0 <. M05021 %P*5:P!?CP^Z_ 1JQ U}GD`0"/[[rM^ZI M9Psb7`BdJef腯9P`  <}N1PIT."YUP,0䳵S_Up 0b/nkzhZP#PYP 7'5 R  \\(cٴ8t !`tT(h+k{epUGNP䊼5@ {rk M@X5VDt DY'"F[M ý-E55몶bʶd !  -jە0@ǐ vCꚶ3Kaf; VHpYn& l ܮ;O GLWfƶ[jƩɺ! 6Qc b ~E` Ѱ ļV PE'&P GE0,܀=" / UO FM9 A Q   Y1 Q,0  "0 v,YՀ!tvٜ.&"]pÐ(`B>ÐIYapb0-Y  p5 RPp Ѧc cUՄ0ۺm^Np @# !GAb!ulodM@0 MF@ _ ` bp;C Pp."1 0^@ރ ]`7#]0Bp< " s & ?[-ՌG 6 pa@)  .-'%  BNDN.I{MlP 4 @9<P 0 o@/3@3%X\uP xpW5 G`1,KM#Gđۓ `1@,@ː "p W>/Ր:GPNq],H6G 0%^. P E 4 DXU 8@-0` ` 0G "p $HO0=A / /@*^WE)0/ /`?ӝ~._W0l>\`7 +#PXB '*@Y: ಮZ 'P4N'Pc: Gp HP $6&.,]  ,PG޶}"N)T/,j> 0!E\4¿z`GV0@<%ˁ2Ay ;VG5eDwKQn0EZmw&| Zc%F?XʽBf"ėd/>ikNˡIJ*S=!iԩUfkرeϦ]mܹgE1Uh\\W.-jᡖb zP3ֱUaįiuP>(B)3֐ %/f&tX@_|!`,bD:9>Aƺ*,Q2 `ILc( Jx@^HP4`6 2X,L3<M4LI(rJ*J,ͷŀ9.{.K4u,:+M l.l> JN@tPB 5T- n0DN9sPJ[D7I $;ԓI?75TTSUD\L-sU ͭFM4Y<A<`i:#TrϭtVlvU[UKFҭ$=4o Ѽ7ME`+&@-Y:0 0AH ; 2HceA9De!X}L!0kC J$C/g7ܝDa@=wxa \L'5f0#.PbI/Ar D+wfU?\|(`*D6 C_J@%BȩW@ #P1\K02@B" Tďl( (U^(:D4 0'P9#!FSˣ&WWUO6Q (X!1qAI-\ !V1 芊`+pPvDLaͥ&N&@XH ] @I'.Ad&' @PXP!!QXk~H 88tO2֭@(c La^ITUP@*';6 8p0*pǏ\@K7AK`(Jw4[\?XЃU4To0$\{H.> rs#pPboE1K8 "T`@D bEcNPDR& [|c hZ>hECSyTMlp;K&-`.ѽ砯-Zm.>.}o|&E#a4 PL@x-A deۉ}d[#G &~r\+: Z>UNjb;ILr]Q `r$\8d=:h@DPm]/()>Hԁ Hq#=6|p{] -[66EPCv#Hp ,W[y l$'LG.@Rꓼ7' @0 7@0(טW(W8! =&Ё.d$pAS1D nUI|hxw r{@B3;4+Fj[Xa†Ip` p( J؇\HPؠ36+6l@@;4~i1rI<ŸhT(rOC p"$cnpe)ا]k8X89SdB'Bx§i>'D8*(Sh22"82JfHj3,؂@%E!xAB5hX7(9%z6J?ĭ 710:5S؊P + ,B `x!eI=ة@$RЯ 81TzFˬxKBn7d7lHFFz3d@bpԫ11Jj $l*5a0`G[!h8q;dH`sU%F>ȓBo'aH0X.S"B N%Za'&,!2^`SJ3$=|ʉF̥ʜHLkkF9LӔ˴JF;̇tL3ҔӼMtIM|HΌd ͈M+MLlMLM\MlMAFД9SNDpl8QV\piuOUW}[uN\eMp4wx \qAQċ xR'c)wQU肹KHRF8mYxYOP$ mN0WwЩ:`$e__H HNR|8@.>B` tEٳSûm[ō8 s 耱Z@x܉u87PhrszMiK84|^BmQcYѕ^8]S] 8yܜ\N! VHW:gIVOHJ ՕO7e}w^~ 4]6,ϴ^`V |5_v5OuNa%߬#v`a`a|7a"HQ88'~b(b)b*b+b(ϲp,c1b1(!.>b}"$8 c:c;cc?wx5kpcw?NdE1h0a4M5a6V]h MdNdOdPeQeR.eNF@>ij0eVneSbȔIVJdWe]e^eTUeafeXQYeV \fg~fh_`fkbMd.]eŀgr.gs>gtNgu^gvngw~gx6T"qg|gxv4mdugN~<fodHhSn[ʊOYhhFvYni;if MEiNݘU領i:fCx0j.j>jNj^jnj~jjf(XioFjjkk.kyh`(05H$H7kkkkll.l>lNll{Ncn.mMFllmm.m>mNm^mnmclvk{%nvmmmm^mgٖl}k۾nn~nn.ennnnoo.Vhnnno~ooFVodooooo?pOpoo/iL_p p p pp έ>k8!()t`Jر0 jw-ɽ"Ս>uqtBPR8uqXoz.\xaPqVgX? VHP ahRYrMIDi Xh@ VPy`Jok1ap qlTUS8[)|G m8tt; JaX̣wp %[w=lԝ`1Va`.`Ѐ1haPHoR| OP'k`d1 p,0g bHxxWu 0!}0UPpuh$(U`Pc ^ QS( ,h8 (Q^/0tWzww&DiP@.H01 @0@{wx8epQ`..1* p2Cڿ 'nR6տ{>#< % 3[n%Wwc_I:,J;--fyh!wZj֚0`*̰d Dpr %BB`A kzޢ z2?h{C 2 LZi4G\R)/(҄` +Ba?(-0C&:Ԝ1$XОcSxl\Wj5]{a6ӓN魕j '%LP?ҁ\m '2PO髿>ea뤶QrK\i'D8Ɉ zPU`WG d4MzSBl1,dhb( X?nq>($e2`PtPwD<#B8&  ;y? hp-^gH@pC[4>u#dj=b(9Olق^ԭ*kkrU$ϭg"$DIKjc5ѱ$&#cG1&z_i?+ !)"%w-#X6J%.sKll&jRp Y1 S݂=Y΅.m)+Fw@$S H5Jбc{#9KU3״%73э:˛ '0Y?Qm=hB! pRn(>P@x(ٹdCj%BuljH  `qL4|UH8խrU7`3\Y@` h  D@_fM+"`.dR78* y2! !=Q@npXDR*rw9K6(b>x@q^ft4V :XF3#?hZk*HD 0Q$@Q+y»;yM QPF +T1Fu.kf#e l6e`)!@  Et@q j4KH/ Z@X-zxH`caPe2B!Fy?A![5ގ_n'RAI+M%Z^|- I]!I-52E34Uu[_ *&WڏDCDCLQq_߁` .Z  \ 5p< FtM)>Ԁ  n_0߅Ԍ\Jڹ/C'[`<@T.\BpKyV`*[v ooQ6" Ь> T0 tX?LA2@ .bРdCB E=@B~4tV'(iP&>:32 $ $`\YBD$@P x)@Xd)*fI<t 8A( t4A#!23>Ee^Búp),`3,X2   H?,5+cLB1H?B (\B,?HC `! 2*d2"B$SƟDN(YBStI`hZGP]0&t:ޡ$H@+p&AB`؉e@%QB 6dS=Ϲ LC,@X2lu]CFKMYY23|AM6Á4 "xe"*]&`&q fI 4  @d1u C1Ubb-?@2?,;XC:š!C=4$ eBB._&}n$&/4+Vk 瞪in&)'-k?(++k5Ϋ&Aҫ6l3kk!r+²ϭ+뻆k>k++lv,3`Ž,l6Ǧl)ʫz ƶnl,(ט,fC)--&>^Dk;@"-k\Tvf-mʪm,Bj-ڦڮ-۶۾-ƭ-ݦm߬>֭-.jݖ`I>.F^n4n.vm6#掮z/.붮fؒSR...//6/cnFN/V^/.:/F"//ڮ&n`Dґ/~Tկ2//0o' 0s?08nWpP0oh/.A8 0 0 0 ǰ 0 װ 0p 00 @($/17?1GO1W_1go1G's3?3@t 4A4B/.BdDO4EWE_4FgFo4GwG4HH{2C7TJ4KK4Lô4JǴM4NNt #M/rJP5QKO'5BO+5Ts)S>DUTUofuUs5XfV?uX0|>IdXD@b C &F'$xuY2xxtafD t@b@h[|׌u`/4;%D3\J. TAu@HL@0 A%8V  Þ*U"!. @jF`eLB8)/T@A0 @ $8 `-P L3C50AB%@BD xB2܀1Bl t'<!P `ovo wL;`tA=6" APT-@8@+P)d D $A(@8G)tA&@ \wv x+> \>X 8/H?`Ý38d D;@@â7V,vB̂ &D̀7?<|' bpw<<.(B 4X")|JBD=p4PD6d샯#C8C(0&{64%$d;#(/d|B"C,x=f=W@2F0(B d@BIL仼B( 6(\w0@`X9򏓏%raD(7?gM<،b8pЁD1*B5ziRjHjTSVzkV[vlXcɆ !?$x5W9 M$%8"W~5赯BƿLui^X#ÀgEujW^5$¿WCR?c37 S{q)ڿ qi]kƼ&ʆ\Z_yٷw~|S`p}W <0CK% -lWìEM4U\]|amGȒ}He "<ɲvL&|2!*mD@E<PZF*~0AY@8f9e.z0%ebp@tr͐„ ]6!z U_ʂKPZmqߝ޿r^%^]祟~`橿>ya8 l|c&.gHrA\q ڴ>^ş#LZ4@႐^Vc@:G0|K G+fQ<pA9Fǁ)L%H (XbB2Tx{@ eM T5>@A z(, '&gDԢwA'AVD @'" Ű xG? 'M!HG>t(ALTC@uБmvJ9,iYK[NЋ8tYLcTf1yY E?0Fc  j⚎< D/cĆPzCp  cE?`q MJ[1A>^ܹQɓ'>g6pj(FY<3VTQ XJ[ZT4P YylʡO4VU~ah,Vq\ZWh7#Ԣ@BT1hʀO(,KU/tf9Y~-f, bX&VQcz޳CC18p[\$'\>׹P ^+*PZES,FWQv-PG BVdtMr_J]nKjVb/S[eoo p\i_tXlg#< -I[ 2K,!{XU_43~mR׻T׶"-6aPA%@AHHDY ^QlY ƌqՓa u˪Jl6EpE `K9` cУ */1P  0A5b )HY*"4=`rPSg9@y/}-_hE   T`-'4უG zXI _6Ѱ ]l~pF;D[k9|a(.LN J2}85A+x&l '4Pf~UU ^83F ܢ=$̦@2{@ΐp'Ni[zǹx'T48eHl~(P9'@(,n L`K;@uo!8@P`?`(BzJ_ ',83ivPC3Ucr|@Ä?rW0 E2 Q207ǐ4qpp%,ÀV@an !NԌ-, ~A)!D[OS> \)a\5+еϚO*hb.#i@ @`V  *@r` |D C@` '`-ZAduhCX!W[d * ncjddO>8*T)q 2A{6fgP9TQ/.+na2))@a (`7 k@@V\A} lv*6FL~ÊLx;lgB$-ȧRbv*BWowP>! 8#q^ AJ[,.=n w~,`s*BA A(D)F;ʡ b%`a @H+@bLnHYNJÂxOwmSD`vd>pWY{!|Dh"f ؀wUL+8Xay/DR`]h"1Iv5K{Ç,,/T,hl؏yŮCna/I!8BآؼA*\p'NRRYW[ٕ_c&@osfJ@YsFV]8DqLW?'HM٨j` .|! @ D? $ 3(mc,a 8NYٟZ:}Nn  ( (:Gf z"z (z  2z \a @gn`  w T} (ਲ਼q "" - ٨"|[IÜźF($H O$VA"!Va aN.V!H  `!H`74` T[0 r{A$`F!.aAG@4aCAƫd5 f 2jBX*٭9 XN!rD|N@P΂@F>^'Bh(d{F &*:-(!My%Fc @ AJ`VE[!4Gk!-,&b[f {&/;7?;GO;O4Fa`[۶[y۷`;2*:B,[6) ;*~`آ<@X N Z!UER RV` z :z!*IU! .Z`b =ꁙF r<da6&@`0A Qs4$ fށajX5ǃ(Fḏܰ[!۱a3A5=E#Q۸3`!̝|k{wܜ༹;AϧaD,*8 Ћ“' *=@ ~d`A3& LfH./4(2 `~4PPA @>?,n_PA>J^Pa%`MaN?r?_ L-V^*A@`N@By~?ؙ(W +& lT+ES*ՀRX ;ƥH56[mbTE,p5hf0)0LY )S+4 7"bL& /0 嗲fN6p"PtPPP2 DŸ3ݱicXO|0Մ|UAA%L0M?Ȁ<O--ҋ?\S>+32 P󜐀dPK`-vP"|D9#V oԌ c80  F3bxq?laA&FAϜ\pd0`& og@Eq1O>(b"A.D9RaV,fz/0g||#} #jY@ `UX'R bC&B"V 8-.H\]B@>@ ZkB LE#H gL/T Ȁ5Q.ET!$$hE=B7x8Pd 2ip&$NP У H\A<1 #?l!!4M&L =t"'`Md~ø^Z# Od}miOwܜi@-єLib 0~ 8ԘQt3H^ L QE ʥKwQ*0f>fA M(8q&4v d) ЁX 'd@h0 S@0x`0B Z@[xqP@@;*Vc E@30I@?xr>VQa,H4d% CAn3 QH[ X@6ìfAO"*J/r',A t"8p!ht+~Q.A<ң>@tG pb0= XH` ?p P    !{0X' #@w?nV;!?p%y?hW'nu , b !` Y0 ASf `y!s Е\02p p ]%pN -+p>PxF$p ו];P0X!F=/0K t  h  l@Δ;`*@ G k   ?'<# xw` y"0xC6x8!n1q1>(AxD(0y%I9Ȏ6b%%o (S;! 'ȏ~у '!a?ȑ 4hy!9% qw? H d.  91'((.)M鑨 % Ѡ4 ` H?/IK |d0 <xǐkyFH&JiyL{ɗv!9tX2P0  0 2͐ P @ ` @ &  9  )ؚ)0 Ԑٚ  A,HABZxH2hS}  t#[`p ( y)9# +( , P @ U 0aD2t9,$0Ƞ b#}ư`1 P$GҜlnPU2;@yiy)%xCV~ x p7  #pxQ05^2a 1sI͙>605k79;˳=? =?3_  P S7Ik_pJ X _k @v[wPd;Ug˶e[7^[SеxqY?d;:1 ea  |Gˊ26B)`Gxײw˺뺯 +;Ӹh 0` ciՐ^11mS)*kjYqK9p8v kݳ;5b,s%@t! &= :0EK4nr#P;c[ lhR/ p#[ mQʋ̓K{ F/l> ; :ElF K)\+Dy |L;Yŀ7£[n+ c5,iƽ/q,sLulwt\$P4_PyLȅlȇȉL{ PW\k,ɓ1 6ɲK͛ɟ ʡֆƔʩ.ʯ ˱,˳L˵l˷,PL?˽˿ ,<æŪ<̽Ll\{ ̠E A|<=ӌlL !l -Mm =М` K? MmK bLlY0V 0+-3LӪ5MF-`S D7K?ԓIG - em@g-QϞ>9*QX:bj}i7  RDpׁ-ٓM XS70 N а {}ٯ6<a&_Ӗ""a ]Ǎݢ0C '6 / c 7, pɀ ݁$m j@ GG_p TsRwW.L 6Pp@ 6   wNҰ<!@ n7n  .uÀ PO-c= @Y\``a p 2  -P` 3eD8yޢ _T 3PYP? l.  \0aGb  XP01 ? 0B  b@@. 2`<%;  n#. 09P|Ԧ,u@ Ppu F  } Là %{2Q%njbP7 $0SO# G v 2pppΰ̐^jg1 1 P 0P G3@ rS5ɰ#0 75^@>k2(M5`G`j  YIO?JK/5A Ր'P7@PA #p1P 03Ђ` PF )kjb G@ OP -pp熯$`1 @ *2zp3 +ˠ@ PbSb7N$ p &@ @ _bO?g4B$K0 E>>񭭭oooCCCLLL+++tttAAAZZZxxxދ쇇uuuSSSyyy000...///zzz999gggddd777,,,"""~~~^^^666GGGTTT333mmm===(((NNNhhhccc \\\WWW &&&www---]]]IIIUUUXXX[[[555222***RRR444QQQ<<}$e"HCu>(O.)jʵןq;(d96w}ݻx@~灊q].l[o˘3kw`Ǎ@DXX@2UpiL0;"_pyS(w^mX^μac6 sL^yu(O?x=_Ͼ=cIK؝]Cb0W!O-g[A,S -~_'V;$ A"%2q?cr!W4hcK/ U"j5K768P2!Ȁ E ٱ?@ihjTp)tix|矀*蠄jh{X袌6裐F*餔Vj饘f馜v駠s ꪬ꫰*무*=Բ->+l>;36,>  0t3X@DN0$PnBZt.J:Ͻ,>47GL?a AHw l@B3aN)|?)DK! Ցƨ?Ǡ3BfA&GzP |p GmPSl1Xwu nB0*C-5|01<"T1UQ_'xS+G~g,則=Bc8D%@O m+p&03,O Qۜ91b{0qXƖK) G TgԐM8V+vg mp?VSA, P2S@K8fa -`=Y e(Rˊ3*EH!*I$ ,E"J4b G! Xz$J cA, Bg4X>P0# ZpG>4%r$%3\%8 |B3G(0BXC.`H+`AS35 bրKI^ݑXϺڶ.`8>61 BrG5d#" #dЊ *`D@Na4pH7(% pG3~@ Y&?R"0dPа È݀{@*q V]%A 4d8.RtdPBh, xƯR5mn" j`mP# iP.Y` $!hݩdˆ=;d)1R @  ˆʒo$'; K`8#qLV-b(,c*Lc"푨fp5ė;$Z&\L#^Fx/ <ɔ\ɖ|ɘɚɜɞɏ6|ʨʪʬ0ʴ\˶|˒IpJz,YTTDD5_Ƭ>¼Sȼ͗֌9М;kQ ̭LPQc}H;^a}ު}i}n rMvz~ N=؅܈  wMٖٚM1K ڤmڨ]֬]&m۸-۽@ƍɽZ=e=m95 =mj]fj=ߦmq=uM܁^Mች? [Zpٙ ڗN'`|᩽!n#,H* +^̭S kӝ;76p SMKmQ=KNb b +`rYN-ԗ^P@^  `F Mv~x{ 3}&^Fp*⋮܍Z 8:n:B0ߜݟޡnINmMީ^֫YNn ZmJNߗ_P>  ήu>w~y~H~^P@nd4>pk , ]9Gn;`Son%P ׺2``0,k#&_(*nQ%.N*n8ܐ*t0 ?2x'@,JNEQ?H]}Y^pbei?XlJTvOx?{牐NK)UemێH}pҗ0_@OKP/;@ Џ g@ 4d K0"Ѡ%<  BF$YAɐ^XI TR"%1DB'LL $Q\гp 9 2$c#*6,YS$|Q _&\ /fcȑ%O~ 觀ʡEFhԣA;xSϦmڹu۲ ~*4 O#gw :׵o.ܝrI(pZ >gq(!T 1B4Ȧ)C@٣@8LCV5 vx ),?#Du[~X!LPaþFH`d/lG| 5r [` FQ CE >$@8:F.EL$L4#l(x1/ll^@^,0@0J89P* 5"QPȁ qA!$M  x),`'#iQf  +@,HĊ0, Ҭ c43\t,56 7GӎHXrFh)rFh@Y L6GRpŃ*02#K (g$ S1Xe<@dG >`JpO@9Cg4DOa$21 T7s]ˤx (nNm4Q M邘:$!UNʐ@ Q&S+*yxƸB{ ßkp%12e] < KpLj93Bl2!J"n6\abHp8% {."ޚ.6N-lG3@~F'ƟS' Ɵq 0c x $0A2! ̱@DwƬ1#j E.v6 *Q u0x;\~ix X-#aIރ=Ն{EA2I #FHGL $1"PJFmSP5X0?Y)4?Ac! *Rр'C2h%J/6 0ٙ*d ѻߝA4!C'B~HK}MyFdh E<d~ P_ d#XXISlь L0E'a`HrH p Hr AƴL/у3e Wr5aXb.?4I_ B[zA"1k u,ę#7HAHGM)PE5 R@@q HHE(C!%Q0PMUP^ hpZ.`,`-1 @U'8AJ Ы-?L5!Y2 :SA p,0\-71} 1.Ȃ ,~`CNEh&K2`C+R  9j2Dd`G걏np E 0TƀD# )C`?z=+de11m{.AKGEx \ ?0Q8B@:w| )?4C,D @2_؀Ib ۠?p1tB#0!?k"g;L(^HZ @ Q@ 7-|)4cp?W\@*Ja xF9A^dyO'ʸgh8> IMOh9P@qc`hH8@xpg(XYx8+I Ђ pdhEjpЂw ɈH`T9qoJL tcHt)@47M}0p@%`Kx˭KK @ 1'MB V@>XЅDlTq"`(,,8]؀Sʵ0ٔͺ\I ]VP:2 ́5,8(h1!LѸN8)@0Ѕ_X98HK 9، dAOܴ|~*d,X-Q`mn$h@?Ћ)8N*H5Q؀1hHA݁\REM|S9 .1=H1?X7`4`؁^@'U3 ML84 #xaJȀhڬӻ<,M" M-)WXU9q\EnњP*h`a%U{7Aݷf-/pSbVl>#HXܴpM|[WS}0LB! ( HX pX 9+ EX8XM1HYPF+xX PՀ3 HGH&?P ȁ A@8HJ+09PMX;9+NՂ=4 1Ђ8 ( X زBH p ' ̥ uMh؏!`9(% ̈%@ (/- Dȉ@8](!"r^!OӍH` 8]] P Љ X 0 # Bي) 9H)'1@׿XAIL P#R¨9Xi@u P^0+ЖC Se]ҏȁ=]y]}ׅ]]ߥ" (ޜ X^:p^ ^%"H mR0$__5_u eߤX u`Uv`N@Wԋd@>s #M {u&F>,Ћ3 EO4WMc1 +(b%n]#^b;'ݕ+6^*c1&(rI ?9ㆰ]u>fc AB>fdF`ΈG~`xFCK .,h؄@ȋH`.@n}$&p.HYJ`\-9 XheLȇ>'8=MM؃MaAN@[#m7c.e`>$ٍ~݅]f/hf+b>(/061l^ /z+F_r. cP-v(wnxc% `@d{[F^ds8[P3[s=pބAeh ]\"8UFGȁ)z A*IHOgXTr(DwpW u`4/AhXS}v (M`Fa6jdv +jൈ,& k&k5 x`L0k>& x_؊D.`l p*am >ȋ;H!Gh$u$E0s@8O @f0]H# p.0 CЅTb|X+"xW8No  Xh#V'f*jboop (E Pu0o 'kk 5 k¦@&q؊ M F^q|W`ЄL@NX&X]IIӇYp#8a`4`P\4>npWp=g{sA|EjF X@x}Lw 0NtcjjUhj]j _~^O@9v!>Ub?p oNpvdvP)kg| m q'*eX,`l.w=# x -pTŔ0 ؔf`e9` BAEtIx[x$-ݑP:ijbnuPfy/vgu1Z_p!l8 ޸=_ gU4 p_Az w^z lvϿwH{ac>}7؆x+X0X:H>fv4(5?B@A(g ֘ GRpY .jG.}eEX&Μ:w'РB-jh6W   PJ0(a)Uvh J؁K k PH/X JxL-aE/$n*̱Qc"10 f|6dY 1U[q؀AsT 1b2N C" 3 A(d_5:4:HGaћ6>cffEc tM"Ʉ`F 1@+X?tKNcp04s")"-"18#5x#9#=#6bwEāFd‚M:$QJ9%UZy%Yj%]z%a9"&ej (g(&m&q9'uy'y깧;PK%rJ/E/PKM%AOEBPS/img/cncpt261.gifsQGIF89a???򲲲쀀rrrű///<<<vvv@@@ߵ;;;999___oooyyyOOO---###KKK(((222AAA777FFF ,,,```pppPPPgggƶuuufffVVVkkkzzz[[[XXXJJJم 󐐐000񮮮ZZZQQQ ĪGGGUUUiii+++SSSə'''666 111HHHwww"""jjj444)))MMM $$$!!!aaalllqqq΍>>>555~~~:::}}}^^^̆nnneeeddd...LLLBBB===TTT%%%|||ttt&&&333YYYEEE\\\RRRCCCNNN888]]]ccc {{{xxx!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛iɳϟ@ J, kh1ʴӧAJիXYNp!ׯ`ÊKٳ^3k@\pʝVx  LÈ+^,XZm0Lvj̹g/M$\$.۸~ͻw`ႇ[-N)> У܍e‰}rËO^"c=߃7/O ϸ HPb_0a00d k1E=(%W|h}'0 Ȱu) X#AXX⸐A^">Qؒ-'TViM*\2@3HC,#DA& .vCYZQTP晇5^a $37\TP8TPai@L7'W*'e9[ (.ZX 08`P@~1(XjKXX*ⴘA[F.9B 2 k!V Τ(0xZZvb*leEo A;; 5 ؛0am Vq 8 9ß x+m1 `.b,-)34&"7es0kG$pvجX>f-p,XtB)*;CT4`w*xP7xYg`: Ɏ01$Xfq2 hGxvqˠڄly$ Bش؇Vju`^^o{JScdo5)թ@3͕_& @#. B %3`QF嘺.|HȂfY \ܔ'r t9$#/HR򓠬y@֕+5a9h@P0ܚ*I#< G .w9'0pk~F4^TY~)BabqjZ3$f&2=1,@#FIkLF1vT `@OyH ɁN+2LELT !t@V CiSNչs)I AO5GJҋdz4+)XtrZ&4.Tx:V\Ԣ,l5+׽ʵ,dM,`"(Y-ʝSq5/D[t`0Z_r8n`i2hM+DN+UK-s `4DoO$TʏR낚cS Ԡ5F& $YuWіǨձjPe&R9ҸHK(HctS(bVY1A]m[ͪv+`SAS-JGҳ=iaZ{<6501)ע]og^"a:DRBIcU`Zhb{4*K\bh.atTV2Ŭu±cl:cKꭵLL&0ܗoxrrr)WҜ2#T`xa|/>!xFʢ$~o#WF]}`&cXt1ꂂxUUK1JK2hUF21路TLC_@Rfaj ,;VZ:;ZvL-=eY9?ateL$*lZ&Ѡ5E}Ғ+&cPC=5ںNvh]R?sivex]GLDsvӘMQ {``hJ#|\߉,T3 c GuR1:^%|zѢ5xkSq._J_ģ7 ~;xRȝ/ݻQYxnQoo&|w_;n,Yzpp@zߢ*U3ʼZIc~h ^=5RfOu|2=*w}0'>`%xg~v,O4dmm$r>iQhfĦFQ$@H"/x\:I!`ׅfI8jexrhiL†vq8~%_$}׃E8`S78X(Dm<؉}M8+mFa`؋8Hxj(ĸ،81q?rؘڸ؍؍8X樍LCxx!X鸎x+iiG ِ9Y ّ)"y5p"&#cZP%4289 P"\0a6{LkK۴Q +;W[RT;VkX \^۴:_[ac+e۵NoKq*@w h˷rsk)M{㐸kKk+˹z ;Jg;/+K ;'1Qy+ἇyқ{k؛(DQCe0S)aA!BA{!; @㡿@"+!>A>\  @iɛ=Lj ;p(\!>aHók)Lq 1,@" P@|D`K,&LH,ֺ`A0\\"P`~, @ lp4+ɔ\l\ @]Lʀ|òtkp!C,0=Ʋ K `4| ,:,g<0ln;j,߬ lΜfgܻa`"@l/Bн@|<slZ, Ϡ&Rə; -V| [t,D  .=8Ȏ]XZ\^`b=d]f}hjfj+q@0̦KCv}7 A}؉]%PMR=ه֜ٞ٠ڢ=ڜmg/_lJ-s|gñ- |rӽF=xŕ- w|K}t`j{Xl+Pka/}! P5}ýy+Mݗ=~0^ȫ˯, ̯ٙK#L=UM@BTs!Խ!xM0c&-I.T>GXR~_^RbXAN3J<)^Ndq|$E>~~&Bn}^RNN~NRnBŧ . `¦,(1Npâ~?LjMy\,& !L.0%t=p.@\^MW,A|=^~.΢N$!0ӯ\ Ȟ ƤLMJ\\@,Kp.Nk7-]lӖL^B| TlCB k \(q.ڨeΥ@!oȲ)<U,j=\⼺tl^ PάmQk^/nSOk, 0ys> L^?`?`qNť_1 锴*!. *` >$"-c5b 2C <s쪌)G rCF(5`1 ,O>"  ,. Ӎh|`-rB:H 4 53M6_6VGO$² " 2F6FnSPCuTR":R-RA'5qr=+5(H5Qխ j$2.cBRuK(R[7j,łi% 4 :*u_~_NO怲@MئK+EԉrZ`:LxdtÖG NEfj{yvX.7Fi iojNco6akKlӆkNlnmK}{no?[ p'ps.rʥbrIu^)G{zyo|ڿ|_W{~O_n\@fn+`EP`-xA fP`=AP"S@)CCP@ ]BP3a mxCP;a}C (! HGKdbD(FQSbxE,fQ[X$rQc$cxF4G,Ⱦ0Qscx.1{oG@R$d! yHD&Rdd#HHFR$G>aDڮ I요6IJ1Dt*$WlWnY+2X> !:e.fel/\Ș+ jI̫,Sk#1`Fp\l5Wy_͌`2yBq"[d:CK nӝNz I*P<'(\cP %0'J(Wex˛*'+DjLQzLT\ӦNqSnR>PҺ,SGQzOUT:sW U_TXɺUeqZUU)iSF"k_WV%la {X&Veb+FVgS$:YfV]P/YІV}VHZѦVemk[׶%CIlm{[ mo][6Wu]6=F.hU&"(%T@`-Snw P\#݉#%oWV7*W4x/RP޶U^Wv5{6廍{p8[ӧGra 1 FkVe;ؽlJQH ^s>0bS%ڱW:c]?앱.Ɏ_I4[]P*`)p h4D!gMVq{e)%U2e C6%TYW ͡TJtϓgϢ!)T/:2~1LdZq>EWWpV2[]F\ a8DЀp$ $`.iK3;#Ś^;O+yG̈́?`"Ȯ6#i)2&U.YH(-@OEneHS]iN|Ũբ=mLxvMh{>Bn o7#"m$y[,[ᏟB7{4g.W"b )AbH#\'1c#ي@d c;3?A( 83`;+6`6Q: {{=1?=c$4<#ӎ#T='APAA-*-A )1,S[B d=Nk:+4?SB.,v3031A2+<4( !8 \ n - !DLDE\FDI Gċ668Ķ9슍c xR,ESDĬ<-4J=9Ҋ bqKɭaH\I|ʿɳ0I8ICkH~$K0YbKKK@9 K XC1KH=T`HkPX  bPZӍ:XC`9跽LHJ`u:7BF2LY;a(ah ~,q{j5r0y?YO .pOL5M2O)ŀnqMDhH"L}d (oQ<OoЋOBf9έ4-SAQ5 |ȖIz |si| 89 =nD{a IqI ۛZ&:ebS`BhsAːB< wxd??4 %zZ)JTĀ05*,L)44| / kbh˨ jRx[ [-4M98ϥSӬ> =֐G S UbU kuFI?m)/ Jiʧh(LغO+D(q/'~54F-Re,qX ˜OX,`egaKT=[ըFҥ M#Ĕ QS8 ?Xߠ1%ͱׇAZ@)pUӗ YsMWA;W  eZ0KJ|ɵA6mښ5˔X9FSXdح ŏ0;p]X y.j&\KQbV>F؋ ZU9^ba\4d%e@gϩSb ev%FfȔ#H) $nP`a ` 4H&.x=̼͌ʃ ؕaJ>e͉8QT\ IڲFEdԸ XXM xb}1dv5CtHJY䞅Z|КLS>"h2ԩ[]_S4&DMvceAfaeg~YJinrTjbCg*=]Eq6Z;ڏ᜖Z6CHAWx0}#J\)]%ag%C`9W.PZ$YSZhNy48T̜E_#E`k 5{Xֹ#l4H Q/#34+{:-^5؟e-ʙA>aWWU|yeL1EVeh5$BE #$xAc}XPTV {,FVU5J6%xnDx>~U\婓hod8Aԯ dfGL|nԂ4qSe.bჭmg߽oRw8'Ļ4<_f  DUY%; 7Xuh)-IKH n &lttt]MJx~R s( ~tl")/AIO$R1S|bWE.~1c,ئ!=H) TVBLlY@JB 7TD򃫼kZYNl1G`5Ja/,gٰhqYf#y~v[{FsE[+8Ʈ}N"Hf4hXǒs"d\:Ӧ6Ϧ}~5Ϩ]Sղr[]P$k-lZcֵ_ f~R}UgهVgf`k6-qn,sVE7:6*a 7.O 6V8S:Y8哀;p-C.򑓼&?9SI$pST.o˽s盵C `F?:ғ?8ӣ>>]Vw(E^:ub?;r^vY^.ӽ%Nw]r;/Az]7A;FXr T<ͅyiʻ =vcɀ@/5B~J00/J-R,ZJ`$h$G:DzdEE, (E$36JbJ$K$CѤMn[N~NJΤLCP£PdQdRVE,G8eS"TQR%T6U2DVV%QNeWZWRNjLWeX*8dZB$Kx$DƥEP]6^e^2^%\`-8^&afMeOOcedNdencvfdn%hSfTi~%jifjjfk2%V%YYkʦV#Affbb&f]fb&rr.f/-a's$tgtR3#զYPogh'0p 'z>wPx~gdDyɧ}Z{gY')}'ᧀf~{g' b(.ځOzyFi't~(((('(ƨ(~h''+6vV}Fx)&)^'h|h\dVʕ^n)>O>~N閞)f)v|i\\h)֩E)M28韢D*C*N***Z>j^GTzIpjn6i~ĩBb6 hC*n8jCƐ8` .+6>+Fhvkj8`+knT:r:+kj*櫫8k,6++7!,0.lNLQ.J6,ɖɞ,ʦB,T ȕdG\nlN+C2<,*.HX40$0AA A Ѐ@  tA D"˾lN@\ -L欎j-$6FVfv׆ؖ٦ڶ 0m1q\eANi[!@v,U0.+|2BRbrׂؒ٢ڲ­m@ .ߺ,~ Tl[o*o/*6BoN/Z/j/v/-/[Y[nnGx[10.*NnZ.fr~n.fLjk [ƽ//&2o>/JV ;pNH003pos1o&7K)j p.MG& [{qӯw0 q0+^1kҍC0[*vRqC{pp"/g,,Z1gror/" q*[k*,Hf&/op. /! 0g3c%`ײ3w.2!10ksA3jȒl0d*h *` 04 l 2xB P(l@,DB@1d T!1*sժ9rsN ĴL4M״M4NtL@0tsI$JK,S8t:# Is)|V&5M,uSu>5)4P3UUQ&RO2J*X5].TT+rZW QR[w5\6lY>Qwy/絈P_5︵G(08/?ϸh /8uKmW.v yq84rdPx9yӸ8OϹug9`?YH1vw3ﯚr7x]9[+fsI~'yWjxG㵡nzoy9:Ky:W^+>?ss@tAtBA.4CGDWt`FsGGBHC9xe{aaO:vzN;Ms;4J4]q Fgu]׵y/qǹFT SD7DGۻ}3:o<΃*R?-Ŵ @K23J-KBN=8ANF=u4>L/I|IJo1@HLQEoTqXei@ TZD֡R}Ė[THZIoJ/K_-\?طO m$ჾ(܁mX MVDەI{X`#|ݷ/>&^XSbXECuь=.]Ā52%F0`?C qrhvY0\jV媻9"~Usg5t[=gxh3{LCPSvj{Z!ϚÖPumM4荬D3\Qp6qu6]~vfwn5;ܡ] s.qUgWW襟ߵGuwn{M\Nώt域W {׳{lMc W*uD!I/L&703xB4RA0*YJWQ,3"SQ@9}D%hcɬ8` :2є-GKiJh,~>] s8YNuЀ'kNJ59lo,7ߥ`@]8 UB9T'(Q*PO*DF9Q~!HIZRF;ۺy8ӈggAa @ (f2PAjP-QNd5JvVjQhRQTZU^YVy$ K̙^>H,qB DG0J6Q_}'# [XF`PX(HRgGZ14Cf9+r:Iцa5Ďd]mkFfCxmo4DWıg!H&/P@kʹଜ( pZ8,xရgXzq׼\f,0p NP4 4C*0 t8?-$P<8dd F0F5ַa;ط]tvE='ġ"tQ`w?h@^!\43U P! F\lc:9Ї pFseh9ʉ~ Xv q)a+Fa 6a{+J5Ai]e _tD%P{ῈHa g8Ԡ l_e X铬TO犜4J)fb'ïj 8`i@   `z .A^@@ iHo@nи@p8@&& ے&B ɫ0DF!$ 『  ̿$(˽ /, FYSD F%` ӐkQ1J.&  !P3Q1;10D@|k!LDW8_1&Q!R@^!* \Q~d .M PMAp"7qQQ N ٠MD `1ű"D! R D`!%(!"]nQbNRM,'!KR~ J [%CN` ~P.h`ݼ#1@~ "!$Rp*ѩ* `'K/>?s07(l> y9@gO A%,Aj` !sBGġ˾Cm BG4epL.&* <L,!j`N"llDMoK' ftF*<UjhEt(n>-ڲqOS_ f \  tVšK.&5!$FmV/K9%X! L !,.  HRUTXMoGJWt >>RRRNNNIIIuuu :::+++HHHggg~~~QQQ,,,;;;KKK$$${{{888zzz111yyy'''fff^^^777[[[)))!!! ---]]]wwwrrrkkk /// eee ___&&&***(((aaa!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ s4\8HN⣪R8 PJJu"̃1,C K 4ТU8%AeLTK]WϊVb&"0Jņ n4%t*7̃\jqߑ(, x 1 ßvF<#I6r, iУKGx 3 8@{P6рb@ΜH$9YpʼeX8ËW8z0@I@J' *Q'¬1,0݊,(U# lЁG@D 8`r ?[w 2VC'>D0CR<I4Hv@;$C1>uO2r R矀tXX96@ K2A${Ai!,M`%?DI`M , QI٠FtNvkg&РC8# T LJ?:G*zj&aG@@?#W.(Y? !P%$ 7̬&# I-P`!ik* .f 9<\R?/@@R8?lGQs ' $r PA+$dH;\ ֹ-sAlqM""?LC -X /;Ԃ\@HG1X7@mK. p ҤR!RJ#.촗4B)׮gʰo'7-;w/oAv `@/??+[ Q (F( Z0"7x r G(A 4! W(@s! g?!w;!H=4"D%2E:!R+"-rs"ǘ@'#x5"q1 K BNxTh@|QXl@@0@ a1!(pH3 `bq4&x 5&H hp.)1 "vc.h;8E&4ED^1#f00 P?+#ET#0'N pX#b` F@xh'?IhH!]?H`  3 F s `0 "FQ@@ @HPPr px:P@ #`864 d` Lq .( |$lDgRѠHN|`3 @B$#3HAT"/. L᪘ pSD ` u5ZIЁ*(?J`) Ay>թP%1 @, @)nSBѬS7`E_-Ra QA)K8M~?@ HptU':`I43lD\@' .81q mEɧ.׍e` LY DfpAЃd2rWD ^p` !!#B1(R|/. &e0`\3P 5"xD\H7:|Ѕ15t Ї;`IӅ|BST(ERlA4va BA#dHa Lp $8u0g@k!BP`T~ D#8ѕ/`@B2. h8gАpX  Pe !vBALr@l@cH1|` | 0 @b?HbPE`+l Irlp h4,-B%` C`  s`+&@ 2=K!0 w&@ Cǂ-h 'Rq|Gǀ So@&A  2] : o0 V PF@ Vv AA!;P9 #C7`f@q x@ @ aQ? `,wpFY' p }RvPn` @M1` &fFjAhOfXm&@V9&Agf I6Y/ fXh3% p$C&Ib(+aK44yD6yC:C<ٓZ6@F?9n&FIeHL FERTYMyX NT^j]OdkcyHdjiliٖ;pr9AvYuG|IDlfq#2<T2P@&5`6@7#*r0yP1]0+H *#Qwj(`HmYp AC> pa01|pBY(;SpP @  JU@IX|0  !Y ) !yיV Y癞U` a ij  @. 1 *Zo@_ ' `  ^d4@ ` 5l9   ~P@P C` ob@@ `z  A2^ Z0J U1A0 AZ"P1 2`l L u@ +p`8` p .0 .`ʠ; NC   >@ V'ÀT7@ I0 N:vp BY1 W PY_ @+`0P{ u ~0@d *0`P@N{ @X %S` P \< c #z, U@ u` pG =`i| q@ O\   QP P&.0wp0 `eV rP F @ A``sP  `%N a@3pPP`N  4 \XN0@)7 h1hIL - d CR  b r/@dp&C@N0zAU@ * Qe q Kp ` )p #w ÷;AJ@j _  O + ~ н:\0y2:ބ{=0Z-\>% `ОaРp. lhP ۠p@ܛ0 (`ƒT03 yB `n0) \ e.@0k12 b M{${i;;!  7扞Vǁ<ȅ|ȉl^ !u-03@@0 #` P  ` u x|SҀ Nŀˈ [0b 5 ^p #F  B ` j@?  0@b 0_ q0 ZfмF2{P ZL $t00C1 } m ?0q TmP ~  0 0Ԑ*)L`ɶAf _Q qeNPu2Z` Z4e1@` !`oH 8Xl`a`  K' Y Q@ ٠ 60r/7`r0{ *M@p!+8p%/]q #˪I 4]_7 M!zk# X;U]_;Yfl^ 3t^v~xz ye>=>^~ni4;PK61PKM%AOEBPS/img/cncpt196.gifz/GIF89a@@@𿿿???ಲLLL333 000ooo```ppp丸;;;󐐐㾾矟vvvPPP///777 ___---XXX,,,gggOOOZZZJJJyyy)))kkkSSS666EEEaaa}}}qqqtttjjjhhhlll>>>111888eeewww[[[444nnn 555999&&&...222mmm"""iiiBBB]]] QQQ<<<\\\sssVVV:::|||bbb+++HHHdddDDDxxx^^^rrr***AAAGGGKKKcccFFFYYY'''CCCIIIUUU{{{NNNuuuzzzTTTMMM~~~===$$$WWW(((RRR!!!%%%###fff!, H*\ȰÇ#JHŋ3jȱBGyP ౥˗0cʜI͛8s 'g^>_$ӧPJJիX* QrL <.e' RBַpʝKݻ 9 c=X,>cH8ǐ#K<5о PPMӨ 9Pœ_=$Ʃsͻo\,{c%УKKI<nOy=6}3 @@?ϿYq5iw1jM C(VjXqrW,%PQ (Ӕ^4hc\; "=$USu.*"ߍTVitǎhxw$Fb("$dSJC<@Ē.T]|֢!g'GXK ,ħk,T\`"PBe fXŁAҔR6<9)Dɕݺ$S\wQPkfbZ#^ oSЗl'tFk\@$ pݛlI#<vp #[]P7Yͬ^S=qrL B 9q VXG="W$Jf@BCٞxʆjt舴W`DN8,zz+!QIL"a rF T5vh"ɆC$pH/fs HVؙNvd\% S+P+5$Ւ .3! ?AO ]"@V`1WqL R6Q 'Q}Q`v#CU\C#ܡ(13Q$шxB@SոF#v"``hQ`iЍx^(o gAi#1hQ8~>uYyL;pw^HHnyMd 2/$85:5;ra75Rk.y K Yaג L`&/2$aRY$/5ir7=Q;njҏrQWci?Lr+AH9+ \ ,@S-y$IU5n G9AyxA\3"~yG͵(Ӂi]1n|pXWb$T|O.* 9#a!k0L%WpT6qW7LBl:j`#v]lt 2Yٕa@QA'IbUjR?fq ؈HKy`tv~sJf%m% /ža P -1< .P}A`૦B *Ig}I:E.*^ޕpq驚qb dzHWXr$ B>{H^% a6 d*"#vp^ k@V]C%RMPꊙY`(.$AT`ls#K@VpUh=4)KV=5TA%$flV\w }a!Jz9t9%q-+FqnY "ӠlVĴ@kӪqRlKp:Wu^p ^*R&1`$ 䢩1:SUР"ZbqVl+V81px% ]$!k[W gp0 gixՄREJ,EdP/Jq(<@-'t?\1EĻx;A5rKmJ^&S^%8*jb+`f |^`vWZZk:$`apYuHͤ=O5 8T %P3KU"p{?pki .g5^{H0+kˉPg,g0n _zˏxp$/K=Ҥ8|DLq&*Ui;L1ie{j+j5 ~4+KauKHp ?~~PkXl$=@@~NҤn _#_®N9N]`Z'7>oSg΋#5C 4iWScʎSi]@I#ʍTL on5r O- bp}/$o^{S0#­eR~  XyI-dC 2Xͼ mRy $<4 $PKAJHOA%Z!?QF<7=,PsRiWa4&<]>pPg^%L^Υr4h>ܠK<"jޤ#zDQ@*+0B37aFD#4Tc5+Izlm6zC ,) 95R.$(*;.-Nz$St*;rѰH*@0p窱Z"'X+8‚27|KEoDM ypPd"5N5ıI:PBBcg1mNcmyh@V̍)r;xDH&U\N0|:ËΘȃy;+NCZTt 0硆U[@t&&6b.f7[ExYհW-uhV]s5bD5yayViVI\%eJŒOP> &~v HSBU.o2s>!:Vԑ|-$`幍&D[RR%g ;v8< )x0Ձp*!?! ß.X.PntCK҇$]|20精/e(k6ON9rJIw┙/ i0A#cZ4`9S  {ævlW u 9b ZO)o-8#^ ^ђu;`azPÞ~ y8HԊ#1fd %GG%`sW+m՛pl;HFM`C`MPHeSHJ|iP#T*nW`!y!N1\uJ ҃k^Nδ 'aN7$a&@ 7.Pk{@5qȗb3a)&L`؛䑀Ebv631t.YBD: XW F1AB"Ȁ2f` |K$_EC^24*9vU1XAƈ8&[hBG?r8M!MLWgY~񖹜/BA=0/{D-Db@ pLhiyS,Pu0gdT.̅.9cLf65I|r|30;@sg\;@9paӄ΍nRHzAmo$.O)Bt2a uhN*QQ}kk#PCqrp{Fw [7'!|{evԜAhgU-F C.la eV`@< >zޝ'fZA8Ë wa`+\[bfpP~`Ё7d.Ë`3x&?myG<;o T < Q BRIDCU— |M_Y* ZNj[ c>1 2{<=ӁxH<}ϛZ@ o2j,;2=<J C Br3C[8s'%>ڲ><훴S % -M?'h/$S:5< +@p<%T@kAd;& gEFBH<@=D;32A{@ыBzyHx-,++VB&UX"<$܌9C(Rhx-^0p^d+=Cű"B3C2<3͓4 64 |CQ0?(X"8: Xۺ?[6uL<DVL@5ĸ3,2 Nt& 6 X <dDu$S;rKJKIz7Es,=_T%P02(01X8i=e8e]SژBstlɞ\?ʠ$7GL{$G((?VY;=(D  Ry8 XNۿ鿙4Ś@.$1D#YAY ԩ ;tC@뺌;LE"(`)-PYz7Z\JEE_Gpyh%ЂDi x02І5x:D2 olggL OTȀ rë)E0L{A{ܩ5rC| 5YL@Mʬ xHQ9%DH, ɎMJIIK.d..m P|> G $7'QȤ4BW%$Kы0 8*H,4QSZRG0!͐MXDҺ;IN\RΧh (IR|VHRH4w}Wx?  M4,;t fWZ¨y;e`C@M3 uBUx/NCm֭ űCI,`k-RN^@XWpR(A9aR!9YHEXIM 6(}y`[m%$A4e=^@=P Ȁ (FU4=hg,C]j"ɂBXTK#oI\lM5YN!]*vY+N}YJ/#@6?t[BiCOmDO)Fi#'Ι&CPN~bot\*"~7uI&<!7(XFƁI؄kf uvdrƀ~w9 pl|@o7l? Ew=l>wk+M@' 7 yw|othwҀΐx+}DK^FYq7Saqt& O,(8{unSh 8 @TYyPwuo{nݚo/-`AzQj?s#o^zv(KwxMo٬䭏PmAx|iR{@yC~\my _E} {?F`tVʅ^]1p0$ "#" y%IF,i$ʔ*W 0#jlѼLvSB5Z)\ȣF 򖪘Aޅ$KRը/^`Ң0;vd‚-F(P1bnahĊ3n(l>.sfF *.M8ALlH IҖ'Mmd<(ʊVXH~ X)+FԑIIy7L2Q!vT8j-~TB!e%0,!EjKRLMhWy<+e=,hCkώS=&Q>Y Nx=06ZViZ7VɞVp$E厑QZApC-v؃-6&;Dô^_ّ=oCvTҮwXz^UԧuωUy$(Ym%AwnuLJ"-sWDN!baB&,dT x` 1V6vmuH酙{^0qOA *f1 ,6s-1aIߦVm-(|6АJV`*x1L7/ecuz,~&=Q4|8t"E/]Dy C -X3=K.G64&MFVt,񊝂if.# +k$֏agll_cxd3S KYOqD"ҝ*9oIWҾ~r,D=*t*j8[[Bn5к+VsLPX ~mNj}ɼUZGa-g^[Sgo7 7ɍsL :/<&<Fk9o\@ԣw';?@pM<߄F~2P G?$>kŜUx슡g`m-R 8 s{s1gt0#2N%ZJg6{DƷoqOznѩ,<<ľgw6GIё ^>lhﻵ}f5 Dp=wyH2i߼olS%$DFDN$EB$Q*:~,^q ĞT4G#ArBE$LƤL$M$#JҡR5 6\n# uT4 dK0 4yuѣcQ>^T`m$Z%[[v1aBVvMbԱ,^-j!IUd&[Efi96% بƝgz&A+|)Z ƥ8je~'PjfW'Y)biuM M"|i*h"qDA'%΢%҆J JZ8DVfhZ zjꎖfS{+LUjwNUXf]h8ACRG*>hs6{4 YVNX_2.NfwBU*(FѦh\譠+j3R^&k Xj&Vn]ƂJ ĮDQll+4ffe.-TtZa%|+̢dά,Ǔk=j^jʒ J,:Ųmrmέ>g  T ө:f)R,.FhS*,m2eZ> b,RW"@DAٚj֮4ZHl#"^h ]&M"[P$A*+'p78 \z*Cojnpn/Z .~!=hm!,$_gWmRH쵞&o -p^:z0p+ 环Fx10B=N1V kZ,#/ϱFo=):& i1n +P#mR謱.oʰA/Fq!^p2!ˮ2*2f:$$e$C$ 0Q/b2'7$A"[%B/B5*#2,-WD+ K/_i&6iGF1ak?s>˲+os@45I'D3s"k"W8Cntt$7StJf suHX1.)w%1 srVOr3Ps 0&5 .XAQE5NNs5WOZ5խccYJ3Uq\4xbwAOOC-`W aeWt5tE(X ]hd-E;ADMEluf.PQl,6,6UL@ݗ7ϵ[4\GX6]t r6_wnuI7Fovt5q(7yRs#sSEKo#{4!{ Px?xvwYRMX j_j7.ʷk}00x6?vm\%k<>p#8q+8`xEx3Sxt_tus81yOu7p^|窔˃m!E:{ӆ 3Ms}u “~ǰ?76 =4x``0 xcF7 ވ:t0#E J&LĄ*PwgN;}Yʓ.A^RC H a# (DG,X5BaytB$yʖ/clРK< L)sBԤI.Q,G9r!%D D &-Z cGWزg9p6O( 8mF) @o/w|<-!E=RK3i\M \XM>K*߸ϠG>zuV#[~+,g2 jA97 顨JN%\I&lŝ|J(B *y* ,2 -)D  !/J+ySlzx,y&k3:,LCM5X5 b6֙(2C !q   H -F` : (8B顠0"U P|SFQ`..oqcϲ6H[?7bG=BzCAT/$P'dUt d@CQ(_}G  TWRLab!UM9Ђ]m7Q'^ 5.`YgMp+B/#lX@" dBcu*Z?!gCrSIz0'ꞌrhrJ{ sLLD6t 9`@SDϑ  J0Vz:S1 C lP7HP pXXГ`5Q{[G2IW^}VXb {lϳh綏V[n?H0jFr`a8Q \g} }t!ݐ r +ȥ,½_ Gk_R7nbr`C'ENv< "L/'[^f8|4Ũh4&i@ lāJq#|l"`M@Q@,~!E)nB2q[f4ѭyjMFNbrЅ f!`sw Tp&e5B@ %ga!A?1!|FpC*w,Nx3byŠP<B5 3JW7A/6[/Ir{daƱ9Z/]؀ Ur)cL yXIz ]S)JZxx4qk'Rx8 *S"ծFk^wJ`k}Nec gFO޳ U-j3qCG#AIRbhW`$NV4KUmFƙbSFJ[/4 PPs5<$B00` A!0Xpb k{Ciց&{%UxR**-V~ԫXqUp̹!@ 6+1u 1$ȅh /$Ia`b I2~qp7 o. @Y;YL=Y3,k5>¤0+ہm %(fG<$&щNÜѠ U`+0hq]DWx7ʦŘb)` H$ɩi{60P._Τ]9 Xuo1!w=4bn~s(:9z 垬ЮXcyQ`qBj' N%7D$N6bbd5s$)u 54i7-GTǹ];{kd3ǬK^!>]OFy'Shle4j HCnBT̛8 3C {E)sǢ\4@(PNP]31jBȹS[d TDkQyWq>v'<,O$8rBz]ou_] k!-r+d9!Q1 m@wh\JENN$ѷG;qf9y;tqVtmq-KRA&h;؏@V),X/k &SP`I1Pbfd؏8N2O&/r(j$ 56hOjp@zo"&@esXgr0Yn &г*.08<z`pYj*@P ) ɮxɈy`+LA 580!&6ɺGL\T q`Rt NpqQea N%p,0ho4p+ o%OqdǼ1tp̠rгv0>B O z! 7b' ,9Qt. J'Ġ! A!ju| pBU8/"&`x SQU_Z&! '"'n";h270+CH "07=#qAr r va|$Rj`(pB ׯwq#E.*>A*` jIaM&'&&9BeR4"'-b' l Ln"܀~e(RyMa¡$zܑ6?51+a,s9Vm:{TA( .#h# ۤ roP+$ `*pB -u2 ; 0O!'La$?,P`q%R\ R T8Q+S.T:CP+#"*ET. +NG"t+Gߒt%`+]s(EAͯ noB PP< GDGqdzBVV0̙4kڼ3Ν3 BDLr$y *%z@@H ATJNl||2ˢtڽy 8`=T@̤~ X$A \lBjBA>nVGOϦmP,d@ 6\ɸ?ZA?, `ХKڽт! "wn¼~l @XDxFŴ jc[=gXz>^} &O\` <bQG#J&]s !U ؕUх^uvA$8m Y!F*HrA7S( 1Q%qy]Dffj9N>xMzmfa IadF64@K 9FHV+)(fw֥rnr]J&SNyhi(T \z&Ģ4JgDҎGHk%nՖX}UgG)S:QG4v)ĢWFWꮻ.jMoʄ (4%*c=&Dj) _{DFX@dVA8Qʥ< n"1R| &=C= znN$pGSJlnqpp[T YVWInIS;A9`y:qۛD> '${Zq{KSN{&UL@((F;)Y a61B_B 7SHr`*l01 By !)q1.VN%SI8D`yO΄0CLM AP#LИ)Mp" <GET8/*`2$ !2P w@ yeDLɁ{YFP1(-ȱ*z/!HH ľ@jrE"q'L A0W+_H |. <&RVQd B$, KO f1y(eH$a_|&2%*΅/ 6?K*ai$ YKLrƼ7k'67LtqӤGhje$Y#'d4cŴSϢ'ٹ,`ԉ@ h,: BY؄R%7AL{НT4?!Ơ%hdV,dHyiulƜ (0qOL3P& xWcU5g @:@h `2EB`+UzX=0`t2vms[]GcRr 4m Po4TY .9Sk=V<*XG֭:( ·̝d!LI7=` X DTP`r;[a]Ѡ]ʽc'!nRP/n7!IȭMe( œ_z30Pfze՝@۰ŤUq ݎ0fzUO\l z@{"#&sTyմO CB(JN m)aZrP9ol 4,VLU BeNB~0:` mvJV{3^EQbaS+niv-zWG#3>:::{VOF#h4^<5XHOg)E r`oR_R1U:6c1}pvn7A `rCwbBs4gx!u4?41CdG31Q[q@Et@8d6g(@HTWK 0ZUd||%|%3sDMDĊ@@fS9MCO}wjk*'WI5DUOtm3q1oAӊTAyXOآ?-6%3u2@T|/*%YgJ_P))9|A888 fh2[KqT;x#!ۑq~Py쒑 1"c${MCjk 9;gito/DYLjf1!'.%Y&kbjbcB[Y/zA @_Iv$BSqS2ԑDNgLKdhgRl&X|IxQ8_@ 5L3f[[ XpM4E'[Lu9SH%U4fŌ@X"r) 'o 5!q2GxcKEI@P~+V ٽ!+!SIZ(KI0zY+k+,taGh5$ G`<&꘱\\ۺK#LPU,q4|qI+-5%|sYP`1,8L\ " CMwy\+iuۑo]ʭ2\kGā9(vBD3%A 7"yAٻ y҂쒐g!9#;odXQx&ջK10 훙+̼o A< GAl}\#{Y1%: ~!l;M- .c^^T6C5z:ڃ52tdQA<sFZE Q<Ĺg1PkDGi͸񛨋z-Y΂8[8 9-<4#5=b'd؏-M5o 5ׁ1ʍMљ  ӄc %\PڃsϜڱAR ۲F)_ؗӺ-nreZv=܁ȝ-ARiͷ͍Z[E+yImW򰚝@网-D}ϔ Ѥ)̽}R}nGF;&S`;=D%)+) 18~1nh{ .$mM N-w~0:>$dohƓ[[ߦzp9aJ\Z#u ~L22%>w=U~Ju~'H.}.n~b~NؒK| %D pLvavGINYZ~ ꑎBά >z2-x>a<܏6YN~c.~跞T螝.86 -9~cu<ˋ~4!ZBMr /a^2ac ol 7џM{Ȏ\&IpI3+?&HղCp62=O @OEr9L,κp@5oAQ/*>?m׎/ J70l/?U~ ӭ=8/o' 1!mp|}93s/4>}n]Н&sxVk !npͿ <QD-^ĘQF=~RH%MDRJ-]SL5męSN=}TPEETRM>UTU^ŚUV]~VXe͞EVZmݾW\uśW^}X`… FXbƍ?Ydʕ-_ƜYfΝ2xZhҥMFZj֭C+[ lƝ[n޽}\mYő?NSYΣ_ǮrٽlwgOyh|/A A`D0A1:@ 'Fb"нG$D=ɐ 蠐3Bho,GQEz0 #(8c+-PH:恲 ʇl1MtM ,+J@ ,H+4@ z 'JΠ'+h ȳO#aPA uM5/EM77N Ѡ.c2"O鈒2 hU T05:M9mӁ Bɠ#HC@-B͓HUq !K{w_Q؁Ƞ1bрTx[z< ,uJw 7`%Gs""Jv-2Z#.  CDG+'g: ( 9boZ1Ʌ#bPκ¶ 0$͆09%گ>h}5z;n{S-"%^c9?v%Ddr &ґI)$WHJd@O& d%L> R.AЄH%dvG@>JZCd&dE IJdDI>t:8KFBR4&II|%.1A`@ y<}W&PDc62" =8S2'=O (EQ3${g rLxV#˜=MG')+?8Ū| Jh~G; xE-:S`+#E YW%-o 3@9T5iT4Dl+]JmѫBT?Ml 3t;SLlHU09,*&/n KT ogST6V!S\q2MkfKY q3=hB+Hf34`IS'K:ֵC$tl}mn+fS#_ 8XݾqF6׹9.Cʷ-fdV*]߅Ht"WƉ{ K\Ťđ*!.x*^sY!nYi{ʗMya!t^ %H0 +Bhs *!,tYGQL2`S1@p:YBYB3h׳9鹛T924ړyQ)H6<C 0i$h74:,4*:xD:9Ly,)çtUbxS=KJH;Ij4K1TS<kHvy2+ūKDz;󻾬6\r"łlܧ(bҋ<0˩by$K|L6IS(1S4uJ+iAp+XྣIDž0Ē&xfzG$Oa:Ĥf0OfcHؿ,΄L΃`Xs@ P`2γJ#,- ,r%*A+id|,PAQAY٧?j!"F= Lт`8:c$)H\BT|A#e%:M@CQCeaC E84D)ݠc+l=;}DiP!ģy2SkhB3D7DӊSL\;XӤSXT1E-yْVWX1)F=p _FpPQ=Gc|HUU R hSQOYZ\U_`=a%0V@d}eUG_u֒d(VL mnopq%r-W*k=vuwxMWu-%`{|}~؀؁W ;PKzzPKM%AOEBPS/img/cncpt172.gif9cƜGIF89a;@@@<<<```yyy 000걱333֫;;;pppPPP999???vvvΐ}}}___sss---mmmĤ&&&RRRLLLYYYfffFFF///666XXX,,,:::555ggg444 ...JJJ777===rrrooo888OOOkkk>>>nnnjjjwwwttt\\\***^^^'''ˣuuu]]]NNN|||iii~~~+++xxxqqq{{{GGGVVVlll[[[zzz)))ZZZKKKBBBTTT (((222111AAAhhh•ɇDDDEEEUUU QQQMMM###HHHWWWbbbeeedddcccaaaSSSCCC """%%% !!!III$$$!,; H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜIKr .I( WMbB!?mbX ^%ufi~&!&*HiuQ:_U]%I8r% @)bsS'|>`5fc#f<לXdIw`.TVXXx-S"jG2>*'`UZ6 dyT`e[ geSٗZg5k`՝nRJHYWPUn-d@F"Å/ jS=ĜYHa$No@8Dt(rģES$eؓU-wiq7#vAU߭^! eyQwJf٥jF@U&=<_y,YSiûo :FP<(2{jj<P8Q>׏8lU  }"0n1Fs{VS=xZ :&}Q 7X6pO !fV_P^| 0YY RrEsgErÙ:Ycu|vuYwΒS"jxWǑ ln<$-A>㗲pYIhSN2؄+!*6)ʁi('4]F3BQVHPBМMMB XV(%ϯTXHNsP4+:N{4E5&V*@VΉ@JH X=PhFcp,^+nOt^&@w lMY!H}šFmKFٔgfFh"Zb YyVa(I[khfAT[X'`B]fe%z1/@[^')tKZͮvz xKMz|Kͯ~LN 8#[x6{ )0(>0gbT88i6αc`HN +2rB@a )8PDchE@d x5 ]r0)Gap>PPCܒ2` $ ()` X؂%N .| B 4 F' V( hE3ѐ4-iMsӠ5M3PծN$Љ^tIWҙt?QF06M>1مkk:ۿ涰]c7ZK5}`{7kZ-{3 i퉷[7^qd9 c8sH!@FSǸq$Vڠ` NׁRK pûw].I+mXX}p;P\XWU|0.ۣs&x/$Zm[>iX+(t1BPҗ>MW]BY^8⃮7蝿@xQqx ׽f }~r+~,Er!#| hg|/72uM }bw=SgkVbo'{@r`xEGvQk ~,`wxuGt-}!:P0 E&E8,Frs(ؗ'ZB|-;>YqOЃ A$t,Nh}g{H qv`Xy,z \؅wO`t[LH}G{(x5jvxs {~(qhyx^5aւׇDp ZQoq GsnvO@ ؍JMX}W{88APZuPivG, YQhZ.@ZYk8H1}{7p S` ̀ ˘ -PCqEp ~5WsPR9THو7{(!$i p  < )0 P405: Y17+ ttX`y,PPM ysYAP0ei`+9p;ppy4i o199h 3ɠf(AmXSX똚bIf9yzɗI<˹P*imp) }iyiי qdIؑRɚ IɛYLpbI  p yy邶8$'*Jٗ}13Z7 j:ʣ>@*DZ*؉fTbW Z Wɞ%(*+'POqj;ڣ?CZvzJiRfQj :ijIloJFj0.*R*pY\ ! خ axW|$]Rhʩkڦ :uzy!0O!e ۰d I*Z꥽ʢbtE!#znrJ+! c4[^;[ڢBk";rN6ڲZЊ! 3kXcU*˫P ?Phj#-SJ,۬j.` V@8;[ ;9ۥb@p.1E+d$N۹1Lʬ4!`B0o@ P P P0 `Ān`+aHQ2:鵸{?۱c%6i6xK  C24 R^ 0 I P` 1-=+Ѹ[=q 5ODkiKKtvJ %>`;;^p @I Q ̠ pC IÂ]kʳ; dj)[uR.0oALOK5 |k>˱ +Pc6BnK/3US. W!8bJCkLlĄ4Rp{TD^?հ f `ȭLy 0P 0L\ Q ` aY$P L>^~ a @LfZy O@nưT #? #f~h"0 Mn0&0qP P ѽ LL A xjn^x %H!CхI]'WP΀}`!1Zm_(mD#i*IPn/  zOESt-? jX0> zB`crT [P }P  0 ]0Dp \ ̀r $XA .d xXE5nP>EY" If-RҟC,RE-9`%1ĢI.ecȦQGDqe˗ xkYy>9q(Ȑ/AD@CCl$5QR&ȏB8`EIR2U.gc"bf_]6- *FF(1覀 '^aC)wƈYqs4h~ @:+`3@#DBQ E|?IְHJ?A"ݠ2$ A<3B B#y*kDpkIhX.=N"4;Ȁ} @rF~C| aJD[IFB h3i,@EܸrA(BTnx xƻ8,PDh@ MRg?B8@Ʋ$1RS<5@Ɩ..̅ĎRE, "z@"NҽDC"D~+D L!:kRnRo !pR¿$-QzujQĚ4XpžJZz$h]fmVB$q*ѐAA_BannhقW ]:ur ]oAgJP^{v: 9갠Iyt胳UbslҢ3x62YءE\p}nQ@-(YQ IIt4nt~znII40'Y{\Lu%'L5X)]ۗ, 刀[JQ* 9[~&)˯s&o|ҁײLԓm1Ӿ.YJ#[팤o^T@?EɭO›HP:MIW De!xƒeU@e/TBP3_3(/{*cP I J_N=%]Z1V+F;zIh1c‚,tp2q "Gq+w"FP>$$qXj/R92z$-!|]2!"8)RIJ!Q < +9R􊋶-}W05,Ec$KcFs!&_CjZ\)UxÕ-N;\Y^D f6j"<B1yӮ5-i%9lH+Si=8F?̤C5BϪXt!^'+Ib yE"t=fPC}*9E1mzSsL2 0QS)2:Ԅ t ?%s&B.%dx&hT : Po`A[ַAiCYuІm_H&-"T+:j`uX_9bKf, Wq4eɦmAV@%miM{ZԦVE@[Ӏ5զPVZQʀb! RwIu gL"dhY,q.( cCVnwUK,u186 [mONQjK1fKC=8ngāepa x]fXrԽ%i!I,ᭃIU&?GX3nxנK]oA4\L70*,M kHCviֆ7kY.}vgAk %\JD qrMK8㴳keSK81q"d529@{PhCikbzV-3xc+ə-ְF:;,ka9)GYè3:|$ fv J o(gu>qRokI8W ͎1 UEGA{LmYۚ5LfaE w`:[:MjdI"#Թ؀5^``}˅3> dAﮫ@ rQn@HZfw}0g:^f9M+ 6i0`zu ~p` G8[-o(9` .pQΩnߴJݛ JH!6aAXNk*^Ri[ X?0 0}d(BC8[؁8P( >>+=k:˽As;6=Ch34 4@T@t@ X   H @A$ADcc8؇,лjAA7|˿?KS#H" #L\|@(B*B,< ?r#}(PC仦؇s'p7;9 c0'hHIz`xPxL(i28|C_u3sAڻPj̽$J4!,A,&D(*,|D./DCLd57_hD9%1P  0 H+)`)--%  p*&.2p'Ȃ h20zcfdX}ۄ>!@nDBo\BCtD$GF<-D/kLc}MGODv6$3H$HDHdHHHHHI4lǿ:1$ }3sCI%$D&<'E4GG.D0lǤ,C@ӄTG_〉J\? ȁ,ȃLȅlȇȉȋȍȏ ɑ<ÔllIK(lK?@GdqTrB?=`4xDJ21N I\@̔JGd?HJK4LKdڼM@\)@ "(NK<EXN%ā`BdVlXH4؇A@-|Gڴ"H}"QJ%K QMJ,KD\K4یeS=%>@B H. C؄;d[F x*rkPKh?pG2/Ek@(mQQd%)ތ"$=ͰTMlͳMͶRܼҦRCP/E @ >X7B;Q34Clh8PG}X+`}B}Pi@\hHg-cp2d׊Ę8X-`C0T̜JK⁛RERDlRV(RZ[R]N ଳR܇CVS }P BhSpYi؇ HD}m 8a}G]"+8A <؀с=N]`#%͇O&]UWO*ODX\]Y5BPU`>XkY T؇S)P`>@݇Hs7pY?NLkڧUJZGM 4@I7H+ޥ+[TтMOh 5չ]RU'uRYO ʩ0Szʩ&$޿-E\BT4̀4A:8 :P,pp<؇)"$NHrZ9MZ`D/,[=[MU[-\jĀ4A-uϸO%MUtVO)Uec3R+5"⬕"u.]ߐ5\̈́}fE؇' @0`ӁNvg0#>0W h%9IaDFTa= R)>5Z1xז`bO=eb ё5xTd# KK \-4 {-c=m?6_7_F<EV\BX@@+ 7h^pC^p];@QJPfZK]؂R@G&^aM>daPv8.1X@ y^e#ػ%Ye#'k7H6; %XC%1w *2j&\l>\m_nF#,LDJHlukmmQ` |k60Gߖ[kؼ&f0.6vSh4hH^j4_nN< ĝlNfֆhfao8KQiEbe^h89 & 7[^fl&Fqt$Jd~~~ᵾ(:x m n"&R8 KY7QXrlkNlpp"sF&jOsf퇆qLs'X}bk#x+sRS!el膐FއYHEn6Q0HR̾t6 LOs^m#,`oTguPn\6[ >>؇w7_HPv3Lh+v̶ L_}*0t6q7GsoGeb؇k`vwxw9f74+_xJw]ޖ.p\#O vY(ei.h hvpkx. @Pqp4yF3jՖ_cqSosUy#<5x4(9w '~'n'즿^n\dk`(#egL8098ox Oj0JEL?t2rWNXEH.~^u/^TR$^_20۳9\@ʿs~ul&e2l!ćPd;6Qkś"ktlפG 0 ٗ)BĜ: cPq YtZSdI$\RN2 >0&tr]/Ɉ(살h*ᮉKa'Rh٨>*d¡5=A 9vpⴍ3V+hl iО`[n%p±*j߀}CnQR:ysɓ|mk+ C8]őd "X(` ),`E KAT]|A?DDAzU1xph%$@A"DM-`O>)!V bA2UX }XZlW\sPwe $@C'\&zG- kVmo υM6rAD3ْȒ-"9^yHq|g~h 2 TP\ ʕu2t@&X!N8e}g 3Ք.TO.l[f`bUXK0>0b5%U6{Ye^zD@HX ƽX!BH6ɔI )2-gƚk (ỦϪ%ByLfZ"Jl |ݗ~ >ZD)!~ pA ނbMp57ˮc``G CpeyHV:\ wp9qc_@x`0|*첞|Z-s4f3δ֋xFjі"c9ᛟй6`mx\ x'veӊkv, B0,Y~32W%5>+G07sTFPKR ֺ.aþ1;׻Ox3򒷾!y1U3Cz;^϶{ E0}| H_W ~2B #:q`EYVjUx_MX*e-ZOnYEAh]Ϊ\D9yt"V^`ӁE`RaZfؖ$D" SF𲗕8 1sg!y)[b3"X&*4p(DmsEd7[NKK#ѨOks %v QViv6_-Xu3 >ˑ>$YoY8&;v0# ?S X+SG\} pO}0-b96fmkFAfR$C N e-8Hft(>Ry%IIy|+Zx c ;SL0Y4@u".xCAx@G6ur+ݓ#+` O CYpU\F{*x}z`"Bį!0DtXG(1y2Y_p.9Y#q0;h?ȿ]er``BrW8TJ(B! uF>>BlPq[|#-HuX$sLI TZMh5xNWkTo] 8*\`3-A#@Gē%\e7zA}#!ِȽس16ERX!BhY1U!6tֶ>2 ("x=s1k`ƶuYWhufg>7ѭh1)Qׄ Opzrqi<k~HVn@Ö-c#F0 y.!8[5C;Nr0:dcdzŭO}8>9׍v?𑐎w/) \0 49;RP6)5e6%*gZ}fe@ >;܍܂6\=AD8<3(Z-Q1`QWG;ߝ%駫>JflWwlF(.|l<.# pݻT~Jxb+1,׽8?P@p 1]|w@C`=xE&4&[hm#5=Z$YV]18Afh޹D]٘ aЂBT>xJ,H,!F>R Ҡ F@_< f^  m_em S?mD0 \,-t$PABԀ"0@ T=JfQ}(T C0GXG DJ`/`0A 8Oy__C)Ƃ !V$bKdrDZ}= ֙!A5J!DCAB@z% *pB%"P#dۤ!/n#BV"> r0HPFV1EHTJ0YKL&\ *,A(H'ED5 S`F41pG.>J>cH!1r2  ` TN%UVU^%U:c㻙X=&5YYe#?㿁 F$Y%<%rlX0/kOnt$ B8X=̈́Gd*`I"_B"DA+@pbl}I: TA8$/C%l >BP#cc36 'i%}qe#%y `#q \d @M'[dX_@ezZ8 B (4|ZK*'|8#ŸxKjBHbIde.H!,#|D\7\腺*@($5ÌKjjd:hT^'=a$|>PD$e/$)lz.$1ʤj4*"E z;E iљLhӋ$WLF #yhz0:2U^*fn*@ @"E]b> ^%"ܒ^X J"tT(BMJ'֬iH)e)Y թ[(M,+ꉶ%jjZRayAMDt+n꧆'B6k+Om08<>D-A ԂT(@g,.61G>+Fi&흚4rK跪&զhWH*Ddmfb!^؊m&KJڂ%A [bigš-LA,_F!x&6>ԁ > P> 0>@2&rSh" > 6ndd.in2Pi m.* /. k󞎨zB/U @6ƪɥ@A FrD'>dl*.:.#@! Um>h/C(8p(B'$AlRkgk *Xj֚l +*d\2&g&o2'krij  r!*p#*gVLopE&34BScqjp x2& BqDWgwt"3@sކ&`hss/*(*, B0C#i9O.dE B5X>A0ȁ\!x  Qx+=(L 0a6b'b/6c+v 0B5 Cw%DLBA 0@iΪ/@(Hq dKlDʴ0t1t2ہbB-`>,: VQQCRCRAtJ@.5#CtWWC9fzSg4l$L> ; 5#^_!{9=YT v/87?8+xv L\BT@?}BްsN|W@%e@ ́P`H% D| 0E `/w@ 8"$T), A8kQp3`d҂t"!4>Bh$px7ف2\ :'H@yA}$Qrm.L3>C t::C0G0u^ )+f*lMБ!ϸ><A8ﮚ~6>n(;29sos1uc(hF.X\'C29H@&AK(.4Fz`@^^!5xVT:C7aKAl%AH' [n4J'd̀ <;/eg[zȁ&\Ck;Xl>-~Av5ps8>8PO1A)H>@ށ(@Q6Q;[tSBG>ꣾdN <|-B ˆ 8͢V-8Xh@ AZ:'4C ݖ.8&<D$hï_}-goB{,mgw{r=Rۯ`ؽ|@T r\gUߌ́i'6I9$'6.\ @e~+Ytf**,Z|X1B NQL6B >ĴzvlXc a +*ai,4646#"kn g=@Ҥ6xߞop}IF!7n( 2B  hmA0(;rh!E 3@c($(}5b-dOzFB}arg`پ8#1dppP6ggYioLl&BRʌ翽hG3bU3a!a xPM<20YBcEҁ 4M T@ ]^УF8pD EP|i> mNKm^m6}FP$g"ǏC##8c9褣κ52@ ̀ L->|C 6+8jD"$H*% FjI4/a : jТh;iGЀ5<UxP ~5AYM ]dMj䘻E_@ B}y%sLQG̈́wy/mF(ntg+HrId8;.NjG[3)wbN- c߀c?F0Bb cs\śt D F7̅=Mi Ɣ-=k@SUEn%>MnX-}{~%Qg 9)H9EɀgLuxm^o wbL@g뮇`KƔ6S1 n`g$9-T S jA`0ʡh+SҴ8c +p>#݀-F\70BP ;Am SA9 Vh,]ъ(/Hq+ Ѐoo0fx&E)X<#DҰI*Wp#dD̀X)6ŋUqnWLU]5A͑AZ Q0"D"8[pAx&V>o͛f30`#5!w6F0JC e yA*D҈E " /`bx@((7, @ސG.\/G&#]c;%A)w,x 6]~:O.T &8/&p'AM\M}2T{==?آ24+ ALZO +}`K a)tc Y1z `V.4?}LO &a0" 5`2FRۘt(( JSe -xB#`", XSQ$+TQ"GͬM&4ud! Ȓ~_0RU@ \Z  P xDub 4s1,51P@, ApBlh1D$ T5! V0HPfІv؅lB;ЂHzڶ5cB%! Yu&$>G^UʭX#RuLdRl-zfyL+T *+Ѓ bsy$L6懘ˊ(Dq~J gy%^a1P[_xf7\Ҏ8JB!S/~X}E Ӎqc8i;,2$+4΁1n`u ]QULq6* WHfIu@h^\`V f $c@.{ onU;uG~$Aro8{%/w-uC1;ohwL2@*R ܜpw~kz Ez:`?ـ~K}j5:T]-֠r" ;!Ga_ 0ž#'ciG Co+㑑8._LͲQnk/w|0q%jc.kIA(.o~`n^{$w7h@կDw}L.BC>[yzU<P/7QLi Jҙnj3zQ**ߴ7Npl_/N c@Py{܋,HBbl2d&j/8pV2HdODZ+"+v ..Y"Tf{OZy~g*@:\#FR&&NP "oO/n9o/ƴa&VN`VX*Rgl' BЅ pEzVXB@@t۠k0ɾn0WQ~0fXy g`fQјd50Ro oT- y/cOΰC C0pٔ,/f t+B4ѻs,ܺ*1 lJe޸M@k% emtj+Hdyt0GryFqdN1|`񀎱|p1Q OS-p Tp1$ f,K% q|% rl%H*/ˊlx@k,E-hoB*0%CBB-XR58F#rԍf0[1|b22)oC)0ՠ Q* ^L\=(JZqrHH yZ]̪B & =ٓ\V3h 7Q7p.)sr 3 3O::+_,Z3pE /I4lb?a'g'@P7(7AA)R9B:++OAB>atKLh0ZjZjKc5 j uy6}7TAH)0BsBϯBI0+5tJ9J= !BhL /Rg& +-Xt< 64 sNN84tIsP94CQQQ@"4U. XL*R8PҰ .`G@UqH $u* *mPqy&ErXsRh/[oV.*L0LJY3H &6K@5AWu[[PU*\kP3Qt!BlWDTee#xBݪkE<.2_tr"@ Zy[48[A_[3Ig91J-H@z e.Red^vdɮB,h >T̮*P| r 'NTvbb]5Ia9)t\i-B$4KFylٶKVt̐ \oFBY2Prwp t@ Fa j)AB6V)c  r f #tKEX{O1-@%+х\evgthe^ HOz)pM.A/ X6IY8?AXVobE߱ c{HW7%6Ns%_EnSWppeW[⺂yj؆k+Z0Ae;8X8̶3/c7FDow tu˲Լ~W˘0||x\E7mwٖXeE+ʬ X{Yԑ+> 57;/ٓl.C;[ O4YՔ[RY#يkDeyY{Y|tyG9&.,ˀ*~GYX]<Y8! _˙4ynٝЖ'[{9ٟ_žyY' r#Z'96ڠ}3t ` , @ X` ` @ `  ƀ Ġ \  P0 U DCMU]emu}٩ZIw@O:W_:go:w: (ZZ<qq zګ; '3!Z${絲/Z{ ۬:U{KX1[[ }۴ۺ[}^܎;Z9۶u[Iz{䚻,{k?;{{ںqD+a;零۳qEۿ{g>hr>3`Pl Ҁ ~ R~xAY]ݙ~k r((mBG: $c~ݟڣ7;0>5v ^2X .$``nPϞa^ݝM]]-7uF[#%6|78菠+ӽ髝oɥS 7F<, &}Xą8!B  JX \9R0̙4kNIؐ Vpb -^YB*c򅌐.dФ3tp@ڵlۺ}>pڽ7^`… FXbƍ?Ydʕ- Y`N($*QJ:*UZz+Yk۾-ݼ{w` BH"F=I$J,]]wN:-z4ҦONz5֮_vm_m?_pwXr1sI7Yu!\ǟM5?y'ZxyZ{b|~(Ȣ^P\b1cIF]K!HbL^@J.dN>d|&Ie}VeZ\r `L6vb-֜cE6e. –Egvމg:Ѷe]gUX\4柃X;mVgLZΩgɧ~i}5@BAc&A` [#8k lrF < mJ+U@h< nc @ ЀB{pCG$Y#&LS#p3)t+>!n.[eO|_1!m:l61%(C,C"^DC "IrJ X1BaVJ/tN?ILqՀeu֦"jBđYǯ+).0[H +1L"3>-ʡ<+!rG/C㍻?L>[nGv9p|qvFժ5`귑< 6Eu›(a1 @Qb@,C<c-@g рd0tD,O hh4: 2NڒD@'ljGq1dyigezH7}/|*wޤn}$D>̮Uނd&9&n5 P}8 -1&}%l"vrDmŏQkab%!9,}`d,ψ4qjD[58qt㴸(&:q©@(QWpHlHJr%/KKkIZ> JPJMz)1G[_ftё4U&o\rDܻ8݁qA$G\s@ё[X(ܴ*7:h"YKGr\'/b<)yΓL =Y9g@|3_:n*4d+G6ܹ/FjtG9vt|'[@0P'? APmrPAЅ 3^Ŗ4*FҨԤk)Oj-gq\]P΅Xğ /a"a /y%8ru|c* @_s(8ZVe* Q`e/jvl)\aR.A'ZԎ2S&[6h)@G?X6 /(q*wŭe_`} ԅzI8` sJ*1#eAss&49҅#%*2a tJ>7^ xe40CB B.?s| ># 3@ A$F#p v,07C<+\ ՀA"" a`B20γT=9}vd^QHccmqI: !@$Ax|&+z@@P.Uy!E#hs *a}1h @UCڙp a" XG믌u~ YZjo"aG"`k0 H-\ 9g |C6(z ȍg{X ;mLz{IPD ^p],n0 Zb-?3 h*BB`E2|4!X- f @ͮя~JAB%x>TD)ak} 6DD穀B)lo2zG R- + Rwo|5AD"$lIU Ǽ,}9Jˤ]Q RzkFxT8DH=|.$ Sit v?}~<@/}< [$`y{H!><0Q4Rz=P~k##e,Wz`@7 p'8>wC!`0!ִ|P 5.@z!h#81D!*e%Ga4p{)`4xh8#7 h7Gx;؅|1Dwh0?p6{F7gXb@W҉t{(w>|zkXv{Ҹz(8{L<-h0ry+8<茥w|h׈n؎8⏧t!i|(؁b@X눊Ȑtq %xx-=IGxI0bs|In.9{2j7 ?+ Q((ڢ~z$p'VIy*8ɕUM$~ؕePw`W(;PK< >c9cPKM%AOEBPS/img/cncpt223.gif;#GIF89aPPP444FFFlllXXXtttVVVccc]]]ddd>>>{{{MMM(((NNN&&&SSSCCC777 +++... @@@쀀333<<<𻻻yyy}}}Լ;;;ϱѿ```999rrrؾ---ΐ煅ppp000ڛvvv ᰰݗZZZ,,,iiiJJJggg222111KKKȒɷ|||USTjjj^^^nnn___B@Aooo:::xxx888ègffhhh[[[kkkqqq===*()#!"aaafff~~~sssIII$"#www kjk;:;" !nmnmmmAAAjiiLKLA?@xwx434=<<!, H*\ȰÇ#JDhŸŋ3jȱǏ CIɎ!&\ɲ˗0ctiE8sɳϟ@ Jѣ;EK9ӧPJZիXjݚU)ө`ÊKfUhӪ]Vײpʝ+lۻxuOFa LB{+^lU~KL2YČ3kތ1d~-MMΨS'װbVMV֠c]zͻ+_qУ_>ͼ~åk5荒sOw5/Ͼ}< —__r7` vEg%(t neBa 6a>8ሼU Ђ hx4 i8.'"l?%ُ?`@ 96ujҵU8淲pڻxjؕ1FPH&: -z\nGNM{- svLغHisԬn|qڠ&90;p2BM<doŷ^<0xa|ClC6{շݮ/p)beޚZ}@OLk7a}ZjAwYR-j./Fkpxk;)I,N08!vN[6`yJ*>SE]aN27.kd[p( GҰPk90:}EO?60Ʊ iT*rBL"Y ~.$C X̤&7Nz (GIRc#5؏ϸ򕰌,gIZ̥.wZ:rke/Ib6]0@kN`jaQԙ-[rZ =@PN,TuP|"jK ?$1HU+ܨU YBphफ़v%&p&0ir9Waʪ. ʟWu;V OKv*x୰`@sJ!PzA;x:)Я(`T ˺vte*jLy"e  PzXW9#;C ) J^%xi?pHjyP LZlǵM[+ZL ?^ <IٔPwT8KL#_. bq9*r)I?V[ DŐj K@L{+Pp?؈P 4u M sɴ9{ W<zయMЈt0E {qL)0k `ƋL{K RѧL;zV[но[P{L{UPakI1+À ;e+M0ƴDP gMsl\qB|QMJp 0%Tlt M{HI| NOZÈKr{ͷ l^ +J* PA{v0&]wӒ0^bNwm [pJ[`8$޹LUPϭ}~ߋW8m磐aC^d0 ;()ly P``0RNlY[]|Uԧ hψ+-7q} uM* 1N.4>Ճ҈W,Bм-QOB:vP$9 c8>nwJ<K ` }{*p7Qw>KKв򲴷y ` WpƠ`h.a>镾;O`pi p  "jp@)xo~BRƎ0 `Xlkn .~^:>>\=@QX47NRO祈Un0]/__ęJŎ,` "|~~" {o@ /C0= F` {/OS_ K0mݿ޾;P  y 1}N `??Cpx9K%Y(aAXGRWI)UdK1eΤY3?tv@d' [ %ZQE1O ~|+0l oNvI`$YEG&&Q\ڏŔ+g$L6JiÏ2v!!pDSĂE wPE? HeϦ]6M_9HE&i'GX?QqRS)SvAZ`vwkg\=YR# Eq 'z<̟' $XJ(ǒ.hXF ؤpC;.7|`&8DTPbA^tB *.֚ED@OFmd=L0t:k@ П1LJ*"LB*82qO>D@7T@Ο5B8CF\r;GTlP %:#UޛR>o/OTbD WYh D-9MtԳq.p; 0;TQEj- lJ)kl?^s  6M QKB;Yi+┨Ulu7-3jp]7ԏZk e&JL18u `5/`U bhZVۖ}$ envj,Jl4l7d ŠOd04;EF 4 s# | e[JG0)Z頬ҍZkYpCcfZ߰#K\*-h@H!H"T 6\8isi~i%ڍ?'Ddj@/|+ G4U+cE-zQ+C RΝ #%;D!{ESc pو Y8YVd3 G)!i%0QjN;A 7d[#rrȄ*" PDX wGx@/XUY*W GUȄΚֵ\_@t6@81 و05FiᏈ@g)' QAz[M;Bo}k'WA  e ;HA/[W1\.׹n 0r0e bt mmȕ\Cl^ ;m+[F8Ar p=( _=H*7"n:D"q &\AB jp`( 0CpA.\F\yJ<Ic n0ZcƍE_X•A#F^{ 4QfeZYbA=lp CZښX A:7H!6<VpADž !҈ F C8r-PУ7)A9`vlhPB2}l/JPBi+2@&L=#&Մy CB4[26vxF'x,v"G\¸Sbn׭v;ПH) W@ Sr،Zl/x`C l%! YXBp6asB'ё%, @;ǟKNkhk[}/2ߴraCCq/!^p¡a>| oxć}ؐ $oxŸ[q @@@ﳷ 5 ߣB<. mx{#J/'HpD8p'hi񑎄 .8:???ӣw KxX*:? ۃ4R7?ӿCH #rx/tBB@ChbyHzH@\ "AAALʂ A#l%>r7l9C;C\İ(W 2Ȩ^ NH-X0acCQTKSDHEXś:ücD0ځR>P/"tDG`ރ=>r.yd8;8j6r|HHHHHHHHH II,;PK%@#;#PKM%AOEBPS/img/cncpt027.gifcRGIF89aF???@@@///___OOOooovvv333;;;444===000ppp렠```󐐐PPP ,,,gggXXXJJJ 888:::xxxnnn&&&]]]---[[[MMMmmmiii>>> )))666ŵZZZhhhuuu...NNNLLL~~~'''͊zzz^^^777wwwBBBlllKKKCCC(((RRRFFF|||<<*k"Z\ =[2NT$d]Zz:jZ/HS@ظ?8f8QOɭO er $)]DL@S4AEe)Uy#e}a?!@-^ahA XD/I D65QPsPh& (K#bx/>8)Jbh|5Mw dzL)= >| %T_LJbkSx\Y9(G'3sq稒9^.w^ 0˒ . /Vq2;&34ic"%SK29u 8Ir2vS;iM`gN7M(hYL P.,=! JѢT"Ǵgmf2BvLܠˠ/LT:P6$Eg2h6e|(B<#%,IPSER AXE u9 "SP8NGʆ"E]P]2V5!0"P@jr8z=:T 1Av3:UtgMIYJLk2 ׁ5 y}2al(9Ra x h:QZ] [̶ =mjWV%b֙\MYe#њU8%"Pk:q뭭A[޼7e{׼}+rъNvkvB'gW o2 0U`%M_8$٪bڮX.qM$`ᚉ @ K[fٰq:'OH2 UU @d[,'crc1WXf0t@HsX@V+PY,b_s XhU# G&)&sA -S7t IC u iY :ݲ̙͙՗FcAW պ~m"lQCkqkȊ0<%HDqu=[MH\s 0UiARENr>1<>%BWWQ]U6tkiN;C1FNj26oԧ^u^Z cN!0l5z6Qz4ѵyҶCdD ! Gw$vĉ󽽛gWBY#~=SFkRHУ{сxe1y/ã;%ZQ#/|uGe1qw5zqCX0(VgɀT8UTOUdq;(GA6JVX*AGjlVEdEWv%Nx]eȄQGDn2H FHvX gEYՉ9`gLJQGrw[õ[[\EZu\5j '0f\j]p2]%ݑHt~U_Z^_]W`,^h`s7SbHp\& xZ6fw8GnAeae/&;l=p.l9b(`Y^o1dw'GIVk`W9t;Ãgfvk]vl f 9\&uc8]\PWfhf fg'Fhuh)Iԗ8y2Wjvjih` jdIv0rU \v' /j%kd4.YB0,8Y'amTm?6mdǘ V<ٖ"o"\f]pua1]}w@x"vpip1p+'pp1W`qco(`KY0qhY*wisjsvVsiٜKFd ISHVluy~W1x5T~lQKXgcP'vTl_cOU Z GlTvl!!(YiKA.FyT1xTtѕ0 ё3ȔdH~Xe,z/Eg2j@|vk@Bʈ]9!Bֹ؉>_a|ْI}pYtZzq Ac!~p !OxD{j('UzAH-QȰ^pj 6:YIWX6Il\ʊ#0U ڣ^j8N4*N'H YZ 1W51hxAPPЯrg6QW$ZDjצ ^ʩ1nǡ aRSU$7Wa@5Qd%N/0Z 8Jڣ+C{cѰɫ-aٯ%uPYѡ:0P W;Sc.k[ɄvT*V@Y'][)Nc peڳ mB oۢyT4sU:zx'p$UWԺf["Y(`Ktۧzn[E+Gh/nbf=kUayhat䯸;+QRSkx8WJJ+ ("aY'6Y4EZ %3H\X[܊Z[5^ 2 񳮑&a('u`"ƞFE|AY^RsUW[I{W${W[ӿ+AAW =lycYd,rrlctlP0[nuSp!ƑZ'pB^-70  ƷY;&ʻ'U*r=yWifFNq~Ejz4\K*Gwn\>5~׆.sa~NM⍹ڗ-]ҞP>..ޝNԝn>"~^͢螹TE_HQ*AAa\~FmV{rWy쫩a>u܍<̊oX$((՟q\lH|B<刋5f7*;89fυ{،j(ᮦbo cqLc92 v6x1qaJB|YUQ)tFmulɥ e l <%dYHQ}/110. kgb5cp|F唳l\hTVS)/~O +^0p $#@A!$(@&{@D 2TaF+^L6A#d9eBd1cF\HЀd"0",%Z($.]9`SQNZUY` a z&BAI@Ly`ڵ۾5).̈xYu \vhcȑ +S5oY*WˡEG4Y4YNzuȌ^ǞNֹwǔMpXƣW>V\%b\u력o@YUn/ҙs@)wϧU;{C?ySn=L!?txp#Oâ T4ў9DP@4 WB8 MCh,=\|rH(#2Ѳ%%k%rJ*J+!1&r8R, s̕x$2{5# MDHx0S&ҬtPB 5P9tQF MQHMT,s2&L.sOPLʹ2 NTSR1A*cKC?wpVWDv@%vIkUWTOx҄+ZԔo eGktv2e2%q٬6+Ws]*-`5^ KaNRW[+.*]u XY 26O.^aJA#,hp2N,hFZSH>dEefe(ygP'!{64 `\{oB&'f(jhZȣ 'doB'b"۫ #:Ad (dNMpp:ݦ[=f'}Sux dF ;uj>!ӫaȧp /Yac7|Oa+TPrdf|_9| dp Pa|H_ HQAUpi}rQ@'1@"y:;3t% [Fx޵*qV6;`6lآI(S0Uv'{Ou 끮)N2jf1R[m%im),eZ>72cEl+K*h.&.k} *$`q[UXF ? (aIKRd@}P[)N 9HnQ*lOP9)nQo {L@\L=PqTuj*Nށb/e?$_uɤ140k˗\PQ仼s,d2/m; ; 6܀?EM+8Р0zE5~XpicPyGEJ `} K&9&.(8(ؼu;),?R!غ- @u=z@3}+>[AA pQK6a"rкh8۾uCӓ'=a7Z: l3(í{ 3 +:@02d# `rbӨcxu4 胻̏(D, <{Ch)\*.K8벆k s%s#48+2(0,7D\;k# @ZW4\<]\*"@M|ZâhC6F` :J,LC5^$(*HD`;7BPkECCl ky mCSA6/WGH+ǁ"'6tGÀ:;<2 6(gLh6J75^ch;@`7tdp_,@%"(cݲ3 Gl$ʕGB&z"pAq'nDՓh=)؃8IERƜ\,:\ 41X0 ,L4LTLDtAA&IDQ2E0p<, Ƒl#DF*"K?&pX89+5'%P4Ģ"5-7RЁʨ= 0Sܔ4MشS(r97pR^= 顤ʐpRVqrȦrj,oʼC(J$UhCDFdH,ZMXEYUV` FĂ,f3EB-ʣS)jՓ\ Sl-шxd׊0 h'YYJj.))JR)DA" |J8{b҈U`-XcH(0͆0d-;F,US7@X^Pmx= =Yf5;BU?KP]SR`ьՈT岿 2R . J8Q$Pʽm`L<7rX1? 4 7(x9ۍ_Xe"@-]V %;z,-^ȃlpJ;h'KE &욮 ;.J.[]*P,QE ] &Hw(-]:pD4+` ^u V^/g<g\5z6+.Iha5*`_M.m (vC*˄s"MaWݰ[0oڰx48p*bXQXL:"vD @ռEӎa8`:Jada؀8xAV*&~HH'x A9 eARSN,XT -+`x5~Dn 7$v7ʂX MaUc V L(F\+(8Jiހ0j&dɝQ̚ye/ e``a&f c*e&Ǚ˻O8 udd5Nm&  `cS^INDOXhf I軅%4zD~珶 Bp@g qƳGȻ6@QP p闦ffC h&jHFU0[;؄+ꈞhjnb lt{|F}F`&. @ 3Xj",p6;4 jwkvl$@?5P}VBPݢED;F 0mkIi5c:V:-Ic^lnnnVm$H5 T/hd W GZt]ӛAIP/pX#(8X>k.d7>$PX=blXWl6PG@#8%0_nk9x~4Aefc6kƃ5Po(3@-r[-Y0ׂZȁh2ȃȅ-^P  2؂4O5wsqsfAgiqSԈnFP wG(7))"0# c g'"!0!5gs7'pGpk֮n0Wh t []u_va'cGveggivktlONd$ނ֏{xUU>>uVuBcya/{fwiKljwf Ow mvx\xz'ydOe?yhOyvM87xFb6+ )zzؐcx%Ntwxxy7vwvH~wpmz?/hot?hu{}{~j_tgp$ HRFou>N`A|ȏ'7y6Emq|pj/x/k^v}x{_w|}xN}~٪rzVo}ům$w\}{!&L4t6q:ڷsbGoܹcyOS_gPF*`;FD-7RIΑ5ݔZuZx!}`xKșz#{-=#z" #B2EKFlW2 p$I*$M:dnu\`ʁϙt=Zga9&e 2&%("pF(gc)#P0$#59>k֟mnZF i9fejxn&c@/$,0B2"'Dʫ'KĮtkkFfg2#~+mK:N_l2Y^Z 鼛u9j ,Y ݇B  . B) [ ڱ O\jmYk2,.-!d ':jh)1;偙*xe&-"=5sxpi 8 `<1&s-6dxJen-fCkf A,VB"#A;4B)3-m Vrզ!\">= 4Β@ l{N{m{g2d ..D 'Nq闡A i>=z :iz0@."rEr^ Pz( :- %H8HomWqaWdƧ. 9jHG%m KB!Qp`[B;o ēZt$D{pz@@$NO`]E#u"W8aHV#$}fuacT9=2:|φR#fT?P\B%+m2q%@#I $#_HΓM%ȱ2G-)X)H@ 9s2l8o,$5! popVM"¦)MQ1̅(ˑEs! jCC|NJA Zg\" .rtA!ЅN$htQ*ԜAgԩ92*s; Fmԡ 7okN`$ae%SMI2,I Фiz阹dE-JVfT#턷Q^Lj;ďoVu#R'I`6} ؙ5},KŰ-HykK^Z M^d 8-6]96Ov9E$M!9ySuZy|Zk`tyY)ةa폠)EAFMlu'5E=F GQT@9MG]˛DחI5!cQYRMSU&&JRQ=ՑD՝pb4ڱF> u#F"N΄%҄qWu0%i̢q)㼌_/ڳe#bz1c9#u]4 5V/N1^G++B7"!AbP::D0c;GAW-ds-`; #=b.cdL d\cGz2!-VE`j$LpdydLrcV9d59cJYV'^#3$Qv㖁R@/ePa,BVҘVn%MMJ\S6>Rd4TRAɤc!c$SS T"%[ZU6jeeYN$.T_[~aF[ee}.&cJ"dF&Lɥxe&bjbJgbߡaEKL*AnR 挍\R]v&l^\%mmb`e #R≞ azlBk#cfT &ʿ E 1߫''`Khd|ڌfB$>Y6yhFijɨ\ʍ\̅͑˝\<&ĝ܌݂JVrF$yfsfs_gKxM8ڤՑq N{ ))#L=NLwb_x&r(s_t:R=(^P^%]ޛj^F=Y*N fM\O|qލ>-Fy:'֦^h=P~^6eP>ҧn")% xk)l?)[iMhQu_(__ı k߲`% ,Ԣ*bBg&6&  n`( J*һӺ ^RI R~݅iꨙb_VhtZ`hK@,4Va1!> &&g"*l2l`!a彡!D,!ޡ J)2`:3$ZN¦'iò)Rm(vb)fXR'(n(v-+Zii&,ҎI*&aojod>dzkҶmܚk~u":߲I*RDn~d1d8d) .ܒkF`R`9)WXC~xjɖZ$^mn\n-^E칲.Zz.&Fnm%nXҮlBn1A/Pc.W ~rer/N[V'Amkʯ.ٯj\Rjo0nWnJB0纮b [p ckp$xOY#]-- np\pu gX8>no sk1pDRv~qhwܶ.c7'0NWSQ'ٛ{2r8|{6}'$#%r%hÍqu rZ°:&i舚膢(~.ӱhϭё(znIpnBi9j]ꍒJiM6{^q3"bhu1');)#>Nnޜr=` ?\u*hϡ.1r*?}{ر:ʏ >Ӗ_Ir#%Or&?}6R\~N6? h,ܫD>07ԑ=৬'T# +4r-G8-òr,( @A$ bFA+"ad%Nd0`cL<&CA;Ca 8pBL hj0bA@$A 8M  2dA ݰ( @ A06|xて7` UMvvlYȇ/ 85h>p"U#$`ٵ+}o+ˮLܠqxuȈAMP%4 2'PD"UXֆ10: F0 -r . /:-0;104**?4 S[C*"%q#:pqGz 1GsHvLۮ"ɂd3 &c=pz~ jJj)S0=h2Y4?cJpފk+3_48ďҏzDFO4S1 _qp) ,d"Wa5:Z*Șt׃|5XְN/Bg:L to6ビ9k SJp$h"MP}pR-HC5T_ui`Mu%RSUmU\y`}FP .#-8?X-9:UNveBH" ]3[7勳>:ɀFIZ]PeTGQwReò7Wmꪯ Oq w 9' B&+oonM͈w[\Ǜif& ˥J8p\vHRȆΩmӾ:,Zݷr1F^LF'L)=Rp?,AЉ ղF-o Y5hd<)+%/K|/O_9T_&l{suISDvk S$NAv/xڳԿwp + Hܟ3S4>c3,L-qƳ0D#{F*%1#ZQ̓'^zhJmԊS:A^Q+=;;(qb4b>z+eAP D AiӖM CStcOq)@XZV8jLz*rW-ItyN5rUЬPݪW7'u#mRXӊ>ծeښ R7U!2Zϴ~hI[ZbSII66MdZ& _5JTp*\AG&lLePUtUTq6l5FMi\Zݗumw?v5Lx[^tUkUZYFu|QF0yC\f[T!I\bBR .Qw~1i\c_ /y qBY6XǴIV2i+=M(c\e+_9N cx? N7;dNql&xe# ,4l*#.ӗ D ]ffL 0):a&1,hS6Jk%(T HHBb$0hPcEЁ` >kP A@! &I R !G8pF"ht{@-II[jX˚4uwk_[6(l4іmloކ*A"5Prp8pE෎A2i{\b 85~[wT/h B  `(Ujwzֵ7um_{wogC{/h~ok'ܪK7W#=nMbVx]k^e* $p4Di! y: CSC W'f IMl%4)jk İ^Vw[xޱws=uu4 ;p #G]{C]S7uC-[xJ9yøq167FF|̒o8N0 H<ă<̣?rC B  `~-l؏OV" L -RXOO&vIJ]iH* ćF I"J !0IKD#$L^8 u @/ɯ/ pnoϬ+l@"r=Nˏoߖo)l,! 0#`ɞWjm,)WpX~4qYgY9n5H 2CH 1ZOOBF 5bjHn1Vep ` v``ge*ftf4cv f@ JQP ! 1&`"DQOqr r k0o!F "1f-r{rr1r2R|}2}2pqJ&2gsq>!&CtCP'M" ` R ]Pb,)!r-2# "AR4GS , O! ^ )CHG/SG}ʇ~4BK_d3k@s1O,M_qRJQa0S6! (r7J3!Ws *)2x舨$lp¢(b,BA4C(C3#3S3#n)FA74YQ,.?hO7KqPA3 AS( BH@nD8.*@,DbMMTԓT,htrФI}3GHNH>#H) LtI!#'g` FqJ= 48,otCRgEC1*VYcV +szP'%'d0 )z7AQ-|RRi/VAj@>GtQGu,nKO-<.s_ 1ju4nCB#r5Fw0;~ a XX5Y! 6ֵWT@ f [RTAM5 `" ?U 'l_;(QQV@av`e%lH rb` *!@\V\L Z@2"`֧&07l"OgҢ`r@ J / UQh T mcSj`'A H < Ad$F $lV Ҷܶ"mfk VL s  \@T@P1) a W r  rj``r+\ x@xyQ pT5z`zs@  d2VX X7H4w*X>~-8&x{{]u-x~f@'m jboc>k؆ox&TXw{؇X{X؉?8 ;PKChRcRPKM%AOEBPS/img/cncpt312.gifHGIF89a@@@<<>>HHH!, H*\ȰÇ/Hŋ3jȱǏ CIɓ(S|˗0c4(͛8sɳϟ@ JѣH*]ʔ)PJPXjʵׯ`ÊKٳhӪ]˶[؞RK.L˷߿ L0D+^̸#F,˘3C*ΠC s3 ?^ͺelXȖڸs붋̀߿w- {2УV\ֳkMvؿϸ;sã_~yk'ef pC_6߁ֽ`_ tM6M<@A7Tͅ x"ՠ@RD6`CA ddpC%BRu:Z .M/h6P䖢ɥg*@@Jو`#?X A‍ WR垘y]a&da f`(V(Bv(6>y觤J_i iaU>&nt~hgA` ĺ[uVAڀf6IXbbjYf3`mX~86R}Ko6Gޫfzo+07@Gr%xü{GD@B|pLM ,\绣@7:M@l.8j+-6h>7M (q5;0?,55W*Vd⽜(PT$CpO\c!cue@d7i8@l$n!H } _8H,c lINRb2 M.ȼ@)ۅtȅ NRޓ%rD)( y(cv Njy$WV ӣ4TF =(MQ6x١+""d-lhABD yvv)M(/6ICތP>hJלKi* !N0)5 ̫lH`H*&sA?С< g9Oܘ+ӑ4c&m:ѵYoq0fL-]mG!!3CyQ &{5 MGeOg!1g 5;e>ɶXr,O ZRspkJfk =xf@5M#]ImON9 wi֎7f%Hb TV< ,M=RZѧq"ؽY>-BVT2b&) ɵ;GsmK2$l@iWP-ߦ-ncYZ&((=Ys }V$w*dI1|Jmd3w| UUMzƓ mY#1مۢ7npxy8c0VCa\ sH/gs(Inc5}kָ3L2N313Z2~@qb"jA elnf pSx0{csh]|6WM~{8g7W`E FxhawY9+@E$w&ʵx4Xv!0ā(胤Ss6ƃVc-QLH'g3x@ȂUFY:HBJHhBBNrP[g饃qx"x1\Յq38Tv`-94Y6鈉H/%qJ[Cbѓ/ZA)CbЁ./q>/NPRTV9ҕ-~S@tbN!AMc쁗ǡU)kW~ YcIn93 HI 1IJYٗ89 -ћ?ÜMY챚t &I#A:fLÞឍቝyinəږz9XhW3bځvy)Ea!AQ2:4Z6z8h\ @jB:DZFzHJLڤN 7!P:RjU:S\ڥ^` 4Yfzɐi:hpqJrZv*j٦y~Z֐覆ڨ tZl}:l*YyȨz ;BR7Q/,પZ"jj!q$p" Қ*J-Kj& =`OJǺ & :٪Zz2Op&25&p"@j˚ *`q,a" @q.**٠ۋ2ళ&` * ZQ<={61q Q&@ !*ႲTkk+-a ۺz5 #zPѷs'  0* [5&QKT[[*;? g{[Z{L4AO.  A W z3"P*Pِ( jhKFkq1ha`u{**о ۺ* '*ڿr00ں+гr5!0P Ỹ k'0 p[2p O7|~K[-L+2 @,u 'P=~˱R'{A,*+4|D^3PŌ:ƪ+k"k 'p&{!/kL{@ڋP2 ijZkŊ ! Pu+2=p#ܪʵb(\pLKʒ'\ïL0[{gL͜R|ـ͇[KڼL茿\l-ĥ*o̳ؐ> +X0}l&*Ȧ|ɐOKtK4A@!z+20O;{(\ ZR[PG*̿‹~[db ,˱Lu[x+ D=5[2<DM6!p5 Ⱥ/ֲkhDw!r{/RpJ[0ܯ֭8a`*۵Oñc᫵!! ɮ,*pڿ>Z@znۢ+@Ы9aYk¬ ۴$9q*ҬR&KVc-a5S+,փ j;0z-=}<(LHmìB-Lz|55x>L,f=:aO,m3]⤼b-"ߕ"Nաʪ rݮz< [ .&m̚`/ݶ>(0.\~=ʪܙծe{20қLhfp >h[a U|vlbc-敖:kՃi,@0dp7E Clhya c%ҞUpck7=\pqx 9KL Qhbp]_H+`&Tou= <,;*;ˠ /)ѤrJ34pú(-$t$ i8/ "\Pb!mB$EC$TrIF3 x IH2+R&j2P*150N0.H+O,n 7t謊鱊zk$=A&j8 zt ʊ *|2(Z BV`5\t>ƀ;a@.3k$Z9*43pyC;3]̌KUֆ|f?.O:bUl(?&5 2@?9/ :W?KʒY[َ?`{g20,LנVzivgM0j֨@{l6;٢vm>7m>m{oۢo 7p !A"r<-#/<ѳ)]s=o]MY?a]viq^yφwB~"WO=}/~yխgo>說=u'_{_`Ph?OG?ݏ~7!  0\ Z0 + fc!1p"!4 I Є ?hC:l! C ;(C!ЈKTboH>8XE&J1Q U&_ 'RB,:>dcۈ7RQkt&p @!> $yBq}"HCBRd!FR򑚌$''IJJ2$);iO"2AD3D+'Y0,1i_T.syb" &+ifR81of7ɳk,li7yNt.)Y9NxSu{ƹrSg$hAѹN{~m5hCz8^jC-zѷE!g=1QZM (E=Rg#DPT=c)\ ΔI Ԑu H7+ө9k>$EMO[sHJKD ԿɪB=ViUIC ! ABҨd" L FpXH2UYs@|NJҲ氃Zڃ إvGTtk"=~qY`Jva,a ;*.nZlkغb/`+a\%T063fk"F@}TLSIp .^:: CIb]M)K_9Y1X$ 'vYʟxI f }m_^S_vj)u[ZX-*܇ŧωu<%{&߉T1Vmմfs K,߆D 0% dg80lxlVkY岎{]uknh愨 7+TpuEjn6 0ϙ?q6dՅ<B$-h {@_Vlv1-̰"q]V*DiyӇޥaz=St % h}}`֕M[/!X`53ummK]vv@;mqO[0' wWװ&KnX܈3I D%/8m)}l2%&G)|ת8".*V$,:!L4 #/(s}*yѥKhKq7zӷz)vzՙ ?[DzA[!]c'{~v]՞Z`~w]{绽, @'| x'^g|߂"9^D&O|=yc>^qzԧ^g}]z^@'2~ S^'~ߏG~='B|S_INzw_ݏ~H?~[؟H~/W? @Խ/@\ÆK@ +@:@ l@=l A4A? \A@ A?$|BA(>%\kBB.$N[*HHjH"lƖ4RlĄTH5F>WD!hkF\tȣ`GDţ$[P?˃IQ|Bm=n.IVElvOH{HI%@kPK$+0JkPI݋IJJBtV?\D XGq`\|F~OzL*EyH%Fkd=˃FGK. zS hƉ+M@E*XP!s @tF @F*KDBd,4Ҝ'GNIHNGt.NؓAD+T=CD$OO6 L?KP,P:PO??TӳE\ ]P`@4DXC<=%XNuP$͚P\Ϝ|佀Ć*8G+Hȫv{OD` 0J`yQ\Cu= Ті|EYl*HIiJ,Sܫ؀<׋R-@.)/Eʝ]3545u²LP+,l=<S ә T0W*+tKLвdǐ k DI-ѮTq=*H]ĽvLd;G\(E**C=e=>T kMk@W]_hh HX%Z[V ֘ TUz=ST}V]L5؀X+XW HI |}X%B|B +d-Q%HZMNTX$ȳiP%MiDW ,ـ&X]ۀ3Vc3K5AS.nhN&<->pucc3, )]^a[EED0~4v>.GN3f_M~`6PIwdEd e C.>JI&C^W>(6BFc^ ]ccW..fkTgS ,\>3[ݛȉ cn_oTpn_.ϼibX=kƆSXgzd @gs\?^eZ4>FvgߣFyVhXfrLH] $ʁνgcI>hcMg"f<\ij@V6|>ct~?-ڔjjjjj<,~=jH!hna˃^knk~"k^3i^+i.l>lNl^lnc~d>k` 8lll~Oll m~T.[v`ml &&2mֆ  (жݎmmp ȆH\n]؃U.o>都l X o0Ά.> (8n)$Ճgp dl&  Іol㖀Fl8Xa!8nPoj6( pl%_r&uglƀ&ƆƆ1nl -_m4O6φ`pkpp7X6~J `F*_ t 8q>qHp  l sX rf]@t~?"/VӃnolDt8 qV*_tTs>_ņvWWmoS)geq'mtJH&궀F7v!n"guuu_OctjHqtcWOtw P`@onokWG! >v! (p'l? p?ggo_a߃nU*w7>m_V%;|I|.:=㹧G sty||7AWxx\K>Ozm le_an/~`}nv~}l{WАl FއexОJp u^q~ss/f'G?a7>k(cl@-H&!5C`6@#Ȑ`fڵ*Wl%̘2gҬ9&E'РB-*TmtdIFP`plrYFI @Aa2)*mw6}`u5ZڙFTtmVxaY`` T{)x"]շӀ-~/\ ؠ6xH`!o8v8hT8ynap@RR@BߑiҊ&G%e8SW}xKWg8O[5rSZKY~9k9#y98=9~ J(ݕw::))^:駧jR |ߎ7 bi[=k={}< H_D/E CdI, @ S*  j.bj/<IO?$,!NQ@GٲK]@ rIBK~ G !@2a:E<#Dt)yX:@,a$gZ` gcI3D4qj\#3yPey DlZ Dh #BjDHFF< ً,!BE@kd@#(RjDT9]-6B'0!BpM2igFYqĔ2#N \9tn';yxMd̆"ЁyiHz1}(DSU?YavjyPB*ґ&Wϋ:6)Noz+-h)P-%@`2u IV^c4#*TҢSjqE!D.z.r^ST54SqzF$_j[j0u=G!T&q^"XrP þ`lM hZ^㶸Mna[\-+])JsU@ĥnurݠdX]ӂ7C/P;a5]/f^%k gk~_mePP ~fMFW{@} BW8p*"iX$p @c @DP1l5[ŦԓL%Q!i*%56?yɘ3:Z#9IVG68p4$c!f5(Z8c`}=Z2FsUU:,CIP4AXIWMpϐLBG̈>6AzA"HZ?xRGbgMO ;jRh>K40ˍ'$>Gu*Uآj[$6[jl%#{%^b6#]6ȗtZ&QVɹ}uaܑEnl?Ry:m}w|FC׉SO0q>4ӥ{ƚKm+& uF. ƛ.̋ryHEzU9dSR9~|FH9<*Xȳf5R},{DyaFx έHyBhYKټ-j{DwHʹQ(8I#"CS^x}`/j<} p  `6}8qh< ]e`]j `!m`ju`a` n  b ``c` .`a _ :rƉB!%!\UM\!da!U!Mዬ!N˜`5 >a"!QLQ  "&-"#!ʄ!J1Qb%%D&\$rbz'#n)`*R#a)b,D((&"aQKbݢ01”12J-b2.).n,\44R#4F=cK cu75^89>G0cc?Jņ#>6<2c:"=At7c,K܀M0!9d*BdKH$EvbX?5b6*Gz$Jd'H6J£<ʓFd9$MM"Nz$*ONF~Pp%"%RҖRS6ei=% 0VfVn%WvW~%XX%YY%ZZ%[ UP\%B֥]%^^f^%``&$cb.&c6ND8dN&e$b6Feffn&df~&he&fhi.[g i&k.h>EkƦl>fdΦmަ弦S&ofj&pʦn6q'r&r.'s6s>'tFtN'u*HHufvn'wvwfpygQA'{6|''}'~}''c(.( 6(FGʀl\*6>+H k^kQ@fx~+6pA )Hvk+rk)6djJ k j.–` @*`Cf`NV,$(Ɩl$x,Ȳ)yrɾll,,췖(,66V>b 0m(fJ-lbj-P|Nb؎-p@:bl>z"\Yld"`Am ejv*.6.>n6,U`R.,A..:.S h-t)|n. $A+tn6k .6P\@n.¨ ,Cp&פֿkR,@ @"tVo^o@Ax/m AB%l/J/oh-دJb+A|G/6A[&CD @lA,.lJ' x00 k(+0 + G PԣB񧂪H=B#(<1q#qA5> WD8,@&@ BǞ!HBA5T8 1pB뱄K[15X 6 @@ h ̀5@AT<`@ h2'{r*(+Gr,-./01'273G&w'[sr!7ws~S1, 293../01#233C4s53(2@3@2A,Ӳ-'BCsD3EES3(_FqGG08,sJ3CCDsE4߳F3Nc! 4OHsA4QBsC3DD˳E3M36(4\VO1IW#Q4Y+5LSctMs65 \r]2WAuXuKRtZ?uF۴T2B kbCVc^G6_'KuS4Tkva/hH/6886dXY3Lk[vжm6nuW?6X6Rtp[v`uTǶ@Am/V7]?7oGXO7eukwf7Gc A|7xhnyKv_p_`M |7^CJd5k7fv['#~78wekwO[ovxi^6uzOoLx~5xv2%۷x7vt?[wS0#L@' 5w8vöc,\Cuo;xW7xy0yA-p`uB$V46lB 0? t 5T B)<5xk76B0o}v:6|i\HH"@o Tc#HC D +D0sz';,c|`'`.dAoBlh6t"؂6\ `Cx`TȂ׻_16$E-@!d*ks`&T%B+cC pixh܁ȗr,!<'| Aw| dAPC5@f(K䂄&`A-ԂW!,W{^ X/`c"868A l{+h$`l`$E $,VBH4yeJ+YtfL3iִygN;y4)@60`c  DqɎL] $hpF14@1c9T %JLѡ'aUTa|tc<40(8=vR}QUsWK>>f]CFS-vNI]UOf1 @暕^ZlKT䜿7b.ߋ#f찃[{6qX+ 7dF$god %k涛Ə ]u7_S3aqM?=2L `r6dݗ40Fנt}'iv8pXYlRAA{~onE~g5~c !ʣlٗ'H_л$6~d˜Ƕaj0&$ 1cxa\6qi#ZtL@_h~ V;I b!p0)Q̞z@BlB( "6OKh+ &:xRaet' mv:1 rk.A2bcb.ŴѮ.@D2AH$tD ؠ;hA 64#xIFb!tA 6@01cMGdT#NP2є'p #FDRQ 12At00eGpy^TQA P©' NhC 8 'Fi$ OqAF! )L;PKdxBHHPKM%AOEBPS/img/cncpt288.gifR GIF89a@@@???}}}[[[MMM|||~~~􂂂zzzlll꭭AAAvvv{{{壣ǵџŶʥҍwwwyyyuuuoooEEE```___Й˗GGGxxxtttJJJrrrSSSjjjDDDBBBCCC͠bbb///Ә̺>>>ɴ;;;HHHώssshhh===666kkk555LLLIIImmm)))RRRfffiiiFFFYYY :::]]]ppp<<<111VVVPPPNNNTTTnnnaaaqqqOOO^^^\\\UUUccc888000eeeddd+++---&&&333ZZZXXXKKKWWWQQQ%%%777(((222999*** 444### !!! ggg $$$...,,,'''"""!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ@*Ož3f(sC!6&J(\(F4(+U4 s(W`SN`]v #\G.9A&Èd =daTߩ :@^uSt2X6@DZQw߷o#yP(^1چFp F4A AųSW%av h9&15DX2@_)+7` ZȗA aS k<@P?H06`?(RAqw4" Ӄ?е??Pa #4{pa?4x+d)tu?|@>A(-X7Ѕh*K 5&/ۘQMaF7KD0(,@:]dH>hO71 ]O",/Xh?(??B5LPHcN j?P7eIGBW4 ]p@Ůt \=h?D3Jc;< #;O0? A)%@A$ !?')NP:Ҍ<$)=T#DcDأ?p(rJ5:,9=a$gMP H#D?~baLDC@-cGTG$#K5q08?3 :Jp0-!`9AOY9;  )"P@@<  $C X" m@?@Z#a{Z??a,8H{_7X?|  "tPFBGE=0x!F a !",)@  c_R?u,JCovtWaN`1Hpih#\, _ajLW0 rFG22>XF Q|G]@]hbፓUD nո?@,5SF0 Rg(J[Vl"Lx!y `G-: s 8?baIpȘjFIXC4g3j` Jot\.J?R@dPy= 6TO 1lV0(q H  D+g{&@Rz@0?V@4h#$  Op@5HP?sB9lw:> UpK…@e6P?pQyA96gp֪#Bx(! 0N 'xmL E 9 N,pG g?TLB{$(tn@ n }P?VȄ'8bמA0G!->u #ЋRP 0w0e0MpA"`!B { ]&.щI5h}dQpGa-x u00̰Ap|0CP!"܀*WQBZIZ*x2hO;񐏼'O[ϼ7{GOқOWֻPfOϽw L:"O$|dO[Ͼ{ O %Q,c ~'Gg y!1gGy 8w h؁ǁ"~'8&0h$X/X! H:87Xy;X*H7H(<y؄DŽROxQxAg\Yx[ ᅑfcxephmxoA^P|2  @ #Pr|`84@ JR R  ej hP #@47P@q p@؂xuwxo6%`_p[]_`@ RP0  (\PSF'P pi  p{`Џ~$1|Ӡ#@V k2(9xvh3x@!- H7_p75'^10 t s"كP ~P@`p k )[)LGK @($ @ِM@p0 |035  A :X h~  0PD`SP kP^`H eNpd^,: (d`],upxS@0Ъq`p'@|A NG ɨxo%+ VBaC@dP p P @G:KiRR9E9O/Dt 3J09P;XZWp|jx9emjz*qP "%SK c)8=0 @*}=ଯV0V"%K!ŀ 2; t e lPv 64`@]Pתʭ (pHm$;Z$ 0a@Jzp鸎H %v0`$ `R+n p@L@ikZ1P s(`'5 (4Sf+K2d 0Vi9p uerPڑK' p r0PPv G&`L  "  9 v)wrp  N': 8px:JZhz (Q]`;8 pY`0|h"`P p0 I%00p @@j! 0IMHcHx = &y hr;sPƨ> #,,|!Gj#0NeP Gj 1`1 ܋" L Acpn vD$mӀ~+d\UrxthP$q}`] JiI*p SQ%p aU3JnP V)<n xiR1C` s2  1 h p\8.`l  oI "pS@@ J@pYP E  !: mg`!W  tpF ϐQ0AѢ/ 0 '`H1W (푇iW@1y@1|b q_Np(a؈؉]͎G$"\ ڍۨ;``ۻی iNK=a~Y3-PK,]@P5KpE)@#܋ .!y fp_, `Ā &Jep  +€ 0p_p  p03>p8\  `{@ x0Q  F Pbi5iP ` `MP>P JL8^Ae0Π@PY`Ym N` yQ2 acpDC@P `T0`xp 3~  _ ǀ p@TP  OjZ0 @F P  @1p Mo ǀ'a\ !"494G!MpxK! S`bN*0\0"@aP  ~` Ð#3I _` ^Lp91q#0 br \py` U0` R r i˼t~_Ls[P<1h %2`)l@XL>1.7m9` ip^Pp~n0qa*@`c _@ўxck P;0͹\&0j"@H|P.I9nsPdЇ }١\aC-naE5nE$YɌ a qF@{;{'!pA#`Qz$-~ IڅDXAoPS I@BEِjoX9<~ $iwb 7!u6,x]p6Ѕ[:/ ZHZ.ДbCD!as$^[IBĀcF54c"@^`R@0 B h` 4( Op̨#@ ZpDр H\qԩ,%ItLJ#B=X!L@ ";?0R0A +78C#Dat.-} jH&_h(2cc_L0,S-ޒ/X#L 8pL` Ḇ[ed{H!\,`D*FAT" o|!. SR:H*=qKg!$e$9GYe3(E[PQ8Zk5#x@ ;P?8$Vj[Q/&9B&@) (c%@M$t-\lD,y8& cB19t LWm> b @, @}%$2"eTBDLѫ&X(Jnp|D<\c@E 0ŚC[D6T: t_< A&.ހAD,n -<;'@XbTr0","81 ;w0ayOg,t!ZHTl/K9K(@1bE.A: T."U EA2ręGd$?Do$.eH jp'9r#P C6`c&42C>L X!Ca<؃/# Wa=C nйC m <@\Rdz+<8.$7<4@0;0Ѝ@$X|7zȢz+@H F@GF 1 CZ 'mϮ36u^P-W s|5 ̰;_HЁFi(>XD0Gtw"vKUp^-8 B~鸀 HI * ؁9_W bTVpړΞֈnMtC9epzW0pv(}`r :H `16 K*$`/P:>=$hKeI*?xuЅkHP;x<&Ij)3Y9HrxS暑eu`)E(];4fƉ 0x؃ P4FelNe3+X,^`#O(IbHɦl6i MPhh $Zr%X؆'؄M3؆ 9Xz.1I`ȯF#HȂʄJR"9xJ@,lXrN!! DP= T[ %؛MLpPa@(ht&CI!4KZ7PIOh`eE/0/FxEbΈ X$` x24J8<q%`F`*`(XIL] O (6%" 9x pB I2B:q[xto3>@ VS-0؂UZ@H(0>SwpLpRc;qf(?HSv07ЙOXpKpxȋ('Pv@h='X%?&)r8x(/ 101:(c(_l7I\( Ȃx?@S`KNP.$` PzЂ(7O87*"x݈90w_-6U-`P(b8XAv'4r 0p(hoSpLxN_H&ChK)\xxQkcq 2`A3(,bP %a QP ^c#ȅZ@ҁ|,lBȘ2 "``&Μ:w /@ϠB-jt x R(\A04 5@G+r)ۄ?tTm  %^NS#);šh@ʆ /q7!S̚7Ns(d"$# AA8TlfEy zRnx$ ids8Oȗ9tȞotՌLjFצ.G᝺̝oi"a d<>R%cr7 Wf-B&?G3|c!9P 9.2GE8oI#]2 NW#ws(}?-dB@PTA/% hǏXfffe>YT`{0B/&bd/9 I &1d}AA$RBN ܪ(F3Q"!@BR*r!DZ%CG2 `@Zx 5&LSp W4&z&o %` *M>@5P?`>p@'(/4 X1 PR]ԩ >r\a<=,b&:x,f Rv] C 1 F 0]J.qdCS ')P*B$PTI @RN mA"a=`Plj |o@T(.{kd\}GaZjϖcH-@6 (T% 'kTf ЅlR]$|;L.$iAp9PV@ z Q4A"$VopC98?81 f@+! MLʖ:´d")"`)dwA쮇GB ? 8aV!?U&bIaTsjsŘA!HA1|O0Ý8 L &. kA}"(h ̂7HCC;Ѐ*mA:,/ )ou|NX0A x @T! ̆ @΀])hEL`FN!Fa=@LL dA* A1D@xMXA  0TAeL8"c!""&xl*@AeE$N"%V%^"&NbB^4@?x} LDpYZ@ܴƄ|xDYc8ܚ?TC* PA6'$ %(t@!٠ڰȁr_.҃q.$hH'kfxvD o (%PAo D @d. .dJP[~:e]%#xD0U`f8I1A=fdNfLdAt@. 0YG)p$܋f A]7PA@38AHA)A?$uIp@?? inBh@Tbê%FmLl |+|2!6'"x8ÝpA5<"023胁"+ %@Î |C(d|% D Ќwt ?T̮mͶfĭ N.DFL8@Fϑ>"`"A x`@]< <U@@ @H6oƗn.HL$.@vR ,#vh;(l@* %2ª*ZɃB\^ /p (@9?,| @Bt?|i7?@odЃF@x3,Bh0 $L /,LnE$Z&0'`s& P,h+p(x`!&LL=/PK"P$X&@9XBԠ  @%Cu:MPXÂ:cLH!DP=l:<)|l0CsD&Rʄ 7ݑ;QP81s@"` Are+̂h0@tCA1Ԣ((upHT!Iz9@\3APj&B'p90{'C%1 â/k+ #D-40|@ C 'epg.%AA(AA .3A$´ ,l$úNuB4UKWxC7D B(i@ \C,AC( ୱ3RM< $Α IAL]ՕF=?06T>7Duݘs/rA3'@#?C? A? |@<+CFpj+B (HB!HA%A'<BlA1 $\:0hB@,!@P'H],0P5p%^(BzZD(Ё $FB'$|9F tA&@GzP+pP(@h/ x(A+4C(` |A!ЍB,B l3 %s?lqPCw$B8)(@ @9{PTkPćďK>HA4 -P6A /A=C+r@0Fȿ(Lw^XwcF9b,@G#I4)Y 'Yt-#1@sQ /xQt1ʠQ /Wcɖ5{ жukcȷs֭s]cHl>pbo.vqd-Orf@en #Zˆ 0@h 1fN1UʹcpcsAc|?6D<`.""َ3z`C0yg'!! '4"88-lxsmf0-^7$L4+fyH0 Fh>|h()N8XrWGN(UP 70!yA2kp@  A` X竰.@[\\R% T' hC-Z108@rA6tar " AD.E/~ыE2B_g2xA BF* DkQGm$~k`EKH?13{"#BQA ST*YJhYZ*!v'EHp\Z<@ V`'hР; ؊0(O؃{CiO L:2 n &CNӈ.4Q͋\3G7CHH6Nܜidع"6P:^d]hF͡B5&`,Pn.Drnt;=F꘎jd?@TXmQBC,p`(?Q/B * J(dLkb#9@P X`La U%xB AsCWna#d[/60M!#}T! n(uv$ Dl 9P`u`c 3@02@A)Ѕ d5L` zah-qKfr"W$<@&>(bӸ@ Eq8f00P0?vHX! O"[|0G7I,`PV p^8UP YVB|bFТH&a&Bx` (dTzx+0$sAp=Cpa%Sn|e7[>Ybc f iDp0F;hД-c'F6*~K{%hSYHE!`%a&V-0?y{f[EmR!tЌ3@ 92U"ɭlDb4 pDv0]o{"s\Y'0aA~g  Ӭ2D7ް3c8#T@ř1Q\!#K}9ysAЉ^t|=hݤu7Q ӥWRzOi[{r>vVg߈ta{Ca \F @B_fDJ۲/0 +"H&q}@#C2T *8 Ͱ."' W/H6M_^ `~"@0"`a&* Ad.%.@." @d!o2@Aʠ nf"T`.VxJ. `tp J #@/ 6 ?$N Ħ!8aA ` #,4P \ 4A! yM#Z n:) "b`l`0a ("AA!J g ,#aZ"t@  Z@ Πm9N"8Z+!A^@<A]AnL!>`p @ 0B &"Ȁ @@Y 1#ܠ $4>$CR$G$K$Er66zN?.F/ Ё D0` ֱ1/:!jJD  ` JX` @)D pA4<@h Pn>eZ>m6ހe'`k0 Ftxy" ""'LAܪrN`.-Po#r"0a`΀ Vl d310cv3{K#q 2@@Ѻg=/ 43?0?t/@t. TTA,B+T,A 8D *`@ (.a>lq?YB_-$X@ ҁv!P!(F$`@ AV v . 6`ڴM:B .ra ^aK" ̎ʖ` X*B$A,` K&A@HE32,B R1bR**DA`A ">d<` a.j~ \fRIttȠKK\!I[#la|BL!V5B  A`@_oLءlp  |!  dFmG:A"!! ΀'-layF b$hVhhO2%W%w|.d@V)U#"an A)03b@* Wa!lNDaޠ\Ed7 C5C= ,"  P0A^/V<Adjja\H4@FցV 0t) 6oE E$pRa0"5#6w\0$Oj &ʁ&uDdn/b @ bn!iwgKBqW_y9WSa ! zd@n |]r`bD*@:} _i B P:)~ `AHBq]' E\ *La\AwCwԊaNBt-XAŘX ΍?明ӎ3X؏o~yI +Y:͒/3Y5YAx%ywAKٔOS @ٕ_cY" ;PK%$RRPKM%AOEBPS/img/cncpt327.gifn5GIF89aX???@@@___000/// ``` rrrppp###GGGPPPwww簰OOOooo맧kkk;;;SSS׺999UUU***ǝdddͲݶWWW...YYYԻ梢333KKK̼܅nnnyyy:::&&&LLL!,Xu ##ϰtttӏ  ԃ؏ڎtuPჂA2 &3:.$&耆 @l 3`roݿ9x w5#TB!pv4Ӻe՛Tt#tγh,:@ B& (NAINpL lx:cANhȪKK(N],CZn,:t3j(9tvl;i+Nu/[' ;ՇdZR7܋G1yNlU?olŃV8Xh(H@[hwV߅g5 ]tCak Y^a׀1EaTv#|J(hms@a!eR4 ւBz3Q\߃h0E Y@xd`L BFN8DK Mw.'#(b6(' DVji.t#U]駰B`jꩨꪬ꫰*무j뭸뮼+k&6F+Vkfv(0θk覫k'{.! MH,pKZ` |QWU((:$յ6>d1ILH EGh^q4c}B3|N. s=`9ma!MH'%7mOu>J}uZo}եanu v r sv%fC%'@s$ 8 uA܂py@8؇#]uy. 삨w z֭ק"| >, n9 %|i+Ҽzcy>sd9&O].+:~#W4C H0 n% Ƚ1$0@-tݴ7 >`SA0@syC47quӜy0 d a3-1-ԉ (dT̉," ca|'VlQ]!ܳTTxn4ljL@"_%NҘCT?^i=O@RTb#QAqEd'.yGmR>TsB R:! LP2%dJ/ͮ%X_PH\2xJDRH"4D W:|ԡ `'<1lJ Ĥ!r0:= nx2MN0 / k6$? :a5yYjJ"dXFHp(# *DA,pg6]9m+|ƅzT*]Uջ'f>P:-d%(< ; &/UY 08kItbT31x2sD]U4B5+#NؓV-YUC[.uX s8,#QyAEgA.4`ڳ!`9^ 9n[>"]l8Lᖃ=nVϥ[*۶ػFWe T# 3p;o' FwQ \a~7po89n[60s;gE-F7Q[eo `,ys=lj Cvp": `z;ؼsß][FУ9o٥No 6g[LE='m=atrZD\ @ۛAepvEܽԙs+!2@ѫ_}p%15.šgi}t5Jk0!2M%4,H~ҍQk\WzӎƋ,?=nYZ+8tv+lCmoP3M8O7 ܊_H6#eGۖv!Š:̛ ܭ%:f)!yfoCnS>x̙~5+B#` t 0zZF$=.SfIae$ώD7|p…Lt\ R9:OWѪA{XkWMruv1璽fDߡ}6]~Q{T_1g˅:ٞCX]-7?O<^.岏nU g!o=9鼗vmoepP?ˆttdtnok[ۖB!~f9irݜK?';ё.uGBS{ hQm;tq30WpzSqImTm.=ރw7Psܳ> dQ?XGaC:w~z(\EMt@2uN~Wm%(^dA]|B"=&f(DŽ#WEC6}FCDtcDEh=dEef0K ZfVP fjd=o qZgN$SczGz`:!6xUF; @F}CHt} XTPlxm/uw:]ljdž&DP .fB5@yŌp&0x,srōswPa瘎h|猷 QE@~&ucXiX]h SC7YEYGB59W|#花FluZ gv&[֊gk[%\w\c\ٖMHnЗٙs٘sYx-?@!9S4#ٛ:0 0 WOC4!k3 -UI5t`Ri GKO95R*XY !@8 tN婝I9 0 ?41 _)EY] W9 EXJKى鍋AW4XX,0 pEp5J("$: ЉՠZ'5 7zVȣ 0\eО2t|tb=4!%j EHĞHjFP^jfTI !cVDžoZLctZҙJSӧ6 E`jjz3Ӏj}0,*J㹩?YyT:59 IXz/2BY8t0 >@q J0 'ЙZ4:5 r)t9tPٺߊ!zP0 c0IگJ* $sq1Ӏ`G! ) BU% ౦J'kMY p39P0@6TC)D& I BKI)Wk @TK Va !1_G<;104\0+q[P˷@%!{]AI/ # : P: 灵0 FT1' ˻~K8 ˷D#KsKӐPu  pJ倴TK%[e dSx u [1<]𿱰? p%P;+Jp@;  `*N; . ۴K Y۽Ѽ먵pçۧm˼/|T; b; ڋ=|Lac 1XkK5`@`:uAǟ;+z,4 LLW.˿ 30PÍiLd漢>@ܱ",dl  pŒ0LsJī 1Hh6S, [ Aq@s~\͘plUkt0Ψ: dh Ϛ),il99Ȕ lΛ ō@ڌЂ@Y͓) қ#ʼn@ǦĎ ӛZ[t(@P  |6+]/0dʖ z𾊬хh)(RN Ƚ|Ί:)ѿ̚`J;Œ^}h/ ҌJ\IK"Ӌɚ Q 9m:/" -MQ#@= 6%~> mpӬs<4v^(O}ʖA@)T4-U. ?.d?>ii<0꨾]0͝T`pBNdM* 묉D 0[{j# 0: *sP׾h4 M@_9]͚tP0 (ꩀ鋦W|E|}q\ML: O I ϧ,]1^e_#E%7h }~"Kݽ<_~$ep̶TtT.$^pNaYI_ .u0#ep;.WdAdx◴@:0 td_nv$& ;00tJ_ )*Mba sN %ۋ͵HK ^s\XsJ/π5Pai_QZnCYcׅp严 * _E -p7uuttu)2ss3tust tt*ttst% /Ct Ɉs!#.1 4Ǿ%Z6j't-P\@@c 1w.QCiȱGS<˧ !$'Ȕy!uGtq@g"M -:>*]ʴi)028{a(n D5%(AzമݻZS9bҾzKSiB-:̹s*t4 fNnkٶzֳe$͠3M0)`!jk_*Wp^;<9sʓSmO]FFRdbZ$07Lv R߄rYIt,.~X.QƎ'}R,2RqUJBGႍ6 (صhdP#`3.9O)hĜ 97CoGv99$4: D:+Yxio@~Z)qDjR .* AwFtWcW@c BP9Hj]jI.Dc,!j#"Ǫ*Հ%&; 4+$ΡC v,Ibj.ixO)9/ c!FdB$ eZ.r./ @ȡp D&(rld[e '<P$'iI aUD)GJFH 3=x.yrK'ˀ3+.&|080 ѹ(ڧram+F^Q 1!}(`R&\\ 7= {0A!,7m{ P(s"Q r#k 0=`dPae"'.q5OD†L#Җ -h&*NyK !|B"" bKd̥L(D*f3 TM@z`:${$D0` :ph DK(R$UƝTM#oA{vGYH1E ׃ ! hMwyINsAꀱ9OC`Dt0E6\8 @<Ђ%݀\Q8a$D4[Ad3*Fs\3˘FڢE |D1"AkY@*F6 afӉ<GTLCV ,Q5"nR¼tldGPJ&t8*T+y+*(<\/cNg~gkuX%7RӚPRreѱW`bs(f_wʸ5اHЃ&Z2q/5ہ:ֈSN$Aa&~Vro# ~dH^D]v>).يJHH=6<StÐ!H Aϥ<:N3 q>;S~Wq,0UqUaey<3BUÎ! r88;G5,ڑd-;ZEܑ@F V)VR?o1^a.G``h U Im KHd=c3G0Bw#;,Yb-=OrJYnh͆@&\ Өi$JִND rh^>6aU"FQ*Vy 3!/4En Rƾvpvxtr]7YH f|ňDFtA.ݯa&[O~9gx=˷$v0 _،q4H;1^L4\\rPʡ]&Nx4SB?\m}7v`\EݎS G_-" 6T 9!r{)Y 0w+r$5OqF"v1$) 9w Rg fJsU4ZH9^vMucIVL-L T_ , ¹}g> C;V1_X,0=K :KTv<sR{d$d_H"!PtSHoN*( `V.yQ D ;77r{6^.Fj()o0{UT{w<6K^T@|`|ȇ7xusvh֗`!j}t}RSBz|o{E7R3ak3nw'PxXDp d9i8 73x'aև,s!"(5z7!gu;%6e{SMq/<3β،͢/ @[,θ77 8XHsݴ]'pkp8YG!8 ' A`5b]Y #Y p]Ў9Xg > لq0 n@ S6P` Lg+?Q"=0;CspWs2 C~*A2t#J8 ₋9aU:"wwtyt phB9# 8u3t))| z &bin[}5 ]b0 f3z?xWA<Ӊr!ЖHffSUxtXi SS5-70r bE\i` qZ/5 `V-Nm1117`9:3LuC "7)#X!p~I0(gy~z)(5wc%*9 #<㛋&3 уyꠚ)4>Xr_R tb AƵ Vyk)+̳y/ ̰ߔ PjYk3~bid29 ٢=ØWoG8S:7YѝTS5 &,XfjrA1GMuP$ PFx!7P89ju*PAoj%Q"E[A o1Рֺ3&!MQ[59곩 8+Jq `Ғu*RkT$+!ɪ@)ҵ`  TI犤UNtt; Y&roj:PCgt bG]l@0"կ{,`5epLjr9;j;Uj1'3zVjop=#{Z3b7tL¼qz;Qf0oZmzwbup󰼷$9%v뾉@d k᛿K~~ 56K\ Q'  Ip+ )Q pڮ ѫ ]`yI1@'{**{1:+!`Wè D?ƽ:S@,, @){]Y *NP 7U` R0$8PzikxSUeI ENxŮ0#\#&P*hc ƒ \" ¯ P, ,$C4 ɞ':o!Eq= ͹B  Œ`9oW i71 b(M @)̨c rn\ iz§ǨfBjĂ rllYXϒL"ǘ`cð  a)ʠ3"*`ɚ@#sWѭp!;E)] @Wլa? 8} "ĵDpZ] 3`m! zU$*l [/ O7O֩L Ba` m׮2 K& oc} _<ðp٘=z] &Қ]ڜI@ڥmෝF!l n/pUaȺڱea -؄ @]cu) ']Yݲu?#m=- !m#Lrd Oǒ0oJX- g1- ~gaEwvn!;.IDiX~E6c{>U (u!1n'W ><\g<"-z K$Ч<=]Lᕭ2 +“Y]n_2p cC kqoq95ˈn|Zeq!+M/X/xXYuE.Vi RE6\감5;꒰ͬ87 ^@ Z@瓰P(U+N]̾U~N]z^߮;Bզ ;. mO{i4F8rA98KX%!M Z $f _: UR" ,r5o@J`<v>waSvD1PN6Ѓ ?=p(S> 40I^&NM"YCz`?.L@3N.)^#tpigvD Ԏ)P}buo:`p> +^04&]i[.'@%X:N=0:7EA ( S+D؟Lp203 >p}Bu IJt.s" 0*t85ANMRt4. 1+'ԪF@uϜ\Ǭғ2@"?Oz/H5ׁ:?z z?<'[VNyJ:+c ]/ G<` R=щnʚ7ֹ0Ass B%_'v.,uzjȃ?L"w9:,jVNlAB< u J8LjZؾ jgr,,PIH B`*U:|QA~rd!(IU$VS 8+=I3\C?ʴ5_-OZ8a6.!b^ֱXp>W$][Q3-;kޡ 1PXΡ7~DiELO 0Tљ@*>X$m uڟN)p3X\-Pt$W$`QȡMy 4T  dpƀ@xT Ls̫.GK@-ba2}T9RT@޺ /Rr1ː\H\"B2=Q]{ |:srǜ 4Ο F_8n4dHTap09A@\w`1/B jgtۏ $o͈vCRwިd7&{߂Kx}ɋ]tz ,yWg!#(^#Ǐsۂl75q }pU4l;n#v6K5߷N9V  v{EpOz1pyfS~kX M;Ks.E D:!a撒6Uu l U~|Krp:{giىza jx|PP1<|1`r-)  `(,= L (,z" КQ})'(jB##(2j~;&rfq@#2QRkdɴ<1/iC{a`)ЮN_@#SKH@F@nΘ#2A)"{V݂]b&JK>wC'诛8}g`3<=)[y5@HM ,2$1Raa>BRX,WԜcLEB042&#Q~l x5Z 0@7/Ypz+BKº jЁ*p!dC@! )@p\Ut@, J+[86zHK]mյ(.(, ~@806u1 t'U" Dm{`v`Ce+z` ΰs!`if "D ef_@yskw1@eR\oGpzKbN|)W<;/v OCв[ܱ@K2vJb޽=Y4@nMP M ۏ(<}d;sN&zm@' FH\`Π"exUa!@f>*7Źg,K0^p|}uʃWMiEPςv닕k}3G{1\=fF܍f 2+0MS>A[w;g^  ;PK{8 3 PKM%AOEBPS/img/cncpt083.gifGIF89a7###eeeTTT~~zwww  KKK $$$򿿿倀yyy@@@666<<>>qqq...111mmmggghhhRRR隚`_^YYY444ihf\\\\[[888YXX!!!tsqUUUFFFnmlecbzyx̡2..&##A<:PJHb[WbbbMMMuniHHH~cLmjgƿHEEE}{fyynSQP[XWAAALJJXҐFDDkthwtrdXyyw=eobd`^~]e}]!,7 H*\ȰÇ#JHŋ3jȱǏ CIɓ(!zXE.^tAE +ؐϟXY̓!5av ,c4@šmf C$g4|Zy}z &a(fQ5TQL  E ug|:娞]ѧ ^6Я@7l:B*Vkfv+n覫F?m ko8,LpN0Ip?LRw O\5LC `0,.1I(r?'@@\:]Q=CKl!TܴPgUwZ^S hDvJk o4]ww-{gݷV8S`p=_P%rբ0U"@A:#8>(}=4A";$H׵#/B|.ˍ^5kOz?>LB/#A HPr>K \B@ Z`A/F+3_jv3~`[N譵i!-aBq HF3 mx8gX9СpchC'~kmK8^a(C[\ ӈqE`g@sρ NC/F4uE/zfԚ(F?А$-ItXhJ7 ӟȔ4iOnќ%<ͨOVDMIP):ԤdmSC2gZTEՁJu> Vd-Ό#U\/U"g%]Jns|[ۊvįa׹:]ZPɖTeYjv[> ڃ4ֱrli*ʮbk!vՉmq۰KmCj Ζ3k us6nh[2`-w ^6Mz^vP[u H05 N$7I%!X#}'L_@ưE6`ϖ "z')m+a xqE\0 L1E$a %33N~V,&V^2SB-^0$f>sǬf4k2A9v=9#~E-94 H`_atzsGu`I~Rozf PJsEAvon`+7Hwps(ko`{Qo,b|qZx#\,@X!duE1R;GlBqaA=Aq-lȋel  /X'o֍ Qܦ6$a؈[ ))1V7ABw5)XV1q׏V8U7-pQzv xQyv!"!2#-95! k13ɏa#yz)Rq3p.&|2X=*9h3k&*1 džh,cBBh4F3;HՖY~K蓁BogAP#aCt4@2:.@.+p 9#ٛ9iV1Ĺٜ0#&y)BٝYiډ噞i 㩞 I:Yɞ&񞼩[MF Q -P:P L@ @0 bP0?` Q0P 9 ? 0 QpL`  +@ڡ !:$j':ٞ 00`z.\dK $+F K{ۭ[)ˮ,/+2[58;l  vNk~+;V Hk뵋Kbk˻j{m;s{{K;{SڂZK]{e+YE[uM[}ۺ$k+`۸Kh[9۹ x˴˷PKKY[c {ۻk+"aH髼Kk7< ILE,ܾ+Mܢ˵,ػ !A+]lǻ* / +B4׫ t\<^|+̾02\jŇ9> [{ƫ).֛=,lǒǮ|b~LgY-ث+ =c]}M. =mEP}xR*͛n= ]B P `pu pP i"F :@ b ،|} & Hp0 ^ 8  q0$ P AV mPM0 %P+ `0Λ>^~؞b۽>m>BkO >$ Uj:`ׂ@. W1- ?k'EJH(P  P  !  @5Wd'E}/ ` Y 0l3 i;` @h% E"qP ֐ @  ]  P H Rp , f/ Vw8/@f s0`01N@2 VP Y n # p`foC ?`hl'fPsIp(UR ?f_8+/TB / e/">c0k30) PF /dȉ( $NXE5n1Ç%TWkít$"6+ / Qh! ISQNZnkEWŎ%+Ցi[qΥWVyW_pMKĉ'.Ccȑ%O\-oF;8owiԒu >̦]mܹu gqm[›t" ѥO^uٵo!pq'_y9{|{ݿ?>}Æ3j@ poB { *dBKC<4D;ZP;"8TnFws9z:2$TrI&tI&nq/#"K0TR!B 7 tMK:NuQ Kט-R>gנԟ $EpAZFPI8zPVFo+6QF|&h(Qt0ȝ^V@- ]@  IPOX+0bA0#;E:4gK9]r  8D.@ Ґו#q;ec Zm}0 IE!N8 ,AؑCb5!TX[ -`P2 kPMm'H) 6rb&)Ыd89 n&,+`YSGg߷e4FW@q6~;:# Ug\V|MtR:v դys̴%9 !0 S p5)i0qg-7oΆz+ B NOjǶX9?u#j Q,_1R PwʝK~) ,Z@TiC K3̷ĩfq2߉~YqjV'fʽ}x=\{$B<`n>x!"0ݛN?oI)bݶojwֽ }e9e>Nn-2q ^/t^Wgܣ= \ۤ* ֟BmUz$5tBxW-gi(`tetd@WFW`GP޷P%jK8aTPWM~ d''++1(L/<)s3o+Xa-rhgr7EaAM9;;xx=P?OMlQvKvSXb[LG_{G8b]rc؀0-^Xj/lYh0ghn8RNx*R|x,~&58{Xr4fX`6Kh+J%tdUUWvtfHĊ(<>'؈dlgƋB7'h(奈Uc&ȍcXDupPppDw}7tZ0p+XxzR/UQuhv&UmW`3hf;h>%5+|}ElۆUiUeypF`eXP}YُdH؅\IXthWW&(54+95MI3?h'eve&Up$WE {KY(n6 }+(vW5f!Y&$Ւ%Uqi+(EVJD8icTlEFg`gW0U;V}{51ӗ8(e4K[eV0KhI9KtH|Jȑ )fI4dZnHx5oIvga雝 يژ+{Nyב+0IAiym홊 )z(icɔ sIhb +Oy1O)Ǹ4<ؠgڡeY1YRf $fBhM)꠽Heb؝M;|9.cVz 2b>zHFiMچQzP*Z+﹡AN7(wIthj]ڢT1zȞVd3Hb*sd&E:ZpZJ :A*:ɺ *x*>|czB +-뚞蚮Ү"V*jz: hJӬ *NJcЊ"˱Z{ J"/˫ԭ֚ٯ)2ۇۆ<۳b˰Dk*HAkJҴ*BƢJdj:㲪J3+)k˶]+ʲIuZ趋!iKq귊cK+jc'˷+X(\K,Q{k赞볌{["1K)KzK5`U;;5-+{[&+AG{1FMGIì+AFdKFM\F7jG"6mnľFϋ-K-F<+9kG{FubNFF%`45k$8DY;)T$9׻LD '0+L#?5!)+0ӋL/01 O0EM<|FA$àr MF-3;NRPMtًF@pG+x$v|<rҿvoTJȄFr…Ƚ(| *~ȉ,ȝɔ,0\ɔ\0GY, ƣEY+uʒ\v+|ɪ̂N,]+|+l˦0LfḀ̑\wn|,L*|+l+<ȲŲͣ,LȟΠ,lP,)L,||@ˢϝ2Ъδ2YL,-,el+=+M<) ),) ]L *l, yJi_V&i!ӜҲ2;Dmy }ӯ7Ռ YоT-`w/яԓLul9UH>x^,'&轒ny>ۙ&iL)'&) ,>X.+f*>e_2RT,5  +D&_>ܖ,y&9i`kP}(*Ix֔I=_pGm.#_A?YZfIߎ}<5X%C'&4i&eRENR)C֫i̝cGw"2j/w^ׅፐ mm^R$7Th2 `WZ6W*>CnB=ӣ$iy/**7XW+'TUZ$ɖb/!o)}; (ܓh[ĶVsuhFaQ/M^Td& ?_iR)ޓZQ P QQQPQPۆ¼P· E*Q-"O K0`0lQWԮ9 Kȓ1St/_2b uG~ GH3) iUˊ3[N鱢`'Q$ؒ6@p#VNZ)d{Df AxiӐAVjC3^m 6τ$Vx$-`7 `Ljܗ9z *U؄';{ʢ"&>i t]"a}.44N~әJE$x!Y1Dq-uN`E%DPp{qt.kIdXQm~^HD5 BaᰕJ¾{Qh= J7d)+aIKDޢ'>H vtcizUX:IS-">*8b뒸@bwc$ϓ &ɻqT-)22Le˂|+Km|-!ipea'9ϒ)erV%48X֬6GMqS8[Cf89hD>Z2\fwӑg= 5NI h?ʉv̠D(.IOqޭz?Ryt e9cQf*?iDz tZ0A@"PO*ԟ*L(4)'^JD3)P7t{М&u/ۜZ+Hs,oDڍ~3d%EЬD&ժDa3 LqS " &-]C4'il:N'Tav10VE~Ѯ:-4ʪ4\m%ލp{I\`WmmvЍ.NͮJ9Gչo xDT7ReB6;@V@M)~H_=D}! AóXqC$@ cv淰  5 !ɞ7D6P\v7+''J "vэO'yswdv157^1VULj Hz1p$w<ijɹəɒٯ) ։k ۰Gi8鯞%vt%0Q0Wb([*K)۲0˲಴9 1[30˳$9{6=+EK?kIAkCk]M{;SN[LKB]{_K0ce g{i+dkoqh uKֶWQව+s;v˶۷KwK[P+kʫ;8 :K ::PP+[{ 窭ۭJOaJÛ̫+ L* ϫۼcZ꫹˻+{k߫۾ R{ۮk* ػ< @˵Y a{^;S,TX $<R|V+ ˸á ;?=,<|yHD CMNL,BLK \]\Ğ{7{۱tIYf,{j| q%`{o| I;I%c\zǛQ2ȂXȆ h|s,lZl'|\$Lɚ[T*! y|?*piʧlɝQ`5P3`0:X (} 6ìʡ1* 9Y7ˇ ,PQ`$.); ,t5Wliؼ+.0 7 YK7KtQ,LJ9PP9*PP|!?* %ɗʩY1 "P;?%P): -FP;0Q:u 96 [!цSP>U AE?Ϸeez?7^M̘b(P n]fdm\e_- -%Yˣ )JӠvl07،X3X]( 9= m5n暰VSYWѥ`cW|"p5\yN ,.u%BWm蓀Fib(} {un r跠@ !&Tm)˴ = >sn,] nVǮiwӣc꓀ٮ ^؅i뭂$)p. K~ ?{Ꜿ8n3B^Q-f)$_&(N,W32?N%N8ώ0T9Xp>?LH/@%7NRo5@w$lZ\^`b?d_`6. (`lnp5%gvxz|~@U?!O?_ P?_ 0NRR7B1X/ F_ŸKo󪨁K? //Ob^g ʲ֯xK O PQP PP PP5ʒҝ˓ܜ˫珴荸P甖 雽X!\K=w #'">3gƏ V ekr )»F@+BGE7ב }ڗҍnwj ޼:4!łu&`ybD:f! &dpPQ3kّ *l= (+At>ךP4@&|0X]FpsHuM!r`=]t6Mwq>,B`yP'ufKyRDa$`AC#@|}U.8hT[@P BF1ٓ@~ +0 !> P0q)L )|Pbq ,s-Lc0@"^'@ `(X0ZzxPc*@F!IM@g `QAG`lHBgN,{fx&{h@{Q P@{hp9v^^c.pa&<ց `Ixh=A&BS*^ $LH ?OȺ†Θ¸.뮧Ha0A# ?GQXzbb3mp $\JB{QL`ʿ9Fݕ8HB+w +`Is "i |c ++;0Q9V |bbeK[$iPdb@hl<`mY[ @0Hp#7*sL2vL$ wJ8 'a&h1XOe,A.ŋ#aJ-@QvHK| 3"@\9#+ѫ p"qIvc(5 9bDڀ B0"ёO!㩚J0 HN?PREeDv #~˺AĞF#$WFh%@Xvc_ @v*~Tq  OUN׍R+0>kqf 28O?F b#0p&P`?+"fհ!(xgHJ@eHč#M7P02h̅9 j95m95&epM!d`=X4j~6P$-ݒ3$&#Fm:%zi@_.DeiiWEAnoɉ Hа86QJ\E+ A ͈HNW9\Oc x[eAPQ~A1ӽua,Bt#!]qX7-Q{&>biX$Gu;d=; b"fF㷽l.W7HnW53q'y@fEWTma\_ H/ScX¨'pάkTXY>Ǔ޳Lh  Ev]2ZQ2eHޜ?x7e Dnd2?Jj|?Y@>VqQ}wE9('DeK!MalK8Җ >`S$(~+})s9'R q+HTF6p=YxJ%C?,1pB (&Mz:Ȃ$I;E-Kq,t ϷQ%1Pp0cO`^pP0t*$f%8gxU~RgΔ}!_&mntK%_$Јc+0Pd$$hq f$@UFP .fP0/65v$ `|+:|$.EaD51Y0}͵ 7 u 6z]`{\oZ}r`Tǘ^ 5|厩 e!@ 9AvhPp9 N3 c) y]Iّܠ, +!y]# %)]')y!R"Uy]Ӧ!,& TKNIZ 2Ip"'VnccـVW3I\ gY'QY =I g8pyL^ir/zZ:s,GzjpDƐB h/n GuaukCڄ1RD #L8~%n,2&(6BR#Y_SiB$5HHRR`%ٕ9::Pu&;C{ᰦ@<`<ȣ"QЖ? s.;R'͚m BHFX*eJxZ݊iIGՐ`5qkrqX@7PxF ň(  LtsLLHHr`\GLP,P{GVLC!ݜ-Ƨ@/a.ÇТ1l|1&e+gm_I&c=C N  ެ<.\kL &>8$]Ia@K-Tq) ZI&}>`i%Wi;Ye 6x@*%2-++~, UqCR_݀yp . tYy BX- >r`\3>"e3-?4$Er$ɴ%Ǚ 90%`B;o`3پ |H4& tM>MaG v@5?lvޡ^ޟN|"\ *,sB~Ւb-:#$aer5r𢢸C/ެS)(|)F2->I2*2P*3]6]|h4 "'4^Z4G#LSF3hڸT X:5 {J+x;z}=  b^0@q٤Gt)>" :Jᬮt*.cc"@dŐ#IBTVf4Z=ד==Wzqe]}=?8%E8۔z?K4G z&IzToy$Bt~vv^ _ -*|[ C@r8_\љ)Rt#+#s R\&FjF+3-G4QQ QQQQ PPPQQ’ îԮPէOO P O O ($&( L@ )[ȰC TVJ'@,H 'L(+Cg%)N>sl Hi&$%TH`VXB=`AQ"@qT5Ѣ 0L%*.*`S"T ՑEYz޲ ڵlCyW3)szh:Ca>f@td[]ķ UԹ V{h 4 w`M^K.h"z=bN(">O?fgsU$|d>砄_z K$ZY|yFZJD\v:NB]@5 Ng ~Zɣ)kvijCi{P .l+mNK쪴f+%ɪFjmÎkn" n؂+/vkѼ&˯ǒĺK0:zI19őqe GpÝ=,,*ϙ1Lg2\8ϛr 4y/SНy<7p,?#ZOZpv4Q_M+lY6Y}rwV4yG-$i*D-xq(݊uwpy7..C9KεׇM,`_J 6qY`$ rh"aND.2 ("+CjrdU <9 g0'1BNsdI g%dfcppeq8s}X>M"tM&=w.gN|E6bqPh^zuM!6QGqddu?k.VATzV#׊NU[зUEeGu5$0a#v_ZͶ2Xmۺ҂wd7&Yd@q ֕A<T+@YK8gKo3[3֡]hr|ڝ'ER"172$̭39t<'Gޓ>oۀhO8gY<+F<9NvE+'u)76֓ P}bl1C4*%'Q?gh#y?<08y-BA"y }? L_/ֹ9(Am wGp/z{5v7AWg `} H g  y7YHp(8glw 0l Hp?W*т3H MhH&h>@ g[s7 0Ђ< p8X1DȀR(H A g-3 ~`( $f GAr0@0}\u;8-@0`g#>0rn_X0 6>ֈ4`}U-z膛xn-jh@H'TmxH12@F8{/`#XG8h6H10(]!X884@ӎ):xȋ8iب<8X-slinȍH!842p4fH3p-p3@1@SԒ/)9R4p2:ɓlevNPR9TYVyXZ\ٕ^`b9dYfvjl9 ٖpXrYvtyz| p~YŔ?BHH9*ɘYIyٙ)陈Ii阶9Y雲 )sЙȩٜ) ιi9PǙعٝII9YQp鉞ਫ਼ɞ Y) pnI`z0  Jʡ jQ$j z#,*!z+**06ڢ9 0 ?* ACEJGJI@*OjQSD W*YJ[jH_aʥcL g*iJkjQФosuʦwp*{Z (ڣ3Z5*7ʣ4: ʨꨛjکZ*|J}ڥqZjZ*ڦګ꫶ :\;PKӦəPPPKM%AOEBPS/img/cncpt301.gifGIF89a@@@ࠠ000 ```pppPPP!, $dihlp,tmx|pH,Ȥrl:ШԶ $`pFXtn ]=1h$a+q2v$ } t ""#z t} ^ # VΐD" f  ץ# f y s V| @AD z0ě&|iȱckF$N q"e`";u2 BX8hOh45 PJΔB+! `wUز%$`YV)A E8x`l߿\3`DS`U]U 5`ڇ: 䳁b &%O^Z H)L^|5XA17`s2wFAe]jͽtLR 7Jf)9"ky]fh` } ݄Vhfv ($hR׊,0(48c@)DiHL&VPFd{YIiR\je`ݗbiTdԤpft Ŝv橧x< 蠄 h&¡6(F:(V'f'v&&% %#Z" "!j!^9@_5PT% ΒP-B, lReo|):[߂PpILV/P@;/k- NҰo$|C2/&N S9능k9\%@K=أVxUn=V 50m8$I8uf۹1Vd*g%[rl@  t~]h)h-ٲY0H%#U/&3S} U)+Cta#)Gw!#F't4BJ8s̀q7+&hmp>z5h<"a]:s9zqDžGdZT 0v}35UX .b2u!M |;Aă|xwȆ0 傦:Ʊ(~hGJuka`d:N8EKZ" 򲰏 KزNP82E@%Ŋ0 cH"hFky׺`q=_v':vFG  I IB ^VF:򑐌$iHE(5£%/ir> Ja2O|,%wNi5RDS*_Xz-G\hp/7 sS)&̨(S|lfhJsCT5l܈7pVcb*9"`nsB L#٥|?niAOEτֲlC+!tl.)h4\h2!L8:'Rhq[- #LM-=~4Jn A5gr# 0(񦫂O#F6.LI.$TUI%bַ7Za0z a`z X }Հ5=[*jVI@4ixbVh5;!# YaCx̄Mςֿuh>Kg6]MPJ,HoʾخMiVMZJx~amX/lPy3B%&8ӛ)X@Nm>ݪU,7>&=.'jLYqfxN'qd .2]RuUg֡njWhحKHBQX@KZ!h[|sפͶ.IC`a;%7 J; vrcr`T[N5,{ݲ#:kQ rlPj*l W тottR`r΂@)8fOgFk`%g>5׊|s~Tx:OzUgO{U7!wHOHȭP;_ta{ۀ}=ik~~)N/?_ 짓τiW#aog&8DPkr( & ؀@gh&x,W2DFh%H(R҄NhP%D4^d."Рբ.eZ4.ƅ&TPK0f3q*/a8@T(0/yMJ !kw2 ?Atp1V 1 ቂ @ 0e5rv A5A ۑ1$ ' zev.w3pZeked B`^@4otՍ52sT#@Y}hHP>s(6Ri/ِQp6\fYq7K@ `8q ј7cCQlUY5cS>#q^,diJR F<@ Y3Y\9jHAb%QY𑚱 /BgӘ'"SxbM&9ŹלRyؙڹٝ)r( |y詓'fe''$ exAG**Zr) Ҡ*)2(zJ(ڡ '":zR&j'(t, '.l2&4Zfr8*&:`ң>%@X2Dj%FzQJ$LڤKP#W7bx;Ec uPXz9p ~2>YgK#Aju6XRAZ!gx PBer#G ѦRƐ n D(n@`Z0p2 : D:0 f4.u4%ԍU?/ ݰ^pZȩuQ UY%Ua!!#`p6:q9䚐 WNm>>GGGDDD777111:::]]]Ҥ555ժHHHYYY444___±***%%%!!!///,,,+++&&& """$$$)))(((---... ccc!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0]"p ͛8s3*h  իXjUy A ) jPRnKݻ#30Pj{{MǐW% 1PeXӨ)^(] 3SX s4*,г wZj= y÷0 ;}O>Ѳ!؀l}}& 6F(ZAF8d3 $h(,xц&pMԍ8<;Z܄ #H~g#L6:V4$>adIfT1y噧qeb朏@ԣz'egxc衈zgn5}x#餔Jfӣmh<*|`ĩxr꫰ʍʙ. nA˒m6{Ԏsʎv[!]+PkL=pA$@7mk{Ӓ/F@> 4G q@ O<t,@D9@ʘG|!^<@c,D@AKϤ 8 ~ES@tblvl= MxO @b @ ȟSs`< WnWwtw>O [n]&} @Sv2Jy9(r{.|\qQ|1PU}R_KTTqW 8x+aK 06⑐$yr$"W6tⓠ (?YK^1&|q P5U,23 3/s&U] 0KC@ F9`iQ38ya`@5%E#Irs<&2.0 )ƀqJ(s \P-h:_$%A-{ʍ:kPHGJҒtSГ.P, PǦj9J=)`?TD7`4 y$T5JժZu!0&A V%-lf,l a[آ1u Pª:C 6Q1ZFf>:mlV 07Z⪝Ξ5fWv"dJfWi`?U s<@eK #d 4YN[V|jЋ]W&3!s2exK 3Daܢ#) 0ϜYOlpW=޽ #_a.pj<4~yy\ubn״A@0HW/ h>8@05~5=vN2š G #&;PnS47lP]X ibÈ[EcigvІMz˛&w.V`fiH[߭^v 50GN? zPbBDGCXN}\U.w[ȄNiGU23ӅghO ~O;468Tc2콖DA4MϏ GO#^z'zFcfkJc5}2LIݧO 废!qTq1u0kO#?Z~QGy;]ɲK$4*%x%HIg[<70OT5[$px8zHe?5|a??hX,Xl7D jP6x8X聋^!EBd#s1fEK@PVxXX;ȃs"uHd b8dXbXȅ3Ⅸhprh]Hp |؇~|Xvx&lx 8YRHe xi"A2艑HP x$؋XkH@Șʸ(raPxX}8V 8X⸍!hbg蘎HAp ؏h I!"e= =\7i1c"'a9fp(*y >u#ee'$)`B9D-q~CaGTPz]#IHYF`E80Hc8A]m6#pXdz|cYI 3PV3c6S1&ѓvH Yyihe Ty9KreɕH IcQ 6T)mc8AU%uHcPʹٜydY1@>K< 158ǣH;T[V{TKE0 Sp7gB4$b)608\IQQ)@;;%v{xv,T&0CQ@14P0[; o]xTdΧ&:!k?QC]1a?Pa|G!"о۾CзE 2 2!p9+=m2q[Ts;۹Y4rO2oT|:34;Rb;JP.0.<ڼܜͽ afcfs쇼3Ǝ4nv!(P|\ߌ qsD1OGS2=O0М4#)`=]mLI~d،؋-Zɧ:Bp٘ٚtM5& mBX;؃uh.31t*<ک~[pI3@˕=10cK}vjHP}]=إ:]Ѹ=Hp}ݑ-G]kz=7P dO}C7@ ܍rT,P~^HD0 "> gy=6.0H5<>3:3@HJH4f pDZ|5q4~aڜ(dRPf~h^N~<}MA!br!kWm3=!";&T4P~^7@h7I}J0}dT3"|&>꠾Bnn.% aHT0nO]74kۈl׷@OZHR@^~l~ӂ{nQS %z7^`<4p>^3CwO|.u J ~HIj4O"?$>$,.,OO\-D0:<2/HGD_FDh2PRJ?-Z\Z35O-Nphj`?Or?t_rKf.~xoA?0?a?co,KP_?7\. 5/"z"O[TF"]\|I1p?47zLA1uCX*ugf0-U_,$p؟/4c741qQfaqZU:H/@$H} .dC%NXň1'`_}tTؠF)@#Fk&#Ñ~%ZQISQ>=UY c!j̎H*͐\hPykV&j_ĉ\0&}/gυ,&91U\iL0bkևQϦ=> 8EP˙  Os+҂@ ',"hG=QsyG]{ͫ xg#qOJtQC1iO}S>D$Hl#)@ ᴠUի-!uWF4JcaG( U p@F"Ƴvk_WH' 'KkdNT.Ty=S6 fVŬ`EJ؇t"'&#^)K' bmmm;[a#iTI4{iT%(ŝkuAAӥnuqy -Ẁ\v+,b ptss]aWo|;iL)!_ؿl~3 fp`Sa gXpkFRb^@M|b֘B8X3qW\c)E}c qӘB$YKfra-:r|e,gOf<NBc&se{gL+f8h&+<:tA{s (QvS D'ZыF4Lh1t-}iJ;:͐S|1PZԣ1E`u]jV ;4y8 B}#ydA>F~E2 \66dH HP I C:a W @ @ \3HTIY ! >(ƀ @zs.AA3A'P ?Aª(9I}P X@l@DtC2,C3C!B(@A%YjB`Yi Ј.&/ŸY`C>>MMM'''SSSFFFʘYYY!!!λ///rrr XXXooo???|||,,,888 lll777666OOOkkkuuuwwwiii{{{tttJJJxxxqqq555\\\===hhhnnn...]]]jjj[[[ȭddd~~~UUUǬ)))LLL&&&AAA}}}NNNZZZ˚ HHHBBBTTT+++***‘III###GGG eee^^^bbbQQQ(((KKKVVVRRRfffEEEaaa111ccc222CCCDDDWWW %%%$$$"""!,@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c(ML $`d X@ ɴӧP!&]@`A:#ВD'Pʶ۷).畉H)"DJ@uiMD14 $pCMڟ\$;ya a%֟U".:喽_OKKN=i[1/t+Y,`_eRWM+-:YWϿ?5@yJUXeJ0dg@']O(RHW?"EDZzH݅U{ţ@?hH&%PWA`Uw LOGWw Wmr(VX!)%e^?D4laOo#f  wimwqҩEXA̕RQ=d@$ *.cc-d+F1$,&E?Z5=Ř뀄:$ز0TyEXb\s5TR>:wdupɘQk&k] IYvtvW^{Qw5wYj'3q]L@p ]w+S0`-oklfXDx0U[éBYP@uƚk|J $%}f/vY͍h? ]J]TC9kwY]. TmDĦ}wwfXs;yw"jcew]vTXpY$Qea.2wԙ;V]qPfPy{AgQj/8 E|O*5yV*eQY6߀wZ} LU?l>ik94ũ1 fzޞ7D\LBpzQL (φtbl$onXI6L9 1?L2Y1!p(%YɁ@ _7p~/_ 7:fXy 1Ј&0]~ͧ\b(yT󍱜–/eMjRƄ4F%b'9RsNW$}CJk^ TSEYd;8zqc->'赴K]QĦ,)WEbL܈n.Fpsfۆu3 Z;?M60{}ioϚٜG"Q[˙(pc[۲^}k|C6OnC(FvE؈(f(ǁi74kWpE`UXxUH("AvxQXB\xU gW !h@ZH/腽8mWxe `SmhsHxs&^ _ H0j` I ր V @G  Ws  u؃؉X(h@X5.0294qבȌx'o)7IXHVPj@\ڥ^LjPʟ=c X _:tajq vg:( Wp3prZDzQaAgYvPȰ@jZj0 Py }`pP꩟4Z:j, 4p K`:`1a z蚮꺮욮 )ɊrCrpmPJj;P{pP\03jUp۱ ްUBP0 ۠MQU|Z` *M4 ""riˢhK" 08 1)pkIKY 1}R ` }opKWP,&ɾq5 Y A w 5PDAAe)Q#14'aWpas X@ z `  K`A4t* P$\hl 0P S p 5`R1RR^!!(CQKKOU!BA"L& (opt "p T\ < @`Kaj!?R2â'lL`*KAYaϋ1)9-G 02I"mML0/d1]*B.sTtAF6-4 bA)TMK81Y&B+?}=ML#L!-M3y--!!)}x0͖܇mܷb-=?%a0zqC 2G=;]bX("D A'wA(AElEAPU*A, n0'-APUAlMǑ .1V&Lcdb3:L}Sr:E!1DbVTQb)\F!C胮~\OoAًQHcMRBaddL/9sQ{p%`@Wdu`as;H{yW5,'-A枼Q3C?! G̝*vxnC!:dmypw^;f|'h3:."0F3~JYBLbIgA#`1 `ݞ.> VdҮoh1j荒d~Nm1O2@L wr?&fmW&QC"˾Vt'xf>^\ofzy:jOqto!w9ki:o;"Gj?qk?r  Poz@6l o~U؏n!m_/:07y $XA P~ÆXXb G `I)UdK1eΤ9SFJ)f~\$_<yBǏN%͏6rFFRTOLKd[q :HsO :vQ9~'NјM ȑC 9r? jN@L$H`kXE˞uIeϦ]Neuꊀ c 6YGOć ((RJ! %PC 2CA$h( zJ;M?򀈵\[>sԱ=Z='o8CN@ DPXg"x`Z@!pa!E$DU<^,2!A6FvsO>ݒ1gژM#N,J+ԒK/G,WdE-(i9; j;jV\suW^kךD:c')HSM@&}R)2-21PlqE~nIV9XeS^|w`I rft%u2([L3AU6K}3 2X]PO<$@jfsygkef~x !Af4ډZK͔[N4MQuF6;9Tfns{n"ZhQZ"a i h%1v=qkOA#pA&\Bȣ teZWy@`iy r}w{w / CZ%/K *$.JqȣLK/|sm`?BܱB`Cy-t]v] V`9V j" h$m@6dpo aP spvxG4x+7 Q0A?`C.ÜVD? g 'CA$]8 XCs!p؀R!#]B*6 "Wp22pG~|rÿ>hA4^B d _BP%( :`. Mp1!HXJ&-pͣ@Tu @LC. <1BH" |pE?vQ2"0.7Сݨ4ai"D?ձэ F@?"=1t+ARD"HHJĤ&9IPDVRY,$ ޒ@ ( BwSxX# TxlЏ-A@ | @&LSC`idA0:@ , h`3w/G@E?h?#;DL M"HN&;PLґfv6%!JmҖ4 D<.95N7!-ˆK z"de@WЏ/[.x1 d b < @QR$W;w ʑGAZBz>]lEnB,fs$ `oK f;*~_ ^8K˔ޒ-id".v D5'p"*B?*UjN  / QXDK*MAM&Zs?غΩ. f^:U,E{Qjt\ɞ@mbAmf{'Ile2ug-W&xuv+eӷu;f V6< ";&?A lIg C‹-AjVNu l IDrY+嵶+]X<[&v{ _C)q[\D0S LNh c[w5Ibʮ5u+_Sؤ DIr.ϛޅ.aV||5TCd0u\> zkx;*feLS>Gɱ{?,[ebs/0K6"S! C>2(6`(<ۼwc4cУ;?Ak939&˽=?+>$vӺ: ;󻚋1SA{?ד?Lc); ;> : $#aC~''![7ͣ,,?S?) =ړAܳ(_`?;#D F#0:XdH$J\Kd8o{FۛAPl9nF7 ><3@ `6[EC60!Vp\E(T7`>a0+0~,GHe(a)83!HOAdԻ,Ȃ'x$ Y͇,CNFF 2T G8HtEŽNiN$B 7병gȃQla/[a3:쩆䊖{]nl0+~)ws?wqhh/胆Nhn o Xu2?jllZG`y) (D@HU-x0JK 2hd€ID@@x2b Jogpg>)\!7_R`b(H-؅tH-@(b`RX;X\ vwGxO`lw w3&zo~r@jKNyQ?Fcڬ9nbH}@H):@i? N=Thp7ȑfSr̦ƾwȥlF0̶80<_Xo3Y5yAG=7*|X\0rBJrJ7H|KÇJ7+Pod 豀"G,idr1 >PVh FQ*p ~6P$aH*YC&7pgС$HR@i+UL_i߬3?9_";{8 t Dז8Vi L5N ? W#8]/\P̸cE$l桛h6tS J"%A2Pn:vD;ǃOD=;[[9͜}\O.uuXcoq[5(U^{W`Kq|A( PP Q/QbC aJdRG&hҋ 4]4SXajk$[{tE[O(yq-iA'yH0'uJpy'}'N0Q'Iw%|d͇}Th+Xb9jj5rŗ_IF?w< Aψ C"C?$L?δpD?ˠ,4C*GrL-LQ 35 %Z`YɜM*s <0|0گ01jӧ=JJW)逝R`d Z= z9 ksB?űO& ҏ0"%H? :ɚkaq,x.ۛ";Hf[frgmjHB7 >8~ ۰{4A,_o߇ŔF5 )N ֱj<я%53>EF{#"RKh6],Tضn% j@F?~ &7ʄ6hE1~;-9dsF:=3(0$%!l%TFng={ς;!mD Vቦ D.V]B?F#Ȓ'ĀE&L @L@'-QE"z>~f<䇩# {X|HA 3%2 @U .G3? Ȳa>lB>BܵFw%Wfə1Pr=xW]įk48B8!>A*ч+éw[/Pp+:p8bJhG Eu\!cs-1Ƴss`Y+_%1L Ċ a-HvkueW,\i~(ڲL0XaT }8m͇ۨN @L$и61sckAe0r \L 2V"D L7r 4.ֲ*@t[N/<HU(\kx 2)&c ۛ^q3Cc ,l|)ee`l*#HĮ S9`EȰj2 #׊Dmk{uIֶ5s]8^ 4LlpPpQ:T z@E 07:Nq@Ygw1Zs2:J.PK/{3\+_| ~aWY/Dp`bMu2F | 69s\H2!7@Z T\hB# l>an 8-RBRߞ 7b.x>yދ O̡Op@IU4+6xD @%F?@)032='5%pNKD&.0k9| ]A ! <?~f3 (ٙo}~ 0O}Dx p=P0)2&CgH!* YLnWYɍqK݀Ѫy2M 2I\i |_A C(.C l,dA@i^ XG^n`v ! AuA !J =tB'(A?^ +0B7%%FA&2 Ah g`70$+\B+`IHʰuGuY0fF@T&j桖eĦbmV+< dJ%B 3$4fqNz+st T@#2%dh#-C$DII8Ȁh?){?Y^#@%X!p$Tk_&U|BAO:\&kNm|!$@%nqmHʼntzh!&%&"Tx8DPH Te+IGīD|BϒΝH) fAt )F[4쁷V۫.xAyI  4)FQk&`)*l@8x+mO4#C&(r<*tJZj5Bx L((AA *uĭD¬ ,lG.@ -ïʖcNi@nT-@L!,A*@y%T OeFB(kfPh!Bj-fK#4' *pfBB*Ų-QaTh#v7l 3܁y&IHu *, lު?nH^,)D"WXՎc@XnDt |oVNXnHڲmۢY)Pĭҭ6 Q@ܐZЀQ\%PR0AR4RtH1&.CJ=nΠ˾V0z̉?u`F=9A@ʢI.LG0x  .eVDnpJ(\l@_+mHoDjvoA>ڮ/>&6IoQ@q؀qԋ#p/6G,C?P?4,'*b2F"%]v,I / w { DpDH@H&@'oҎQ򭑶GM//fokE۶1f1گ/qp1J j?۞xU { rz   3 H I;ljH u8]s]0,Z hVH@+@7@<.*CtήH,[WG Y+uhTjwuX?wwH7tzczd`8 ,Oqf[Icqg2h{qKK6iMN/l6PO35n$ NppGH,2q Wr*R'4]$Kl7߀uA7I fJ/o۞qM44PvၸrB$R#pC F.@ȉrQ2wH`*)f7 n29ײ@J/Kq״jSyN7vs9{c3H˜?cǙxjw 6*).t@,DϸE3upӞ *9v: ns@fW-x'y/;0C1+3[3g:mq{5#.1 y{CK@VC q6/ȖpdO[GW'ˡL%B*#zJr3Mvz;kyPwOA ?k̩cGtPģH|D&rs#zv¡K{ﲒs{W}#3;矼*"FU @@Ssg\EG_7r[f¿(@ K0 E>p -("@F]tq H0% 4XpR/T)SۻyZn; CV؊ݟ]oyw*@ɺ6 #ٷg_~:Ο[+OƝS. dpN0㜓' B(:ĨO<"U\6L`B~ Ơ`6~:- 8 PǴn.*oĒK> 2J3Ռʀ~\s1ᜓЬ?T(> =t@]OC}NE!4LG)LI1GK94JMA;OI=@QQ]5)Y}DUa/WiU;Yq,[y5lL[M-YtMc}6a"dl=o])"t]v}!4p+q d5t׍|b%_~]>׉ ^XB=E@.NWjF)Hh/b6/P $C + &B(Fԕe+Z\4fug&hfij!`kjouf*ήw砇.褗n騧jv[B|\ielN|m~w,l!DE}$$C}nMJONA0!C!ˇ,"KQ\ W^Ј 4滱t!%!ъЛ#u'5ʰB cXF^h:$F*p|W$$4z{hC8fRd؄P^b XDTpl^.Fn$U5,TYR֒T%2U` $)i9@r$G9Kḁ8wENY󏌼Nf~\$&S(Xd"/y~@iIS H שPXNf9ϫeoc=-+UCe> Px$iII6܂d9թB*R%FAPZTI:&M!3=`1 UU^5 Z*ST~]R  Pt gx#1ILBЀ'Ӣ9E;?C ><+>11?S|@B&`C`; Cb93C;.R(/;PKÖOOPKM%AOEBPS/img/cncpt324.gif:GIF89appp???888@@@򯯯rrr999Ͻ___ooo///OOO333***000а```bbb PPP...$$$~~~萐FFFTTT)))|||mmmhhh« 666&&&===>>>빹777GGG!!!!,b``aa)--)a/š **b" 7*)-گ a-7a7. "a.܂2a`"b11`ȈGAIb 斠aqP ~ȱǏ CIɓO U,AvbԝҧN YbPϟ@ JѣHv[ jW2"La0ׯ`ÊKٳhӪf)SON ݴ-x|jۿb!2/kw0B<3xa"|Y}åװc˞M۸s}SC N7 zУKN0Wz!ËO _Ͼ{0˟߾vܟϿHX}4~6F(Vhvy t ($(&,.b0H]_ _h#S Ԉ; ގ%M٘`~Ah"`*JwN eHjA| pep oL`с \`prq 2'|pjSdyf!P)dƎh0h @&0%!R(dzk|i<0|;tL`+Z~q0AtchЫHHP a+\i(ABA,v{%|˨v"~ +讄gf|bs 8:@)HE BAhkԍxq<LAvɐ /o ڶBPy9JSmc뚲mW}{1A,a6^YG0۩_>*ٷ] dZ6\us`īW~ N,omAbn֚;R.yU`@Cg" #C4Rѓ6VzaRe$•2Y_ ܓ; `jU[$'7M 8WM;Zb@P6+XԆCXk!f!Wi+X =(;FpsL!ZTALnWIS,*[ S4)^_|/E41[poUw!,,^̜W.j%t |ʞt.ڋ$3򕰌,gIZRT-w^Ra0i-I2` -Ax:%*IJAͼaSf)Nq–Bpd?|)K2@="}[ʟSBІ:D%LͨFձюzT#}GYURw,QT,z0XځvӞ@ PJԢը%@L0#J5`RU= a&TTPUTh^XTQ-+\JUEOq[VS+67n˛}ooT )FAPX4$dP Z@ Sa ]AH@!eJ+%20 x E5qb)=Y"s+Z%CDp`@0 s܃u_Oyvȡ-;O:'H9xb(;7ی2wd* S Ba. $,8vrx =}e;}@A i' 0wjh](K;u; c - Lޅp#v7zUoC ᾁi^4XwP{ 'A @|`8Ap/޿NX`04˿{SCwA^d9lUo #߭>ZO&1Gf)#rdn(;d+b(CaU4`qð{`@?#q5P q 'y#Qo@r`9@Nq.GWoaw|k wh^u2+:F( p<9Ezo,d&S1q{uyWPorx8'PoL4!w|uP$?zG0\LH0?Q^0C-?#GMVB3+(=VZnXMpr/yOvWg&5}:EH'X1|9sMP[?S=@y&u:t1tԴo&vs&u /v\`]5\ :[ \d)`ҵ_J_Uq#YO0Zu c@3cp\_*ʢ9z#U%z܈_ =_ ZhPH0N? ^SZ)cIJJ\I`M:]:_RZ+Vu5ɥQv|ڧ~:ZZ@ 0440:j= ШL0کzڨ =0jz [ Erګ:ZJ-ڬʬՂL1Fa:α'䭖P$ Z ڮI4'z ʬ0;[Ί* R  @[{۱ݚPQ&^0 '۲.02;4[";3?Q5۳>@7 $J JLC NfR;@SZ\۵^`!B d D1jqDp[q `zxe{ѷ;+!{`٠ฐ; {`๠; {`ະ ;[*){ !!0!7"{C1ް.! 1 -)d~ @a`2@Ơi˿pbpDZO,,1 *.0 +77"*0 2/ 7+p`V+` h{H߫Q`Lл ,f|hƺlLƋr|t\ǃ{x! C|@)Lzdž 0k @a\  O"b0ŰPߐ [мP   S2@@71` ߠ.p+ ˺ Ҡ @<ƺnaD, Yq ,wK W} nNQͣ"P !Ρ  /=4]6}K @P,! ]!EoQ./PU  Bw ]) ۼoz۫>=-ȭ ʍ]q_ݩ ]]}o!޵ޅps&B# M$]<'U'HUkF0WNNu*'TD"A+$B^X&(} N42A:7b%a!;bVQr`Ś9sMEY#؅d )Cem'YC2'EX/jsJ-M _s(L<6=(z = rn (Z"Xd8^%!c:9Ap~ p,<D#Nb$t*3@显Y-뢐멶na^ꈠ-Ns^ ne]`Zx점}PaA,;:~++4,jز-naQ4PjSC&)44k8V&!nt9BA#)xaS4dvs$`@@.c:;Bg2D4b%v阡}1d>>AAAEEEwww<<<$$$zzz*** {{{yyy鲲|||ތuuuڭsssttt...CCCvvvjjj333gggeee::: GGG%%% HHHooo׬ MMMiii---ȱ000ZZZۙ~~~[[[䄄nnn444BBBѸxxxXXX+++UUU!!!___```\\\OOONNNLLL666qqq]]]111///PPPKKKRRR)))SSShhhppp'''888cccfffTTTlllIII555222rrr}}}YYYFFFQQQVVV,,,###aaammm!,w H*\ȰÇ*H@D3jȱǂ0 pɓ(S\ɲÉ/Iɐ#Kɳϟ,aZJK$*]jAh$pB|o$jo$" TW2(rO2yJߐ1 &uGK 69]hGa#?z"t K€-+6xb ''ܩKT0YQ_L| c=.rp?b,2.š=-FJ?@[5ِ*D M2D C_"i@>KC TNYOVFWhJ^<@ZY?V? sQ1DpMT?a G/+4I|3B@$`)&ޤ#qP T=UC?)$M!OIi4H5z7@AAIӞ@N=àE}\S:T542Ac)䠇 >2෇! xCT7<?_\0D2?eA9u3&(1kK53` &NhEЀO%8C?PQ?p}+ɨ`?01@+'H ?-OF?>?`?޲p +`Qab3.Di<`MX@ +&۸ <ȟ L8@ u  #86q v9 &9I6chPADdeyc) (x]h0^A1l42k؂8<8ELMG$u3 @?]"Wwb`AKx&`X`  H@ EBPtPA^4u#PVCX` >`^(*TM" AI L(0Q2FG8щ $bLpS$ }R;< 0 )`u難zD;&P'Br  {g0yݫ3q!d`_5,񏏥|C9`P0p4 B(+D3?^q^H Oh+^SЅ6<F!fMnD#@_PMۀ? h ~n$bV !<`l|2/~ьsA"` qR8DL48b)@ .@ִ54h@vx&1 wMx6\AJB ],p9@n[J#=hO7h @t@ 1H, *Gڰ8(GpC+F(N {"L :P-C ?~ 2!f TT@S2HBx a;:{ 9B\˭ : AO 4BJS> (@=qe̛o?7ջJI=gg T^ UOO;ЏO[Ͼ}_[ݟ' )?gl:yq?S/$ o8Xx P  Xx h"8$X&x(*,؂C.X6x8_ )0DXFxHJL؄N@R8TXVxXZ\؅^s{!p Vl؆nl<ta@4~9t;!F0A(K}H~xj`]@`7xPV2ö'p+ 1pu Q- !w ~Ȋ~㊰X}HBdg ы(A8Ȩ ΘИJU܈~p#PX}3G 0y~ QYٌ헐 ِI}Yp  1h q) G1?:ga ᨓ =)?IAA!P&`Pt `wtYp+ sw{ } @ Han` `v`vg`CGْ aO'3I яɓ (ψ t_P8 tٗOvH`dpq@Mq[)N| 0P0ty,P)}Ia;i ! QCiU4Gh oH`>!.OuPnv0 k`a t@ ~4IP JB*H}Jw&޸99aHiÉ!\.*0 0p*@%=P ^ f" pk˩Y|zȇ(hx(kxxp!5@ *8 k7R0Ra ; PBz x0 z4P P4 sj|8'X;(&;Èx{G 5FUAq<(0? TIX+PJ8 ~eФs$`ZPt Gls Sh@8 )95fhjTk+ w y<{7ǻ ܪaqLI\QZWc݈ɔ{ɊC`J;[˅ˇ!'!7 ,L쪹lL|͘B+zr;@ͭI)! Aγ̎ S|@~i<@Vpw`BP~ `u!吢  ȶL͝l!#D ZG}P  *syP .ИJZ @ mU',a n+B0 rQNPĴ ~0T p/ n@1# >}Ԫ -A" oN2Q4pBl=P`$ FS+"Qq95` C-G3MB0=Wf{ jp .;>P >]ΐs?p?7VP 34@a4.(0)@2%D mu0 Bxϐ*#bpN ~DŐ*9}Mb ^$ p D b@Po`0U&EpO$x L ȍ~' L Z\ @ 1 ? ] p F .ڠ=  P R -DQ9*p!/PL V`U8}@#.Ao0 ` خW- p Fm@wck(Pp<Ц}]>☻¢l𜯳!] F t{lΠ f3,$NXE5VG!E$Yɏ`aK!j}b[$MvhIIZLub I_ G,9D ~VT"12 |9Ji՞צ Υ : ԭc|n02$`r%GF! ?Mjv̺+C|Q 'N#O, nfagƜT6CoB# ."X@5@@R+#̉"\p a" 4" hFpe!Paa +"+EL^^:7z! ^'5**7 ^N*0 SQ1$>(E<;##(MH"DRB%Ls#(A"62ˍr/h27:sS 57hNIsU5=1ԐCADN#DwU6QJ<2%SD"+ԒK/|U3|I֗jΊ]'e%O`DdWf-Vζak/ʖTLVՌuU܍us/Z%-s_ 6ӔR $ZA?*:(Aܘe>Oale_y3vBKUozb+"Vh"behHh յuy?*^]G7 t^&6 on20A #Ԕي{Hw?pSp@*` H A0N2xad\26?0(h!_y 6XFjgYJ8 #F[E\(ʐ60 3T"<%t@"(@(JT"E/ƭ$#Ev2z# /BŒ\b(,2=|/|1a ox4b1E7/,1qc@*~)VYb=d@AQ^ܘJfD+Y){< pM8'p9#h79IiZ$镚@ G:x}=t"H9wNgc+1Kb D~PH  2ҵN0J]E/@`C=PQ.@)gQ_!? fն;})nQԨ",K#V=tH;oNxrl#2F5*\6%JU[W֔g2K^&39LfY |1f <8q 걝a4ɲ,4[cHŬ.-e\7ZdMUy-ӻ+L/"Sup*tgxkQmB^U}w5WBr]-b5錕|hӋj6 Cqt@%%*[2 v^>?~`.F!ݗVG1pE|JkEwe?PC?_Fה§7;StZ(i@2*$@`psK'Џ~詯mV7Dv=<,腞zsf" r>x+<< pNxÂM9_` Qp(c0C,ȷ(2j?;=H;+݃2ۿ>d:҈@7wh8`:i=D,:U4 Ѕ$ |jK?-B@V@9C:C; P/?-l/.)A 桀34'dC(\l(P1DMDNDODP EQERU(;8+ +,(-8- 颋Be9`A]HFe\FflFg|FhFiFjƠ, DoFp GqGr,GsJ}E{zŪvȦQџtԛGݖrpRJGXzHxH(A|d… g7 Ӈa"7+JH" }H(D7% $N&H %348D  \sIHB1 Ʒ<(Ł߽q>h%\i `aɷeqEКY͇X$(݉)(`5$0-DYZ9uu1+M"8/`^lYdC٧# ЗS03ָ?,UduB$kmch*& )Kh ^df&1%Bȉ oE(e*FVw.vםa90,֥K$hhFZ (1@:cEpfq=hRsMzYT)E(]gѸkqŕTCKXkhi$Zj*б (Za"aC %`D 80=s 1Po"%5IK̕\5]iԞtW).2a<( OJ2qVN.VvnAȧC Ts+$^,8.7pt!A(ih2Ѭr-hQpe8dK$M=lzhl fB8YIBUGlkvi^TF48䓇_ F_Gxv1 rɅm3I'įy`> x 3nt& h< tLF!P:&$loqD5pwd07DF*Hzlo8+Sn#Gn]snmUڀP !opʸ3qJKXM~z7%\am^8E=G5$vM|"tW+&[͐q7s<) d3R[g[X*A8[|7hE_Y'+h:4'- 2X :d{)dlU\/!s%@]+зlz=Hc@t+^i,l`, ]J.pvd7KV BzV̭W5PZZgDNBEP!웮.gˉ϶EG9rhr]&P찾aц. m&'+:ǣSP6ؙ 4[ W:ַg\N]T0AH4P7LZK]x"YގE8r9=|7 ~S7|-xDN8ḡ 8;M@.(kRu05! 轀u"bIBr ;h+q~0pHN pH$ -%z!*sPzy4<(py4*c8XX<>3)ERA*}L&:}It0aK  `d"TLRJ(:P@;a d9*TF ȧS1#ioڤԦMpz"`@syT$2HBDpzyIfN ѸrשЗ`,oшJqjr`wĥ̉#r[qBp$iz)|)RZ-"<&P:AW!ثB`Jq<|ꮥaAo C:{l#|912ϱ,2#?1)22paz (W,|r'fdJz !0~ '(9bl!9$R'K;osA|9q!(zxC@8[JJp)" k1 CPy?@J|6-j*Ae%b2ahbAhJ ktvˢ 8F;H6 49*|2I ` $8g>(`k!#Daީ=[C #Yl)a;o80Qkw@*JtQq@Kp@[4˪jKPANdpz˵r⡰pp y9t V{>#\  *Y)G VwqpZ+A'Zevp áWGgĚd@z˨ĞŴ!N|LlB|F9 q`|z[\&УDy;[y`pzH<(1 O0U IWx({K!1)E@A{%f&d1pO6T7gÜ(#LJ< <̳ (Koԟ")T7-]V*~݇6р"b}A L#xrXDŏ f^!ڬڮڰ"m.ۼ۽:0jL.ʽ=-K:Q\{=y 4Dm]4 ݆Por 3|dOP*0A~46j)ʚ~J(~jX)U]L@'!~zr["=gѭ(8#*H~9zb({{J!2j&) K&*L iRBEz ~!0!tAO{9"ida{1"`]>^M>~2z C \̓ٛ %G?>܆0]Mۦڶ꥾C \;<>ܲ4l)2!@Pq}+*a*þfّ ;Sj0||0 {1 (n |^}b / :  Ξ@!3 qm O~pzp< ),q) %Cɼ )-E7;q RuĀ='׹$ Aʩ0/rɡ$9{1hBO_'oL0£"ϧ T2$RF'χ2; {'a-imq+)""E !$=;*l r!-/A.y@`O{0J }LQ2,-ls2_13$ ko F ?*%!"=hQp_evش~97p*/ 4"<,Q)O ^Y~ \&`Hxl$w^/B&|z | z Ҷz{$@(}V[R"zzzz\.+}N+Y| x(&t}$!|<}rwlAI@,c\zURPũH_uI&+dhw-JZr`kTHo,j* YP:Л* @QMkZRd(eAY6T֋>۶5 KRF'LZRAx;Gƅ"H1,xDYre4TY -4gaƴ3AYjQZ "EA-!e~"R<3"Wk P b(FYʁb$xDZjcKX[7܂- }$(裑NhDPVZꩩzjIb[.N['TF)_7mt .uhm`oa` < օYh 0d1\n[-]t]hiOYgkh8Ѽ^v_;%འ^qi=țf)"k{(Bb xEأ``]Mnto70 H n 8RIA~*=eXo{5^=>EA#"_d8\ w틗6 q3|oTPZ\[LCr=; = F-yX@󖰻(\VPh$2`cCJj  ##Az]*[]|1Qe,Ŋ;X8cG#03@*-C")IK6W@L"Î(,&(U$e46 A| ]$W, V|S%]ˎe^rY`0."o d쒘A``EGyPA(4I %GEzS98ŋ0p( QK@TB)}Pp$-3M5rDvHHE ̀׻+dR)WVO\@Ё\zW!`AE"45 *'%g H># RŸEΩWYNVu {a*}sz[0B,e+tF)B032Q,CzT$`:%,++^9R5 PYG?'Yw*&N )ZMJr F", xуD S|H#P'Y!Z KV{*ۉ&(MBF"((mUz F H\SfrEB'0 P:@eO> S)< Ȯa a)$@ H4C$g H/W,AHn[ߒ_5hE/эvHȣE=d,%,=q_J"=N{`Ϲltv<:s'1M"6vP`n6/,8B_!n€PۈLgs΂[0ի܏%-/-DӀBОl !F 5[p;#uxScƵN+x b<zY@!E Dpt[|TP֫8.d`&̊[\+2usD@^1-hY6k+q'2gRqiBlO@ V;h{آdr1F`U{K2&C:тJ0lGǵt(i-'92ܱ|B l"w_;F]. 1J8$ ^ D~Y xPcUK2~5<+(eM0F '[_5 L`@o<r4.No $* bT"=1 *``~ : $PRCЫX"&29 `CPô BL <Ca9c%o+₷!C0z9 P-Ig (#|PF +d$.<+& /TP X HH (ڨ )2Q.bfp?& I@x@N#C @n @ q>Uz%o$d0^|H\^|@ P>eP-oB 11c/% Q:`_^pf^GpBwbQ 2^$' $E|Nb1= `1hvƞg걂n'X`<Iyhg@@p: ]nnYQ;nGWq))p&n椃NVF&oRP<@+  (dގ\ Ǽ"Ą!M=d-֌@0L1F 2Kc|j%M%Qrf_'WgY'_rKrw \" >(H!ln @-ժ-R-)B@1s Ajb@2$o$ǯe]r.[qe}En@^dE`,"=irӼvP+p WF ,\A. Lc *06nM*W3(XUHeRȨ'YT0ɖ' "ce" X`tE /n, 쵘0as+*.\P"2^ td-0r 8@-5D*(8vT tJ=!OMC۬KTڑ-4/` 2 `da;$$+!N` i$ 0IuKS:QL)Ba4 ;9` ڴT13 5|bYxQn&62c x#Z &Nv Pu Bp DTc rrIrQ*ţ1+$.>_T rM)f CdO@܃=6! @ګ=Tt݂e [ER^r-Lr vw `wip l_&4OyR"{2Ska A0Hp|a  ~w8=~vsew1{; 8r%` X%,2 ~+8$&B%ZbNA?:a0ziq@v+8jsA"{!u3w iLtA7o(7^X9Bx)4uKSVAL%kX&]O]  &ykɂkXͮ.#^% T&XX⇎ rh: bM"҆MM ?^a=Kx>  D 4TٸlQRO!_sEƩEaŲ`5m]qt9Z* r*!Rq#Ѐ@&a(l+ }P(CYdGҩ]fҩ2dS\X (!&.380)&700M36P5zIZ[!GoFvPp(r Yd @PX+xWf˱"GנD576s%J `!j1_5 ㎁V'2)`>4Vش˞9~߈M+[qBMk_P'@T?Yj8La&4"+%ʝj&C;އŃ_ WAy8$_{ $z~8|/|By&jb-Jb_8>~7pm5mP0),,LT!80Y)( .8Q*"=ΙM>H(B@UJ8,~SFH$8?'1ur-Xf->־ٌWj~4gNX?',=8 3>LApӅDS Tc"V@$* WhxV ^b@;>Y`}ލ ZM=yFhdH Y_c>A6ۛiIhhD@i4/-XN`e^nxL C-rvo^)W?35Gs{hлSL:|LfI"Q<Ʒ6oD/@;.^I[Y: @{ gT8m;O 1 0۠.|[NP-6G]V[n0"&w6 T c|YDC,qQb20'.@hE `"x$r4l wWX@$iW0)`8Q ~HGSQN4 d72^;sgBcC, [T:wD e}hTL|2w<"gIxdA yQ0L6 <(qIMr »9zP /V)W4`:)i%#L = Ƈ. Z"C6 ',IMH&إ+qF*S«ܰH)\12)Mkjӛ4:)k-\ 8? HpRcZ*Wկ5\} `U|&+[֮P??nzu^5aiBQ;ő!bނj!cT%i,BaMFf5[0YYMc!M\?؃RD!2Tk .qKr5jIl[VI>j#.wqɵbtc|l@ǒPcJB>Iex+` ;OB!`0 Z=K&gkH~§*wCMd~%Y\%iEf;n=̈_ 0XQ5x'9PcJ7ڗvQ~ S_81ҵ)SqgJZff`@NnU7&H/rљ m9cԘ 5CҗT CXA(zzDj7D%o,@oaB Y%2k!JnjFM_q^j{OpþZj1vGk:7b.S2Bq} oQď0PG-Lpϳ3\~QT YNe@no?9-ݞL`xt_փ#hM8Wd4vEMȉ9޼ g̙͈)_4*_9[ӞB$_K6z;G8A  PŽ0W,Ѡ 40<p|!x `@t Q^ %dEx@R&D~` @"jh@"R!<#a9 "!^b)  #Bvt "FɚLY9uy{EO!2,"-F^L^SAA#%ZhYeTHJK$RxT;n]" =!D22`3>#J:%" 8>8Khq̙#&=x7DfAMdV0Z6()d*b+,֢FV.^!BBGh,[<6EXA@m;0H[\=>2""2bVbHb("A^cr6jK(ax"dωI%e TAH>%(>*vah $ꍥȆ`x,őV;Tlumcd GOonjKADg'pw$C9^9䈦T4 P4vNŸق 0DL#班M@̂AV'}%}"X Ks'Z9UM[:AzL@v8]Σ0Z_>(a@ͨÊF հvU2vUlF3`N #A|э̛Xg,+(TPT,a'L%-r0`>TT/iD%ʄ#2%Js^ *Dz=iY\D$Eܵv|d͙1|NLlD@v\)l^e4ifJc(FᙏD]c^d&V~e&AxɈij ÍV,OYk AiR&]xY c!a?)V, V8k/v܂iM&VXOc'<B"Ĵfz0'(ڱ@ЬlHLJij$miͼrӒPBILWZ~lI؄B3 AF!@;ʭl#dm j"i2$hQ+IE!A\*ܭzA1<"nLlbAAmU".pn"H<++<.~9(ׂz&pb` VD5 } _ AM/_JAf6A.? ̙LBKDj^] ?/uMήvlxZn`DbSc'j m<6#.mgY +΁U|WJj@a5~@z` k\T@RpB`jNӤ$_ ,.H.O$/l"N{ĂK֢Jk@>h`**#(D"fh5_KU^#AFCkc7M/Pg!tA›.Jq,O+ lF0/Kr2! 4lvmǸJg_DoF֏Qcֲ_B6CW{,]C]P(0e׍NF5)BQƄ7"lUBIN7v@rV>sPϨRԜ2] [D q6*wǭ w4% _TPzlRa~l1^}A777\̗\/ P Ju螲 246gX~ B;, QC |_5Y4ɽk2@”.\Kj]Gk)(vlT{1(,=zSj2!x9KXS%;x/6(Ȗ)̵JK{\qvdžGypKCۄgZfE@|ufM B|A0C<4I{5,܄g Ř9ZŁ$/LHRJ]댁@;_9,55n &A1÷ wC3}O(!&H֔f` L Mg -|h+cG< <⅟jgaP'Y:12Qf3̵yS,`@P\ LߣCj: b B|8{$,[0)i>ҬmBȫjTHgGTx&R ]}@F:|'oEKׄ<ݭ=0@ >L T<0} L8Ĥe^<ﳯ+ņo h,@[1w8L <6jލǬ6Ӟ,D^OpFuh<4SiՎ!8R @rϼ\'XLeB@ R&Hff:G.A_:^܁JUeP%YA˭ K "!8>"Kf8SPf @Bc%x%SyO0H|>>bbb*** TTTFFF&&&"""]]] ---WWW[[[ YYYUUU|||^^^III~~~$$$KKK'''+++ZZZLLL{{{GGGMMM###%%%QQQEEENNNAAABBBVVV)))HHH(((!,  N/$…"|QbB- PF5rd(ǑO,QeKav 6qbiNyJB 5J)BMtzT1ȯ`ÊKٳhӪ]˶۷pʝK]p߿ LÈ 7ǐ#KLeōAf̹ϠCѨS^ͺ_OMۢakͻ(;ȓ+X|УnBTz!(O>ҩ_t;/OHl2ҕAte4s]|u@pSVu߄~߿!8G 9k#z6HFP/\咗n1[[q-P.xl`nN Xc"/0.D &RH` ~%| BOW0ǃv. D?Iů "F1dKh $| "H*$ۥGs "c!r ]IL:| /QG$؄?.MXŠ:''֩HDq@C!ˈ'PRk ^-$<"h<>sA *>q"'zTƌ$n!zVC:-%Ŗ%IQ`# R2=G9z7zy8u0;.% ? { ʁ/"") x aGŒ!.hqpfo" ,& :9՟ GPSf,_7K0sEzqv%8R|$<5Ic1$v2FIK@r8kR HĐUDsY&)*L*4/vN]bS,xAIwi`#&: j_x%*XR傸BԪmVͪ4ծʑ^ *ֲJfMЪֶun*׺Mwvͫ^׾ `K=bD:v<}dZv9lf}z6h[њ5=j?պvrdKu<ݹR`ԠkZ zzK\t:QmknGW;խAz+] @e>A_5Ƚe/ƛwu ;7oٓ_a :&L [ΰ)^pP]FPppLGx0;axJrzDYY@HNr5aE0PôEVN#d"3J)8RfE4_EOJw)`xγ)8 fJ7PFt "at N{:LV b(EAD61]/sӰuC=RԃnMb]&L=ëeMbo8z6׿^Omj[]z\D2NPa[0 n'.7Mj{=[_h r0MOx -7ӍpvSldc 4?Ak =.Pn|K" [[qCi{W 9 )/r"c!._m gMsoz-͢NwJI ݹi&i=ZihN#=,'6:L-;'bgBћFpϳa{Fk ")epӿ>CײǏߞ_4,=O1s _m2t@a Ͽ'P{7vwOQ$k؀IRTc7ޔs`v~v}P"FO`O,XIu5h>˖&z >0umAFxkB*5DUxXwpkwх_q@uagiT~}da%V؆h8qvxi8Joog!1uXxw腄(.Oh;~ȂWapx8wNi|e16QTxzJkX!xfȌ>O0X|=,~xVȂ /d8@jQ$XstӘ"Hm)+HEiu"8 А (~1yx!q)91.S6y14)=98y'C ShGL %v wwMД3 Y姄70҂b}"V,`頖k}mٔd7җؔ, Ǘejb(nee阍myryazi ЕS d)@㑜qٚW` a9)w i`phт>pkɩtJx )&>i鎉G@r9rh p)ٞhGyϙpǟ[b>Ǡ 6:j#  Z` J0g(] y * 2Zm&* j~) :@C:q F7j: gvwRGڝ`ѢK `Jpb* dJMifAđ. aŖR peg }*F`J8sW= 6'g bo0:HPꨡr@:f|ڪv*xZ@zz 0ʪf| Z ĨƬкZJ `_2}ګʨʮ a*0{QJzl*b&KJf週{ڗ* *gk%+( L@;J3[7;=k@*.žJgֳL B۲uJq!4K{yb{a@l>kh˲T[V{1p۵npحb `g|۱8ʶZK\[u&r b {;m7oq[@8 дiJLk)*K!@z!z;8<o@ pK+K[J@;*+bKC ~{d˺ ˿J0w  m.mp$|j?0<m"L'}xcQzz+C0( eerm:l ékI/N RwiUWױ<œ` -LeC< *g_fNƌ *Z\s<^ FGLe|M,+@ptȎȻȑ{ ً DZQ .ǡ,D0̟D/Am@ p= qLɳl ¾KlƢLlk0u&\ Lͯ\lu:ڡe}<50 m!'fl{P@P,ϒ|Ͳ,<Π,Ђ\} -m {ж&m\\ɴ˻b<#΀<(}0pPq i,hfuԤp{ $$P@p6- Ě# %MmHLz(TmX\ 8c}Ǹyӽ,kC=DPHBdL@ -dr`P~l Y ?[Mm ٌTK! ԉ֋}mB0G ٚ}mڣ]ڧתխ-ֱ-|l2K,ۍGMPSBjffPٷ fm9{]}lwĵ-ΌH-F)`ޅ@ MP~d}Y}ӯ}mPwyJ -N>A | h`kh hWf6Fj [@ 6`0E~I>-E^=tJVZ]_=g@vQ։&߭NvC&&; e bb_ a"߅'V `04p~Y`L>qp\^Ǟ˾')>d^Ѷ^ڽ6m޾.u>y^;p p@ b0ݥj_\`V r 03P>_4ɮY(Oھ$}ۢ?Nި"O&ҥ.559=AȾ|=] ۭW?a?p?n I0I` ^p/ W/o0ov`Pwy?|~*mV_ԤZ__W o%Q6`asL$Q=4"!T$TpвK#i&:9uO!82(S Q)(Q2 +lu BĢ#l i57v]y9;/ . PXa 1`l L^PyA 84,"aQ 3`=@*C)ZDcA$iJ+Y)f=i)z4Ҧ>Jլ[t6زgX۸swo߿_(q{,&+2۬Xm4J T[*Z"a,(:( RZ%^j j):{Q()b)n+,tBK-܂kn. FL0 CL1$2Z <MCM5tpm66pD{-[|8䔣Ƙxǜnn;%lR<̓J+k->,M7$@3s?S tBe;QZtMHRU9Mut\rsS"5ɨ,/JTKUxб_L9+O )p 2to QyC8sӡ TtCv+Tjr5˶b.ZLoPTOXŐP hs}V8nܚl*wB7#cw*SOJˡh2F?l8 T8A;APkA+CXZR'-R3eN_HqWz[}gƑX]`&j#NйkhOQIfdocW9vߧsa{~^q~xStŴ9 aГZ=z֚EgeLQ ߣBmu'{[VF;TJu?JWkq:^=rQ[ƹYsʲ`0Dmll>()UZ%ncaH$oYjJa 9Ojఎ cA)c]w>ؕ0&qT7s?ِx4w+;0 |!qZ" 'voST#6nm\ 7.01(c\FN挍aD=^a g5&f4.Y6ϑYl۷RFIKRdzIo48:r33+"$-+NC.eϖMd:i%'"3W3,G88␔sd*M R.aDĜ!9*;7=Yk|hâ!elfbꝙJiAs(@S\>jaId:z 3Q<*z)MGt Ku51_4'P#ZS2TohQs^bkF6-*H6[[Ix1dGYYqc[ŚhK'U9B3@iK )֌{Yni:M2S6g,YQtRtxt;Jγ-iMd”]`u'g[TFA)օW$j}'Ժꗴ^Sk_4Xglg[;x ./ Y_SM{3+j^.]- %X$/zݫf7`)c76_cXS7Zs-e- T ,RC[ѮӴCm/ G֞SeLww 6oU(|5 NnXf\Ouޓ-&w_^-Z*mcy k1˺- q᡾RC`y؞0=j=ɻZ;,yMz; w\9K/tU;UPS]G4NmY/_[fݩe[=8h\BwY ؉oQm{oV{yV4'L_ظ_yf:y}j= OY)[Ʌ8-tD>kpn_疖-q#>waQm~COtY^rWJr׼6'Κ{Y:וgu&!z.o.czv6v >y~h6cuk}oKlFnӜ;Uܜ9I@ OCCA? @,@41H@\@|@|@*˫ 5+@ @ @@+A,LAL,hA|tAA)AA<At!܂(B#Ad;?87sk3"tG|DHDIDJDKDL|D)H,0tLER,ES-)b cl2f3.G.+"J-cY;KmP>݂_6d|cC#5HRE;Vax{H *MkNd0 Ol1 8HMA~MM NEK[  NO5^KveWceFc\pf Ldb>UkfWefZ~dN\> ;^^H%b`Ngw]{T=f\{>rfY: =%谌@hhhV޽EnM|%Ґ>iNHKUifEXGQ}iD^~a~&+?-.B01C3, t6C:C;C=C>AAC$#\B(|t8*\3ij,/ ˾>>60v.)&fFӶv5ۮܞpν=Y^pqw5>nq5 W9v*;&].`/87=F:K9ӽJ$:<(q!G"739۶ړqqϮ߻ruos.)0Dz"j0sCsWsfsvsЦsqI7.e~r2Au_Gva_b/E`dOv&(fov>xvh>vj?vl?vnOo$^q=(wsgD0Dhx2wy/cw;w;h}M~L(LTX88x`x_x_px8^ HoV6kHI7(;3>&`Qyo'T8zzLPwwOzwGTvwwxxc|Fx?gxxx8yTZg*uIMO|_|o||ȏ|_|6||!y/8I?}OŗE*P}xfHsޥf }~~/~y{ (G8S~~}g9~~ t`~qF^_FʏNk$sVHu,h „ 2 P\ 7rС F"(9*4 $Fx Bo"82'`R )Tua86MrH&Qt˘$xL'PDJ@jdҭ^uр Xpt!dPʔ+[S;͜5yѢGEl:ԪΪ4l`Lv2$ֶ}ӳܡtviZհ_uآn8rvY\~h0 s9tJW_mw9f;yVz:X{ ڈRGua7a:!h#b؉ ]'Y AUp*ސ$V A-JdnKב[yx2F`2d?VXF_"HB?4YʑQ!Rqbi[bW}Ia9Q4ge^vB* 镬Gf¶@WWiG.߲ at@eF:E:UlFZd3Njyua~aAaX P~anAeC]Ѻ\Iت-ނ+.离8j:ix6V,9{vpVR[E\J.%Cl2/*0nvp=ttM=wa3>-:DcH'R1&Ƽ]F{:p0NU!vI WȆCQ:ZC5`f@]`9ElK8I._.6훻4}N! %ZmC.NK:H4|^(֛QTS@X Lc_r>ߩV|i@ʷ@}_Tv&Y/܆ܤ-{   (,5-āR2^Q1 萆wAG08O .:80`A|{!T-UƒNZUN5E'R5 ؒ¿: Xbr|& MSD^6="6h#Wr_3;.B:rʄ )Ksp &E#^IJXS:ri CdƑ{J>5u|b[ʀ5Af|ʯP[z:J4ـՏ3|ZӔ@hG2ԨL_0خ dvI4|q\T J*W+gqIPB2լGe&  R _̵+P7 p@'gyjETrD-({bH!+9D&q=)CPmrk] 1Wigٽ47&ɟ)1 k(buSZA 3 s0UD́.~1\]Xs $ڄ\+n "v2T֓>u IA+p^2,1 f>3Ѽ5l,g9vg). {]zdVA N0"Px4#i4PҖ2Moz 4?QԤŒ-2-Ws6A2fv3<]Ͼc?#B.W !EZ mP[ ]mà5vqg@KР&61eyɃ`t?(UCVUcn1 *eN@uĥ">+ *`B8:B&Mr7xybМ6 r> ? t ]18 Zdnqpmlk0x`.ӽv'7/mo|ANp-6;0d]){u6GiWfmpgnvhw^qx 结(.+%Nq;q!$/S7k~`#σ>=IҳG}6ֵx;>{ Ty}tlpЋ~ؤow lk%!7"xq]E䑝]^_ݍ^.LX`@m활\˹y!ҥ^]]m]}]!_e5nܭ@݉hY yDF߳UDZ_) `bh^9`A܅_@^kq`` ɱ  ! 6Eߦ!!e AR^M 2` fnavJO*@"FeN!"ޢ._/V^a00~1R`2.c#f $^M"B`"iq'`̉ !+V5bn7&`. c!e,#3†k1!{ቘLƤ!$M$NNOA"P&!Q$$RJS6$TTFe%<UV%\%V"Alecc@ Z#e[,\%ԥ]2A!^_%`fab&f,&c&<&d~L&eڬٚWX I"J.nl&m֦m&nnfm&DXWkq'r&m}՘؎EtG[j4Ɨ4Bw"Q@pjDh q%Prs2~}~xFyb'k:A'D~ 8"gGA{֔|a}}LÁ@dgDz[$;F#i0hG gE}=(>Wd%"f'Y (^f (zhBHl's֍&Vjp(K*Ζą[rg>A,;1|J߄Q2Kf@]i핇4)*jjHcEEhAIa)qNXBꫴ)`*rꐄii^McA|)'fZƅv] Xjz=Ϙx*N*}jjՀB I'<^$^m ^>&  ͑).ѩӢ@d4k*Mi%kiQքV+Akr4 뷙3f(} ##`?`d@_&_k:ߺ2]>EhDt ήO I:ŭ~۾*TZ` ~Vs9m ]^crly\ zⷆd**$+fۄT|NV RE*2з 'ZͿ.᪋ %̹0n2rx\hvi=k vcۢnv?m)mBBr DT2Д(et.A+@Nl%ΦJ:P(DV.icn&j>ƭ,dݒ+޲,**l+5@A: b2jpv}:/CkJ(Fc]jG(/^~,l'0((A,B+:F0Nd@IB6ůKt[|0:Ze `\Kv V +xqA)i gmNRKZ W@pRSt+"@rq\%3XWs2r.2/2"EJDAB (2ɼr&[&ixSs2/3-[rq:2,K-cRn^556;~*+ingJE*DMB]g&DLAAo>gD󀞴ptV@feHsm/ X4oH4^P4G#F4=SuBtY!*ux25@GwG/@:;omґU+f4ep5WgZXhECtau]"R[ uM/s6dvB~ i\(cJCu=tRhYf~٬ughhii4] hr`h5j6N$.~_bFF!z;?݅6=׮v, 1"m).;1-Oc5 UWϸL-un<7z_tVT{;$|c|Kdշ~#9r^s4-S*E<"828A"0V8/[wO25*m V3dx X._QXvCe#㡏W$/8{{$yP@9Kn$o\3@݊ylu-VβϕDpjsD`{bw77wK*,EL:z3]&nl A#q^xގ9–4 #DxxS;X;E:ްByi׸I8w6a/.Zc$7c``h#rjǪ` 4O&qc˪k:) 1K` Pі-`:n<ܧ:IGjsYkkvllYmٞa|$kŒop wqrr[Zs77t?tKwuq)x \6PD}C|g#DĆnU6Kvb|}U3~'GvcXzwe3gD9/Q+k5*8s=89T?7 j?k^hs{G|X}+}뻾;G-{%R|A  N$s{D?D~Gȇ3#;D3xaB)LaD pBF H$ nxҡ T'0m(! Rjv&J20AK,`qhTS"NAV[tu I7ЀXĨG <j^ ڤ hJT &6{5 "vlٳe!JR)ǎC,J8x.xUW%F*etp!kXdv*[ӨU˥kʈG Xq O]lU)C*u2:W|.: k$`6j6h':ʀ k)Dto>ɞ,̪;jk@b. Q#SKl?b)f ׄc6*if"86Cʓı9C>r2ho9#C8GD "O%{*"=svpE] }@}yYYšRv& t/{yr4%}<~A88t$Re/[b@"P CF] a#=mn_ R+QC*g;p`ԉD P wWbÙMMtH92b·鹢DE0d@0>b  tjr4Pv! 6TR*d!5D""n +d ",q@^p\F_xlRN!AT;嵷@ӕHG1.YR7K uqs'cX &:&f͙'O~sל9 s Ǚr櫤-fTAB:оB z2-Ld]MARl*/BJ+)NRUWIA FP֜N夲J p+$WFSue-HIR0D k*K:b]WcNuAK1e56H%RXȢSDb!)D.fr[:,3U(@'t!bF%  ]Iߎ!( z:OlkJn:z+X!evn(1);[Qvǫ{;remc) ,)\a _+lAMr!/J:x|` .@bEscL b}&4uN73 QĔ<G\ˋ/ Pf3iVsf7qs\$|ygFQ1QhCщ6@<rK_: 1 OZ$*QjSWV5Xj$OA6a a"sp_v`]Q&C,sY`|2Yo!9ۙzs 6tFsot)-iL_ӛ4GSZիv5a]Y+ֶ><`O&hE"%(a_W@cqt|<!OH&oq-\՟L"> 5 +Z޶8P.<QkP \`g|4 ~iC$; P]yWA^,VX|Hv.9 w#>WxDžqt|%?yW1'8Sa <;Gρ.tI_zӟ0z ^g`: 6H;}u{6we[C_|oq"`A.rAHYr˜8*@@zNjZ?^/wbN.oOhԎ.+!,ZLncafk N(O(0o:Bq$APOXX\ۚ!Pkroz4?0HQPZ>Xakd<0 bkpP4/pP 垰榐S W/p gu}/ . /oORAlP`9`lO#/&.4O8@FƠnp (pyN P Opx1n"v !q*3N@ f7;`?L! !k 3*s**!*3++SQl 39$M&T-4[ s55A=GT6r>EUEa a:5 *!@Ht#)H/AB323%B4CC._3DKK'%c !`7_`TDL 4F2rAGT"9-A%SH#V,O;$-)t--QsQ?.>uS+"5R;7+ F>5@t@{4NQ##Q:9A-1ISVIJS%cE[ΖG47` Vaw4tMG[iHv;uv PEj3KeKmwxLsbpN@t6 @F5[T6HMN{3I]5v/4i7|Kv|qW>U u}Ytxwf: p`G!P[a[X\YT7{YcX4dzp#XCk7qMk/XkwR98xpxxa#~H@B@ ¢AVh[xttvbcoV"{]g'WqWXuXu! "l ^ńlo`S$s!@avzY2,uu8؁Wj%qj7k؎WL`0`Ct aNHyabWhQ+E27]ui+Tv vۓq5>t4 [YKp!n(!FInc8o,I{{יV^yXm ZnX8Zy~h@ XXtًۙz;YcXp3y;?ق젚#^w)w!z`n!l`y[9bO/AY=V79Yq9wuvi:RDړ%8N @]z\AZ{;y.I:S-2@9!zpᭅ7e8uMXKAև ^{x!pĬ1e"*@if9z{Y9u)x_{mW =S Π`g N&-!6ڗN$93 O[eYLl1`}ۯZ` vA{9d[U V9+{(: ` $ 4 {=z\``i-{Xߕ;ǧ#_{l-uZR@|F@:P2<;8Gگg\P;+`zNwHi@\ t`Uܝ ==a ܞ yƯƅx"}%l ,\;`/yd |' GCƍٺk}];́ؓ ד*l(z:*}nK]ր d@g_wpw}~= ( ((R@ŮJ L] A J;؀_/=[̹ 8ae)m΃{f]/6i!: D[ZA ~ImY3wg>>M2||'&J`~ x ;Р [S] ޤ2~ԝY0 *`9>>HрNrq=~\c"TB=SP UYV\yX8EYhr^IGui]a!bD^.cdCܠ r[:I#0WicHJ~G{ Rbq ۘefH]b^qߐ9Q&#O~ǁ5`Q> ^z~t^z{46(׎')]:(D9%j%^!cIP ՛)'wى,kN;PV`G޼Afj hV#X3$(oªk+€̾dzL 0tZ-p+;"sv7BB A_qG 2k/"Lrq rY!Q .HL3"6xo:_uT%ȰS[ >"m Kr|VYe02 ,r4B:gu#XTA)XEN@:wQ$J`TVu]L Bh@ `Dp6-Hx\x`,,$8?ٔqA]:z'F~+a MpѾCΕhlo ; <K[?XWS3Uw޸b>abߟ68Pt[A.(vWyow ׁ.Ё`4]/ l,68(<Ƚxor>aBP,t! i+dyP xE `>HSЄ>eD:ΈF4bx1F" ,q.v)h4qF8GI1$TL# >rrd\ "ANB1c\R) /&UO~$)k9`z*J^F!0Ewc&إ2_tJg(ܓ,=bj.-t \ nQ5" pr7oAtNz*;'y2Le9E 'C]$ЇJ&0BD/:JIbEcYuztt(I? Γ>ƞ/J_1$)H|)Ԧ<ŕL{#X<)ӡ*U=?P&,T=IU#TWUG4Z]LVaL#.dQ`U*:W.F庑#g=]n)`5ϹvEG6UGd:ٍVֲ@ٗve EGKZ``oMJW[ mG[ۡVe\#mr;>#U.H[bw v]pW#:ʫUF`^|ot]җ~?b_ mnZ &Upܑ']gg#a$ưA7aX#!Qbo8'NKb'-fK\c89:zKc$!ȐK\9IȒ;wLjSeZznyKivTPʡƕVxʈf}"vA{ IEumIpD`|NZsof訥*LꢲǗP I>vʚhƦ&ɔgOpOXzcvL($NJ<"V*fV կzꩁZ-wED&V~MeQ"Ů$xU}Jf ;%7I7):~X*nraT*I$|9[$jۚ|EnY#I^7UV{xuOHHJpDzVNzC_ttSY XwJ6Dkq˫PR[Ê)٥n۶{+ִHd9~Jٷ(&nMpKڮ%M`TueXOv.y5熸7x$ zkKp|Y3V̴wkYEGONpO.(AKM$+m%U|tDhJ˽FYjK;Xffu{VvN /농*(fVEUZw؀A'æ0b&I0O:d@fEL(&L^!yZ7* ĩJXHp$R“` qO;dgu{'YqfL#ulqEӖH9QЕ4d{dK𒈼vLpɝɟ ʡ4.o|E䑷-BfPJ<~bWu!^H#>J}=}NΔ^Li%g礌TM]VBKnLʓMRJz`Se凚yI{]vcLRSU]F'㹋,I&u])j/J?^U*e<<Zٍ:*tU͓ߊ&l!3Ձ7'}*>>(((fff]]][[[QQQ\\\~~~qqq222777KKKBBBEEEbbbcccYYY+++SSSMMM===ddd!!!uuujjjWWWlllVVVTTT!,: H*\ȰÇ#JHŋ3jȱǏ CIɓ%5ha 5A B:( ( JtB5"MXբE jtV jDÊqC5ATI@2 YZUk$xWC @ദiϛ XD]kqn8޹4hެ\S68! KA*PQV_I,Mg 2DͰjkG!T߼Kz(vXЊpڂD;fMYWv9A EUKg|Ni~gM]@OkǕWk5az$Xz~8PE0(Q$T_̶ VauSvAs@"L$ f5_XfQm] d@3d@ pU~WIr$cbT9VR3 &Prp#T6PhhfTOz8"Rإ]",U^`)@`UUcX\pہcS_R$d 5iWt'_A0oFUmpsGk5"X_R6҈5ͤ蕾+oi y%W^u99`f@BbmmVL* LQfP„مmI,,$l(M M.&A0jbT3A3Yi33*'MUϞfՒ 8 DIy l$lDnL96ew$uc f\YZCM_k]HB ՟bkT[MK%^zeg#Ƌ]vo qɭ5r-ggT&U⚺$@jwCcFs̉no v; ^x:W $gT 5^7'Wju417M,#ҀXC-hs}+h) VR(p 2UuIL(cmA\$+w̫bAdYc3T2@8~ʵŮ07貆8S I8da 0@^{Xn0y X>-[8?5Fy ˉ8 lIъI1E7ыD{ HGJҒ(MJy%qNF[|Jg*/ PNwꜦ̄t4 jz @3*E(np8O]5էƁHj TP,!;Zֶխ;Z`ͫN+b R}`KX` BTHQq-,p ]}c6M[pfA4",Am[X(#o-,p-Wɩq. .XEPv}xۢB5leͯ~45g CP"4<'L [hÃA5`HW0=^% α[E.<$'LdK@˽ud8 @FqLA Qf2hNW0ӖeSXMd< 6ɿ:w fИδ嫄ՠK]5a{.IS M#^q|((iG]OrnSMU@N6 kD˶ `,r;q5 |rr*zU03 uXp@3{$&t6 P =` b"qHNh bEw/'pв @Wa0F y8vj~W~@>Z yP IY& Pxp 6`MP{t 8xi׀#0ӗu `VvWp\1h)4 y9z'Xz)+؂>JVD1 2M@ F)B,]0@(D{H{JX ['h[WwuXp#Q^WZ}i~lH~nȂ.(thx?*.hCX(wM_N8uG}j7ppZx聐u5RrWXq\i؅Z''xְr`|v'kI_9)ݳ5C@}Б "9$Y$s&dGx k}x8%އu)t_@ْOfHL@>(@q_EYl׉M6M`b9dYfyhjS=uRY AI]d05$W )W*[kX'Q1gr1yIwy{yɁ)a+#x ъW5YG Qh!1Mp4ـ0F}phs@y@v(ٛI6$)r)})Pח)M7Y`gvgPuPuxyypG}Qa>yVϧy#]x||y}xI]  X}qu`ǎYVX G!(pu p=ʙW"8LP^בp}rʠW Y7)xWx|`xWUkr (3ah3ɠ`хwv1 |Xv4٠4GvI+ ȁчx | j}%xu)%P :yrC4 MuUy!.xCzWJ}yѧ艎vJw}p8Jn=ڑg (ChIj 򺛀*w]uBʁ xusX^I*[u l{:ꮐ}vXx:/[ ޘ| kx(బudx:[ }"gR!`T(0 ᘎ X`(ڳr%p;mZ@\ bXRz:*wPbX; Ѹ$Cq@kܨ^~Wv#Zr*>6.nsn&-/ s02낛0Z鍩q0=~Ncw [w,.XwB /w*)?[0w,.02?. SN i>@(q)Dp wPR?T_Qw z5f7ͅiH@vZpr?t_p0hYPJ&8zsXpyHƈx(G8eP S=|EP~Vgc=e*x]j(⇋oXǘόhhKjP+*p$g_s ʼn:!PA'Oߌ+Р<8裦*~VE5flPR! YI)UdI2dHC:@a*T@q`FA%ZQuA&9rHѡɌPGPF$F 2~PÅH! "# MjpB AS D1 E 5ogК # DkB5TPiԩUfkرeϦ]mܹuo<ȃMjU J#Pi $_yҀ(E4ϧ__FM*V ,2 -r . / 03l 0ހ,)JJ4DSTqE[tDDF4@?>~o}#0S p-i=A"qK.ֺs̊Ѐj!Ɣm@ .ALA$|Bb4%9d2U(NX4 ,P8[99 #QҬ"- T"tVZ/@V\#B?(MM$/Eld4$\Ys6rBBh .֞HM8%j$#% XO&)z^I)!(@BA;4Ҩ\ 0 ٨'zX!96IeM3AbkfdӔfG0)CHZ hxdb|eH 2+@`TH#bAP{,v1^H 9`afABK  đ 6 `j4|󍘀v 0°pb&K/@sÿ .X(6H 2 Í#wjb bz""K g 晏gb ~"70B廗~:N ע . `-Ё%P H p@h'a`=3;č8-0^Bc]BÙHJP;a}C 1;PKAy[VPKM%AOEBPS/img/cncpt273.gif|GIF89a333???@@@LLL󒒒IIIlll\\\gggvvv>>> NNN```HHHZZZ$$$AAAwwwFFFrrriiiuuu⁁CCC666RRR___kkk~~~DDDեqqqMMM555EEE𕕕(((000˔}}}^^^***{{{jjjhhh111Ӯmmm|||eeePPP---[[[㦦䑑222999nnnaaaQQQεppp;;;bbb&&&֬WWWooo]]]"""zzzcccGGG///ŝTTTXXX444ךJJJKKKyyyttt888sssOOOxxx VVV###=== !!! <<<+++ddd'''BBBYYY:::%%%,,,...777SSS )))UUU fff!,H*\ȰÇ#JH"2jȱǏ CIɓ(S\ɲ˓+ʜI͛8+^|ɳϟ@ Jc̜H*]ʴ΢PJJУMjS`ÊK(֮hӪ]۷p=ݻ^1˷_t LXaۿ+w/LƐ3k*ٲϠWbLtШS9ڴ;Mrkظs]キu a_^8Љ*gNس^Ë'ݻǫ_]ӳ=M>H߀NE! Z2(!j>h!DNe^Bn(b~hA!b_4C0(4h8<@(① 0@?L6PF)TViXf\ve <`$dڶhl`Yfix橧qI矌砄j}(裐>袔¥df雓VXn*ꨤV駨Vj*ꩩ ժjʪkP믜+&e6 XF+-:k-LN^Hn+~knGᎫ?+okniZ ozpClqrNlow[$2{ 04l8<@-D}@ r0\PG-TWI/}oVw` 5JkkblOMޢt]p̵|7xn:.8r#+CnkK>ycUk9nB>8:ʄn>gyI|d.|?S}_bۇ/vދwM~RϾo?Ͽ$hIx%~| \0h2O Y;P#$xLx P` gH0;,lxPaC OC$&@2d",QڣbisE,NO[\M<015c$cxФQcc?F8NsPh?<6{Q#d!sHDN E&7Nz (GIRL*WJ@$EZvɀ"-mK,2\e/9_dX ̔4fJLf6[̦Z6j*eĦ6 %iěIF0%paj ND!F(DOHõIN$D:3` HW0!!,aO< F@2#Ci( fCPD4', zBrȈސl 1J322\#.iFdjI 9-0NT#iӋ$?IPZԌ| h51pH Ё! P D *G.hf j$1-B@FB\7 ,C6>A=ԡ TFb Nj˿$7,Q5BXF0UȀ\01TS#@ c#ႦM͈ pq Ѐ?!CG6;8 Y Hj+`TsHkKTnT E`H !F|Q  ap?4 Y<x.r8@ HE1pA8@&f*,@ X$$5R$,@L 0  lDgT8Kc R0/t!L\-X htC)jd "(n\]g!LM l(H"< vBHic5\b?dJFSЂPLG(>ah| $-ԇ/D2 j0+GX h1O_׈9lNP?pP?Ђ#t(A4C4(B8, ! DC((`f',5d 'Vzn1 j8y·A=ED?z,GT?ַ(dߑ OY{7˯-G6ӧx}KQd"LOҕ[_n}JW}}Gb-'7~׀L~0Wx+&m">"x}$Xr)-A%Fxqu@ [PE3H @0j2xb@M@MPAPp  mZXHLdhP0M`A`1ptCvR֨W{ {0 PdP0EȎ⎚ȇmQ` 3{@ΰΠ Pb Jؐ3` Y Y 7p wUȰ(eD븒b Ei 3􅙘M锄մX)'{g|dY|GWӒ\H0r9tYvyxz|ٗ~9 $b~טH:dH=ə?9)=Ai9/8-8Iᙷi<~gY8 fٜ. ¹|Y~s+P?Qjy{׉APLٝTKJpR8`ІA }0t@i[@Љ$›yGY湠=zUQ(p pU&o >hT z =hN6p@ ) ;ډ<}Y ;m6Pz5`P(0 Jr\PT[fl H0 ?Z3T Q@M`spJP=A:p ``FE\ ^P:ĤMHJp>!QsfP UapPTezj@+ P00 Sʠ Z) A0 `΀ F`@Q,lR9 6p `   xpp >pWz-n@ؠ]M;@rW ,q䪯HW -p]Q` @p@+qR@,R H {yXĪ& j~/;0 n@@pJZp +P @9 iQ@ xQ `Tpg /1kz.aa `t.$ SEpQi/  ?)qP  @Fw z00Xm10 MPs0Pe k -@JjAH0 > XwR0T)Ҡ`zE~I@.PpiPEΛ˺P 1`н;tpcp xʾj P ;0fo@q`8 ( =7`; , fݰV` 5E,Nþ73a_ 3pb9KFlafhP {@PT 1 I`PȠ Z cz< Ӱ5^y*gK `pw@ fp iEm{ײɿ#õZSy= 3QPG0 0^,Ż P p )`1 rfUwP I GQ!fŇ\) ">$^&~(*,.0. p8>d;FN"BNDP.IRLT^,rZ\K^> @ FphjlhnZ0CLGNnT ^~~S粚"0T3#NnS隮Wٞg\9HK'pA c@JEh^  )`v Y %/a`]ꗞAš'$#Z3`' IgDkPjX0"iFP  C0 % 8  w10@ r"P L4^^VZ]cѧP r""0ѧh~gEO sMAQ|hjPE\P/ /A h1rnpVaU.ܾ>JƪȪ-p Ӑrp T` d 1! <-0j`@ B@` es? mB֠C: 0 / ΝhP uSM а`-  VR`yP`[ItAE@Bɻf?/a"WI)UdK1eΤY& ܜA  %ZQFdMZQ #!'&u#XJbȯuhb_'Ȱ1%?U8Z6aX,k%$7\׏>'.=Ek (Y(HCAVdUX@I)IW) eZ݆@΄^P(+S*a|Iyl uXYGb?H r*:hJD"'TpAtvz0% ) 3G)2ɒBňHe?hd<>>YYY~LSWXaf}}}?EIgggr|257rwz...~~~\adʳƞsssNNNqqqbgj===xxx^^^nnngffQVY䘗('(kkkqpqJIIιќ}|}prrZXY$&(  MMMKKKiii!,Q#B*\ȰÇ#JHŋ3jȱǏ C@?*R该˗0cʜI͛8sɳϟ@ JѣH*]4h*WkJիXjʵׯ`w>EeسhӪ]˶۷oFgݻx˷PeLÈǐ#KL"2縲ϠC>|YΣS^ͺ5Қ9 vM۸[,;#}zȓ+JУKwsl=fW7<(7_Ͼ}DS`KeC @vhxb?dy",Dr|=؏.T>ezRcRxSADvEiwGdȦI^9}XZ8㙀\B-OKވFA5hNSAd(觠FySyh6 `?CS)}i D'Ħ6*PI'-+fyiP*&B„)NVkޫCo'0k/[Wu"ip "lrW$ʖI\M!4l8<@-DmH'L#m )tTWmXg\w`-dmhlM#.8ex|߀.n'7ouu;ngw砧y騧ꬷߣÍ9qk,o'f^G/3LdOIWO=PhDo>lDOARڭ[r/3+R&Y8`p9$~o;F% $Ҡ`&8 ̊JCE!h& A"M0ۂ sЅ~|!oSI?Υ)qJxPR U QA`JZh/Q? z1*F<DH, )VTD(nMWjk̪K2p-Mpa zi‡ƒiq8۔8ז]@k.kkʵ4)`WE6c{v\BqhȢ-QAN(9t*ECمMBU[6%a99ɲK3C70Ⱦ>\"Z)#|2 =t]T.! bVrN̊2"}Dp]~u0Ib҇ĨT醉 ġd8Ѐ!3ZPb* P  󼅲xif@G`ȬhPQ4kJOlbxT(f(Mh9PzfG2KyQpGwRG w؃pvYm2Kҹn ݉|qO~u|C\j0 B{qHøRs |(}G?>23)/0C& T5n#x ˾}>[7?]B}8\Os o{e@!'ei4g! R!~Da|G "8$X&x(*,؂$z#x9|gIxSSЃ>@B8DXFxHJL؄NM:PVxXZ\؅^`b8dS7}zun4YUPtXvxxz|hJ 8T؇8X]xy#6Ap8rhXx(8UHK8Xx؊۠7Hx7:0 ؋8(8Ќ8Xxؘڸc h8?U‘Uݘ긎؎߈Xx7ȏ  99e6xxy " Y:p#*iii.Br%t:x7+@XxBy+ْ:1yo"D$7XTfp9a)5x P` x ZZp Z0Z dDr(tiۈ@ɔ8O6i#W!lWv'pr@cݸ % `%%ZP5p 鸗ٗaI5y8yy ` .o#9f#o4չ-"2+bqG|zgwpG ay{w5񙴩 ( kY%0 kaК %  ٌ  8 I ڞY7qyl Пlٌ- j *͸*vSyy-y/QYq03xyF'#A-`tyO3fPD`eЉɡ p 3Z 0 my iI#ڌa0Y*jڏj(IIɧ w*) zpz:@:8-9y.a23DdR~$s"ݱo5Rs):+Q%:J`q j(ږЩ vږY Z Y Yڌ駪9`Jٖ*꧞pz!93a\w2b╼wy/;guB5Bl23Ǚq8<֓z t* 鴯 %sڛ$ 횩Gی7!Jڌ yJ"ʪJTZac I9KYx6G#-'5n{/pP:e0wf0%15&ipv~BJUXhZ` 0 p ۣ[ȯ`ЌKg7ikY+:( KƋA*0AG|$פ2} %Y#R-R.oPp:+5K#*S3یpaSkʯ{H%w [ [` v $YEy:a0 }pp  v*JΈa, .0L bਫ਼4Ѿ/H^¹*y3l'H& Xhp zBB 22ӆ7F+h I"%@-BhAVHepr=t]v}xz|~K֓:eV5RÀ@x~j>;m7=mdL؋n+1Fs7 e=^-` [7؟7}.ќ׈x۱]=ռ6۠ػph-\t~&qZ#߽{9SI7p@݃٭!۝:31sO#<6[WJ7ZZO%ys_]@ߖ߹!ݻ }^} yrxB5U-5l- V4EJN pGsaC{K]Q eQ?ʹK@"Nl 'ppz7a2.y4b.q!cmZDcYe\$rBeBD"Z|A!P]GsgJjM,&uV#=偋p`}J)f@L:-\pGݣtsq uR[-RZV q`Q10vhS[x~: tXL.^1b]m~7vLx~^d`i!e7_@FuKT4k~Xnў~CVP%{7Nn7~QA~\nϝ/ED$?Si`^OBsfhD*f@]@Aa79/olj=9Xp`8_꘯r㠟98PQۿ8_dK@i͟9eWA .dC Wd}H?!AVѡ ?)Q!K1eΤYM9uٳ A%SRN%%dSQNZUPNĊ8`db@ Jd[+b̸G$M>e_&gP CqTgRKN\eOzvŲΦio)ZĨcD1tڷmܹu T(QHf&^E|)hզ^t]ߕ]vSۼŏ'_ߋ?{DPsУ?Z 6^^tA#pB +B #ϥ3C7 ĀkLSqEfohr/ڎ-AvD$Tr 'dr%c̱ E0\Qz"J&vtMz5b;a2<>q(?)KK1u8A`IG3KB{G8;Q,ХSAS%SUЗUDR|V\Td}4mSOE ;iOW V͉C}+qVEob4WpujW*@۔?c۽Y:@SeNqc.D! 3BU9r\58) ]Ԑl[a=vi!D"' /&YGyFZ"`ihsېvGv Oá>d9y9 ^EkhAel6 =ɯ]URCPuʃD+z; 9HB.K E,Ѯ%ȞH4cQo4ERM\3D6-TZ@I7pS]㜜9ʐB:d^Jd;,ڳjb9lB'?)OPւА2@$%A5!}'F1j`a RG$Db3ӈ~,KCSq4Up/~YP#w@UAg , Z/AL8UAU5e'HT³*Z˴mkf3៬ I@*Qs- ˿fT-iA26_J+w]g"vjS Gl,O)IP=GВs҉uj.%뽾f/ZK^ $ NBgkB0H>/dJnAw#s[_ MQ H`-$+oGE f`v0D̎DTgqY/K(Y ? {͓N?a'hIY%7=^즓͔eO J^k[Q;__a ǝr{nXJZ N5& M&]h)6bi#BxA8'"q]B1=BRգȩcZzHBܶ w]۶>.`[ ,M.y~2miڅS (񠇀7A덧[xr\={ ^ȟ]kWζ2w. ͝ eP-.qc.mN[A{ض;Σ5b0! 2 ;4 ds -LARR;5]HS +7+@szs!>򐫿`.hc9ӾȂH;--cK,cA3,4+A3Dî.ęz>l=L:#?CIÁq '8(i Ÿ67XGԗIė;?ł=+2Tpa6$Cz#E` FaFb,Fc FAub* ˮʮ),QcP*c'!!"n,| 6N$ذ~)ha ꂲs# LĻXL;Z hH,S!pAS\ţ"*H IDdCCK3僉"+Ijd;*ɟ4'# q ,@)uv0AҴXHÙ#z;] lC,r+#)I82gq|˸@'8՛1)DL",?Q%U{R{E"ab ?hT LV3V?Gyw q-#z0"@["G0.rKi;Y،hز|X~XG[I`u35MQɬ)I~*|=ŧY ;GYY3Hz;,Zc HY)xѤZ~ueSTXʁ$R C:,Q%!tVbj+!++G*'ɰ]]`N%FhLt`QKy|HaC>9]i'ag"aal4M|-܁m\-ڰ2!P>z"2#0ENwl_{P)ˌ5 40S2YDfNfܷi#_UU Ջ )qFp.*FlȂ޺!T՜ҕc}LP eοfhhhn*W鍕-$*gL&$sؔډ GmTvb 3/ !1A{BrT7^V_6S@QD\ih4haw >  E&Ln}!FbHGCivAK"Gl9M,u}{&ӧV0U Sf-HS˰54ÉX~mP8؄zC!g-g%Od츮 $ cnKnFj1'$q }lMEla0jviU _ed;n!' GtM*H&i1aIQq7F$^_6&F(QT fj[3m@T-U I00SR>9*L='d\-JRo oq%3=q3xqjsSq\]MOX3B[A)-/Ȃ?%6mAư!/0oq2O ;w4frrso\3>/JrT+LDorBG;JKs8`nGtt+ ns 8M6_]!wo{rGswtguwgQB&9[~fˮ*6KyO<'_tqk?>;~;;; ;}wVffnGNal\A>髿>>?#/?Un26&D^)Qxp88Er>"[A(xAua6E7~.|! c(~cYCYA .8!B3'b[Brt&OBwB#{ڞWh?ia (9ұZ="Ɉ9)@䀊8 |O(~D!mVܤXBj(>XC|%,c)YҲ%.s]򲗾.p<a7A1D04)iR,b`2gXX4X w~L"R'/1ҌAԨD=Θ0C4f|@QN_iΐ _X'0BϬÓM6{:gASǕ T*W QFd`~<@u"?zTU~c{r+ONҷ|l$ > &5 -( S03b-^npH [؁PuX[SOB )X#8^ "9).abY]`tg !$Zh؃o-\[OVo¦3G5bkjBg4O9؅:ݒ %*^(x=[{(IynM.NWyvyj` Ĺm aTҡi{';?o-he4m9N3_(?  тR هQ  EҮsM%]B* ÷$-gz( Oۙqvb Q9+ w[Q4A]um@[tU[^VtASq_DE `EdT\ *^ IA%ںBh [$\5iJ9A'-__ wI4ƅWm9h9I I߯h{Q& FU'}Y DL6R~aeE]'IAE&߸\m ER~Vp@ڄ9@4a_7U^G^hPA>j%E`X^Q<};z5#>Fރ\= R>`PY!:A!\IbDRQ} =VIf]=b~O=>)c2 IxUVU^%VfVj4j 5TaEtA8] uY:!B2^u<]:9!B IDYdCRѓ㒄TE ?ʡ@֡Ʌ_ȥ @<;bACRQ?>ɒe@e@5$JG]EDQ?<tav\R㒀kO_OYFiBf@_YG9AF9%<.5TE\)MQ_.mۓ(!ǍZ[BzS7@mEP%[%iBPU&|aAx%%U~^dh LG}hM;DFl.II~<=QLn⤈C&iWgg(Q=Re6O|Ai( 1EV/vAOB_Bhy%鏖UZDxh+iMyeUQQQJ:'~کz>">iJSY[w\QS &('jk8g)bE`k~Y[ g&Iɥ=iѥ(I E&)۴u[g)9Aa ?| "|X*IA:>^ƒb!{bbK?#9M[q_̂CxH,Ȧib%2S>iX$.-6>-*mE+e)ј[⛱nh_&Kg+rhEwQAMܕƶ|(*ߢvi%WhKq%_evETOj1nf)nBN{U^qmW2]`'(^ڜ֦D^ WFGsnVq$e{rg\hnd9kh\ 1DeTrLJf$O eG0nA+.1C;nDCnk|a] v#\sI+`ܶy´~Kɝ~jwSR \cΆW߯R - 1yzŦ\lrV A4R+Us޺|:n4cMҚ^^:w۵SPȬj2AeM)> ̤ZG5O7%/6LMռ+Ax{Aךz k;ɻb^waI z 4:$vwє{׺X0ttT\b4eZ(*=pv,ozgf|+lt|5ח;z!C::le5A;ŘA3 Rt!6IZ7 *1g'M[zԻ'fx^Q]eТ?aoUx;jup;{;l{||<|95>O6%߻H1Q']Dޭ}'l\'=Sjݞn-9m{dA"?Gqʵ<5ꓭ>!!7D @Jw` 6tbD)6я @91"(H2H?+Ytf̗qGd-4wr:)!~/$ijTQ+t$vSb:p䨐a DdO)K9TVƍ!ݡa,hPFŌ@9N0 Բtjբ3CjJ.1{;L?IJyf(0ξLp!GOftaIssZ;vHg9r<q`W^u`#%{;Ԃ.ai!~ڍ1 X8X#NK19hdMD(7 a! 2 - thi"2ɟ4 )",K *|T'ph~x/>/ 3+ "p+.1IAmB*D GO.= S$1j "ԩX4 SSQ9xQ#BR̵$ɿJH%#|VZ lֻ̽hG8.B\| Nh*֡?w4'b@ >¼&؄40I C.m0v,XS2OPV[UhAV1URzFh \ONq^9Eao#'dV%g݅VZh^m-X*ĕ883|6i ,B­'Ζ0) XH5[ C3C !|c_gdqVe6oqj&+Yb#rҹ#衉V|5:v맾ϱo35'`VKvVBK,=8͎U\gR>QS{fWm %{.ݫ7p]uh lk}ǹ.aw[L4l|.j#ͪrA?ő3 B:d:SfY9}t@n,2<FF>v ,a,>RĄ"ET4XɒuPum H$d,E~HrTxSHCT"I,/\$)(J I];W(D"ELX(L\BP KJvӍ-yH\,V lȐΒLg>%3O^S>fY(q2,A4)VȜ%yL鲝fXa" 'O@ {,gQP>&hMl^t?DD Mч,φFDoДt%I_p!X9j}Bh9lIURT6pTZU*i#F/M rT%FjTZimV Fխi%YW"54YWB,g`U/!.*WId)[Y^Vk RpGf%] 6V=-Rʑ6y = #-iEх\&Urv,Dݦ:UE-=gWUzެVeR_/g\` V [1>,a /;9aUI\b|K_1+tI9yc{q+ꏉ\d#X,n8}Hu\e+_F$ie/ح *b.׭.Ц }L+O̲ /d'e.B.2r",2rH]0vsf x #p~$2"dA"rS7a,0S"pS73xS|SŤRJXBS>FS+K31$ 4;d 2kr8d6Ҹ7< =3%O$ +UOTs:]% Gӎs?:D /$ @ A 1S2qA3s=="mBuTߐ3S74=R@ #!"#o sA:AGE!@;9v@{ "`@QFesTF=#4M{=3LlS4 >84kNJS2/bFGJ8` dq1 L_t%a( bܤEEAj7orT=G4PNO;>U;~D V \[`ON|'R LyP81?R(3Yg1:E . ."T_u4(2.b361\.a5'}Ac}(!V@ A4Do5&5w ݢ=(:rkyaF0A0wob\! b< 8L!f89B@Gw9Z^y8JT{4k `NAtnf 6WK;PzcRtEE;,C'&|Cd _YoyLh7)Foh5Q[q-. yà xo{wX`A%9u7___C"/`wl5cY"*Շ⣱E<ߛo 9U56o+=sAV$r[c e'ζ!huYe\]3wCa+#bFG=D%"vmlA|:{iv04 HYl P7b>Q SLiUve02vbbj!b2YBTP8-u[Wa5@!'ĴL,o;>sPsL̿qC3j&۰(F%.3]L;C~8E+ |ix A]ظQCYa 2G,7niM`~OZ ~8/ҥL:} 5jR.GwTԭ\:*KPe/ڵlۺ} 7Z"ڽ3b үYnބv rʗ9TI-s8 cXu)}?+R8vm&bvώ3qhb1wx N'dk=7ҲtT9o/9"F>谼MthQYiW~aiXbчWZԏ+O YX^{`\` VafRPws8H?%ICsYPEXQmQMVZBA}l8610nmd_HeAqfav@k2xi[8GA6}{AO@N0M|憒gT\ݧ͢)4R`UWg`?hJJa"HS,TaYgɕF ^_(: ,Jh hΎ&P4P&'aA-MQD(=i҄;DMENxIN\$EN?Yn,90 o,9Pz19 $|wTZx(mSGVV]iXؔBV]ݧ|'s`C} )w` ?Ґ'$' )ȏ^錒U>keCp)OeV_vxOmT.ϱva֕"cwUoKYQAM8D9&dB'J`J p%Ok Iф5%Mɐ$%|btҟa γ],4,J?|,tWP$>U ]5b5Dovo?D7n@:6,l^h,DxK_(G'8Ûc^"|IJ8 ܈OIJrp,rQL6>)rCD[&djgBѮ4ih Z=J|mie}0)@?FS?x`#H71`3@ p R((\zo^ /VI%+T&9\A p>ɓV(Ylx=cYJD-q:fO1gVho(1^e' Ƀ\$ш/t-a6" |.%%]4|D$,) J:6.tnQ%Q]fD1b&&ש"Xf-kǕe*w :P,L@љR@"kns''Ql+F*A !x֍qdjlX3 ي*FWafD2E*Dm7TÍEih >tۂ"юn +3 a6ϴl%7*./`UagxaJ4Bd!"I"v\+|\ obnvA}]ۥ*pA+ #cFxݸנF85 xrt{%_qMbK4Ç>cO .fvقV(wqnP@QkX_W3H&J#< 76ғ^te9+:xoUu yr`3c]!`ǁSbr7!w+q}*mՑӳ@ao~lsϤ SIuMHFlt-mmk=;/y}^_=M]X'9?ƿ3?P쟧?Ux1jvQ`/OPIMt-kssw2$tc&wf~O~gzn[ׂW/'5? qB4"? $}Bywу75y!wjڧw 8~ާ_K7V~!X5u'c1x64xkmH (sH |"WQwU:}7MYMDvgv]xua~Zon8ml؂rw6o&|C}nOᇤMxRx'&mƌe~!r`qeQ9p*g+,Ǎظry:xf fP;1?sHs)Ii' ɐ  )ӐwxɑiSxS"Ob')*酱'_qJ鈍`7.0؍ؓI+:4:؎/AhVpυQ$>;'f 1z[xihgpkɖmo qriwq97W+ ){׉g𱖥`p8yRkYeȎG(%Q7V͇#H'%Q2!!``ɛ雷ۗIvIYɩk"ٗ)I(蒤b٘yXنq n8q8U./?N(6%0Q0DC$0 ʠ (1Jjep !*!ꡡU~ ԩْ9{,ÝYᘓ9AGalٚJ1W>aC :#1r}e7 ]_ a*cJe xij|m>1yO>Y77ɓ4iv4y;=Jٔ^[b[ դoAN"S8nGC9jʩWo*nrmtZAI薧6yb.mvj$B1M֨612CMz(kQ262٪#Y76zYq aMBD+F[H;zLK>jPQ`$['ad%S^ ` x c*Uֱ_kP [ &@v_v2'BB&du3%+!({ɸj˶hU{POiMoTy] 1aP{ +7xe;ڂīx:u2CZg}1΋!Vp½[UAѻ.Zyˆ۱8j+>!'ȥ127MQfS #ܰ,P,Fd0Y+*:u:‡I2[$lākߊLđ8fU۫kşQvعc,`%ra !];p|/XG^޺tQ~CM Ѯi o#_gķ-zrb:VAɄ.yǥhx7e6и ȶ,L9vo."(TY }=%_ 3eNλæ MA1%xx@Mk[0j>Qu1Y`Q8W 1/o\k,Ч̰5m#iDpFho^k7,fΡ›nK8k(T g"tos<3mrl>i !`%']t\y|=eY.FUY lŻZW]\YX&`7c=W6 <%V/MA*M}pWMLfM؅m؇؅hTC`YB04qꮬOUkbk׮Dts]LnւZ 2 ~^fHW=-ֆ>Ք'_|"ծ77<,H#M.|GJ9|r]:y*$$ k6Y,:/<H>q%S}eog?T9WB? !ȗZOrj"?D`S ncu?ɘon})c|0Ar?/dFx~& /Є!riOQD-^ĘQF8H%MDR%J#AV*SL5mޔIʒAəϒD6B9rd:0꿩U :mխPf% 9FI6miW\u1H}m`…AhLButURZy ͕^9tcCj+m[lڵ WU4\;*:/dJ/NYh+G+iQűz5i@^zݿ_|ǟ_~3އ/˷P"AdAPAĎ)ǎbH(ӮCѢn>L,RRdE_1FgFo1G{"$0Ȕ 1ǖ -!(x+KA2+Ky)͔ .4aL2+~zhG=O?O<'HCI"PEM2(T/2tʫ0!SDTS03+Т3:_{NKW_5VYgV[o5W]wW_gՎ>m"5vFyz%%mҠ'+SM9SPm*R55NAmC7]uם\ M6Hd5tٕݧHJSl6T6pCre7b'"w#6@z wc!U _}/_ v:oK=uNrboY/c:y@SY~\-K|ZJ3,(b&l6[Dm߆;n离n9-Ƞz'p8g‘\}yWZ%N偹'Dc+PG'youp'_'kyDA\w3Gt'~xoVc=ؙ)IIn7DQ?7?9yBYgv)UY{wo92|/RMB7Edy>hCV.,hi [S FR3;؂ƥi/H'vAo{Y@1d4VB "24" 0^;d_$E-K,#o= 9e7 [Z$-,n]/ JP!eh_K@Z4hHʀohiG#!%.4ոֈm.Eks HP#vh>a0  #} #\8D&BԸ):ksd-prإ'G>KQy$oѐpQ.Q~r:+X%<1'F* 2ư>b`?"Y#졽< AjNnE:$|پy~c߾M3,v' IyЀ_QUv @}4@f4u_֘zs M;$b#;G~veX$-C Lя?PfHy6{z"ۏӂ$vrn&i v@9>7np殺<:ҥ|w-r7"֦]ug()oҠ(]J+$:+9Gnt*OJ P 89N~.Dʋ %.@L]UW;n cl}B56m{| G<5ә7m#4 -n~}E?zҗ#H̐i/%ihߢo@q?^5hV4G57?|W~wݗ> 1h@oqacwnI  v6'0g H (HP@`T "H $ t5'2@+̫5J{rC/fqc15"< ; "Dl$d&@ L'<2 KHI1Gk8S73D@{~ }x:< )*C&=? (@$Ô:W,[=]#-/2>.}9.4Bd3C[IҮ-NӕxC<-pHH6K({żOT38TLE :MU|C1SջJ)~`:' j331<"uTU0EN+VYNxt~ʲ7M/ T] ЛVfUNuKB2,I "V,4{D2|{Uz׀؂Sd]WUXC}f4TS|~`Ͼ(FK [Յّ%0KѥuR]' uPb Nsm,VNNXR$̢P}ߕ])R P!`,臣~`_ .&`!"J/`p;) !.8xS +`HZnZ+b΁`UR!_8 - )~&t H_g~PKLMNOnOQ&RP6TVeRVaud. R 諁8)0';֒tj X*$0A/x( (\b H?΁.e]v^p(3"fc7z2~?˂Pfc7 3QeqDz#nd J^hMFUiVvre "B輨)8Hih'0d3#i6fa gtbfvH hin.VI,؁&x阞mj."F AF tZ&>bcM `@ c-SF>窶٩kQL6VYkj@|rNtҊ"ƐuN-~~'Ո,`h+cVb!h@m, v :bv[Vi)i`v^/A +gAnlvng1"a+m//i^αH6>e6FFX6ݻfml(Łb6hilG1 Xc.jն.>f<coVlDfZcRF/HnFnj.dIqo% V)k rŖ墋f-:)gP m/n6xfpJ16v`r*'j6gMLB>i/iP!"rn_=cr[$&*Z"htfR^A*$o)f Z`BH1ۦjk*~H'ѾtO3/:,vVF ogNtg )Bft䤈uhEKt"axddKqq*, ,H!,,j֢PO6i)V ),0@@wƁ`9tmv5Gsx `_~މ:'vh`-ja)ϋ߇~VrFdGu?uN?\t)( o>f?a&g3gI/$w%i/'--򜎠'}/(=l]{)4,fG| j^if' o aП}o&F}W͗N'z"'H0x '0mʁ*r&w``8ߌݧa`e_ Nsې_v'p "_}AHĊ%2t0I#Scd&OL@[G_v_9%8Hq,W+Xrɿ-8|JV))Ϣ59rkfںq@ѸOLjF LpG?gaL,]ኑ%^Сˀ1լľ3hbȵ%Ar(\i܁.?qd۩L< ԉQr 0^U 1`~_rd9p`6 x5}Yʣ+"ZgC"h1ؠICEaFaH$IX^qG|4R[Xa֏V77E\O8ňRG-VDbi7^nO;pc?0GTfi%c_:}~O6`&ggvDzi(AZء?A'a@Rs1gsDOd@, $t)eAnxjUɸCS@jXEzv_.ɘ Cm~~V ᤃk(!Vڣ#(PV<įM EaTmT_8UXfū@_L9DW^N/B9ai?OijnDK.d-&[(F/fk2ahiPRmq@z"] CQLKeQL=_ȵFLWf8yW^lBCD4Fҡٴ DNh^a#DPRw9w9޻X9NSSYa*~!E?N7nPz_Cc#G_WE,4(yV֎9,"%k[jJLo GI:ATNMV02!90:gt?z"s!/E\ /֭je5 zh gA5 Bk2Z KXX+.[+i;E#=-  m41c 9F:r<HqQ&#iJޱ5NqA"( JR#qUA4RtԽńp<AG=J 3˙diLhN&3uerS/PiNӈ'9DsE:yKT4(A҆"4 -AЇ&ǜ#Vubά6]͌ӛ9ُrjt}gJiRJa96QL);5*QТ"U2ERs5ՏnS"S]N #4+3_ΕӦrNu}I@J׻Ӯxݫx>8PMU`"6%[/4MP,c!Kٸ4ֲmi YN .,iMsҢ!rll[%S|^wK6]H|#N Knw86Kk]Pwu;һ5x^>QqAG|4 }k7/{80K#X kD.'I"׏%.RR\ $vG^ &~y n_ c7h {AQgno##9J^2'C9R>PM ЄHl`#q-wY&*p5cyW&31cYj>s;yr3+\fpM-a 3eG36-adM3j풺Ԧ1T-n5Fkip{BgC@`!8gHv]3 FMHmlyh^v3hnv=c Ж5`e!-_Ii+IQP<oMTU?y'~Cwzum UѭKN6hBޖyO[>b V˭nt[Fʑ-rއиF!5Al$$Kx87$[[w\}knym r?}s<{>«>:פübx!7ba¢9GMNY\uZ^]/:y\ž[){ zp}AT sH I 9zޚPX^d`-AՑ=Ax^\r=[\LVZ X2!)Y|Z@@Y8Pq&_0 %p@H(įcEp֩뽩[Ӛo=H[AB35!xY_A;%qc[ɬpwqΰ0N+/!/`0ߵ\eq O!ݳ)A q ;^#! p1qq˱H^%2Qr!/["@(hB]\E% W23*jb'73] (_4'O(+tqQ,3--ru#s-2K_CsQ3Y3 ;󪅲xaps3|ss1?=2E@$3.S^==\3p?{r4tt_ 2h֬NtOOuP P\Q_؂ 5S#R@SU[R_TGuS'-@ (D5T'5RR[Y+NuV#5Y;5[@ IJJ453G4EksÏ)b3vc;cCvdKdSm\]fkfsvg{gfoJnru^i_l@kpMGM/am601i^q`7nj4v556m37*nSo+t ^7ng&w.ws7>7t;pirvvq^.6*vxӷM7y+3sW]7jwBw7w}#Mh3x;Cxhf3a>);ط7w>w}냼x~7>cͧm/4XKO?=˽:Cw?@1_ASaC!>$HD#*cÉ*v0Ƒ'1,>I9fM7qF4HN;dД&&҈C:t&TƼjQeK0;6,О9j%+3kǶkR\(n};`ז/>j^7͋1@˗1gydY=4~Y~Sn8"m'9Uco߿nzrҬǶkϡc|V9tG[lqǓ^X/X3쳫WhaN#+?4I4kв9PnOoI ݳE0I8J@ q#Ho!z$FXt# Sd7'(ICp mq0,ҭ1S&&5D1:.2@7oc7Rk=2s&41K#eS0CJ:e60#I];:( GUP;D8HUUYmWaUYi[qUV!@Wyasm)Z]ei%@6Vgdi@_voSsMWumwWy{W_w偊.B .NXn!XbPȁX!9xIn(YeO'ENbe[~yEy0 Z衉.裑NZ饙niPZ!~N l쥽l^۞;h~שּׂl캓F^Tǃ!AW: sGt^]iSu]:s7ϻy{U]h?䋗|֕osS&@4NL 5|OPW+#D8o_ п}QA##B@@!IP~8~ ? R0`ABX~p~,T6ư GCυ;(C8La X* l`%*A"9C,n][?ψLb޴4gGg*\\&!CQh/& C,[9@2 $% yC F& )IP&A N&\e&_O2O+}fg\$;ꑘT L>"S?$hL`Ϫ)lNg5ͼm8S goNs?-iC4?Z #3̓zџl&G~fQq>#zƆeBFK-3G4Bn>ԋŢKJ@fUQSd,IhRڑMaĤTH\sSQd7) xԓ捦H*`NjŌrTZSZԩUUU HfE]9TU[|*ƊժnL+]!D՟PA8 =K:pHKHOg0nȊ@ {T&m],bFPk?Y">CzC01:˂~@e`™ZkW? knKзMe,8:B }@P24 ?X?# Ȋ $Cg+LW~/oX_&hbX,H)`>06ص PZW~N 'QxU,q2AurK*#G X @w%LF|0y,t[+0[󋃛/*,˪ ҹ0+x eF  OLPԭ(h l.2A4H0e3pvG7@,-%{[ HFV}[FTِo}?"ow͆GPK.p_d'撬=xnj<㿦뷺;޿ H;aN<3qB!qns{ţ*r*nM'r-(Љ3 =:9|޳l5ctu'&yVh3/|3޳lf'1%Osg4ݺ8vt޼f<㍪Oפ5qrױ7SzH_wG "[ouM;svP%lu}*\юO=Mι{QVH ʟ\(b,$ke6#YH,l?. iRү/2h)+9NO@~I^hC7<0*,9o 8oP/x7:+ŐC,040R`+^c`/8gJ :(~Ƞ9 }cb07OC u 1Є nHXmx"`W9 5 K+{F {Fh{# MR7qP# u0 3ri"@X@  `.Q!s 0g>g+x K> ծ7|0P I&5 nОn(hGL#gX!{RFL' F:@Q~4C7ϢqkP!Ћ8FTQ6 ǮZp 21 ܬggjq&?"CыN#2&f"}1:%%h!}Qg@4(i2~J' ,!0(](30" AG`)R -O#JRB kⴰ*nk+1+S~~,kI--p<1g>:VSRVsb/~`! о+l+ &~&-2ӱz4IM:󇀸s 3 G\5H3#(! >Ӎ2]:'#<;qjo*_`w) ?G_t2ACt ' ]",  "GxP/+HEESGZEOt@AUɁvq%/h܀i@0@ |KK@K@ZF!$.l@&`LTK@K ABa|5m&  KtL'L񫂔0s ?Wc!\-D, 3$/c@FB3>L!N  KuViL1 N@#͢  VuN^ZR 6JQ!PZ-QOA+71-&SW mSLp@اxZvNreY91 lQei7rpWHq O\Srrs@@ 0 s;HVu& W}MPaVtŲBh5L47}_aPZ}nj|7}J`KXW-ouw\^ayQ8jV g (j k7z@`@K[ZWPtQWXvVV'+^AO{}􈏸7wՀU}쇽4@}5}Xx{%0u7_p42E #QyaA!~\_9.kx_Yg TY'&K ~|'` vVzGv_!K b75" a4lpfBK A"X7~+X4]i\F09Ynwi^J/\sL89"X6WATGLW˓˿ls<۴I  @hfk,! ɍh ~,jYxUi=wV l!МQTkwOkRa@m_}7Q{ @ @M[_DCfkAM!KJԱ&s+`'du58l?vי =)y9TvXgLWyb  =`_K3LPc`w:㽅wp'ݝ}fk][&s^h@}ɖi9VU > =::Zs^~b)U}kPC>[xBh<=?F!W<j@ ¾wiכ 4W  I[ GGCb/O0IG9F8QF$J2t9F]1j`9^?ueex`YM W< ^4s-X᠄zbdiQgv쐋;a)nKD)1= .!87Q¬ntkHhjujAd'vЂf*(NQ޳_&pcs7-N`@RqH+D}*[C?-O$ªgs$1ckk"ajs CG(?GSLd~)]&a=U҉ $ `(6;Ϋփ"WV~]o;RJŬg1q? x<@2&ǜ,o1{a 5+R9Rs c0XJ4X etd^XEAN?nc`a_4~`ݟߚ8+@;;ǀ:`>S*gv CA쮢%?(Ch( DP~С? ̠O4A1K |CzhI0kDA|w+B\=)L'׀,pMvPbVNYB@Q Zp(qOޤ,z tD`!"0 A&+ D BE` DJBb)O餈و{؁`=T?\QLM R40 !pRDXFIA* $NӏDrlG:@7H'^  h-oRh@a"1|d&sH09{:t `dHE+J_3P[zХJ*8."G4uq=c04MPG:`"1mZ)y@qNq}B!O9a ? C` ӏT˄gp?;ޥ + PJyOȁ%5Pu?"Ӱ#d#ۚ %qL1&K>;Ȅ?4>A/&F@'@W{Vx|+$ 1 6>HPΒA=nhq4"a;A!v-;d-C$S&6!fdbXqO59Қ4Ig` ̀'d0lӋ`Vs;h#$Q.BqO,Nn <% RЄc #t;뎸4Iv]oWrpˆRS/!zp/ xo>?"6aPaB "QX>1f+ElZ/X4l#>"vH%r|W/eK56Z?v,#q=p*vЃ&im` V2Yg_/Q'?${s.rJ ~߇Ѥ 4MJupfF o:zL`ֈC''+ =X'p~h!"ҰVZ$(!ZkZth <= 8 A1v1+tGw $Nq\A?{% @nsB覫=e_ߔ.Ysvp`BP".X4#;Ԯ ߰" P %A_@47cT@B>xq$A(Y|(RLȣLЁ g>;,y$`y c'}pM >@J `Pp pO` 0 l||F~r {ׁJ %x) +O185}8dtѷy @&*Ȃ<2H6u߶e$~pXtQpf~C0w(H pw QhKdÐ X a GPWTLdzF vpyXȅDH  ` PP0xQzgt9HM(HXfi~F`WXZ(]Xh(ෆo5t8lg RD ; h yOnEx Go yqA0P׋{U@c:-w{G PYǨ0⸋X|E Д u ȊD  >`O8ʗ$0+yO$`xzюN]CiH8*NpMrFI`֓ac/2UoG ЏH` |*A琚f,ԑ9`l}* ^` p \6W-&>P\:v{fp[:"Px^ً$@HI'l`]hϰS9DȖ$(c hN]`C ny;pMN^/M <9pMM; zI:Z)阏I b1 ə W0Tclx4 0pYZm& 0- 7(G&b u{ce }@Fpp` @ Pp` & !z0 $ ]6 Y?蝸p l 'pE0` gP -i~ưeSH2tthNM`C6OQ`CkcR #YPCMWRCjJȡN>o` ch ɐWc 遊MAŰ B1` A:%/ 1dGW* `  4Ap@У`:@ P NJ  Ⱊp plyp'0jvT P ^ ڎjcCH3_9GIM%6zg:7ءr>1Gx(^Ph 1 1p`LK3 09hv zG${W fP .nQy$ v0Lۣ9 l '# f@0(T)+QzO&[˵)!qQ;`NP/XyDl#0aWq h%}ߚ{; iɮ  6`E{rAc\̟ Jm` t1)p V qp |l0'&t`! l\l;P z B)IۯZj+)n-}ъ\n|6өxp@+Z@o 3stԚ:0mp`:0 K 0𤾨@e^m{= g].ad= P mu . G -Qo jXPP+ppr`QP~Wp%.̰ ~4Q~q!B^.02 U> %s3@PP ٨؍ؕD @Piʙ>M(D9}`ۨL8Ѹjc6p`!.qHd:ӣ,әN ^R`^z& ga<+ДN~GC.Їw~~n0~;pi}Pl8Ӱ"rjip@p}JNoΌp)@룀Yn{#O!Ǹ-[P G`i9j{WL@ `&ubڂSN`p=b DPWI~ Aojf H`8/3uNy(ĀoK WMy亩^-P[}_DDlXp?nBr1Z G*p p x}h/ z@]XL`We\1Y 5Ng_02 u #_I:hNG.9wN1RBi, \U&͊ Q4M>,JsǏ9NC %ZQI.eSPFZU)( J#aŎ%[XNe۶(ܱ5 ymE_ݹ3(BZ9O~H$ pЏYDj~$<6O^ %GER1_V ?LٲdNOh) |kѢ7T`… FXbƍGDae3ѯ^inʉ67ZtA#Tj* +D +¯0-y.>TqFtXFy*! |A#b(M4L !rd ~$7v7FnOGvtG +觝M䣌D'+b`d 4<O dla B,= "0҈#bAXa~xbI&lI'^ǃ/-uVZ-V 1jW5-Ab5Xd5PČAx@W_[%dMED#%Hl9`~ ~B4:Yr(qM䩾MD~x7o[ wrMwvC6`ԓLE&}Iϓ 9Q=J߻T~d(5(TN%P] IpUziiu)2Wh?Lkqkalk0{饏2V@:l&쳇ƛ>0eڥ) ը*.r&ѣBhLドF 62CdO|#66!q4}b/Z= J&u<:`~8xDUi3a&6|ZF*7,m??cH q 'A7CdA l觗V@~w/C@o XG8F)Ph>2 '(@Ҩ$ |f_06BKFAu02)!'C1VPgpN;la9!~;q (1幬yTF& }X:O >Xwx@?D@2/)K%әT>L0'rSV%Y8amPeϘa욪!0hxdza*C@GR/׋ZDF,iQ%H"Ų2R"udGz))$P_ }\3>9,ĩTM?{U=axe P~86tDQX ̾yG*8` Pi74D&(+`lwg&W%oy+ތNͰ,Z-Ǟ Jū~D0{{`C5Ad BHM,9kX=%"0@ Ű C91c3\)(0uW'K#n͗  C&r|d$'YKFr2ԡ ;oɛ[/ Hwp[AS_rGIc~\|lp}a<67&p#XP-}iLgZӛg*EK T oES=A ,X#ǃPaԅ0QjV1imk,YX`,N(es $OH9@(Qa̸LHQpMRBi-`p&0MZMt-~NCBt< K׏<qSЂe-orTWA?H M4µE!A!Ȥ)L)0G\6$8׿GN+]x^ |+qJ>>:::pppwwwӦ PPP!,@OaH,Ȥrl:ШtJM.n xxL.znF!~~sY[wytv4 5õ5ͱԜۇʍ7$=@P|8TC-`at [R#AzlD,#Kڨ`E<#;Z$0lDЉaTX( 7\eVsPpB * G  @#Z7*V,8 )ԭZ'cy7 obF>+`AN sXp:*Q_ :B߈T %gL0?kZءkH:㝭FxlX` +q Vmy UQXGzeH`kM%%xC^%hđDleI,T Q9r!o(V7vuEGl]aeawdft[88SEC@b HPAiod1BGW)Gyw%_H!T[.)@{5"@t4$Li!q oH %]SbRUP=k)l]&9DA6T]0[j*NYS6iI.I7N.+TU'(9I7M2i% Fq$ǬCb1+N'gF[ wđ,:Mm9U2-5Τ)|3DCsḦI7mNG RWt4C[5aTo%]-:afv@6n=srCwSAA|߀.n'O bF.Wngwy,Ȕn騧ꬷ.촯nNo'YG/=mgw/觯>)Go HȂ :'H Z̠7B D=H(L ?یp0 gHC 0>/wZ(0ABH!~B"&P&.0 Ȣ.z` H2hL#YA*Š9dEG:u\DqP| IBL"F:X8BpY+@$@JZ$>8@O4 RA3U'eO)Z yIT%+L9K?H0+ILcB\,Xg^٤3io"㼤7i tnSd'ܹfrg0YOr38C2NZY'A Oʂôg/M4?r\ FJPҌDIppXrS"`O0ZPg/v(%=RIn4MSC4,L4zϟn#Ht]Y% j8 XUS34DX;!*r d@(=+^zF#%_"L'd`j5 fXA0P%Lf3Xաh-W' [pvzŦU>mF bjq[TէpKzB+-u5]w o ^w-ox{W2Vkf%}ߠ׽#^;6!L^ģ'L d, x GL(NWl!x8s+@ 2'W:PL*[Xβ.S흱Lf(&hNsϬ6yl~8x K`>π ؂6RN>R9{dFfv/MLzӜFD+_6nRw1akRzƠ5dmj]׺Տ{׶4~ajUSv!0R(H<##p;~@WJ%D~u 󈢔$ZTЛR墏XWc*7w8Rn@%dj"XľDl[fnnp"8Νp/Yn Qe mB $9a- d$У@Iv Ih'E-?8s&A0 k҄ hSH.~CDiG(@Q/kM]ՖGp 5*zɪ+x;N>-r/vWuxOTfI K̓b7E匟Lbrxd@#j^y&6Z; 󍇹=Ci˄eآj&M |ұ TLw}AQ,<b)U 9x|w*"~ ,w}b pȡ! ~2!\Pq6yr1,P)qwvXhb3m2+dy{!tTg}~0q!!RUgR%AuLGNWX u\p%`ga7{"%t`~ul(dlpWws$#1%Z0 qwsY*GqG2lAma1'pn *1#nܖnqrlVmVgi}jz8dÌ؋Ә8m(mvۘi8lkkHkH؎ȎVxŤE/9Yy ِ #4dY@>fّ+9$: Md^,ْ.0`vkg6ivv:9g9>f=B9fA9FDEyJf4?PR9t|Z:Ä%bY;Mcyh:eIiٖnlr9kvyxz|ٗ~ Õ980٘3!D-}x X@)%mDBٙψ5wsi)eRy@IǸ4ٙI @.}{@~@&_p| y`'R|4@iS# "now<1rT1-] BaEQ"*zgxОr11 nG5xQ&a6-q$8*ua/(y2Xj y~F#VU/̗fZr$m} >ξ^ q҉ 06[ c,_]y2meQ(w5wx&JW')0)jwp"qˆ/g,5{ 8y)Fa!b#q.@)RWq*t=Biqo'xb]Q-GX]qǙRz{Nn{b!bv1ZǢ#q ZG€ `pQЫ^ղ ̽N,L^ :vN*Ȣ~:ղW4agXQ[=bN`vR|%u,ܨ%$ķۑ.9HUAn ъ}"sRGrhraQLO " {puڻ03UR/Go][oi_Ͽac८`&_m_oO_q_s^u_^w^y]렎?3}9" 0?_ =ݜ<;?;;PK"B79QLPKM%AOEBPS/img/cncpt303.gif1`ΟGIF89aT ???<<ŴӧPJJիXjʵׯ`ÊKٳhӪ]K>-eKݻx˷߿+7È+^̸N'- ˘3kYs;MӨJ.I9װc˞֭۷[ͻߤmȓ+g+wУKyԳkuػO|ͫ_ϾW~*UINS\>>E[ZҡKn|pdiT>^$SjY ZVҗg(QD1 XjA'8i:i՚dA"Q؉'{bʔ[Qi*{G_~" zbƝ{E9Ŭ9W*Uyb`@Q)^'XFY`vtâxB.SZxd(>pCһ)`^~ȅ Vl' 7G,Wl'ÁqXX$l(,0,4l1Whp-DmH'L7PG J:UVO Rw`-dSrMp-t'e6VaS[߀.U-ކ[7FSO$ w8YY':ߋ{G :noJuKyЯV;{߾į޻'qP x$08@P|Iѓpmot<~|GI, @RGJDDuEt!,}$a>"'I8n| `',84Y$( I  `NHa B0?_KBAy" ,B$ 8IJ 8Pp<}S '>B~طG<&%$E`gO_RO\!ZyUR'wF.J0EA =IA x2-N YK2 "U20)|YH'bġCbbRDp0ܬ@g jE)ϐ7$ O3ȧ6ΖuK@ b2 ;cԈzN_EKd[A}d9R9 yz0 Q(!K!FPh5-LICF LJVO?- >۟$? -$I1Ekw,QψɰQEM)ld):aG: *|s=9b оt$dF?s@z]HuV[YWi$,(T)RA llnI5E`Sb|Aϗ:eQd9%G `~V l^oھq `Lի*,P!ylD8݆}K 9|ӍluB,s2[<̿wJi p-KBb Np KAY0@d01fc e%vq.. ,1j}|=Y];K2yfP#/ + OIs试pgMJ/{&mN{:hƛ?Oӡfۨ5VSѩ>۪WۺxڬV[:wڮHNf;ЎMj[l _MrNvMzϛt^ݔpNpt1~YXD&N[ϸ7{ GNwηp gN8Ϲw@Їså;\s;PԧNn*4{`~u.f=[Gtl/;P^g7\qCx..8Cbn2L &H`Ɵ ?G>v{>SaD<7 z >a%_Wϓ} /}۾`b~O?xwg>w"kXCks|w0i{[S|~ApO7|BzG_7|}}1z'z ]]~WuwvvwFufoP{x.z({)yq xzg7X]@ ]~xRrurJxxe|BH`GBHz) I8'& ce8NDŽWwyyyrtsA( eps7]Dx}ǃ4|ᗂ[AqBGchswx'4zljNpkHH efa]k`(s8spp 舩؋8tܴH4ڞPڕR*Ti_aVEAt^YSYE=3?S?U$ssJJʞ f٧y&*d`V9W!Vń@YEIKKզ=ZE4uکNzyy {JBYeIBDI!GgD4 `)4)b^Ui^4z#ٚE *dSN5F65dQ43K#e@e#FHY k=(bjʤkڮZW*7]g:ڤljɉ98!#!gk$ۡS*Eٲ1;#{–=?;1-(iG[I[ZyU:Q;Sk Y\h7C4n;2˺4 &czo۷~[29C4Agp&( 9;B] TC5q˩ VXZz=ccY*J{Q|rĺ˚; ؊`_!?6mDɫENIvB[4m PC55н60GF2!`b7۽5л[{;F+I!^]U 6[4F:usӤ@KTG#;;kJK*;k9S| DW>4tEBvC /0N܃?SIK{DB3@Ie9CE&f=%PP\Ez02eyCU z*J R*,&@?S!Tcejm|Bb eSڶ* G;JL5LO`Fqʭ *쌷E;lIK+ClQ:#Av$c UAH`PtLӬ|?|VXI-H S9bO=ʠжRTOJjYKigckT@TE@ugD]L|GTBm[2UVXdU[FɄsdWDBB,-Wt\4CDG*5ѯ e,җʚ]<\!ܹ;=UaawKPkғK ޼ lmޒ ]Ͳ S}KWk]E-XGc&B*-68 D`=tY' Fu̷U6 <][ 'ށMM^3BPBzg`0b?57ୌQ>/TAETpVN1>4P6ci?HV [ߏ=a̛Bi4:5I Y1IcnՋ$ ?~4 MgLH.c|O?5u^嗎WYe>;\Y^@.vW EDz#먌 9%NzZ 0M-P\ ]~MλF?9ssBړ3#V}N Y;߁M5-mX>.N;Ӵ޵N<<׮E t5N^}?o*)>50׉5:.OoUFUE>CR&aL;֞To+/@b F@:ӋOCp@"o#B 5 GS6,S@Z%AZfE?{/Z\پV.:ф]X7U;=AS.BNpEy?eׯ)B$A+E/a$" bC |TCH8S!#N)I)UdK1eΤY&LK~zpOA)@DPBfcO"*DZUYn d':0 B 00BP0 ->|:ZF< I%O<9gIO<+o3LH`iԩ f5a rakVc#uV\wD#.mTTso]p 6ݠ2Vᐡϧ_YE,"uN!3@b|-[ 8JB g2×{KAS͢s >A-BѫxнD$=03tC":ԲSME,Tp"0. ,!̄1+> s%;sOlhJL2KBR<$2"`-P *PTI`M*40U3K37ٛ-sVlV\!@5 ֵC]h ,`KmVg֡ 80H@M%RH[R e]c^z95W Պ[>(@̽` qfh P=@3c5AyqȒB#wele1`xj  6:m=V5 (uOQa%{{ĜjDA SE+0J㚻`?δT&"c7ewv|iU{s=iq``\MLMG}tqN! VG';rᅯ4}Ǐ.PeT9}Y.kS염-Y7-0="\b!k9hni%!ZCBz+3rQC$bxD$&QKd94QS!";̕(XxF4QkdcF8Ecx+U5!+/WaU"D (@dd#HHFRd%-9:n d'=<pq HSgJ 0JXRe-myK\~!e/}I@,b*Jci2$D\KhFS,.BMl2q{b2O)/=yVT^DMtd:)ms'YO+g?]LnO@31S @IJzB(Pf* +jOpIFMz #EY:T їBǥ9uNLg})vZKmPITQRz՜9uTiH!}^@!c%kYzVUkek[VUsukDiSb~ ^a*3)Y)`@a [&VelcXFVle-{YfVPWLYfsZԦVemk]ZVmmmkۀBtnRZV%nq{\6mqzܠ)ɥnu{]w7g]H)" oy{^Weo{^Wo}ۇ2~k"^}X&p |`'X fpQ>^pq` gXp= B’A? +fq]b &LiJ0q}cH7 YKfܵ#QLiMpe,gY[r _&s\Yepf8@Okbd;{kg;z c=@hDqΞ3eG E9'C@w&bes)#-Op bFC8o)Ҟ>!.)W:p%SSX(<2\>a^`[鈀 38 4"PP$! D:5+B? T&,Kc $;ًdk>!Ya0پ?@:È@<872̯CB?? =\@AA Оc(ܹ9+80lAQDFCx`c4REmt|֠|#KO UhKx.JHQ}KfP YՐY [[YZ%gl ͊\ 5JX4ʧYZf#tNp®tQEEy[ײ:$ZiVb:h`{5RJq:sQ\̻ǰG-KӗYh iW 8+,\҃ #͊ej_K[M`nC]XW]a>Uޓ\8 DSWE NQVڞąaBceZ[5eFqnjAHaY W+F ּ`5-`mV^b&n6iT6ٽ_6756<5d!\ .^8^fa8%P#~d$NRcJvۭr5WM.VHOPJ4S'Xdn7e%e&nb}o"eNҌef d~f%zZ"jfkHIeճDgern#H=6EuN֯`YJ{gg}g~ggF.Nh35(^A00hKhwNxa좭4iu0iPN`F^ahQ60v6dDiiՂn׭innn6i^"晞.jkk.kkJ8kn밶>kkfYO辢n2lvH.B$+lnl.~l˾&;KlЪll~1޿9Hm^mnm~m؎mٞmڮm۾mm.;n.n>nNn^nnn~nnnjnnnno^ono~oooooooo&Ig"*Niyfop:ppa8Pp* qp&qG)/og_qZ=qpq/O ~ޤp!OrQ;qWr(W"8+$r,gwq'?r0oZ&0?srrr4ss9Fss?srp-C7HtE_tFotGtHtItJtKtLtMtNtA/.WwuR/uS?uT%6rQOuWuXuY['tu\u]^ZP]^vav\u[fbOve_vu22WphwasiW 82j?jP"8210o.(OЂvtn ;9xyvur1ww:wz{1}~_xau猀7xwox3zx4x "H#.?y^yhyV53* WޗWGzrx g#-G#zzU*{(0{|z& gWx 1Gsz7{_?7|Gį|s|ʏ| |?%8t}}/}?}O}_}o}C{||ȉv}}ޗ};}/~?:p"0{~~~~~~~g~c|w~T3oO8wg'P,h „ 2l!Ĉ'Rh">#Ȑ"Gb4Jl.gҬi&Μ9'Ё&Sd4$LG2mΎOR*p(ѕV'&+ذ-k$֔Z&-ܸʭkɬFﺽ]M[o_Š[qSÞݨ2=k|S2e=.h+ڲزm"huGs#-8iȏ{9tʣn^9&7JΜaƽ;|j믱o{wo+/ܹ? 8 x *~T J8! ֠H)Tx!!8"%x")"`I+8#5ژ"x]!9$Ey$I*$M:d.ȔIOZy%Yj٤:N鑆 ey&BFRU&qlV&Bcʹ'hi'Pn9(N Gxg:jd[H8 (vȤ TJ1)}FIԧ6]Z*ov@JO*QJ $80C&4+M @d2DV·ɒj֣@%!I %~R|rAl(뒵t L~ON|oDv`I 7T+A (lp+$!Pvm3 yn' t@tV@Xkk!K2<ç wԟpJY_A \ܭ1{-pr,3BڌsCbpAr l!p -9lċn7JO=Ů<ѮfWMH@&]u#c]18?%%'}'ӍLEbِ&1c[]|/%XC֯ҭc "(zCr+Qzc޲(I_ p( Oa ZC#NH- c;/H8Μ0>a1q  ԄxhCv%\IF8ʑF00Cx)O6$whBe!h׬-L* J5ib36-(>!;ja Q@:]h56sy[Z,_S Rc͚XÁKhD%:s- E:)-S s\cCP(HZD( {LwU?BWLg+Y [R)~^TM|:#k2,[2 qӰesJvvA-OPu3BwXj6E`$[ r-Z `0ziΣM>߼"oigJpd9qw AHU7yIN].9̇cq|oګ`5 bK]J͑?edW,+Pi;$Xӣ$S ()GVXeNa魃 ?<x|lˬNiz߈.,9%/v}7^/ѓWP۲s$m- 5{ޑe\zCKbM%\ـ?>3N`>/;ӿ>ԃI\{`Mb`!&LP~+GșdHKٿ?_;?1D=09ѐHP@K@'l v~  R@ `P p_ .ɍ\i` !` &!64! ŋk .`l!˹0 'D ~f)mKB޿pW͡"r`.>#>" o)Z]E\PY|F*a#!ADō<QQАu , c,*c,Nb``%!pM,1K\9R/]"rL9#::#;;;#=֣=أ>#=@ʢ1YLič78n`9#EV9EfFnFvd=?:AI iKQ!I dN] E]$݄H4 IBS|TL`]_L1r NdOd%CTMVe9e)MJP\l e9ڭa$Wbˁ%'e]ݨe!Z@@\Nel%Ua--J뵛^iX&э7S)e^@⼕@bc2]FHe N Vgz֔icfxlL@J&Bx%fe^ ( V Jax"afs)fRIM|f͍v wzgay"SA)gzsrseIg 4M IQ7я  %iq5M"Rxc/aǔme@~|Ŕ %9e @ZJԮĖ܀Sy% ^$ V/O&[~~+>;>B~|H+c~y }P~'A^I+vñݳ;|;?|l' ; !v@H8vl ?(( SHS X| >!nF` |~ *Lw B ΝcA"$(T@@ - p`9qbŋ7V,̄4D`bŋx٢ p`A˗:Q"'9m#W8 U iO P *ӛ9QPeCTԱV 6',(Y@,X/3̓ +*| ̸ F3JҐ8qd,:ȉr~Xj,+ N6!>Q$)?ԘN,.ɂ@=P8AɽЫ k*: : )/` GPk%T DH*>٠ qRNvlK{ă(8ZLcQJoOHQ(ɶN㌊#cnS+iM+: L1*bw_o@,࠮: [ABC!@OT/^Fl Gc pApcD~r NF*pw_E}%ĉ(^J+P8':BvrR.x~ʓJެIpb#vm4jGfmI+F35K-"׽eqV]Sז?z9n@w~:wʉh.8j&*cPXH9Adw!L.rHK!Z$ 6Lf~cN øGi{{~ )s;zAJS"ȏ4S}*?~Ddw\ú5Fw`Ҁ "Xo&\Šs^BF1hzՓ&8IDdPvp}+XsB& }7.Oq3Pj'KK/кn ,yNiL _rPpW! M89?dyoGHBN QH& `ä-  H .ŭ`X%XWhP"@j*1Kb0rS9Nmx#)H!y|>"_7IM|D$ʛ,ٓOI7!eUry @=QDKbL:S?N"/SDH@DGAvpp. NUa :Cha(:+X2}:"@~tz"`D s!HV0E]'4k JzpDz)_BTw ƔDjR'`ҕ hDpy ͥr"}!>Ttu;iNU'u V MNO dR\V,vE#\&WRwDe@6 I+Y%1p 8`1k F Z`a*;a T.NXozJ܉"IcO,0-TU23羟\PxBi]@:Fl uހdE/'T<ѿU&vk8E`*T#U ,_4ȾpR@_-; n p ђ`)S21y=.: qWg;y.]>GΈ$09&ÿpEg=?ґ4L뼜fDniAXҩV':?5|g@+lNk(Gؒ#]৽Ɯ@Pnר Uje7$ʹ'w5h0Pmwp߾ nCIMuOdZF@pa ~_ (p!\h#p+/[rP :pG\&߸Nr+31ק{1U9߸OP~!zWFB%q#Uw8sfp7Ϋn}2Ԝ$ 3%>YM֥w#8,3֞Z|#Mʜ5_>^ww2׻;]m> J@SC\EqWQ@ ``a@ wQOUu0ZP Q>q qwQőuES1l !R!!!"#R"'"+"+R;Ï.#?$CR$G$!2#'  W1&cR&g2&7%Y2@&{'rڠo]]R))Y sr'*r&uOR+')+)mr+t@x,R-J(PAp,) d-.wM,,/+Ir0 01S111^/'21/33S371,=-+S420$O5SSqr4[. C5cS6=3C5o KPdz@S8889S99S9Y7*s7;S;;R:3(S2j=S=ד==>S<* >?S?S=m>ȳ̓?; A=A{>=B'tBA/T7@)@؀ 8DBG DABTEBI?3T-s0\Fo5}>!pG]FZ$H&aI3HRF[FJ&}hZ-KIr gIL˔-TMKGTN4TqtN&/ !TOH!TPڴ)T!eQD4!R+U#.`! R;5: 5!SG-T-!TWu-u!)Uc%MUrGSeUWOjtWGUQSS?3X+P:Y+uXWtZ5I[&WQ)[ǵ)a[5P)]۵']SH^a^5].U_R?\Ku)`Va`aVbېa'L(#b'6_7J1'5ccGIA'EddWHQ'UeegGa&efݵfwF+ @hhhi6iijVjjjkVkkV1kVlǖllvG֖m nVnnnZ&oopWpp pqWq6Zr#Wr'r+r#V>e>sCWtGtKt ZsOu[u_w?5v s?tgwsWwwwtSVwWx?ewvkvWyyywyWzyxay{W{'y{su||ͷ{W}7>oZR~~ ZWu}?!~WxXxWҀ8+؂ /X7&?3-CKx^<؄SXeW؅__Xg&Zocwmxu}Xw,nmٖ@(@z&Vm "8)l)-X8`@xoؖ&nƘ޷ x !@A㸄m\ ,8\x]  ~qٕ=&X#X9y]byA ,z)Zx xA؈?o@&`y'pxg'Ƃ `,]@Wx٘l8yy@8o@#Coy'2:9MyySޗK1ځ#}|1@y9-7]Ņ|9_9?y!}^ { W8k1z{۷}? ؚ =k}3<1]ݡ[ @iڸ}x-{"V`QY k~^ m竽e|cA;Y>牞獞[ wm?AН\[~{ꩽi>졾e]~^u'Q>Wym")H7>رƘ2+ڼ3Ν<{,`$63ҥL:}:0觡Q~r5֭\>JU a=6V98UܹtdK$ʲv@ p>ثH;~ bg"KʆT>n닦o?j'_(`th`}!`\1`fA(aJQhaMaa7qaw'b=hbbb(c4֨"'V(>d[;ÏF.Tِ#pz)]?uRBwe(B?$bvUV٢QVfOf5iv6H mFk'ƒn^8%.Xˮ_"o5akXC~Rp/xB%0`RLue{{B2<)o_"wr`+kܲ'לU}͌2r; vDltI?sAK 3 %  R3uRJ'A eg Q@|(h]PTo_ȷA `0 7(軐߀?P]'rwi -PGmO'^7@AɭU8A\0uxt#A(@!|;=8? SLu:8w΁?!ړ_NG4|s H~yk |q `Xo $,~|Nxnp D.aEh k+ȬЄCPXz;8.  HbȐ~Q"l@B`DžTnw ݒU-1o\ȸqEs"Fȇ 0@5$-P8z1*:`[&'`rH/AQZZtϧ<TL.'L`b/$NJcEL2nNDf8BNIgWN|s1v7\ l=|B?Az' 0<_EAAP:TwKA)z:k zP~@6S \*%qF\ӄx ^Mo !~ψEO- H:QbU0f҈0!|~@e@hUMY=zǽ mBЮbT\}VϤ\-lY*τZ$OD`n[[۹ vHG xXQ!:P6 Ygo R֗Q!w@C^`Y Rlu};SV\#a[? , `_dӻ^EkA{>>Nn{E>涙i/ 96pwߕvn^{p~ )ۅ:0uRNx{!_J Ap~'I#rn"V/2H5g\+ 8Pׁ Cf,M6wtTz`ނgc>][uׁ1uldp[eE,{NxƙފilʧYj~ʩjӕV̺fʫ x51\w~cleӺژ5Em^UnjՈ]uwTf|{ {w|_TK| q]k|Vo (O|,o/S.o^s:8 }Dy+}L/ K}J?uNk ;PKEɻ6`1`PKM%AOEBPS/img/admin077.gif@GIF89aL@@@AABNMNghjUSTppp000 ```PPPTST534(&'*()878gfgA@AGEFsss999cbcqpq867qop[ZZ%#$tstpqsFEF MMM`bcPOPnlmQPQ<<<###FFFyyyjiiKJKY[]zz|???^^`ccc222,-.z|~a``!,Lw1:* w v .# A3 &ظ N@ Cw Hp`*\.BAH PPĉ WǏ ?dHI]PDD aFzCkɟ@ AAp@Aȳ*HBjJh 18%"ا&TBm F'} AdNK3JW%\' B RAdGB-$ S\۩TrCHt"p]6@G.xR`':z7>?gw9 mnΨ6.,;o宻ʼO&l['!|rC_[tw{Cr/~d !Asw~Hԑ)|WtjL_(D g@a!U`+拁*L3@#(EUɗ"P&b;!DHV(OJ:(sNa)H& `! X0DƣD<LSE"VZ|6\#z8 va P2ABL"BpYH&@*T0A"ċ81OBb)3fJHpt,aYꬖ.s)]eʂ)L";&2=eҙzk&4+&iF,4lr`)NGjDʩ2`n\MvzL"_iOt@qG:P]c P# hFWQA> * ID sG_ʞFLqj)PC%ԡ6F)JIӤztkSԩVeV;t5٪!US`x&|z$p*P>@ZD(HkRGF0I⌍r4 dLaJ .xHJ"AjAD { g3B 3ђ(-'R ky g \ǂ-Cv@|+')* rFZ'jI\oW!i%pgmWz 'E /3:~,lE¿0OF  0L&SS̕e/c'6Pcd@rQ@8&2уG t`r{) $- $gV|@˜>@:x&Aּb|?0BІt!EW6R}Isײiz> j$x.ISU:~5!(Izh+R5*}&I'Eo&J6)(MILn[COLΪ_=~bш~mWL!B"v4a8(g8JBՎ1J4I c}j%00@$wnjU BF:*GR~]NPQy(q FU D\dI` K g8-5!nEP ᎘ HTZKP#sM^BXp9`t j*|g&P1*h>u&%;WbD1ە(pQB q`TZ0&h6VJpO_zopY~ɿ'&ꯉaC?`fɑC16)*ϐB}"G̭S(d!e^zˢr|u,B^ G$6,)$BTcm"8$XP[`*XҶFւ0 28P6 8< >Bx DXpH8 JЄN P0T VxZ\؅`b8cf3hԀOPƆpǗzr#p*PXC{\F_adffhPfogsxHD g`k8hV8by#D,kVw[$k<+,qr^nVqÃ8_u%8ڸ؍lpi/05dgGgB8Xkp,8瘃G#HnlB+V"aθ=fm|nB rS38+E&meyd4V㉸s2y y'Fc&k,r^Az$r) X5GGt*Z$x8/t6}v 2#[+zT,d{EF;Žr7*7pm#wVVa!n3Yv0B}Č1f"B1&a_nGY\|bi~)?b)b~&9 bU,1CZWwd)ObrAŜD?A@d#)HZ5Wyw A#@| ,a&Pנb J;`ZzPqz: e!*#ʆ%'j):+ -څ/1z3J579;=Z?*ACʃEGjIz0ؤNPR:TZVzXO\ڥ^`W Xfzhjlڦnpr:tZvzxuJ;a| @Z"kX  :3J z꧓*zb:vs1r-vZB\A0 **ڧj15&A[jʫJҚ Ίc c jZŊZ'7`$Ѯ'$ *zr!J⪰% Jᰏ@ % *:jJ &pB姲 AU #oX ?PdS$@R?O'Ft'09@Vk|9P8{}ȧX?5=|:pLku?!q 5?k tZ{]6fD&?q63 )% ! .d> Bֹ d1 +p@< d{ 1'O`FۺK؀ 0[:@&>`;pv "ЉP{ IPK{   f0pwP##9qp8uӿLb젽 - @ <@|;   L X'\%| ),+1#yÊ:|^5u0.Wddb#dWGZy붱C`ou\w>XAq=_W\ȅ\zohbAE>nAJ2&hay’Pw%_SU;{ _o祙vW_.+#Wm#^RBN͒O'9Q޻߹0B΄^(;PKšNE@PKM%AOEBPS/img/cncpt028.gifcGIF89at@  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,t@ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͉g@>!#ѝ@C7JJU`N0@M_]6˧@#X_J=HOV :v೸VL0ʜf_L` A)QNP':S(Aa@Л3J߹?0ͻwE@& +P ssυO{Z?fL~;G9Vط e'نbB=C THW=wa!T=|0 -gg≼vaNn4uNA7gLFeHQQb!F;PbZr 7USbly}n|NcHj'%g(fVk tTcSʁ0OPfZ:/v@DVge>|┮@Zpi<} kx5`ƚP+k覫+k+,l'j6F,Wlgr:,rGi(,0 L:<3홇׵8-?'1m! $e!X_<@sTYmv?C,6g-[ڡoM|]7,DmVEX`~G)vȎ L4lujn-2 08(2  {,+2[}[<#.ϯS2 83 {`s//WDűO837`dY@-e t M8z GH(x BDs[Fg`Oʡw@ w()KsC`@P<La# 'D AA(#e~\|H/22hL#@ {]A0:bA~o0q;ȗK)ZD198f -j颀E0i "jL*WYFI (HD 2DKQ֗v5rONμcG0Ekeg7]aL69Ŕ(S*t^#F'l(E2Q+@pP~ӟ0ˆԒ "AC&qu <>WjēYbUn gM$86 ~ҔIR㤎u6(@g64ϼ8:Irb*XTjƀ8YArЖՑ-"q¥`h,jKHKy7k7 {1CFz |"=j!,Pآ,ѨЪ;@VaՅte_q󏯄389kVAE0ykJ J{>%QɋhaJ^'N5@Z'i2AF- D׈xqs*C$%_lP x3fbT.jB&+ʰ-gX[^J lј~ŲzDC],˴0мUge1lѴJ[j/zĢbnϕV!Xf;ЎMj[FBrNv0Fњ ~熁fA4B7 ;8O4tV!{/#\cFL"*g4fܴf\LZ2?]ƛ+OCyLx<żh ]J ӝuCݧ@1/z{$!bv %jgvu?>AÅ$dd⟘ q#-ٰP ^?9Gp,5f ؅뉜^dǼͭuK&C=1tMhb!.=zFw$e$%od#8'%"6PR-a2hcۑs._k'x !.QeBaqG`@u(Wcf]1Ҁk!%! TYxq("k|&)B@$"ΗlqQjx|Dq},}wD.Mgr #>5}OzVx蘎긎Ȏ Њe/ua.26p ؏9YyYp orQ`Gّ "p wiz]84Y6y8Y p0p +9-9/Y80 8Lٔ4~4 Go,9QKRb NbP ixx0XZ}cyx)e'v5Yա~ɓ> 8oFyaI)@٨n陯z0`y nUnID[[g@Л9ɑ*yniZnɩd 8әYٓ?nytnIqX<R~{@ʞ SYV7떜1Ӹ@х$d!qnQ ) p冠eƠMa]E$v1r)|JaPĕg<,H2 :"ItƢ_8i|'+XF2<? 6T.-C Y GʛI }

f|Z UlkΞyxcS6aA?I8 ҵ64]6mӪ؜+> Ӫ >=D]F}HGm!p*@,}@ BXZHm!m\SmUmWjlexaLH$3_ kٓm؂^P(tM $K_Cq؃}٘ex@e&=`DE̗D}"2xC:ٸ].;cfĘE`rdQJp] YgXF(;m4ڍټp ;ЛM, (Y=RPN  N`;5ٽ=`-h,բMz WP@ɧP&c̜y}[D}]#Tĕފ!p4^P.=Tu؍2N]HؔГ2!z\%]GšfuaS(3N5^ԝ:܈0[c=d;%ֺ׮&X4%@,6px+zns߭%{}1 -A燎疌~NXM.@鈮t颞Ԝ^5q駾ߩԫ,G=n궾nԺiZNEɾD ўNmMَ>nNmYNkm. .N\m-Z OXm  I 31$3(o"C.2/%?6/94=8.CFH/J7R4T?A!n^`]_.5 4dF(.^vxidoztYz_EOT M_5Ԩ/NoF֍f$_Eï??K/گ՟//??$XA .CWE5nG!E$YIDdK<81M9u翕4%qfQ@6.eSAN*hQPnUԪa2J4Wiծv[ "=]P[кy&|ro_D \c' s1Ƒ5o;gsR\ڴZϠU'3iر{^]`kemm۸_]8W wIɕf9t켥O\Oo{Dk&_y/}\ [h D T@?R0!)#jB*C2)k" DqDD3cjEr0eԱ)kD4EA?}3QEaQJ+TI+uA34HӵF?==5PRuU3QUX5MZk=UrL^%5R0}5vGdTvckኅf|Z=r[n?Gpõp5AtYTw]xWCzW=~p`3>N mZx+.na2XI:?V8<696SyPnq*Cae^fygz撁YGhe9Aci؞VgC:ixk$ojy%jV.[?߆,ܶ{-{(^0p[5jq q#+?r1%rقC׋27j;W}uFun]k_Jvr=Kݼ=y%g})>*{GzQҞ/|>'{yZ?٬jOT 'k; X`-xA fP`=AP "gwE ]BP3a mxCp^tB0xDxD$&Q.F/9%LlHpHHdZ`$ )iI}2b0_p:LN SP%hA S^ ;PKhcPKM%AOEBPS/img/cncpt306.gif63GIF89aI޲>@@@///0n___$0```000 PPPppp IaYYY &&&%%%GGG666;;;_Rwww/)lll999QQQ{.### $333wf&< 7HOOO=ISggg===(((ooo'''# 2 :G= )17fz +++$)4wkkk SG$Rm\n|!!!,,,^^^8k\"BBB6***WWW777???LLL@!,Iqċ qתpцpp̛pppnsDܼ Zn9PYYY@ַe].dDȳg$&Txh b RJC_̑Y9H…#BM[䀬>R:º  'a qٵ,i8U3+7oYyAP\j3k'NpDϯ13[8xGHau9yÂ3lWxB9*WV6hP ؄ cFov+(]u8erWz9mް_14 el ampG{pR!j|5+ \gl0}\Vvbu h9,I5&P[1dqG$xQ0W?lX V[8<`#db̂|5bl@ΉҘd \NL c.hP;@¢T4GApʹ<{)e?0fjMA0nr˗!O-zߤCA6䔔 1D> x)Rv]X9M6 z,-Dʪ)4 [9,^XְG ~5 ^V,5P9mӃۘ7w5u oj`^i#ccȢԣGo=L692V;Ȗ 7}bI265SU4UäN4DtItU;UHP Lck/}ۚ(uHM3h-AdM|WtN^XUWngw砇.褗n騧$ܰ.n#t/{{!{գ7G/Jgw?o觯藺S> ۨ6L:`Ц~($z L* 0(L ?HXx$WHЀ#J8@  P ;`N*2qD|h.щlXGE/Xb@()#Ҡޕx"8Qṇ #(G50uw"FadII,!OJRd$OHOV$}hJ2~(JJE24:Y<,-{[0 D/_ f(7 2EgP~є'M/^de9GS :xNt>P>~ @JЂp( ON`D'JъsQx#sKy N4t JWм'KgJS I/ҚsBQܸi(ŝJHLZpNXRTVY @jShVU>5pY(?\5x)IEFy 6usM֪~e`X&f2ݬh+ҥ5mg3YG&beYv=g]{6=98Mr:Ѝt;,v -o QP xǻ\+| {N4)3pCGGJ__=C0nMFoZGjbnf1SmH)ԭfu{6ӆh0V֎ i$ؖ5}lUÓ}Z;5=jiO;8v!-Kl[]Cݕ6z+ݣt7oy˚N̲=쁧Yf^ pd;%@(OW/!~뼉x$ @On]+ܷ8p~ߦu3͕,;='8l 8@0hO ҼyO n `C9~]+mH/Wkgq^s#^ @LZG<$,^u>}ݻzf/ 7{?`nQgwHk zڷ}W_'}yA~w~|z|{їQ ki!4ݑ!97}69 7RIs7xxXzw_<)!RP#Yh!6"+8lp0{H_ 4@w3Lh[ȁ(H| `B~WFxnWMxQr2PShX@\BApX0@9hއ~phS8'xMXMшi(o3gx_ck!YgWሀ1!0)&  ,QFG`en8IQ2cCM+8b6H XGj|~8_RVKh0 #ɉB*؄YcfV g1H2;5$H4pT( cgz(@{#_#+.92yzyx_(y:$ҍH*`,r19H9y;Bh%!@P#…¶ *5" yZ p`ҕgibk) 0 A0/QC@Yu[)7y >6`_I8$U@S(h)8.èGyڂ~KGh_c3jbc25chy #- AȜ `3 UoPa I[8+XP驞-EdoP#Ѣ@M H:IJ8&5#q T(P[JP% 8z_~< (_g{J9jJJ_R  %b U`  j/ʒ-j;6ʞkv<:e^sʪpsZzktj @{⪯vڧ`l| jëC{ya1ڂGzvڭ pcת$ۺYЯ%#Z{bJ:_Z|s-zX/G!6"ﵰ|p Jk8 %@:`4ʱ  * ,e${:6k&s!1-ڶ7KL;ocJ(f&;$)P 2chҪ"е/:z4۷뚵x rXUrx[RFiYz D۟x+pu;[bK8Je(=i!p+rÅۢ/zzλtp" b+6m15+ D(ɫ̫[u ۮIa-GA q½{*++7]wY˟9#ry36u˄sWrp3ع z':ɀ⽆ے u6w:M^Aq0 8z@@ İg 2CP3ƅoIlܺ0h |ךЄ0ؽs'Xp ͈p@q؇ؗ\ɿ(ev9+j 0w2k 931 iͶ0,}*& Q֕/7ۏ @¦h)*1Ѷq7ōOI\[aX=++-O}3(5؜چKw ^)Gޗ00 2jnᗜ8)U '_Y+,Y nM N9}-YHWN> DrF,Ss{]Z[x4%3^`㌸㓳Gmr>t^v~xz| &>(P䱍\7CU~Loi~w{8)R\a6i n:lNn7WVL`ᇇ 2XV;?YR99NYỏY #hoj@EmӋp>^~ P 벭B* +!'Q#EB&Ux! p0޳q2^Á킰 pP&(*,+I* mwN.+} vm r #JL÷0'N7)9/?O ?Oikɹɀ)c+KMn2S_}r<J Pej I(r 3_9ee#k0|kcý{P /? pY` ' 5;ăR@Ǡ?pO. 8pZG*깛K\?zmb0 V Ppmq mp p82pqqqqqlkpkΒЬӌ qp񊔏钘֮C 9'C*p`,w0hU@$ I0dlyD.͛8 ͣt |8y`l!) 2,L9꽌@Z:IHS\YD;'u8gJ@K \0PbX<<뵑#S"{ٴjZ W\-Q``ɰ+%~-E U`Uۖ([~s8w{4jA\ Ex}L:p۳u`{_C;e&.θȯ)_.s^nd ^ )[ީ=ѧNghbU( 892U@W4ycVDӈ8uE)>i̸+p$0bA^R@N1ECG&V0q1yxe[Q8̹ ,A^+H&;nVq6%u ( 匤jꩨꪬꫭ pf^\R@z褖V)%"s 'dfv[,j Ԣ/pxWFױgRGm&kٲ*22m& 7--n%î2L H T0A@A(o@XR#G;Lf`pDmH'L7t{լIO{k8hzWa\K`q@3? ~G$(@0$,+B`+\F Esj2 gr | cC.ުL q<:) =`- 5@0BڀF`m F+",G$kQ`PlFI`9$zPŁ="2D%"E60*UxJ`r%#RU>c|*c9/R2rK^Zbix\/) eɔDyLVqhɡGdrD 84=gRl 3/ +Rq˞f"ωNCS|&>Ob0S^B|:  <^QY6 J"Lg*Sܬ0. si#JHMRԦ:PT LԘ&-NSQ u%:ղhMkR8شNNgU4_QIV5kUַbCR2Z3 ;uFW׽ oͬf7{֭W`X'S pQl"r=f9K H-lh1:QB,E6p FN. 0Gy8S#`-*&kEoxǻTUTn#L!-۱8P $J\hi@ P=|-P_ }5yA{tT1jL( pǾH[&+#\fߔmebU3k ޓ|p--"oV6 YQT'f %uZw,̈mP+tV4-$Sp+{;VL²4"HXġԼ{f$hF:i}:磞â3͍s4Q(i$1 C˧hhf^AX6i`=+ gz.kzP(@ۢ^d:p@R@ШxFKhcw|Rf5ޜz;uv, v2صl(mOmzid3,W(p?7R^g6w ]x(W7o;/{/S앳|`c.s7硵;5RwtM?v&0 kV#w؃Ac=qD_Oj_:w[{w,gf| [}|_+URIyB9?^ԡYOpO<*ŷGx< O$א^ҏM{~-~Ō?=7?Զߊz8YWsgQDw@~B'v D 耴5J%>HrMG~健LS Hq'Q"hj+[-U/8A#H%hŁI;M=hW1T1vGiI!hD5GeHYԅ7`YbxTdwk0tXvxwJ |؇~uJw|Slhh;hy40;TRCvp؉(W#YЊ8Xx5@^ 8XxȘʘ@X.pgy8Xx蘎ыTalG8Xxl9ǍؐȎ[ݗCُّ"p8CՍ0Ɏ0Ŗ<ٓs#i' X Yx )LٔN46yp>yXy@)BIEy)OYfِQ)7YnYo\9^(b}, .y~☖jIhpy>)suix9S{ђY)Riii"ɓ٘y -8&]}i98)ɑICiwiVI9w:5v!ٜ19i[ԙy؛I`YV)vYeoy 0i)ę;N%R]Uǜ9؞Ix) JiQ$; `删8 ڠݹYIn5UnQv ʡ4: :頤 IE)R*5hזNBD {HyLmeRۭ-)ߑZK^We+TۤW l۶t rbGw y{8F)p+";w{~6Jѷ\ -Pk+ ȹṟkKYu gKb@( k+q;KuLv! w,S& {ZY:м+ H׫c֫`;˘+[YtۡҋG,QCh3 vj&X;[]k$+FEױk e 1!`!]25,K; n"<0bH[%NN\t[ p p!=:?@&5DPA4H#j8p(Wg/1[ ȐɒL8|$PD ˿q\{ FP 6\h ]*L˼˾̐<P̵ʲ9Yʁ 18_1_2 5p=r_x||BُpPܮ< ?uZheV6]",fg$(˧4xVpĹ l%\|ksml|ӻ3Ҋ8m!x( Ӥ,~ĪOъG*--+ Ѿ~#|!L=<ڏ&:TVX-Ǣ1|"i֞yO]=h=lݔ e An,# Cvd=fM{PrӬ,W%#q&=?v#ב@=ٌٝ\b O1 `|W9ٰײǶ=o+1 ,qΌu3E;֯]Ma:3]E} `_5p 4-ެKh:\ܑ A p=Kx) ݉B=P~2h~]6NqԒ]NC Ƒ02ޓ}8>Ny0=t}HKB> Q4ZI .dfnBF[$M_nUg4-V膎Cn둌ޥ"Ӓ>d0\nf@˓| -G뵮 zFi '^kʾNоuVotΓ߾wؾ~nN0[Q>簞~{_#/~ V1[5P~X/J5/.Pth9@פtg־|6>o-T 8@@Aj^=URT@Vu"0WssHHB#fL`àN<~9P;/iOĂMP3;oE7S1+Wo?M_D//,| '?¡Hޯ-)PYiO\??Aſ鯷8p!!)'m pqopǪp՘ޮяӒmH`_߬P#FjjP` ӝKISSF"2Iǐ8sid͟+ U%̘~*]:ΧP"왔)͡XCd辪Vt,H}ըʢ”FfD]nGEë8*v'<…"ycǠK3;˨YS$fӰW}MdcoK͛fC)έxٵǺ]Nqc/mG}k\yroO&!կ?yw?fV+>[|8}!]C߁(`cc $x߂ 'yU̅!1`%٥و$e"/(Ɋqȋ<]4Ս81jZJSFf.e.RJjsⶪV"++Yk`&&kw,<"˞|["ҭah[߷m{.fKo;{N+vla"<0ܰgB˥BaLԱ91ő\M+˵,*<7˖L!(EbAZp`Xg\w`k iNyvԥ4PA*ՐUksB |߀.nx1T7ۣ4@O Wngwpȍ'w}騧}'⌋8nN9袓jmz.ģCEsJ.gnO31~=s{_3O@_;;X/ &?h$~x:rV8 8 ?q70 t`1 Z 34AOt!F81vƄ(T 0/GCQlL8ԡSxAWD-=3Eԍ!M82ڮ"g"p4ьx_661QG;NyL#>ʏo $6eҐT&+HY0U(PIF\0&; Oe K+1.厪T$+]?r`4-oyT2e/cK8]$f&K8gU(gf,4&5͸Gejf0pd6trћ8e4q)VќD=oӝcP_Tޓ'8P!Ґ eCQLN-c`V3^(G z҃!HKQkT,NҰ4jjSCi>{SU3AKuӣ CcjS@Km',2հX:p\*WU ;PK3;363PKM%AOEBPS/img/cncpt271.gifG;GIF89a@TUUgnqPPP...EEE000eg$333,,,ggg)))lll___27jjjNNNxxxMRUXXXźzzzhhhJJJ===',444ddd777WZSSSLLL[`c[[[ZZZnqGHHbbblnCCC@@@??? 𙙙蛥򻻻999󠠠 rrr```>>>~~~ppp۱␐;;;vvvįӐ񟟟-2כ378´ooo}}}sssqqqwww:::tttuuu888ƞnnnaaat{䡣D |||ŁD9969:svxbfR}:<&)*~&&&mruT6++.00ߜѿo,.ɾ+ }rsV[]odd^a·ЂAAAHK!,@ H*\ȰÇ#JHŋ3jȱGDtIɓ'?\ɲ˗0cʜiP8sɓ'͟@ JT(;CBih3ӧPJ XjU?m`ꏪٳQv]˶۷#;DAˆ; W ]LU-ǐ#K*?3g2'7s 3^*Rx&˞Mf3`GKVAͼٸZ=t`'.{|uNO>ktW& =OGHO!9tt6O1\K-ZwhYE #(UA g7!-EhեsaO@bVX!DMcct>f?L`)`&yNB9H AD aiSJe#Wj'y\)aYd{AM#hgyYF{)yV#z`JdZ8ȇaqћa|aF!PCw_ )Eʇߴꇜ?qb*ʦ*~Y+fʇb8V$f"ՊY,h 4]X7'vkd߆ ?"-"*hb!Yae*D(b(4rFQ0ǼaSG)s[ +? *Tk^H/ע! QȺ YfʃoA6ahpͭ3J)4,7]zx|]w@bK,ěإCf` M:8,]E]ա?5.Jhܬo!L..j` *$suBA@QqpY_% A`MGz&裇_iS*>Q=ֲ*ā?Z &jQpb6A_) nN X3|"Vpa6ABdsHLH'"5DH>QSvюddfVACԐ1D{꠶6-'ّĝ*N l,L{t/Bʣ<< H/ D*J$ !IJ#U&wN0b z<882EHq}m:Ɋ-E6ZJ/9` 0BȂf)cMBBZd)WȯtLeB9rn D'Jшb?)Ύo?L@Q Fq$bBv ǟtj&svaCJPskA9!HMQQ%0jCiE@oS/ "N?/ f4-eFB^qI)fv`3u$UN Jj 6M ،ge5wM2283#؄!q@Ʃȴ1Q`V*ֺlgK5Uȷ oq!NhxSΔQЁ*|LNan$mP*(ķM=nd[n?6Lz NfqL;*"mڬ[vd|E\:?CzPWr$)a7'i|aHt%>$UR3yPKan`C=s<&>;MN&C)pDq ^{hG{0>(FbҭL,ȷ"΅WyܾU;:oJŰqB |&4B~F e!Q(ux nq[|OTFIXM&VF=˺=λ9p cpL/>&0\ ςӐ/xAB5g?8% P;:ss0} xcP Wx'73p\ `R!SE|d!Ɓ(m U$3-&>B0XH@hKo(X@uNI c0hЃ.3xGI8]XJhpVxC{\4rC0g6 7m7x:8SXng7|l(p53DpxX |Xgs|8WPwP|Qh0dH&qg؉TY@~'Ha;(} AB|(H;8Xx~狿DS(e፹%6yXx7PUX=aW8(>vX8(؍鏨BXzX ȉ 9(pY#)~˨xXFSg!n%iYd>@a0DNpHYJYpДp0"y:Yԏ"VA\ ^)f3d ghlZ)vi0tI}wr|㗀9;#ybZ☐9qe),i1e1e=/W$z)$a`$ @YNCG"y C99DnuYD)A9ٞC#%n. r*9!,:ZQU _iQ?:Zzڡ*Q":T'*K,K(:/G1K(z%F35:E7JI( OѣCJrdrNKj2rIJ!"X "PZ$RTAaҥ@1`D!1[ )ɤqiF!aќISdjݱh(##t!"Bb DqtZqfzh pkZI ꐨDr?=K)<)Fu?Mکp  qaA H? : bP  pUz4ʭ: `GgD:**EAЫl*/l2#^:)1bp)Wխ{_`O~.n:ZPձ{Q ;oI$b?e9vo+ښ4[F\ڢB nA PAT,ET1 #[2+:+5b( 6` _!-DA;k# 6WDp)a_)=;?{p! :%p{/3&2s9'KA|?0_ : !h@jK}P`[[ۛα Ժ˶ @*<; [!»>[{ 0'-rR2FBA!@kzP`~ ٫>˽ HJu#V-psk.*1;P`ZWj+ 'r3 ܦSVOͣ${!Z*a Ub΀ ³[6'`_ ز2\_p71 :l A|$<Īp9YpJ.f=#we|{<`jsa4X|:{>`l#,*>3p 3SAH|`?`!*PvX@ 79 ìȢ@ܦ$2!^?SG3* : Xpʀ쥉pLa0fR # Q+TF9<Я/ST up!9K@0B +8Y:[wͰ|\>)KUrH#;v \M 8* z K~0h0-Л}@i m@, p$SFSVrR2TmKj\m\]8YW3}|`[ Ȭ|rvOApQIOQSpPNI@` 0 = 7!R P j] ^j}0|G|N؁KQT؍DV@FkG Q~@{P[}0ڥ}i2` UxӪuӶ} ĺ]>NοdPǝ]םݤmڨm"` ?qs/pOPP}M; {NP-ȭ-mحݪ- q4>\IN,#+ ,ǴVT~}m⏭ .ܝ-Щip;=~,=@N*}.Q-Y܁TB{W"n$\_+.1>gn & `j}>GN? ?~~ | 4:wvy}Zc,\WN%>ܚ `; h@ ^< iE 9 . [z !0[ [섮  v` jЌ? !`QN=syWf#?#E^]!  7 Ni~= ٺ= jV/=V(ow/6rf>I 4O6ܘ^m 2%P{%`)HP r|OB[fW!`(N?0{O6+nh@ #}wTv7洠#- ֍?h~E5_` X`?~Ÿ#!A=|E3NG!E C?jdR1c"E[ACSAB _ID4.eS<~J&m,SI$d4{E5D=B<]xI4Cr<Gcȑ%O\e̐)B}' !@ Ki닏=Z"슭lF}lXӉ;,yeˈ/el3H$di&-"s{RZŪWb 24AX / 03>2ҁNoCڬË hM E.jgI0@Q ą&B&&Đ0;ۮIfʌ;m[13*BP~zÕ`^wf@Hf?N4}VTBbl|4&*ꏵ y*Dlr]N:P@?{~poFs}v ]ı{INXw/ ~5¼eDn吶t-Lu]_DoeG}lg%oƻfHxz g>d0/*Si2έƐ4@6>N`۹}Ӆ'Lh.0AbİE0d H@N>Abr8pp\3W=s]\ "|P$aח8@(AJwl Q@*b a( RHd=XD,;[9YHt?d1cgWc!2rhї;;#=*>PP `B'zL胐A;, ad7Nq{ 7C %|Fͧy*sbAY`g/A]BU){A|8(G3ȲF"2$[QKn!&V n8y;T'XIW,I(M6`>u.iVQ.ɐ*I(CG/0˝H@R%EVR E3="l d !e@(',(>ba5aK] ըVEҗt)].Ngڔ~\|՜jhV} NaA*`(;Wd:Ytob`@FB\KrWk`ed SS|epoֽ0&HYf-?1Z֍K&;0?p6fy-Kܾ@B(@(2A$åd5K1PCЂ"` y+^C1 &%xH@L82rXjU A 2 - JA 5A$b vKfДFM`֣-X3.HPvpp"4C޴K])tfJM0!r  Hpcx [`'Ӝ Qfv} 4\q/| LL@@ |@|@\ @T,M#Ax+dp TA>`)@39B$L ܁8Q@-4D=;0 C10=HD&2 1BBQ+("!hT2C@ ı342d>9+n6 TADLD@>[DoCGD"1QDVlE2ĂhB6Ř#R DDWE`;=xd ";^`_)L<[tFTFhFqtEQH >cdnĭTGx/;l(\dGY,?Gt ǻKG}Y\HVd3x#H3ȃ3+KL8LG\NJ 1PH@;wH\8(0`,ͅ,NI;bK ZxJNY2@\,͔H]tPx_TOihOxOH*̵OKKP,$6(0"(0|x)0`,p.tHлNQO+(+R,+մ0QeNN@͵D2 (>hFE@Q M#!%LL@K$]&TG;!TITJTI=$FHQw5f+M7-р9]T-D<OV pVJBX6.x1[UN0C DbeD)-;sMW Y1c.MԁT1C HW, HָRפ X5KW+9Xp̩~G3L01H|VYY#Y34AY=PXJ02=FUaBDH/ĂՃ#pF|%~]ԐZR--\ҿ%T(}Nڮ=MWCXCٳ568Tz ۡX5[Q<֠LTK"QX\ӄCL ܄Z's9 X`N^8D;]Z^i U|#PO;ԃRd]K$P 1Qm\H5 j  [M][`SH'[]J$J,Y]AyܵD1pSlP7Q`e^"8C ~.]x` ^]`b]J-b+b,5aM ;d0x 06 ^nty^n !ζ _E]|U&E(n߉J-"(Ub02 7`n\9Ncb=!?@f V}O^BUdce{s䒂%KOL6M4֨@ҬXQ6e:;:elNem^*f5#AeNڍGvƎ"ʕ>89aTc"hԵe ~OXDI,L-&jjjVe㢆壖NkrWPeLf58,ak, veo6l^k~kdez-[lmf6눞eŮ8Lxׅ^Gݑ.F"`jlm>mA[FUׁf`]yy]Cnif~h?>poX'fTz^n ږdsᆭi.moVRXf 96wťhk!hhl m &pVj^ԈDꂜ"c;E앨l,ri ovh nBq39rs;b\M.FXphnl.m @B k=()6mF!pni|VR/uS?uTOuU_uVoRď0s.aUȄ? tg\qtVIJ/ pN_r^ګvk׫=_noݓF\] J$^=0[XCY%bYEHM@ h  'n0glxtxx(=Qs_^$0QHԘ5Y/(vԨ-1!x q! pqOxzcz{{/{?Gŏ0 Z_6p?h$a [ a<[# }jjJ^B@40O4_Ep(u/}Ӈ;;gÛ-n.7{7$@%5#7v:]ЂFX 8=5z[^B0Z |/Oc*rre%,}sGwp=xT[^0O0:G? ~PaJ%%F +W 2F,\Y@ѡ(vP;x-j(ҤJ2m)ԨRRDF)R+ذZT]HBIʲ-ߛ)SrPRI6K"A@' o@8XM|QJ.aʤiPΣ>mk6ܺwu+Үal!Ek{G}wnݻyg@X$"@9g2P{*T`2ȉS(B[9!HRbOm) :P,%q`Y܃I9']vpTQN V`xG']!HQ!бC2_|чErxE'Jd~s`qR'u8&eWm&q [gэD'bdA2hc?AǐZhI.y@)idqe _y*T5#_2/l DN8D%JN ID-j^"*Xf4ZX0t#]g=Tv#=E`# B"m,ig>(@R$d" DMc^#Dܠ<%*SUtD$JRpR*N}˓IJW <&2@bA-9[BE/E86OlU:Д&:{Gjio|# MQH1>؄?O$un]*rxO,l! K"69nrn*@Y8Z6ݩh$Ji *|ꪖ{09(as냒(ha{wNPe+ D }/|+ҷu?~0 #TvC <`C!@L6B`" + (/< 9ƩJ_ P*+EW1LXAr<(3~$-b0_1WOyXzDQ)c> t@IX lЁ8AK8Q3%!ZrLKe(OtsL4y'ZHg;#H BPI`NTEeb`F*K`ƙ>?杔aB t@3ُpwr $?&ƓwJ.(?Nm2#;x@J?P",p00ao3|D|<+ۚL7m&7.rWFϐCi:,ǵ rQMrcYo935^Jݙ͓C\ >*(*ދAyǏML+PNB18 07]uuR7,[o^rR4`^Q|!T:y<}v;M :AhPpG#/?b>0eVէ?~-(Anb"?>s/~Z^+-PVødA/?篽)9^s6 ߘ _)SO`EN F9n`!z@i?y r mmQD` a T`QDU ! ]f!N-!ѕYq=`vN$ᙟE!^T@ !^!V_aaa~=R`&b> Yban!ş"n0!f$]Uܵ jZ"HE"U "'b'V}m%:%NlZ#Z@U".NnxNT+5*b%"E33F&R9Z.5V{8x}=A5W7*q??#\l?<AARH96$UXc?|c$&0BC$S@$6V!1q~cFb#|$8 Z$ 7K¤RF:n?U(b /6.McNB>*#'8z#\}'^$ghyU8Bda~g *qqRdn}6ՙeS%vrTH&9™he%0'Rざ'b&,C)I@-4Pbnlh["*ك2Ê9n^N0eUQF)R)KiCR=7 X&TV)Ul$2|55hfmi:䜆*im韞{6>3j[ jR[|#^*.gu֙.jh*'ŁƪΪ"($~jY*+Ũ6E.+&"fkRD=kFkQx+Q#+j黚$k@2)I+rh^aZ@;PK yL;G;PKM%AOEBPS/img/cncpt270.gifLGIF89aj???@@@///___oooOOOrrr뫫ʹͺ``` ppp000˰PPP[[[\\\jjj^^^iii]]]qqqlllhhhkkk333FFF 999fffddd666⡡ئ"""cccaaaeeennnggg###vvvEEEbbb III}}}>>>򳳳mmm777444zzz888---:::GGGtttDDD%%%555wwwUUUTTTZZZsss$$$ձ yyy•{{{...LLL+++,,,SSS222NNN|||BBBMMMWWW<<C( Z)p,Pܬ$QMAMH0p]w#XAqs@~hQ=p/ Pu uB^ Tw@"7@E>ٍ@Py8cW PH 'zz47z28$͊( '&D㍔VRs2  t $1tvzЗ! 뭹fXП)Bm&8U+"ZWE76Q`+UX": @@"B0+lpf u\ӸR ޷ .̧Z1$;WHW&c닅,+:%J砃-Pd؄XF b${ZԞIONZ@hw7pz@%] CĂ q b[Ł(,}f4DK~H b,-?=,{sF$@MT\2$8qM$"qE:r3|$])Jf& %3ɽD(1$(GO"<*bU\SZ)Kt &sM,%0aS5<`f+76Axb:fe&q& hRr+8(,6漦6Q3(>a|5)OtxSMÀ|Ơ5fBg S/(0'JʟܧF% RyܤT"rU/i.9jz6&B7SDDx"LE*_Ҵ-堓G-N^ʡviQeyT`mSMH LQcVU\v,uJX,VT_UuGR Rl`Q&M, =4(߄Xעf.a9)es@JSkY&0vX8 \r{ўN8*E{ jA.x 1_  qlO,d) HA! -ȹA9A$UpqǪ: cnռEٗA g.Yz4}pE**g=0@,|E$쉔ʠϦReB3ӈˇ><'C#DD/Z kB~"`f؝€wrty|h p–"&SNaB հ9vڐ7׬ŐmtC{^/o6/20p mcܸYcLą۸ 2:╜BgN u-/3h:\q!8c ʼqT8m$jKb&h?'akLoB=N@ZgudOG($uxXѧl6jPIo O*a!WN|ڤe_єA/_"L @p_69 Lݞ8էwd ٛ;m ALe=>O )_{| %|!5TN6Jr[/_ X󿐯?2"O6IWetEHyAD/i DN}B~hoZ)#m6\&"t 62}؁ .QXmY^#wv:o{4cƆ-a!Y!"&(&zC1*XFq&J@L(qNa)u~ 9T#V]u#$:t 2C9f/|ui#i 7Atgca :En+r֘cmɚ9 Z#RTw#/8<A2=6V8oyˑ8c3%"1TIf*.w݃9Ahi#h8UUkѴ㧴ZU\kl^6dYf HY=hörK t+qv{ |k6[{۶UD;;۸JaR۹;[5aۺQ{ۻ5;[+[ۼ;[+5aڻ۽>d5!|K4aw<˾d;{K۲ۿ|t(YA)eEJLLlBVTGs!Cxaۢ9qI: IAUɴ8NJsBݥAZPLhax.!nS{A_]g:gAzM#H;IGoy$z*tL]Rw/(>>^-y>8AuW(*; dW4NGH. Ikߏv*/IN>"!GM>oG)(/!3C5lj.u9O,r`%&JR=@NY*BBTMti bT6Ӯz FW41xa n/ ^^٫+X{3ۂsaүp@H +%~#P=s`XN[AKh> ,AnoC(@ԩ>DDq0TP> Ѱ !r1's 8"A%{  /#ѡ%qj'9L+E-ks/s3˭֌inJ9Lv$@DAe 8(͘ D/I5]JN5TH-͏QUc@ܺ H{;YV0^E ^VeC2$SY!{9hvڣh˞f *g}Zhi2lUeZ7VXUI9v@C^1:_ vk;O@*Ȇ%<.]7 ΃ 2/*"M:ԁ#a<F|@['^ )zib/P]/;|[( @2OR jK_D'uE @ί!HX]0S:H2{ t@`C QCG^L4&B01eJhpe!Tꕺ%,w_⒍¼e0K^\2Kf>3lƈpJܦ6Yƛ8#sڥ9=t$;){Ӝ'HF0?Ѓ 4](ڄP@tD (E'Њb<@G@xD s4EaTR-5iLa:S~44}KmSTBOkT4D !zOm*U Q,Tի>*[=@Wճ Yˊַ5l*]J DyG:+5}_4XVP,d%*5\edZiNFē]g+Dڡt1`Be8m eiFIZĔEh@ovNz-DقrAeZ7DxqW*-fчa aZ[nE0D*c$w5(LK?ӯȀQ""w" !󍡧$2 o'[`sR]p7ة2ɫ `XpjoE"LX%5֡X %*`I:FzƱ!f\´XqeCqjLFLga !-[DZ|7DK'`#g,^oݫ\`K[1$c z)S+.m.DQ D@rJ7R5kc3BSKvNK , 0!v둑ݿ)FыvxbQI }][=fSMSms5ZaXbo>jXK2P̞ڝx($CkErܘyqr8!1B0y"2hLq_vo*y9Gn B̯bN _G(B6*H֊,G3J yju]!dY PiTA@A 79ni}·*`'^ +Ps*x ~7DP~78O &fR3yTikyFn0 `@d՗P@hn'5 @ Saؙ ڻ򽇸 8.L N nanЋ:c?@;>P  = 9+ an0tH@ = B~!` ĺ @ Ԑ#<AܩnHgS  0A3^ad)=E9(DP/h #)!& 6I5* ZĂ0 DpCE>:ƋkOB$n3LoTl x0)#"H$0ZʔyK+LD0 E= ,M pI*B#&ڼ,ʣK<#D8*XG= $k4Me=P;/8 P;Ltu MX MPEJ *04ÄBO N -PҒ4Mnh0C$8! P `&}C?R %Bh-R0=0B` ҸӦpA %S'N$@=X5M+1R8(P8FS. Ӧ@SnPS&ʓ8<$hGSnH=mQQ%US;`UW]XUY[U(U_V/ua52h FP U'R= ((%x@` ^`Q1;VHV`7b 8ǂ譃$r lm]Q>ӀVUM؅}XXm׌Fڤ7lh%Xo-؞UX ڈ؊XwX/֎2=*t(@"Pgn( 05ۅPΙYMG֜EXڇZ}WFWڼbEIܶX;nu\܅mڰX-[F,hU[eք86#8irn"8T)YOeܫǍ\-Z-ڱEZuZ}Uj]ݬ5X_=ڍ}T]e%vd^)y=>ߝڟZ%_E `i-e (&m`˥],buu7aj}^R^`v2؃ڼa`kE^8 YZ]au`X`ư6.vm` _ ['6_ b1e*V`nJ$ V $;=YX ~\2Z3ca54]M]M"L\ 4J(5.85^$ s<#@`"XG"8V>ImYȅ=dZe5S#pSVdanW^1Yf dFe]VsMuen VMd 0%:>-k^<>x>h ]6gi.{PKQhn0^{CYBJi0ދd_eoi@e .jkk>{Shc$Z%[NڎjN8ѿnVijnEaj"]fM~ݩgg>0>=5l+fVG^nߩgH8䄰7;ލ.ލ놘5jn@jj}eX~da>8\~;FimҦ&kέfmi- ]S憇FlbhglV8ЃNNyk@oNx$$1f.cN:D6Y#GߝĆon_>4N^؀ @wm.3'_p(ljsn1NqWXp#>m4P 'p6rd$9%'r^lr'nԦa=sω0V8`/r?>n44o'qpZ9@-_ 0o1FP`r`Er8p91卮tn@sioB$APu7VrX`6e x|f/uXHTosFrXnvIYarc|hPs A2V1s?vtgXW^w瀗kn86an2) 桖)H`7歷[ 7FfMEowO'nqa-` dOe_w"gXuh盇ߚfnNh~E>hq"H Nl/yyg g+V/ͱxNhe;5#Ј1Do/qN{`1h_ _g{1)0$༱Rz>쀮Gl4fkw~g0WWяsWx+oaM~o$M*0[ /z~&$x/߭q~|w1%X+xї{ 0!D JHaD'/dhbF ;p@QA )nGBp̘2gҬi&Μ4i[ 4F5Ѝ7Hr3b KH!*"ܨtKVhײmV!:0A  "PCK&Vqc Elr2JnJ,'ڢ7Wf@r W.]L,x0†#Q#G!G|%'ݸEmZs$ݜ]VnE=12'`K[.뽯=8wdtNzh%xS{Q^[`gnXo(ƍp[D S/މ9{xUWB&Xm"6h\O:!f &TģjY[}Imyo&-RZ>9f\|Bfx_ae$oJBk MSҹ i'Pߙ8(7HޜgY)-7phFeNb頖z9)yi&_ʫzB[Zr&7#gW}E d7+\3)jLT6Wb*M»YEl v%}CЪ~o\1Hٮ7)@MH 1<@7L0|@/ z Ǻj&̮6 ܰe SWDk﷬*79dVN%s-3 tC0]kN”pM1.> \dnyMn\ -AM~&yflAEYl0rL߽77t7t׮ܨ, 7"Ex^Xg 1V= :]70:ٕDpCK jG:}n3e&F* qC,\h&=9 T`@8bqolLA0 lrCn1_@Ua(;b|:P71`E &$`fD8"Ce{~^ -X !0 o111B 5XyBT]ܤ[@+ z#Hy$E!UB0 2S v s-Q J\ $Dāh.YJ*9KHw `@@/*8H 0d*bAp6Nfݶy(!,M>BB+R֭hG!?k \Pi' \ /& L)ϝnTE3Qz"lAR>KYLB&A;hB ^611P5J0D@#ZRy Vnp<}MȾmYjWֱ PD*ֶrpj01{jv-AB jr F2 8Lg*ς0a`L 6?=gC;Ҟ6mmgcYF7`]H|nU۰삷;0kaWa]z˫w ;f&/LK_wCů~ l`'u!|7p1<WpACÈEn`tg֠_ ']0Uc!,62L_ DLa}<(7P^r|H9fEe.b޲<%7f106t~ټ:zl=]hE:ІN4hFCz8eL8[45oӚLխVY3Wֵdf d׺n_,ؾ3 ؽNM\+ѶaW 0-o8"&npN7,v1$cw}c%A e~#O<ĽC?sN <^`<0,9rt-_r@1' s홟w-. @pF[![6 ֒’.4郋:˂ ߚw0vm-םΜVaV֡%\mpetAecy$@v@x[IDZRĿ>)ʧ-[(W4 @~@ssc_ݡ8Hx^/a(Py7cESWp%o[.ٵ6}x y@ =0ŸJ S]֨t|__ ,f  ؁ OL_F B @Ai!`6UQML،N[xޢ \0 qCtg(L(@@VMae(0]1N ;U D!Nޑ gxZS˴_0@ߎx![L)-T Ƌՙ! \Tݡb+DOLɈ!L\(@@SLD uZ7X^lc4e#=(5P]T(@ MuMt` ja.Ң =cn#L52"  8 (75HHwQci= @YQ䑆9DHؓDTL(O<hި` T b@`*jIB+!7Ќ S:v\@"IMUčLtC$1BGBH@d7K$1j(]Gd[„' &P@㓨$evP?f9|%7e$!b@@]X䁑^ #32cD`<P Sp\nfr(@e<%i9Nb0GUjXAdfe`(僜 L#sXzK9HT`iݴ X4gݖe4|oT qUj\  kvCDvAgdMDT ָgDH(z] !RfbIҖ(%*@#:eM8(k*i`gDQPvEPDHAX(vQHXTE7t(0M;LRg"VLTd_u8FrI$p&ZhC'špQDQx++?ˎƬܱ (ӡ*6bK^@G.޴TJ`U)V#֩MvT@t`V(GuEt8w0fΓHۨmVĶB4:gp5 @)șԱ m]"&#KpzQ@7 -&.-MX`BH: ؀Bˊ*]@rqlDFJҕ"na+9'=f1P ^z9SlTlLUtǮX*P`EqZF>ZjeZlh%"kA2BZA kM)sL-h.n0G%.f2+j`폌nk|jӨ-6#}Nnu$G6ZLtkRc=O^&/h4D(!AKdtLLzFOkR/(A*s5 r3ZK5df0l7HJ KG7T:>jL0x G҉QH-i"0K(0Dvmgo1w{glG 07TXE@LtEtRPXo(Ş@4@oeq-rHL,q4p̯vL1L!3G\he&,%M",dJ&CU8ntdGslfÄPM\D`!1104'r\M132kfOR4S: M51N)D8 1Q8)/p\L"]p i\ GX0vsp |7:? ʉO{`AsNٜ\.K/r;+ #۳Lt0A51+I_p>0D.@.mAx{аӂh=H*[hpC 5Fn*>cȁ еb mS07̷TJzL/Q̵:˫}KP  3H$P (nj$@BPȎ4 ;,S2U5;SS5ElD8-KEA X!WC`/XGL4NkUΨ$ ^M q3+B% keMtUT:%n.6P؊5`-Y ~#$XUlkT^+| 4)>6+n vӤnxK9 ,XTݐ eڕC}[ kg")( vk%4 dmY Ln{կג m짥ΩCWml15SĘs% J౎Ԫ&'ժت&bwB_ݠ QxFRvGr;zQD5fJ\b6di݊po~}^{1wVmY" IWp4 "V; N[殺zO #2n,lߦ2[ qHXD$S u$B(@, mY"L@AwɅу89p")8&> NU'0Y#2Em_`X2IOf*7|FpCl t"HR@@r̜!ϭHE!X*n4AbV'? $'PB="<$:l!+pm!3p# dĦE&pm"'qgDO>*Lg`0wA|pJM) H*@"uޛ[Ն'['S wxqOqH >ͰDʑX|!I@B|M!r0 rȜ5onD -/^\ r#};@*K}y0{._@ ){GBq ٞ[Ý!r5A]&J#`d7?\@+3y_ّ@wd$xp}䥕4N=V߀'GAC>#9@wuBNɟ=`soұoV_KFWɎo-p +7;?CPGK+" ;PK,"LLPKM%AOEBPS/img/cncpt070.gifDKGIF89aw???ퟟ̙rrr___ooo///ЯOOO@@@ڽḸӼppp000 PPP;;;```ggg,,,vvv888mmmxxxaaa111777999444***666XXXJJJeee tttiiinnnhhh|||%%% GGG&&&jjjuuuLLL333 lllYYYUUUfffyyy'''wwwWWWZZZ))):::dddqqq<<<>>>TTT+++{{{---[[[222~~~CCCssscccBBB}}}$$$]]]NNNIIIHHHSSSVVV555\\\...!,w H*\ȰÇ#"VAŋ3jȱǏ CIɓ(S\ɲKIH͛8sF@ϟ@ JѣH ӧ yBJիX>\:Sׯ KٳT]U,۷p]s u߿q.Ep"^̸9LP1˘3?lX3c˞CMdҀA^z}UÞMqe6{-q%sɟke.uѯWٿ;nW(yD-@R1-0@' d`A8,߅^O 7u6@L#N<Ȣ("E*@߈D#b@Ba8u(ЇaqO1YL}9AOF |Y6n$QCI ȍp@ & [J5"`y@1I(?ICtک 9 #brJ˺tK M @ Hd$ˢ+޼ i 3D'()y2 RhP.S4%/t֬sU7ϛ@C[dAW6sH#7tpE@ PW-7}\ sTw-X?h'$getߴ6mם|C]N[mxFG.Wngϝq#xn騧ꬷ.촛@/!ɻR_ozu{ϟnwZdзiAm?u}~O_yC}YgeỌ/E@sY G$р B$8) lL4xɃ5@zCXVL#ܬW@AINAIXp(+ 46lȡ.~Z:ЁQyi fE WX "`< `DR0'!SWg1GG@@2)l,Cɑ>XȔq`ߺ#"HV@4^%$ha7[ ExQ2)7 H'L' P&E@ !dB 4s<X $Q"2nP |4'0pg@>V(ԧAn5W9d[>IT5$&X O"UJU*'JԢTRWO")wiSR@IQ[I$d.>@ Ț$ ("]+ %w ]G tA # i$ (TpOI > TeO*#s"FB U!X뫰d `*@|D']Ҳ=!SJhF5&8nQRdHnQ" I7sjU ϗ#t+n &娹"R[ uchBDYO<PON%&X2LG%5dLl+%ȹrô_@&VԯM'?1"gꉋ)O|lxY#`A A ӢA;Q,V1#?]vōbG]7cQŒJ9luy$k9U`bDԏrP,csBI t*;,=f/?' xWRd%g OX"XЬ-AWl,@(ZIJs+y9o'qI Q Kȵ?,1E)2 1#2 U:! s @NUQe!nN@k".ʚ +Y?L1=OHw+#@ ,6&NeI&r ]$˪KPCs|+:b9>C7ҽstP 1uN;UO uEz jsA^FH$;!*r[6s'ܦU[B DېP0C߆,p~/{OT 2a;IiMk㶍-@0؆빱 $ X_ 7@6 ˆP뿿s#dw4P/-pF$di!|{|xH,Cqy Z+]# , Y"`|}#}]  ۰ ^Z@/[ a}-(zzׂ0y0G8"0{ЂZwH8"7(WLeEt>!\Ax2gpy5L(&[`cw>(G~5c1ܐ\Ѕ]@ַ~\[0` }DŽ8& Y{Cї8_dSRW`u ?%XrHGqH9tAAa3!c~}Է{{'Ȉgz<87}u1KyZLz8})I1QYri=S f'$>ؑ9"alVw:Tܠ~' 8Է}(S/2z[<9}W<|yz荨ҁ-Y31'EI,  `ĂD "$&^Lb3"uff!=6Az0P@zݨ+h)^@}au2Gz2(Fxȓ.ٔ[y}yHycЗw'P7RTDXb"J#m h;BvA)Yri>k=#2 ~0@z^1 .I>ya)HL1.i~+[}{ 2a aY{ɝ, IqJ1fbhj5Z "')t|9S| `2p*z' |gwz3^z^Q 2~70 zS`y:*]h/ꡯ5ږ` 8 uaa2(EgDܐ,u5ڥwⳛsa'QG>aŌmvr9`z>b*d '>nBɥsZStFcCEoxj*9uuGWSWcwC3 yuرg>Ȫ*ګ:ZzȊ+0P:Zzؚںڭz[Bh$Y꺮ڮ:ZzZ̪ Qs@;[{ ۰pʑZAs@{BauЎ~;[{kY۲3{۹+o'&Rv[AkF8୲;[{q;[{țʻۼ뼥@4rں"۽;[{蛾1(0[{ۿ<^Wۥ{`9<\||=о @`&|(*,.02,|[E y)X94fzKO0HJLNPRҪJz|~׀؂=؄]؆m?FA-]\zrE<"x9VgK RTW٤V <pڨڪڬڮڰ۲=۴]۰Mt]1۾=]}ȝ܉=]$Cm<'؋WV؜J 2ƛW#!=]}-m@'>^~ ܎+݇*BqԯSMU.fQ|>*ͬPy :02>4^6~8:<8Nm0Ki`F~HJ~^|Qy/gc'`,7q!)"L&"(ݭf=x98npZ\1xzαp;7Lt99 >.E M,e2U $jt>ް]0!\ s벮]`p6x|i2>[,K!>^~؞!y춮ղ^据N- |]v.sdRׁ>yR9C. ~>WS&|sJ 9 gM.!2e f7/ o ?=sO$RP"#eU$(cO6OżNG#  1qaB5 O۵n2+%Ň|T> TR!!$[~k n!I_%xw$ߴ."Y5u_xF U1^v~q\8W'Ir#(yT,&' ~vR$St_DDF [bBt/QO`p 2.rNB:TUGr&TrG^e߯)!7Frn@Y*U:̌*UZ:K$XAjC%r B L@ pAɆ(ఃHHHO:iK >rS@ ,pd)Dm7J6C8 `!D@zl3Ϯeۖ[g9X&ByU/A *ɡ*7p#в"ND MRƍAȘ1[:B5rPD9!#:S5?"nZRέUvV?qaYrڱT'\ z77z. 'É9c y[ FӬ8P 8O42﯅r(2*j26X*D"7nʉ&@-n ꠼8.E۪+ C&$0茁 ʆ`Jn8@!"'ܒ3k" :8@Ƀm¼PjZB&X`F m0(!L <馢ΛŲll9̵ Qdw"#t& 5ӻ߽{ /-X)v!!˃)Hٲ<t3tP;|n)o~ xx'[_ 8~M yYj``P%IUZ/Q0:x@=mbt2AxigBa}ؔjfLi Ggf1K ۷4t&Rl'ҾwNf@4J0&0YaL"1]Ur8zQlHc"NUjD(H K x4C#"̈)bl!V@Jl8Ė00"OdN(^055LW2̈8Д&GJk#+$ [ ~D Oɞ "Qz:6ãk0P2L* DRDwmCŃgASiʜ>!O RT!sTA>KI$ $U 7&ĔDYQ sCBuDԌnimG:ʥ2\˙ujE撽,B.Ywak%`S8P,r]iW*+@rȘNpR01`:;fQz-E)3gyWiwRӥ^"ʽQVq٣&dnkRSeo{s7w އ +/{-i%0d @t?S_.k]nuSJ f ~_'pD1,ai3;r8#*MM+LT'p$++X17 yQ}Fpxe<٘dN.Ib"Vfs.Gf6Tseڑp( #8,Ĉ.y6k9\i\7H&y)je,t$(5rfq9V>oE6'sJFc 1B%r%'Ȏ<*D,c}=h&'+\f?S)P`\"0Ut_+cv7sY8@}@Ce4ŋt0qB)zyc֮L ~Ӿ̗>D $YVbhO;Bvs:9;nf[8;oH1LNV{@dҾ > .xYГ;A#A (|%\B9xAؽth6>A\t9/ B%K hh#)(€ɉ⸟xYLA=k52,ö! T ;X +K _?L_ٸ@aAP Wi  [)JD|cĵpDH+!I1J"䑛  A\DAS2Q7[kҳDAbn7a9Գ(?a &A+;`Kȋ>p| s9tt/u?ӋFC*F')#J\ ˷p[\KF8C'$_Hɫr{p # H[ɒ1 +T ZR [+Fd*ԂKKˁؐK {Tdʹrʧ qL x)ip9Qr1a} 4|kK|KKU걺L،MK٬Mf ?ly \ Y }Z͡hyɍPAX64 ,l׼MKNM,tژ VyA+N+뼊, =PMP]Pm.pP P P-Ov ̒m(ۖ@ _@HX@R$N̤LI⌈2B?0PBe1Cͱ2΅*"Xaa@ΊRy߇RHcXH eAӑ,\/EZ٤=.^c餈AMkZ-i=a ͊eCFpZ6ƍu (Fc*}|x˄9TwD$~-_*U+ʠG9̣p| _=H~{(I.Uf<ؖY}Md[%%$CNPٌ xnI! ޒ%ʔ),9gL#iAyvNrAȽE^+F[Eqs"DN*CF5h P-pzG9<[ &a.2>U]JьBN_c¢D$'l`Vh P1f" ` m֡| $؆}Z=4{j:jh jA kiu٩GHuCk\(j"p!ZF, va.̆ & Hflpf ||hMG̬Ȭ73_g?QǹSm mm+ɷNȍ.aI,I$\ vK=n0?4bAf  =6@Q$Td J J?Q =$oh?{a({o f DŽ2*9ʔeHD (, o2fFhpoL ON[+|m  >m!7"M\,q O,GVޯw1_0T /? x u*E?-ͣQ@EQ XQ R=rW.?/stNhOn"',)ͬ[bu.5,h3saW.`O#&tB5^$=,O¸\l P{fԓ9l?;4<= ?<@,ʏYBlK w!? C-:Q PxLTU4XD EE]CUNLWO:nUq9~h+h@n 2l NXQa0#C.`$J&| @ʆ,@6:* f@A(ҤJפ Yl-% } =QaGEV>m].bgcyљvl~W hhsvi䝈f џ"'Kڞޥhevz&JMPlj۬uJYjmfkf誡)6t0O\G(됡Y+@ԩZe1(4%Bymׂ!뙷Lkb2AIP&O>;^R/n+կBnp7ǐ(_-N;IR mrZ/6$TCt2rٰ4M;4QK=5U[}5YO Q e}6i6m6qm9LqDr+@~8+8;8K>]IPP9衋>:N-hBB1`B(mtoMh; ?<<+|g <[=ꢩLkWM$a;v???(@;tT=2 6`d- >V|ne TdhkvEK^$aBȐ0>& k*w:Q5.膞 " 9HHac Q#8K€v( "=q# I P@;"B/cx6jbf`( P$7ȉ8tD @*2{l! !r;S ) @o"[fd@Lry2@8@D4!@,!Ī0$$CARV"h1@1vюL70d1|*3ͥTSZ?D"dU h)VŢ|GT@?Jnқ` I0!:aQ&QLьmt*HMVS$%IbtE.iKt")FhHz2 {¥@BX3 s0C,gط.Su !p` Ըu#ޢķF7 On\N~2,)KE3Xщ_bf@W$Yp`d 4N.`ِU="0vFFb|6jYdܕ]ZNKMs:|R{.{uBu.79'&F$DVK-TdӾ51l nҼIf( @Fz#FR n"J%N.@`]|%2UV^ nkFJApHEMZ /x=+g.7-.W-^r?P #ډw&OJEc^e_^4Ho@!FUVaZ XnR!~!ስ!!aJlA !CH RxxRn""_ a"6#>"$F$FH$^"ŀd!&~"|Ȁ &)Gp)d@(f Ԣ-" (@2h0t |363~@ J'#6L tA$#DAh#::#9Xxb6l@7BH:@$:.A#+CHF@lA8Fn$AJBXCypn^,G$LHnt5j أIdZI>$K$R&%:jDctFON[dO*Dn9*Wz%D\B%Ue^l@ltWRBBC4$ZeUtV\W.lC0%aڅZQb"e l &d*[.ed<@dnIMn\h/@Nrj2 l&lnlh@z.>켒"n..:F*rm*n.6lm-Ʈ6o뉪BL/  o*/(Yo+fz/n2oݞo/=~.n&/./bnbH@[p n.~o">p .< p.j0o|# s0 +p:o; Xb/rq/1- @1.#p~ 7oqo/"(+XA#;)1 'q%{q#2'?6B(")O 1!7q&K0޺B8,b-#1%w1kqԲh0cb1o /%Cq+1((L35Crʂ@A-r P22'+B8O>p 5mr 6<17pB>Gb?o*3HA‚"Bhl@ @14,A'`ۖ!-C,PD$N2B@(jA(dD@AoC$K$$TutB6@%g¢3, D3sQ7kee-;~S j"&C G?'2#l6\?( h?m #AsāJ¶ѩcH " ^psbD)VxcF9vdH#I4yeJ%ض ۤ X\ɠ`)£6 ܈@Ej0"&>>@ٰ`PEIVNx2FҦ Tde\sֵ{o^{J.;SngСE&]iԩUfkر>{)iPۄ u5}ujիYn t9BOBESRZŪGFmK(({v۹w.wE (F S!XFn ƳCHtljbbJ <\p bPb3`(omCXb; >96XFC 1D,)@2H} l|؀;q?JqJ( Fi oa 2<ͽV&8}h8#j"R`B-"8b4}H% d@#@O@RV ;PK DDPKM%AOEBPS/img/cncpt245.gif-/GIF89aA???@@@___rrrߟ///oooOOOppp ```000PPPа999,,,Ԇ666>>>;;;111|||UUU:::vvvyyy!,AC dž"!BB!"߹B  BBĐAoZ[< A '`C!,4E~P_}@o"6 9*+A"(krP% Q!nt86)!"a Y8ohР. ehdX.߇ep .<(pljJޑL5sPƅ( T3!1j;+dWنXOZCQA5CՍ??(hs,x(^52C0XoC0ŲDBd 2Q5y. U4HiDU0: -CU57GTM3d ẄH>z #ՔV%xCL4Q`œV$`]HT\O Uv®Dd`IeXي)O N"u*U6ž6Y5jF'gf g?d$tR!iUF p{.?H3dBD#j8G eAd]#)=(IM!LL :ٰ+Y[8gf^gӵתhV`iudA6sl0XV6tYDwnbS=KCgnlK%鹘$B8EXVWn_#W=f mUh!d#RDr(M3 apTsv4i|e9=I!٘mL  0 KCE\Z S J f$&L%@| K_pxC45< H"HL&:PH*ZXxE\}1"fLI\Fp h7ұȣ> IB ('dF:򑐌$vFa;ީ\̤&7Nz &Ɗ9BVL*WPV+gIZ2̥.w^ 0Iak:)2Rf:Єf5 FI@nns8)q !&9өsd4)cr)#R =Ed 0"B"*PEEhAqЁK>OSuBP&TgP(iR`PL=CtiH( HHϟ ?NgӚiSw QUQ*NQuj!jSiQz-nCMbQUL|YZVO5k_Z X(h7A]@bqBl 0!` &ZB@Zz EvBOQ) Qu| _ر V6@ܴrŽeIpBtPm6ݛ)0Z:MD V%@A% ; !6Vk9['җ E~߿Boa!@R`CxX ,<"; xpADM+MbLx%n=qG-Ar!@6O `p ?` 2u /u@UZjtU]UkeS"Lr'/9-3`3/GBPuxn{\-7b@kE@\aBy&!(l| *Ro*\bR*E/^_adt'NSMy&APx'.`߶!jAH[cido7=Ӡh30B q{޸{UVpkO |9)bv{WQLuNxڻED{ \wĕ5' %,pXnDYWOŵ}AX{}#vޏ CX!68B:<uMٞMHjNvcܐjEXoX|`Wj ȻL msHLmC@`V㗟 KlR }J >, ] jcKY$gE)G v"w|ΩzGb۹v6jS ؜܏lB|L̿CZߨW̎UZWg[(Ҧ"Yuj/(mltk|{CmӸۿ,66\ i<` hFjfd\MFX F^&DFO[iC ]BG K-Lk6 e/NJ=`̙aZ=(hP_}$ذpv`akfЍׯ0CԝU*CewEbU. pB5zr'h\Ӭu L<{ܡDk-}m EmC }ƭ\[w> =Cӭ m]iEي yjٌCJfZMv){w k=b-C]ўx ޮ"$\ h RF ! ݗ/ mM?LyZ:g%a mWPu{9B Y ފ.p\=0>0l6~p@Մ8X; p&էƃv]c0Js2N\6ɢP;Zpdp8ps8vxs3q8}ιZq((IV>^쎾 ތ쬔c } ~@ i-gdNa"^RIIF>^~Ǯ I ];:T{vd&Po[MkZ= "?$_%_t$qP=}ۆciYM&Ca~ @`6& o˶MM !oNP?(P ZX3knQ֒//nr+`ϓ4'rDeݑ 7Rxz|~R/E} m*Bkot冟 i A0YtHϡ^Tݿ nK>\v.~-'?cO ruV*|eɒABCB BAAABC A˥եC񏈹քAAՓGP*" J`34q3jȱǏՙhBV5(S\Hv 1 o΂Y2DTR)]ʴӧPJJW|@MmJׯ]rKV,ٲBƞjv-۴nߪu{ 3„$Ysg*![r-;ڤΌ>;YEC \PX{[CDYs*!)(!:hPk'y(άO+Jzui̫FOz$Li! x'3T"QYW" ") *ye뱶2A(pB 4r2]!E b% X"f cբ^y9Bx;c!?,v+'FȁCp'#1.)  S`R )IE顖p>I@9& 'G)x ;ra!ק5PCiX> : cif֩"!ye#YXˡ6*䩿& .ꓯV H+,:홦 [x,#v.{{{5J~뭛 HȊ)kʴkK2^"PR@13/k[/ݪLH?.(7 l1G:'RГ2$L7کH,'C !]ƹU\av[qMe}\kե5?;I.U7/p#zCt5/9o[&AJIjlbMRߦyɮ~ݮ| f @@8!!LB ''Bz+motĞzP# eȽN0 a8 ]Tx;bw 1 !8DvK{BψH*ZX̢E:!Rs հ@$  )ya!z*Lh$2MHB򐈬>#BP4L10c<- "أDV2,IZڲX#HCۀR  P@5 DC({*0B*NõgL:ש!(' ɢoM>IMΛNxQ>7!+jB覅J>4L))HD2qtٌB 0qpi eɣz'! x&i%R 42/RgTXGZ)A*#0:` XJV|zJ*SԦZ4Z-TKtYrxT6*,b V=a\,U!8j~mDКvɬ}D#ldg~F`w{hcYm0q~gW)0ͮv`+AwNj OqbFMqoz;_拵-8U3 @*܏w%M#Q G?`FEB|T%foEi_񫵕A8R a')pE  mGBq,a",Du6W ޵jjm+[Soz1y A7^Moqv@8a_(FF-%#Ee.3,ړ;j 2L"y5#g9Cßsκpb*ue}hDGѩiDːڇp[E0]8&y4e;PD e-{>M:*>zn>XUG `o[gݱkTӌ&unmBd: >L!ƦW#\fΪrt%EhoֆC\5$/y BA-3ۜjw~rYܾCLAnG镁e\49笅W]T^ Q^qE]S.]iu.\ig ~=q'E`Ko vjGD࿃ʣv{EtF Ozė~e|x̣d;?oЇb{mzj^}!l_ ۽Fȉo}τ^}1cG1><}o9#~ʞ3|LowtUwgvT׀8GuSrY'I  vGDw ȁ{|b6A)(Nxy%~ķ+xxu.$"'t 5w~*p=GaUPRW0߄g-K؃MhybWV8=Hx}ib^h L @PtXvxxz|؇~}Xtz4AmX0KxEw$#@Vxn~8 X艨U(}XNx_(}7 !؋8 @!x2}?،!8Θ 887K8Xx޸ g!vhG؎Ȏx8(xJ߸9Yy*ȉ ِdՎxQyّpaRZX(!7Z耹v8*,FȂt84)E869:[wwB0%h&\]H(04rגRٕ:xUI 2WYÕPI` cUeykawiOy|i`ٖPŗwyy~Xfh~y)ل$HD2gjhO;9H)uIyi'%ٚCNwyplsf6j#  é RA8&9*ќEě HvY~w9BȓfHs7 lH )Tjl0^WgٞFuZٞZgЉڤ7@ɞ55 oArdkɳ@ajQ!p!~ZA*j,~YP Pc#XbgdA\a][&W *.J4SդP@dLFF#-]mXVbꕍiye[0CE&8JX< f̀hxtˈ8Cs4yy Wy: s_ AOi4m`ICYC;A'3VV~Z.>K6$?J<Ѷ CG#5c=z_1^vL'B@?Zm4CpaQ!Ϊ['zWZ !F_ < ouخ0.-*c7kIKٲRڶx֧9iGʳ c6֙9(Kp՚yN; 2&%Bk6Cez hʧjBOˤ`ڶʠ x[T5z[0鷩}۴@!c K6ۗʵ|;;Kv* l ۩t[,h{ 9yBr+dw⻲YxZ^t {6&* zaý{{ y 㘷۾A˸̻K7؜[˴[k4k: +<}+̿r irlf:к 8 :+a ~,R,nk7 Jyܵ +q9;#=Lu N&JlDZ*tۼI6dnnmcͦ7<3MM=S> :Okj$oFu!}VXʰ֔)#y+bQF.0٠$PhMÚ`o-N2Ok`y- 2f:7Okmo=-.~H 0bg6@q^o}-!)$馵Xptað-B6M؃.:Z@sOa.QcXEcV\Fe[tȲ-/3fnE54"M~` \zU P|:#]?xqtJ]xC.~gg@S<8:_~| izM;thVݼatΣ.@AG腎re. ׁSr]ќh-ԳYK Nȓ+=gZ:u֣O~tw/ӫ_Ͼy5i`(߁&6;Άv ($hsO,BȢ^2hc.":c%98!Bi AJ6ycNdTVeM\v`)di時;PKK2/-/PKM%AOEBPS/img/cncpt311.gif1GIF89a|[倀@@@ 000Џyyy```??? ___pppPPP␐ū<<<999///ķrrr觧,,,KKK666һʬ111~~~jjjOOO'''ZZZ333ooouuuzzzUUUےAAA"""FFFeee ;;;...vvv--- ؅888빹444sssiiiGGG̢555WWW===\\\TTTJJJ]]]:::www mmm777{{{(((XXXRRRnnn xxx***NNNccc222>>>fffbbbVVV%%%́&&&|||qqqܲddd###HHHMMM$$$ᙙ^^^)))+++kkk!!!DDD[[[CCC}}}lllLLLEEEQQQBBBgggSSS祤ttt;::!,|[ H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JGH*]ʴ IځӫXL0`W Ke_.[۷JAÿv˷_^]텩9G3kk 6uD gM[zxUq_N+"+G3]NR#fMcVϾCSE@|j1P% S] `v $h(,0(4h7G!<@)DiH&WTPF)TVie;J\v`)dihlhb%S&r3uI]{اxJ(NJe1?B:t:j)p馑(稕Y~i"ꫛ_**#x_ʘc¾Exy&AJ ^ _ˊXZ^~%ߞ_Kn_ٲוTL.\7 n]] on+^s:`0.0M?,1Jal9@@XXw}4ת]xG|bQ)?':xzxOZ<lwf/V bFر@tP: G7_QG3W7}S}X=I/)4/B#?% H5G= DFy7VЂ `Q4@L@(L W5AÂΐPpPHB!E60&e_Ё Kxr Q(Ds+3-ɋp~4ضFɠΞ3-\ MDA x`5OS= hA(u0WƘ~?F=Q \ $ Lcc@AP+ Fs2iF"}r4a@bJt1OJen` 79i(d"iN}Q` !c0ے֩h2u=b) `2\TpQu"B[DU5u'K}Ɔx`}+, YPV#7MSn#$H!SY$ wq]SO"T2wnPlycX`C nv"mmNlc VƹL >(ѥ"|g h$tB+Te[ Y .X 'jL>ˌTƖ fs:K.] ?#сR.tB^,X╷xUYj^Շ^|qJʶ6)dt*2BA Ȑmb#ʒZSrB2lT*˕tKdN4]WS^ͤ,UǣQQbu$;͍r)w *4%UW4y%z2WXr8iح줙+#l n[aRZ?&]O hDi;79d^@\X\4A&b$`g,0n8@r8#"{skGħa"0@BC@* WT D<&&HqC 7O)L:z/*AZH^t ,VmW.r\d. `:|*\CdK "/uV &K [0ATrc=hF_uP>0j 4YHdHoN/* &DG5J`KZ Fӥ_ש_Av&3o}b6͞B` Cq@ L ጳU: ID |.trQ`q/PsW:wsw\s~Zbycbk'2b4.1C1 |Hv !-Jv|aWS!vc8P !P!`O]pK  bP@dlFY cE6 "F^_5`(@e   0 Up T`f *dY9$ؖ|?`^uY b  0 `  @*0E)=Ay$R y @ i@ { ֐ E@ |=yTy.?9Z!cDY:êPXꊫwQSYPSn1@[X<vpW_Q#tD`뚱 ƪk0iVqn!Vp+p\u%0fA0u ~5[v4%<+R<0&!+,@ZW:ov0dK~0tU  Q {As1a 6;[{6I nSa:P{:|`gK/[* (0ΰ/P\|+$`8ۻ 57R@˼P bS p w` 0S3KIk%о;+MP5@aRۼRP2+" 9 $5 p$0@"<$\&|(l*4~P2\P^*"[ # _Ě0!;Xܼ? ~" f@ Đ{I|PjO,Q1q@Y* 9  b #đv,Vp S\@^'r' U :PQu{Ysu|Q=a1PVP-,a|@)Wp| =H% ,p%0 1Ax|}D\߬huHA;`uL!+@&Gz=@, } \#"!~p ѱL_qÞ]7$&;0M<=Q uAv@? Ũp [@FmJ#1:< yӄ4ePYF+$$-GA2P  Raxgmp$[E=NC{f(!$=.s6Hm)5;{hQ p `pa=R,͒v1zQ-@m a|`LW ]In:$bQ1A3RHM3 6 "{~p @ ;1=rX2EW!0Ch S:| *@Np=H`сbM$ # ``4PGIڊ.46OnSv'AIv6%2wA0 hlZ diuUF,|l@  p7  _d =ڡ2UN$ 9C3OԓLTA.h A0M-ur:^^Ǟ>,;P1ps F>y F 64}2f5Lյ:Qq-%M! 1aa)S{z^ /$o(,߾0/F(8g s-#5{]01E"/~JN׀COP*w>{Ȏj#_'_).// Byڄi2 O:P4!xu܉em.ON;ƫfͲ^<QF> +'PPQc@ &!:Т@Bd 2$FN3 `d (b4)1_ڐC+4Ö..eSQNZ*&nua:DBdZοP>mˑ Aa H͸ǐ#KL˘3k̹ϠC] iԩUf-5/hZ :vm۷>  =zAʖ;jcA$iJ.aʤiN> %jt˂fϧ_ e)8:T̈́bk: kn笒n:` ! )N2* 36;3BkqFkD@&`*>ǷÈ}p."d**PТ;l<,=m &NqN:뼪8ʲ*"g%P90BNs`"r!.}0!n,/8CDsTuUVҭ,z6@ *P*EM2J@KL5NS4EeMSb"VF c-KE‚Lj]"c $R|w_~+HY3AUqMR]|sdx+pW:wE<#gKsGjXCcf,tD2;=PWd6*eu(ZC> ahk`0>:cp"4E5GmMvIh oU+m}ڟry!9`'zaGD(D@epuc}vm:vLM~6-0x֋B"ZC< <0Q't> ߟ>`tIm&fuNoivؽ-|)y<8]ec҃@*aIDu[ #+]K ^.@dY9Cޢ峆(mh,σ^BC0P %=0A0q#VW`zVjm!Na'0 E@sqECG!{, > |9aKԥP$.! V "@u uY:VUɁ8\Sw2XUq!9vkaU,yy_EeH?ЉxKvJFn` _1l#nd'2x: #3B+`8)=4 ߸D!Y@ ($UDzPV$8@%y= !!T# {.H-b+~)HA F0c0D5C ` IsK8@7FA\ E#> p!(B]ss(`/9? owZlbcz)-VVepl`4A1 Wة@pOkZO.H@+lNH+^J@Nj8?GLCm?g|}9jCrgQ|*._wӘ?/Pte)i u]c'{lgr;LzS iM_LYƇXq^'| Û,chv\i $wbIu)z@Mzԧ^g}' $S哇E-Ɉys砗lk*l1 "LjEys\7f*qUu!cW?엿|kalk !Q1Y@ʖ$@yJkx@ AA,A,m@ B%8AA,jlAy7 B!<\!lB'"#DBA&t@HVsU(M&X< m`, k4)Єr=0q`bTAP0BDȚB:dBlLXH $ P32%(0؀*p Ђ1!X3H"` Ȃ47PP!HD#,>sDBLDLDNDPER4ETTEVtEXEZE\E^E`8cBdTF;aFsFȃLNPR˸XG ׉ xԯ`M=JSS$ @5Q5S =CDUT P H[\< 0XUU4ՋBT2P}XUZMU!I]9"0]!YYe؛dNS URA==ӪX86׉G݀ 2ڸZ{WS eRBQpZ'}!Ha%[pE ؐdI =؋ҔP׷TeڹM-' ]R]W\\ٓQEZV֓m E؀X'յuѶݤmUl۵4,! ,m ؐ+]5=UV׋h^XZb:'RKc$դj-~U-[ P>xװ Hq(]8`JU;-?V׸܄=K]JA 6 Uې FW<T.`}%R}T}[tTG _Kcau%b,ΝHI@[db#A!#|u[U8uS Qلx?Aub0ɗ `IGF`3G,[@( ,X%c8gH*`qPur0DX>b)q(?x=FK+de Cbu a3kvcܦdIXHgu^gvngw~gx~%@ֲWRyT U-5^ ՒWe 0ؐ;dn%|B(SP\K9:eiK/Q6xidr6Ksh(]KLi&(|xJ.#-gjj@,֩]}iXΗߝE[e|2b P>؀FȅQvuH&(hjP T`őxd |ɸ]}-zн۩]ݍ8Nxh#0D)%X.Y*NAH c(5s SfKJ+ 5bc@&X:mbꤋmڶm ym`WF&KE!V T __QܫZuLoY-b>7}k.Q^0-((;8J@ltplgbOVHu^U ,ˆya<2'׋(B IFU!mAytItJtKtLtmtשnͫUY??sL)⯝47jDoPEEYuZu[u\u]u^G1`j>P>@ ͍(tHVW@vmvnvovpwq`GMkǍ; @HQ难ivu>Ul'w~wwm7>jkxOx/shxvwx)m9xx!WxWxyxmxqW@yyyoqOy*ђ=x XzozzzgzS[hqQ[p{ׄh=9{O{_{o{S؃{ׄ{ {=8 (|?|O|_|7|@{ 0 O{{r  }/}?}O}'}$H; =̗s{Ji|~o|8A( 8#₯}i_}~~?{*Y`~<*˗*~ p{U ,hA @!Ĉ'R$a!ƌ7r#ȌP*Wl%̘/2i&Μ:cxa'РBِ(ҤJza)ԨRsj5*1ת`L!0)rKJ 5 P"!@@>2nҮ`0vt뎣LzW&uc /#Y )A B_+@e,k4H7# !%I.w̼</運! ᎍ q2=rUp$NWPH&TPgv@3Xb,9WrzEОLT H$,J2\9F塎D6Q 3@P6 8Rc\pD;fY.@'aY_IӓxpOQtZ)Y-%WvqpݚI7a];~[eBWsFN]}?\d譏QU K~;V%G >:;PKQ~11PKM%AOEBPS/img/cncpt073.gif=KGIF89aR@@@???볳OOO___oooկ///л000```ۈ ӦpppPPP;;;vvvgggXXX,,, sss&&&=== JJJ666'''555fffnnnkkk777yyy333iiiщ999VVV111LLLqqqeeehhhbbbrrrͥ|||AAAjjj\\\III YYY***www>>>:::888<<8{czG{Fe; :q &xTy1%^mX6cz8l]p?[`ƚ9`fz!feal @s!wCEm_,xViek !\ pmD5fu ה~qIYE@^89pP(!HTIJio~\&$aEGA`]=e)-l1@y&Ι@aQeXJ @iPlã@V e~Jꪌ;`mn9ŹGf-MYB\*eC|1)aQ Ae-% ]oY{ՖЖnY//9AGhAE/;% gY^T1Aꗞwl#;2^hl.*m`kL7-T0m f i 8mXZxeVc--B`f4b֔@[YbF-`EU}BUCGlDɗNG.yF`)]KN؂ a]zBX- dyWݧj~xJlnfzNe tBbeeԉ)&'dhOP)6r;8iF]QB=X@HSqNAzág~:p"M"պyk"@(j ?S5/҂h&Y *2daޠ%]]?`L.fE*bԯ@dtjL?Pyh.z&Uub-IBP2C @_68#jDYhltc00MˊaBY/:ÐH1u^ xd bX9ǴIO*I:V. ̥.KBfHT(91_,H+,f,Ck3&]vnfI05-M҂"zpͬY9% L'.T*)|R>͂t",Jf5LD1bA7kpEUQ39]eʊHi.0LgJӚ8ͩNwӞ 8(K, *EzD( W9ҵJ6^ !oemvU\J׺xͫ^׾~JXwb:d'KZ,[xhGKҚMjWֺe-Yڶ+ v pKMnqE@=9,|JZnM1\zW' KMzo{Aڷ&%LNpPn$ 'L [B6{ GL(Nq`gDAgLy 8ۀ@L"HNd$7.`XXβ.{`Lf036pL:xsq(WdlMBЈNF;ѐf4 )$Ҙδ7N{ӠGMRZ }D,հgMZָεwk\0MbNf;f6 RLȶn{Mr@ Mzηo|~ȔO;Jϸ7{ GN\*x2e0gNN3wvw@ЇNH'TLԧN[XϺַ{[PhOQ]ۦKd&Nxϻ(- m񐏼'OS_@\;d/0GOқOWֻg0yrp@ROOu=CX[Ͼikg^їBOO?2e2t8Xx ؀ ~L'~S&]}(}x-`pс} >`p@{(h*զł Q@pp"ȃPPp`TH \x+  _ Rh+0RHBH^x%ha,~sXP PwX. p.`k35.hHE0䀅F<8( P\hPyaaQ&@PWH8QY8@h8XxxNjbax_lpxXXQUxH(8IX4h_HqH(K(*( fMX(؄YCųDYFyHba 0QٌMx0(PS P2 `Ɍ ``y;y"ȅpEC|ٗ~ix[NIEA C{Hyh[DhC@5ֳٙi=t @DɔMw*Ȳ dw89n ԛ-鑬Y)9yFMg3I[^ĝ*QxURY(عr<ّ q0I+I pɛAyi ?,"qy@jՠaXk+>P*D8.e.02h",.wA*PЉТ<㠞㐠 !/eSr:9yYɊ/:蟴)>@ٟ>p,8Z7Zi93hjڤ>@7:  jgn4Y9}٨fhJ_ʃZf: `:苓j:5(!dfӺ29fؒhژ~ϙ(Z=~ ٟZZ:ڬ*XJkxHGٮ!{9 ʅYFʆЬʅ)jg: fxe4*$y!#(Fp,9굘:ʤ,DBұ$*$!X1aěĉ~CFؤp4h2lCXL+99=$ϕsXP *<0a\[o(`)"膚j9ǠM8xyt,j܎Boh$i WZLىXȪ1I*6EU*<{V)Ž`t `RIXٖ1xT,w+D .Kbʜ¤ !,hLi/̊\8xh¹•s( ^?;8XؓjY| WڍLH1a+_X.QWgGXxX5x)GhIy,lHp@t(K1o+G!lcͿe--l_VRA<׻&=HU1kElmi]ў"ٚ%gًmڋ%AAك ZB hƽ;)y\% G܌X#T 鏜z 1 l[}QHW2]PQ+@a8n% }]םݏ<|ܕmVX.ݖ]  >lĺ+/  pZP2T^V~XZ\XȜ›6~]*`YHCI۬١%&ZZ|d܌C-XXX3XMŅ>;*nnnֿڐngo$ +~ތŽHq۪); ɤ#Ј.Yl鋏ڋX(͕Ð^~~ۍ?oK(>PkIj@ ,7ʞ$^+OtȄfA1I1M񞂢y0X~h~sh4X907k oOl*B )s:֘Kգ; =;ΦCwYA:4R,&{tIS Nj,@x*sKQH(t{[8a~o{4T/VeL=MSk?GX$:M|x`ɘ >돎_~P%ï݆/P #XA*|88CN,+ E!E$YҤT:I :¤YM01t(AN }@PARqSOSlrK2EȝzJhei[qMeNA%5ؾ|;pNv❙%ۑdr g2qջYt>OsرeϦ]mܳ.Ţ&4aTsѥO^ y>hͼSiy=8a{ϧ޹v zg<pzTpAtA#Vӯ #pÂ`aDK4DSTqUp;Φ>Ñ 8z rH"4H$$bnƚj=E*)%IK0sL2&-t-34N;H MTNNEyi"tRJ+RL34AM+Ci|Q%8aUV[uUXcuU贳OCrԚ`S2Uѣ2'#xPvYfuYhVYn,6EMԦ.6إm( 8# p]xw^z Tˑ * 6W H)&ǁ*8wέ@Tx$6@'.@]:z¡syg{gqA_&)5M܆`&Gdf *`ȑ.p]Ȁ(up1"cW`xa V `p 7pW|ê5vmt<&ۊ @7ȚIs}fAvҺ`z"~x7x߃Ɍ07 j 7,_.ԁ_]֝nh1r {ۡ;x~_IyIr !4Q22Dz; l[:|;A2cl SXva| `LQMVNf1rf@HALPCX @c ch:TsT!Ň0 Z01{Ƣņt(9R·fI@2"maDҰϐ#gpahrHL=oEtVHr &b@G<el@ wJ 9y&H-0!, Xjg) iHQ52@C_5p0U$ 5I$ &: ^V. _,pwT6; Y3azJhs)6 k&yqϜX|P0Tvëa@3PJVmIJbӅ)is-tWZS$ 1.& JwRvQ]GԾ8<կ4r6%ǔ,SUkz:ǕxV֠ +f&*{^ ʷ|ѪI2zXdZ^Ա\,M$YT6dY֧6_UMD{6/kksYо0lٻږ$nIZ֢poBq-\ے<ֹ`avM"^"lj׭#ukb$Uo[_&ֲKcYң p~ WW n ]ȂŬ`K0`W=aX#&u`RXHaTqm|cX;q}c Y?.Sw-ɋa:\GSr|e,g(ޯ{8|f4/Nwf8Y΄O3l+.yvqom+}f@;юcxF84x3dTZիfuwlӣ>iEe\Z׻ui.GMuMd'[fvf'زBNSޥ ds"I`)>pJ-+(-hAq*{=%ocH*[G+V6(V(`xĒ-|8ĺ%)ڍقlA롌 DeHQ pfrsd Y Mr4#aíj M -P. 4Q'fO$\$2M [r.}Ma/X H}m4__vr$]; & WLw&۝$Pζ&a x2o-VcsA6fL)~(F4V`j[yGirގ*fVW~Lҿ͸|b7Me|IxiZbT ڵH??:`4/?Fx  ȼ609@Sz Tij< 51kA{A4 AAkA E, #ܭJ #3BX!(0!x-.+@,  3D!%&,/- BTB/s4r‰lʒ@$AD; 6 G|DHDIDJDK!(C=|&p5O2%S2(躮𞚠8xEXEYEZE[W|M\5^R2Tl ))yWEg|FhFME@lFmFnFoFp@ q )spGI rpHHHH I I]  A=\IlI|II\I=F)aGH ˘隱a H5I }2Jٽ* V,10#x[ %8/!KKKKK2( EEu c+ s>(̺X!9rQ8JK+HT Aۚ hM|M،MٜMڬMa\9ag*$$%?ҋIA1c>ہ!ҰRs(): ɀK tٝ:KQB?S@ TATB-TCCG@bLY͉B ViVjVkVlVi%a-d e 8Io$tMWu]WvmWw}WxMW$־כPQXX-X=XMXz/{U{StIX}ɚLUg5כxfݫ, }YYYYu$h  l% 5t Ģæ Rt©`I;Xh8XEZ4Zj[}ۧ@JٺM[[YښhA)\)Q##M6 XܥBpca7?3@\ $\wZҌ!с,ڛK蘖Ӂp3W)ս,ܵ&l2 \˥U ֽ ÚJ 9횤ȈЛÚs}Rc<(|^~b$ZTr ޅBtT99`a#3 Ͽ{&j(7M m Ե enۉ@ $ߍbiϽۛ0{lVZ}E0%y.zZrh`z~piB.jEkh#j6j둃몒둦ɰky_.k~-0xNvڰ > ^][6v.>6'!@M-lXئmmn=lX/x!H/>zm nHn 4nX pnҖnn#n0811oo232x:/#َ0X .̵q(3ppp4(pP- XCi ? p2qp14P ew^q–e"w-q3Xr*p@9P톀:ӎ86rNmpXm3*s8W.'Z, %/U1x8OtEG~s$t0sxDWtOO1qs~nqx 2tYOsS\_lK L W)ubs8q\ FSt2QV a/vk,7o=#$h_ /؂q@kO)0H&}[=|w}w~wwxx/xxQupuxqX."Y*8_K"E8P^QE`Ly_gWq_q0q8bH Tϑkq%POzzԘWyo?$'v3d&"*VE*us=@wv: a^b4z§G织8cs;$'݂e|ξ?.Uo+' ps¯y8pR_{s=*k8<,Pz3J [^BJIyMbWOwd?| P|+>C>xP ~B23f*蓩Qx~~G,h „ 2,xfܳqG@!g"ƌ7n@"Grt 'Il%̘?Bi&Μ:E7Π-0.J2UA8`G$(GW98`ƒbZ,ڴj*D|3#)޼ фm#Uf 0b43n̲-P6蘻z7f,DHs4XmaɪW4ubȰ]R1! 8nMq1ziiSnڵ[eKX{„dFsdLŒ$I;J-Bo?&g߰G!tIh8`!A0TVixU}zQ~WSScہy rFD@(zǍc!2u!7b'MJp,!ta ^ Ag8k THq=8,Q$j$$-٧~N&0%<@ "iq)^&k(2 &}C(p&rFH'iv⹜0~:j(2@ E4\.8{~,r*@qE8j*qjC(Ft ֺJI;l &XaPYtP 6APp-zΙT붛g.9P}\{(+,EL+̰KLk rI8/հ\̽ ,\ /O\o䆬B(5Xu]3>D}4J\.ݬNuwްT0I~:ꩫ:뭻:>;J~m<3B]Hw4N[>&wKdQ8<HP:>>髿>>"p W辺cl664mǛܔG2a{KV`<`zq@\Pİ`e8H&&)5DjLI/GV<`a)d \ 6^$̀\P lD!GAn>DZЊvzP W6Z􋰴H|S6)lﭓ^}NZ%%?oRTH_ *`#a4>F{_щګe-O17*af_&ץµ/KE*"uEnz DŽj]X&u=cOӆG%KLH Mf⤛qs:y(d0Bg :JƸn3*CI߆\1[g&QN擆EsP+O%\тQy"Y,茜A, g&VuFҍyn6x?T!6(u\s)vr S n-i^'fr0B 5V !zSd \M♽Re8uH Fo'UPCʽlu,+A>! (ap0 ԐaBD^:WgV '!̂E_  >EThIV JPa 9FRs|}01|b̠D@HE20i{@C4MhB 10V@*8"5hc 4vb.)瓄Q#TV7z1A;$X8FuQ;*ƑcCCK_gۍs(-nZ}IPq?G*8$!8l^\]4\$0A.C'88] *P E&.p8p3F<@ ~$B8B08B4a$)l8"$& CQA < `TE̘n %vŤ/d>e.#Nѹ5&{:oPYqNt~dPSxfUh2ƀ$>z[eAh(V(b\|fp" NE dEO֡Y,Yf㢩MNE%TE(V(FޣY#iA.)Z4iYNF)18 \)ofJBMJT0:&V)piځЩ.Pi*Zc @eN /*jM2)$@RjNA*O^*M0%DcMx .S%iC @L,@\`{Ebg88*68*>+A  OBPkD kbۉj-B2A ,+kĿ^*|&jgZv¼: 0A܀!VlK AY(Ƙ!t8ɚЇ:ʲlK,|:>ց.D<DA ƑRj-K$m) llͮ*}jpA,W52@rׂm~C2ABm+$-DB|k&@6݊j-K_*O"T pͮm.x5(n8bm ,ctVD( (*0#H=vi @a0'h@d.춄%0 ԁ -@4%BHA5@#0"tB3(BHA`A୒VosXBXA <B'/h Ł (8A#8XjA FV 0 0 0 ǰ ptX hX0)B!q!\C"A B%T ̀f@ /V~1110@`g q @t@dCX@xp X}8<2$G$O2%W%_2&g&o2'w'wM |)2)/;PKU==PKM%AOEBPS/img/cncpt227.gif!GIF89a@@@???>>>ѽ''',,,xxxDDD]]]qqqAAAUUUEEE///󃃃...HHH +++zzzհCCCꊊƓyyyrrrGGGKKKWWWwww(((XXXͬ vvvϣppp|||$$$)));;;<< O&ATms =p *$+A?;l;H?4 qP " G/Wogw/o觯~q/oۿC'- , H L:x@ L (;0( B.䓀?L򩐅\q! 'Cp [!ghDBܡXC0C,H"1dbwET"#ŭTRD$ p÷:2 e%T!G>ъO4$#"(EGÅ#ARp ݨ$#@)%Jp9"TC( 1 # 0AF$O*f0JY4X G[FD @-6o4 P\<0/P 9d<$CH  F5PuD>R )8)hN ghjP _*ě y05΁"BCZB 48 ׂla 0@4 \?P'P !Av{X@X \NB[ X d@  ?VQ+&$X8MJ$3;Fp F$lYRA  LP |ByHE $UHU @fHh< *@bP 2Bяg|@?0@kPNoG-&&V/xHṝ;G:0ddj4B~%# P@$0Z0?]VQ-h*q #"@ &;0\/`_R@'^wp :4q j0Ж&;OB+9\EgabAC" V$Fذ w!t!?Hl/`'B0@ lJ\>B88 N^hPʨN8*$7H#o$!$0ôGHjW{H9`&Y/C[ GE@KQAqh1\ 8@܀ 8BǸ4<]A%JB L!P$܂4U6t@UfShA- '(-xlz؈@A#fk)l%P>x66{ sd@ H]1#)Δ s}WŷF'>! _xFF% uBR="=!0r ==%='=)_(/=1=3HF>;fFc=9=Ar 7=G=IgH?>QSIgXY=O=W_h[ȁ]he3t@#p TADArzAb>se@x? @$@p 0@>Q-( p>Ha芠(8Њ󊺸iX>h1xØЈ ȍ(XXxh  1XX>l(W9>1Br 14^I-騌HKّ،0(~`j(Iak( D `(yp(ɸ=00xLP Hّ8y:=N(GP:b`Z*,=0TcI+(ѕCFQ0sLPkyȎ㗁B)8:`I/A):0wI)~ȉ@r X?W` p>H=9{؜ι@tHIs Qh(C"5(Ý)y<&q:i;ٖx\QP蟮[!bHcL3 ɟ@#I\㩘!9{Z="$Ȟ%$'-z#%ڢ` 6h79J.J]@, ;85MS%&J"@Q)}8ZN:6K:M:;@%°y0P^22P_JP_ Ppp $P [ IZq*s6up :p @c y.Pq E l*?* ,ʤ;) `g@ G@ u PfZADc@.0 Щe0nʡ٬ r apQJ dJd jb%`  M jo1] J0 hn PAz & PO@ }{m*Z*'qW` B$ Vw0 @zv tp )3@ *%{OF< b yL X- o{ 'wyk{[p d421Qp0 ٺIKMk5˕[ŻKk˻ͻ˚+= {==k =[,6M܏KWU|<]Y\36]@.2c| g(*kŷq(*Щ.lǜM3u[=390}DŽs> BI2O=GSY ď > bieYʛ쬝|=q)s) Lũ=)HN P, 9- Kp02aa3E$0(TW (!޴YCyJd`0IvlE  @A p۽mc Jdа {q:h z ^ [0TӐ0U߃藭{X.٭בڇnSF}s->e}sZ Rm{Hm>~ிnnӢmn/>k=Nn^=N<9(9?9 ?6 / ?61  "?$_P 떍I0(+=i08:<>}V`?H0SkBTM=Xw=^ϔ8ceajg#cO L 1< 4"* ](0|VKf34|LF?d>M_M =՝Uu9`5&}ư;  " )Ez(,GP(85?) Tۿ7=^cPc(tMc? aC%NXE5Nb?bB.}hK1eΤ Lo(ݠSQJE"I(KYn?J;y*@\n<ԟ=OKku A{P|8.Etb̙1Zj-`#4TfA|R>d@TpAtA#^)F,CCW2TpEk@.` 0$P`#$Ŝ!Hq='F\F 1:bF.pbrpuh@"+'eMKx&<p(܃DO%Ōql&ǝ[1 C"K*(Aa"sboС d23yTN@hGx8!IA!$n3Z{-RXuYi )Dpqfa"aVQ75d88` ! V! rGa * l?\ cQ2CY c^R 6" 8!" ,K!S"@Dc09 =x 1E0 8 (@P \ HbD ]L኉M@/0d7(H)@.^0R"Pb&H"Q\DU(@  BZ`,a@9`۽@p\ulxz칚܂CV3S@ˆ)1!0D1,XD/ s1Αba%N]@aLh@3@3=,FXD&bܢ, ?@X3WdP a pL^ ӗȔcuM1T0؀DYh<Z>>!,@pH,Ȥrl:ШtJZجvzxLv ,9xֈ2~.B~~+/<+x>-<<|I(x)C'o3|>G0<)<\v<(T>v<>#''*M0,<-C˨(C*0B-'>3)Շ+Fj`Ư 䊠ˡŋ3jȱǏ C ɓ(S\ɲ˗0cʜIfeCxɳ@ JѣH*]DxZ&ԜTU.\~%@heH%˖J; X۶qw=߿ LÈ+^̸KHq3k̹ϠCMi$å,װc˞M{6F&wC]rǫiu>Y?{{! ߂ ~ x!G݅"hre|,@ ,PR D7ဎ88& `@ H-C,ÓJ@ $ܖYa0LCYE_ #fyTAXC2I~'A\>,xh LY Dp١Ѹ@P l+{8AVeJe8h ` ď}E R (Z:_ @Aǻ`|O>xL+.'k, ᤺J Xi5K%>{BB|,6*l։:ujRy< ܜsT@6NZ*/ȢudȂr ${ (N=`eK1.?w[j~ @j hyda8@Yq4 O M_ NDU*Jm ^9@-lOpcKM"xoogD 7tӟsJ}x ! W RpE ?hT@8& \xA҉`iv@ .uH&:PH*ZXqȋH2hL6pL ѧ0x̣=qIcIBd8򑐌$'IJZ̤&7Nz2ap@@!t<%*MR.RZ%a%J 0782f:Ќ4IjZ̦6c2?8IrL:v~j NMBiOY D'JQs`ʁhE7ю]kֺ2Ϋ%f.mm!MJ4QWM{:NGPwԨF3jTհf*X{ն5s]վ9]ka?:4e3~6-E:sζn{Mr_ Mzη~ ZA"Oi:.8}:!\ϸHq&4 GNt0`ʗ0c<̛8sLB :РU`B(% !S@ RHU>\˰պTܡU>*Vt+v׳ H(ǐ TфCR.2fOD@xе Dl<5"ش a $@Ճ d | б?|AXz=@4iӨ f}ul[o GqYn7e B]]{qgF'A1HPd !Qxcjv$2B(a<fb'ADbH`")ҀbI>Y\y"DPUe>Ġ6*diP`z41K3^U@8c]DF`$Q8l9U&[I\څ)aviNZ6i؂ fAdA"%jtXRC.x0$E٦^=X֬acȞH~jW JP+M2Y B*l)뭱k@P <`Rk-6K[8@o hq ГqEY %WYԭ6&|/{ < #@ 5W+SI]{Y >t XSU%-`aJvEp`O| F^K^nvĥP@bF*}:b_q D~I7 LSfJ1Z J f+h@|b?;aڋsȦ%XD[-IV31.> QӞ8 l’P2qx']@l#H8bujzif1 D? pm.Yp"R!uS"=#JC*($,!e"؇yN(ŀ) =b ؃d)uEF'i %RIKI#[H @#OA%Z@iZj([<5A EtWwLIǑjf&iq潌]ȩP8|hbO%"-ՋZ i/c̗߫b(w1 bRUN؂20l1D¢&cJcڃ5Mdj#[tOT|-!#T%ŏBoykA1 _K2Yܠ$]ieK\DyX<xb~&r%u3,1FxΤEvtUL:41I,9 i޶F`|Fr]JɁ5iOI i!$Ml9ڈvA-08*!a5? > !qsX&4<" #![3ϖe1\e}(J7›!10܍*/ 1>atHAawm-Dv-|FaqC0 Gն#xpJ=m{bl(I&ih/RUr8r-.i+.#Ksu7}C8QFD6j~7P*5aI#Xcgl8CleJ*v wi-N,zCΎ;A P@NOrHS)QE?)\O?<;?/נg޿Oe:??asxxka(  )X%AH؁ 8!$&x*)%8.т2XM0X8-3837 )RE{AA3p3p)#Oq4(jӱ$ EfqN*6g-͆j87{*p,#?G1z`!-h0w5_ASG{Eղ=9T|}Ө&0Cq/)F"Y@6[*PQ^ &kLY{2WRq4?6q-(d"iCOh'g92ДtɔJnF=!4 @"-6zdvn]%*~TRE)HfFw1 ,o=h#sq#U!w,& 4)[?2'yRЕ<"(Y5P)!DsfvX(4fxB)J%RGD3_!N#̢86'7e9&ZK˹"a,^*v:]E`$&ڦ9e$`h4N#Ɉvq<Y#^',i’$S`z4wt/862a( ao8 Aۘ2 ףr"2!uUGw`gB퓏"%s`#QDv(YnAf(0cJm A Lqr ԋ dV" 3uU$HI-r3:YbX~XDs $S%?Sp}$YcuF p4zEsJD)eN ڪ}Gy%zj~4جJzԪmZ }ǘ|ڭNMZJM皮LڮK=Z70گ&+SRKLJ= ["H*BB"{׃,$Kh-^T*6k!k70qkɳ@BSA[%FJL۴NPR;T[V{XJO%%Z˴+Y0X6a˳ gxG;RD'{**[u$WK-d?fgeԸA_BI5v!S{!49[k2t{/0j.%&8&ۺ6IŻ f>i:?gAu aoq[F:q1L>B=."@bm-,򁶬`" *QJTHJ$h$InLl"")o8h)S% Fs'H[uIt4>wv"WkN!3“G Jq(.BsEе\ԽaQ62I$?4]A)7W@DTi3^Cha( -P 2U#a,k؜u\ e ) ŚE "^(v;2Kn2p/C,5˪pch<#[C[x;gfX;S%B,(,/A$6": .bm:"XH<<5Y"HX2F9X"2~U˧2")^3&qE6BQ-[>QP<:,4^Ey'4Se-ƺ<% -^po$x-a_LI[۾,7SͭdMHv!~*Bɒ-˅4.3EҭˑKg|lx4 Wy*I1fh7(MƭG6c+ؕJC*RD? uvhFc{k紽ʑyNRѽV%L>=!4Q~XZ\^.@o1dd~hgjfp jq~oapnxl|jNt.iu~^h~Na>蕮zN~N~kN曾$0ec@5N쿾®^ ~.Ў^^^ٮ~0~.ҎN>~'>^?J5^_/$"*O *2^A #0^6/?.EA_&47o=B'oJ,I /V??_l/SdMjXyV_^'@h}{^ >=ȞooI?.n^kzo/p_Y~%? %:Ԁ"E iӅ>:USf%W=VJM ϖk5FrO"p4i\&\ذ´&VcĂ@Qԯ҅]̹A1qS<=p5Y#iDE&Q(+ 'NMqɕ#|xѕtD]zsݽ;_Q]߹N=q1;,3D:l@:9BܓF\Dɤ4?TN<=dCS#mRH=ʹ:< Si=Q[E\5OyP_ C\tCPEv\ TZUa` H֤80OWOo;OHTMO ppz( B @TPpAN 0!OP|=a# 4@KWa6 \0Ciq')Ѹ4QLc +f PpQ H8zf#C:5Td <F.QP 'H;Ґ&VLB$D""B!:(-<RS* 0g8EG[g9K H'<Pλ-yN!BA :t  2y<%CX.od1brif({y̧r *x^/d__w @@,@ 8@\d@\@@ 4@ @@@ LA,A@\T;L Ȁ@4- C$B;TEDDTG Ȼ B&܀G$ALBMDL\O|HMD#CCODD@"T@dTtE9|BYFDW,E%E=XtEXDMVbF=TZE" Kt/'Fmn\bFnptq[F#Eu,Bhs$vDy,Bvw?Lkd' Hi^B\pLU E%dC\MG t\Bb>GDH:H\dŒdƁ<ȕ,"D %I:H|Hd”THHLBC\DċTž\b\Cȡ<ã|b,ɓ|BŦɚJDJu,GGo4KvLKoLJuvHstnd˧4KDKu˲\BDgI),5G\C\L1 GBISTh|DLEſS|cJ^T$L?LG֜gCהĶ|@ GلqM8#HHlb,DtCEHߔ ̤LlKKJ4KNO̹OdMd|OK DJ4ML:tON D4EH)4LP5%1 TmQMB$TDC]M+5D5¨éҖPL}̟U@THJ? U/J(UQRSYz<ļO&]K,5_mG05G]-`5b4RLeʜTͤӌEBmB0V6l:FmS"^SuV[Fh5B{5|m,$W~,RАrB?XnQGWMMUzS7LqF^:~bK\UeU/.BG~Z][UJ>LvDd"d}BdENK&ePFee|IM',JOFYc]ddd -vGXYuZfc=Z>C}^gh_?dhv῵MZQpneSe),>gLvgk~RrSvc%z!geaMb?gRh#a}g~"f!U6刦苆cDU:F;6ˎa@.'hMYfBcx\dfimf6fZNGbhUdG4fV&Vꩆ.L}hMnh/4Q'cGC|vqVe^cboe&L4ko&vFnjapp^Է6f 7aoEqYe`L^)mD`qqtFfo=t)_k>r~fJ'ZfKgnDi j@GD<]BSs:~A_uESOHܾ^ ^1^7g`a&:cmmRwutg^}/]g̅{ѿE܃&vD$,w\-i7GO_B0p1y= re#࢟rFw*wpvzR"H%P,h „ ?P8( R("F dxǐ C1d"8̸dˊcb&ė8)SΟQ @dQ:Ԩ^Hjj8~8˂#8;NK>9wk9?c9衋>zɟ~:꩏nꭻ:>;-ָ;|#<<C Dp??O~?7(m (x | E rq@"&l` S.|! c(Ұ6!s>!(! zѻ ! D|b PY ,=(rQ[\dm) /`]| M7 TBP$F8r}L8HPFDo",$&5ĢyCD<6D(o$ -]6o0@+5: }\(G 4^#p`*(@րH"ܢq6tɩu|8!@F4H .A³?t@H2u8 f^@0" Άr4tMt$ 9` 7(JE2|RptsKYʘδ>h1H",T9 L1K* <@Qc7Oձ:e :ɪֵn}+\*׹ҵv+^W +`%,ld#0Hlep2.s,fC+Zj(gS2b6 }dK7A-k/KV%n+\ֲk}+Y!aXq+]*Ͻ. pܕw+-^E ~n{+_'0zA=&J֩~`m0@d|ï Vp WusJ8:`6x" SϜ \h1G4C߳*%l!_%1rTV+YLJ`AUNOe_+"P lF,9 [HT3wz A`І>4-h Z. XYZh3Ck@H@k,Rz) T 'lՆY@̣ky3 2p5a=hh` #í,(q@v-iS6 @&n-q(wmo/[f^w]Lh6qmлdVDZMo_m 3@++d%\j_6f8qU!ϘIܭ2c.px:)!9Ѓs8čs֝ Bz:mt;Pys]FDukfznLu# v܃<4a|/;O 톇g{^ģKxR#P@0Tw~닟ENe鑒«7J_%z}Jo~BOB?N)OJLᛠFy>"2zwT>py:O O׾?/`;`1; I`Rp^a: i9 = ! `  ]N "_>v- 6!/ q_b`n^:^! ֟! 챠֐!%ab`1b# J" 9b""E$b#"z" !) Q _*`VQ+*nb+a-)*"/!} 0&1P/v/6c%#!]'J3"+bb R6N%z=#E#9"*"vc:-;ʐ9&:c& ,"( ".1>18$EPL$!CYF T$ 14 hR:Q$Kp`yL"!Ԥ 5x@Pސ=%TBeRVU^%VfVn%WvWQ@;PKgW88PKM%AOEBPS/img/cncpt075.gift_GIF89a???ﲲ999ѹooo___OOO///쯯ุ@@@˭𻻻麺000---```֦ppp PPP,,,vvv;;;mmm蔔444XXX ...111YYY 888222&&&'''333666yyyLLLsssrrrJJJgggjjj:::nnn777"""UUUlll***kkkiiixxxwww555\\\ddd(((ttt$$$fffGGGcccWWWuuu VVVTTTzzz}}})))EEEFFFhhhNNN~~~AAA>>>|||aaaHHH{{{%%%bbbRRR^^^qqqQQQ!!!KKK+++<< If!2 tb&k2Y1Nu2^1ow9"B9CF,"! 1Cj '23C A Q00gX +|AF ` ,ӨEjs `GJ׵tkAqMAwEt,AX$Z1q9t.͊BG[cD2>h];"&38 )y 8\h6:A!M Aq8э\&>Q@XIM\ P`+$QKrrud8QlT%3U]&Mo\K!rhc5q πl@ȕ-)gJ[Ҙδ7N{ӠGMRԨNWJO~Y-FĖ rJw^MbNf;Ўӫ -kn{MrNvMiǺ[Ќ NO;'Ng30m٠y GN(OW0gN8e84ЀHOҗ;PԧN[XϺַ<&=yA"m&.hOpNxϻ._?%BCNH;񐏼'O[ϼ7{@70t ֻgOϽwk?swn̈́ ЏO[Ͼ{Oψ?O3L0Xx ؀8Xx'S S"8"wA|,؂.0284X6x8:<؃>@B8Ё!` L؄NPR8TXVxXz &xcBH0dXfxhjl؆npr8tXvxxzFeWF }jXjI\fkcj8Xx~FhH8Φwkm؊8Xxhhk8XxȘʸ،X؅gNڸ؍&<Q`q؎8qs0x(w1AvH(996qm yHmuYu}?!sӐ񐝘h,ْ|w?H2?  NރEaWFy'19v39N(UXAa#Kv;Xi;aH])SL:>@yB7tYKYZM) &h*+U$<,EI%#WNq X5PYÙ#%* +fmoɏBwy9hC7E>ϣ_)p>=pYG3y1xٞyzY!Yyh[YZ)#``*9DKUZTj),PZIja׏H9С ":$Z&z(*z q:cDc!cPi+a͉DӠiYp{xXx՘cK٠Y"uTњhN"X#>GDfj \e:+K.*pǧ`-0Zzکx٥29`JLu;J Z`Dabiaii<6 0=V>s`M bbɨ*'Ԙ3QɬژZN~JhoYaPϓ洭.:60:a|cꚭzzmZt!1~(E" 3 [HIOZ=H9!7 A`A^ kzK a%VYV%F+뢿i0b7"L۴N^ey0;:#:o!>3s=`“೫ E3b;#ڦD,[_*iG[ D:F:Dy[E]3[@dFb)]]WZ`h Z}˔zZܒ듄{k9W]cP$LYUILXCyOSI IYX$;Z5KJckYf;I:[+$OGD)M[]D[XaQQm{Dm\GP%R! WY?4X SC/ڛ1Vj5{[[Z G>65emYSS^?qKR6딣D5 PzIQۛӳ껏 9[c6ͤY? м U+5XjlXT;ǔD|I<)ŀ(X|"µ18 27P[F1i@qOgF3OۜaۻFc[Ԥ:B뺊 Ȏ,kA|v`:ݣ+:b!ⳤfbLUJʶPtf٦Ob#v` )V˪˒A>21$&#E!!+Ek24?#9Kc<S J1zΉF8:JYGN0Ja62+5i bHy:ͫlY=C<.VŬ&Q4ՂYG:g Ce]; KT|1P;b,8mN:=<P-@EԠu\=)\@QUfE И[]+ed;I=L:CEئ1ME];`*Fq,FH]Qۯ[!YPDْݑcI ;6]N&?:\tTGuhgyZLI[ScݝI 0PQ LdI9X{UKx;ɟ3;:,n^~H>،l[!>.*H!=1!v:'TwS#Ь=a;~:~bZ:bC: ]6ƔٌS9̫=>ޤlAqͺ "m[N,pP\އ A 4 `%Jt`pń(D `#Fq@* K1eΤK$!A9eMTZP(Q:  Tn@W Z<)Wiɍ,6ʣjΕ{N|¼B_FqV zbȑ]ə#cg0/4.iԩUI٭˦YϦyg1M[poO:勶/O<"0E3uكG|s"tЅ Jn<9%W]>q?;W%T H @8HᱤT!(@/!:-?K4ĉ*@|! "hଃx k,`#EƝ>C5TrTŅRA+ 6%GV 'ܘ,I5tS8'R!3'H+bP.r`jڱ?3CޜMG#t89˂-1g$'P2=4/Q4.Ia4VZk`K.ӐJ2*Zπa}̀Tݏռ\ liVm5\_k0:jʅZSU`s]ZW[) ![XJ:>Z# `#_ƘG}3 bJcM&I(7>ZcU,\yN)yVeEh#tAg?3׽ժ1#hꃠ*52:fg屇&ˎiNan @w`TtoV`X`TA(`UUt4r{5pθl^[O_hhtฑBw ЃDxKres|,HKUH`D Tɉ!Еw&=&ӫgz ft6*!]?{xi/!uQB_{8Ȱ4դ/p×xG%sOؗ|DYSud!br{h0b׃ITH',(',h]4 hK2p$yK$"P ]XA!d*YV0* x/ _BdM` ֞!$ < kBp]z$VFƀ$h 6 FH-4 %e5$LcTR2!eHLUedj [0BqKd* 3F`Lf5oՖK nyLk8[d@q&@_)Nxeif:F3<'RӍgAcOu'ƴdPQ=chG'CN3uAY.Z=ǣ+MHW$R$F4=X}K,eDQSLt6 tJPԧ hN:2$BMjUE'aHSezkUԄ4ul^M̬(B+BԺ?qRI^(*cC<48M!T׬V>X#HS1Ds]N]rׅ QzN9jF]6 p~;G8!Nq|C9@4wO_~ D;+QE2(鵻VՋQN* u#OGAh}"<7#aNBk(VM L?EH!t,V3ې$]ފx$nȉMb(ETJE01ؙ6e8 K` yZ z{&G?QxG $YC+Zqf=BFi0Ͳ^ēLӖ]-.xڑ~]`O26ꐽ=e $vyynS䪷 sh]MtT9]wĖrxFoxV7$Suߥ{hB4t( ,Ž %CFMKo1[y eҗ\\ygDЙ1Oqos-R^y[.Fӛ>RWKT'eFFK(ƌX.-ՒBNwhA$tO $]F*C #HBY;jt7?˝q( hH> ?$!𻾍0JcNɾCH۾O1H < <@# 401AҨ(0??`3*' o2bYq 0bF㑳X/ (¾0AB+|,* , p4dC(3D4;;UxNA4DcA;<bћLįyDK#.rB R@axID>* cB: A*BءVɾ \| qXX? aC3FI Bu Fj$I'KF"/)G s\dп F" u HHCX<LH\HTZBcYA9J DsE:HSL,n,ɏuu#4Gr\Ȧut1fqڔ ;L ‹ XK;dlK|K˰b%TKKKKK LǛHx;?>i@q,J1@9C1i - ZF\`B,@M.rMʼ #ڤ 0|jfSOqQ<]SSъa-8R#(-5A?RY; `5=xS d#-KqH! TAT@2DMTE]@}HqTJTKTLTMTNTOTP Uq`CL@Gehc4 ac Q 3 X] ӫ qT[ňbxzUWp!$HS8 'R (SaըT(c(dŨ# ҁ־Spq:WJ׫3xW*WW|ݙ}-z}ׁ%$d*q5Xli]ؒ)X`ׂش85X˃5տhUؑ%mГQu(lYkXW,M !XU YkYz؍YhzY噗ԈEX٨M(*[Z [[-[=[M[][m[VA[ZYZr]DP[[mZFAH$H+KEEH2x# [[z 4Q\\\QՃ'H ÕmK6Hו3]ٕ]uݶ~y̰~>=^M^]^m^}^^M[ {H$X\R4`3838=_M_=870E(\]~=z++ M+# ``.`>`N`^`n`f`\޿;'^_X_`>x9_ }RˈTr,̺,,i +3 b!b".- 20`)bV~E'y--BɭjߒH.ˉA΁, c@dAdB.dC>dDNdE^dFV9Hb*=p*dLV_4,28݈#/?1/Y1r /R虞<=.e_e`fafb.fc>fdNfeFf+fqe0W #!ð#òX 1[%=P]gghh.h>hNhF>p 19khk~m.E^ / Zq^gT2"1qFz&5ذiiiijj.j&3phFMjhf3Pne* "6 !89c"'(3*">ˢ- /"6zAkkkkll.l&l1Pjhq0~lk~fսlQȣ8&#`5{D5F53i%Xڮm۾mmmmmŞ:rh7ldGaf>nnnnoo.FV $@q؃~K6+H6ngzg.p G pOp_poppp oFHqH)>qp\~ "O Xq6Pqqqqqqq=pp!`6 ho 1(r 4r,r-r.r/r0s1r]Hq(!_M#H]rGi]s=o3HFC=tAtB/tC?tDOtE_='n3 Hs6tus $Wr:_x}tPONp=E(LFnqBtFt6qxsrM?+VP`4Nqt5hZpFK]^_vkrXH2e7(\v^vk_$vvtp_qh(hEtuxR/8TwUVLj;֚ft6PzhhJ@#y/y?yOy_yoyyyyyyYld\ibk ؽ(I͑;-Š)pjFm<'h {{/{?{O{8h~ /CiIz i O#  2$ ? pqP3Pv3Hq`z#z[-}?}O}_}o}Dx> @hPO$ ҨZufTqOr:T L~Hfd ĝ .BYx|) iW_mn(#,h „ 2l!Ĉ'Rh r7rcq@rT@GHn7q*G΀@pGFBsKE&5  1GJ.D S&VC(KrB<z?뗤 SHQ.0:s1Ȓ'Sl7\z$&0HP0bFWn5زgӮm6E5Ӵ[pvOUN܈Uc"Dq V}n :,@ 1@V o:09v.\ р#eć*"ĠDFi0%x")"-o P],]G\M7ȕG5HqU|K7$@%9.R5Yߋ~zW(a` 4LFfX}>faK`İaVZ&Zz)j:H0QRhtp94R2yY jG& B|9V%^8t*ki @kM&`Mt!`@|8*wfkqn@hAK.fq<oF.]x*$(>jDAа) ;0 IҘ &bv}UWgM#9[rr |Q,d,o)X8_Z"8MFTfz; Ƹ&-, F"A$=6c "H*"Q (7} )\j}HH' ʑPru*}P@"- #ԨQn筐* 99,`+q~Su4GLs`(qu 0G0@& r0$F&p#8b B8 mwD(7?nf d82 YB)0N`ki?%-[K.4p!jc֞U @@ _2 >nr_)" o"ᔭ^"ZJ}Ic3;T#  U<˅VZ '=8!}D!шH\_?9~t *n$¨MQT;"ZjǛZՖG鑆}awqEa 67M}-L% Y9C>1%!oyH%*"=&=> 4 ΄ $Iqd(N;6h:YB<iҰ@ (L*-.uK5*M65ŋHY)Ssi+)NY 54jGyO*^귪媿*R 8 UY(Nq#[1΢rttRhP%,hC)ڈAE UY#SB$Fu Fl7Eilm)S;|em9T3-$2qAWW6 7sZV6vJY"QᶷKiu{Z/vrox<.T&>ơ2(K7apVxhul*YvײRP-f92%3N~2-"S%xq{Fӵ ޖpG!H,9ӹv3=~3-AІ>4圈&Yo J)jct[+4g6Ej@0a~5c-YӺֶ5s]׾5-aدnu+W/Z 퍸@ֵd1+ZcJT̞/{<깆4E8ATjP7}7.?83ft?bf`b%\f*A@q|$Iֈo7Ӌn; qHKs DfB &F?:ғ3N:ԣ.SV:dʞjv_8Ir!a̮'+DzB;V̜wlfQ97r?<3<#/S<3s(zĻ<ЩQVDЩ/rL;?{j8>3>/Sֿ>s'R5TP#`ˮ[r3@B|z@@MAAA ~ywe T^ fn v~  @!WحĪP\#4F4N#5V5^#6f6n#7v7~#88FU WEZ]Ph;v |h!}Ŕe$݅%Z A X8@T$` 8 H$L!lbM8A8%8`0A1$M֤M$NN$OO$PP%QQ%R&RB@9RNKc&.O+P$84a l8+b@#'8ā ,t)B"P K #@A 4c>&dFdN&eVe^&fffn&gvg~&hh&i@S9>Z:b I%knc%#VZMA $,dXVe8 xK삾.8X8Aa i@ x'yy'zz'{{'|Ƨ|'}֧}'~iWjjWMUU? `ҀLCX%/4Bv88 ](BMl&6P%Av (֨(樎(())&r~>Zh ( !5_7<8䃎"$Ep@.%8(@ &l†$D%X/H8 `(= ,*6>*FN*V^*fn*v~*@ƓrkR ԥl!d d,0@`,$84ÚD`$ 8@B%Dx 8 *P |+++++ƫ+@ĩDTRX)}U-;͂(  ȆȎ,ɖɞ,ފAT+Qޅ]ׇ fh@-&.-6>-FN-V^-fn-vѶĉS`TIlVe?j}X,^ h@-..&..6>.F8@آ m͚[WiAmkrO^n,پlEj ]Nݵ ,.FLrjnٺqn ےd@ n>% EoqM/zʆ- 6H(,6[ϴ ƯR/άl֬ o^k(dD]8p`SXJ\[@ L D"G iD0$`qwmBoœ pNqw@ ć'K (K h @r!rHJ @ F@ D^M1V^flnޙ.ޜ |4@ UFTF&qG8@ #Jq"s}$!2HM2%2'ϔ'nSZr\*/߉q݂ xrp6A0!^2}Ԡ"c31 "3GL?`c>VI]9f_(lڬ8 p91@|D";&r\= a> 4EL]<˅pFܯAKosxD{qEEӭ$ ts@`]Ns k! @@.HHs8xlH@qA4?!S2nQ4u#u)5 rl8@"I$@[tds1=]^B2CC.͆Vaj$ Xc׆l6nEgguhs_`/Q6m@ȶGtn;ioj^0KDwq7n w*0F'uC_{n$ď(́l@/܉"|PAG{O9KGس1D{Zxc7|?<&pI5 28o#7%`*&@`y/|O}WǷDžš_JRܴxx @'ԄK/9-88h*t@`yLH߫&t8ƳAL \uOλEq@B*B6&K$.ۇ=J֯DTUsl\s|h ~ M X"KWXB&/η2rgcAT,pnEװo^vôPi/>R*;:D`ZLll#ۈ5/RS| X]Փַ@o 4)wD@SVC;bg=w , Н >P68dpDL~.(I P>浉-SBHW  ^yFHN_'4.Gqt\&>i߂oNINCK: Ot3o&~(F9ojho9`F'n].o* dcܯR3Rk6-{q(O''+,RBp5XojXm'b)~t*u't[=)50cUвU+Q"Zl8A.U3eD]4LX#^%9JC{&;\7?N5ڃcS7eN"Bn@ETƩTNes (XeM\NIVVVrxiT@jTlNn%Zʇe\rXքN8FW7°&>] ib[YLFz\FVφPmg.e*dk|nĦ)hziy{{l)k|gnG0jU#+F9vrmǛkmM$hpn[_m(YXf־s>'t`eQG-GxtGsf;O&[ڇxFueyy(Jz{G(QGjg|'sGWi/!IvdD72>\rI\2g.Ixe^36U{ˬhb܅('xcH,~shrÖ~mi[ۈVh7ׇ̱x+cyjnuW\dZ#\>tFF$?ϳ`Yjɛ-13ny" :Ircg jɱe|InWIBIQ^tf+/9'F5E(إ|D 9XEm &0@ 4 sH‚;z2H Y@BF2̙4k`ҦΝ<{ 4СDm0(qD<4ԡOQd95V8z4 bرd˚=kRNs}jȔ+7jW 8&-6\Œm.Hk2~t͜;{4bK |1]Ӧ-~ ;v^ЈED-1n|"7Y‹?6ķI#`oE?Jܕe1:Nw ٟ#0`|ޅ'|>ϏLB~Aǐk `}R_ZH*` CPG aM@9#@|#2$>!PrtaHh^AvjIN!9%P*9 ++9# ##B#G ` $,+( fvd[Ӑ 6djMvPQNghF# $ 0 T *v‰@{"C :`K>IJta) vT Tmy_jo-"Xe˓=1;iK-JP` mB eB* P*"d/O&2EHrAC`@pB )Zɨ P@9@*p Qa.]@+skv)rHH69Ћ!,ZB.b{+ƧP!,& zP.Lc1lr]~Qؚ6y6m ɰ6UQn5//LΛ&`}KϏ1oGB.? p,s jotyAؼJQj ҷ@f?Gf`, a#.x&H UHp< qD,$*qLlEP$$^ 74`\0qd,ψ4qll8ʑh8 /XN@2RRKc7q(rl# HJr%/Ljr'? P6Ҏ߉af]qKJYZ%Zz[`-o\r/ ` s,1d*slf.<")p@|$Wj Vȸ3sK`UPiJRT)on'9Os$:R@(lgЄNe"gt(W +@8< GcJ"y#FpVT&A3 Mo,)FɇӠ ux:mHzCmS P~OjU x x)`m{ w}_nqMzh `x s,,G4.{k,@),Od6x3FhGbƔ8'Nb|҅Koߓ. q d蘜tbd!3))(oeLe)k9*Tg H-Y_;7folFS8S1&^LE>t| @ zЄ.MόHf@B/LkQzӜ? PzԙP꘴.n_ Xzִo\ǩ5AV` {.qk_n mg'[v;PK_y_t_PKM%AOEBPS/img/cncpt029.gif#GIF89aU  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,U H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sS/@xAy_IիX/~m bZ`i4-ہdJʷ߿;{wsN1Om.WBa,3RӨSwoAgB[@~f6_j+!NFwpS"+p4|khP|@Y@O xW~Vh!LGraUa1݁e60V+@Mu8SRB"5 1mق lA_Xf7]u@pn;` wVĕi#@N`%Tc~埀*蠄j衈&袌6裐F*餔Vj饘fS|iWE5T8*:K *ѝ@@3iꯌ5I'k2ˠ`m9 P GZx< +<n,Aa.{a61׹m/~r K/W+A>IV\]%d0  WpAP!)+!+.,Zlwg 쭌e\_V t^iAw~pklur"A͵U;=ЩWl; 65)U)amxu mijKz-K-Mĥyա'ok^2oZߒqC]MH/o'7G/Wogw=_*o觟1?=,.oro~ӟHD!@'`@ z`phmy Wx B)a@Px5ġWþY!8&J#Ɣ9!ta`x*X 8? >(6֏tD5n#H? }vHHhQ0@@YA2|HAZ4$:VRd#??BOT(EyERUێfTjl+pibi@2BPD 9Af2ę0`nz 8Ir{)lfӘꋧ.zE{Pǚ5qgAY}BeXUՊu@.Lrm;|d UَW YP(]Зf1Ø̡q)f/#sh9ՙw\9J L?Xdؚ5<Ҙδ7N{ӠE*Tdi"= qfMZָεw^s&ꅪ0Ξb߈Mj[ζlÁ gF,[l/޲;A 趼MzۛH8dٖ[KnXPp@;|"8Aor f3[8GNG<`pbOe ⿂|(wK{g¸ z3'H 51ěP7|>m}3` D3^ύI¥NvSڙ5^gx7rw8_Nfy;{v4>tZ>O qv#~ (Oj۵7-_t~z_zC,鳝vGU^-FhJ<_~?~V9Z^_.%{ w>ޡef0z?6+&a:zaZiDgq'DZhofׇ͓Rcp?ձϓRy?j!ᄍb\0H@xPY(R{P8q  qd(x'x<4DŽ;xF,7!ӊr$rh#|qs 9I?>*hւ@!Cps11€A8ZRx;\y! H!8!;pP8?pb9&wߠ6r9nH_8(ykRKP0#9< @If`2bY3PaBIH|#(w87QzStјZ; Ga-a:p);YiGycɷA%>!{.ًizX9< ؈#Qs< *(4*Xȓ㢧q"nҢ2y(6;8Z6c؄Aʅ4jJskrI0$ʣ;M账lڦnߔ]C++$|;NXPppYu,w91I~LQ)ĸ\PVYۡ2uD&ar#0w! T 8ґ!00L3 q):+h_GyтηM:X42A*\% 'Rky,q CMmgeA1v''\;fҗ~|U `,mdfMo=:_֔*}֫>ӫ;Fi5"~]sMגj|94A){1Yy6(<,| yKz6jY({5, a6IK !QѻҦ]k]]&Rf hQIį ߰x;|1w) ?+-,&<Õ!,)2EbitI\ܝ;"hR"jC/ᛶqSM $nhA,F"iY%w !ߨņْj]C^SM%Nu;&[02% '3zk""ظQ%A+B0nzl%b۔xAA&`Γ!3+!q6V~˱ʼrOxNPA!y`ҳ}sݱ.߼Z'=i~G_a™B !=۲7-睎'>)ګQ=P>ykA] ]Mɝ¡U}7M=4R-f2p¸8_kܖB 0N /-ҥ .{]JKz1!rcR6xheA-=E!,zlA 1>\=8H➴](ۯiĄǫ۷Zc14̈́Or>*,ٵ  [C̿ Rt8s3۝/nG7Oa6rt7!LM%:뽏8LnPR|E9̼L{b?>ǂϼÂ^"K-N|.2δRA?(moWL22 V-`pщNnaU_,'oQ ~ͺ  @ _'?|z̧wE  )UdK1eΜ ͙`92bOA%ZGHƌ<o 3 Eo0$ʻC"+FB=Kΰ*2uBłx3^u Q85oܹM-u.*iԩ&Um `0 B #A<D_sykf_lA_CȴS '&9}khRZp$(r- |׼ ?P$lO07{F28`;7RqO0P6|pn6l︣oJ*C2@.D>/}B?+o"z7_zWDGjsg1$ɹ=劤w C(Ol^3CFR䊒JTSJ,0cmmKYB̬uE5SUvX@XUhu٠eVgvDe!Z%v[*٢ŖZqʹVfRz5m?orDک`j9~} wb msa\cMgE虁"<HБSdNn,*ue*~aYSb:xY|ߴ<, K~ApjC퓇0;FwG #A86zCiG%=CY (.;#{O@]9چԽQK-hrlkjx*$ ]2:sHKe9 7M>t,bA;x<a#(Y0)#)H: L9a d?,֩TĜfOc-4MY~;U] xҔ RgQdcC^ KxB0/Z!Z005vP'4OAHG6LMo86Q9πZ<ʇ>| Øx,ֱ{kOw 8ŋad2f chw8zD 0x 1BPMJU6c-3:,FN(q)댣Q ) #A'T]fTO'3pr)STӻG!%Q%{Ӟ'>M'0n 'OI|BU7R&F5E3LI-L˦ &KR'2)ijZTڴ>Pi",5ɒTӥ2UUNI(vUcXV*m*Y=VƵ+="T!^,uJwI^KW]Oc,U+{ٹ>b}a:bVsfYxVr h];>d۷ڸIleڲD)q%bmy\BWT.JWumr$.wE K}tkˢ7b[\|_ޔbߖ%6. #x% }^>xfbX#.Ii; /]6\^ɛ1 L\>k| DcYSeXOyUFJYE,e-d5Ou3 gu6l\=WϢcw=QhC3W N1]D'Z*|?P6WWǺ~Bw_7aoktje {K׎׶}0kv6x7DC|ww7^f^ؼO>ܕ;ykv|jAi^GU-ַ?veCv_ik~ʹnkq?> ~sL_w~Zc}nq~?~ ѯeWU=7bݟ?Q?CS|=L4@:@ ̴ 1 @Pk@@<1,:" C>t1 ԏAQ##c&sA!+" #<$&A #BzBd>!A+[B.C#C3C3CCSCCC:C;CC?|.$48.(DLDE\DFlDG|DHDID< 4D@YP EQER,ESLI؄I^<odp"GsIG >YXJTGhltJȂJYK J4Gȯl_`G0%&>>}}}@@@___///ooo```000OOObbbpppאcccPPP fffeeeŦiiihhh騨뤤詩±222jjj...ggg)))***mmm333,,,---+++(((111444]]]~~~dddyyy充 {{{|||UUUKKKⓓܒۇzzz555[[[XXXQQQYYYSSSRRRVVV%%%xxxJJJlllTTTZZZ999^^^sssaaa&&&\\\WWW!,D H*\ȰÇ#JHŋ3jȱǏ CI.>,PFbmc\Yf000ā L";@)so0(k]*%HulYK;PNsp/Yb/*IJ|kg[ۙ+_K7ol-mS˥A(ԭUnm<1RD[? xV8iRpY q,}lbѱS. ش4*Nf/2SsBBf>KBg`ehR1ٰ8aB$l5g^4v¨#)wth)dT2ƅ$htcv-Jsі9HgxȌ<;Ij$")Jf,>"%3YɀAJxAH񜲕d%,YJR|rG\2r|)Ld~d2̉*#4iBnzSsOܾIrnSщx"ÙvӝMB 9N{~fB";0І:mdc DaD0 HKXixpy&J$t0 D3ֺJ3"$8 h $tT TGcT.@j%3VžUBX';Z^MMp-t:& *f(E`mdviT Ijr֦m)"9z2 --,wej؋XgM/s\@pvCe" Xuձ^)ofm83;AF;ьP (MH"5]$qCV:s.P -XU);Vsx$I X` 6v0 0*Ad8[R^P44y5r6_B*$ZxpZzvCѮy%7ߠ@L{8 a-"g:z`OPt~ X#yd=@LsuӍ4I8Dn[)̤U^>$ ,.q|+EX{ [f(& $Y]]p=Rǟ,/F=oJ` Yz.#΁<%O,rb<4F!>yA,Aw@:vѿ,\᭽h m (l~!~ PW~%Yevfq7vvPx8enpw27tl 0YEm. W&j @j/7KWawGkdD G`momkVrnu$JXY1qvZPW8oY8#[Vp mSo[Pbp!{b;ArRbrbpw`Rsy pp Q, A8^+4'^gr'7erH;0S?wWrXhq @D8Ufr.0zQvvRuxfЊW{-Ňwq\.9r2f [U+ Y!d}50}}[e!$ P e.z~H^(IPѓkU_8T9`ᢍ؈WI$#Vb0d"S>ԥ0V2A iBX r/HCa8(z1T( tsqgB|r+/!qhW0GiIjr1 0GpY2Ok4^/88eS0=`lZԂ1 yPG䱐5S!hHt9R!qxBS(ق" ndmk XSv 3}ȱ5ᛟn Pqȁ5vP+ )_8יٙ i+&1!Q )cuv4e :9O0@:D QΑI( *WS<ɚYީIz&+ʢq(Py@0 CJpQP=j?P,ڢX:/@ѤcA8mJЧ~@:C9PHCrm}MtKE jM!DO! KUqsm 8NqEȩ2IICz$C2ti6#z$j8鑬S֚RxJ*yQ:ġQĮɁ$ߡd J~$qïtԊ {$JMQH+*IGJH;#Ǫ96p2s±5)2p'!)ANJ%ۭx({NB iN=JD Q:c+qᶰafi!fH {$#B3? {J )I#cKE!Gq"?HIG9븺1S;[{h!4;(Mѳܚ"y@+(;1Z{Qf {MT~ SG#c>c$ }k٪$"vC3|HEb cL? ["!!DCSsF1D1u).l!*`9c[ !HPá! 6 )-~*w!JM,EU<`ѿ26> PQQݒ6/;B5"g$CDֲ.s\8TD #$p1+~,g"K!0Q+4 )S+"⑜/3\3`zymW㼊LC8|:VãyuB,$#'}+;k<|}qun/[>c vWĭb?3CY XԬe# 0x-L`h.kb ϸE3qǨQCm>#C'L:ܳkLSєƃ6 { 3()e=)TQgxW2$9jSQCNl ¡Y)-8!52 ]7vqT@a .lBNC"nWϲx<9y\Mfvb,~]$)>9tRq:,̴]bI7&"3)B}>}r~;cVb,Q$ښ2}X02: 4g2]'C2'.*$RN=CT1#KsOd܄%%2:|f.|62]J4|˝c]bp};N#_Dq&M4#eLNqzC0$"$ 4l > )! A+a|'!5'$1]/آQ ,4PM#kZNle/4>6QT#/S.3OO^*dMN5[$ $ѼfN Hl^prd[#ax{zƀ.z0ȁ!f$ʻ"r)~WRѺtYnJ8)OiURʾJcȮ5SmTN~cOZVup~Zt}t(5w\MZ٦ _s\oz%`]/ $\TZ+@J\p"`%$`5I/v1o4OaDOE=JNǞaxHe&'_|3Q\.?@c5d/a* (‡(`T9㋩s/D 0 -Р! sIF2 8E`ĂB POP C%?|'I,x0L*H\z# ,R ,4k*`>3`<|LHt Do,ʸȂ!S,SCAUL,N],MJr^{W`{u`ʸb#Uvp.d(f()R:!hwa n]m]fsXYc'u5+5mx`%x{0`+V:`\p{Γ;oJc%). c]n/Wt#B42gN ->6)RuOPF7OhZfZg" @\- FVl-(@iC.)M᎛Zζ0n0QP{0 pC 4DB$@)˝p%،%'Ę vʑ+Fͅ(!3vpE1W7̡ö4h8V(=a_> V, H@= ԆĻ$$06 VD 31YJ .zIH3p@. YѽcEؑ_xK|hhuפENLIlQ*WYI mY: UVFkC6`J#*Ɯ0Z9+JDf2_L r/sG5$Z @<"b3tV31j<@aDz [Cqy΄TB/5].gц!VR #m3c%t` $HKjRL,hNN}"3bS_8@JRo&ěޮE{xJæ4㒮Jk[ fSjnʮ`nk\_5}Uk*Vɿu0.A&>}j2C5SAQ([W]֮d`X(fFwqIJpBn  ևvkUjI!d2ٖ` ,T _ zm]5iX v6EBX q׻u;fpq RP=/h~c_ {doOk_BCI `O|, t",o0a4%~E(vb 4Y|X4!TNB(n(@[ (GYSA0<>@; 0!V 3 `PG4Qf3e +#Zwe0 Ad&s&Pv3^vÜvAEMt{ ~pmwW P ]dnlk;# h}版s[ڈV7Iaq+Cp&ηԉ2)@-d=_$ =P\< t)|7AMυR<]{^'68Dea 7~u+ =gBi_{$&~{EǙd뭼?/%J3 B@s@ؿ8? ,@ 2 @+A@ @,4\At$Aq@AAԏA$,BD2"?4 \QBz1 Bt@+ 4@/&dA1T 4C@+L Þ=Ñ8=4?@@,DEb VXN^b a,6+F^*&(U.6X1bb$F2>}c8G$6WY%~@Y:c_=v5dFc(aEcuE'dI dENc-FddMVcF^eRNbS>DdUneZ~eeJ1eM[QcNe.&55FgVRfbFeYNklvejf^fgn>peifehq.X9ngwB^纜Fzg{g|g}g~Vyghh.h>hN0ȫF}4@׍WNX6-Q`R@GXVČ؎6hhǏ6hl$ԜnwG80hi- a<xNi]ia (}R h~=NkPu`rD`0g&^Pj]i``j@v=I-G~laƎIG`&=hO>IЦFOl꜎3ĮiOO mmN쎦R @g<Ȣ]V]m*}mN  >gnn n`Mn^ؕO^}FĞϓ_>PFn=QO8{nޑvG HUnVDp+pP߾镞Tojt8)hVW? qGFGo5n~ji&r)r ;PK  ++PKM%AOEBPS/img/cncpt267.gif"GIF89ad???@@@///___oooЏ000OOO𠠠```␐ PPPppp!,dpH,Ȥrl:Tz(F*:T+VZLszƶo2̞!ݍyB{pEg OI" !B`YbX^c+h}~+rFReszE%DCB%B R *\Ȱ]#&,xPŋ3Fc"CI(Lɲa_\)͛DbɳO~ JѣH*]ʴӧP`F\e5& da$1Ѡ **""-*T` *4(X }J#s125K< #A !#Tp`  "SF'4ݺvƈ 6*&P`c"3A{!uc/xQ$?cI5YQQ ݝ7` i7 L]|D}*xpxbEk|H_\CApWlOIeJiB_'vxb_1KRu*e@BSfXDlF5)c&x Y9aNGe{ffNd]]5qhvfEٖDH^y4~*} V&6j0d mjFje0 hpvHsF+VkfS\h! Eg~覫.r(߽RoSjl'C|iG,Wl1uYwgc l7W,0,4l |@-t9XC'2OK6Nk_Mm H@T7auc50u׊L[kWfP`]"m{wrUȉm %\gOub܉JT>DP99V-}O~"}@@*4   ,   q2;E8ëǮwRN\0 u@ @E0@cB )P;" kcO)y @V( z^H@%KZ7 X<B`i70wɇB00TJŤhm _T" R)&EH9ru8.O Dg(ǃF*+؀I= hnO`I"Po\A7 }@B^:y#<$p~i^ΗM ]PH 9\ "*A1:pd$]}!9%(K u^+PH8H_@{ "F #* 8U&1#lAu7D5("=@`  oGRK@(YNiɘ]$ gZ7VtO@;ڀu4CCҚ)8 Pp֚.FxI l{XXuF ХBw7yǵGǥQ,{5qD:k`E(Uv@LS8|X? 2-y %GSNvw^.oNJ@>AԬVm^&@<2Dv([SS α mowϘE 4 J&dL"DN 4` @dD oLS Н8E1.  >b+$n[9$B9xą!쐯4VaE h#'0iU(m>‹;wxz8TWrC];@ dn@u5Q@J=۔x-sDLkz|h̀-׻j"S!lt%T'Fd" =[gθ͛᝘lI&nHB}r{Qogպn#W q+0ihs8R-hO$y=g=B>8dꥆy)q-ozaT^(Zy-}~߾O? GfTOs?0?Oo7̨|! H[S 87IP#a!Sw !X(tȵ,Ȃт0wzO2>Z4D%E'!v CB2#x" OQSXq8хb8A`7Ta؆MphWjX-lx㄁a0H-(-{/8--/(--8/-,.-*r1tR(,nׁiA)դ2Qp( {7-XƨȨ% %ϸHӈ0h$0ۈݨ8}8%Ɉ@H8/tv樏Vww!Ɇ )- ِa"yi&,ul9$!*#IDoҒ0(6Y6Š h<ٓ>y3wE01}dXY1Zٕ^9dB{6)_bE#hIdbV_@nٕ<F&!c6d8^8.9Yy}v)56<96~'|g7K{ Egf9bhU5ӗא=Np5i@I8298A:EpO4>FG?Nt{ ;lyi*p%=5NSiwUlLOk (Wl)8GR;GhN Oڄ(2%zCpnSEyzF@wKwW7cyEhԡE0NtQpY=CXeWc:SDb~`tPym{ |]GasF>gMQxvAvvSPSUDWFNIE[ڜ4J}Y6AZMeNYIEPt?|E΄F[JZYDŪOC/MhfadzN&xpZQt}TA$J2L A5bWH=KuT&gF#AkNtTDc4(S|A:F5k{CFCM~kLN(kNʣ` `A=KB6mVVDTEy>fPNm#bw<"vSTJ@\e\a"+\d<fHS6GeŷeY>H@hq;5uE }<|ɰkͤN8p 1^>`\.-ҙ5p9idכc#]z֩=aL)M)҉wÿ́_׬9ؓMrh17ka%=۴]۶}۸ۺ2u%og@Rۀ=)# J@=2V F)"0Џ=%M=m~-}=]ڭ V_8*~4 QlFC. !.S0ϒ*nM,'؝`4*3 E>RxB^^HFJN>.0HK2WVX.-PrY!1]^MdbVLq|>1U -=n4^BS4q)foLN>IQ)q.t 0X)KQEL^gAcK@-AXT[U_^beGuT,&tm>QŠ*N9EQu[5ee6EzFǯNjFN#9[rG7P`^.Q1h%]SDWf?gy 86OaFPe+mMNd-dQ4az|AgsL 3/6:>6WWfIh(oN$pDJnsKokᅥ†0PDWdYsŷ2]3Yb?2!o m{ߢ~Nw32M #F7fNBEaDڃBCA(__7q$ը$#įoim0/Bo Rts2?14!>sn1}hQX4IdRVQZ^Y~a\6ivq^y=$  !"!+357&9 /?EG!=IBOUWLYR_eg\iDBn{}c :>ɧӥWɻg/ B]ÉP(QB,:6ڴ8ע%6&]s嶅+ߦKN |uֿ, ;PK4 wF'"PKM%AOEBPS/img/cncpt332.gif.YGIF89axMn ~~~q,,,vvvooo@@@НyyyBJRkqu[\\LZdꑑas~ISZhu;DJ͑؇"""Uak===sUUUqqqHHHEEEiieffiii111ȢǞ`ehЗp~NNNaaa̰ݻքQQR666d~999klll[iqpl}\t|sss-28CCCXqڎjy~ntx@OXCILKLLjklco{ޟηoWo|𞞻جޭٱ).3`mx֕`m{ɬ̬֬Лu}Õ𦦦գɊacdぢݥmȖyoW[_BT^wwwjw}%&'(((wOTXͱuz!MeqIOSTiuQfs߄!,xM H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sɳϟ@ JQ(]ʴӧPJJիXjʵׯ`ÊKXZ"]qRpʝKݻx˷߿ LÈ+FL!']L˘3k̹$醓?^ͺװc7ǾӸ냄4O1O4\N(nekνC%Sv}) @z{qu;F[Dv5FZuqQz) OW'&87% ΅cv@Yr}i&?:')JNc?B`c?3RBl\<$dJd\OF9e\"4t)'f梌6_ly'\$I%XխPheu曏ꪋפei Hou@?+ip&atRXI4FP?XP+++,'L"Ѭr7_}pׁl(\U?6?DA*0\B?@: $(ID<- 4 @(ԉO  BtJ`[p\OA!tQ'.I$ Xg3djXg\)N.0:))`bCl 9D d?F r\'4?k 8CItnP[n^9=&D8KL@3,AD::v$Dhl t4D?)FT \8G!? w׵\b fe>,b… 2L̸bTƳ+q^CNd1sעڄͮL !HdvYpJR'nz$o|  0F ؂@9*8'(P˃'L7f0LȵNԷo58&N9_L H~'ǐɱGv@ze|$'Y!5,]'!j؞:29&1/bRg 85V;q;/dMZ`h$@+0dj ٶ.vRS9{Y8}=f[ݷg8< xH`NhOoC9~Azv' ~1O;񐏼 utC?@nwd}W0/xOOWzkB@56 ٝs.roO?@q<|M=.O7{?_>"ߍ(sCX߹/|,t_}?~qh ܶ~E{~~7{ w@ks{2{ŀX&Xg   [$wW':X|),/XR{1i3_5wL؄G*-BH_'nN\y=h?H1K؅jb(ꆅdžz؅n(@@aA a{[؇[Z}x9ȈG 17(8ZXG[`8hxF(ㅇʸ}(;A`u8rYwx׌ΘCEjG_zڸAъ 񊨅wX8ƨ]H؏QHx5')ȊXl|Ȑ)y:aw8$wɑ.N{ӘxX0y(荻_ $)3Ii Whz:<ٓ(Q{wEi部/W(wSG/0_a)# 귔7^w l9V#8vYxdIfR98y9R"ɘ蘏uyU W'[ɒ]:))RȚ蚯iJ)LٗNy})yio~y99oXRhXӹyTٝq)鋚`^g0yݰ`ٟʟ$͕!ؒ鏚":Zzڡ ":$ɋY *`%*8:<ڣ>@B:DZFzHJL*n`z}`ƙv(zi1Z3Z7ڤ`b:dZfzKN20ra\[ ]jhz|ڧ~jʦ0-u*4:ZzE20:b0x_dʩ Jբ8ٜʥڪ:ZƊZ*fXǞzzZڬiӪ՚zʤکň7XZz;ʬ*H:ʫrIzl( ۮ Kˇ:Zz̹۱ *"Wꙉ&(6{Mڲڔ x:M8;D:K (E۴NGꩴZO{E/ᚪT˄LbZ;0[_a;l+eg 0t[v{xz|۷~;;,,%۸K,P+] { [{ۺ;EP Pp[{ț9kp:{q Q`ګ ;[{蛾껾{R4 [;$ 4Pp<\4P`|0f q06 ٫kLSPZP&1p.0|¬ 氩47Z @B|[C\{L)K\V QL% M~ :Ln! P.нWl-1$Pƒ0.@tǀ̾@Pf H]EȖ|  ;0Š\ʘ) ;-|˸˺˼˾<\|Ȝl`2<\O޴G$0LsFj ZuߜtbFg5i\nPTό[JA>j/ϊZ[mК W= ;f~@~ H!% r]Z5L>]XH0~Xsg܋=J^'NeVnY ,PL=K^P.vfY@ ˋԂcx080芎g-qJ^霾X>愭~wG` ꤞئ>a0 & Q6sn.оV-ⴎ :~َ=nnQ^w  ޓ}n2 Jeq . q K 2q6U Nq10 +#w#4$ނ / BP3 _> p- Dː `A`9 BKp UL8U- @6Su. gQ Pq0 @ 'n엞NgD@0B0P>0?<:G0AT2Upd\E+pB0( / PT mr~8.HD:XP t@XP FQBi E/@LTAm+uB؊ ÇAlE5nG!E$YIFlҥ18xrYM9uOAYJKH-e$G(3v@%Yn  )8O֋ڵ?V iס!9~GiɁ$O &EWTjhBRTСE&]i*YDe TDeϦ]mF*e)Ӌ5 7:ٰ m[ Hn޽FX n( MT)'b0@p3@T0(ݒͷ2M8JIbE ! -K ˂SlahH$BftRˆV^`o10J,@b(`YpL24y7 K$ J\ , .Ib~#NQ -iZil&`8-~V`T?-cuVZE㲦^L^{u4DUNV(Zcv*ouK0u[n)Xjd2t0)J&\x㕗$k^o]3b+4Jz!f3z_Vzńd _+>Pߦ߅kecC#bS cXdhJkڕTy܎r0\$,?~?V֜mIyZj 7hsmjyZ\95+zwm޲GZ]a Wo4w\]pʻEM~7憟r9!SwaKt8~=rIXًs囏VxAwi~,ckܹ(W߿ |h|}"5~ z_VPiߗ@d]n4"ALP4{2$rBP+da ]BP3a mxCP4\InW $KDnpHDD6ce-myK\؆URv K>"#df3L>l +Q"sf7Mp&R]r @kf8Nxӎ ΉNa ;5GeS%h(yr_iL3l(hE-zATDLIֹ?bT#%<˒ohI>֑%iMߩQ*]ZJ/t MzfⴧH"US%NQTjD"&_O=rc%&qKJ"yZԲUTjZYUQ\<ծYe(~elc{қu[kHʽѱ-+NgV 2YRUh?RE5E*NSJ͵&W%nq{\&Wens\FWӥnu[@ fpW%oy{^Weo{^׻,X􉺽n!KGW&p |`'X fp4pp-|a ;\ ZPC8EAD|bX+fq]bX3q[ pTG%FP"d!gXKfr-Gvr\Tq+(,c&sW3ԔׇB4JS|g<ٿ1( g@5(Cf@'ZыVp*0 4 %FV삄}ѣ&u)<¿D>\jX#BV:ֻ浓_Ah#Yp(b!=" Opz2:} "hg B&=7׷؂B`L_Sk C`` ::y]r\3yI0i*y ?`C4xl` Q@'~ZB=$"q6iH@ugiHӟ#{/d/򁇿^ESvY@;t 8?p=@>@=?469˾CBu7 1|C3?:Dڣ>CD:$t:;T|@0NDODP EQER,ES(?lB(VJ\K@}E~|H$@<Ѓt( Bf4gĺ}9h-,I|aqqxC04'E4I$j1HȚɑI䈜TKh tȡ|J),[Fz+GJ܈\(,| ** )hZDRZZX ױ=ن8(X~XC*9v£ @.(N\;Y YL8(=FȏP͵FH%EUTҽF [W=ۅE* X ,ЋhX݋ 88OX!ȁO^@YB. ` `y_ߐ-_5Y(uH.8~SP( Š )^JވZ,;+j&:8^.I[~ (8*|"P( }^`J@ <Ё | ~( 'h/ЋEH!Sp-9+,ZXH~ c (cBWPSBQ}e!(y^  VpW PQ.eTU]AP`w~wo#+g\r6g&th*g>)}^&~nglTic NhpZhX^GUn%ihYOg:,g-&獦snCKU`7#5 V3S0NvWYh=b閶%~LZ釞̬iijP0(N Xj)Na~j~YPFUΣiՅSp 8[lK :`<+T%Skke` N*@ \b4 h_nݽS W`!m Xz5"nڷ~цj4mF/T齶jVkV])\v!HS8.oXy'i xW )XJ8w kP*-=eF}^jp '0Ё*xC@v(O"" app!xǰn0U- \/+Ty_ @'HMrBh8W<&fqF-)O I */\FNi|r.j2w-'0W*8 pHGX}PSP`0FwBhH%.IJO:Zo3t CPFp؂@ȁ (!Sh!(` h(Oio\,ag&.OcdOqhN WWm-PFAj-XeCH;)\0 CйO}w_vI,>sX~O&'v7P/~yhZ9$h{nR5Bz%.zdyy>}T.H?{O_{o{{{{{2{{||/|?|G=;0iQ}ksr| KTH\/YU|O}Ti4Ks7]VUʧG )QG5?~O~`go U~/(!0u9g@ڿw*A7 x pp},h „ 2l!Ĉ'Rh"}Rx{GF,i$JH)Tʘ2gҬi&MRЦLB-Q-[2)ԨRR:>fD{ذbǒ-ˁo)-ܸrҭk.޼zYFt.l0Ċ3n1dlp,̚7s3ТG.m4g )زgӮm{(RVf‡/n8ʗ3߆9ҧSn:ڷs;Ǔ/o<׳o=ӯo>/ ;PK]~̫..PKM%AOEBPS/img/cncpt230.gifI(GIF89a岲???@@@378٫gnq ```000PPP999ppp㡡򚚚UST///*()___ GEF###rrrMRUEIJZ`cƜt{̏&)*FFF֓QUV***۸svxcbcTTT.00(*,:<=qpq@DF111878bbb888\acqqqhmpUUU~sz}[[[xxx:::|||9;<ʔvvv<<<!, H*\ȰÇ~0`@C)Z$1Ɓ5^(#Ɋ#I~IM4sf͓7I̸bOe jЁBI(8s)LO:ԨJf**իVuFKٳh 6Zp\ ۺrҍ{ܺv6oW"V q]p!bˍ1? @Ğ.8`πC#:-:5iצaޜ۸5hoa;ćO>d畩^:ձ_Gd`)fZv͗G}l;|x H`@ :ؠ xi`!oZXP~b$h+8ЉJlHH(5Zx9#*<ߒL6i] 8)TViXfA`)dim^lp)tix|矀*(~4衈&h(裐F*F7)}p A ʁ%PB~)Ϊe.I!t!!밇LjA![, kqV 햸N{!"$P~* ,)mWV m ,"ʊH*йALtϲV.3|!@jR<'?IPq)LjTҍ|,Y̥.w^RK0[asp"&ydrT3I߱rf7`aB‰ib׾= 0-ܕ"rZliᜧ1` f8xs€8SWO%n_=#j$ ӗ8h. HÔ6j[j ݒWb aD6f-2"73MbGUSH<\4+[>+VFշQ0(0J0EVz aRҟ5nq;uViN/>< WDB rS0WPβ%[:@RwM]Jի2 q0VRΚ,wE&(.&T6pnpZ xfsStqRb03ҹmI. NWSƶ0cM_;v` 8* hNCPIDDUJu`q@ ;͉b[Lq, |OQsŀDq U c؁4N}5L"HNdfiYL*[Xβ?c L2hNf6^YL:xγ>πseK+) 9tmF_#% /LgPGMRԨNWVZnLGNKA,MbN}X"ZK " m }x˛I>w3vOH[ 1" Wo /B xKRu qD ) Po  &RgnlyX k~p';}:vn! r$$ hkVC &; # i~v*O>Ϝϼ7$!`G޷/@1;hf4~ _g~39v!;Lm?{ D3O_oԵ~f="|Gwߩ~zHK?d߽~63WNz | Af)Vi}~ +8slzl+pX%_wFm$|&8!l-pu%1<Ԗ*Gf!#Gvm|}'l:`WZ\؅tEȝr4VfyaFsM=`v27p`v?GvbR)lr9ll 4 Z!g.m=gpZ' Wv ,Ȣ.H)qvIoAJ'CEʒGzwJJuٛ_P yL :O8*@I#M'cZ(g:٦ORJ%(0% z%0:C( >uz<.v*oI|J$kor٨)op.$%#@Ȋ#3ѬʬPs9*pT@kw:mqG*0bژi!l#pi lLNzl+*q*sjJǚ0ZCC@* D0D0(0D0p%Pgٓz*SI$ l**[W;73;z9U:/:e ʟv ƶٯ7ٲ qڬ9/ҊJGiC(3G0Y0*(i˓e6 Ws :47iq/a=+=[K-9ee`<(Tj;ܨ & Af݉{I2iBkg{(E{۩z.Kk*{,˻kkśZ-P-p/p3;p-a`Ն䩴! Q0in0r0-۽ _{lWP :;q;:TۺLFpn;;U+4<(Pz+-DD0F ѷ b'{5$+\)-/€[ċDN$ʸVbs׻plXnZ1$iuld'ȃ8X66BhaȈ |%e) (|lHȠnll+ZO*ܤe t&S,U Y 6rCŌev7I[,LOMA=4Y&؂-0p0p$o3eW-Y]'~cMy^}m`j=k P~j=llP5_xo]esB;Scn +Gh |~L|l}o%eςXM'&ݿml,7) }=گl}5&W7)l Է,l ߩm\$$6[v]&.]]l n*hߝ96aMTVp]P4;_E5:;W}z\T|Ė>w -%NŤ1Ks $JNc!10VVBN7)-&]R,LfVoN KX~y.ed:#b,NUT$*0Z wߞG^nwq_R\*e=$* #*~~4 >l~hDlFIYZ4ncB3 .3Ca 1&3NOe^<E>.c6e!/B2 r?0d.@U"@\_$e,@el?>l.=6SW0R AbSGM!74*.QwAc ^_g^6(i0/"NoHt?qoޣ8IEj4ޅ~eِ#&%ߤ/m_@roNe=u3eo&XEc5ܹo&/*昞ikReC,"  $X0NA"%pؠ`D5n1AD!E$YH1T'eP!3eϞ@`(CbBRx"ZUs! lحL)!Ze+QGMN(!@?" Fv`DǑ e̙5oYIfNҐQfZPF[THҵ-P'XCb/\/:Cok^ = 7)$HBBpȔoqhi* `I6hh7 )M2pC9 C 1 BD5.,l; ̋=$"@oH"C_2IkA(gR(6 AJE徴91NLr L!1$EoHO@͢ RR( DԬۢR ,s0?LQ4kZM P(0 #Zɰ.א%(+IL'ܴSKZHŶZ Sͫ56D10^uuE(`]hC|w_ ٞx`V+XanÏ+~3>avUq9g!WyE#ؕk_nPૢR_X65r-K҄>.5e͂U%@sWê feF\ +dt* $?y&O"K$n;gL&s% _7/8bY'g !cJdF`M/i\mD43 ml(WΏ]u@Rp@#OF'F'ynn]ϬQiQGxhTϹ"!W}.  2LJCAbP)Ai`GG\h5P%~P<[5Nw@bb ٔB 织T:"ϐ|#l"| rgn!$a W)7/b珛5 1%`% U-Jٿ_3;ت* VDU,A )k+@9Ö%3%؂>s9Ri ;@Tb/ 6R9p #y A$bA",O@x\BA4!4B)BCJ5aB~=,D@hz?pB* C*D“P--<ÒpB~C1C"$C0C5<4ÓK6,iADB,DC:, ;CCF.B)c {D49Ld?>v3JLrDLdCO _kEW|EX#y#/>[^E_ZEa2"&!e\FflFg;a.[)&kFmFOFo\)Tk|#n,GsəI5ɜI I\GlC JǢģLJƥJĽ;LɪF48ʭʦɯd53JbQ-KD-d˰GtˇK,F%{K&˙KFɪ*%Q|4njȜLLlLD̄L.%M ͗B 4MDx͐MlLDAԀ!%$LL|䄈4D,N ˕6l ϐ\OtO4OD{+O N:< OI|ЈP m E %QJD`lOPQDU}5eш`O$P҈H!4ё\ Q(}(uP*,R P+N81S2O3=2M556=SeS4u9S H;<5S >S%DSAؓ@=G= HJK5LMNOPEQTKTUV%WEU0IYU$LU^ZmG]Ua_ bVd`dm֖\ֵVgVecVlGilVWo/0WrMWmUWw#t}WyvW{zW~ x= ؀ 8= NWմ|E ̂[Abdp5~BE` }YW 3CY Y0 Y6=@ xXCCxPEZ`G[[xZHٳ5XM [ 蚶->@ Dp+DS#!XQ 0\ e˜ aQ[ځ\@ǽ\Dy۩\m`RØ:ޑ ~@ uM^]^m^-8Fz^MBՕؙޕ" X$C^ č5=qYD@ٕ(퀏]ߚeB` F۱%Y߰58 \ `‹-_M E \aG sQ]X]eaDަ4^p+ĵ-"\sx[&c_yY &[݇`Cc<cxȀ;PK=N(I(PKM%AOEBPS/img/cncpt308.gifxGIF89a9t???@@@ϟ///ooorrr___ůyyyOOO൵٠<<<000 ```999pppPPPİ---{|:맧ҹWZZZ777KKKiii***=>dddUUUGGGle..H^ll2O\]+}}}EEESSSaaaAMM$)))+++,,,q|}KԽ~~n:::vvv|||!,9 +~ ~~'~'%"*/ +)'*+/*RPOiM>~gŋ3jܘ *ψjF~TIa_BnD w99 Jѣ8@~EßYe)ڵhg&]˶ۋɨfV`{Z#^ %Ͻo#KL2*(|UBޛZ}ZMHjog- A:["z}4NSf‰Y--سkLjyKN49񐃗 ;N XMD!ݦP~hF~6"Eh^g-+(7 r& (h<` )xH '~8̈Aa0h+LcK  D8Yi5v\v)P#B0j Awv|B;v'A% M&~袌Zrl <?\z敎|)%"@W5GHGry5*무.r AfV% =`W "ڕOCX_ [lf讄jfBAgA' [W"ȭ#~k\ U O!٤Y„N VG;X"|B& v +|^˞}U/?Aqn {)iWg r;]֨ p/ xVG/}>ZW"Y%XA~Z![D䤛sW|dcDm.\} ^`~Õ풠JSh<JbWD!bYQrUqaJ6eRb.zؐFeObZc|#"\dHO6~<IHC4D4jI .7ll̤&7Nz (GI5 L(V|,g9XrK\ڲ/IV1LO.3I/N5Mm,7Iζ9NŲD2_"hrSb‚ ]I¤ vQz2C4Fn$YBAgIӨ D,1B)q,J`7QǤ*g+  @dfI^+)/~Su2HNӮtLNҮb 6BS Du`fRJH3+(IL6AFxyF@q9{qV ӀKַt;aCؘ *0 rGUFc@MvEh $ DgWb\P5?Ȉ, !%@Cfx6VՎYRϒU*͆ytH4Kwڿh H\F򛼄8ŋ!N3莌$ wYiQ[ 8 MyIRyv\r2E63V{6/9-BVF8 Y44W)M9Nf y=~ % qQG77KΉyTȶ^_ }Mha]yN ͺ'A֜jBt! Ά3!hR& Ј6f YG5"}\'G}#QeVհgMZָεw^Ml^ΙWRzf;ЎMj[ζn{ J[*hHvMzη~NpzWP g8J/\x~q[x@p{\~ЇBA?RW2YrjE<3W9ot;Ƌ-=ѝt+O44K:}AH cP@}gb_:р2(@  w,X9!.A@[G6 1A<+z!7}CNlDvbj[zGM@w?;(O3 D󛯀?l;O߾|=. I'Pv;^g1 5]^ ^pz ~^ ^`٧а'Y.%% ~W I}ȇ HX}@>[їPI| 0_x'~~}?7=%_eu 1t/h{^Ȇ~v @{c'uthj;m膙[}["~@!n4(zxww wxnwzm@A(MG6ʸ؈Y(~Sx}89ujsx|[},y hY7؃j}"苾< }( XHCX0I6\ׂȀR8'8ט  {jxӈ| -ӆ ؃ꖋ 7؈ 8[h HHi>@9 8jxp똇*4I|HFI`-I3970u9;9HiYY"I7u|e}X+IVhxq[ ؒ#|xw0mI(wXiBi^n'`Y(pzhG؊( '}-y_ə e8o FqYPYpHixGɌy%iM}f0sYy#ECh#CCXWss /C <4*+M( A":_Rs(%*?,ڢ:ԡ2)yswB<">Z=@(2SF!Hj:JҤdP9zTZ)"ّ 8 @z㥃/9 nnWnn|nމ~|Yve*jxn|ZPƏoJip& }j+Yv{*{1}nna☨:9yzP7jvlȠ|0Kun7]^Gݚ9*FKKX{:DKHɘ@Khpծ}Z٧  K}S)zȀl;' EI}˟ Xv |& kIg [2(9ajY>[]7:k{:|8XH}_˭;vyqw90g8Yg)H+~0xz_0#nm #\ykGس H*·˹E9۹Я6mׯ˷z{z ywk ćHq_X|4hvWg۩θps+{u x Kȋװ}{|Ky ˼ ^Hȸib[7ucȷbxXM+C[u[@‚0.˖[[6IhI2k˟rpћ ԩ:˽w-gWꨎZ>ʹw*M'wďnJmJ n:˷} 7p ַ}3Hb F!zCbGy3\p*F,0oM4o|Y8Oo0I.n@B?D_FHJ ޫ=I(R.?V_3ZZڌJ  "?&7cDŽ;o eo g_$OIm  s_ uOw_k6{o}Y 7.oi/6o ʐ!?O6_{} >M O /yI?,dO~_ȟʿ_ss?~@՟گ>T⠆X5#!Wh`/k$fHіB91QfY 5^K#pPH)MfLE ,  -J3E8AolsWLi(d/a`BYL0lC; kkZPiN#hMa 2{eWK_5Ҁ Y%"'Hb]WX1I[\1& ЦBb "](""x.X(›W!.$&G #1tˎ#ؐ'T(YؙVA`@w|O\ ("49ɛ``5Xv S^g`xEEO40v(VnG]mZ%Fuj)0B +@ ~jXj+~$eŊ`rʖΎeԎiX(~ !(S˧ϛ'hT-{. TJ饱~Jz pܸ.XXXNG "l )`@ Ly>{]LK- v!.Ygшn1.hHeNKPynz#4Ψ"gm"c"1WWa1YB7u/X" Br0ӌ LH? YظPGњ jyft5LmB)Hl ^&nm"KƫP%,}tV# N~!PC@A HC" Tgp㇘#Xh, <2'z'P ꘻Qεrb =)"ӥMċS+ =J N#Erx;2>R|,4Yb7^ &0aL2f:pIjZә~5MnB c7lXB:uLtg*t(. qx\R8<#hg("C<)K CR % ruyE/h( ޓTFSq$KGF X. 8  X/DMPR:Q[6H*h@zBC*REh@Wհ^bXY;tTwgY&:pr^9{uDPXLB+$e]QKu˙ p# ~c :˛tV@Ic-  Tle3B @[[ th0]N,=RşZg} wu&Xt6UyuC'c9@ܮe2w]Hɔf"r#Aʋ&)We hp1 ]>k-[ .6`XY/:wOC@ YS!KN۷?}@Zph+X"]bhBz$%9k ~8y%]! 9\8}P>k֪| OhЛ;k (ا2q5٧Mm!O6XX~FnT@ WAГn̑n/hތި=0@j[ۣPSYZD ?yme Fvb?j.`t\u~6E+ݒK@z gX! ޒM?z[I)c A:7n 麬 A{?@P 1Mч-Yw: Z }RU j TStN^+qc*6r-.Mwh ;q@ ,@c.@*R!ރNT3*k;^ח. C0˼hmЙ I*p#^̎\Q(ͨ#@"ݎ.f0({G/,O0KAp*QK R1K $ y C"Z)HkEpb3Wh]ϖ!m' ,Yw8)FpU&Op9fʑp[ "# QoEٗ۾ }ō( <|ui8/\%E-i 7a2Ⱥ5zd_{E kn)Ϙ>X*"[c+_")puOܯC*FʝkIÝ;°T?ќ =Mhϵ)MJhMY ,K[8<.NDϱПJZyI_W ~#'**" %+#?,} EɾP}S,K~~/++ 0 p`߁u'Tŋ3bO^BH"XȲ˗0q恃GQɳϖC8$ɣ$|0㐟PJZk7@ʶV`ÊUőch)]˶۵hF)rݻxaZo[6 8 LÈb(P  M6q˘3k̹~(.ADؙi|&r ku&ٞsͻj'JF /0BqEQ@ @*qrRX&$J |K8Nq 0I% +gi€0N'T8; r! %0\(]0(4,*7#y?>I)=s@ ҁpáMa )xr_`)昈(Kt@\`$ѣy+p7 tȔ7s M_袌6`r)g0w璝Bp2)N% Pj뭸),!B Yz[ y(PqB *0` ",%%wGkk. cA 4?4n+@ /< ENc&5?Z-"Dw huQW‚z,{4u+}5 %<״XcڬqL/'z‡=7`٫Ph,jLsZjEW<0}8 lw"rBt:w:qǽ7Չ]va"_f9#cBsۘgG;jA/dWt"ŝЁZ: ܙ#pHeoÚ'/X ddݱZy +`CCCܼ*qkA=o=~nzZªwDxY~̠ e B6~ME:AΣoFt᭐KӠwH#SQNZDYaOBG*_ $qwf PA l-E^2?> ͇.yCnHAXk4 fw,+@8EG}[:"4@$]֍(j<̤&Mz:&AIRLe/H.w\k46j"kPk0^pk 5U37*,Ytc:9bA[~L5!KIb"F$fۨd-̙+n0SćCḟEi,q v2#C+r PVizCEDh!`}I|8t;^tMs]WRԶ’#_%BSlӰr7qcg $]J&MsBbU'-؉+k8f!odUir6$ *a1aMUC簷)Mm>ED$r[H~R H x!ȸ6ϝmW(:bZ-+۫VE^l$El(IgSQvEI`9tP6k6?@p;H<y Uv8#ٹfKw ش K*vC~iWU@$Jpءϑc.DȝhtE@dիmSy:b@ʚ@!t[g0YΞj  ikBL|C(GCCH5$<-;Ǣ\RcNW9Tհv D0ָεw^MbNf;ЎmURζu}4?<MrNvMzη~X@)}b Ekp.0YtQ3Nsm@BN:m=E0dN +uNtF4/^)t0Xt[<`w=hߏ0LQe[!$ xOe1v1h;OߊӨ9|&&BeO~P֟Ah` m@$@ ^I'#~ rWG%wxGw   ( L ~kNWq ݐ{HPGRsgv ;p0'0v7H*h lp0xq7 ǀ @w~pynȅonW@ 0p$12Pw؇E 8Lpm 0pw~P hPljo nzxwhO|}xN# AHz(~~P p8 6u{ঁȌNh(wqV~v0Wevmv Wu AHyYP7Ww (nRW u 09(v τCW{=(w?x ;;Bfpxq yq~@px0a8XȸhUyk7珌ҋ@XrF 9~IqxNJvyx(Zyx%̈H葧9z<> C)E בq눑$ ט0MN(H< i 9Wǘ0Kiv؏(`׹l@yi ) kɄP( fӜ )e``0 ڡ@`nS(mɃTxƗ0J 9(|8"$>j;=DlggWLJ1M :PR:8Z=LʥWY )*^f+: skJm2e:ʥrxJ33|ڧ.}z 2VG'-'*~ C p@G p 3yؙF Gxp.G0G0A9ڟlwI: yzꨨj)j Cx{Hi 婊vҊlN㢫mw:[x:.*K'*˰ ZIj(7Z)N@O  :ȏp(x8~m['JF=zVjڹ:r˫I{ (ovp Hwg|8{ȶy?}lGH SI-Qۑqb{}DGl7 bl2[,~w^KLQk;XpZ \뺭mhꚻ 0x8xq ( p+'[}u7q zq )IWKg~o۴J0LjIkb[5AkXۺ Y' ޫPKXq }{Λ L+"|y[W@~}x ̰iL4iۈ~8%сP<ѿ ;x29#LqVj{<(+hI |[ ʊŋw' } WêЫ p q+ ;pr<:Ph[:~?+} ҌBNΫ8]{8^Hէ}eǴ?匨ɫ7ͷZbkzv6Xz|ZwwkK苌M+<(ٓy;9 mJR'|| M " I ҧn ;6oMD[ ǭ+V ˗WyƩpp㢲K _|] |ū 鉬zMد^MYwdz /^]@+S1,!]n.ʫx? s^ duΨ/ǩШ+#՚" {jXqզ+O_!yAaڀ؟ڿ?_?'K-ϯպ~~~~~~ط~ӏ绽 ' pϕKO[J|'ϗ(G|?(Òd]|2$gozɞС1;:'Sb9Bs*5ϪbEƠ[k򲈋jxKBfڶV[ պ K-ߨ|>v* #ΧnX2^OU Xk{ 媔fEY=VV?MKnԭu{]7w"#0OBÙ . <7z 4^reGjwK{Y%. N|9!g.z 0A` >mo^p j hޤH00r}ۜ"eZ_,~&LW^* mLjgV )M)J6 gjCl#G'bnS?Nx|䱌/h0$w.xhV"@80Y.ZL_ŜJ1E!$)@i)cd7&0>`WΤ-U2Qi `&B5zld&0"`6FWoGUP|Vh4K%,<9N6Q?g8R zfwC.? @Vg҈`ZN-f0"L]T V&`)F*4\y͒ʢGOBs?*?yVpA;27)Gʆb̃ $ xԻ{1|K`բRXCms }Xor[=5P{XI p#5sÅ5-2DMg$]&(\|vx53jv|85rUxG;ҫk3A+IVdUrVMB #V]9p͛\OZ> !I)V]S$z G,Q\\k͆O$30d40R6˂iM5Ag>s1ya!M4ddQbT?BizGD%GVb:)j0U#4J|pTzJxW5MVӚ6'SJte.ׁ֪u(`m\Wؕ)h+V0660U`RX+c>` dRْ\xgWώ$=k{RZ(]1:{bmr2-7Q DVNa%B3sw*vBHtU>ǡo $4o)"ΡE$dc Q!#Rܤq@" gEUr2hQzfqgu ErhfD6 }!=c.&A]2F7]:I,ȳчAȆa 3A'sѡ D͂7]KYSj//1ZV#P6HQ]D5z18Q"Fo />|Br !8n7&uUz5/Gϐ|(Gstwgfim`&Xt>Dc/cp#u&D\@} [Xp W9bsS Gec4paldMm}-~Lr(.[u q% ~} y? 4\@? @D/- #,gF_Q)*r1$pEW2+R(~"/̷!%aa!#Hj|i Q<;D#T@v}B-7'GjrBu!vwvxA;+ь-.+"GfLB/эs~V A[&d 1Za0?ԈR]r yFcs&wUUQ[b 5[_%|!7a:!<{e:Dx!*uE-y Ymy6(*ylx=dUHMs/! }%Cae[):YG T?sdC`)i9ZAMyG^WqioY}s)u<'(EQt?#!@؉s3"OI!%hrh;7uL>nq RId+2 82lHǠsR@)   #$@##)xP:)$@$1H& 0fG1gH6 c'c䀿B"Ģ/~`)Rȥ&r]T-d(i~ᜡ򝂤HZZ/YԇqE RÓr)pb9~) **Y9Y*+qHXF4=ށ qRct3GB"* $ə l螗"/Kwb4آ-K431.I'=]4q 0 aci 2o ̑-ۢ"):s8ؑbås W{yAGyϑ{ Cu/-/Fz'?*8FY$\àFS)VJ|Dx4= *xI6KzkV5JH@.4 NQ4y 2P~IİjeCxg5y/e֢3B%!/R#'K'BE!*' 2'x1=29(M[1]q :H6ȑsrzFxG h4w’s #iW Z)~컸fʭ ƤȲu(af\w˻\xT,<$rr p=:yOx"+VQ,'m2E6qE"kdUQ&Ɨp`Q@#E]۶'4|Ϝ=A+yT f3k"b3d4\6 a;";2@(!L !3݌<4ω̥5Z ȓ#D،EJӚ '#|2ۈzBf ιҢd$MC(G"dÄob䧑-9O7 $zr zӡq0i;6V ʃ Q(Қ} (:-x!C7Mv'AO'{0,= ada\sjZK!r αkU҈¦pBU4.' &0?y iO޸ଡ-VRԤ8C*Äd'FM1"`!㯷b!Xi0הo(9A+V#+޶Wfab'3P-8:r|[ڒק/%Z4<t|ԫNӽGYfC-!^)#i"GxfhiJ!=J{~5(w}CZnlWwsr yG1mk+&=7:#RE]V,nHvM,G$ >M5zgH G3#ܡonwf=*=^,ПlK53q>aU7wMJG!e Mﺺ '2O*p# ME->kBK\ia:Sf4prE]w0)"|3NiAk!N=,>!vC ^ L`Ja&   }V1 ύ`x@ 86<@DGuB]T6 PH AfJx"p$p7o(o1Uy;nixe ]Yc W)i8N' Z{g4Хw( 8BpZGgk(M ičH XªCZ* 0@Hx* F@EkV.6] uH0|{Gz:zlABM3R#ԨQgZY \} $0D.KD}AnML@ji/r?Ēr,'@9e02bR՟scC,LAA7 ǀ쳲ET@DSmUC6 !+]-m'mp&e5؄׵1$/aSQZ)Eiܣ)pA֥zz HB.1i3{I7UNf/y'B %27~YDlj{北-i  ȅT;Nv=ǤejU\< $(&x@ ` LA-u)Ih7JH/I~>?':A;ѱDbo^@gHX!p]ʔ^z!& %:U>BΖRu P^" }k>6\xd![h'$(4T#enHmѐY $@w5= 5€"2 7rзa<.CXҦ%K:4g t4R9AĔdx+U!KhN*o31~MA̪,NRE*8,ix`m/'W;~0 xt;Lnɕ~@bAj\SgB7($ KU(u<3,JjLDD?RX ?X( ME x8T VPHٱSZ 2Eud)ELe-DCQ@TVVӉpDhaVQqQo[=+8Ҋx+C{eA:I91 ~|_MsE$9<=k=,k WvN` 6ߙȹҟY g\P<lh*ZZ/?J I2!g!Cl;P+:Dz-+/ Ec  3KI0cqg>PfzyCP7 [}p)7a9glo,✹痈GS4; y9 ` GPsq:<0eZfʨT(0 @ p{=Qpّ Z7Zh `ຢjd* +M ?C 0 J7 |֭a0ᚰ:EV;1(/pk :7 0!3`6˝܉| 8[~i Eʰ'Ґ hk270*i$2&60 pg|2۝z`ʝq{)q~I4gj&m ! PQc@KD2|;,tk!1P$ܹBzK$=@!k![90;0$ ˼; =IKK맭  @ T:[T PEV aw[h[1e:1<0@|e}@3P9} 00>0.} ;lJ 1k{b;[lz} :qK((f=@30~ B2@= <<1!0dL<  I, ;M,O| )K [Zh;,2^,!>3`Ȥ+wL9JzK3Dž:72ܹîl~!`Ĭ*|,Qʢťʧ`Z@`2 ¾8۠tL].28$ 2.@Ƽ =@ΜlI1ź0jQVLk[h =B2kg <`iҴ9`x 32!p$0Ȱʣ0$z.4,vzܝ-   |gmd\h": ] Ӭ+˜|{#!31% ɷܠ6ʱ2 ̃¬|| !1:ռVB/ Sٵ}mp}؀ B)ܽ2۳Mۡм@ܾMEɌ *б{͙iq {i*݋=@xڡ=- mՈ @haꝜB~٩*ݿح ʨ|~PJh  ~d w |G((:$*v ޘ٬0.N>X 1 ` J W ?Gk䒰Ok^m$jШK ګzڑn 1ɑXZ"!}~ a萆~``[ [}1AK楍Zjڨ~,J.*PXl^ 8u,3T.@=)N5<zM@BH~Ki h>F/7z3Ph6?^`bBU7JTQh }Y: mǭǴyAsu8Tq%ʼ|~ٴޣ/s >uLf컵I!.pp z/ۗ}9q)N͗۾2,fBJq&q+]+OD$ծ_}9 $}<:}!30!}}:1!1~}>}@139~: .}3} 0. ! }$ƒ$31=:@3ՙ}1!}ݑ<}7  G@=~ `B #>~Hɓ 0c„' ?!r!($`C%I\1.A:r4 Y*JBR7JQYD!m)dPۖ m#!(D|} 7.@P3w⡜L| ZVO@z SmD)C EMw%܍UM_m[@V}cA[}:B!&ep[P}bN &EGAf, A@ K  >@i4=PDY~$L)}Woܤg=.ЗΗOf9a=L $@%F!oBGLd@C`O~ @ 0 A~x25ќgHڰ {L+ 7)p?<48 cF9#xHm!X Aa$0@`4iш< ʐe)U ?4` g3BNƐc^ 3A>IJWV3De6] Kϱ;%-rۥ8eKNṖL4f/"#G>BbU(D><0ю\V-IҒS!V6{8`E $! ^桀4&?\0"=@"?)"r)HMJժQͪA|F~(gIuj*x; HeSլ>Vͫ^25 k%^Ve ,;zu,'{#Ŗ ֺ]lԾ3?>l nlgKܒַjIp8" k[ꞴϭrG97 ZZ<.xgݒ0q]T+Nzk=/:>طM1&k=xdLf\t`d4Cb1 q#њ8P#&oG8pˢ: t4"A׮7T$@S2*=d}6?&J9,thNלfg s,!B%鞐rFZ(` [Z@4k\fKm~UpXw;o>tFiŽ"2nK޸ivyeЙA`ϩ4=ЏWөϿc=8櫒ycF}Z7Y|ozFͫo rz٘z9K~ FkWx7q8|&B!ć|P8faƉ1 !HpĘ?b ʇ !)FWpȚ8Id%TZLda E$i&pAS Xa\@rFqR~E"T A\N/ =  $y\)l钖&ln+#ĺtbPdk#:Nx9}, ^7gT.*'{nběتjJkngS躔Ƚ4lp*^˾*T11V4R. pΞ "+1IЉ|FbG% r^p1&[zVqrڲ)LqAR"4pe3%ggwl,@ >r!S>Z93@b7A{H穃Nzwޚ GB+s 2`B}@'mD/j!(_%kw|3̄*9Ks\S|:92=t_O~¦<(nerTHJXSS0zQŢh>P49Js"H0H)LgڂvڒvXHHw)F{*TI=RNPTԩZXNծzu[X ժhGRֶìn\׹Ȩ+^W[赯 l.*=b,Xsmdehbm\4 @6:Yب}mm5`n@xm v,q!aGop sdndqW Lѽ&b ƫ^00Y; hSsnC<7ɚM  ll~JܭNºJSE Vaఇ-ŗNN `Z XViva/0t3Ƙ=qB}8y1Px4|$1ksmQֵ.ZPf{F ]PۊWZ w+|TnC?W/)cL̕ݱŐǎ͕_$*Nm ` `.]ty@'c@\@~ٙKi郾")0 |%0\S P0[G [ܵ)|Qgծxl? }Z 6+2̵dSbp$w dy~eF%S~&~c":|(dPheK~z?V 8/59?R!g V`( {F>Uma0562%%pfskVrv`1vl3%KX)bJ]h_]xz`0=hrN9b> gyaJF5C.mQ(: p~]w: vYbRr 6$|\z@8*'w 08у]ڥ,7bZ'@op"^;Sgf^}w`l (w*djo\"ud0-5Vg79Ř~$k#rJR!Cp[A*B^_ +،bØ%XwP~ÏY&@tstf8XvFƊ.:Y`3;2DCђ56mn`Y Y䲐 c&4 d'5&%%]똓b"Y**ss֧,0a8o0n3[“kS6 {!eZ;s=)[>t#.)h1]9orFD=#6c*4wIqPr~i&qX\0b#5"]ɘi*bV)ӇXWu Ui 6Wy`P9Ĺ-Qș šٜ՛xYɜ֙wEٝbŝY UTy虞깞 @S9Yy*!@z:Zz ڠ:Zzʡ  $Z&z(*,ڢ.02:4Z6z8:<ڣ>@j!:AZFzHJLڤNPz!;PK*(t PKM%AOEBPS/img/cncpt283.gifGIF89ac???<<<999yyyϸ___///27:ooožOOO888eourrrpppZZZ⨨ߗ---257ǤLSWiiiXaf lll홙KKK~|||&)+333?EIYYYSSS苘ejn***Ҷrwzr|FFF\adbbbTTT~~~ي)))$$$BBBQQQ@@@ddd...UUU>>>666 mmm:::fffbgjhhh;;;000```RWZ!!!QVYMMMckpGLOuuuPPPwww,,,&&& GGGekoWWWXXXVVVaaaGKM֗!,c H*Hᗁ#JHŋ3jȱǏ CIɓ(S\ɲˑ,I†rɳϟ@ JѣH*]ʴӧPJJիXiי8KٳhӪ]˶[[ʝK0ۻx˷߿~.È+^̸c\ K˘3kYɠLӨSc5^c3۸swfУu Nq_NУKϙrkν꾯т/|ˇZ900h(g}t7T`CF(ᄇ\ # S80=(b2C 3 ,H@I_ob؜R"%3 K 2Bc " 0&/-ˉBfYؑI%JH 0,T`vXB00CN3<椔6e' -Z_ihgNjޥҤ)P h#U6 蠬FD'RU(RCꂕ[BJQ[mB8:Ђ 0)P(]/Vlqm{Pwk\lr!<'rz) /lt1L<<\"DBҘ=oLG-5bNW XgWյ^`5^mU-gJp-tmx|߀.nvlAG.Wngw砇.褗n騧:6̴n箻d.o'?X;+/Wo= }_/@ٿ|ݏ/rq0 n^ջa@G<L:f Zck8!ǀ GH; u@HB95@P xB ,>,)(@0 Dʰ @bܠ;Z>U80_ ! Bh aGW]it r_t` dB]Q&Znva#(( %0_Pd+ J P 0yči4P82|a0X (bB^/H,y ЎȌ,Z% YI5rdS(Y"ub092n$+]ֵ*@8aVQ =h'gK UrgWVir$H,#Ṕh@EL| `M0Y@Z'e dlxAH OEaNV @|$iMf/ٺT(`HD5qNwhW; hAO6DjiRt_ t uxB΋ +XFwPa{F>uJWq9U%kH5%1Mo !g l0@J>= uwQx,h()Bo̲%35Y9Fմj\ygڢTn6vs(zVQ@;Ϸa5d/ak) >h[7FȬ;WZ Q$Z y U{\̸L敉x\ט:taX%Bba=O)2kvr짫XdgC*WtL)2d$^$8S>"ݼ3k1\\3xLjРRѴ3A^ Ms$7)C$53wYE 2d8f*aflcDz27p*S^QlD:z rfrh4p+)EI>ƹuy"r5A#ޕS ܽAd\ʉ Xr\G~حx{÷8wsy) {ʬ4I ftE91BFxR$D*zUIyj)9!53؍>.K4t[XW8#D@v!@%JxKN0u?6KY#l;y>t׫>\2 Pj Q TC2U`%*Xzs#asO9ЗOt+Kll{?7tww'{u{=x(-`pgs|Hw<3% 0" uhr~wPǀ{3vyW:$vjyׁB8s|w,`s:J+;! o.?`| ##0LSX#B1ϲw2;gyjKyDa&r8tXvxxz|؇~x.H!7n 8Xx؉8( ؊h@1/X; ؋xȘ QAq񒋴Xx؋8Xx蘎긎؎ G?a(ȋ9Yy]э8>qxy"9$Y쨐 ii,ْ&YGhk6(>@㈒((HXHQ6<8ن6 XZ DiF`LI2P.@s08(=vyZٕxٗ/)1f4IG=)b bu*)("w"qȓ~ppi@7`Ɏ@`َzِ|钭y!ٚ ٔe9M8$%9h#<:+)wr {+rIGuX' x )6r-,0+ljY[2˞7ʺ@ pE+ۺZP+H{Kɵ  y<7 ,pt{J0@98T2wCr}u&bu,˜P:t9&+X#3`A:<1 Qxj2;㹺OzG͚H[¬jV< Je|[9*P| Ii4 +X 9a-0(X#߫p8#S8sZ{,ؤ s[ :BK7Эl@Y]c; }l,L|MPjݪjΖl 6"BQ>͆7ќ\m y]!]$Q_qa-lԸlݙce3X4-tZ]q%~s}um׿y+{}xْ=ٔ]z!؃@ h='(m[=pڮڰ۝sn]pل kyԗJ@TsH\Lpcox<Pۚm T V))ySv`Q]֪ ]<Ӎ_ݗ h ; gx"F`.uޙ܍]߼{۾]TF"') +w4 ԩ- ~LVqJVv@1n[yz3fp{.Й)n5+~BQ^,$H6Ev;=GMv9@h @P~"}9Q(}5.PD@TVUEn$ENFVGITeUxdU{ok@o-mwM))n$-,Ws܉[-/niNZ*VUT%\ O yGStD֮W$:4PhieoΟBN.=kpӸ.uK"} n+؊iUZ.QY bY%\[FʅP!g5%"R/C>x["R8A:S0WMb ̧ݲ /؎aHUhmL oXotZn;9]Un]M.9ݔW9;ǑPR/dHĔdvbdFe@FMGun9gNjo`MmdyyY5 O?dkbPFLUl%^T^_^dihF*n.0/="]-~o-^p3*iELuVK{`EhcvT'&Hcuoh(lA.$XA .dC !̢XKA/ $٢I)I`1BK1eΤYK@OAI͗~@-  `J t@XY^ KBP 0{A`14TKaĉ/f0# =t$NO}~nsߣCذ{ 8,N+[X|r`"4@[#\ L2Zuov[ &zH!fi|8> YYxL`HKD:N6 r_,w"uW2rQYJURp]pyF@vƛ"_8`# Bg]* Xxpys=ܵ Ub~ ЇSB,"zLjGI"<&d^PHV'ĊbO. 8.w. 4p' J@6'@;^09/d;>.`h4`1X42ә00BZhԀUoV F0p=:p->6 t>UqN! *#gCenPĖy_vK^2P0w5 ` qsc0.O9Igw]\ EnQV[P y&0d ,X :Ьc?LyWSJ)^ɬXng :EVR650LES4v J̨# Զp U)M Eh\k-bZ-Z\@bb=$pE̼4@qzCQ" hO< 6:ې" ]o NXvBj)JHYOMտ']S1,JD=\wE( *TYamG(]I0@_<иC.Sf.ՠLU.3-Ry{^vQllHG K`g|7#/~S;W%řz Ѵ mT) e!8ly7TQ` .8Y*RgJPs>^wα8sqqJK[F\6-Qh`?jdÒ!JVO=hF:,kI)@rOHE`(].D]|\Ё9RR׎zzt^>Wx;/s fG`5^cZtpPd!&xQ-5U;C~bYD=._ci4]e# On57oRI2q_T<xq5av@ K_:$N 4DASRΑ".9b.sJ6 uec)H9,u.O. {;(UL Q>\"1Y?QO"o{3[{ٿiwΑL`oY20\͑~ ~LeOx }:љ Zc*EUUxk >o_~sCӳ/ฝA}zkwHO^.450><Q.æ2; , $ L1s 쁶ЈLʠ Nڈ$# ;!;9;6@4%Ḷ8  `&pl6#H&(L(:+ UZC½?tHá*@Y^jBy(*&̩B<-Xm#zB789!;ԻCCWDZ:.0CLH` FaFb,Fc ,i" H 8!èƵg* {)n,?1hDsԴSGUdGO?E},b5Xi ˟Yl@# 7 -Ir l #9뭭HD+ ڢ$ ,ê9;K@KH xhGKc(zII,t$21ʣ RJcJqʘ)H*(|F)ƪآHEM b!JI ٜ0ZPɰh˿?3g6錀 i 1l7졤z6xA8E4)/e9x:La͜B乀~ Եb15AwLLP838䲴f4] A3Ջܷ(0}L/t`U™OOг<z eT?=XIҿ˶LEb_pBc;ѺKQ73i=u4;i !5"埪ƫ x0pNl4ᱠɎ eT 0 EN d;14L`S ySYUZ9:^ 80%= >E͙J)Jرʅ0{& @q. kҮpih j}.V9ˤ[2i.S:x-;a5Ne SMET]EU QW;-{\%-HU]ґph_`_UٙH@H̊ȱ*U=defTT #1 |] -WZ&h#oƗWIcAIW XXX||%XV Vݻ8 ؈ *eXXpas'e ܙbcJ|NYbYܙF PpIzeZڢ3CZE2ZUXm[Ufi[ Mp) `qQYceYMͩ\@mAYm Ҁ:?z 4|x!qE#RL{Zt]π N` hYc:K]]% `g)^qp[ 3ѣR/z_XY u-Aɋ0a-en uP({IXMU`:E]:\2.F|қF\d5޲ٟ-jbL?#E SNQ6zkmZQ,}-nI ہU>.ӾSU&^P ea`ʼnmARȱbᶔ_`a6Rp%EMXOЀ<ˈ-(YZhҵ l*1 U⭭b}o1ϔ28[uپnlD_ndlvgk xdGl⃂{u 4G%,X {Yvq`P -oYnr%n(7n2AA-DL$ߢ"p`95W"17 9+L NUs;lTs>DؽJ0?E"'GaIuU2&C&fpM_l3BBCQt?g'h'i7dbMj23\7УGrzKg6TN 2t`u:\/OstuoG% ^Jeh`"1hg-dzbU'xMW.4T$$5 z P Zamڈϋ\OoXy>/yP:d{h|o'wF>ҟyl UKQOdx!0 !/,RZt,w4Mwu v'c]S_v&wvvbFk{.?afG h|E]!f*?ߌ#,HWc9x XqV)?BAgt GgZRI}KpڢU  /h,D6  ,idHW%,gҜyΜGjdB䇢 ~1m DMNKA^ q+ذbǂ5,ڴjײڋXRk.޼~{ BBi!I2n1fHR1 00@>|@CТ4Y&4 tإ;HhFA2oɠΛf,ڷ$RZZqk[=gU.]!b% &@a5Ff) WYUԀtPI pT0HammE0!(%3W@G4Rd͔YM7$sЕ$CEQM&dMߝKyi{y%oه_V yR[ Ub&%x&u*e/=4 VA!8܎ ҏAO@AӒM2I+YY9*\]y*bGfE}l FaqF*'e)ᮑA[#q>4>-?)P*ԡF=*RTN@wdH-fI,.H~RR1eKI0e3C6 20 CIGs,7e+=,bkX>SR}줨ʿ\5L٪Fs2~)S_1%kkcc2kD:QVt{^=.r2}.t+R5IPrJ5 Xp,-W6=uF>{@0:ೣ\!J`HLMYS<3~0#, S0/9,QɔE3юp IGE,k@a- 98W-L<6~_ /N]׾5-a>6eO4(]]lZX`msg>+H @h\"|Y_2y,4X-큇T-(A,fh!obz<~ugU]mk_{`H FL[֦mc~Kw2¿R@>/HSֶ xn-?gm63u#׿,/,OT^\K$ 罒(Yܿ,5u]%U`+U/L. &`IQ8#A`O)5i`(_ֿ1^ ^?J v/ FIoS`Մ :>G``Ua !_PMa04@4v_>DU!YdL!MCH@T! Bi5y R/X!_{P+z&FA`Ea*ahu|eH@ۨ`[}Jf;ΈBhx&i#UФMVcN򙎡܆(ADmDXCL'`pBf9P,gFmhjTH~zmb Y!Q\iBHlPJ蠜D"h@D`n&D'P'I(W+NAd0qDh1<@n4̸f # MDxpny&I*g Kڨ<؅& ghĩl꤆FTlD zjiՆ:#$DcԤ#Itb'o8N&jJNKBh:fg,gLjR҆h,b4S#M:YlK"B<#F-S(gShpl`8Yh5REj^`Z+*ФA,-Rlfnh"+|j,˔Z--ΦAlsv9bJjk,B,dBb̦"@t&q&mrzTW |mdةrH~)bphozXy-k$)ݹFzTJc"UjοnR"*RJN2\Hdk~p*L挨|+,_2iNl`٘n fNlHeNIDjomև,fdU>omj$ӆ)jBD1momS.o/߾FŒG~pNd "k.!]Ҭ-aDI 2B*jI%[m4Ydjrq(hN+ؖ*M˨c+Hr A0(VBY1q52#JѱA:aѲJ!M20Otad(i3/H'23"_Naֱ51!p7_~3;9׉9Rܲo;O<\zQ]=aR> R j1!,6?o3"_IEH/7pAsA7F,gc܎;QR'R/u <$=CFd- قH+.V_m>2*JG4CKReGM7>iNelHJB]T@.0A4;5E/TSa#+lj2-WlG:bζP䶪o>epB~rPVjiDufnɖ37C0lU\@S2T"Tll*䵦R," pD Ieډ6N33{v#ڛYvhL\Bv@yFnqo~RsEƈf|e#j*i_z ?wKöQ@Ե~uݴdnrN!P:*$fqym &%Qgx+PcQC%v.vBsvr2J,Ȏ&Ah%%vv,yi`.hXߋr8Z jmun\CpIؗ bNh9@EEv|U Fl9]gkd7ܪxs`ۑ5>jc`d@k*ޱ\9^HK2fh؇j뵝Pykp:KW]\2εJk4KSEz$J-IJD?7 %z6B=SuS4q0okB,c3hhO"G {pF1_;Y&m5:MAňķQhDˆ!;kʚD7;@+gscs(b;3cӸc nfkj Dmb 0rvj7Jl/;a:Ӊ.ĻhԥcGƭ6^PfiԦQhN$Ǘlj]]h@Z9ɷNݵ1g;\\ĩťKU7TE{^/)k/sC/e c@b3;Y<Փ_;5˵ zqc-%hh] cB(jǻ[}ˏEi0InPXս*SeTTK] IHA4`aUc _}Y@ PD$_!0/3iJKABY mM剗X`tfS/rj:`}paWF mZ4I5&Գ8`;02ִ(+PŖ.2`S^ٳ H'}uj`#Hn#U&Ң~J%hqfˁ@TӧS;>g.h F0Ō/Ǘ%ƗySywcϟt*Oj~*JM`! ?J+8 È4n&Z 2~ь36Ӳcn;~Id;~ #(_ f0Ⱥ"J#B.}|.4:+UHrD e0)?$)+@O NFTNZ):t$̀DRMOqF~MJ!#( u .j~ &Jt$ųcO "s%M 20[/e ҳ>}O]tB$D}2^-m~2K 5 OU}fAWOh ހ\+b撍N`-3hA̪ 0ۈ.֒[ `CQgste]xSi %Pwѧݍ6Ԛ[wUH| qJO>^K^|Do2#DrЭC|F k!@YP6 kJ[3EP:Tծ5.B Wu[00$HHl%+\hh9 b?|d"L$"gp:A2GU *>KZr"wnx( f5} 3) #YsRөS"jwDjc9.`ܬJ}3ֱJ #A'3-!pL5/#蟬!|c(p+HxH>M d1%96 2FQ/Xs ĀtF5dG4H0hZRJ-in:x|_is.-O. RGقZ͎f8E%a)HjC4նdtqIR`9%[NVkm*sBWҥdGr1%wcP&ud| !&rw*pG6r< 炵f]/e'ɱWR~ (erzP_Aqti4[ Džuc28@feߍ 6,ݔf7q|yܕ ;/lLve]ϑ4 IGz0#mpm4RH8xmSU}g;ֱԟ]hNzƊyk_\ AEsYqE*dl=^_-mvֶv E\Sⶐ*]ns nw܀fqͲXo'6}PFHٛp)Q1x7\99NnmaIs%WyeA; i^sK5}w)_GGGO?㦖G|#Bz[2^,V+;/9ۑng*N;ߩ{/9}u;7nv?N;מew92wM׼dpWYz7c<y|il5HbZM4f+,C!-2#S2e{tD*OG"+P+3 A!$} HȰ(K1r2g6k*eF~3b8,cB8o@$BI|556+i-e1msiV+> ;J2zvsXnR\8HH9S>f%&Q&-54;@AltDV`]lGE`f9 hߕm5mv:_C?5`jkVR0 BfA @Y@B8^=ZmCm'6n3pn6"ʰmv^ovcSTr#2p{akDtHVhUOAorV>nx95V]866D4wRf\u_WKhE=("v-R.dABݣz,x1wxtxcA1NDZ-[W|}R{ua_KeZ"&Wr b0 P&<~Wy0wAemziHzC %:4:F8:`(xUipkf$ AC@u(?hH(Euj""I.&cdsl'mׅ~5~/vY?PPX؏;_(iM"*4W8'`8csV%,9Ifq=fÊ#Iח4V( -$9"&1 #.737׍7tciA Ϙ%4&od"e|:D#q]g=e=*@A!mbɃ`U b0L&4$6&*KؙAJ7Yx߸wY 9H7x#7xCy2cKBG*:/,W.pk"19"'`_)a!:|Pxh z}Y_@ϨEZ3RjY?$R(y0Pc5H,B}Vp7$V!:DW:æcHrF/-dk®fntzl?n&gB$!ڒ$T8~ȯ *5rozq#eh00 -Zd|"s}Wp"Դ7²}#"8%I.HJbEť: lYR,l:=bwdg/8rO׸/;#@V+}a ~ @` @6_B ?#\#PS o?oI)7,HJM['\b/c8 b0>&#&2ٔF8r\};8E!$yeBVP+$Jfe04Խ9[ r4 r` xZT²Ch `1'>4t`#<i Hc t4ߥ |_2'F{A'=?y~ϓ&1ϫb;Pt==րA7=",;8x!$Yíf!~![`+Z);7 "׃AP/"ϫtyOc"=y~ I@]@n@ۼ{),A'?&|tGޝ^(x D wHzƫ>k壈#C+&B# hc]~B7HXӛ}΁@?}}] 6?^}ܳ_|}—_8`"ƍ;HJ<2ʕ,SH3̙4kڼ)N`1СD FΖ~_ +X3p@`]%Bl x#4pC8԰]Qvc <V2j0 CF*PIы(~=ȯK~9\"Cm _@ܵEFYB!2_K"d8*d8!_OK_i O`A%5 JM=TeW\frAv@LpVUXMpY0 ׈"v]X\r/a aG 6_BFIETNniFsvDM8 ]CGc"|a^ZHEpy$[: p i'iAG!`0![&jIdjE1P9u "\Sxy+!Y0"JQ#uAdKl%)bo\D ]x%XYXjAyj| pɩ p, 1~ *ZşzGZ,8GrnbHV\V#j"k;YRⅥb>@FO,YP!&mPZW2W*`%j]{v3|àFIjŢb| rYђɳp캎s,GֻmqyW"C뀊]o~ l8_8@ͽ;1fXvT E|/ }t vov|B_x-xſ0@~7h8 O8>EY=2_Mdk"Ј\Թle3膲9YHrR4L DVw!)4(jqˆ ZGBe#"_Nӯ=L`O%0$lzA^#&[&y/bK_i~aϋ\Z߀W `C1w? +"R.,zin+baP.%0MȒ2&pi$fs RH G}1h `T٨'BHO(ƒQ"˜' kI KbݲȽxNHƢ'b $3F;]M 2Q8 EgP$Ё}F@- p׉ fX M?E4~kHBIS$DhBWCwz~+)&Qt( RiAp+1 fȰx!Q'DQ/x`_a bA0drDwDThg BbpUkk{K ,&KƒkN%5 l8ERN3Jb8:A@V$(0P[0i@څ,߬L٬h/@JXS ԥ 5I Pіe:9؎@%fQTȜ u9pAP\%a q|Vd]Yi@?p+&FC꽖gJFR&bݢNc;2OMRI%i$~oVaMPyQ!?<1ɨr-`Lmq9D]/`M8 ajJc2no,֢-.o 08!i7 6z' ud䬯93ߣ>M%8+hY$9dUtIVr9MvZu $ l+2xъir MmUwGMYEhc%94/E}S;<.D, ۟$pM "KWȾ3;9L5/N3"ƑH^};pg̼#T P/}>)ĶT.iM SΤꅭz1'bb7Amj\sa%9  6Okd)g#)dXQxc}wm*#c5pC9QHZ2؀<u b`!8{Ãl9nxr:籀w\MF ؞SXNȨ܃mnf\Q'8Se!MձmZ8w|mN:lnP-Qv89c MaջI~Pn*;kGb?k̀1m7r%=\ 46z#\Ls3׻uv7wg-p ?El(,S}pxg8+x,j>l9N'n'/S@,BB}ca\1a^z86FΨ]bQX8ŦXbxsx;/(IpX$n~\5$gy:}?z[(׈&ykJL%1#Pr:df(쓆N3p+!y+xᎥ29W""gVA"gWMg˘шkg|wlƐ[7FW(ȑla<%i9S`E"f[(2)4;x`TE)ygg.iwy{)×yIM/<\So22XAziB3۷(uH6cؓiY_IFmoGX;nXb,xFVR8%ɛwxg3ttV⒟< A(OFO(uۉ )hIbd^bj*_雹 +;󉟱,TQ#ub!B-&IXto6mBX39*>&9+Iyɢ٢ )-ZXҔ@!;7n[:o%2Pn6Yb wءM-WF}%jX9.c*YI)0ڔĸR]X\2"?R %΢"aIfKٙ:&=yzSJ|r<!쨎r@ꩧةjG .T3/`xˣn䈧(JjNJ) *J ժʭzQZKb犮骮G4-co* m`>*&Y4D256BFzz*%[ʊb+˲-/ .5k7 39R A+c]yI*[/*PCClqad#s~?8xA.H$=:. !`wy{˷}wK5˲:{سC+K\ZG5fʴ>T 0Zihfb![V!kGY#_Q,)t,-3?s%Dɫ˼ {KAk׋٫˽ݻ.`+K ó[KfNQ[hJf{+ n 7ޜsl+JΪK]M-btpO@X /$ 375_zaz+Zβ|CˬX$5,'*,LSM(3&1mqs ,"!ydxmxPh=ֈ<׃x"[+gІBũ~&>}A9VU؉`y w.]mӓ:9;MΚݿ* ,b~*^m` MԶܢ*٢*M9-.$x-S,2t>dMո}9X 6Z `@9|LQ%s  4YQam͖;}8m߽l5h> uhq}"CmldRRP7Mqmf=ij?Nr-O@ v 3=%yD;G*,RT:]`U).,k⧹jLd*Ϋ[F"oOnuB;5U-a=.e NV-8"M p\r:I\GЏ1,W'$a^~+| 1ee"Ȳ{IA .mo>lΧ٩D!vԣtWU^<ڼ- 73S8I n%ξҎ:Nw^܎2TIQS9P[0c!T:PImkPHVeX.Wwl1;RSo_-(8C mPׇl><x BH~+}CHN![sS|X#j!oO=`r'wJ""v*3Gr- 5 . ^譿p>] ٪nN$yU7CB,sAs|YGrW*ULT3I!l"eVp퓿9 02NPuWIdsZW~?y'lvTpvQڽrſ @0<A><1BR @bƍ /~<8! jUTU^K^ }uP@Y@VZhg-kW`vEѨ`F ;@/l.ڋdʕ |UL * +!Ď]Ȱ5l"G(;ʖU9A_w J gc]tխOͺ.z ɣ8@-l`bd` .::3pj#p +0xC6&B EpD #3 X6R%{ .J4`,$092J).; j,3E8ij r~ఉ JKۨx"!N-EqCьV{Pt'rML%s(5VYgB,2X!b Oz @i3d:4MFutj4l/]So{N*B h &_e^{Q$x}V4oXX-W@Y Bִq[K'6K 65aOFJ[jЅre >Va~6Dэ.V6Tq>StÀJNjje,_Z2Xlgd}>(4j}`c#5X[׾qnC57o #pnGȩƺr/W;.6V-YIfu_=v]/(s?YΟM`LϿ2lr^N6W\ȡk9 {LJ{MkY?Oߋb-_+I{eA`R7AvP*$` 9Є'D Iz;#ݮu [;.wٝt2jDbg_AMWbE.rq l^5 :HuF6Cmxk\6Qg@;9"TgF6ґ$$F ~*)N}b$'c;PE'&܏S6HHVv+HҖ| QQ(MrߪoX?6e^ Ȓ2e60/Lc:BVJ4ɄP%Pb*zӞg>O~ӟh@:PԞ49kN hD%:QVԢ$w)^,L9#;.!o#UJDŽ#4:ƙ)iNuSԧ?jP:Ԟҫ* ]WԀrf-/!T%C2zыZ ( HF4"NdBX$ 3`ƦPj̶a[czdlom\7hׄ6*}mW tA~{nX/Ƥof_ .Rps+ܯ VJ|38q#vǙ YK$g5zL6s<4AoA*Av/3D)k ccnPбZCR:7R=tUNOU~6/iƃ'+߱wWp}|̵^I#@E?zҗG}Uz֏>%?yW|yor Q6?|IyU[!/ O *0}w?E`+o j>_ʪgmo~yC)?h?XiI"<:s. /&*@)98fџ#;; t9 π #ӵ  A#A3A3$ؚ(?"-747lA )2>0({Aϓ pRAžBIs@;q( 8)@BEA,E1|*2\B3S 6L7̳8dC2 h#` pTp0[H. 0`XE`J-Kl8&7'eO8P2QD d #0 ^,a4F0pz_ ƐƇ.(DmT? o1pB2xZgd 2ƀDӑH{4!F ɒ$I>D  k !ƀHBJ(d B4PyxLbLI)]b!AkX+ wIɯ^L#FK`XE XD`pʯŒT*L`LLzrR1md\1q$ lDpV`pHgKS@. IdlI%FL& lH| T/Ф?dL(DA@# ?@Z1N$LmcrhE4|()O:kKOZO .oO 0TuP|ryz } ݧПG*3)eON䚫T pu..Q*"5#E$URX'(Q!%R)uQ4 )r!]ԥ] U]0^DCdL]A_ѵ/ڕ^^@6߭E_0%`^7&V3 n`3ؘ_=` `Z 6佭=)tM&2_aA&]m1+$^eb?ߏ"6u'Vb.> n؍ 43F4V5f6B8/cZ9^ 9c&Yc,>6,d.d4;?Eh].T}_X]()>jdC.`LN!D.TS,΁4XU6!/-dP>:Q?ReαxdFf-"'f3fDfg~eFbn~~,k0br&lmgdf~g*!tNaq>RVg dtyxeF>6g>gg6d\d| _q<bp 'q$&'W*fac?\_CLD\A(8#r'rzL#_p-b.qFs냈Z)_U9B7t9?Bč/F_5Gq= r8̙0Aq:' )X#לUr$'4H΄S\]nH_u嘕QXSQuHtVXrh^opq'r7ssWugvtwxwvoRf!vu'҈ZɝՉ#uY4  !ڑP ~_mdvW?Չ`WxxwࡄֹA Ѐɜ!Rx(xl1 y>k1% Wgwzz8v(w uV r4Y_8{b жā1( XxwV Hp# JHi |GxXq| >bax(>cZ}}'^(&ח0  "3 `Py؏hxSjb|  _y_x ~h|`_KA>L !E@ׄ\c`~@@ RTȰ!$V K]p¯a Cu3†jB<&WXUq,ٲfϢ5KW׶ w.ݺvͫw~L†v16\&N):Tq !9д@꼠T(BVjWp2E:NRVRX=)fuUW+獱] };R&=䯒0)}HYLW٤d^APcRZv\С#X+-ct%V=fd&JmRL7[{N1UU 6B%dyÑU\CW)&AYJn6=ZcAvD49'}nfVH)9P[0Da[f$*(YmC_u6^[qɵ¨ި*E#xژcd8pB9u&HCt|Bj|?TA$]G/!w)oD9fAKe%xjLIQh&XEox\Ah`?oz Ur\h*#\'Sd+8FヽB;f\lN2o y*GNI&o7?\w*FtmO=ӻכloiPv'lA1khk8h,džJ7@ӹ7Td00IYye9+|Yd0G0S}@AyO`s2UYV3YN5MΒx%e';\X%9{0eӫBtiIۃz#mR6+>Cg,BbQ=g@ *4P,#WꆖUHRRGB1W \+UN'rsu&T/)d/LeM[a5 e !̆~ࢦ ( JQS 7ŀuD L(@D2Ħ"<F@Ѐ GalN`"F($ d1XV-unJfGUE nHIt %@N42,ɞ&UNaBBt 42pA&wQH`@AY!] IbJ&zXR9OT-lժad8HsE00֟4TW#_h`M؃`t oOq&jSus[E֒MK!20w-5qM%6K8W@'C^U^Ӏu,b&dfsg d;I*0:W' _4$O¥Rw0H@Yz@3qBlg/KyGA;Pю"uitDn۱ Q!2ݚKVP42\Ғ'rJyAΥFcD |$$:AH#If$"1wwXW]x3zw? |Rߨb*L I , @vWF@Vye:PR ,)U Bka! ub>J +qiNbݵu޵,d,iƅ1Sk:کr|!F5;rO# pJ˳'wemA8d^{Y Sɷx+4IܸiPl&'`iEc_ؓД}4qњ!#^tT)[Up΃|U_D\ |`e鋿kme5}F88mp[7:9yv0̔+55u(9kn<'q8NADn|A қtN:Ρz{cZ7fIx|y )<\*KjS*%qc>K+=z;s=<o[A<7>~v'}!sS89y Eê$8Uӣ>_=dz>jW^/na@{q~ۛua|la?Lo}VɑrͰ%@45 f||gڦF_n~D 4A/4 h/p6D4D60*hrA)@^hz(~h/@vhfhUzxRܜBxJP&َ^T''i}v`~%2]x@%0(J)Hdg:d)UGD{TnFUn"[i+]֒x4-]` @^zV wAAkiZ꥚!¢E|-~4lax/\ *d!j("-FD]u%HjP*"k*~⦝@\PŠ궒@@lB\th+E KJ)F$&EEh$LHB$L &|.ǂljr]laRA/xn̆*vxj_\AT+ZlAX+\eY,dF)^]jՑxQJpYEžENizDI!MԱl*nlT!|j~A\ąr.l.A^/_l *ax@.A-F,^$qªxP KFZQđ%LkmY<zIUz Rw.n/m6A=^\ RAznφA/ͪnEіn^Ѿ)`h®\n.z$ LVDD!DILɭ$\ ?Tr,"qe\ ,"o*d1ެ^"[0X\њ-@gnv olJIld!^i|@ A)+5Ŝ ǥ b`M1!{'"Ev-|``\Xrj\AޮGkz@\mœN|od@Ŏ/!)LH1ER%JW. S( Efrr<˳'rr]l/Z\-<-l@'s\Lmm. 1nAj-BPȮ2c/t]HAfla@hUS$La@)e$U_o(ƕINܖeb&t<;S㦜:.+V Vw\]r)t'LHu:FDm5֣Lڝnt/p$1FIu]I^&PSCdS6Tl&t?Nɨe.@Ive6T3ݳf3a̪5N[P{PwRo?ukköf{ Ф(nɤ6pK 7 wq3)Hn 航h*耊AV(vbh{脦7|.}e @6 EtxV]7v3SgS3K~`*ea"JN0gt:8P_&;8v.3jvKRYe 4Br*xKR fw'MF8O~p&e,dR%`8fR7_gd#$3#Px{ApVRA?8;8J P0o"yikHV7jpy{f޹ayifvg e;t/:Q^z9za荒zzz*0AA0:z{:z/{zA+,B_@Á7;T?+{"<Ɍz{}:a{{{|f|#|+1<{W'J@qމ_|'ů{dƃۺ|;$ȣȫ|Wʿ|͋"˟Cļ_|П!Λ3|+3};; "їۼ#s}{׃}؋ؓ}ٛٓ@<ճͯxxO}ݯ,}wՓ O~>wLC>00c~ks~3x~~~T~ꃡJ⫾}d>s~sR\#? 8JSM{?(S  g @Ȁ?C@8`A&TaC!F8bE1fԸ1@ 6dI'QTr$_aƔ9@~ԙSFM?:hQ<ɒiS']:*;:pQkW_4SgUF-DX&h;n]w-o_x=p- qcG.;Ǘ:qI?ZvO_NY;xͧWXxףF~}ݣ-o| /@;P7cp%>* P, = QD2kF Y\WEVF^1%o44/G#LR%l'R)+,/ S1,3Ds%#BS9;S=? TA -CMTEwbMHBIK1TM9OA UQI-5T(0UUYmWaUYi[PQʔ_ Va-cMVe{IfVikVmvɺ WqrMWumw/x魗sW}_d߁ ߂NX&6`j~bX㍿uc%XI.QNY@fYiqYǜI)fZ衉. sڣ~>駡ZO s ꭹY'ANj:N[L2ʐ|m^&InO\ov\)T'9Hz` A,铑:]Y-yƏ>k+_/_$|@Fn؉A N9r!|GA n|Iv%$!v@;  B{3D iC.uePE4xD%.m՘E){E-r-q"ƨY.v؜јFu+SHČqQ}#=ܕs";C.B II#%1yejL@JQ4)QJ `\K(s`Z2|Y.gKaΗ,0b,3-Se|MQ3eԐ6I9n̛ 97ΓMtgi2v.qv֓sgOO~q4 87 8K@Q$Ё_H4@0PfFa5`h0DcFD:4"@pBtfLJIv:R: =iNjU hSUNmeNH?GQGR^ԩ\_֪^$rN$Ոt.>Y5H*bSǦUe= RF_*RVfSM[QH ў4+O:\ tࡷn2fѵɦ^"n]>Ly5RgI'0m}N< 47̀p X&%ߖN<$* d`lD 1kJpc-lA:*VX @RsB$LŲ}4% YG"i0d74B&VIiDw߲v E8 ԴfJ|)osK_ uA]#pSU. gc/%ߕmlg nwUmkKۏm7}[7]kn[GV7 #w>Ѽ^{oow[хe, KD0qoA<{J/,^ZnlV&8 ;PK󚘟PKM%AOEBPS/img/cncpt076.gifbBGIF89a@S???@@@wwwೳ;;;999///ʭ___ooo ␐```rrr䏏pppOOO000PPP,,,hhh444YYY~~~͆JJJ{{{ˤ>>>333===׻]]]666WWW |||\\\×<<liY}FDKӖ^gR%<5dKU0nj衈Y4礔J'CR*觠*j{eU8J@g @ $TV_:ꭸ)Rhu!jXUAкy@8K춯mCT+)ikG$Q7y)~/RZ1AĪ쓷6|Gc?U0glQ = p,q`ĿC ,# Ea$lmm,JEhq/H'tdGqa*]5|WKg5M_8RHTh]3T4؅}x߼Py0 m' c cP8Wv[`QAy葞ogeeM)F2PL`ۿ|qSoɷD͕qPLIOr@ ?] lq<%EEdJI&cNm6QB7AfvO=G B6=x\(!YQIS/^yG c!16P%[ V2>O{nx5*]aƗ vP5q=s_[nNf:Oy ?ȐUZ+ F%oyZ]6ȿ-כіT-,F٪+ 0ulHD2UY e9fPIy6ؠ8v` _Gb+?F$al 6&V8_(F$K3=΄L&Ci,T%dW%5g~ie10kdyԂlihTS,֨āMVYV3sJ۲Yp >ZA Bx!cgCX dt-…wN4I?´8yĠcږCj$i4*Bc&T81yAeCE9KJ*/I ڲ-,J1o i4MM1RA'}M[`h,$龉'1wEݦ"-ɻ68=YɁ#e Р5| %{L4r%Ae AƖlzh+H6g3 s~Q0%WZe^h"J f(Vne8DFC Dž5G'ʔjk$/vO; }Q M37@b:n2` %HXqNY'("\W\/T 1k@Wcִ9g d=vdubpSȐL/DhVYbQcȔ#3cZؒ\%CL椘!B@$̀fRYp``srg@*YX6MM)44v'E/(`"Niݨm'PB} BK<驗 2 upa럟Y*h2 zD:t >3))g*d-Nl;2J+00)Ὴk S:5YK|`@4 i>?{P{{;*k": s)T3ڧ;J5 )AtI,,G }W#{]jL^ K T 2g :` 1pw0[ +bɞ( 3~5L,AVm$PӤ;K@ٖE J]m0 a@ ڪ:Ev5A۵M,T ]^]@ * X@ܕ}}ԛM$ 9DZa5J@C c*L<$@5p-7)!:qqc=@jC0˴;o kv2`E`{xB` ¼#PуP  -p=sMKͿٍ5zZ"9 < DZ CpMzA>Vc1keKE$^ cq~K~>&cҤwBFxM`K M~P|p QNZr]seng ͮդ0>5񊰭Z%/ k}!QJJ$EJH;AclGX.])+01 0볞[~ҽbО喝F]S+qK#ky ;>Q:H5%'O_%ϳ]fBtn.0ꥮUp p! PV>ܘM٢ZEk@PO:E\~:4T3T,?T_˫]8.EP`2urGz_/hP; Ő@Fﲞ^~ ,,q&x`;Kd_Ӧ@T;[$^qð@ඁc[ߦA]^'?_'Py![U0_G WY (  ,,cCb38 rF1j\!pLX,Ȅ'SвXc%f\D0ᄌ74$č)љR"eKXYfmL[qΥ[7b"% _ `+ذ[@Pe]ePŠ)8pD,4vX)M&q .$h ƝX1- g'qOK$X"8\Ou@RËŏ'_p_VO^1cǐ%SY3gϠE6Z5k`Jh̋"&B B/CCX"2۬BR[bm n;A. (/0<%tkq?1@ q6}Һ8ՔC;PCuTRK5TTSUuUVQμ=7]@5ݒDCK>{?q@'E ܼ7"8YhvZjZlv[nv/:k$5\tUw]vu]w (eLLE}%QaѤ6(MR8P6 b3xc;cCyd=f-ecyfkfsygQ .|t_}_Cw s_|t4tTXk{l6lV{m6bUNҭvR nB2^l43#-/ rxb@X|s;sC}tK7tCÀÝeK~m-KDyQ`̈́Xȏ] \;Haz꫷z~{{Svu +)p-ۉV?0ޓs\?Fc k $P d`@FP`-xA|rC_17% -[>XW 8QM Dw;a}C QC$bxD$&Qg撾NH!ZE.)$ 紂)xSSٰ\F8QscxG; \c a'4 \.^{+I,#VYy@@ыfthHGZғt-}iLG(HW/6aKk@~EK6 m)rJظƀ'':Au/;D Su@A= f)YyHB! Uq@^nx[w}o|[7&8O.k}Pj7q]_FݸKhXy1W66a^pm W]r֒s/\T>+x.1=اoX&CxP2n^P u*qJkOf!!h:9?$Nqv"od܃ǩ_N`d Dfi='x;7(S=}zeuRew]|bXWs|WK׸a1++X,l%<:eĘvbyl vN6 *C%OP*u4%LV¼4eފyb@ኧ0(.(25=2j[>P61R52u909A< +2r2pj[##'b )02?0B/ P>k J(ڬ"@!4Pēt"5 H9_C/x@{,"1BB?њ4}z16| `ЧC 1/['{-9 B4ģ3ElD5;y(˓J|͋ΓĊCN,83jE3A CEt FZArڽy »!/v/د+ v*8Rĩ{/&_`ab\c4 O@A,gBD$'YFCK?H{3: =T.᪳@9SQ,%EHs|k\|46'GLJHHAȮ{deqF0&p0,48[4s2=JصB QdsT)e{#6E0:6+3|)!ʲPMdʳ=,TEfdEJ`ЛxF, H!S8Te˕.5\s5#;L+ t| \ȄDʤfL:AH :4x4@>#{ 8B:/|0ǿ\^> ̹ZKl-ⴼ|ԐYМAV ͳXHW7-0Èr5+Ȃ,4 TQrI3s.!>U .ML-u%*R+uІLTiև{U?TPJRFxN/dOXN)d 8ӤƼV tE\E(3LK>P5ġW~\OuWWUdl{M-bH;hr1mN}ef)%P5HAmM&]^(gă?I YG<ؑ吒eWadXX}jR"Pu+EQJƢZ)ZdlҒ1 BKaPk|ğO=Y0\BZ50[KCMvLE['5ƕ=b _@,WQۊl[ څ %TK)/۔Ge[%…P K܄<`۹E\X5=L);õg6ҍ><2ԽWŐT7= T%]bLY&]]']Z '5&1ȀzM^AW 5ߣ_c\\+m|_jXV-}C%`F U۽0k,b*ca 3U T'` ܷ``%`Y[ȶ_naٹV uU'j@)b&=(N -$E+V,&\-%Mb yb#Y{ 4N5V678<  Q>,Z ][40ף dd4 eZv:'e^ ̋gr.grsFf)6F:yFg{g*?8RNl&hHLJx /EZ/$=x5bOnf'Ho^ ,eJvg2.f3NvAA}|T3ܲ*T1#*@262;336KZN\~Ξܵ|-fޔocVFvپi0S zJR@|3 qMq F?NfOlGne'ikxG+Ҷ0z2L'B[+ WF$w F'/fv<p;G2IsUXUT\U+E-9ڒXaL H/aU j uQs(+1]Sr2h` ,h3"l!!&RhA,rH@@ǐ"G8؀*Wl钣f6xi&NPpR,Jq@Đ=JӊR4P,*(PY@Ӱ ,D ΅gbZ'řA޼z7 ""A`0Ċ3nٝ=k ^j2fd sa1,#8p-H%fyܺwb%Z8rhӦ~.u(͝MSn+FM}=Nçvx2B@˳xe Zź^{7 lwރ ^_II'!qHs%ڂB|g H1. a-xӇ#߈ӡH}"wHSL3PSH57نKZR"`Y  @@C(^1<^/Đ1腁tb)yKMD#S("eҖZ浵Kp&aD(&T%@DR DXџ$蓄^hhy:Ѣ5jޣEݤ-@$:,J;mdթ1D 5@e@۫GqKBّ 1k *ѯ{ٰ{SN|0 +ѥ@^5@gŚoH_aP sEreg7M3|38;|mȞnkLl1d¹jpWGlF8TO3rE.gs]2[GK6<63\"m Q 1ƝRGh4$כXSu\s 88K>97` }yyju nxg4Q55D >Mly˞x1'{d_* oI9N/!#pi]tmcs hԫ%? p"  |ar4&m`"X ɠA1PH;*<;UԼjGl ]Ɛ;3R wCIeRJ&z2u^]X̋{T^EU\KEQg!6؀EvFT|P M d`3^չ|*[@ MYe1@jշ;d)#Q<2e2|2 Iּ&6Y%8"HPƀ@S  [(APbӝEkc|0Rt4 duBAN`$B-B^zP`^+fэr(HC*ґ~"U[v1HV*3VT ~V @Jx:UWyH99"( 0z+d/).6$)X*ֱ3@JK򃪊M0 Zg:Ί@cDxanjjTi{ H98VUeQXe,f3مd M=΂RjHԊ`Y;'N?hD̹X6lv&^f<.rfs&8D[&s@ضT@'wp"5k5SBV (! x6P#Q, wk/w YC&QNŃ$O@2NoWRniNj]'snU~Kf;{*M%tz1RMc9لʽM(cT8EfωH6aV92.h: Тu^77x>'r@8UqPR>^>JSCZ,0EPqS8vi`Cʸ ~i}$?;٧m0w HY>gϯZ_h I%[Y fVY"M`X@eH 8ܟ8U d5 *i u Va Aۨ w Z rH "GUP!餄O ɜ lKyWDQ1摜$aV Š<서 !   T ӽڄ %E 2H l(."=\W #$]bɡatP@/H`a* tț1T+ao "g""0~"3XܨDƜ+5*5 6.6cmx#8ccӐl*őɘ=1T$";.#&cc#E>G8.5vWVX^/YZ$[%X`$ť RYfcKUeX%%0شq]zPZbc%& "ULjZD,^R:fS@HFgi_jDTklZ 77&TFq"'|D$2_%g6gBs]'vfvn'wvun @q I^qDy.e^='tS(֧}'~g}D,J'~SP>goh'6>(P]R%WEV𘌙̇=$YL(r$hN,(֨(reN V(5'taLjȱW-)1(Pћ R-Z<=VօgdmfleqbeyZZýZڧbuE^IuİeQOJh.Mm枏~Y b(VŹYR] j,ҺJb[΍B=kYF50A*If PZfnZiWi)8P}QD ƚ `SS^tj Х b:'f˽Uvnq%j霛TŝӽNa;!`%UѪQH *ߘ ɧ.ߡ-Q-jН ڥ}EbuDIUA޾)Rlh0N$K0I(LfT޿t>>Ѣf:^Rc|>ĎDpfr߁%Жm-KW-j. -|-fb- .pD n*V1.:.BnJnEH*5RVZbغVD&n*g:W]J`.Ѳ."hEfZrond XNo{R{BjR$  ///>bޭUvG/c/00'/07poRoV#ߏj+ܩ00 0 Jp[Rpg0n0011. _XGO1W1Pht1111_61N)-J01̱1H0B ӣ !"_d"#!O2"Or&Kg$ň(rr2+)r r)r--r..˲*r*r00r1s+ s22s3#3u%f5O5gD66cE|s7s8o8s9_9s:[:s;ss>s?3Eس#k4í@k3>tB#>+tC34?;tDC?KtES4@c;_7/tG?GOtHsAtFFIՖ414MǴEܴMNtOOtNPtQQ uEtRRSuT#T+5E0uU;@[rKwWC!'tW5Y_XsuY5V"Zu#5\5u[]5!5_v_` 6b7ƲcGbd_6,*36fwv4gvPf[hv%ϵivhv^6lf1gǶgva۶ng6ijcve7qo$rlCr/7q RJm x547v{'v |wywr @yvz}u{@o7b@@Z Զ~kr ~ 55i0x{(8 Ԁ`w/Wꅫ5؀!`ov+x?2 i^ @}o@P8 |c/ xn@ w1@/9"9kܸn@DySN(yKvsS D dyo c9A(y1 9_@yР@ Pm AwJ@ 9j @ zEn: 뺤sq@`?{dH;K PcuŪj;﹐#@x_Z ;_gq;"@;KzuNz#{+z<|O 2!a)#ǧFF|ļ&#K2 _|<Z=<F{'4='K'чTbx#W>p_+O/2> >4]v@;PK!&gBbBPKM%AOEBPS/img/cncpt309.gif6ɀGIF89aQ忿t???@@@///ooo___rrr𯯯OOOyyyٵ<<< 000ppp```PPP999W---=>{|:ZZZKKKiii***^UUUddd躺H777ll2GGGl..\]+AMM$Oe}}}ݼͬ}~\q|aaaSSSlEEE))),,,MN,]^|(/ՊT,2aob\w9 N8@I;ĢЋZg-ըg+s_ϾO苼gj`tugAXpZOXi(rE(VgYZ I7`hXm@7` 85f4htFPxm_P$f`~%V B PXf%fn]HiShdh.)5`ؖtiM`]BQYj՞6裐"~Fj饘^iM/(9rF驨j\8}`@&xJGꭸԨ)B!j0؈/LeS6! @Fdy9[5xvI7\ PZ e0" avB[/a#m~ [t ~\V|旖,*#T`5HIH5,4/t nv ]@iw1 Tܝo~`}@?]tXglnUda:i$a(p cw%'j}|ʵΣ~mdؔ ]n} WAYğYG<=`%B xBx@^/ܬZjB}*=c'=|W/s[w-+I:ī@!t%}ض&p֯! A ?vb,ЬXiR UJ;-k@;G$]d+ >hdaavJ-pæB2+/* ՟Jq-` /ZM&`LH*^C=_Tžh(bcI!@&(%A]k>ӂi1/%i#xA~?j_d䥣g|NeTNʜ} nrր~'m$LeT<^JdgYda rQrs*Jvg.cSf6_z٘S¨ScUZe':#\t09O$v~-<8JP 5Hg' Heh^3ߒ+/~[Xͅ/3LNԶtjPNd VBT`+RNhs;O)iLvAHyJ`rИIqZ׌ !KS k;C ,@rg]FeP[ m-XIZ 4J Dh◵`p=EȊ ,"-ƥ`كhVVX.YSW:ΊH6YOhŋL|FHLƏAN4(4a -+Rc HQISxlws2F74&яV7 R/IS.bV:y4Y99RI~1 15uqG!9G΍UA~g^֠}mii֨myP 4:+a֝ĪD) 7AhS.Vg KU"~h]+G~+i0gN8Ϲw@ЇNtЩR;PԧN[XϺַ{` R*jHpNxϻOxYIWDPËg<'R/^{|y[Q~x{^DQ? SW"YzE>W=o/|+O04˃>}DiX@w_>Ҁ:, (w.؇{m`s0w`TP~5tgn1s|}f7wp5 Q"8 @1nPׂ.h}mr 0L؄PKL8 0M؄ [,Py~eV}i؄p8 \Tȃ1kG @zfQh9aaxa' a 0h `AapH!E^UH}Ѕ JЅXb؅^{h(68>8~W:T IȍQ 98x6 u(kWxyH(viׅ/59!R% LٔbHYӨ߷fLȍ]؊f$ aQ0? ЋPYHaEYOy6 zɈ8ӈ@ّ#igP;HL :Hiv:xx%:fA FӸ8ȖQiaIh|?yIӧ %g) 0~(Ә{8}Ȅ5 清=YIjgxyܹ蚤ل~x@Y)Y*ypHbY8pxDX钩ygFʡ H# N  З ؈ `ZVZ8MȨrV^8IIbDgwi꧸Dڃ}J3KZ2sZ:3I 4-Gݲ{Ԫ+U:ʦ80jEګUŠ*JEz&z)*V!X֚*JBК% P2A8ҭ9 vҨvvv_gliگKxjkiח J pxmw (cڞj#K_*+J v}vjc EE E8XZ욓٨ A^ˌW] !ʌȏy(XȌuۧ ɌǙdnYv{}j )ˌ.n(I v(;Ih?gوȄU0Ku)^8aPX~h[^;kmK u96H˵0 #+0h`'Hi 2KN(6ǻ[;"z6 l䈸k~[0|y~{ۿ'l~DsYx[ g+g2ߗx &[I,虅XX yL,0yo7Ĉ}0 Wy5icڇ[}E 0KȮs|ֈlxw,;ۧzS+YolzlʂlƝ̻ ( 零M/ځۄ<ȴXỷ̄Dc1{fȈ+фPDpH]ɻP[S+~0x 0Lhh(;է۬(Uqkz80밦 LK˯z%ɂCI +ڦ ϲbJ %]2,"[~0vej?xa )+R(?߰ ͗PHXHMKJ:NEKҍ8nx($aLk~V&4Ϗ2%"$Dbz/?57]x{Www_?w8Qs/v?_ȟj??_֟?T OR'(ϟ?'(?o'o($XA .dP5XE5nؑbE<$YrE&Udi0@Ȗ1=)Ӧ̇'ύ k%eQ^*(8o*?GrÃL@ v@ "(~Ѣ"@8q pcNhL x`FTͤE*1"hNSr! =\(ƭƤK([ 4 G\\@ h yt +PQEQ[,sЃJMF$>0p (Q &eP))uBo%3 F]|0* ӤLOROVm(]OOՠ\'vbRE\@< !_R T x,$5rOEz-(I<@`ZC`V =t߫H웹"Jw@GO<`XzK/:{YpI!uP pw{`ӕ[.QWhI<~ҀdX0 |P .p $Dm)B&0VT;H4.wrlD"Ecrv"ѥ'yrj)SGӊ$YHB8 }4bŸն AcQ}~L⡃"p\I!@WKWQ\ۘxG `BLUy]qnޥ)DGdw-DHFTT-`UH\$<ً&P}YGhUDR^tI NxyNDH骏le! 1_bZl5]S`'R@V絸̩x %z$v[fw7   l6BȝkOzاHvPF qob(r `! E-* e> NtRĴ{a"h S*Uՠ6%miˆ,hѰСaRYTxRZN%W%pq&Wens\FW.P {]fԵv]vJE nuC/p^W|kWU@iE6Ƽ sA b4K-xA @vrD])Lx]L8[.llcw @.! p^V x-,-l8B .t%nu]pf1_i]. =b;y1svLfZ8-Qv ܇&92dxOT*/spb| p[ /t AA/,8.V_H !;um{ S3|mZKrZ mBI|  L4H , YB^` *0 [8@wLˢi< /)0:k3Vڂ.(9{){c3o3,,Ђ,6+= 596>+A8۫R%;FQE> h"4{;{[BPXPû_/1ӽ) ;2+/` #1#9@#54<C`#A6K=D5R86XpK7Sc;KOP<R;:c!$BS3p?PX'::?  K24s,5s8ۼ9F 8.iT;B9]@AG?\#1+`=BE/E\V./1)+ ~$ŁvC*cdEEJ#>ABY'T{0%<+/s1-#;E 7 H.1+dI:8E8C4 = ;1sI2rC5I`J#1GCGD$J+IHS7FQȸ`ȊhEB(;S@ Dƒ\ DflJR6sJ{dJ̮Y7#SK`Kpˈ\|L(M E B8MKB(C8ɾż¹CL㌮ $(̆F!> XB,;  pM'EEE0lH+L8˽c xOOOEOOO C`CO7P7(P]PeMP "|qNq?  HF*Qy'" CPPK+}u'  сQѵѲ Qфy )%ѻᠤRb@Ҫ0kpBEHQRvB d1 ּ' Rk{(ՀЀ)]*%MI8xA%xG :SP գrL(M%M!ATM+O$+TPEORQ-VceRRU4{EԀtUF>hlUւB VWMTE8SccSPRBEcW;7}T͹V I7uӁ`U.P":^v};9 xWUz} {S,~UTTŹ[mՂu+,\XV(aV0XYJ̵XXVquSl%O2%{?pU!»;Ew}Wb݊4S]ZXY5U`U X-^֤V0M rԄ @Hܻqگ (ÝAD1Y@[`R+@TH]EF?-TΔNM\ZK`#ᕀ(^==!$" @M$$#@^=ᕀe}C˽SܴܘH˜ XU۽ȅ$H'```&H )ވ^UߝX` %H$#`}ң0ۤPߖ_.D `?_8!- a`&`4Y  8K8 Hb)>^`!Q ^@aPᤢXa+b6ncN a#NPb+8uc?b@ƀ0 S3=۝^!K>n d DdPdN'b&+":cF# "POQn?^!&dMs`/ ܄0'݈@ff CS4ZdI>c#^&d~ HO^q X(H N#Paf嘸cСc7Dqr^*@gRb__!ٙC6bvӤlK, ٦HF2wi'fMDgs" SNeE 璈$f)~g% %X(H!Pv0,JK[֊@}mB`DF{;F;axh8M0]ɖ]Cx ]0?;{ ?NUSk.~SXDf9!KnZ*`&8f陀#(n^(ga_>&j- 0^j[UЀhܺڶþlH3O9=|;Mڔj`PX,#ːlnKˆYJ:4b? D(ev# 9kzq!8Yaφ $0,.b񩭽>U\۰˻H 0lֱpkUE0E@8=ջSM U]qJ_ <&N&(p*NVژgE . DigpߚwNhc=q xXڸ 7ݶwyS#|j]0QKhk OcLDsEIf=^7i} (ޘʾl&i/'H b" xZmph6T,;t H sݰ;q`}s(׌tEB(Eo7H֏]͖6t ^`[uV̦)8$b!%i ^``hm"Ⱦs@NW}7چԈgt@սغigr%Sќs?vcy<_tnW81rO^򏮒(Hfg`wxo (0(s c9upxh;~kEe~OU.e~ӭ;Bغ+4Ly=X|",q_Zgmc'%Y X$&V7Y#Xxn[ k.%ߗx)uoIk'}Y hmᲸEX(~ |)`'c!!5SXb~e`!^YVd pXd „CP!Ĉ'."ƌW# Vh,i$ʔ@# F(I`@*w T4Ȅ%/v,RReri!M\5 vud!UHk'KKȤYA &tEIʔi t S *P7@z}ݫ. -"/i€-( ?[vVEY=!o4m)61SOH"w0YPS~ &)B% (,ABP `A$VȑA /|| !8X^ %٤z0Ygj)p ~`F`Xo\N,QD)v5"EJ~B|`A )" Eihi`h첡q"[.Z Ծ³v ֺ:tJDafD [0@ z@ ċĨLR.:N}`%[@y,k"eAȡi暧62{ݵf-=[f)&,pb4;5U[=PtQJ3'AXB3iS$qF0d!P$/2iZ fZЩ5#kPj#,i)nڕP06S`B4r}z+]c蟧`*狖HY~;NڶˀZ`0eٝwĒ6E( ]qhJg";UE"B;OtX0ת6 >q'"2-EM8C`X"*Px,Z,>,{p^ .(# T!xrClPR س FяP`s;|šDE6G-rC?Œ5D 4_ͦ(v]|-8ұ=v# @Dp'@JE2t01?)#3Mr3ȶg! uk5戸pK*B.`>$ӂӜrn&PBh NY9H:e2sD4U٘j 259ff-ՂҀ@-% AQ'@LIXd7 ~$H4:\5ȓEx IAЕD\Y@#(:d !ߌ tLdلUQձ 5)KVꫴ hO74d>Ug&AFU9aI))K ljս)iD$$A eāXDk$Qq4e2'p*C:۬`~=-jSSfd8;qHM "TR#P زAETiIfI*ț">w!(j]m g+񮴻>O8\򲷽#Uɽ/~Y(y/+KЌ'[-nK+Wy&&,̧>{*P ǪC '$=&P&XU8' V擢D[if[җ2%5 "M`Pfj4-iu|1Ì'=|淡Yj&&C+_UIw>$e X̆>4oG6lTBu7tC؅"Ԧ6Zm6 ޫ#ͷM TvULm4jAOfЧ>6jeCUQʺY~gnZ!b2xu4uuf-ncS;iVt#(#-{z VHMpv3uq7F\=Ğ8 ɸ'@I>ߌR/x9 aM.'J! ҃9̓.t28ܩtsNxXG/i.Ⴔ`A-qu?M~C [~rX? w (m {m O Mj]WJ;AA.jM-E rOWJv>؆-4"}ELfֹo6XvZ5.Ine%VA/|DYͤ_W*4ChOZ$Nj*^|Wp]֋ *Ґ\:hF+|"Y謁/K,Vc=T r]9h@\K=J1eHu DDm[E`!W "O ^0yI WMTVuUam q}!jّ=!V^ 2YpLI|aUMqipBN"TBaB@2\ԕ1SiUŐHD^J\PQ :˜}Ќ-Btb2uҗ\ TmGq'j5P Vӕ",i!D% X+I X"4&ƴ(B&Ȅ-KI4)j$Z%&AA\)ErE6ncMXn㮜LM\6DDIMɵh ͔69X:c< 6>"#8r 83B#4f5\lzhcZEKb>]PZb ubaL'bdA&eFb̏ icxd>RJFU=$pXs t$B*b5#=FP␔} I> ZFlc>g|%db0B",BZN*v <䚤$JeEc3=ߘSFXۓ愉eV&Wp˱$#XqY=%b||Ye"Η]:OB]^_!1r DLEf`lbH dXB&mjlfMM%A^O2M PZ-DX2:HQ=*BAl;fA@coAZgBdQVnd^c:#*aN]WE"N#wXknM3"ܷL(c abwaElBn(M|(@?mǮШZlDaXfxbUdZΐ^ܑ6y)FݡF$& fn)v~)))))Ʃ)oaZ_)zi|!h**&.*6>*FN*V^*fn*(B2PJj RH)ĪjN8RI*ɫ*­bĬ6R"K*fǮD*# k>+mkI(")BBʪTxD8붖]tkFPk )Bvĸ+RFKL뷮k+k+lk.OȿJQ2Ūk^,N++&dž,&zk ,̪,,,:DRDQ*l"lnڬ -"m*2mD,ɖPhC(+BTDx-+(Al"mׂ-B4D|N,,> ,BF"$@(Z".:B̦PmG HD* &"lnέ妭"DAn.x.b"D$.~Y-aͪ+:DNn2-BoBn*o.(t/P@o*B&0݂+&M} oD&o.n"@*j pԫ3R F6"Ao{` үU9l /䒫Fo/bJĨK"8@E澪+@L*oKQoƪjQ BvF^.Q"pKO L@趭cA\@C$nJC1DZRCHb.ϱ/z.܊^!#|"1#7ʦ q D%(0p~,nҋ,G~겮jvn6?*pxp-$7mRf0Qx--Ц">̫fn:PP.A4 Bsm=-B?9 ǞD,E+$o$pFF_o.G.Ž4Bt4}4J/첞K/K_K״MGӴN+ 4l4AQ-kEmSk+R.OOO5V^5NgV+W+1uX?+WH5Z?J[*Wg\uƴK5^u_`hP5XZW;D(p&aF?g"L;` D"ch/@0nzqTv @ewJ,ClZM"\@v Gk{8splq.n;jOMf-lմvjSD3KD rWmN oD<*h6wt(mmߋNJܷ+_80Dw ts/wD7wSM _6o7~@ybb, D>_HjqB@0*hSDq.;@<jgϸ, *+;R z8ͤ,7O8#sOm?8B?w9}l qG0؎ 8d<5v2 ysgDAx,K13MD9<oFĒ ˟{"/ĨczN͘K:zˬCy{[E kov80@@kxK?.pM-dJx:;dzښoʓ{wqBϭ,cy[|h/3:G*|>B+̜ NzWv*+Bv1"SB{;'<',:j#PiL[y+#GDX[>PŏĂE xE ,*hB*Ra*#ƒyG<`E dp'yeHRz̹hK,glCÑSIsLUwܸW2VviO5rTF >8iȍtzE xEX6,HmOuhiťHYsM6L˘SBU8A(:>][kվ9,X,idOp6Ћ<f}+YHDPx` 0w66gG5$P@djz?7L zE.(&ko(,' H&oH/0{! il&)rqE'sk7r:h.dz `@\ɲ_Dh0ɟ 8߰ PDB(X*4s f쉤Uo/Cer dUu 'd+Tt. L)ujzʶ˼v}YNM#K7tO u:I΃]:;]D5_ݴ֍npbQ_m9{kK[tmT1P;r @͟&qҖ>]l;3T)m b piW&XG)!Ћ:}֖ٓg` ugPy m"惊Ql㝉!;KGM:) 6`I5n;bOKC&Ԓ0WeC }xzXĒ,N(&:b /-:ND(.x+őhϋa4XƤP$ phFm͍TA[?:ǑDtZZ}D<ʏ#8&&]l#Ũ@E'K~20IL"H:PrWdDJ<ҕnd,HK3F^e*Kɫ]Ri4_+EXiDfefy$Δ&)whJ`6Mo~8YNsT:Nwqw%Ȯ rLܑc/k޼MP]PT&4nTW`[$-ȕmx6E\86zy2v^M09{bKBnZkO&C}R Ĕ'L"K y<*o"&T&LFδ?E,!$i0\ў<|SI W s1kws:ÕXR}bHCЖRv?wkm&X  lR~'{Ls8:FDT.;RpˣϪ"0-IL%ȝN~;NmN=HF*OC+"'&#mq#9 XPF,. tbBCI8GIңrdPBb) 4,tlxইͦ3|"n,Dc2P#'X&*z*LS͈@fH'SF(0vBɌɫl\$l(Qbw79e` !6'E c X0`/e0 }$ 售Kϥki∼kNNu%少'3m⭴lѻq Qq&+ѩQQ1NKuIm q rQ!%!Q"k!q"c"1!322##+$ѩJҙ0%QJ%[$g%J'i$]& $oR6p%Hd$V`ɌC$Rh+¤fbdfh. xԃ0c+F *gFLpd#ԭ'.`F6.$$/H.(D^'Jrv`!!SlR$09r#%;R3fjPmb1HMkT jR%=2hFx)a>+lH֦92s4#8MbOi9?s-r`d3|Z<ʌs$@ыh *DL3L++'m6B2/C1/֜rWHR*3De"!6~/I| j :Y٦^3h}o/&j[ZB>?$PjjEkG!0ೋdC~f; A樿3>n% ?S24V+&H/Bup %8˔Xt[C^i#^alas^(ybgo'CQu3e6@UxJ?ɾpbm],cawb>$ &b[hE4+oݚ#,+3'fh'X/ cJPfd^510PXJokKiCkυiH672_oD/ws!LOhU^vvfb{HmŏTOteQdWBw M'TZ 9φv (u1Qj;ft,rF`(^S1TF٬w,==:D6'cr"CHXW\C"x$ &30O|5=~AD6SrB ]dk3Us\przJD Xb'0t;S:kwB(W4]?7z uOtFNoDQJ+Ӳwx55?rFT+iŌER-233Z{/#L+ mXǘ'Ht3*G17s$x1iR]j''~2b1r"+(i~A "m)(Wɔ}S9tV&cy>yC"qj2QMQҗC5s) 9"(g^JoMכ9yù'+k]H WAIz Q߳@w eɖF-p^hYc3nWJ195eB>ԣRE 3JVRe9cj}"EZh6qox/2ny&#gbMwD60`*hwpl-46=tzmcM 3Ύ! JPb:pVfpF(CD2C1> {*O\ 'J"ij zd٘ z[cL3C}{`Gr "*$:ru712rsek!4g5}SO;jUg6e:ObG_AĪCpEe}W_{/oAf#@kC{uU%.[/ET XTpv75T 3/D,~*bbJXM) &S*:Op+t|b5C^VST+"((s_n$ۀ 58|:ձ%)ږF3' E :N؄Snڳ{x{nI)4D&~xWN&]Ogf#B9bb%nL$F=ey롢\}D3,9K'2͂k2K^77#Je#* dK\d,z!~5_ozi_c~Pa'IKƝJ?MO?j*_U~aui$1KK.UYy O)w'9Yr{c߿Y?:b <0… `1ĉ PT1FlRE/<2FE,HR̙cҼ)18{R3hDB{v,ȇ&}K0B(֛:yn-Pb?-{siIhfm`Xt.MzQ ,`j&\r&¼:/f7UdSgRQ^*P[W\ .m;jw+=u  _4`hgD]m]^ĺ󁬭 R@ S7_k Qv>zɍGWaqm7^U%S 0hc|` pvyLJė= 'B6W0l:\if\:Ю~W@)+ cA h90A%a"f4£^"N'zJdibGNh&'2HPm F8P2nFdWEpHZ,@ܩ\6@jfEOBxGL,6" \նg0H+|Z9=@&bF)'(v DR;L㗹u0Udz.R/b"2wCz^慣,kC$b5n8y yx%15@&7h}i iV>c{9z^N`d tЩPa۞0@Iu"2^';nt/MG򐇜8ń#,o | $m~#xd/xðo{B'?S,a*Tկ/! >Ado4:h}*L>n>o$jqIK>uOY0{Yc/{%ɫ~PYwz[Gb?>ӯ~/Sp#X١?,8yԗܗR.=Z/|RN|_&ğu?@ L}o{V}ħ}pwuEW}wyV2|s{^@tFs|WqgP3@@A@QP|E3ضpq*};H6(J;ܷuo&v'()W'3:hFya0XrpK؄7BU0pqn3Y~p.(XD{7_Azo8Ap_8X.D{٘x} Aap)q(rY3C Ƨw@ƛ)y+E1ƎyXn *✠Q*pIܷ!ҨY8_ h' iiA!)yΩQ|-؈ꩠPǙѐ#!xٚeA& 9w1)ȧ|%'Y-F)|nju?a:7yuzp} a$ؘ]x}WY[k] gȧe%:ׅXsAgn&%}᧷V,V"zasuws`H~)oN jsu 4q:zz>츓|窚<tg$s\pxu jºݷu(ʧwi['1.3N5n79;=?AN(N*,hKOQ.SNUnWY[7P*+cNeno)\oq.sNP C{}|.'uV~`neQҖ韞gVd)QxͶO9.r.W^^.<@k0@ǎr^>0 :`MAUNm@fP=mko=X^h"r0Hm`T.~nnVX.PQ'3 g!8A1@i xr>@3OSnA P!^a,`@!ikn>memxPUo;x&ߊ% Y1Um4/Akzu$1(Rt@Xe¤C* t@\ *ʐ7ÆD$1߈y*HX#b ໑cʕ z̵IImSO?枓.: &CIdσHUA֊AWE4v0!!ZS~`QqTs'CH;MC(Υ3QBH"< FYLD[C,Ed]K1kxxMSD ;b%qWNz_0K=,w'*w^ݗS7`# X 3-΃A0zÞ&YE&=aY y,a4on4&$ rTS?FvhU` {׌y}tM$sVb $Dz`6EH(δwb龻p)Ri>~%ǒAӹy'š+cȏVI@O^1fa-4#1*aaS%(l.UwKfy[ޖ־#TE0Te_׏e Y_- X8.Vp-`9Bx%^ ELK*H&xx]HE*Qq{vaOX@gc&oBێ㔄Pv`Xhkrc,yC&LJ-EkK_ަʆ H#t`2b s`hH횕[[ޖǨUthx0DPy_Ńe[gxHۋ- ̙Ϋ54oH%U1ΈuBFD@xFMDd "A|p+'HvhgBہA_dv![%~{/ݐx7˜;``V'LPN= dNCa$ǜoӛ8miq凰`~4=$M08ºqu6˻Y(bl`GBhכ 2M=qW Kg:L O& s'Nm{R!kKl0t`:\ Q@rf w; $GBZ,zwyVxMֳüM@ p[ GvaL ~U+/GA~Uxu>X]c5xRpe Q֔2紿x7ב p5;/Pz?U::ދ>1fa p> Wap<5񋯉8qaj#I Y[K@x/"\=7]Q kj 1.蕳!^q8BNÏ#!$CAȁ.t<+CסBO 7E8dBLjDs@+N/z( ` zhBx"=Q|9 s ;("8P(&;r3P9L@2>YA]"y".=k"4$ĐDE0=GǓJ+h_ds!@#JE HG 3\+l +. Ia!rK-+ I:[QǑɝ8C:  &i,|KT L 0 Һ;K'b:{E ФH)TTNN֋3kF frcmcA1!a`\IFCV,Yc\aC=i1 eF/G~GÕ:F戓9è#FE_Q$9' GE1SS}Z&һq&rgDH'j)Im޾`gtU)& {Nxyx+1Z^og{[=@2S?T}+Qو9o\B^c i&ʆ.h,h]p&VJH֚Fi1S qFVfv꧆ꨖꩦꪶfcꭖj6k Ykhk~E뺾.j~PA&6FVfvdžȖlf @j >j v!  F^Fmn~ώўm`vmކmߖmm>^m.mNm6mM ¦nnnnn®݀;PK@6PKM%AOEBPS/img/haovw004.gif~GIF89aRoy]KN;KJJ^^^lll???RRR´ņvvvCCCXXXѸ-.#666fefqqq999jiiyyy100dWˉĪҶŵШŽڷ}i///:::ֺu$$$ɻ |||aaa~}t(((irfķvuedNmmmۿG,,,ؼ깠ė444Ňwͷ>ИXͿعͷ^dSoooZZZ??/333_ظ7<.ߧϛ⸟wk__GӣSZFooS⺳aiQmkleob;;;||yHHHGGG\[[VVV҈Tquogggtst___777ttr7;0570QOOOA@@<<5ccc{|k[]V!,R`A~&$hB:C AF~LR#ŒGAO%KO8dM7W|)SdO4}jShQ8*NR ҆MbUUʕׂ`l۳&:Wڷl:E$qo_|m0ӿpP48Ǝ!2FX2Lq\μƘ=wVqhң>|Zuj?:lۜA6uoٿo"d[N'o8创CT<:R:'ܮ;wÃxџNd_cL&bɁ%X *qC2Wf݆b!b"ሙމ&*Ȣ1850YI6LBS6ؓFeR^IV\n fb~fG&cf2e Zt*8A矀*蠄j衈&袌6裐F*餔Vj饘fic|a䦠*ꨤjꩨꪬ"駭*무j뭸jh0+k?$F+&lfv 踹TK""˟$bnc~i&h?*Cp?l' Xv 2so/.|n.$raЋˇl3b&2a2|. Rуls@-ucO..P'к!c0)?a#D.t4sXCTqʉO(O/u#Ov[ .$3, 6M bnʇw/%?̋ c" bcQsJ &+>byk/ۺB [<0 !y#FwBk^| #3Xcz σ ,Yzc`Vba; ۇ@ 觼Ph@ ͅ<yy}ӕa(dΦCe^4G@ ~Rk]c¸7ub<H:&@zMtLLXsAUzd!P9M{ U΍/b #btn?|%kHR-?(F~Qos`,IW\g/.f],5&ZW.A&m?g@Og~y-vGYIъmdͨF7 2r )<*Ғ*Pw&MiHҏ Pl7[jQT/_/S3m@g Nyzuy 1%JoJnE_*2tJQFsP"7ODAx}׺JbA/aZ-,KQj^ 0H."ltq$fJq꽦7= BXV-VKv5$QkZ= krkz.b,t!Dži[a%o3u*.&4Ñs/hCm#%}n%901ӕ0Gá)k!1٣ukS1l*cƁ1KSU>iR yC>Id&!je! 0-sT^eÜQ0َc>3Eͬ9|93߬92cd㮠MBЈNF;ѐ/J[Ҙδ7c_.|GMRԨNWVհgMZָFumg<lN`MbNe O ~Mj[ζn{w &rNmm5׾v'w`ލ7$p߱8pߗ^S]5< /ƍ{ 9wo"Wy/^ ?9us?8&W>{޽{Ǎp9ωt?ҭNowA½g{lT~/nv;c-)v8_qe>-ع^vƒ | vÝ0ՁE[.&nr6Fm)>~y %\@gO>.G+ 0=sf=ЇO[_~{G@|诀uZ%菿O\A@vG~.P ؀ p eP(Xh||@w,0284X0hGPXc(o`@1` LHpGBGЄX81S%:}ӧ 2 qP9bd3L4uO-YӲbHW"K.3S5CT322 2k|["0CHVcO3QP3tT"߷0)} @xKG C=No8LNb<1e@CHyb'z:RR@ D`Ck>HS]M,"8;Ap px][[c8 s2ʹ:W}S2ԓ`L1K,HKx :* Ce1{=cmDϓ0JpH'(p6ٿ+0k.$Jj1(\/ MC D ԉy;~[43Fǣ1Nl/6d;$H1cCquJ)\?,\Al6C8:2o}WD\lFe<:O\D5Đ2UCb0] Ơ(aTl:@jD 8+/ۜ|˼&,#H\Ȁ3͂0DE y1|?œz|B \C=͡m3?":bd0ТyK@ :ˀ#jM/ [ד^ۤNJ4ۊz^B,LHl0=<3(Z* Ppz 'Β!:"0g8#CQ@zF8Œ0aS&d͗" #p'zj):TS|3S C CJW]G P@XfJ{%ό?`>H2 t}M>h(9M*; @IݠYpJ͈LN3/3;4ZM5Tdc$>.>dF3zLMI΀_,40v=_}3]Ab9#:8_a2[-<Fb;0:YR>sL^-)} HdHC7Y:c:@BK/s u+ti撮 Baa :3^ϛ_-Y)NoS&?5r=S!)xk}#(FSSHS?[_#(oے~:%4039–U'1KdO- &4Cjd HHP7NXE5n81} $Y>J "@1eΌ‰|Po~ X/\F}H B 6#L~pW? B3I9HYҶ-Zf嚵A:4`BRojN<3jXȑ%3$, %y9%S3{64:  ߣ6ywobAy%I p 65(~{vۯu0;a& ґVp`ǖ-9n%+.dpv.c G˷:zID]!&! #A Rf>)Úk`BA;H|5 )zyH +0HDl,f2ι|DFmPX:CQ\eTI#|, bp2 *+h>ia DGn 3Ⰷ~RA]P(XR(uQAZ*Dx @Grg<U'\›+||HT]5V_T 7UXuӕZu",EK! (`| u2D>}MzzHؒbs{} Pb5 =]+XDPYeGs"%TC MXÝ3lP]|I\Hd]*0ȆI|6d' fG`e,XY4Md or.[ }ZiftJߍ>~Z2݆, ib^ .4yv)i]z庆@VMD|7@4oLƑcHBZ1G@ 6wFvj> uB@QAqǐ*^>׹(xƂ~UƁMG!>dCM_2er?OLPcHw#`*ańXl$ 49@ xh~"$&2I$nAȔt(X@o 9P@ G}C Q=<B$zEX܋ (Іf*!fQ=\ `$1#cG, s lQBN(Fd`1DB! i`\I Dd%-)I<.dEX#G #*J`Z2w%Eȕb $d&3WӤf5dED VGJ&jƱ3iI8j9Ln>s%-OشgiMx$/a@P)H`:AvZf|hG مD٤'E-jM}#L @RBIB34L+ObT&-Ni#4%-IR$ҔSAJuD^LI8#9찜b8X q=fپ,ôx.Dl@}jmUZdLH@% 'H>2N,8[ph]uj,nIZ7\L})l!UjzdNXz= Wſ^_9a$\Jc$0޺c]UTl٫VF}k`ܫ$*m:e1KnYOΫPCaҲH-|&gS+=}p˟X+V^"T4 0[Fwhޡf_nx[^;7yN1?HpԖsrb0ҿr7~ug:Q{GT-J%{nK G>qtEkTZ؊uWclێ ц%]Lmx_[ 6T*:mjڎ}wtIwڍwr >c[ wLɄ7!q&2Ǎ+-8KMyjMnq"+R9WryCƫYs y1备L':˽ul/_4ugӵqϴINrucĿ򰿜-y9NpO}'vE }_S/~#eoفv<o6=w+=Knȇ^8#?w/b Yl{xCaB-#,}A ғ-=Fꅿ(=5-oq̛xd7E+p7@'~QHW΀#_'5TwSD H# *΃'&Y A@A|4H@T$'ģC"&e > c=1d&8(A/`CC>{k.;3;"Be:B1JNBC8C:$;ÄXBE,D@AD5BBKD7L1GH,gCCC| *E]$oDO>7|:P,FTH4CE;F( j;PƧ[)ld|EI Es,kFo7t;zxACCHFL G1GNڳǂb$`BO4L{8%͹HC*xWLQ Է!> "9dC4SCUA0WXUkՎؔ$}؂XY_Kҋ :dZJZV?V$kMʓ= t )Yc5=8Z dqZdW{6Y X,چX XJuղXYզz 3WHm} `0"mZ-ԿT5SF}TwL^}ǵEEYqM[w]$٭(Vyגe=X=Z ňX\^e])H^ʜV浌&hULͽ^؅8lPe8UTVKW} T=XL] MX%^> K_*\`?$|` t#]`ٲOu@ٕ`<|n@ݩE"Mިu^E*VZ5fxǗ-;Wt־n` }%DAJ}_@%ݣ&ݲA\ɍ]aa2>5L7~aa }"F=bIa@aOC]dIN9wvdH }G0T;9cQθa-xƺW<%PAttPQ]~GPԌA"~dֈ#mŐ^t`s֡KPHxg9gg|ܟgx|gPǕ7kBw="d:bLhnLtthhh h~͍c h#.h{#i4ᔮ{ ]h&7whjx`_xggWE4v[`HjjjPkhH^h NUkN NõkkV;_l+lfŽֈƞlɨl{lˎlcgl>H>l՞ ֎팘ms푆mچ mrm2mm.>"n F6*~nnn5kۮnVnmvFθ.nvo Zoooזk>/mo*mo^pG9ng`pno pqp6qBqp  oG,o*Ϫ"j:og#ei!&7o)_qg.,nfk2/s3?s4Os5_s6osk7s9s:s;'뱋kos?s@tAtB/tC?tDOtE_tFotGtHtIA8>tMtNtOtPuQuE/ pXuVouWuXuYuZu[u\u]UW^u`vavb/vA*<_v rgϪfUvjϸiv*F1mlvvp߶o6+wuG0owrxKwKcw{z-w~wwNw}/"x[0 aXCSxhxQd'/y/g'dP/yWy[yy7zGzy zz/z?O_zozzz~ze0H{_{Wyo{{{{g'y{{{{W?|/|?|W0{˧̿|wb}n0}ү =7ٟw}دgܷ?~G~ݧ}W~g}w~~~o}U}?|'7GPw[x?+X@!Lg!C6LB^h G?.HVP%K\.d93eLyLϘ>ЁE]TRMq=ԪW%UWaݚוJ̹m̷e)7!ݹq뮼;0/޽zW ࿂ܷa?/Vܘcdž%.ٳ1M>`ԩ]nZ?֭!V-5س!]zvoؿ[W=tyޝћN:r̅;.;ᯏ^~q[o7ܨ˧{W~_k&8x h2 BN*"l#"-"18#5x#9##A 9$Ey$I*$M:$?B9%UZy%Yj%](a9&ey&im&q9`y'y'i' :(*(J:)j)b):*z*j*تz++ ;,{,ɦ:,B;-^ʬjr-z.r骻..;/{///JP-w0 +0 ;0K<1[|1kq|\nLl'[æ2 ͭ7g η4<D:sӱ2O#MSsza@jd$(O$r5e+uj 0$8p$JӺj={3"?;#`(a?tOh'wO iݗc.؅gOkG?95m6$ږvlˇIqз&@>87MeO{[ n~s(|k_ڗr!5LPj<ѵC|<`cs0ԼثprZײ1yS*< p %Aͭ1wF h7-j0ۓ lo3 ac:?o@jG 0pI$ѾQ`D>+m#)վxd{[p]| qSU)hr.x+񒷼=y݃}/|kwY/~q鷿;H w#4+0c#1Kࢰ3- kⰇC,"S+Ųbc*˸Ƥ}Ǿq 7DI\$KGy(cDsCe,;YWrae0wY_6sU3f4Ygvsf9pOsc "C|3dA<6ta@+ύfj=GO:Ҏ4S#BSӘ/LcӇagSfխ&2a#GpjM['$׺@|]k` DشCkG ;!uZG[ >v]m?\نnl;[vnq6wnuϛvn/uox/O8i0o8.;b/nc|8=e;B"7XaZp?rΏ8:9} Cyr!9?\έ.3P׺uWY7{קu]ew]mw}k߷y! ! >׹;|#/K򔿼3y~h߼;ϋ>=?$ ˞}b<9 |§|CO>Kէo?>s?׏직yQ˟?}-?": &`.5=N Vr fn v` ~`` `-|   !!&.!6>!:{D!V^!fn!v!N!!a~!֡!!!6"! !&".b2"$F$2!"N%^"&!0_&~"(Nb%")J͙*""+",#b,֢-+ޢ.b""001/a03./`@ !B1Z9c2 ! a?B3Z0L(" 8B]>B]7c+A&.﹟έ#@ |@?c7BA4A?|5B6n#?c @FGj5#?cJCDc=@0P<I2b8KրP54@48րLCO /$TB!1nW~b:e!2B0e\Bt6ZiL8@!)6#N#]c[ <6Z.%>eV\d@BbWaW&iF#cESB;3cK3R\&Ԁlmf(T#\C=eΥ<$?$/lfBfV &?&<*(\%nlPRt>f;֣V&&{g!&YfE%Pټ&< C["&].&}(tM\v*EN{(KC=6fZzj*+/26t#a%F*4$huc0@#RRq&%b#J3NBON'Nx%8CxbcI4 e+RZ%(k(Ȏc1jlc!+˾l1B+ެ"Ba`a2d)a>͆%JB]^-ɪ>mv-r-׎- m٦--ھ틪'ʭڊ-g-f..~..**dF.B.#:垪nn1RXz.vۖ.{b".../o[#./6>/F/( 9-(dn/v~/oŬ1-#//Ưoج09r6#/00'/@?0GO0W_o1N./(.®rpBj.! c.- 0۾8.0 0Ec溰p 0 # 8&K@Tm bmn11 ت-~q-1q,jg"qǢ _/jr2,&2/2#C>V\1:krqB+JrS2#֊2+q'rժ).#n)1,[,"._n.K/b/[af#5 6,3Ue7oPcD2,(2K)^363c%_!82@F64S3*(5B3ZfBϵ7Ǯa132.(~.L@B/B%n;[.A;4]24F3t(j8t:/dBoptd%$IcE[( CD 3L#LI%NW/O{tF+Q4L@}eIgDH@#X5Y>P4Z >!$c 4p5H@ 5_u#|545w$2@8Pu__KP@@VgUS# aVbWudG6ZWe#\4CP'hCvi5#|uP@C?@D-/Ԁl{vdn{|2qbcPX+7wu 0`62q Ե@c3BwwYK@d@Qt!q5c3^w{u|5kv,6&fW73Zc6 ypwI;~+r߶n'&}16t~cx{Z"qZa CG"g0{K(gC!AC\c8#0@}Rhwx#|"^edxG@88{{9(T8J@b!)997ji{2S%0K@[xBK:x 8 ;JC{##w!P9c80x;zJytlvrC[f@r{3Qd(t98d:l>m{x((40۸ {"{+8_:{cx ;;:hp+8t Ga8o@WPp|ǯ#7Bó<7 Za t <[ʨD<<C#%EB}{Gp L:ԷH6o++ļww#0|Fw'jjyBê}d3w7#l4`Χ}'~d77~c_h: ERsw+!-#]*A׾YFv'f r;c8m7B>R6*1E"~5a/>(:0C;j$_D %3x_ƒj˰bD)VxcF dȐPQxeJ@B c2Xy. ?~ d96ȱ14HRS[5iXPJq5=0lܕhr׏Z~T@_)s#PF wq9ESAP5@je+z;ךc\9D?33HI q J.h՞/E*qݽ = /}!q iُ.h 53(&„N2DIAԓ rC ++mh~c!1q  1Ρp(iҎĉ",IH,grʕz! n0qJ .,ň$5oRQ8;W a~ !3%=G27F-bD( <Thɀ$(҉8 nTSH(G@S nu򜰽"6F$` DUj`%pYH'.!%e4 W`Kx3WhM ha\?IL3UL!K]=TmV`lOT paD:dp\Qqxu=T[ҸHIrQ\5%~' ᪅ŗoa W 0a``@azvSGYH#3Jd$HmrZ{Gl[:<7gɆeQ bߧ5k{_[X7 N~!hvnSvA6}?ΔئXd+/7;l#o~ kq5܉#^-Gs@iLnLl֍@m8_8w5u{ =U<@é uRĽl((о0" ~ J 5tU0b~.q   :(r vÄHd `xP W9:hkbфjC Ef7*9t!q$:~L3> $үNpHJd<|$JQjXRoKV?H D0u\"77ErAXqc}CARԢ2#j}pVXW% oЄ'*yI%%8*2.߬XHR+=AN<N NJDB \fH9TB/WI@%<&@m` 3KQ RB DsҘvXN"P" QB"X"s(-<-y/8$VAqc\渃=.aC$KOi!wz-G%xs񝐼!*ChH5yJ,#R? 7_z>\R-5Ml;w!c_ ldvfo*nNnȋ(\m֭/&/2oL`Y"*KOQOX.&( *@‚.0΄"oo1 OoNp ׂ̏*@zM/ OR%H@ڐQ.gP f̬ 6F/O<ϺvVZ0VO#l t0Ȑ-\nOfq P㲐 0 j } /N PxQH@ M;`PQ5{ Q=YP;@Mo:A!lw)z~Yaِ0 )VF\@N/* K #R'ŠQ`d] 9 ȯǍ$1,Rhh(pMqq[պw)O?wr I  q!/&;6$ ɋ$q! p%R"pbf<.uRC @(]HU28?6Q*a*#E+?OQ,O$,0[1ZYZZ`.۲!/'//} 0ꘑ0r y"L1s;22( 3(73)E3G0`C+LZ@W!5q4=16%+o 6r:ݲ klXa.7q#O9)93o0BqzfzsDr9'2'=5S)CsI?A^["gvRV@q+ RtrA20B!r7ٲ7/jk§[_8SuIkSU`4I|Ԋ@ҧ(JQmoakK]A}UAe3XbKN"wcoSoG"^ZA\/pfUqr[4%ewz? /R VvaU_d&r^c4 xm5@y4nAn[4zђraPLbD].@  m@X/ٕ8rggkroy ,YhLX ie``_V<9,$_;S>قv5XʮSm`n<r+-xWyqBoSe)zzB<`_M<6S s:qh @^/c9'wSZ&Z := jTp: !#%yr41x:_ [[\s2'm :broo/ucֆʮ[QY[;x{[ܒۣy-C:gᚤ Oڲ$y7۸[ X\;t![S4TbTs@縛>+@;^{KyAqz!ɕziѠ!z7{ |N_|Yc@PK5<<<[Uѯܧ!;u+Ho{_=ܩA*I\MQ\Wa[bIY[ܜn<1vǹ;Yr \|+{ D{SW;W6{;i c;W-^A937]1P\ԣͼ|}4G= ڠ33rw؉WħK>ܷUi6ۥ+]wyۤ!]">MY3|{/H=]}]g8[}ˑ} z֓I&>ƒ^! \i(q{؇'^3ؕ SWaI~Xt `%ܑ1tu/}}uHR#>}I3i'פ>Uy 뵾HIYY~cm͟],5)])217\РeWݖ; ^G?PǼU2u;"NRuRPBZDhѢT)UFbeMbzU+IjH BC >\ԩIV5jdi֬HB% ,Y\IO1կ@3ڄs*F"jRNJzB? .7^!TFR= kd,RJb%'z /b#bŌC`B7$kbjZԪEB 3'Fi Tryxp!G]EEz R?/t|^ >h@Yڒ@$R_4R'/H˻F; DhFC0E4qCX1,xFaq)`9R }&trܢEOx8#-WF|mR["/Xdf1E;q412HS뢁! yD S$U΅d7Qh[. ,κU. ASlTuvm>yBŻBn~1cٽɰGÕ>{3l39;;|NO[]m>#V6a2+ +`.-\! K(|JR2f5Vp" WSl_ Ydp,,ζ,ZʗE{augLȢC=35d 'm=^À[A& !z2EC1?{bM>ŗӇ lЁdꮀ0m?{J=[9A\ T+ V k_,ӽvsgs@ j݌yoͱe*oH8Ӈ\PwN>cndf?OCz^K׽IKpo꛼zݱ.br?7uy%PB+ ?H?LqS'| /pya~l/Y pu' Џp˙n~tso6~':*vu[媢f Џ*`#ZAԷxp+A $gX-bIP ~# 1iVCx7GwIVY^x3xfJ *@0  .x&p`CDNZ/5` rtyfz&v766Ao]* @" {pI`f@f = K @5oLI`tHmv |b8THAWGiY^[w9]g !^zdJu#g牏wB0+4 L - u  p ^omGj jl K|G#/}@xp _'uJ u$puJ JP u  _?{FX6HIJ,g,  *up(8 DP 6X ]%" |gBm X'8|V7c6] 0ve' 9P pRP `h)w$XJr@ *(?Ō `!dxZX  {Px 0֠ $+d KP-u  ] P"PW @Xg0 XlG(iIsƄ p *  o #{] 6 & ;u` ppJP#yW@e@E, @+@ @fućn:Yin S d#pvw``^7 8Z @݅#'yqIwXC` wwXK{sd i Аw P 𘏷@$ ( P(j` ryZjz5g iC{ a($Ҹ 0_JIi"Tb7yn9hVҥ|j @*e0og[ uZ" `N**,L. (j6.HȸR@#} HxG#xWRJ $ D^PfhwQpyrct mJui з  JhW:@ M@XQImR0vO=bw|<|2|} P)TPK)[cI `*AvZ5oyQVCv`8:z~)qX d : oJ $W0 rb:xZ.mRD F67ɖvN xx М)2TP` Y.p0   f~%H6VN{b͵Хu] ;] N zड ^ pH Nj^' X#=kH ŨVvO_7B 0J0N u9phNJJȊJu NU5ytJ0 ;+Dspdx*Hlh2Hr I@oL@J-&p &V'UeR Ëuvdo$Cs; ~WQ͍w_6^s EuBW{[& ZkTqF&*i D]}~K=bThV'٪RKoX]c?lG*@s1H;|8 E}pܘm"b%|2PڎWѽ]xڂSsַͻhQVr@{iG`νZPm)u<7zkZP =/קP'u.  ޘ/M]\!tjcM(`` J0PC&i}sf ٽm_Se/+?ޔ5FCΈYi2fQ=rBo^MYmortYvɾ> B  aPFu g,w1G%s t82 7Zm\ݷ=gQ]]p @P p]`V% }&8~8h?f">݇m紎Ҏtl p (lG ~"ɅCPx٥CV]ߚ~i@?B@D?oՐg b  AQX2 ֦X^BJZ!)UN *T(СCdw-JJH`… FXbTy 9GNMZ%K"E O(HdaR%M<}~YR$IE'!mӨS^ͺB~JrR)~ Fp % DHРzJ"E5rL-~Tt BܬƎE|\PRU+WO_%BS֭t,wx2,xbh=C @L -;,VED{vJYĄLbZ.ˏ")@$ʨk먒*W꫰}"I *ꨤxCDt p T=!~sA : 4۞3 ZZp>58I ]d+Cbn,}Bi9:j4.:j\!EEI,ؠ62K"ʹTm֚R(- 7ˋ8aGd+<9*YuGC8dC ;/U PqT‹(E DPAtH5?1Ec7k4;emZ⟮z"[r UPT3 68>%o~k_a ,7!ƭn[&׿%..DsYN.\&   h!@8D@mJ[ޖD*k ئ IfDs5 (bC($!G 6flRC#5PQʒ\xUe,=Ց@09 G>Xap$wJ pS [c$CpѰr6 t"̆xF RRa-,@Y `C* 汚uT"<~\KAl8|h2?,{23"@9OlZ!zX`Lu<f @0(IjccN?Y*WNtgaC Qr"@v$IR,&`aIm#*4 P@0@\WU 5E]9& Ljغ֕e !Ҿ(<#Zta+ bwAq%3t *!*tzt̚ ,KkGHj7"C{,9P%e U5@lC"jC5sQƦTB|D0.rͰ\ (A]͢7؀v^=ڀ*0b5G49ӍDg7CyE@ωK Zx6>Tא>17>-p!ʵmJJp-*ıt=2t{-lIDf|DxL0#L)W9&TO5y5鶾j`I)S" ha |$tą, À &*VZ5 ZK!Œ&)b8e{Ù=iCil̉f3b9;Y£aTwhDk`*^ڥB?w3~\ʋEH}9=F)~PmOc{M R:^AWbkhy/:1ϡofW83k:Ç& tQUgfq_.XamLD<t9ϭoKvƠdc8 |hC @\Qu<4{w$қd#?{ uw}O頃Z8,NhfTx=n@;vν_=[/anx)OW,E5.:(d X?|,>g۵ƷCr-ݑ\t~ތ| CmO/d?o@h 3 ~yk?t]#!bS@~Y$/;ͫ;!3)C! ~0+<z!h?qlT%.O؁_2ž1G~E%=bԡ;BF "".)}t?EDP7LdCFBo< I=_ӑutEE8ǎ,s:0|hD Ā4Ŀ c,W:mhHI A#Qh;l\ݲsPqH\D R+lCw죗ĝ{G_"_XT5 \$:TģN2I4 FSK@x@Y< B K\@ hVL<6h T˺Q8I%}P Ĉd,, 1,͒ƈRX7. !@YLiN$YJ<*kh ,C @C?#L4Nlxt"1LMLŸ TTsA$5O>DHA ]\=>%&ODƨpّ ʥ}4H̾8!YNݲ͔##9 JP#;_A؁@hRrdj"/ NP|m(J؆JO`p'H2l I 2 8G:zDB&-x"*]@Dufxs H) ԋTM ,b+. 6 ^b ,>c~Hc*^6cĀc32~c;c5c78>9c=c<dAcB>dCFcD^dEfcF~dG/(cJ2FLMdOd*NO>P6QR&T6UFeYV`eLe[J[vVe* .a>K6fdïfFghihF`lm>fn=p.dfr֛qfufvs^gxngy~lg{g|ng~ggt6g}.gpgf?^hnnhl~hhhchhhhhci.i>iNi^iFc~iil℮inin?Gi.nvifjn.v8pjjl~jhjjj?ꨞj.k>kNkj^kv6kFkVkfkkkklH.l&ln6lFfvlh^ȦɶvFllmꄖmN;PKs~~PKM%AOEBPS/img/cncpt299.gifNUGIF89ah???ߟπ///ooo___OOO999rrrGGGUUU***ddd@@@>>>PPP<<<!,h@pH,Ȥrl:ШtJZجvzx ]5 n|N~wfh4hgƷֻʒ13ջ7#߶*\Ȱ9Hŋ Ǐ ChPɓ(SDb,iK$ PQPhgujL0e.pf x͕pE򠥰 xkɨO5M9('5 PKPh F( k@ɕ/cbh,xRϝM6Y1.iCœ4'vkCA\5J@5;L*5LS֠s Pa@LRkH39ۋSOc"= pR|'vG(3׹ Q/`Z&9a M2jֿrx(}jIK<%NDDXȵ* THQ)S=D!e1*Z?At*\ʵ_a5-qdY"ݽD8S s2@<&JsisV3{]vc_йDf.79>@•B]Z 倓[Rڅ ,l lo_ `;CSJ/l$pqi5v;8" RBIpGJ(5š~zR:y#5B f^R߼d[1f0?11bThFk! ^bly!L-(&B>n.$eNxЃƤDŽdCNŭ8%&p,^ 0-[˹(Sg&ЬFW ^VIHflVRE]%YOPt4EqqSgsgє`@ib0ky׫NxSЕk`{#b[t( 88eHc-5Yq|r}91]2ʀ'ʑn3G2!jM2/@+ET0?eO.&U쩾U{RMg['.^@`XYff)[ᛤ O*zGtU؃1-1(&> :M`@Bh6FyHyLٔNR9L)TyOiX\Qٕ`a+8TayLh>l?p9=t vyzr{ٍEQ a@@Ҡ c~Ѐi  `נ`A! 3Y%I'ə  㠛`C i;i   ) 99 =陒 >4 He&ćAPH# 0ddmp?02A>@b* $by  IѠО1* ":]&ڟ0|c!,FQ3Y Q3v$B*vXJL ',H15m2ޣc϶5 dC z LUri@٨^}aM ?&d_g EVF~ SH1[v+IhG#8w\w /hiރ!:0> J ZF!cFⱨ3vsŴ ibUcNE:?24"rG5KGaY\7dX;R8uR/!G ef 4bA>( 0Zm $U:VxU/ZFY#(N@I?ekD9**N񱰒uYЫ E1^cq7X\ਠfe6R筠JZa\9xg @j,HJeh*A tŦ &E+7; WRAJj|˝EPo͚LS2 @j&k9 H0ځKqqAO G!h@QjKD5D +V46)YEEp %'5#pL50OQA%DJԊJ;w{" k|kx>FVYcuRx+ ;{2{%+z| - 5uW@TǸd=ĸp$}PyQc\4p}?ǂ o EQ 1X9 1[}%L[95\ l*,R5#KLsX$JBr\à/lcpYpiݠ>c3yÉi @ɻɵŷ9pʼP *7ʟT+ȺTi%ܲ#*E&˩@ 0fiޞ`IJJtHr!|= kku swV_Z+!?B$d ''l ʩ.w@ g-=ʇ: `US[^Ý-ޫv [14Q/ jS)Y5IaXk@'AA*Ns1UH`*.ۧ1=']?jɴ`̱#1*T:J Vz ̊!%xƠǩ> U$تTUk ^Yȕ> ݞ.e >Y-9/(tʛl܉*JٻvCػ F5@kU+h#  oD&> /(q 6Amѣ*߁i߰}DgsT+M 7ϷX0 AO7Jұz9 &-̾Q 0U3;b##J{}45 It>@QkEaeH>I$Eb ă{ ,jjjj DGIJI7;,1  jTWy{}B j9="vWfsk̜  ֌ e!54"Lh:5,@#N 0 ##{auLb# )րABYʑt3I".Ƀw5$6nDB 6 -6dHI^@=Χ';Re=zT;H 6)ejX {_dR—ԈThk0uhƍG1*)l!xUT63@A ,n-[eJP `H*]VvW  2yךDHjl |Or/mXSl?^V (k (~rֲ0 0jӲ/"ю ɟ0EDp#8 \q ؃ipNC%A.R d7P'9jۚ3ceXw>4 )yZj P/ȮoWHY`Iu%!.GpHsñe1KWBw,;%"R %.B01|Z6I(.X pyZJ A??E-ʇL1K0,aJ@nSI(<)rQROւ+ʡ\Fc`F; J4bwEir&I*OX)MIeePG@܎ o]_aKQ ,?!iDY^ #@_]#˴`vG*X5d نy֯;)ހc6KJy0@,Xcnm`C k谂 z& &l|{jdc.˟p`ݠ`9 6vVg)cumUN\#F=k,=:5 A/ xJh\QjP@T ![z\|[ ng)why UBK" ]!)pcaڢgR/ ͖ HR!xY~n :D4P9#>%jLb$e6\NLu!!.GI$,bLaD4ӡuNL(@w {%RN-:RQWFtB@EˆZ$mN؏+ A{;BTNfB*x"Y\RV7T kzZRt KG [r,@X@wj9Bs8Fz :P̹ ϰYWÄPUϕR0_-|0oNh]8P֣rX9rocfAD76 Cc%N0r*%H+ hghv`yu[~ t .J0 '^@"m!|5~b&xEaf~]h9_L؋]&NEe>0'QST3ɛqQ{}P`wSz8Qz'y_k]~އ c%z^Iۿ'PSm6نjdTe+ڏ4pQt,04Ej<0EpIE"L0UpYPQa0ep hq0u*p}0zPʰ 0  LZ嘜0_X0&\Ȱ Ͱ `eHo pW erΰ….Ƞ{pޠE  1( $!14= [^ =1 =5%TQA I9E t0TPSbV11/q*Ҧ?B`|! )O@q) # tz$dH1%ȱQ^Q21!78j)$ "- 1"|1C{J̩ (@/%]"A#`Hf!q(18)%r( 7N5&$G '%+`++2`Ȳ,rP ,,# 2'r'DI (++@-, ,2,0)kn$A$eq'Wr"-`+?,R2r+ .r!$i8@"3Cs0ɲ4+M`+"(g##S)(,8l!1"%+;S>30r$e:S1J`ds6P6qS7[2*`&4`8+"_&2 :+m4:R,zLS)45- CqC6DY1!!"SE4Q-Q<1.A0 :HT:OBG?'> CkRyIIj,/=:B3?SKtO@&i'L?p *!: $/]>s,U 8N %TO=E 7%" u0CU ftGU33YZKA]&%3[/}1JI[qY;;2WUZ]_|#*#@SO%u0`_V3.;F=vNIb/`1:=M Z {B@ pHߔڦQP& \7 l*$ڨzJa:LÐ!c$h`[|ΩODד#۠~J.b8pcrs1ƢҚ~N(ǯi`y|( (/,Oz !&&»D(|KT!%bI{[~!&h.ύ7(E 3 :~Ry B8-{`0$'p 㻧{$s ~,Be/r\Ix~gԺׂo|z IɕGч`>,{^cor<჊>~L% ->5=>E䣄M>UC]>晄e;m>'u癓mEe6Hc [;GPF0=D[*ˠ.͂AC*{8P  ["f Ca(hDC$Zc +A@3Fػ[r |%?C>nr-Re+pF `> D; ,<bn~G `SK/(o+`"*6wa}D\; =|<2ш2&( 7ikEP H !$@k4HYCXZtzk&SmZX%,@  \ 0 !mI(Ai4=!HQ ( (fh& Х, 1)2LIn~ #!( !%瞒B} P*r1< "-xD̬;T @J(aZ1%Aw?D |599; j\[ـhh,4(\1261 QɬjMc $r@/-/[XB@ h07cgT 8Be:^ˠڙozl  RJ|7pb^J8 @HDO6m ;8 J@GO&ǭ٤$,!PJy`USG?%r|&DhCMAҫ hN7Yu a@ 8]ll:TB+ O~h'MGl5%P;)J!{(EYDE;q Hs:J@IP.H=%l,MyGH=CSӂD-jJnG%=*AHqS5T CRGqbQȆueMC֕r]\*S4^mԾ֏EW\(V]]rR- Z'[Z#f3Vz3JkӢ6]-k[Z6-mO6=-lw".qu+"7r[ܖRk'kb7.w7/yk7]/{7%jci* /U{x 0S{;^n`Fu(f'\ZXNg! ׫ M}?ST$M-F8n4X+]lxlZ4qB#<25f@ ZQ" \,#Hʼn[f^B]V74L\a톫O D܃Dn/ܸf lOXz<b<tWOEzR,^>ª= +R,YHNm"vO'\i¤1&Fׅ^@( |"9:˱e9mqkM7@4P3yHn#p5xƩ:v ƥ Su8"-+ b+~Bx㿦{ <"8-_x}CmSN("ypށV2O2*(QH@'jy͇͒Ҝ^/7zsr7%3ve]y뱛,Q ( 5}g=VM=`܂lM#t0T0!TzD|ޱ_AaaQCZ ݄߇p9MaAB $0A$lC!w@BX=)NhV#Dp߲!$`!.,OB3 ahY!FdPp]$D0[䂳eh2]ZVO5:0ƣYV-g",ܔ8l R`a颔i`=ߚ"X%#?e$ %VMd-d_c==^QU>vdm$U$}N䉽dZNդEdEe)B+ * Ym 9 yU0^6>q*Hc$0C}S -LᒍQv7Q Kx!iT:NZf pH[$\ɝ\=Mfd_QU'֡S4@$RJaN, ԟ"scF我Mfa@lb&_%d6(D<&8!# WbN.a\nK݇`d4$BaBd n<Ku@*n}H6R!E='L3=%zED*$gqbsYM[إdDA_" eKm{FQnl Y "4f_beBTjA}E9ֈe `'+ե~4zG'vTBCmh{XA&1fM)i I$ȍif=mÒs,hhЊކYM؛!`zHD)daBt`d›,je  ĽC21H[inZ58n`>#ݞԽ=ELN(Bød4A+z']S/KYF1.SSF]M*%H ,i1̨^(BM` m،u,߄ 롨JOx\-UES\f @ts^ᆹŬfFl~۫LB|ʵ)=ՙzDX"H-LbY:A2 =19X * !uTܨTXR]2Q6LKꋅЋֆ-ٺl_}܂PqRTLFarU"VK$k}B=na!D*n]m^bEuM`Un@eM .F6$nW릮n.b}ng.bP >ԇnC=U.'EiHB@OpUOy7^$oJD/%uցN|jVBb(PjZn$SyF@M55\˺a6 &UA'R +fzL_ i,T@9$Xfm Nΐb@)ҫή~Cʾ$Ԓ+Fb|A"t6 01hJuk C ödD8~tLFn >D<XM'Х!R;DIp& JyDp'uQ"f^Q/CB]AMrmB=0G$ Y =3RS Qi0cA:%Yݶī5@Qr Fi>g,//BSS:B8k8r*AN nk>B}I "Z*F2ZeD)1%]BM2P4PG4`hq.Ra4~<0(H1!EuSo(Q{t&\u>R5"(QEw=[*?jV,9/=Աt’EN筭حR2 Rj!E?N)F R>*4 (ʝ ҹV"/C+<::ct<U< a5)6w#92RuMKD/3slU4UO7#yk4da( Dwf!_Cv**KPPb[ E5 k!y"PØ܉9NLv{jǹ.b=15@"(Cώ5><\"=d n\ ! zD$Ȝ?}Br4]S.oa+HH:[~)&ܥN!-Soߕz ۵ֳф`: h @HK‡$H@JڋVN`T!eJ_~|v‰T ҷm#̀53Ċ1Ĺ@ @Yq*#:N  :g* $jEH7ZÏt P $GI#CxP z`8"a{% ѡkk!gC8r1X6p7cDPBE&` HJ10LbF%PǹEMBS1X@KZltY Q@$cbTk3WSͶRۨ:򌄪$DPL2 L v i&/X@&MQ0Zx >N&K "NpC/%p/O1eOB7M#xDэテ @$C!EfıjVF"?^ lUdH `@ݤ6##Nx[m6܋=9$Nfno5xBsea/K . j&p P/ h(Վ_ lE?yZ <c/GDuLֳe龧$jh@΋9R!vF+1|)C(aS0 ̀z <1OD 1vQ(EKښTCF @딿#HqD/Ґ>ה.{DǖP~j46!nĤmWq0ox n% `Gxq#@PxC',iaZ{bK * ( +qp9%(YCUJ擭$cFR^&j%,+K` z$giH `-$Ԑ39iVs4Աf6Kmvӛg8,qӜDg:ANuӝg9OzӞ`DeM"o%]iNuzIui< ZꆄBp# DuodzF@&D|Q6,C(uR6R@xYtx\vKP+lW¹\qoS*_.h0)['F&b@08΋?"7ߚm"AJ,/ JE /Dd8$CX:JsMO_e+>1-Z + dpmjkbd`ʛagl|CjRr7!F26_(p@J /rR)" ]A!..i;3Lse@{r*ZLԩjM(|NJV@9+ Ǫ:5;FtdH++*hܩHJ$HF9PȆT={3$|׺+ރsB3ǕIT4FʡD.%CŞTJT;C\#t6;ĥʭ1uJ659J ;PKb޻NNPKM%AOEBPS/img/cncpt238.gifA.GIF89afff忿򼼼ø@@@鹹ջ???...ʫҀvvv555܈TTT###&&&zzzqqq}}}www;;;mmmddd |||eee666ggg>>>nnnyyyiii```ooolllCCC :::sss333jjjIII"""bbbDDDrrr~~~ZZZJJJttt'''VVV(((hhh<<! ĠA?BGPb&h[ AA@ +pb!񈀄A g1o6CX,g3H@ A18 a?D?`0+"KT~,b wA 8d !!BFc@ f \{$?IBA`( p`x6XMj5,C%/iACPX0WH 0B@cs 0 ウ?dnPP`!Y  u pϞĀ5PHdJ1JqM`EfX,Lu*TZ>ʨ? ,R;"Ռ5 ,nPDSJ־ŀA'\B XTAwG^6~,KaEl+0&, UkB.hd֤*5m\pDx Zټ! m;) WV8RqQHXk%PZԍG]% K>dQ?&"GzV!ҕ5B ط ,aLh9gvHG 3 ƒ ۸"0B!Lb)"E0X0+nqz_58𽱖%c`AQa,H">Cb 9(0) M{LhA/w07hpx&A MSH1L@" H5g`FS0cԸиFHh< P( |A4T;om^P {oylNwFX `@+`CDG La J Br&Ԡ`!/yX9u?gMzn^w> (A2G 07p 24@'pKC07}w}xy~ZGrjTVGvavegoozzwG{H ȀHG}և}ڷ}uf~`QU7[Y72zW8x 8ׁOxy hr"^VV.Dž3wGg;؃mp8sh}}u|!v`AW8go6o~lzhe7jȃlo(rXuxJy8燦dyS#_`ָaLЍGCT_@Z08(*`hSa^XWegՏ:PH@ )VT9p #4 @xDZ6680EH;0EJQ0E$@^N 9`9 x;p{`KPЫ W wT ) j&rZ  Iɟ JWdɠ*=jGʟzAʟG ʟ"J%(*Z-/ʟ1Jj5J8ʟ:ʣ!IFLʲRJiXɥ^ʟaJdj*jʟmq:t:vz:|Zq㨐 Jv* کJʪ * j0Zz-0z٪gڭ%ZY3ka討88xhiِ))$I I#'*ɒި1I35I79CY?˔HiFOX9[Vٕ_KIf)uHٖiL!ti %ɗ~)T Q٘Yٙ,0i* Ix9yə}ٜY׉ɝ ySɞ0(Ȋ-vaȈx8ADHGhȄz(׌r@`H܊hcjL4kV|èśxNƘG~SHVpi a[ijN<hǾǖ(Yvx؄~,^x`vPLc %ulQǕXȉxHȥ bTʭʶ˲L]z@ q0+Sp /. `lp q|e2ZGpφ v4p V)0rr  PȦ܇cVP<ˮVzrL9Aa #dd  a 60ca O aO1dpq*%4g8P̈ȩYxe][<8'e` 3I,Yi`f1c KhȂpS1 Xi]gk=`pP{(ר`Qf^ף7ְsf]˩l-q}ʥH؊pЯE"Sm,z=@  ؆ȼ^PZ@# +. Mڵh֕-U Ԅ(W ۿ]:½CG Q|*1:pQ9wܩ@nJVԅ`T`ܠ 1`K @ `0 I+-pKѧ0QfpЭٝ^ P ) 0` F֐N$- M+r-/~ݾ߽ hu DP  Qǭn0 PnLq/R׀W}ߜMZ_!0D &c,}v8ږMC D@_+E>2A pT@# mܥ~a! z[^5xQP = rp}P AzC?_Bp1 ?3!- p `B &>*e p 4pE2lEZGPP6P)0 1PR?T_V?@ ;PW?d_S? ]pK>!qؿE-9)?^-ߓ];45J0kѲ(pQ@EZ ' 0p `$` ;z 0B q~̱.Ho3O2!>a@@p l2V O` 2 1  p  @-z80a‡   P $ (ӗ?2#YI)UdK1eLL81#OZey(.M`?,0 D A xX ATJ bw⟥#$Ӽ4 ǿ E:O = ݶIc=X`… FXbƍ?q'S07mܹm v͛bDJtQ4```NJjV^%kZn[z7AC0>CH,lZ(bh+ ɑ.K + h R! "0҈#8`5J,SqEIqΥ đXɄ@"0 2cj`aJ)"| `ʗjj kJk<6, HRx#p )Y"Bh0yJ9@@A-S$% EӰQQ%xm) jĘbDEVUl.a%*# ~!`$$H$ceiIDX &)2-]KL,OMLnR AZE$8liA~R& VJ'2$>H?4( .xC6xU[mUm[u%0I z;H":) -ȔUb6%? )"ؐ400aHZ"2XZ,lNLML͓J odId?,"K`9m.qq$q-(R1mCdݱ)1E>AFn2{4=p>ra m\ y!2S],E0,PЪᒙ$Xl( \ɓao$ BS~HACB%Y\!1 `$e JM/`C @d x)'@ h?tM:*Ў+A`*A,$7qYpM"(%:pNtFa!\8U!8vOVst?yQcF?v $NMʔZ8'|G' -8ȃQ< "mNJCxab?\ъ]`P`T&ZD '(i9 `N=PxF.6 :#f6{k[2IVUrt&Mr{-JJiųK2P|ug6¼&QiIP10Bn`' rhmA9BFo\l%#B((iD|amgĪrRK$;jŽ!(Q\C.tuc̗,Ġ%V‚Г$@,<Œ="i!l+-KL*-KP@WJ%a$*MR=VWZUK7ee%!#)`Ĺ݊z;Lt:Uv}ml`q`,g= VA "G0"fw aIJ\m܊R [ֆ6"el gVr:w{ف"(6`1df j([-s@#(6V~st! [7h#8y%S% %Nzw84 c58!&*V:~̈ Q* 0av9tI@~nFaүqn_x+>vDSv֙bCՀ0Wv_AK( JYOW$y@*"Eg:?H7oȗKY6$1eqk#g MhSM& s06}b_ݡ4yI8Z  p* 7NXbh?=\Ƀ"7RxF밢[p4( ( DȄЁ&"PȓIc< 0NhP2;|#}7TóX5h4<>#죵530؜؀cm$X3P73 ;C ?$8q\3hVtPIc_P`Dsh]]PsG+H`&iH@d`Mwv&kx8UX_:IBR)BUk2h2Y{8,53>2B8 { 9 +o <̤6##J04##P% xyp@F*HUh<Ȃ8c>@ @4i (PX`E8t0 oz"VQrP([P(H4 B@I";@)\H@, !C";2H2Gt2BYs+S3#a5ߓm\SSYF8-;y wG|̉ L*M H4Hk!|ͼÜ ك3B @ `=X%((_8n]qe(@%DC ,-Z**&T)Ap\؅h)vir]HZ@rHp{˔(2+ r.Q{5/ R C8I CX~cPR 3(X(=h$Bx8Rh)hVQ&3'D!@8؃\ xM9@HkEJzdL͕kPZ6PkXYDI6*h2/# Ckd \ \\.]F^]y=(H嗸XaOxSHO`o`f"f0.BM_bfqfo ~\ \ \]&>]VSu Pep[vnYn >~ a.fn &eNÇƝ抎kJoN2"@~ WpXg0P6h>T j VCjR~jI捾nMr>i4 8> V{@kzv #(&r4`ٝTk릱knkǾfdkhJfdoiNgesS&؂ z ]ͦin 0n6hڟ.N֎nŕhGfdlhKfdpiO&gNg؂v-Ti@ ms2fmnm o.)o}~X p *$/,H3 ς[h,SB8JH[b`$:L@Tx ?R)oYadK mZ'8{_BJ^`s?xO̢'@!sE_tF} ~muKEf"k*b.XJ0,$YL1$iQلMhrIĹ`H`7`; ܧˡyH{B'v֛8ÅuZ hX8M@X(XL59$9i}g`9T<7)Gi2}Ivh){o`XD j? w ) yyyyy8%0,>(/y_zy, JgwutI;D8yX ]Fy_y{{{|?|RkfroECGanꡃo y7Oyj{_}{'o}ٟGƿt7x8o+؁(|\]gcG}T}گ~}~ŗֆwG2ɧC(~臲?5g/w{ӗ~,h`3 g Tp B `P @l%$-z80a‡   P $ (Ў(?h YیRXlD+-0Y3a*j.޼z/ *dD1jH&Ea02iĩOBES?P"زc2,Z/ٺ+n‡/n FXbƍ?Y a9wthѣI6'Jym_7qgM[5W]x *xr5tMu&e݂/qE-$g剆^i+]^X (.$r?Ԑe.%/h1<3KC2y!BW"@1?GIk,P"Fb 9'~,a?C$E/[#x񖍞JP&/K3yl"̤P8@ M*4F"r,  +jP=7Q nffs\/Ȁ ¢bL~q#ҘvšE|X_&t1<Ņ,GO7d{-0BXhp!B2#c.N !s)ߠY>3u|0Ӭ=dL|aA. >3{\N9hGsѐ'8c҆4UX\G3?l ZĠ3x @ _H`8zzJ 8=BvAh}RȆ xLɥ.-lβE`O `B;&` D0!XMޏ$ xx,.`BW sp<IX!4~ R<@c&t]oq9]~ @+XAl` AtuA w.s8̄ОKHA Da;f)2ׁ?X<9ЅNt#]Lw:ԥNuZ>5@v}t73x{I_zӟWAeuta~o;CI *Aл食V~wcx۾<#[<^B7?HM^/<?>Q]iu[]) AX@J`@@TLJAzIm` j & vTЀʀT `km ~"?`a`@(v TfJ M DppMH2 a!-Z"ADa"@ "O Ha$ڜ%b@'zPa T@ 4IHx @]  $Aܵ@ |өgt iPD^ H|Ab pPAM@X`T !d"#hL,A@B*d$T ,$!DʂDPd t$+Ptt$dWtd)dt$v @GAv1@GA( t'NudVtKHBKtXTKB$'XtdX(D~ CpBJ D0DA D DBDB1`*A@d&A,0WA!@d4@@@B2BLMED&@@v,:m@*0]@&f<\BRC-A s*d.@7>u"lD !@B t B&$D6>BJ$EZBb$Er$D~U,BU$D@l@JBJT.KdLBL DMdNdOOvP  QR*eG6%A<%DF%ATBV%A\%Df%AleW~eXjhY Y%fC[e\ \B]D^e_ _B`a(bb.dc>fdrdVB^&Ah&gz hi~&mBkl*m&fofppBgrs~'tJSUwfv xBxygPg{.{J|Bd}B@ZAE~j$hAjd(`Eʀ+P$ E "*8@*dՀ$X-Ћ ނE)dENX kBثX- A -D*,*ɀ+,fA+TB l쩊dA A D` D BHs/V3A8+Tq{N[Nz0= Ж%$xѨ W 3ֲ7gZ6ӳ aX Ӣz4e_vO, H@oǽا"V(i9m/Mp~3Vs] <V mlމ÷ͨJaq~'qS|QUɑu|'WTya}/d`8i>S9sz¼9c͝zj5`lo/ \RH҃t}Pgr !>`Vv `F @4ifc/6әYڊm@ۯݤf"sj|f k6_өf6s3>w=`/{ӞT@[[`Mt/PJ'{}@Tg-o8;D}f/2J.,/M=~; Py~~B}6WfiDWV`>wZAva-$0i2sbx#{vĂ\}"Bhdŀ F(6YqDy0|FXaHdJy%8hpƒ"7y/MZ&\x+^h2.ׄh-jh|g8=nhbp2KWiGzmlsswxqy8‡43Qx6Kh+>#zxPV Z'6WaM((xWȉKxrtȄh1eT׋N(tĘN@8HHsӨK`Hi[pMpBGwK6^Wp px+X_ox8ov&\x_d6f9g8%5+887~Vmh&y_eVQeM; W+y{nHpu$|ӆ&yJ&Xr'V#X2 e&\i!XY( BT&\W}TmpeR#Y&Tf&ٌ#0WDHw9z`k?hgV@v4V[%էkvX57hx&SIDeW@0KHpId9Ku27J9-pq{ItcVpIm̥nhEdyo'xiY)HriiHxxj25vĕÞex&Fh񙅹 䩈y&󉕺ž90 98(ݩ"Ƞ[X=x$BCi&ɡ≙8eRTȊJ,.zH"\੢7XhwtU(m;ꉟ٤NF:>SDJNڇ@z&IthjR٣K8DV\ԥ_)d?kRDZzCG'Hj¤Ҙ*xWnZ"wV*+-:rª`h$I:oj(HcZzJA_:5*jv:UJ*ʒj ʫ-ڞ:A)մڭ*Z-Z8Z*,:rH*,+zC۸z> kp *ܪRښ*ª!ʲ{ȱvf:4->[*$,G;6[ҨL;*PK,UK;rixI:+1jµڳ{B{`{rK^+w>ju{hK샳 Aɸz{[p۹*ɶ)Z+)+KYYʹ쓰;˻Ԫ<#9pD¼o>p4I:nAmĽEmTΚjFKF;NlႽ#j´7kT7HHd8j4F3L\FOJE+BEcDKOЫ0+O) 9^B# 8*)_D:ݔgO7*44 Ov39NNPMDK=p勫AżX"/ Yf|2\glTGmrlS\,,ʛ*kzF"|t{p+$ ȄlrǨDžL})#Ȑ *|,Cƒ%LoD+,U0rGOƫM,~ɷʒ\tՔʲʧ˷Bq,l*,+l+2̥Ṟṛw q|,L* +L+ r)Ll,׼ɝpl+<+ߌM\)|*\,ʲβΔϦ2R|\,\*=,e\++l) M* -, jM+ +=)=*,-lԬr\wi 0hex`8M*)ǘn} P}N )*!}yrchyӽW;mՙ؎L [ @T jbM֩ӎw~cUIPLe2Z旀=jz]b^=c]]Y47=uš|yNd[ٝ}*lʚNv&%U|ԮԼ̵xnm&9]*ڴW痝MA,GVTgVhzmMgjdf[v؆u)*OgW0݌fziŕq[-|RM5 }ݔRެԆpI[ >ypߨ&)ҊBĀlrm!UQw+嗠Bb3^Qg!%R2]$>)~(4mDzȢD'bgE[&' ,)**Ȓ *MП>oP)2=Ӟ& + .%P&'+)o+-/N}2gc܌ uRV[`J^R/ jwSo&fQm5TA1&n&`]R}~ xn^cE鑟D.imWL!8LsSV.Zr}Fhe mohyUV+~n6];n^喱fNYpӮ Zkz>^)O똦[FzX(0{:"i,nusMO,RVVWW V WWWƜVь ډVʊA  ޻7‡WVqr-\ȰJP vq]2s%SzM DE/I &L+QP)ѣś|(#%?N ADb:-pl3"1785Tb&4k$ߣ,;%)隃W *Q "ڐoD+,kVT^D.p!۶^{^,HMJ bn "x];"$Z\׮L``+ĕMZY leht'4ѧ?yU6Q-o!"U|$ub+qZE|$p -t˃T@HTZE0xl$_xT|N}R RZWF6hdJ!. Nc ipGe1@"BZUm >*)f=M j3ep_Wd͐x.f@(;ojBsiڝ|6ڗ>))*^1 &&W<$؃(肑66|Ҁ]: e@ ܈"S"Zce鴧tzߢAҋ%)-Ls`^dMT8QpA|u.F:'Q0]Bl%6RFs9~r"e Kivo.<"'HT/ÂuM\'" `ôeϱA5.{=М^@UN/| Ғ5_^{e_z=4g4'<ҳi՟AD'C@4+ꬷD:z$rD $V\7wW#7>;F"|%;%S}}VӉua"9GO8JǟXA+Oo@ewb[MSD0 H "H79CKœF^M@C4$-/:C ANH!5V@2^nl&1+ HL% pӚAJ([Z. ej"*P8A> AԐA8Aƿ6@;Et +M ɵ:V.b!ZQM`ycL5 :JaїYJa>GdtFwV$;Ud# IWLW"JXdT1|bR;HlJ&7 T3at'F2|NgjQ RXq,E\P,t$hD[Z2^VK1ڔ%Qn:JtBEŇ$F5&O Ɛ2ԩjTSu|*D?v*a9viOȨROj}[mVUJ^)X])M2e]iEҌrXGͯ z<#Y4 ,"3ÖD#ʩEA{)gP{jTGE WUq*vum5ՠRHm# +QNStܦBb`bI n9N*Ce;W>ug Y܆ϺlQ/+SG;I$v@ ׏uj w cUSujQCo(Pl[?7>S,vi.n/ܥ!;v_"߬fD̎%ϴQb![9JF~6bO^H95eW6p殫/W_ĦHPxR2RU=8+Wph ubBBLo5TlI\Ԏ` 1iĿt !@ mC6sb-U,9&mյLQa >)Ksj.L {hzheGV14 6hXKT$F_'2Vg(XH] 8-"W-ufhFgmi'kb{[o8_q)sH(c}eH@ }&e_c)uh teg bC8Y7ydJ|bv0N2gԅ]x6Z5{EHdWXNy#OAhUbg`Ɗ؄Xfy혎zyZigZH-רDȆ(5:VhhȐȏ` 2$Y&y(*+)s,94Y6Y`Py7@4>bW 1הNz8PYVuēx\ٕcR e9合p\jlٖn);.UtYvy .~;P/Xd▊يؘ fq[2U{DyǰI9I%ٙSy)gZy8UHhd#[yH鎙_Yưdyٜ[™y Y F@ 9xWiٞ 'ɞ9Hr*{UWWZFɟٝ"Nb-^ ?YR ʠEcYs Jɔ$7&jQ(ʟ* ,:$s0ۯ?+=;M{ VKR/{&\;_[`Kg(m1kv;wj3*Q[ڞ]J_Je@ۡ븇晟Jj~饑˹K; t%WW"p 9 &ƛ+ѻk[{׫tL0K۽ԋث;ޛP+@kWW;kWT,  |L l+\ LH H)+-<:;<{U=N1ܦGZKOk@3lG@;J<Ć s˶] c+ųTb{oKY,QSXL@NO ?,l\nl8L=KAD2Gr{l7y[_|ƊVŋfɐrN :\8ں:M'IiA"bHҷbxAxf؉ʩӓ颒&9Ia AB]D]F=fNcR(E1Pa#?ʡ$2}@}f] _="I-7a}5p+0Wֈ.9FSL-5DQVv͙2.05pag5_C +Y7007p,lդO0+D>:yMd}a z09p>01gVێ@یVFV9PW;h]XZAՠ Ej< /?:c=\0٤:}ۜ\+`5}B}Z܀ ,RJIjर:: n5->HMMg$$})PH#i-9ݴY݆XrJ}W1>IDSYU>f=-paOD$n&NFڻ,:5PH ָ ܼ}70` }Bmo>qns^Q}-gSM;WaMՏٓ-}D~͝ѷݕҗ0 kѻ~ӽ.nݹ>>VF.H(Hݛ!(5YH1eЈ\}C9Q흙I4GDޞN$DͺMZTzř}ܤGGG/T7G }{S }@Ǎ<7y)_ 17~7ݞĤ7<U$;P{څ0t (7|x0Lzs:rzcNJQ`grO?`/#"x^/yNG Xxf{/!=ϠA:2eoH.)oo((/-po~P ɯnNAO3-xN/T Pݏ^ODQ߸S o\`ogPWV·ѹ׬Vŋƕ͞ HQ #JHbo VȱċMuɓ(S\ɲ˗0c,ծӳ 2ss'Rȣ5 ӑM|JUjUH\ݪ3+%dh!z6 Zk꡺sk(+_^݁[i=L*mvkUSʍZv" #xY;ZD[WlQ9= {hChIX[?:sm;{~P ,Ǯa)A'>}zhu-i6Rw |W( l&߁ؗ ~ B$Eqh!{ 2ކhxt 2 &ȄT""ዃ("7RE"o<"$.iH!vhdJr8#9^=ZQSy@R)ȐHd6 bᣏi}9Hdz SjRf%nR Pj⥖x'e>IG䠔䡉 Ggo/F *neN 7^ Iה}*ɫAƚh!RYkkj^–ivg%.gj$H PA@@&Y 1Bd@!+\% I?N|rF:ґ=T3INJfΓhP|[g=,>ua3`(XWppf)5N 'G}lЃKy8Bbf: @djZӚ bf'P"?-Ng59 [pUxU*p91Zy'.l6 eW޾`:~Zю:2K95=JҒ07Yp.6<BwJy 7,?OF3g K&)Svw kV.8"D5LJֲ4.#-ZRYl%7ˆXWq0̵՚gFZJF|?L_bu$J8`"E t*f?*M1 vUX!J,0к]g_ʈyPվhH NxJ /@5n2-Sf Ce$Һڎ6W ae%AXRZ66xl!K4;6DPTʍs CԆ ! 1dw At/V&)E fgZOL 3LΞ}:N`(@bbO<&%JC ( d"W/8A Ђ-2`Wp4'B@ paI0`  x!T{ ha1@|Nc']kC{fbb`` BxK@RW<dވW(dg2W/H\4XUXuA`]R.A ipح!   pdк $h \Xػ.kIh69+sx<^3q4b#XjcQ@4;Kl =W86KcҋXajZA0 M*Ӯ2sP*`-g3LB\9WR,(C64RwOX)!N)e{'<\Pj3<{c<&_5{d392 52) eL IR-C Đt[K![ѓbuHYC$EuhboR90 ՕpLJizt(_3ĊL] )-CFfWM8aŸYw c?'y7C%(Δe7]`aqLundzi B.6We80/CUi&/u.K56 4u0uQwLkʥy2$kh\ w`U ՚6d /k s݉a xtMbV915C=U#u Ry'j21334%bY ~F8d CTC!>qVif&x%/a ZyCir!f!UB*`a/Mc5XE5ߔ49^6bsP/il/oS2u0u29#8cDc2fc7.8@U}&xhe\ܗd Pe0G\}=Y?2F]/J}8`BBVZ䱛 D:c5:SL :.P`c;;bI(j_tw חo``q`\f kx O(gGyU`yq&trBWaՔ| ?#KA0?R?s$@3mz*@šAsAsxtoT!T^$ďURYɄW]\ǪRv*OԔ\)Hpm*~ ~UqFn\zMtwDITe|qEESTEo^Fb$FCh2+FMApd@Rud@Q>YCeq$НXEk[!f@jߩ\VVk]P{)ŔqITu0kT2v,1X=tUajSF)$$:$El<6* l\ dw*\y~SF p\V\JG*r\kZZ;hhc5'A:to48uJ3OoO5Zq;tkSPCc 3 P%Q':1+3{CCשC剔H p0t.C])uiXX -ŌS`U6K9W22 T{_5.f79clUc0V|UYUƒjC EDkĉwCC~™@WQ \!\ZV9Dl7$Ȫȿȓ y0QǮLR<"[,-[)ʾ5U/`Bʺ|{C\)1CVXMG;̄.l)9TY"<9'l5HiD a&~SL:;]5mWxSfa[xT] -l/̬"3]HCKdǕ\Me-wee?%fϥCgf4=etfgxg`4Dtmxx1awA>G=MȬ"| }lCkvmvkkF̈́èש`l&m%gmmf`ޖv LKMlG IZP.gmgRJ;Ѷ\'+5qS&r&G+r-~|Ɩ14C*g7:ds]m 7v|?aVqf` pݵ&IyĖT4RչX-+MC]6xwxΦx*-['T[WaYH`\]^=s|VT{M;`gfۆk܏ď%Md㽬H֟}Ǥ8ejX8H?k7LX|RgH;=BKm-hf.ĭj:!݈ + 0u0LCjC :|9ĴjY3`t!i^6fʨ[a>|t͜Nໜuƞ F%xZ ~zOW~6 ޘ7ڌg̈́Β,5%bԒq Li C- 0-j( V]! Z=@8y ȹ /fwE{:P'qLz<^C};<.gL\ɞh#O]yF\Y>  ,2$K/k \I 1 2"s;hCn*'*39ɣb8>|w\0J`3:`|>xgD󁿾Y 6؅7eVQ]z1f4=`*rnVg޿C0WfɥSC(p+WW W W WVVVWV  ЦUV% (UVU'!(U -U! /U * TXIG 22 + C("c Z tD ΞƄ0c\`E/wB A,1V@"b *(.̫XՌƵC+8=rA\$Dh  aX{ PH&,(%ɫMH6j'<@B^Z ,H0 ( .P8ڴœa[A'K71~@,`U? e>}aÛ%b7j $07/"㇣iNCX DT7PDQM9E}^ tb!^WILYf%_ /\Q+L&&&\BvC6fJB@ɲ 4@&l@xAkDPc( 5 6 @}#tU=/)0UN;!qV>)\{U3)bE}#`HNTjLr(:&"(P&(cZ&IaV d@pd-`jv&lImB.%nr#lK bZMvI3)U okBϣ^`;$<Ȓ?éuj @1%EƕIU@BD5tr_A$~Qii %AUuB8&ruWz.fpⶭ=HW@@ 9un+J΍f& ̒"[ 啑IYdYv{;3&v'wbA؀iy8  t\L!tVcg+8qvc!GE{W Ҧ&H g C0TA`qA*3|@~`}2$ekD-m`K$~q8XdK..Ɂmx߇6lPܠdELzo|s{TP@ͯ~_GVP:XQN;vuH [ΰU { 0('QcGGgL8αwc .豐L"y*D&;yI쒟L*Wې!`L2hN):@?zYp&fYs> >gRq5S0L`NWL|  Rъuۺ!iov`6V(5=wOؚmC՛b2ԧݮ['ٞ8(<}u4j\@fS@4&Bnݻ"5=bV l>ܹ}qֵۚ{{\[޽&q\F\̵܂98j@UN8^:ߢ(7.f.9}`c; Wȷty끦8ύ G}:=cA"!(e?'"Á0PP'QpI N .'H3H"x)8?Y&Ep%f.x= CmÁN:Ȃ`Hd`bqeפ`84e$`H`T: n8ІkeH`ȆfduX2@O2PphM4PJ7 14ʝ>IjCj֊h \:Dڣ@  BUjM: ? TJ4m4Ȥt*w w:B10*yiU? *13ЦXzf8A1 ?{O> )Щ)1 )  =Ϊ*T mj`( ŪjSjsS399<0󚪈jڈ<` 3@:X[J%+T* 8s cy< Z0!8 ~(cf2J{<0)8֯'i*4@80jƫ3GJ b&20?p4𴭚f:8pI۩4EOR+Tl {Lpr;t[v{xz|~;[{|T۸@$;[#[۹;[L۶`Sf `9{Kptڻ ;kǫɋ˼뼚 KӋ ++K˽9۾ ;K0[{ ˾ۿ0| | \,Ll|)| +|-,/ (35,7,0L9?A6;|=K\LNC,G Sl< WV\DR׀p1Lƛ`-ƚ)Ƃc\gLklosuwy {}LlȁȃDžȇȉ ɋ|r pLɍɏɑɓ\ɗ ʗbJťŤ]ʫ|ʭ ˯`\˩ƮLŹlʴ|˶˪˲,̽ ̸<̼ʻʙ,ʂlz -̛̊,L͝l͒ݬ͟\ȁ;PK%6$SSPKM%AOEBPS/img/cncpt221.gifiGIF89aC???@@@rrr999|||)))///```000___SSS PPPpppoooOOO>>>]]] <<<ȵGGGvvv!,CpH,Ȥrl:ШtJZجvzxL.zn )K^PV 4a4P4D w5 ##EB!45xB#!BdC44{44 4ЩC x 5SB5Bǰ5*kENPi-2Çq`!Qx6I,HY{)_F(!\FpeEc^ h5*`PJC:F4aӧ|xA fr !ԑ Y8dfI'T4DSp$شb&h #i$YRˌs$c3|Q0x HVlp װc˞M۸s3û Nȓ+_}75)(C3$hKǠg4 I8Hac&8ÂaaThN""] b$J(Fi<ؐuF3H8"$ BA$FxčWN2eSy$XQ[2%_ViTv 8fHfq>BhO LIcDdʹT>tV2 b+Rem' I.+ji(lTpB& j,~ 'j0` (h0t[J i .>ѭߎF$@ںRkżڻ)ӲKW ?Dknzlܡ*y.S\n|!Z*. zƮEE߲,(`{- $#34gA^l JS?X5WCje3xi aq FEmEs-*'h{A;HS<hx/ ֥FJGW9 #ꛛQ蟥dw~{EOw6a'Z{ɤവsq|PdE7 ȿQ|]N4fF:~b.jH@( j4 B}q@0(\$@0 '<$Pofy!6l+Ȳ -x`1k"=e$ذ6RMDsx2ۗadn8geAjT:CrC`YI-v ~A"~2DD*Ѣ6ŰQɣX+Ezy c&uJRbʙg( ;r^A:cBin ˛bӡԎC*k&P5Uiլq*HBd1ȺJƌt+x=]GWUjpŦDPMb#Zfb'KZcZעXf$FV}V2{C3!2^c ¶ `v_Wzmm0?.nk㾦Un+KZ!ud]$70ܮoYDׂ7-W{^/@$o^W#}˅7/7ph`Wf^_՝0m+|J @B0rldG h"'  JP<^ճk; X|+g59Q},G ,-D`e`OP e$cj`O X e3x#fGMm#1d(5@5-/4 A "x_N]wZʟhzv^ĹտN+RZؖD e  J#~Q%"0u "@4y7^zuLU\B23la)y{ïB[HEwO&K#&Owܞs'K;~o~g$/k}w%'~B~f~w{} *|h؁ "8xB(*,؂.0284$0eЃ>@B8DXFxHJL؄?8E`RVxXZ\؅^`b8\bOK@dl؆npf|jxz|xs~8s%DeZt{LjH{uG=؉8X(,9crS8,([]("`g7igGt*[ŸrsĈ|x.hl(  x؍hHƨ莬ܘh!Ǐu(l Uyf [WP{S]#wCF:H(Od { 𒽠 s&6GZ=YdGfjBv eL| w䒻`5`6` joL"9Es`vfqHDvE/Xp'v."dgmm$Cp9ґU%{GcjPFe9; &cc$Gp7krw(z&w"@F@fP<pmǘFvkǛuvna#rp#Crєj<қMĚ-y P Y0Cq#pYr)ȘBh#m(AvCelAW臭)550  +TdpvYn%P\gVniFyp>riw?p9jvԄfBCP Y9@0= [)c@IXGnRwnWeXǤgv06VgzBVf%P{wza$uo(fz}PA:̀D Gd0yD%97=z*qFm('ry:Fzj *xrL’aˀZIz@#0eUj {x{jh諅H(Jj ʬ*Q5QZ;: 0j c'C:ۺ >1 U `5 !w ETi)P4 C+QpUD0!{B@HPC D` 8+AP [` {  X/ɲOG*E`p⠰=K=Z=pjQa@gۣ JtXk8;5E*p) !%ะ3e4E ` ia P@A [;wP0l@lMU! 5K#50ڠg|Fpw$!  x`|$p0<+̈(7[..^QP ==;pU<-eM8;:, I p<DXA/ ӽ"UTrl>L˻ ~ջ' ӏ rlnprGuF o6 ګhz]<P[ IF<ٔ]ٖ]mq\Ǟ٠Q;ơ}ڨa|PN٩۲݇}!=۸i*A;PK]|niPKM%AOEBPS/img/cncpt265.gif/fЙGIF89a%ں77HI"555fθ|||z|:=[PTH111zzzhhh̄xxxz[\*!!!v---D&&&l''xlm3rrr nnn```vvvMru>>>VVV)))tttApppde/llljjj st6^}YYYҌddd`]]]LLLlfff[[[SSSDDDAAAbbb<<?^_,oo4䀀濿зӁ~~~//cWX)wx8vv7vx7yy9Tv]__Ft!,% H*\ȰÇ#JHŋ3jȱǏ Cٿj\ɲ˗0cʜI͛8sɳϟ@ JѣH*]*ԗ?(U2JիXjʵׯ`c:/eسhӪ]˶۷p]i6ݻx˷۹Q LÈ:U#KLċ?zϠC61ѨS^?Ʀ9MYKoͻe>/</3ѼTcY@kA9͌Zeѫل0(5R 7kQ'A`~ $,AAbj@|pK㎖x3T !LH3^01$ksapO?@1?$ 4HВ. Ad-H$q5nR?/?H p4!F/,e9㥘M@"?+QdKϟ+!A2 gYeTA??3J?4K S<D 8@f~ͪ=!4 0T/k^ 8LqR2$c*=6SC^Dp$?®M&S,R '5??spi9a,'A}sQA-{'+mkӾ gT/ ˪ UhR"1+ v?>0BzJ35U0yak8ڄs 6`\8HL(p K! AvRm^Y]&#:8E K? . H@V`$wnĢrC 2M4hd 8;l?C0Nr 7HL 1k4Ce!H@cHV5 @ iN7TL0|{H 0do%P 6N!,Gis4N aHlA8u H@vGM. &A' ċ4oU aCzXa$Ta.XҌHÿ)PZHz3K87P dVD33Jp\c`h[C P*C j)C ծ7zWGق (C&\ZP A`DI`#5P9l_ʂ&Ìh]m@\4NoA*$8!cɨwh .V L~)Re@4QHeIBqR aD%ȅ^ ol+9Ҍ(,11h5RSUik+o@:cF ׾~ `{),b(a+Z_e7Yf7 hBњr,hQւlyQmq޾Rp;5.rY2u.tXe$XFXP⠉3a@! `I D¨J!\0c6O}I?p`B`(@Q$%@.!bH_Kqb,4&h጗LCZLơ0Ѝ I9sX4  CN9,DlKQff5 `fl#-/ Q*@]1 mHI( 4Q _,?>Jɠt ߘq/l^zCڸIl4jƃ uF2\2ں5MJ Uz(Ix7$#:Ca#H 0,1n>Fo`J'Z@t`G = b,1 q 0~p ,wl  r$Lv& g0E`b @z7s;>t%7tEwtI Ceha2A^%:'A cI,P`:awxzw=kPd g30wc3.x#pU7w>Qyt-hw#0p Rzw@ '-Fhgp'?נȧ|.a g0.x^ +%=$H@30:9f%'Q &ɐ' i'&iư%  W  Ė%NSp0 p %W' i Q״2@X4CHG9hzӅ35iUPF[4%U+0kr#q8+!b U0E SG':sWQA'atHt8.34a$=@n+H9a290 ~x'Q@  yu8' </nt#(`^0P30pQ H+ '=)rx^ȗ%ɲ,я^UP`2p2`c @ K0Iπ-Lp: )$'+@/Al!ˠ H0 . f/h(ȓpM4WB0,ΰ P} G*`޹nDd'6-Q+& @@GFTh[ E@+ ``1`3%PT[m%RL!`)!=@E I ˜s?ep̰ hI,z;` p/xT9N/2y:`h;Ǜ+!Aiy.!FDG>AL EhdpKJ2A-1apZ2]Ǟ(`_F˰ҀgP 'eG@kЖ&f4o2ǐy9P: pϰHP !`N/@Q֡'1%ɀ1#'@'j> +; H + )l6m\@Kr0rS0zʧ~ x-Q@;0E 5V/:zJtN`C:|Ee0#@fJƊ1BPZ9sp' 0#apΰ@'; 5 R a(@/#@RdnNK!]jذ'=|YMŠQ}g=dB &]w~++6K0@6-@+Dk'pvМ!ٴ !J ~j.oH=P$6@ F5m$w<|H)53P {S0 Is0 ) 05`31{°/cpk P?A"sIz6h69 ;o\@+У0xw 5P, #`yg0:'a%P'j4  z@ ~m` ݼ ^,Qx,;@;.<j !op+ i + 3 Y/pWY[k &X8=Pnlz4uN҅i]y̶J2LكQڷA ` `ŀsap%L٫+\gDA0%+Jp] f ϼZTwN0f@`  p3۾xG^L+T='P0Rנ:ew f&@ ~`! h$2\ ; 0`'^Œ=`/_>NϠyxj_A n ސ z4O<(XMH@^(FMÀi0$f =` Z ;π }D4*6 Oàp~9$p' =0Hpd`VZ. ;0@+  Sn`,1 L po ư , O0P~5" Е` 4p蛽. Q2MFL " pCngO  C>p Fgp@(^@ F`   _ 2oeAbD-]JUkǵmƢfUÆ 3Āc(e\L>PuB.^pEȱl֢`C@pp Og̝@E} 'A^n%3hK0H\m_WrEcȑ%;vK0̶NNyΡY6ѩQ,kرAvs/J{v5|gdw͆$r3m[5oF]\E Nmbs|9ԞAxu!Ӷ?dCpKlP4&\>,?  C ?G43ыdEcqFkFk1G @+G F_(@~rI&|!*ȡI* r LAI+7)/4LP"_tёO@tPB 5PDUtQFuQH#tRJ+RL3tSNᙼLDR+$6 OCUUD5gUmT]9KXVWEIVca5q -m@>>2vڶXfVeeYɆO072^5Wyg^MV\|q*_Ѕl2 $J va#xb+azGU.cCKdPSVy;D{fyfA@f?^@عg@Kh; `K>=a@Jk{l6lN8H!m{n1B1n2P 96/FqS$!rgL0l"xߨ s@- 䏭|vamsGn[w&gr!r曗k96GǷt3yێywW s/{P;̃FE y\0ovÝ/>Ypv3wyPxs Pt<ϝs:@&pA!̡0A8Br( H2pdU^!bE RJņ D,(DĢD AnCC<Á#! 78;. od$RHhtqe!p).`<|8P&_3;.@*Gч=1qßp ``oYh;daXt#T`oF `i|r07e!M8?n:4p$!ı I  E&p] 8@k{ VI&&BqXl g;0@0#x C `fD ;08&ֶ B,MA 4P 8)0QS#p FC X$AI! qA ?4n &* ̃"`1I#EE=< u@Pf03%Ğ`",u B`@Bě :"`"{EщD,3*p-8VXYj&Ϸ.5h" 8+ȂLbk_8< zMQEWᡃQCfģJb(R LYr0e ,E "# V@ <oXP?TsMaS6D3 ZpWa;2X)w8 XW` Z\cS :2 0) `+\Sz?:Ƀ&" M t 'kBe e!DM w8Hk=Z(I  8~9+LHwwE4c8cCZ9w8 XxL>0A YQ)˹IL-TЀw2 0{aDM,CL8p@bt@33 : ;YM@FCS4Fs4KC ST>>5sWL!/e[8:(A" `,V+_` @@\@P@" 0OpByƜ)Mj4$GsS,XxBI(`}S3 4bD[F#ů!4+Wp@Ϣ ˃KI,S IY :xKБ\b4ƲPڵS*H(Cw0JP۩D2(`qIwEw̬"T80T\=y0VЁXCSt ME3}ÇJXA3Nw9d'N07 9ㆰh=?A hh7qY ^(M6NdPeR60bfY=xHgȆ gq: *0h7hp' T07P5@3Xm0d8k }HXZ8n84xXh]/f%h`m(00 20~0H^Ic3(_XkhsXhX*(c$@$hk1 ; ( X@]?@ =08Xb@)\Xw0t0l$ (rOej]n)pYva@0^$pFZ~\%a2؁P-_[00nXjH02 t톨H 2Xeޞ] klXtx XnhnxPg^@Ɔ@@ѝiH5hoЃ2@c`30 rx ]Ho[X `ϖ900$h[Hr@ ;?jH5 X0Hos(@7Ǡ$XX%  xօ?8F58nWHƞbs2w @nH/-@\ 8Ŏ*0e`u /E'p\0>$H/ υJt]LttOpNcpu 0zb q9&]ö xȈZ!ac[jtd7= 5vowq'wsGwug)n߆3(Ufe3؅~w l(s x  l1P@ _`?(c aȁ t臑.(Rgl3p30o77(X z3zTg „ `iaƖA!jfdG,i$ HBL40X :w3/^ϑ",G -PҬZ7"0$IO2E_(KFW^Q /@\Ӷbk_dh+LFҠV׀ÃH `a ^8l1`#6 DY1-vSmDgR* Ha3֨C`DWdFP D!/ ɍqM0Fl!= `4@/vC PC*$EŬ?0pD|4QJ+AI2+b2~46"5PEERM=QcAWxA]}0gX4J|gapO4]v_FA&L"*ƘcaLUu2΄AΠTkf9 RBk0&ۡ04ASYqU\ =]BcP!P]B%81j 8Iٷ#4c߭?H;z 6Xc#Qh4 ĘAd%/ >9DC.GHQHأA(.P$VҨ$XN1&ҏ@(E(`B +CC(ܕ^yE C8x/3*؜Ox@Ia @@.@`2P: DKl%AL-K;éA.dr :Dv*4 ,=S 9RK"Ӄx#"P`(ǖޗ5.xaG/! $Ġ4V ѵ*! +HS jJOl $3;[ݫ"&M]3Č/?BPAy6A Èz@0O?@pfPP0㲄Ґ p 4Q >HA1$bNP@GHUAp 9Ҁ+TLvt#QH2E[c$!F V8e@Z9!/|ay5CF"g A Vja(Exb$$H"e. H-j48jq(x$Uđ;b%,2XnQ&o$N$%T L`2yä,[*3)l&bx Mq[5WYl.2\3ig'/˩llg pӆ9{H%;Y#y%@Ok3aCЈ"4?J,t (D7Z4)-'FQvuhHK*""0D`'-90B/Ij! HPa H9 m8ɐ24AH`-@`,dG&~xZ'$81|BF jG24*AZjF7+Xĺt8"=0p v@BJjyPJT1Cڌ 0H5|`ʴ$4J3Np&0AQ&z<&Aa!CwY†ESP7@BpAnT@(2n1c g\ ( i zW@a%";ȌA/A1$aH:<l3K7 #l, + d @Z@.*pPd+/A  n\a^B10@ $yOa  \ /p^$A ҏ t{Ҍo|ذ]8#(Gj.f 5@a܀R3``EacG\J oMȉ " BGPȘy "-&ICvkxBđ0lwgH?Pj3iPY-:H7 85r?Y(z 4  rLUAAWA L AݯB vx4)x˝t\4~k nO@+@#.1P$Px?S_X!ᖔFQTf/":N@ ư B 9 G@8ú\ͅ\kp$%D@#,F\!N tLHB8&I<X-)~! h/4F4CԚi GDC/L r85T[:$A0e@Sp0P@AA瘀Ҙ]QP30P(DxLDB?$ VԵXhGH0\BC6ЄMDASIX4 U :x x E5P@u@ d/AeEJٚI\TA dF:A.`S @Nl? B1TT9D$ Ζ~֓SK'݌ҿ֋SL,IB-7 -<-?2=-?E\*fֶޓޓ؞B,5:m=0m=-lVrLޖ““nR1.NSRR݆iB~SRn.'A1|x& 3.4,L4(.CfD1¿fCyQ 7nBxD3ªOGM4(CH0̯ܮBHCoDS|J7|μ(BD@:,In9ήI$9A .0A!v\GSоTJ@,2A`8AP o@@&ҪAD AM@ A[C A١[Bl~р@cB@-LL@;AdA!B4 @2| $ HT3$_JT (5ĄfFCT D2@ZU x1@50䞜*"O0B p#(J% k%pT/p1@8A@4@mS"DZsUa4_?HH4OA@|/}d2/$\%y3/|AND4D4\A@ep7̀ A2D (A4X46<_2D2iďZL@LW"AR1 7?LC@6a30'pPCt{OD5/l8'9jzA8Aj1@A{0?D40@4mOfCCtB^N0F :C2 A7kD4@lvGT̕gBЀ*2 h A6HR+ JVOFZ3LHIatA2L@f@,P5h 8x@-@As_]P@ $7|mD<6Bh:qT-(A ؠAA;j 3A@AHT)ZB?v$hyB@:T0gh7,APN$)EH?ЀBx`\)CVH>gS ϙ @204~wEA. 68A A.AAdëo47AktG_B0 $5FBvc?\BC~  @ll u.xC^D0Jpȕg9*C;4D@(( D\ەAԂ/ Tn0\$GAEdD z(?L8G.:+7S C0p0w: x.A *qpA x1*2\oX*9_0   c#8p2X.@u@H: KIr^0 dNjnn6ĽvCo'+8PAAv` M<"ĵX 3؁$CD5nw):'n!cΛ(YH( 2@G3z%AT(V@^' p886dx8A$4xa2>$,FH@G/ N@s0(UhX`Ҍ-0s!" $ 'H3Iv$`m&`G ((hF$NiAl^{\O^@Sr͋jErd{}U.';|AM_JHpc :-~;c ™gĈ\j#[$^x)ś[l( ЀifA ٭Q [qR$xQ J0~lR Ԑe/bܨ!30*h3¡v犃×]0@%|M(2 jꩨg`0Br`@Ÿ BKr"@ 8ËjفŃ @ ^*`L&;].lE!qD3dԂd!i`Ơ`r#8 ~A![w@b!t %TѺ.!d1|lҴ)<(!l9&]pA%$(!z'7@A0C[Ơl`@D HŒtrØtH|t^50ԱՈ?!ɂ"H*!@"J95H0 jdspޘcTG1ӌ3{Գ>;~ >VJoEņ7+m{eA[r1z=p?'t;)O]YwH\vCvK]/y's؅=qўy|թߋxލ>乇ŏ;>G_~E kw_7@zS?~4,36M3BԧU`?F`) F6BVq.!_4rwHB8p;ЇAXшITD!щQHE(VY xE.~a8F3iLVF7 acXG;nqwH<d8HC+$aNḂD(`O/(pk /thx!&@ ( `zΧ` @ |(.06 $p  63k!b- !$ _wb >`d/z~p66  v@  `&ϦL>0;Oj@0 א +' @B\!j-06 L\FڸA@ Nl֠Zq PN w)| Zta0ۤO (Ρ6> @#  Klcr.*4 AFR"u @8br/A qd >l2A i1&Lrr r28Qa'jj@a" i`7 K*70,OQ R "jM.220!>JɩnN 6a.}`J< .M**0a0  6& A^ 'Q jRa \ \ F`<Ҽ!_m6{,t=RHp`D"Ҙ @ $:N&al!rz ΀;< `O8sDhஒ ?r ^ Ff ^i.m8!za& E v( Ca2DTf6OJE7 X`)<@ M@NVINN_ ̪M@ M+ zIA AUMnK5x!AUՂ  4J TUɉ >T@u@¡L;4xR$u6R YUYTXՍa.AsY[UnϜZ$R S]5Y \7MLW=V ʐb#v2*b-$Vc7c;c?dCVdGdKdOeSVeWe[e_fcVfgfkfogsVgwg{ghVhhhiViiijVjZVkkklVlǖllmVm6\6d!nnoVooopWpp8mAx_r#Wr'r+r/s3Ws7s;wsmqcq=tOuSWuWu/tEcIq[vkvow?7tawce7wxWxMuyc}WrF` (nxWztx5y!   @Vz|ʬz#6{{GL\`}W}W_a `v`j-؁[w\w{` A! ` G57%Zw`J`|AsX%QXXz`@+ @v؉z؇! @C@GXK `ġ ! &؁ǘC}y!@^  fW |鸎}u.l; " a>^q#9`Ɇrf"*BrAWaa+wv֐ww j` YJ\ҡdvY`zA >_ %UhYiӌs RjPy@`r`;@UaBa͹~Ax^$,Yrh @ yaJ ^a_a`!" 8!  ?9 zYE ^dGt >@j 99e`a ! | !LATs\lA@  `B* PH`>v \ D9Úڬ:yƠh8bo !e pA !1@ pa & VY `jE \je UX۵ @""|ؠ`|xD9 z ٺAB4W ̛A&CO̜IٜA!^ PʆA _YM~arx!W_] >:T[~ ;V$y=g fc#ċd-;̛=^oِ5r˛?:v0k 9Lo-ޘxtD[$(6`_NNHa"1$cΌ+BAu*xR2%4`]4>@I(. D.B HA\44/=` ѐafrfOv^?X"(cH3 % Bz0D:FT(qB?PKȄp˜#fך":c22g,c0 Ӭ6/$R@5bK5ت ܒN5< w͔EϼqF1'$@ / A͹c8"S-^ 8D9bD 1rDzXk9ұ.+c >70ʐ5$q4e$7k0A gZ@i@C6?CJ(A +(!CTQ?fA7+|sUC3Ƞ 4Q˵vҰ+?D#U(03 ؂q3#(dӌ+50B <H042QG4@.0`B.+|t-3/\} ^ xixp0G{ G`RC}4 >q?=u"$`HB6Pk\ۨ?@,2?4`Ro$pjETaLI=0& >4Cj)̥m*=HC  :N-rv=p<"ɔW ykB>:tf%Gv0L#h?U#2B-/<ap 8:( 21# 3@np( ȩ4"-LL4|Ć8jA 6!]F4;3`\WΘb@O.+ G °h `` j/ iPB9j0pB %F# 5@|@M`\(a pA׾6ca ax )A RAl`Y>0HBspW8L0 " 2!g51k _?wHhoGxbԯI&~_/@C_oKo6&Q~Ϗ)`ͧg `8>R'@ t0 rG@Pmt#PU2 2z+& 3keev!) (8r.@C( /&8y*ȂQ8!.~0 ^` ,C+ #B3rΆU P*n9 rm.Jtq|HpPMzP(T}W/ Z6iU c#pJ`T; ?5& Gs06fPZxpR0R d`#   + +`%JP-P ph.`R ; pU?(EjpF B p `@lic e UR@ PfPЋÈ Z\̰4P>3Pv@ 9 P`  dp.嘂瘎Gi&~8'93W ` aP+PI@L !:ȃGC^;PJ2@ 5p : I`W4[ Hkʠ VH#2 k@0HPUK5鄉H!ر0 f@@HPe ;I@IR0U HӖoi tJvy}00 Fpzpr=P )8X)-H%aN0氊 0sp M@J nAb @nS@10`PP9  IPi/ϐ 2D)z95ZLXP`` ebp `&` q 3  .c.:bXJ r3Ih ``*7 iB 2 @lPN00 fp!pIJIPc G6 p 6`H>1z)QfmPP0eцǖ t %8# m% X"ǀ ߰ ɰNI!Anp \  W5 0pʮz|s7 0` @-{yڮwyAUa* AqgK5˱PG K{q!k[+[x/F,+P'`79;˳=? A+CKEkG+#;KKJQ+SKUkWY[˵] _ aP;PK4f/fPKM%AOEBPS/img/cncpt298.gifGIF89aqqqq>>>:::ͩ^^^$$$"""???AAAggg===rrrjjjDDD烃ѾώUUURRR999iiiEEEmmmGGGCCC~~~nnnooo}}}@@@BBB׺wwwиXXX777MMMhhhsssFFFcccVVV;;;\\\555...888<<;RC3H0lC,JP.hD0?nC##A>6d(B* ]@I\K W) W" O'%3GVlMhah7ǷudpGya\VwNՀQox FĎN"(; t - 0F-`$Ԁ s?v-y7 AQLQ:! |(f.=B1 ,`T~l,p PPF5aq5 G(GI؈+$ E 0O{7&q0ad: @(7J$?kE)J(j0 @ȡ'4T oz&O2b0t40%8JžW@ 0%Ŝ8ρN {`CVpASdҸ3>w^mS\kXc7c;ՓW 9E,cg:,`?( P.6r 1c-WU`B"*!eP~jhUQ8@І`G6qÅb6@R'r\ H|2>Ľ*мXHUT0m 呏ԋ|8IRyC&X" # -ȇzCHM -А4uD/~7PӠ/QԨLSVZ-~gMĺָuo^Ӽ`fiΎXgvyn{7Ǎj+N7ͭuݦdMzZ챷]|GLa_7؈ET{#op"9z`L#l<@9@9Rs>XĎ<! a=C #YQ%N hnу,؃l;iU DkC2 X*`ܢ R"FN*q P\h(s!"LH?.a!-*p0B'1*  0(0 A2p!` 1xV a `cG`|Ch?Cj0XX*p ` Q^5h(# 04O P4W* Y@ J wr0?  *PϠ@Dd` P \\a @- SPBETH p0{-V!* ð,9'0 А%fu P]f@:\<00 hG R S0 P:VP Ai 7>tXq T t0 "0w*IpiU"I`NhQvgG K3ep0\ a80@Mg + IPqxf` p,pbz # @ ) 3@. YY:9p ]|w0 p P pp ð p(@d0 { C2 8P&@\P ǀ=V ]Wi u`pL9` W8 5ˠ&sJpV}0U / 0U`By 4h[r "dh m q0' Tf P0h@ Y~v5@ h }@ P }o[/'1#2@w A̐Rq v YsY u& &8P s@ % hEiP y8 q P0&Z+ Kw0woaYБP5K p<ϰs{%Z9,yt WMY> #0=0Op _'q@>V1&EP: W6T@S0jYy>0/lpGP f#q p-r9bX4 O. Nք'1/ Tpǰ! qP `*ܰ_` uupe=yOM'a07XQp@"'q 0F` PlHZa' 1 xK6@ `d x'ўaa R "`D ! .q YР'q[hvj'we?iPXp@YaX?b6d fzPP tPj D`P֥|p`JZ:IGNTx` ;  1` L hJz'|zj 5d6`  y`w 'AT1~ fYZ6`` P$ g a 麮"` $zd TWQj_W5~@7 `'/p{[h ͕ m 00<46T j1ZQ{0XP @٠[ aPˍR{+Pw8{c`# P ӃC;P,0 R ))1 ~  `4Zrp& JU@p'Q  00u'QV;z.W{a$ p@ { i @ u ʰi`{K(`ЃY1ް\p W' #0$XYg@2N` %pUA` J ep ~^P `@  UqNX2n)e S+˞2 '!# ﴛ cׯ 8A}Ki:˳S @ @ $QWX1?'! :5\0PSC ȀpLaN U1QjLYI}D 'P0s]03'H'jRTx > 3#q,nW!4Z w9*  J %QUɞ]{a:ڗPimzo'S }< TᧀZp> q`` y;`}E]᜼ݪ[B]~0eq| ߘht  p r ʭ*1ԝ%ЩWAY`TZ~.-;3=oa LЇp HoÌ舁PatQW@ | X ]5[pI p=Vcp7 K;]( zuͭW p ' à{Am ~` = @2VJYQoW񥊞Tg_/]@ n J>^P0BIFPuڔA ke 9@܀ P\۽M;XO Zp@` E& 0ڮM``@@==,ź ğBѢ@)ο@K` ؿIc,Jt&MlJ" "!hQ DŇ' ;7Pd%[֬ pC'7!2ۃB&d%#!a] DD3m1c" (!ZJ (O"t_ +q##6•z9GDandLf5YLy?FFfTpsȎ)1dɛtH |,ƹJF8"#,`% Aw 0n:` J5 (8f0<,B p,"gqnp8d ~"" v! Rhn@b@Z @ O,jSQEDg0退م`~r4 G"a@89g( pqprNb6" +Kvꧧj-1 ײR X[AW!*bmlfjA t=eˢ6ݴ,B @Y| ˶KtlX q_lu7Hd8`Չ' 5]{6a7Xdeg=k7V6}t]vwz~ W%֣c.ꪹzkj۞66&)>[l&j!:nvlN{֊mhF|_)oǷ;r:`s;sC}tK_yBs[wu7Gr!vsםZ Tv~xGi%i'~ɘďgy=0 뻧~K,+|W}w}~~P$` x".(g1=1mWA]69L|!VIɜ,TYW` aFX_?XCP1bhXѡ y.Q$uD+EYJOFS\h,'[TEHB0PE$cƲa8p@ǟ}=H\!iEK"X 7X};{P V"GLIb` $-҈"¸] N@Иa D@_6IE0@؁[1HA, % qB'"D4`f%-IuHb '$6p`` '+P@#61 X!lI|A>C.Hől PcʨADLQ@(81R# gV|I4B|1ͲDuUVъm:_ kD\AAEP%ȀX#+F11TmP @ y( ~C(P*ۛ F,Q`Ё78ae\GPNY,?P@=q.*!k{Q#`Zd8mlFhc9aaB Vmv,o"g:qHk0,٢d%^2N [{fUA' (6 C~ANU*s!lH q ȃ :\􈟳n{ Y+C{b}ԕ@4E up]!?<-b N$aFznoH"#JqU !`= "PTX5u?؈(&HGPQ/<2]Zy!B8p) k!߫,^~GÑ/02:ȅ8%s7k03]-QP% (UM7h1 %-x 2!c3cX%R) \0 ՘o8q+xӛK X:G`pB9&˹3BCT8+>R ÀyP B +B9@?T`' ?0(p\HjBp؅ X k{iC$T _"Rl¼ DS#*̢Ь TӤܣ<ִה<ڌģ\|ܠ$tl̢t3`zƸPx*D(K¿`K! ,`B3fȭЈhBA=BۈN`R?$ƌLZ󧛨NHKǠ$ײs, xy`ʸgkgHtw0}Gt|nT^03΋ >s"`,*ClkȀ抈~̒ h]Jhtz?3؂kS NnP6qPF Dsȇʁ j̨+"0hRBv!.SL=`.%i>8-x[[{$<=Ԃ PVH[)ͪ4Z 9AlXx/GІf8s*S .h(xt6]WP:b: \!^=gʂL fЀmE@5eP xOFKЃrP\`)Q`SI57xʆPcꮠ՟?cOAH@8b58@$҈ID"aT J2)GdIO[P59(WT Be01.@{ ^#J g[>>j(WQiK+>33:/[܈(>t(miٛu@ Np8ݣ}hZ1؁N-0SݠH =@xjpXrr`l<"[=[9  { rJ\jߪ3`)hԍ]=xI}~+8jH+ OG@H+~t_&@)YePbdb5ؾb[_Hv2X.>/>YHJt=Zئ`A C:6 8`G i V`!]SȈH 80 K4^& "D,W GD:C;P@:Ÿ"e)Z [\uzB8O8c&2&XP!]$*P\tB\@8uyH gHCyXLhLʙn0i0P$48HlFPPkX@B-ߠX`d[ʦzb1>9) 5~+h2W@Ҝ `&bOR )>I)n%cPce# > P&L,Kk[T֧Q8dz"5KEQ@Fk xX=miN nrгN5r"Zi  " 2pA3Rp brpp p p.p q!,2qBRqaq-@nqq q+`}x] ~fxA8O˸&x=;inukWz8#8"Xy]3M>kox6fkIls=pيsDfA0H3"[hLo[%\ gU5 #frqFPh 9hWrJ@B0%T؆n NS.RD؀n.hPiZLawv Ȉ8?0M8LƠ+h-q-=y] ,.u8 : "8k5PhF[8%;0H6 xDf)Z) qpIoVHb8Y%[f*J``%UHSTQ؆H }2;X*<Ȃ8*࿬r)_į [5:TV.u (_. jPכ Ѓ8 5m xC& 2b>ʱBM0 h /<kn}5XrvvHxh\H67,PO1 EP|AS1h@Z%+% r) ~u|\HC2gҬiA8lΠ21apLD4:a r굫Rq.x+ڮ<yH!M3/xl P@-ه_$E~^IqÓB_h2PNs}9eH BW0ǡ3x1E8>"¤")#W1HvvHG9}ӈ8E\Vx`XcTYGA {< \r}$)J$s8Cp_ F)GBXML@AG( pӄ0", 8`A<؆MAp 3\ r "? a#I($`<A+3Lg$PEP/  ,G2Et_)ST&_ڱr)oSFM_Y/`z$l'?ic'TQ̠ӗ|1yBZrL3>((*@|fR͛%I@ x@| 'Fi&PkDk1!@A E(椐ùP7<Pc#0D(Q@ rHiJ9؂ ǰ`)pTP+!\̀v?LFm7ţ6Ƈ /8%JYaN@ # h<+~aS4)TBmbZ ` #0:HWhE B L q<ODjj \9Hv> @– z 06L +t 7C?PPAl \5+n*CzP^ aDf/YC.ƒG`Q& xD,&; `AiƨC& IA<P!XQC,C+FHiM`o'Ae 8D 0fx z{EH 95%:ćB# 2 goYr `x51\@?4~`0B~ےRx1(@hOrŲHP)8({50]`]Ҟ-m`+('T'`;OɣA Rrb,c~kd\` >!x9G>gHO*$a`M[C6z`sKH = H8L`9L0R >(i;f!'}z7ALpWPȀxET.% ,D4pA!(0A@tI+ ¿A+̉ԀCYۍ) )K0Cɗ̈́,Dx A Bߟu?؀B Bx ,<ڥ% @mE2,??#!4A#̟8)L0%<L"tl @*[)-(SAӡ^U8D.d'8:H@L De&T5d6Zm}R pC:8\8?A "LPN9lAB?@@*JC80*8̂,NS2~T 5@@ej*83-)ԣ 'T%D\ TB$ DR BL# jH3Bˈ)C X94?dAH@dB7H"88Bp* dA*3%MTaA"XtB5h 7ݲGl@8&4B X:v@C17,.A"L(osdqq>?, H /,5lT \ٺL|!- :@'Z'CA8C'C"$C+1<--@ABB /*,yO$4jf*dC(l@5,6B?9;'B P@̪ ؂"9?%[r>e* h~ -|T @Dto1&8vDh`0'pcL8JHh<"?@ C&-D+Adj]܂O%)wOd `J+#fb8Ϊ?z4tC,lv %ԊRSKT&rdҒRғQGXsRҖRїe ՘ҙRҚsQ囋SdgR0qǝRўeӟ((E4½BtBR?9JQ#Hi:?9J.*C'ȜEV 8%B]1ÙHf.,7`BYC+P!bHNA(ga %>*K.T@dkEx'Z.y!-{,2&$33@M̄T+h A4 :Mq(\XpZ;'MfPb a&&Rx&(0@  E7EPBb0#a*e 1p' !@W /ފO;`aJ֠O VZqa$ r (rb]I&" #*iGѠ $Mls]đ9c rPZ7.n0 Tm x>G5È*.AZ(hbb@ :\⥂ZH90g0pG^yIPLX3`肒gqZ71`rq6IIEIuhr y⛍ W M'8QäuŎ9u~`(7z`R(c:n` I(d+P䂔)B&"@CZA74`iz k ? MZѢLX"7| C \{0$ ZW@1a8Gm&`KA ^X"ETdX?$EH1Ax30o;8H !c "l PE N]BA4Wl"_{!]B=D}^ X/Vd 2Ҹ% @R%`r)4^` D7dr4zĥpK@З~`0XFDJn̹ҙe4IIji\1;M(ӛif8GNL34gNpa 89Ny:N} <](PӝԧA0&6ː@ @a͍ZD+0 &Դ)l<(i:S9iNkSA,{:TIUj]T>QiSZU^פjVU~\[*)t@hJV")Z׺@xjG YCD 5*>E>? aVNB aJ !Y׾VBFG@P(tO>S,p:l! 0ka(#`P*ܡ Hv]!a@u);(dq:PNgC[_}7 jCPUK'TUp ~#")̛ g?Nt4Fdq?paOD)`M9yc' Qh`F` ҾQF& > L5GF0GaP}\f3BjPP< J0da(0})`ʠĝ\n#x@(P `*Pi[HB !=.Ox~~ p" 04qBPAmdko6@5lUX4RF,@\E@&Pkp>1a*`Ψ29h@N8MSV<; 瘶?q(p|L$cX5_iaO؃5 Y,؝QxƓA*X Gtׄx# }} (~cp Q,A쐐5Ѐ# !an"Nxo(@אhanb R Ua  O: H`j>@2 o&`!U \oZt|\lmމ 2v` `Vp, dpH@"O(~0UOP  $dր\aNJ q((  P% *t `za jJ$P( 3DŽ j ' ABap ֲP0: dj ,! A`!X@J F+ \NND`p> T1DaPB  [`6 oVAzA%B΀a֠BР.DJ6 L s~ V$?N2%Qe^\@DP&d m ~2 @taeb*+l`|LԀҜ%C1p"Km/[. Ɓn 3A ` *m* 3U"@ a4:} U^36u/'M/`$INzv8' !A*25Ó%:s|Vl;aƁ<@~`5!\! vl&/6 + Awl`aM3WEb3c` AX ?z4IJ  Z#e  &CH6"(cp* EQ*TE|b !PS MUBJ@a KLbD3P. [QT9R{@-N  Fa` 2U!`#qQ#uR?:ȴ^q&U|Ol@@`n p l p@Ka Q' ETZEB\"u4[θa p` fj |@A ! ! 0A2N `=`o֩(D悔T!Ah^ձ AI J$!kb# haMzyT~++y  @ĠUMKؔG'& ,0K؄KQ=@ o䶃_S/oX~5+o]h7T.B|8؊&OD`x]Xט؍X瘎؎X؏Y ِYّ#Y'+ْ/3Y7;ٓ?CYGKٔOSy[ٕ_cYgkٖosYw{ٗY٘YY WٚYٛYǙٜYi JY BݙYY9AڠZ*ڡZ*'ڢw/Zm*A (u% B46Ajv6vi=f < 6 A)b*`! T%@JNlABa `E!`b6  ! AaA LF $ 6!P%u( "OxvΠ"遼zr ! n !f@oHa` N  xa"A >hE`1>f asB4j@D嚮$-Bb34 gC$ ` V3n $`ASvZ֋|B!c "Bݡb[ 0@$P@A(~ਙ ezDX.!! (|ᓞ A섿KP !9Xq<>AA'`NYx` x! aΠ H| jpO! lʨP|3a Z!! zAIARA a Na@ ,ށ F Lz҇Ej` : ` A b0I@`0`6&`7` 8vgu!A A۱ D~a`ݝf}va! ȏA B.| 4aAIA an`4$0ʀ`TxJ!~:XNb^} a?a X|`+0?.a!` bǿ4D0!aH1ĉ+Z1ƍ;z2ȑ$K<" ڳu>?/9"6Q ƟߧEJuߜCy͆hjPЗ?Z~'# m.Ǫ|1C0$?G:{/Xmψ&2T/п g+s4@?膧|=ԫ[={Ǖ-_Ƭ8=p X n![0TS@6T Q4% $(R JRH_MA (R~8P@PAV,7IH 5J }1L`3 :"a&;*LAClLp0Eozp0,8qoq/wLr&r,. s2L3D,\s:s>tBMtFJ/tNROMuVKZou5gubM6`vj&KpvrMwEg׍wz{}~ }Nx?< `׈c@C\5`a  A:7Ȣ 0: EzPpXX(Q8 >D7$Pr! Ax$ \ %/aLhF%G(m > -24@Z Q A/A8G4F zBq?@AOF qT` E x `/耝I6!~hC?t"~QIc42H ^q.#D=%"9uETj*rqf`[Z"uPc9 JA!$p?*`^௯c.nfnnYvB 2o1 EPn`u  q AqgM@ 45]1S p(^`` P^57sUs=s`1P~Q _x+F 0XZG`P`7bap@Oq İ&@`  W}p1Pwqc@  |~e;/ p}Vey`y݁y C0Q RpP7Z"{ a|qh°z{U` p{glƇ|T@E!|}jOT˰P%UkUT8 Vd5c 9c`# 0%@ T "@) 0  0X1 Yŀ0A11 #P0 P` Q R no CR f@e t KJ0(p UQJ}' l n #Jbu8B BpW P P$ fco@8 $ r`0p3RbH xgXHP7،0X.0` V(v|3jq c/  ,SDvUY}A~L>P !?0u,@m` r@ P OؠA ƒ.)3 `;9 `0QN mPO%0UYqZ\> bIfi 6#` u,gs8wZ@Pe@  0)I p° 6#p C` hٚ9c wA i@0I0Ptɹevy)G7)Ggz 5{iQ!P _a|)x L@PN~7l)3P 3~0 9`;, ,P @@xn*)EJ a q ^1 0 lЂ/818Qf8Zq>(4*0E]>P \ '  3 W(Y[H;a? pp2mh[7rH% [y7 r h}фT+`p1p؊o3Pkfgs6 ygg7h6h` - ]  #ijVj9S*r,@Z 3ְ&l'qlPP 9lq8K H(0yjw@r1P5 n1? Bn0SpqE?ßp yGq׃ Oàp 0l_bhk0.vx ᷀ ;& p uH ]uviN@10 Iv`} ( %Rxd xWy)WE0@OOO#`0DgPHw* & ``PTS3E  ZfЬ k[U͐'d+ge O @@ vu h  " fܐ X#p d` neYeXo@+.Z5[np p pM[\5qǕ\˅ PiEx) @ SlЬ d*;Byk|;i<% p`d`a 4P4@Ba `* 9H Wg0&c4A,` j QB{ 70 SVeWea0`eav 85:A>6B ;;<1Ŕ>sHt0.0(X`vXNh@ @$, A^$++%`X p! C2`Y>@CC=C@$D* l0DEVEA@J JAbDFqFFk4jGYpp e+P-|G GY H^ y2RNdJDJ_::Jt~E"@1pLKF.0 B RJpL 56 p T$MٴMNcNUy! 01ݝ+N`, &A'p ]0 /P%n& : AC)beҁ3 1 Q9322N314.8]422>314n4322.314_422 2 314O4s`%%o')+-/1/3O5o79;=?A@6Qd01KMOQ/SjOT[]// 7eog?1o]? q\Oπd/eaP֬\NCc&'0KCC.%3&S/sJB*$%3.S sG?)#$*3 SFs>(#)3ES=s'(D3X,a(x e :x'B)~(qb :z@*p ;HY„+HEXs ZnuZ 6$.*Tgu]Gn wX"x"V`hŷH,R-:-|1`(i V j .h:N i:~G iC:a4a`A:t(FfG "`p@!U, d ^6(CD HU#-W -XB3M۾@,:CfvTDa&&5_F `,#W, I.ȣ no0-O\cH0lC"AB3 (Bc<4h&a] `\lD90/Ca*P`Z(' h1S W`P+P(\7ڡD Ո?PG 9T,Mr  ҃>` zqcn @%D? x N‘!J 0 YFeċ?5y4@! 8`%$?9A2/:?'$( 6 lz @e"&\0sZEb:!ۊEp dHPT" %8 Fb2F.|o h Q1 ⁋*H1`?z:4ceC-ʘ@%N1YPq(":P*p! Yxœh!1@ex&TiBf ĆZ`o^` XZ!QAQ(Fab$ܠ˃2 ) /,!, taNȃ@I?%Sbv)$@lHYR:Ʈc*FrwW؂+G3"AJT؄  ZSHR UE%vTBJht!,@nG@(-4` ؁A0G!~ё"L&`^24E8m 7 4E`JчD S/`ZNX-JG9 /P#xbՉ/C@ 8G6%x >`јG<5M>ԣ71 S 9 xi#D DH4 &x@cMjR:ء `4 0pAV!,!f^C8ᎡXrinL}ax`bʁl:8Ҕdq!{"cEM7$OA8ZS Q#LCxՌ iY)uO}k⨚ןi58mXm\kzˮ`O؅lkCh~vkq殙.72 T(C8b֑Op[J`Hc00805`*P]Ax.8 8@h1#xYd wxH^LB -c9Xw8I=q_O|(@'7$;Xn h(i%UMBk((PJ3EMO@3M @6N`4@ O(%4CUp R A"Йx T_ yTT7GZcPU؁exA&8`LfpG4@aey`~nЅ\GaU<@=@a؀؇ثk{k;Npō#1Xe@9CP֡lxX][ p=&D5Tx%@زobȀk2]X:u8lK=j(k "Ȇ`(k & (Q\Q5"sFZ$:/0THЂd ȁPPW@ Â~fe?+8΅P$ց= `_Xez`5\6xK3$`M.H`0`YC[S`dcs .ѕ` ~ &a 6UCaYS_car&N⽶M⣧~X^HĈ  /P 9 I@c4-1/bE$T;i-1ҁ:ހA8ܛ Ib_c1' P]sp8M;x53H\<{,^>z膑W]&T8`ЅL..pA.x ؅>@HU6k2>Tk()p ` 0:_o]؃K>EpB{DЇ]Ѕ&P PjЅdfN k h2ovT=% A1<0XȌ<XĽKJcrRP;-؂U.ЀŭB 4( jTP" GpjFoO;A _x$(K'h,PثK7 )p%f`  A!T h)&SX-]rM0Y'JЁX<cTΗ}E8 >`P3(:^-D%FJK F.!STD?rXRYdz6%!pLpTHtĉDxLp#hi8>]$0` [l&_ (0PiM. Hfg:m|YN` D<$P>L/9Gx'aЃ3 a!e*ȆkJHGre@r%6,6nap8Tl  8S- S 8Jl#NX!O&hhh"PS5Ts&,.AxvD8.~H(:kHF\G65F6IwXaж9_+VȆR r3@u !@2^hy)Z" _n#)7j&g@k?1ȭn8w`# 8 #$P$w>~ ÃDg( 1IqWjܐt<.0R x=M$CS0{HG;Uϒ(L=I*`a>({ a x_T 8jnh{iȂ. `HḄuG+߿'"LA B( QGH#P2g7&"<0@B._Œ)*b.xa&ϞEBf(9box)~^)vBFb.#?:(S@']T|WD3@I/X`2@( mfxIh5. @Cb.4*Uͮ.\a/&% Gif2u(VԘʀc*YFO>a͛0s\vљ 0MD 8<< ZqU?`B;T ?DA<\%7ܢDx%DBJf  ËES#"?(\aB `!hT-=DB Pxo g(F 7:אM(@X stQ%A'`B0{$cmF ]*U "d /ftL[uUX dp8 : q :*k {+·z젾J+VE,mDzj 탟x*2iO g{|^еO/eBw/{񋮿h "M ]yI@2#BgLrBb ;,&?&z?@Bc?"?njJz>< <Ȇ [44Рa % u 6mg?T$81dF0@&\с!)s2M$(G4'7V(:p(#w#Yh!Q EQ E=?3c&Cdp&A8+bHx(xg$1*@% Cpk VqV @SG H/:A 8o\E#z( u{B*P@SAT "DIpxˑKx0kG`Ct{  $dhN 8ES.kfa<-B8 уe QV ƨ&2A "$5 .I;ah`B/2n 4ԕ%$$q2DoD #"ZB\FN l,o",( I@!bhn2$ML qQ2!ŠPV` /`!u "t&c<"4-h#JI4!  ?>䓠DH{4(- `QH؀@t ]2 $* T ]@ (D^`h@-0A0R*`s `fh[tKYN$@W& v=O~D @ =hBP+ψw<|7XHM0C02b|J%S;EjO'6'$b9FEܠޠ;A0 3P8\|\|]2 D ؃- Р{BtBs(Jp SO^%(<{t à :0?P_,# Jk{[j[=x "w8a|3 0Gs6 /DA&y !PD7|zAl1; ?*r kLKk@"g䞀H`Ё DZ4a+0d8\`FNр4/W\ mkKY(S\cBL AC @!4I%8 l! %pQģR[f)`␂9䣈i)^|?P" Ӡu!NؙJ~̳7$>P) 5PaH0pbRT(I| K)"fp 6Th8D9Dф =~ȍ]r8amͨQ pA@O! sw鹀J@&.(B VM%"$?2EU0 w"j1*e )08~/~ xLëuB2t H޽t dC_t)`:B` J`Zb`-z`b ` J` `  ` `t `L\$(  Lƀ64baj!lA[ 0#h)|, LC  @Bڞt#@ܡ?X(%& pb'z'~2B>hB %"è!#0T 2x"$1"c B&<'*%ء6 At\!ȃ$b!.CdB)́ 8H>>c?'B9"#T+bDފ:APC0*d$?dI#LAAT~@ )f6Ă+B怺l&7 C[ZC+nyЧ{Z{|g'Ԁ<"$= aF@ZH .$vZ&XACgB?zg``@x L'Ne l+ld-l =1D yR(@,))@{fhg0,D8471thq @BCv:HV/Ъ?4í&* )H;8C[fC+T $@b"@+UZkP%lA.X\q,Kt:p3hg<%Tn*y" @:Hl6B>, N` Xm |^~,N T h~k7LOlBtpA.PjV+@& @cH-܁^-R @>(\ƒ Ā mbNր!p1L|$٬AA-0:m?TT.Z6 . @R.Ț࿒@^>BB܂7AC'vP p4@&xA " o?ʀ@'q0$&PC34-@P}Vc@qBq '܀;Xрk2`90:0B#nUn>##$*U0y2J@"T. :̂r7 Adh5T ̂ 2Up(r ?~A0ԐBxC/;s9# ;tA DKH Tt-ҐC%T8(]ڀ GH tI2TV@6oMt?~0 !<3;(% +Kt ,:;4g&k(_LNdO'@(5l@XoI%8.^fSe! BByc!:DA,0 B t^?d,0Y'x`փ0PB7h8]'x \@v{,P)ߡA Y l* d+8 Ђ$Ì!9$-A*Arm ̵ y`v{@k'@BV':B$%$zga>(# 4#u z*b*zzI&$#2(XC;S@)${ T  :{Y9|r{C (07K4O 4)L{ |i 8+++]@{֯|g |'{/{;{D._턪Oz#~6;`@;PKA4\RPKM%AOEBPS/img/cncpt045.gifZGGIF89aG???@@@///___oooOOOrrr999***֝UUUGGGddd000 ```PPPАpppyyy:::{{{<<<!,G@pH,Ȥrl:ШtJZجvzxL.zn|N~a00s=do ÇW Dbŋ=iǏ&‚o2pɲD"T$@Ģ 4\#/,ְq3gIV\ʴ)90`XQI 4zUmp!! !vuRp=#b1FC 6Ħ $oJLJݻyT0k>b!7|~#p0V#+˞Mez_3v"C^8 ͼۙ$XbmXT}d@r;skwff>0vz{eFi >@E/Ev CwIDdpu>Ԗh@ 'ZĆh) A\)qC<ޘA [8Z@v*@ˑ 6P @ pet f.jlfri ʈMFTZՒzj*8÷dp|Zv^"vU[G[MP0ªnIк2r+@\&4ZiՃ>b& ˬh=< Z9@^ m7mH?;ok!i iM00'K6 J*dz9&逛:ݨK71AɸxɈN V^ 85≅>`u>BI?aѵg_Bؠ 5XĐ:!@],plh%ukon`啄= ʺg<='(.H42]D͒W. P:ޙyReK;mb@2 N@,ΐ IC4C% Kd 1EWDq}d U[gTG)w"B(6&E DG<<¸9^k x!F/::Q|& *NiMCdFYƒC +h2-J5 BVҙ. UhB066 ZfVd.ayb>̋cIu*!wl'!y0\~H8,BBzFf !4.@0"a^Th]9q.l S%pL%MҢ"M9Ewg,5 @ U bI,RM"Tt٠JUTXBbam*~* aU@Vu)O]OFjSRQ^5gHȧzu2kXN rGU85k8V&aHS7KHOy#hUףN"XJ&fOy*`[p$&l -hؤ)e UV\Śb atfѺ02ĝmE!Kq2k00Me$LV,9@m &J Oe^`>%@x*OX/\WJ:āb,LP.MkܣZW+i] N~:u,[5. &:@+w-l2@2>B47Kl}00 Jf2A'9Sb+@~2|0,\בh 7#1l ;ʘ'R2[q\ @s 0puʓ xZW<7osZ CJ|) 7eDKýtu 5f#{jIӦSJ{ɯ3mSκ´gߞ\N^nHN tRhڦ5IV{yFAuL=TA՛be(M:򨃙K^K1`lZ0dGGۖˁwIِ2=7w-HM`.vy=E-nvuOu!^oWo񮦽p%ʦ]lQrGJKyd-[3tG;;u4v_e}k8`߶?u]ŀ/eK c, LX3Xݙ.%/ıu-m[rtܲeKRG@YQ (Yo7V7 gwqC@k ]GW+)<`0iqwv37nFmWsIKp&.X(zR0YsIŇacrxgqĄc@zyD'R+r6fc&KvKL3e[KQASwv]GI?d]GYS. ?G2ȉ0[6Ind4IԌ`w>tTGHc)cH.B0 eun_ͦ6| TLH(s:؎H18mD(T&۸RVmؐcyPUD]muxvg 9jG%P)pIYGy.0ʈ$>ͦsS>]tfPcHL\JW;j9iЖX edQnj0G6uɕsyg|Pc0:\$=X IǓcZP` FЙy`vx`_ vu@!QSr ss@`^ ڹٝ9Yy虞깞ٞ9 d]視ٟڟyz^  ڠڠ:0z:zҡ ڡ9>%9) - ԉ y1J_9/ =3z 57ښ+*Aj?MCj EGڛI; QJOYSZ UWڜmХs({0PXPTc](8s\&f\8RbBkrEL:R,X\)".Z*Sw`tzBMREFZ]~5Z0m_5((?'s])@7EKrxF$vE$S'/B~XjUxIM|u\ЪV#uK` L Eji&+(o"(¸+r\ૡeG&X(ϥ\6&Zriwdh(dtKJ+T7W ۄcq$KmX+W$hd''~C #%Z)u zhWRtra?`&R(T*ZUN+8`Rk=XvBG96U&b%`nQrnrTt9PfS7JoZ{r{\0oZT24M[T˖UZFV4'³q('Zjj%3K) }khu+tqqڷ6:EC0@VGPgfSGwdOvUgnf@ hCKKD^ JhaVs'W*'(0NFp5 րd>ˮTtIv$'qU o蕸 vjEndU rtJN`W])|ˡ†=mʩ}JMe[Xa ٣"UW}sjpm-HpuB\6\th`v ',m2؂"blސm$5[ 9R`zcp>[Fpž\a5ӓEZLf&pOjC|ymJ5=c?܆RWYaFu։.'FslfW5u qOf%3Ϩ\]?*hwܼ\0[2(7 ,t8,|4| 6\~W$ALuawo?KW0r[pz<$pkHY,+ZLہ/䬧VN(*kI`t;Kf7|٠SrbhdkHszUG*tQ(G1vNd Ks\TKF%O.m^XqLn3;hA^|TQ'pᒩ&%_I`JYvF&;/*<*u%Kuj)'UN<]6EHtPP#J] c]&i2ʢ)Kz@co܆%[L˜H޶~63˄][MEo]' Ob8un$F2-֙BDž)Cb"[5hW'Hв_0AjD~E-+J@ UTKHEYQ$::'e/H.: b Olѫ.(y֩)NLi,1Eƍi}F )3Խm`v/ЏGm$c~oLI+t>QTS6qZv^ \6ի44 X.^G`L"瞲|Ԣږ  -|&+9OQ{"&PQ%< 2Ч#E.4SoB5s2 "=#]tG`>T*0rao,A\of>br٧ |-㲊U!<˞Ū+8QRY‡*QH.`V $ʥ6x-T+< 4ɂ@k&^`R&M0I0؁C^F,E <}5@L~vAC.! =[yL ɊX) U8Ϧ(@0ZHpNC3Z =7hqM$J%GKˇb"J,h40bG|i N|'$rwxO % JpK޲-q2cb*l#>9?<ҏE'Oٶ=g k=B~A Fә&tN=JZ}*6u rp]'r@"UݫQ,P){u9A6s7c] 2'FAG)bu _ͺR$\} zشOv@|t6π iZ)=q㸘ЋńxOB P#NQ|V/=p *4NlLlW p׉|X@+Gy3l֕O}]h/1}K#"v *f! rdb, .b 9QB)k t a:АCڢÖ\ 3 B0!nEDTwEXQ*]: f[t#0]qr4BJd#>Eb@2ፃtBC#Z"9GqVk i9R%HOA'  MR@+8dD!D0#zcOy|.\Z /QM5 vFL$<ː)o&#E L1Qv-HV9 %? ov|@q J6,Np e옚ǒn$؅DEBwxCQX馂̳f'J%P` `vyt~ @_.+pD5>}VՅƩ"PuI cE! !vf hO>;%E+(f1XQV˝FsyH%[ [*j؀e]2w[::$Cad㈠*4+O`"9`.<`+JmmmT:(#0VšG|]—|M&,kٛ%ϪD4:Vԋ4DW Ixm87Xʬ]E pTurk\̦tx .EJD "۫8aї2 @s]F~x@bw慖ہCHk*j%]t5D}7Et2vӊM#4"h4kcӁz(02g]67Qm[X8(c~W *\`ȑ|ĬyGks3DM<^UOObppHV59V*A=Tt/['"ޙ\sr(.ϰO=B"EHhzpJd(!KC$Q !%/2ζX{{FÉJ\l͈pA%}v%bFx0I@\) GVUST˸!2{~c-01 "NwL H(FpE^O@1QDB$Hd@vxt/ͧ,Hj izyvIPᦸy01/s\od'%Pٷ(YuA~p7=ɨ•>|"ծ5_ͷ>߯moԭ@<:d<Fv# .oݜ !4C`i'7;`Æu0oap Q -yq{ðIAQk & $H.W""@C11( ݆5툐9BZ_ Luu*5*=5PPaotH _& 12# "}11BHiRq"%%dBl&q.Cpf^XPN!"#RC؁uNE%;@&= 'r+qr&w%EN($ q<Љ)6*R&9+2/w2/.@"4e~n*-"`]. +2-3'+&e"@(+ F $Q-q< %#*k2e+r6(G`#{`""s1a>E%b*# &623S/R07P-b$u1ǃ`1%Y5i9ɓ6yIm3&-06PTDE)8TX=2e XBA2ӧ^r2-T+tCW DQD R4&`TFsG(>%2N%Ӎ6Tڔ9JeT>z0$ )I8 Y &c3L P#6@QU Nc42fԓO3vTXBu64HPDWVMe8S, 7f,uAwEerB)G'@CM$U-"I U2@6~-qՆS*T6SPiX`(ؔY+S=ٳ#RZA A%Bt?-[1H7vȕ%&+=@F=l5^-(SG@_3`2VUV2Rd7`:t5Ң vGy%[ChcWc@@Z4'/@b*8Qv KyT|6Q@_jNTYѕ/w`{i,4A_VeHli5d<&kVu3k!VSQ*2uΖ%nQR=*raB*D3obO( R6oR]52AFq'Pk?e2K@.w5:\R]v7ED3b*%$?uXկuv'iWF?4swk8S)27r+3_WXyx\ז6E,73b*Ss6Q@PT wQRvjF?a 3WPb}W2' (]7/@,,f02S@CI`fppcAVx6Z|K89Tpi'`U |s %YMz 6T~ DN#d!\n~v>>b뛠؞>)|91o lfy^,b@}Wx%[~ib-Sݯl>5n@=XHX499T, pyZY*ݹ:4 ٸ 8Q6L1<x=@ hsۮ7󡧗ڱYX$eHd̰ i$ lS6@Zp'@)O#F6;Ҋ;Y#Od%= & | DɈȔ\85=,t)`Z0S8PSN nѱO-۶C*OV,hi۲mև_Q&)4ElA6$(xLGn=2҈`>VgZ U̢z۰iIq$ ҭ@3)?]tvT;FԿ"N<̏Tp&Wi}ꝭ+S:!~ xRq`)Rv-{r|~uuvD"- mآ+ZwӍW@GQ#uˎGD!K2!M(SR ߓUr(%[rYZ]%cӕe'&kiΙmfp hU @C@5* ir@r|$PјiahS\uIlz &C=]dŨkXF2qfZ!4*~ݪ[I蚌yktUVi6ƯN i9k|b>0x18t0Uju@5H00tu̶D4v-NV(0.`ӡT힛c;l0  @sz 9fp 8`UU@ *0zL@ְ4!A4@ Akl ,ClJh" 7.'@5@,8U~9a 4tKlwMCU>H~3n٭~_8ׄOoB ,nN2Qۚ9uQswT NŒP0(ކ3/ibBW3 l%u94XƄiH 8]p.Ð <6yb@D5OKSsDrepUT*3#0C8}{c!)}p!DYd4ķ /ԭ@k8A GJ ȥVTFf2S K(@V$4@6a\A4`XIRc-e˥!oeIR4\u6dN$e'gLT2q)@]`Ra-oDVj&xʤ9[Az'Lg Ě{@b'XK`{L\,g¡!0eOU?P9T4(>Ez Mgג{M7^TN *.;&S@5H0&1=/"äJPӁONڨI@@ `HNl Bh A.p}P6ϖ@pR®@&e2 E)&yiO!+XU DaȘl&LQW5~}򴷡mީȼΖ7Ln۰~iR:Qu}Y遟pVZ˜l u4 ݆L3ZP͵B'y s</7*d7ims¦b"_d>T$3GjSdJiSL.[E6"h/ [vWxyћ~D !Tm uuwU$#K+]XPx'HnB+BeW6Cae0h9 J܎"Y1š:.m / ~‹,@"z_d,h 6qv -'2;(Z͠( SYӛfKLP%$Y+ֿurT5Ҙ,Ҟ6mkc;愶o_[7mv^7wn6(7<8 n#< _8CCfOlbLA6n4^W|4+qp)vCas"4w햕.sp|6ɭTIci^/%?:-~/< `5@*jΖбDxp:*Nvv͛Tȯ9v [׀X"JWy蕵_OV">#&ۇjt7j7q\ylH3Ȯ:>v:N !߫uh @hQ&w'gQel"AwrEhitqSQP')Ēoj c;@qDKA bV) -1leQST]_x(@-R.uuГh 度|A=BQNK."^SI]OH WV1">0#&7:!eX *WB UUYT"Z@IDfUB]2dH7uE#_aMJdH:I ]tHc.VܖHsģk(p%(`&|&;:#bD5ҝ&jOApJ`kF)}N8Q1$!|W&μI(c;mxH3Ρ$w2@V$""C`YR})t3J^]/R &(VetNhm'uuΟphc)9B%8& DIBdu($jBD9`$@() FV2Ƌ(hɣ-~rCA OM~FL]0Rd3~Z"‘Li(\ Qtqi6~#R _4TA#.GRoWA6t`ZTNJ**XUqi院^cB@UCs A#:U)5(> ڕSj+ZޛҡhdkҀjQ%?kۼ.ƽzkRklb R%"l’2Pl+ bU +,Pb$]L<\$_N,Ȧ恤&MR*$t,H4 Ͳ6BfļA}@גmw2*qC`NؤMˏjɎBLИ  մ :-l&?6O:@ htmTFԂZ0@ҎH']OhXSNHxO% NHuRe马ՓOtn~XBg& ބk5f"TB9MV_vf Fe|]^zQ<gZE/,z #o(+/Z4MӛVBn/2*B7zgN: T(.,2-c'MeHW]͗kv_Sj -`VL *% k1ϓ](&_Da$GkQpU4p }IY_a:%RWq] ׉_Ajzq-1>kTׂqxk0ʎNFdIAh؀Y6H4<tJu}V(DwX†]֊jf+^r)1ˆ^dNF20yNLPrF5C7:opJDm7k3 yNm SBm3==or@#jA{a˵*! >/GwAy=Y?j=ˡFaD灖X^]ߥ̨:ZFׂ;D5^,m^jPnY^wK~֟F9;3kdQJe旳Hk8JXtP\+r܅Y”^5T`uJ77 n_ N+P&NID,f` 0^ EH VR5hU]!s(4sn6 ArBAb/]l/O@RJ H015pbuTބpQrF!O(]:pש4Y2= *B|ݖ1'8޽bwVYzpF҄w[ 7T{Þη rC2A%U1-&9qRJrRH( V"*8 M/ޜUenيMJF`7. j'Dx\&Oi¸BpWŐ^ Z.MqUw9cET'U{ВӫPq܍%#UmTw/0iB6ޕmjc(sя.nȏ/x:8>\&YV覠 Q^XA'ئ>lpuh?3Px5r={uPVJzeZC4VL{tbAw{td'd~{"&CpHܫ9EN6wbt㻧XMg8GHs@r9cH*[0OLR_"Bk=`IS~TY]O#~~SD ,}D;s@_@e+&@?CbxDBѧS4 >jzf[ncr[0^%rIcj4IkaPHb`@,0ՎYƓQPE+N7mLq*VH/?D½t h˖ҋ `kDx0X)L2%$";{\3z\.D,AXAo[*X&lC>>:::͙^^^ۏ$$$"""vvvggg999¼FFFwwwiiiDDDCCCBBBҾ===ẺAAARRRnnnUUU555zzzuuu@@@JJJKKKGGGhhhEEErrrooo|||777xxxsss<<<Ӓ333XXXmmmccc{{{```pppkkkˮyyyݷ;;;~~~&&&[[[\\\MMM444666}}}VVV000dddPPP]]]fff(((QQQtttjjjTTTהWWW///222___'''ZZZ###lllIIIYYYLLL---bbb888HHH***...OOO%%%!!!111NNNeee )))SSSaaa+++,,,     !, H*\ȰÇ#JHŋ3jȱǏ C 1ɿXɲ˗0cʜI͛8sɳϟ@ JѣH*]ʴ$t&Q8IիXjʵׯ`ÊKٳhӪ]˶۷pʝKQZ߿ LÈwǐ#KL˘28ϠCM4lװc˞ .~Yͻ]Owȓ+_|KNϋGνf7Ϗ^GFjEfuNt`B~[?x  bE?8UA$'UI|8q33 jՈ'upJqR j '(,ԗސDzY@43XUvtP%l5 )B+]*H8R&%HD 6„"$"bI!AUؑ?+?V(ܡ:r30l  <D;ꪬV2 ?ls4 GD$?\P-D'lG Qe"KY9E# @ @ B?kJҒ#%*4BlZlw[Զ ps@gMr:еKqCZ=Isv xg +/zM퍯|Eo|vJP|Wf [š0{0M)`H%V w BxBPYb $V҄`*p?Htq?/d#9xl.1)"{0,Џġ `E% T $&Qc OME qU)`bѸ>pq e pCI n2 a[ f@88- +ˆb x?)Xnz# z !g4O@A$8U(QbiAڿuPžфHlN1X 8B9C['I4Z(U l#3 PW#Y#p+C(_@CPp|#|0A€ T)\pP}_8E*[ dcB{i[$a#7 2;`z0$6n#jEd 5E["u!T YP$ۓe'r/-JЀb @,-= 2#lPp |P/jY y0k0636@ 'apx@  !T4P APAްć;@@ ׀&nX€ P \ Z <0 # Z0pk؀ wPC B WpP G,[##P cP 'a(DpP 00} X? bDKW*oh`  OPW 0pZQuWG`v'0Y2Ap հ 50# TAҠR@P]P@ A[   \<@RT0( -+H@ b` 6'z0SB @q{Y!bC C |g|p Q K|P}Tq}P ! Y' nb 0 PnpBY6P98  vR3HpE@tu S p4 _0025Wf0[nUia` g|dp)~g& 'q p  sdPUpg83`'qTT!Ip '0BFp @ cxp/h4Bw F` ~Tc] [[P` h k0 0 8'c$Z40P5pp'1pT1jPg]a\' ؏0r` )/` *5'qTraX! ,T1w z@*i}/n0rhQYq9~Rb{0 *o@`vH#)Q Wvx, [x p },*O(@ )(,8 uw{y \X1oN' nU {pj> 0 TqpvU1zUFrȚ'QP-j@~xp@C v` Cy'nyW/FoW@0r@ 5C yI Wd$0__X[ PPmC@ `:x > Yk@ pB P J  g0<m# p'dUy{`BYXz;ԥh_'0p 2`hPbq -pIq'aJ0kvjY_ UA B J^*9h "`  ð(Щ4hz& LP@xe! 0IhmsT @VX0 L}v' cj'A9nUW!I% p0 {$@ )@{ ƉzJ( uY @D >`घP{ U0I@0'pP%!+R`p wp p0 +!zp2Ȑj1:5;X=j,@*X~Th KZ|`hfh'\z^`:  KDiXqs pwNJ   +&  `pq{<UUq  D Jz L0 *Vjk?x#`ڇpf PꚜI`FT V SvY K PP ˱ 8:37+ X7[9{;۳zg[S¢+ I' yMbL9oAW)0} G S|(y!w|y 2|( 0 \rzMmqW1y QZEP@ ~ؠ ӷ j 0srIriЗ|9ż,И#2 E \sh &aLw'W ?@ L `J#ܜz?Tw@ YA5 b!P]@PŰ 0'}S A\y@ ڡ80%j\V,Tz 0uzP+{0 YW{W{g  0f0 vR\`#aWaW!TẢ9;_ TB sTЛxa8]0 fjȆp Ϋ3 l07{T Ā 0` ܮI@8 $\| PyZp(Oл#L`w [pɸ=u.6p '=UY  踊[sV0lNG lI>cPPLdP SVeWVYe]e~!Wq_ 5 kE*-bπ0Vg6himL qp iա6jvjЬ۟X!@UZVk pd0~I @ _fX Ӱ# qmmnv0jF X@Vop .pppxwp p{j=qk]6Npp6( nsH ( ' pжWqIg_!Gڵz3a,@] nh7JXh%od= !?7mp7<u`@ 4D1A 4؁R rxHb5F'@!(D S qHT* /S,%,Pq }ф 7?NlP EVPeUt~ahCX\0 `X@3;GHsZ@FrU$z\l½>nb| oigܞa6^o.h 7tm@؈39lA(ˮ~ޢCF4?S(@S0cd$kilQD+PR?$E#0q;&1~r4!|H-BKA'=8PsM6tM8sN:ԣHN>O5;A&VxPD]Ӎ]E#XhGH'8@Y tTR5fTVGe84-"V\suW^{W`vXb5XdUvYfuYhvZjf)V)Jqʲ\]Cw/וFw+xE ގ>Kt:1m^'w`}\E\#` C8!ŭxd0FWF}A6XdKdR9gZ#y`3yLkgӊ5Ǧ7 ޡ-L:j禧}8.#ٌrxAldF(?z #SGp7+0#~"T b +@ ʠE4B|tQ`WLBj 6GT G6'cwp?Ax|M!/G/pIJ4o(D(}C@4.pFVEB $k^.#P耘7hD 0& P  ,a]:ð&p9 AЈKdvJvPA E+Z5(6.he$P PnX`'\#(%s[8AKP96mMS`Q@Az<`@ F c 9RW $|Lap0,gRX XD Q#h^2Zb25Ah_G8qL_1  ^ 6PA=`q$7c@m( )( UPvX`h?0peE/0 r\8)tbW!)U0XJ5J \d 0Q8:Q>"| 8$ ElAhY8bBy-vNC`Ԃ\ XE #$pN`@G tdA \ RVڷ |Sy4 |"A l!@;A2(S P F# {:Q!7E+аiPvHULp tAnPTWO\Aq%IjahC0?:acϳ`>D1<nUZ8R, Z$\%὜3RmA3ir܁Y?\A;p†Pb"e $})B.]YA6bHJF[i3";a,%jô@FtQ@Z!`Cb࢐[uq]g mQͶ$; 0P'|]Kvg xw{7cXr؄I(0t1+ЅO\p.#8wZjcX;H,#yLx,p^+fЀ5XQ1:0ڈjkB2{pf#7ڗ;b" K ؁ ZXID󋪹@*J '@ h 70":q!P h*М! 1re뒴k";!|}E#9qÜѿIDqzF|!FFFoxzG !Ǩ1ǕAǑQ1aGwqxǦGG9;۳gd (ā~XC40#H F؁PWKLE ~ DX9PI*i'( T X i K  AAd(ѹlڀU1;8\ѝ05 JWPPx\*%WH8X+H:]@U7pȂh/ X+k8]0Rp O-aȅE&,lp^hI2+XX h -[$ E yl  @P 偪p`hD.("g0B2Xf. Q(_yfhr2AH`~" XȨ@'`?e.L(b`Q:@DĆ5(ex'^$( Y`0-a 8L5L>pL\"Nd0`$h:\l MMX&ΞЬex Mmx#k=6hMlNa#N@U#E`ć<Hi9J(i%{8"FE֒ E+@ԍ@aP@P>M[/VhW\D8Xm+#n:@Z@``c[XzޥyR'Xs\.YWB#: ]h>W=Տ4.H\x`0dp5pBAm=I,QMЀMȂCXq=F#PXFT]M=*b A4H% ,xqZOh5:~I8e8@8H g-):8KȦK<`hJk c  CSEh"(ה Ё a1(;ityC h>(XQޥu3ІL3Fxٌmh^ϳ]}\Ef̘֒F.䶑Ι掘綘辒.뮑vv漣^Nv^nF6fhk$=xn4ʹu/&FLHib]^CS؈)P0ЁUXx{8  XЅ^gBzrXXE(pswe)(t_]HHYn@4+[-Pf`( Q.<(pc)0J9@r<$xx X 0umi׉U.\-H胄 PÂmH(oAux W-)K+u"5 B uhmC˘7(MУ\`:H`))YBPa8\:k>Q0׻u0@؄oHBxcdh[U`d0(O@[8t(1с@Y+(q8Papi@]\k,ڴ!y` 4LPkW ^0@b`blH$@1Ȓ6c7'!Í(PPG DN@m8~.:ZZ[R#=:g`]f& T vdɐx89'Hd ׍0egP'/X@P$aK3p, >R)s@ІXeAYw!D8ŔhU9B |"h|c#t]gu0?X "+@ Bx3(m[@J!IġB se$B%Lxvu` DFzz! q" ip Cv D3B2qcVv98Da"*#!P*, I)" *(cc-ZBfd q& Xv.+Q1`[?bD KaJs:703+w /BmG1JRH`"m1`F3|t+P fAA8"sAObab@Ƞq (+Y\rcPT(@|@ 8p"FyWj}@E.S&P4P P,@jDpC.d!O}O631J`$ҁ]tj--8" x 5G2Ha[%H0A]@@2?lHt$\3K4J "_JfmoUX3,6B#I@Hz7@ @:0/DxAZP:a?iG`zoh SrS N4o0,(XorC, 8D).9lbdxEpAT f6IAlF5@QYRt |RCL䂞h)=3%`eq`Ӱt>)P*ԻtF=*RjM{QN}*T*ǢJV*VFլr^)Ef5VAn}+\:v* ָEI*Z@! F"+RVH THC*R H<,}-lÍ)d!>؆$ V5#XHB]8@\ -D  @rWRtဈ$ dd! AhG+&F FzPv@X1@Xw:b E&Z\T 7oA@Wr> ~PA8Hy#[" ,|80YQ=uE fd: hX ɲBl 1& Yl;81Dȸ}#-ID p?8:)H  ACA#` ,Ҷc K&ҟ3Xo,{ 1AyX. >hB #5} PKH= B-5S_A! ?O7c@ ldD"ſf2c X##00MP!(.9a^߾5 1$cL2԰Ļct@o`#@yLp+%+YW9 M8;a,( z8FQmohp@8z% WA071\\ 3 @ٱc '(A/ [.C8"ZPU"BBd2  @Su"_$X |2' 59@)@BPP\!F^]xl$z C9C:DB#$ @.B|03(*NDMrNNY P4`\!d RBdi2!A T@ eVX ܂. $@#\I1!#St`\֥ygH@馏5)`ٰ!4d-C)TDvkDVW T)`[6| ^v A C%] A,"ؙف!2D*@!@uo"'ZlgwF,O15쥄Ц?:`%g^ Dpalqf"ިd @!A1 -x8oim 3@F< d h5ڥ&Nh DhBG4 "~&B0͜@`.\<p,ATh] $@Y 쨛X <<^IF \D.=(dB2A,,AC,A9$L: bbpj,D@MBkDc0Xx"pA/(׬f3,XbP" B Xed+!x"bot=ސr$@C2M$AA@0'lS%P H,8C4I>A23AFڃ.,d L#~B02d&$Ȁ4|!A,1dB<ЁH T[J,T@Ê[BAh B$ CCl/@D,\.Z/@a~.#^Ȃ6A@hYCAʂ,L@!h#㹣-&H@ L"ԁXp8W Ё:,\fn/Sp@P/'lH!3,"4ܢnl*c^`V@/Ah/0w=3o@ F] \/g\EHF\n0 U l]G /I٥ pՅ*֩] 'CgE*>qgo1w11111DZ1ױ1q1  2!!2"'"/2#7#?2$G$O2%W%_2&g&o2'w'2#c@p/))2**2++2,Dz,2-ײ-2.2+'(r/ X1{01/320C134p2/O36Gf376w3873983:93;VA@4x@$Y@(fmMQ <0i[H@@.@%Gs9$A>û&<,H(B;nC8 Ah7a#N80TC$3Ak DBm1d,0H7@  (B$p@LA5X4: o% _ND*X. U |R7+A܁B2&Vw?D.<V5г@.:I B!,,#|`$D !v8a Dl.< .7c)@N6l<Ё1dA;$U<@ɂ#? 4<`C=p? Di)́>؁6AضA`9t ^x"@-C[YDtB'ZC5P:,?,u3v{iA lC'XIA%?\/ \C[uÞwCD\2Ё?I0$@)Uk.1nD[u @:B1xA4)!|U:8@A' @26LtC@<@>|DIW::DTrg@]"8f:`W!Fa‚ۿi dN;yhPC5ziRK6ujTJ@??O\*.H PWb3_?6'$IMJIqQl}zEnI5 wȹ@s#k0# 8v0ֿKEL x3B&7y QВ`-ʥ uHqrjr˙7wztөWu+uA]M&ɗ7}z׷~˿ <0)|%) 5ܐɳAEMU\]/em*.}"$P#\&K(J,-L 2p3\Ml8l9̓>L0L L (:t! L; $"GG9$QDt F){,7,  `M*-4ǂ>Q2H4*A E׽X30C!Sen Ƒl{!z @QPB@֊B!ޠ֟`L7.if(B@!Xh (EFZi"(":J]`!uJ  HEPlE+`!L`4`rIP0`ݏ@bhCRH`9b~Ln H߀56>j[":5ةKÆzDnx :gzef!w[&"#Gu"m9@yA\wI{k!NkX"C-||{VNA70x \91* A X|$ !hFBW X>`E %G@OjHBV ! P9 !EH h p"[6V `@Qt@Yt_lх ! ALX{1Ly:_@Nr5F8n EC\X?XŹ ? BAo~ю hԱuL.VC'(:<1 u'hCZO :,# <~pc$>3C& #GH  @!@)]xa?$pkDE.DǓ:ea`?\cxFzAXm Re#!؏'8E.0$-bj$pj餂v@~[>i< H! mP,M PTDaĒ@1*^1)4x`FuEPyRk4`L=#{(N0Xb(@c$rb!@5 SUaJuk ـ0@&A8 A!G2A9NA3hŠa pA) PA+|BP F xb~Ȇ(==`=w#ArXPjXo5 UW<ɄPt, )bjK@C7LbKͰ Y  g=4HAvS)-OFT| E-"KaI/8AÀ.`#q\d}?P;Ȍf.AԠt 2P @ &9 Tc/G>r VBoAV$$ GB (D"LLc(D/BsH9 X$!^$]x?\018c#wG;!a 0@7q16#0r=`(Ęcf@3 ~ # (h< Gg:tVH(xCh4A`"&H'nu'C+86TՄ%8 4Y''m, І?lM@ !g b%@J  B6 '  kbBD  8a`'͹)'!! bN<$P@h a@*A`T KP.L'@-:@ 0uF2l:BFĊ%x"1A|@s0 ! (''+!$J 殣 &A r"6 -D$@ @zN0$@aJRo^/'&lO9pO'Axo|`v"ZmBh'X( \V d@goiM $` X@@ @T`Ph`A`*$H,}t$cR X#\ 2A  wz7N00'Xi h AA A\ Đ Ab"J*@?ABp'q'(!R >1'9ʣT" b>x, !TpZ^qabqkѨlGx"@ #Ѱ Z(b3m'fR* 8!+\ ʑ֦r  \򇊍 -Hnx!` ``Z(aPq`AJ @ݔK%+-bXl>`0A(D/)>o)'J΂@QT冉j@0 `BP>tZNR븮A:Axxʠv N3AX(>F3': pt>B6# %t$Dv"7?b7ޤbVO ʬ9uB؊ JAQ; K^b֢r ~`ҡ a3ೳBkbN+൪  r`2P xA,` Bea ^4%u-1'^2'kDUD @Ƌ A x& ^5>" ⾜GG#tZ@X!Qo  na ԥ0ʐ 4Ls~F@nt AȈl' Ƞ$ ҡ` XJG]a+P@.Am*R,pS!OmsTuT T{'|Ƨ|l9%}G ZnU'G J !  8;W2N7)'QZՑ[ H $bhS~(Ha>u" ڕLeA, Za^% ( r!#kHTM'$JԻa!+2i] `JR)'˕`?Bp 2 ĐAd06 nL `&iriAiS A I鞼Azz'3'6 80 AK(ʢ0*AW %QQ W/ix krjn$B3`<6+6wB^e]ƃ `TN%UV%Z\'beVjEy~xb! ALAM` % RZE['BA™A 6 ^mE__\y"a&̠@bʏ&e!<db`5 NWe\e\faAp`\ ̊`fiJ R^AU`haFjjeY*u"lx.A bbVemԧ^a@ f&l 5d1~Z "{b @ q"4v "r2gsV'@Gk"^B!x` PGuh @a(::04A lxZyr ; j @ ! 25@D9:y>;(:\LdoD >#!Cv9C&AWBL;C`?bF[EBA;BC{?F;HDABB[?{FD{B@A{B;?[FDބ\#\'+/3\7;?C\GKOAuN¡_c\gko\ pȃ;ҡx@ȓ\ɗ` :ɧʃ<haAʫˁ<A̓nA ͻ\zED@A[B?ED[B@AE}D=B@ AB>EEлD$}@(@,A0>4E8MP}ETC B\=@`@dAh}>l]EpCtAx@|@A=D}CA?}@@=D]C}:Z N \|ۑ` 0Ɓ[ \6( a`u"(.8V # T&#` #@!509P[*A2 Ba N(ALBܥb!,*aAX" P8r٣fDV. b|T'(A i2@gv\@z` ̠x`8(p<@d -'*.#t@e@>`wߝlz|ZC @`@((€p`l ƁȠ a(@$v():@xyaX@ n!R,'GU:4E/ pܹtà@9>0(ܴ1hm5O Nd ڴ;{|?28nσA_Eh, 8r;EPAFJ_fS(l`X%aH£OB/.k\<cG9TQ#E.`Ah0#8!V\XW`,V$A.1GiٌJ$]RE1E ?Ps%\sQtUg;8A18wk4^yE9CM %㰓II"M _G$H14@!AHQA F5UUd* & 3RC(s Rpg_)D ⬱7clF02?J䓩єUR1D%t0cL'H0rň,@/ F "?E8WfVMwEuںuA00Ze㇗4/r`Sg? =DE%/@lY-j D8rAAraX1C.3!P=N#x>#?$R%jAs30L}lALq&%=? *,q)&ism.y ` Exp$ ƙqi ]& x;I<  (P p7P `BZAR$|O<&vkAC>@ T* a ?Qb 3,8?B PAE k40p V+6$@5@|}pH"`( PxC13A4 LMjсxxᐺ Z p Q(C[DptGL0r$*JADH0j @PB+r4@< /pTG7R.X P;nY{*!"P MGsOl$#ׁ9B ?jՆjU%uY]Rڑ#9k]:ժuMX]kq SvrJʑ#hZV0pe`BWuz= տ:4l[ *Cx(Ur \nr4 O,'Z >A0k( H`!6@Av,aaDQ-`/#B"~P@e&\)"007$Y"0Fh2 J( P& BOpfʀ| tC|"ux'b#V91D% C aX VЅ4CU 𹟻^F#@khĤ8 6)B<8B:T\@n*  C0@ G@t/tm/7`<(`Ĩ $P@ q]#ZaGy(sr&`b8O@`I$Nl-@6¿2d$˜. OAJъ@3:u _λ'G X% P 8R.+!e@n f N6DgPh&>vpG9P zUkx & xG`4T1 "hQ b$T`e-x*`x" Ah@1J@h3zt+X dT|E ) ӭ6V=D`z<@nsfuT E -`jM6E2PdV\[c Y9< <VV {b9 EPM.pk yp! R &t9` hPQ>QYr@ AMP0l0Q@ @S .jc RQl Z@  ]nk ` p0s0 @אuW>cYydgJ" pC € H@D`@o&Q @`e K@ 6(sN20ܠt !4 p[Bh.# POPEmD C }n LQ H[qF K fdc<  2@@`- eѠ @ix n0GT.puh+@?wJc @:0O0G gY&#8a#"` zN)%WKu [` P   R0>X h@0 q!@D[A  ]>wAa p;0p@FR ` c< S AP 4 `-ygU_QG|3R k0P qq`$dPv+PspeBqu$x%{bS; !5RlP 0l$ z>jH%q QܡK(V5e04 Fx tP< X : V `br\ ^X{ D '{xA8 rt PhXtuC2 3+I?* p-=p԰9ke}rWNEUbzqaaZSjVUVW XYT[J'yoc*f:VhVjWlTn*dJoj`fxŧDZJU:VZWT#j${S 8K$@@&}N, 08`P*`

Q|0 z@Q*{o` ^_C`S *`%F  080p[@ t` aE1 * y (_q32pi]o p %*p V 0(S PƮ" \-

%xy{ ` > Op jph( ]`aH5 pp" C-'$+ @Рp D Cpp Amf\_tu p"Mi*O*RT` M! - z\^]%ـ89#0 `q6ިw00 }K7L ? D0,hm@ˋTr0Ű9p:B(XA KpR _2E;g( &P Q] HK`-NK6VRp] JSrmtkxlYXx@{x!0E*SKf;$ 0@ EsUӐ|@Zp 6X9$:0`z n3 @ ~`°K 0QƼ8!d: mPj =` O0N0 [S }b"? 0x P k xw iJB0A`P>j5yC@oEӉT P ޘɛܱ$R`@EȰg# Ɛg0n&  @PP gFp p BC4` p0  7\O w{0k0 i    P P%Y p<`ATu  JT@!jDp13% =wG^ ;Z|7']HQ ^w0 [ 5 E+,; aW[R\U 0=W8{B 4@xЉD@|" M\@ Ơ=(`%P &@ \D7p"']1 `w2̀vl~@7і POK;y^ܶ E   re 2]̙" hwP |P_P 4Uq&02Gf@ ~ٓRT@m #{Lm0Րf j @/l5@ޘ0p-л ې.@ pGL !T @ U[>kR@ P@05u԰ “ד߀tSPB @ Rx`Pv/N>&(w$P:8୴]pM jN0 raݹm&/o׼_=!pfH/{5g` G`^{BQSe`k%7ߌu]f54UzPYc15rZuNV`o:UuKS]d5UHuPYa5DUNuVQA5KUSup=H5PUt{:DN5Tvx7AK3Uuu{4=H5rUxu1:D{n5uUu7 QO@ DPB 2D-^8~RȄWX Re 31mƬCMPST)L=\Uԋ)̠UV0STV؊M;HVZmݾW\fśW^} k-T FXb2Ydʕ:&lYfΝ=hҥM+5B$ ;@n޽@m+`rrALd0XG 4($%nǏ?Ú:0&?s9 0›<PP%1?iA @D󓦇z7ЋR‹Q聟뙢MfC?@E:b2J)ϪP1'1DQd $D3M$,nEcD:x)t'?)8AAU ' C/v NX)` sP5VY$6x ӾjzXb"PX:A!END'X5[m!>4Q]#3lLb!A|ȯ)| ^ ?%`+I>1SX'`pi>{X9>`Ogpd X?Q~AXwbA=xAˇ~ФD^EiM7xŕ1ŠμkĀUt<HxZL;n*m)m`Oa XP.{/a&44 >AK C"=4!y&[ NPDj$Ͻ* ?(oa}+! g X'4t^dÀ@!D t}4pTno DaHqB-O_b((b %(a 99|0a%Gd'ń>܁O V AAASս$N>pl,qvB$AY'!P'[E Ck`t Rp61X@QԃK0,qGa! 8HjFJ8SMN@7YQh:Z 9"J!6R>k! PYU x`a=RjR(B 8M clPX-@±z dkhIsMBj A0@ x@P)TH` icT  2V,AAD #xBD'L !@^ֶ>h}ґB pLА}5(!P؊"VfE ٳF3: GnS*L7^*w AB,bՐ|}ip ZCUHxZ\Ǥ'pGR"D\4/}@cc pC) EI_X<d$b '@78ۤz.A,IEpV6/ .tWN: |`#h{3$`kܑhCX2W-CO, юv !t@ lj` h0 F˘<*)zJmD / ]96H]+4<?)$H51 78]q/'0 Ŧe y,47 5X^dXXT,"J?rBHBHCR]!|6`;@np.#|"3FP+ omz0aIDb$@\y]w!`eu!pPZ0֟o|3 9-=l`@ @@|wH0B$YadkR=qk [:([U0 @`e> @!ȃ@)d_ (>x#8ٿ!h& @XH.FB#DB,؆q'|M6@#<5`EBK-̜r($2d"О6t7ܺ53; !A8@T3UREdDAֱ!>AĎ (yB:lPŰxC?T`EMD,T|A\]^_`a$b4cDdTedftghijklmnopq$G^ sDtTudvtwxyz{|}~$0ȃDȄTȅdȆtȇȈȉȊȋȌȍȎȏɐɑ$ɒ4ItHrtIrԈ|ɚƘ̰ɝFdIɠF8TIDJi dc\ʦJa|ʨ^ʪQʬE<H8`P(E0,貄. :ЁGMoXK $ $0V01g@.(MEQH0#(E bl9 phiШ$:Ja g h.=Fxp$Ha|(uCxgv8 >;8XE8L?|o+ZQ7HJ`4)xwx؄P$8cc8h3!4#\#H`;h:bOaB2 *m6 7 *' @Z\,>HSHt y,O"0sx 82΁(X;a~iIH8`aSpP ]7Rp{X}x3HȀɅA0MN(_JȃpL8'(.OF87`ȅ0thcO[h&h QI0.#OT"bł`ݡK^p_j`Zș>u P؁""1TȂSwMH x@jGZN N `X@8{..<pXVRȂ8A8Fhn8Bjh ou@1 kp +pwXAx{h|`W؂t*ԂV\Ѐ)3؋؍n+yXEق0w ف҄$hX9t }ڨڪڬ>u;@3/W!H[(`UuŚ[X,([ ܌oYb%{Spx2 E@AXRR\ 4@P)x[iec0b3z]PG60@Hk8chU[Ѓ hj[[\U [X:ށXx C(]Xuӄop[; Pgվ7hrJ:$..X94=u_Hf=ʂ%TEx^3NwPfŁ%b0:vsp纂z>p v022=1p.Ԭ= PDH"- 5؅ԍ\`D@e,@HxwZuR@whcJc*hvfr.s־t^gwgc}.4x~#&.F腎f^ & 荮 菆 F &|F镮hfhhi.iN ؁bh;(`x8`X͠(Ho $!Ѝ`8=J҉_d.҄3傀J5HF +E#lx A<-yZH=f!8(T5T҂0U@@X [P/H؂fЀ 8F(ax89(wq3(\8 O(p@p _-JXQQh==P&?@Ӎx20#(ݠ[ OV8PsY4ug0xc,FX C8^_聁`? `)؍؇_8 X 80 f%l 87GW&(`{pmtM7`$Xx80(dp`=NjXH! (C:Kq!*,PHv=HTBO H(  Y{l5[*HT(Feȃ.]j%`j]c B@RA" ؁"ND>?TRfVaF` V8~Ђ)\G/%-!E\8A(~U]؂JR;= "(dhx >,hrXj"hB0P '@cJpSXpІ' +cP8=1ЬO} i``߀Bbhx-SoP[]  "U3"L8~H(?eɀcЍD8E`QfAj :N̩sD,3J!*PᠭCnBqٜOxйJC 'ϲ dhWH'ԍRPr( XtMS :=hPJ9$ٿGp0sU8&)rQYAڗ's WV8(h4HRB栢/,$YpŬ?&VMucTBHFP `&&(A $CW4Ł&A.D2B&tBcH9C(@?P(FX 50A| O @OR-C1k#B(. B$H,`3p7D ptjPghA<<-CTAbG rXA)I>c X L@O@$)!H4RL)AM]D[uAQaB;Nl\(*0p PRIW`t*A*cXNT THdx4*[(,rLءBO j -)0"[) 큒N\`cr9-\ t13#n4{\2]X. tx|SE,H~Ua `E&4Gs-41?b1(rava#"tE1}MN)@@3 1 4D#B=ڈL;iN$p  VE' } ^f C3jSkL_$KsE`I)I;m 9P??sg2HK"5a.$ӮpxǮ3r5e!W^%1?Qk-q9n!3b`@\т,lDIC@ PY֥(|g !@$!$l,'4 9|aF1$1<'VSXL'Mpa`0cɑHq,@>@&x$dCD,fS%q7a:族)9 a m!-CˮP^0aP9V3rguA(v'Q@05  &cd@I- ! odZ#˥r=tS؇,APͶs4R< MX69pvwdyQIbc%%hFE;YDB4\c} GJr,D, Iu,#D&\k"| `,Xxdx(2@!@ ?(ڀ0V4^ @vc?pCe,Qc%AVu:dvÝ? 2C3Qhp<9z#ؑh'aD9J0 g`{(@դi;V'@BpP FQlKK # 1"D Vb\?N0mfY  O$YP^fJDd @0bfP@_ʀe!fD&kV&afuJfvgN&wjkf^&yEmf\&j&[g}"Dq'5g~"ucnx h"zh~g&(jg~B(\ZhY'rl.2惊hYHh&F`(jzhe :hi ?A2i:):u2C+Zb.HCtBi:i,>×i6iXAfBiʩ 4>HibJj"j*2j:BjJRjZbjjrjz꧂jv/D(*BJj*j[hԩ*ND( k걎*bjkZR+%k*r+JFkNkb˶Zių긺j*빢hkb뾚*JQ++ ,5'`~+ Š(JDzk+,bjrl(J쿮%N& xC'`. 'V!hA"X AJl@0gN !Y؜X/d9@A X,`L@&?<@vcBf db9Q@ަʾ2f@ ,n@Bx#F2ȁ&T6 P*->C %kf^A5|`I @Lx-CR8!B@%ȍD<0I! T)6B4@#}.B121̂:BH팭3\(+ .Z]6pgB51?0:@2BHn^n@0@>.(D؀+B'Ԍ"`(,Ѓ?M@1dx,X2E4a4dhBPFഒZD `<:C1D8D(2AA%A$-D&@) ߺ( ̕"!f(D)l# D :* )ۥ lN?؃} ?T:͂Ę'hM#) t%t!ff>?FA1Tl $HE \tAN@44BQB'!@-?0hBUDb&|!n[XA0?4!6** r[np=` < 1De,}f(3"lA6\N&Bz%7?0TB@,.<$A,!T)OoK2r?4B"@5pHÁN8q0Cto%3f' C*HH3@%3B.ށ+pAL{0,{1CFP5B lNO>TlR5B0B  'n~> 4CQBS%$[@$8*AubH(_>&.A@AAK0vw5<XBdOveqf[#pbNC%h&LCl5>8:42T>*LjmEN%(9CEDH,C\D@Ђ @2GBhsAD6 4Ё&\@fp%X=L- RD@U^D<6t|5G.7%8'>3, C- %Pd`&DBWB842h4p1#dNQ@-8"B_ D xB&תa) Zo5=A ̎}s r6LC3H@$E6h5c@l54 tABL* 7?lO1@34zB'ЄH0 @x?p,ReJ8@K'($,AXA%A|@vIw2@3Tc$ u3G,6 1dA;5(W{`rCL/CXL7h(Ɖ+C$8?{BC3 v\&Ll:B$H2|>+pLNP<m8>P&dL:`@5Ch5,Å|96mW,B7dA3CKxp>C- r( %06kwf6,gNX4vfTq^ L~B$`/CVV>}fHV4ɫ0N>w @8`0@C1fԸ89b HTIR +a@7C&(aN?G2hQFXhӘA:j$ʩW |A63l٠CͦTb?jB[ܣZNw؞| % X-ۥE bx_j_j-STS1V 4@U+@ 2$ kHdTyo$!PH?@$hR(UdIΝsLx)$8EߊO %9nҤ5~&"x&BfFCb !,jEX7\i!p/zi iŝ]F5ǀ6Nn)b8I!+b+dc~#T D8/ 60EPP#PV? 0`xS@ BAĄ4 -!ZJXMX$DǪ((HI%( 4xpA @ `!CoB颌Og @(fjHez`zC8*1X#>)kX'PB!(# \$  Tdf^.F:Nm fʙ&;ZI~mb9:)Zi ځmHZ1$ *fJaץyF 9F_+Ucl Q+_6biI&,0rOu7R YAGT3q2Їt0M Mp(SA K`ŗr"&Ō&E B qG\ǀ \>Np(PC.6&H߀ƒ]Dl8l"gr#i2g"! xt@gPD@$N&]|jHZ.axG@)ܡ@LhxC8$xvM {'G&"цa86 |BVXPXb PA&X@~??K@/VP0{8$@k, _b`WPB8|0\ S\H|jXF;XY< '`,| ,R``j82 h ZⵂM 8*eh")9`Gx&4] E~;v(# ,,-7"x hA< pAR 1ZУF * ~tgoヷ~ͫ4B H AYd A B0EWdƆjD4iUk'QBQE1$(q,búR@(  .[i5Fpr De"J O~Ӊ\X환:mA.p LSi.4/F؅.u0x @  $M`_I&4BfPŪ8BϠ&ɣTA #o!Jpz,cOmFrb%@A?Jc E@3cw/ 4?.rA啊"+5Gp!^AP?6@@6ze Kj! AA@0:XNs dJT|\Ii4X˵Ϗ/bmԲ,x'4Q9*4M',|Z.h#9gdIU֨L{?nvig;%&wF}n4Ѧݾό[!1wn|ݲtM=myk2 }'\ epg2gxC}q,;(cS2׸A2q'tDkG'Wm-o15/q~\S'y0ߖ1zS~znӪ#6:÷ ,N O;מ;`gO| «IgO <'_|6o'=GO_}J\Voَ֫}dfO pw[ ~dN>?/~vξ/ YƯ[N?a֏keo002os|L"m#)c Mo#Ca mJBe BMo;B mJ '  C e F ӂ HAa0:H a2!p?4 *oKL9&gJT!%q) 1-15q91 A1Eq#IQ1U1/0q]a[1img1< 7|4qAz *rnF  x`  h$qɑF$!`lՊq !5 'rQeei@ @4lpV5dmЕ.2iAiv#Sa @hqՓ^x6 !p3=mڶzc3 @g%i`R8@@}3~X;@Jmy3>!׀ !@mV- t!5 *zuRK! au,ڸ;!vaZ@ [=IY_%3ᙽ4 qZ >`\ ڞK-` J!ZWy1P DK\A vѳ7|#wqeHa ~kT@p-bK-*@.Ya<ˢwIM@^9G#U ^ -B v0S `t``B#uq[3U?b6 X7k  ⥱ ! 3dH  ^[=WI"_ ½O9\-U]/\2+`@\Rña , o1 ¡,B! F`,FZͻoĤ29qrqA ! ѿ@.  ) `! rA~Jśs;N @ A XׁTA  ` @ |` "KuB<э}ѷ~ |@`, A4!%B_}}}]"sa+非+nv|~r"fu]ɾ짚 ]Q@z}vM@JKս[U#>]\qOPfśOM`_^1?T\]#e5E__5?UY]a?eimq?uy}??5??ɿ?ٿ?M? H*\ȰÇ#JHŋ3jȱǏo(S\ɲ˗0cʜI͛8sɳϟ@ JѣHci&$PJJիXjʵׯ`ÊKٳh]˶۷p8q˷߿ Lu^̸ǐ#KL9/b+k̹ϠCCɄ̢S^ͺ׌"G5۸s[llN7УK_`P4 jWtaOKW?x  ~^E?8TA$#QI{8133RhHt1JPbD D|W N330 Q%aGQQUÐ ,EXI#_RD^a#L(O!<03rHU;q/ ,bTe#?x|S(=L%)P䨤ZWp@q'`@|R6F!T@H01,Ƞ=ATlTF!@%H?آ? C<ܙgT19 @uHFˣDa?10}4#M fUjq2?5S< A,2H;/rPG8drt'4rĵ!:MS1x2EP MOt0!'T|Yz88;#.F'8?D19hQG.yWH;#b?Dǭŋ#)@Oo`؆ 8r˔^R@&L D||=A׍Pŀ\?78C?nG)Y/ߟH ܜAHWPM0 FXʋH@T*G h\ܣ{?qҁ` ȻF3H )E]n FPܱ L߽/D "tpRH?+8N%D|9!H ]Tч8]JTVD%;v` Kŏ1G `A B@DR5Bzp! Ňؓ 6#x2@1vnC-~$WH'KYьtcJUe5v6MkFֺ9lA-p_a-pK\ Mk:w}t[R5uGx -yf|A/~_跿^+8->\Z'-Gg-``UFPŠn@}U3PPUU^ЄuQH&`1a,D.*-B"L,@?0A jW3ղ?zVE v];";.dUdd T@[(7`"Ǐ-z L:V*#AqH> H=(1@щEU ,D5Ҍ9x s(<0@ >qMvMDrC  ,` cfJ#TH CP@!!c*(<ЌiGpQl :_wPaP ` @ 2p T0[؅_'|'rP`0 W5ws @7) p9Ӈ8hBV TYD`*0L#` }#1Ppx!p$p @4%`]@ D0Gې08$!`aP@jzP؍z[QYE@` 3D8|X0SnT}vD @U1~9ޠf5Y9tX1Jp *j7m`ƒ YkVT, Ov f jJ@H b !PnXٍX XT€ P \ Z

An@ ` 2LO@ m@&h+_)apD U x@ VP P Ф0\[r+s/)@ @0 0K0 ~輤 ?% vP 42 A *[-iP ; P`@(5+=a&} ͚0YPp ptX`` 8u0 c < 7`,Wne ְiz Pg4@.V r^Fgl0!@v  ep peN` sp? &n@ N1plB/l` 2d`Pe`7Sa" `X5>TaA vԱ砙( AϦ!$C $!T"$y|Lt@t*aHD_s3@gV(25C!?2MĢAQ'&r#Y8g4&MڏPkY]'/"cm&Sm0 OAȍp@tB2t BAx%DI b_o L~3@@DH6BנC_\Ko?S ME0 +C o4CG B1YTHgD2?/G'1J~R!4HrB%N81D!+,1K7%E͎"O@TO!&,UtQFͳ # G+<_zSPan04TTxiTc,"iSgU! ]mC5vY?!VfSSNsZ>G-ZlA]WZovn930Iy3^|M|%x>^q:3_O*F/va7!عGbI)8e9eJ4om6[ecFsfhrFaGLfR~:=Z̪ kȴ߯ Ɀ,m6{(e0Px0q"@2+ A($3+0d \ZBʛ抃N-.O&dP$=rP0ᫀA3=!*x؃;jӻC*0_u plu%"a:` 4Q3g"DE ~e0ck:`DC0* .h؀C'P#BrܪF]#h cX014l3( u4հDz^ـ5pY˶/ gpl7rp8L"U$<S; o X%DA&yQL 9H?RQf\D@%(9l*nT5E ĸ x! X{B@yp8xh`04f@a 2eol'*6ys]<@~@F}7Zx 48ʊA `Aa恦^B\,Y?T0xq CW^o:P$!!K ;TIEH[g~/@Jh4@ z`D$O@5q<=ǛFG#⁀uAE/0SDߚ+R+@ ,.:m"h hq86^^ B/ܱݰ\ D" ˝d|PЁ82Fw~>#݁" (7fL!H0`.q{&u Wqb4LWA"ЄhdN#D'|L`!ɽ)={›s3[1JC\  D 4 , D$̚ԙL,ė t;ɺ Ђ qC4ÉH(&p? 0*`(AW#87Z‰cX~;8"H_ EhRBi!iȌa*%@hfLq0M8Г&oЀ¬8-ȅI<0 QBЅ;AU7pH\^he㫼˼hIMF@&cI@,j()I0_GT/R(I\؂W0.(B" S؃0Z&"HE:EpWH)0Uƒ](/p @% Bp@- + N4Y 48$fP؀A8VPGL@I%Xh_8U rpN@vb؀Q.U$VL%AN( G $$\]DXh 8bʄ3tʢ4m5m5YHPFC4q )ĉ| "(U`8PQ(_!xK$7&KZ8(.̇DyG7~3\N!:I@'NhuX@f0v(w n#Q V79a P?CAkɡ)ʼnTXJO8b:d[MM D0xOP0t&p(`[ύ-+ . 8(?P4]ipm]` h'!ݙ/|t8nubJلFX؄C(Iృڃ MF! ڡҼw\ u*b #Ho@dP^,~U +Ȁ+2Yj ]H"I^ ^V2(X!Nԇ!@HU@J} \IL56֒789:F;6<=>~?v@A.BCfDEF^GVH֙IJNKLvMFNNOPQ6RvS^T.U6VWXY^ZF[\.]N^_`Fa.bcd6effg&hi֒jklNmƗnopqrs6tuv֒wxƐyz{|}~~֑v^fƗvvFvN^^&3>Hci4i j$ )jiiya2qjj"j jwj1 k k18A/Qkak qk~k7k-l|5!+1AlQlalpzl4l*ly2(m!m1mAmPwam1qm'm mm9j>^߮012>nETYn$i n!n8In-n"фyxynm()f8|!Bnn y,,Th%pooppom+p p pQp pp_pq/qOqO_qqf a@C1p8H 6؁x/~a1q'(` ]Z XVN+s3?s4OsD‡8.O ;4r;O"`FU@$5tB?s~,.w 7~Ѓ.85hM81XrHT8hXOG`TWukCHjȆ3@Nh;O(Z`(d27wdDh9@T(XwX+UGT`N@M4gjH/0(~ rmv3NV(C>?xW'wxxr_F(ohDRЫ8R dWvBCX_(l$`E`GHzx)8%53?10Ap?)p(}F7 ׇ}MX]Xo,h „T0a 'z"ƌ=C F(TX2@ȺNѬi&Μ:w'РB-j(Ҥ@;@& $ZqbbJíjg MZ; ,(:5E;C$Nd-f +vȑ[S14z`4ܺwwM'jwHdF8a7׹AT@9#1sx'oB=~7E LhBD U}ui/fTcQm z!!Tdb Mm6G %$`#]} C/t%y7A$Ԓ,d{(sLzOhC93O B̙=ݰA'xKgdqH)d.iLԑ嘓9dܰ>~3WH`>.P!c;tǻ`!8SF +Z dhF|etA ޳`Phe g Šq\~(8!q4<YKhw AʗCI {`@e%0@!H K"MR8nE9ar@ ux`^ ! ̨ɑsS@T: x`0a BF*dB50lp(A &$*+S <Ad*Q*D$R!(@^%2mBY;țQpbE21Bt VY%zf;j.7oxT#m>@ޤ'@km CvQ{%$q HDmX45x?ܑ'3p>1O(QD?y&s uIS9y?8ў4i+4SP"(H 6ַr$R\Ϋ5\D!jB␘ipvCȄl^[Nu@;PK PKM%AOEBPS/img/cncpt069.gifBHGIF89a߀___@@@ooogggࠠ ```000PPP///xxxppp{{{}}}zzzSSSwww rrr777GGGuuu;;; EEE)))aaaCCCttt'''ȃkkkKKK###WWWOOOϟ%%%333BBBHHH,,,ccc+++===MMMUUUdddFFF888***TTTeeeIII\\\YYY!!!sss&&&$$$444[[[QQQAAAlll???!, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8s( =. ѣH*eM.իXVZ(.H0p B@ZʝKnFQ"j` H ׮ǐ#cTB(i Ө]RwsB @uZةsͻ]+k.l" ${'+Bb_; 4l'um :pmw3' thcR'h& 6hY\ПI VRm(i < t2AX@``I[c nՓ8 7H (PZ}1SVa`f"}1_%iK-W7.wt EȌg!qfa)^pl5@@U08Pa(&@ͨ@o|ju ꭸYj@Vbt)@jj9i*)P^@XXZt"KpjEڳO6(kPĻ\s  EylK 8P@x7GlZWlqFx7t,@2! %rr+p.8Ls!؜@ -3Hhķ!Fd7'mu\40 AS| -`Y^$t',Dpcka݀Cw7! 0EF{!]응1@`LygG  YNv!D.0W5/@aX F%@K! 0`6$XJt2ßݧO`^/B3oKQ H/? `JG'z13 (@%| A&v% !`pAA7L!F2 R%L`Fd:D cxxȆ@Xw_@DC&(Sx"J0 N,aG2 Ab/~E 1AhFDov{acCF 4^` <&cX⁀BleJ@ӣ$%XxANd$Td\e %Av/xbi@l$@XTЗ֋0U* / L f - ;bufUp d̤Q3!6AyrȼAYB  Yx zSa>k8łDD9;}!"y6KR0%(zU"0NSA iD?]*TjN/Qق=j (^WՕR-eκմikGP=TBrt=W*n7Vu Kث9d!`;_NVFrS<.0l{QDe*fNkYXBMi3 V_jGv/gQ3B䱑,6/ E2W[lٍ4'xKu{5BHSQ@)Ado{IJKv}#b_n/1\"W_4ypC" [ 5GT+pB\<#MY\rJXtcQ4!r<0ヌ8f B S y/P6T(S5ivbȶ3q!s9i11ISk*!ۑ|,q?~ʖjք$ YllM7l@ ;w,ӛ;􌱔ZbM뙀qP;hm-v4 CUn5*I(5A$։V.5^kYЭ6. NK@S@ec"ށ2nۅ6ۨOnb~7 n`A&xDHu /!Tq}Fغ.[.2S<>z,w2Y 1{ymzfρ87GHu^,j{f'd! V۫_{!Kw8A!`O8L9ia|j6Hܱ,9IxǙ´C.M hio&Ʀ_'Nq YGZH!Hl?qlIHczD a^8` ޗĮJ-bK60[Xk/|~ĘڈT/绦pQ1(!XF_{jhz0z%Ddf~08oY" XrtnFF_݆-0`xȁ{{~#z1,/ hDl"RVy?ƃ"z(x!hwJH(*8yA~5y'?ąb&bcpd{)1qzn$Ww$vsQ}8".8!wb Z| X rk2sA{8h!|BQ!ZgqA c'h(PtRj1Zxyиduq\T2Zs4$7ZM%o1 7Z8G&i i Y8/ّ2=!2a!  s$6B}u* GV0M.P ! ,]+J| 0#=zABV!WT(qwD.:p|vQQ i wOnc!a$"@d֢$"EOA~q' $9||'#bҝe2fQZ9UyK:Az E k0!MqaH p G!`%g1W-]h< _J2|*ŒoY]ij1#jR:"Rd 04y0>y" K:[Yj=):Ī)zŚʺ:zؚJ:@65Z09P5  뺯KZ KKʮ5а庰I8 k;i: ;׊)+#i3[0O$+=ڳK ;`8L4)Э:2+ZhQ[˵OK]k`[˶a pxxz۷~n2{k)@t;x\O[Z@:q{AVЯI{!˺ۺ{aC;+,PO;ikO#:p;4۸:K+0蛾꛾jOۛ쫿ۿOZas$ 's\{81| C Kh|#P:*\Kh6;@A@|,Â04<>R|J6\dSK+PlNQ4@Z6]M֓ l<&;!m<#2яhy"}A-)m@8 > 24&@]LN`:0=}`R\ Q@G=Imj֬l-W;Ո&vnveH;8!T -O/ؕ< !]:3@Sqq]و mڪmtدڌΪ= a!gPڴ ]ۼmmM8ӝjܠۢ}׭1ݱm}՝}-a0t,̺}mͅ5  Fp N!qS#@Q$(6>]!)7n3>@71C.@*>E#N^`!IXn`>X^,h^a_>:Zfmj-PA^v~>@ 1 !kNhNn_c*A~n@S∾ n.ۙN_c )^.>.|>)귎^NᶞÎNDZN'>֮ǎ슮~.^^nNi%+7q%a _~? ?!$A/o_+ 8|]&(?*OD~L@.>YBa#^c?i d//gO)rt}^e1_G55/-M_/OI}~N?? n>/E/N?o.?n?w/3ϯï_eOo/._$XA C%NؐaAnG!E$YI)Uv 1'^8@JiR)Ý5$ZQI.-凟QJtԈP qUaŎ%[ӭigjVaWi:]yD p/fj_Z KD<0bɓ#Vvg!Ob囋6 mhرe3:&jƈmo~=o`kG!n.;s,0ԊWYw彺{=t3tǞ|/;lCNs?T쿆4ȯ.s)KA 3,;/:t= K4q)qP(BL:qFⰂ#BEpѫ$ >+"qH&L1/|dnI'2(jJ`@-d./LL8B#:$3N>K0 #@ݳOD!DB('AyĈQ:0$%$@CU=42HEUR(0`i fU@n-UCW_:R׊3 Tg $Z4[8\XEU!"@TUKɊ Rܕ5S$\}C3Y6") pͻ[I#[Wu+xAVhCXT8p^j'_IuZd;c4DwrU8S0)Yi)۹gt cU8-Wee(7bjzh~ֵiÖf2-dZR㒛Έ !*BTbaյ( @]YH¨B1`@򯁄SW e( `A dMxBP:#eJyY@ v &, }CA>A$Ec ł|P ? W?]t .,RSb?pH.D8d#xv@T;`` 0/Ux фGH;aiF+0$Xb{S$]Y |JYE=Jʐ ٙ J"myK&R?xJhvDb@]"XL .Aޥ*@ DQ+X{phD'ZыfthHGZғ@iLgy%=Mԣfh@jTZի#BֳukPZZ׻浮cZG&vEEb ˮǐR%εǢM[S{ThklZ5lrk;srp`l(;60oj[e}m{^v^m}Ϻ޽^.0e{ɝpO ^rf(wYk`Ɖ](<.׵u~g/hI.ĆBC@8O™=t<acaU_@v,O8՞t:b/9ԥNk^{;4`'{^Y񴶂Se m𑗻-q>}OH*ڝ} &_z_zY˜"|ޫn~S=(?> pk{<ޙ??[Š;#z^SGÞ%IoO릣|]};6BP?+:y?#5{Y{=yk@,9#6=#lAtA'pAAA4AtAAA!,4 $B#l$4%tB!DB*BJB&&V}ש}VU n`H]Wlevi@ Y݋P 6aa[`B``5] 5  Vv_ ֙]]VV0,FcUTU` 8bnMbi5_\abccU\c\HD0⏭bm]9V^v位961֡u]@>4V֋6 ((U\݇eZr\m^b]WevOVI]bVR_MXeEgqgr.gs68pUgw~gtNw6`xgxgub|rwhgtg5hVdBvnhhu@f, i&N ڲ~.hiB󾥈遠ȫj*.8.jV*VVLj^&V bl + 6.F - Fj륦k%j򺃈k †i84j.kQyfɦNlXljrlUkk@R*ɚf l-Bx&~.)K 8kH p:nn@Xs^&n0~onpE,$ p|tWNnpopop=l pF O3tVة0qq=q?7  ?}qor_'r*o#/ 8"/Жm/?lVmhGo G;W<6s^lֶ)Ѓl;ss(4?_8^l2߈4쏸t@3x/'t7߈v[?'tmLJWoWuY_u6WRWTaC_' EuFGred_vgשfviWhvk?qkvvmv(vk3S  s?wtrOwvowZ%wwyytxw}uw~wxiNIAPxxoOh0^ w ` oy$iAy yLj7{(zzzyyzzNߦ ȓy6A{{y0#ϋw (|q(i/{|_|ŧ |' z|W(οϗz7בݟ a*{$wX1 7wy{ Hz&Mx|7Ggg~0ߗwA,h B2lB'B $1P7r#Ȑ B̐"ʃ$!VHrE-_pMl:43ʞ'R p&ыE2mԩQ&}ᇪJ%fgC^Iu,«7EkP-®ne)޼O-ڗhݿ( XK*^z'SرJ̃5SVECLsAɕW5=hf׃.F]6bq}`װ1-X@լ7uACC#8}7|w5WWGٜՓ'}CgsyGJ܀SD% | M9&ہ- uP6!a`v.vUb!X]0(cA 4:]aDC&f6t:c=hWuQW Cc՗Yy9)Mywg_]r&hy \# ܟmi4\udX:(kiCF7B_t*OFLF(Zg;ֱ^1keڗl J(ifB[bUKdE̖߳N nZ[‹Æ+n&Y,iV%pR⛗sMړi;Wu -̐g0LSh lj-KrXqǓ%rB $Cw*?olCD%S7HgK$5Mt*;XD;Ե_UA`;{e3,:9vCj,=mg(/5nP p{%Tx3|9U>k%ڈ:w꽉iY}FngnlDAY܃H/Кl<;^sÇ`Ȁn'.o =C-_>fW}ͩp5^2" d]S(hoW]%w%&} Eq+{ @y`_|p3F~@*]`jpeU8 r\+@2`%aL钘DOeK=iU F,(눿OJKf9sRI9GB2|4('2:dqxy'̊ cY'-c6] #nv.Nc8Ўl] G*T&_5ɖNDMutTΤLa8iny>jԧ[r1-qIxK3ڹx"rۙZTg4OEgjq1|VأAsKbg{nؤZvS5MnWKRgS Vn4LuijMBf¡l#kz°αgչ"5j7k"}Wzf^.يUmCwLf.;Ue5t3<{F(ڸ8FY[kOˮ֩J}}EdY;σ׌3o7қ7|<-Vޜ]΍^`̫b!F?:ғt}N:ԑNSKճu `]^zӿ.v}f?:l >.ӽv;ᾃt ~; ?}0 #;3w!Phע->H΅ipyϽ>;oow?xmB Xi@}A.}pwƒϿ_`ݝ=R1 Y U z  ]Y@ H @ A `^ ]% Aq)  D a% @ mG @Qa 1_܁ae u"aɝRܱa a! t@˙!G(t $-"੠!q#nb R(" B# ]nb V+>*]0Va 21*]/B"*&.A"nb 5:#9Bd^3!Z8n=`:acBX"St$B&B.B@<$DFDN$EFTCf$B(dT$HDbFG$Jd$KA:dJƤE$MLʤL^@M*$G$N$IdF~Oʤ$R@RN4,%TN%UTVe<%V6UnW~%kt%XV劈YZvZ劔[G[%]z\y%^V]_d_%e`E`&b&a&S&cb>d^MdNG8e%Sf&g>NevF`&hgiGihfjkf&Hfgl&B,@FX@0$@!\&Go@r 8F8@rL@D'8!<S&@Dr&uft:QaufrBgF mGnfofpBXg!$pr2|*(iJ{j\ƦU>x"h0@8'zF(G`'@|§'zv_Jo*@$0u.@ @Q!hXy*,08v>X(@RvF<@t(r((>Fmv.Jvi2tlZ"*n2eDz郢B&*sf.֒&njD*u*opNJ.joV:gFTʪ6fFFim"r@'m2@b:pF/]t%hپ:Z): @2>eְl.!,ny>[ Rl"mpb?14Q.jkF1Xq?1efrҨwF hhxz2v&3EN0!s'^jo+*&pYVrS^ 2enD"sxұ#S0˧>!2@hnj(gy23%*k'f\rb_R4gs lZ_b^"e&8 79!荺sCFij;&{ȳ;3X_s][z֬CR^kBq!4w>$@/?&A@eF%!k)\sh%rs誴knt\vtZjLQkkjhB24Ͳ`t\[XV;˨M4C445Ch ZuZ2)Ɏ4C(TkXcBr>F8Zk2%4}(m*'Y5_ӥ[ʳ sS,X5I5dG6X"@;F$F$rbvF$q-jv%Jgd6jj6kk6lǶl6m׶m6nnuigr&p FF2:V$wnr#jg1Qj2(i^%FNwy*qznJ''ZjOxx2zgzc纶*"~t )yN^}*loZgJx XBKjk)z)VzFxbsC:@)xXvk"+oru:'3sl>+^1՚->2V 7h6*3>y^0+ !9Ӧ9/^uh'Fl,F4h\w\,C)c- (Nefl!::NJkNC+Be6S:~wqVpjqx~wC쩋+ӊ.ʹhC+?%:vlk"%岻cy̶d2蒮[#J{. )fB3O%vo [<|>j{Gy'B%/;7~+s rwrqu g#2rSkhqdtw2o"')hC%3(oD4;)73ߨ6RV?x^?qO37sC(3&&6Gpф;PKصBBPKM%AOEBPS/img/cncpt237.gifQ/GIF89a,ٿ쌌Ľ¹???@@@񼼼źZZZ999蠠///___``` ppp000oooPPPOOOvvvccc;;;!!!,,,}}}ggg{{{XXX<<<444666zzz>>>111333###...|||222""":::555888%%%&&&$$$mmm'''~~~)))***777xxxwww(((+++rrrLLLiiihhhlll---JJJdddnnneeeyyyjjjqqq kkksss===[[[KKKtttuuuDDDIIIAAA^^^WWWYYYSSSTTT\\\CCCEEE]]]GGGHHHfff!,, H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI\ع @9H*]ʴӄ8w"իXj \>KٳfpIu>i $]1ƵY>L?pmܺwƌG˘/?6AV`GVi%aaNvUŕd G^VatA[bg(u*H3Pe{&cr5fVb@]PziUpjPUzv꬜v!N:U"+viDΩ8+mnb#GZFPմv8ߴܦ[nfFanڪkX;ooUkphך; ǮL<-U%܆ g"1( h1}(?ű8~lֺj8dWC8TEFUd+ Q53Th 5H=3uT 40ŪF4 ]AY8SF]^~0 6YsU`+uc` OaNZo08iDc&N -h3Aq0&Xm]S`QP~<{\~A3pAKn/AEo& V5hEU.do<+UռpamfGCH%П9L~4ِ DH0ɘ。i) C07jPA8mэp ?Qdx%,J4 \Y^% L%@/R3 HW*LeUz4hkCz^$A]Pָ@wإ2U *" ])$ΰ7` aU2V_VX YY- Yrl ` @% YE+yЋx]qF'mnwXrp"?5FսL`$O&qY(E@#HE*@@@2`B{_]}_4/w 垒ݬ[+]Z v0_ '8 R(D_˹s.b(HA  V|(HlbؽyحԱFpLVz!j#/~ e)S0 P$ A  NB5p3O\@a=h?׳Vp#='GyU;PԧN[69s.1b=ϿM)s&ɐ^rmhkӞImjTծv]Z󅱮^.4-o!~%JC]pm#۰lk9װA{mde~ jvc.kq8g h @ށ}C0ep~#7f`_#Jh ȁsHuy؁xx!x(@HBDFȈ:h舃w(Hȉ(L8n؄@SU(rWN`(dfqhȆ4hrgvxv}wv8wɨwqwxzzzWzwzҸzz֘ظ؍8zȎ踎؎wh5{{{{'|V|lp|u|"||7}w}N}g}`~w~ ~d0P2v\Z x:t%tv`hoIo(7m\r0m7n5u|f_\@|s2ih49| Glo>t@u/jDpFuuJYqLP)ScUqɦ|VrJǕMrR7 7sWng OQnocqh7it#wٓyim{ &iu~77qu t@閍\It!Ho't*Prp2疖:=ɘ9>N@5`&I:)Kr?9uc isYi6YwŜEYOrBəpۉ87WfyVi)ruI^iEyuqs&ĉY2Z=cJʩVͩvɓY٠TGh Zژzy҉Y[4ZSysi')ڗɝ/J HK:ekCeƤu YSUʢYu) `ZAChJ&jZI&p*V:yx\zʧa*j88~S>.S:":Y ڕʗrj*FG}JBT

m+AC>rJ۝\L;6B^:{C$ezgʷ\^ Ѫ[AWJjKT9Avb˦>[=ʠ j;l% &Y똘kaJZ M,4ߝn,z 9fkV(`2Am00>--@<# @ PhdD,nP.T~1.X,l6d p \3*"<\0CQׄsS@04@ uS.U~_JS`#qQ+cN\@$.3n)P%p.>^R0@S0>R x^Z>[P$aY@sKހΣo U1F1Z>d6 Z@a^@Ng_`4 v9N3?Z*?,_>TBU N`=G_2Q4 /]8`Y'8io[`1?[ 1 aswn 0R` PO>aPVp0![ a a#m;.bn6e eX15kllO䐟w~~?^3?V N%RtЏ=?׿YpOl0 T $Xp\q08(qhX"A'Q8 2d ,X j @OAwǂA$HP<0! 4hء@qSf(A] ڠPuq\Zs)^Q-۳/-0〠[ |@cqMx n00}L8BL2Vhzfhڽ zap E4R%K0eҴS'O ѤK>:լ[~ K, t_{Ň檂? / * )2`,)0'<͡@CP-5l 5H`ơ z * ,"E&BL.J:)Zz)j)`-"n^4 )r * + QӬ>p˿ UtQFuE z(B+(HĀ` 2 "B o:SI/uL0aT^Pu b )eM2r,uJ(#lK趜Kv:qd$]܀NLOO(( 8j N / VX/);j5qH`q*Oo(WZd^ Qg4~9c B̓آf)p共ot.踤ƭ(])٠Gˆke6'oD/~IC.6 7pI_gBӆ۔"?hƩ};7+sY[[*9-:0!㑊 )zQ2* 1q,Xݖ:S=NI(\#::8XG|h9=i__"F$-L`Pmi߂uzb)|!k0+ aFX d$ қWܬwÄH3qKOw&@LG?zYF'.4+p h$%Pr B6)[sbwA@wBp3=@5 ); OL^rb LD҇A84",(G#\;CV'9eqb] JCAH J3 Ҵ:yuP & ;+ 86-XAV={-{$w0jaED8YOi{pSF# !! Krg,'^dـr !g/d54F0*u 9v hWZ͵ΰ kڃ(m;"mN>SIqx! 8\205eE0M 1jxJ!]%hC\ܡu ݝv#s;|a;թ0.+w |sE/rAd Ә &\#u[); ,ΣXn2Z}KhdkDٕ[ )K jkeƮܸ]khvЄBBܵu_X # EQc` cS(e# a9029g~贀bpR}pNDZ [`A[gEX3 elVb']iʈ.ife4̜wj;3pk@@-%qIR F5DZB+h2fP)kh"X6ěˏWZ؂i|',sR nSJkM⺑ V1Qn4®hp^7!N5ŨHȡie'52WF:M^ o(@aRV7HY bD5Q!bj jS2uC=ggK>5aMWF ,zˉԚ°B,bseI1U[ߊo dgo׬R11w-ќ=X\Z@Ws|s-C?<)s7=yc1;r+Cꫳk92g<2; ;@8ӻqHAxHQ*P[qH(ȋ`I ̐4ICIA^VlVI%2TT5 7UMSVV3VmW|WV`W1}Q3TmSR]Kc3X{WX3.HRI Xc=MMeSPuSSVyzXY50Fn-XSK%S%كMׄMمuWhWX3YZmoYJW-s5e]Wew-ե:`&Z][DڍMў-Vr ZEדeVv]نB cE[\UFZZ-Wd-YeUWuVxe6ܴ-\mXD\Ȍ؟%XsMVEfmg>]- \۽;R֐=[\ܾB( ]}ޗRW[Ycu\ۯ\׭\?YX7h^=_-0Ҏpۮܢm][0Yx5_HΪ}_[U]eݽۤ%[ ` +Y~҅_N]]] [_`~a[-%ۭ[=@ _<+>b$a]F`F-=SdY +X$b^G^(Z)>a +,bA;c30cF<.=@&ABCcADEd?FIKLMNO䂠dMeL6R&RdTfeU>WNXeOnZeWeXeYZe[c0JfZ?5gvf\h6ZjX4fm.7oVC(r^8XHT2xV@gKgȡip0fVhQ&^phxqh6hh.6p iFiVifvi.^iN零iij~i6jiq(>j0iF52i%h#.5iY5i8X.u5i\n^nhqxn6vJnn鎁>q 6n.NX~ooo&vJooo6 i 'UPP#Dh"J"%XYs y݁p2Xuς8g-5[3TE8؃ {pfp0rco}bMb%^`ʃ1؃=)?sr=+_a_ s2/s4sUs57g``7Ξ< =otss^^u`asD߃ptQ'\Haa@t8oasD2(Pu[R`mT_A.gMG^ЅY[Ou'>2n\_aV+sb c%PvnXfo_sh_`it+./?b/Gpmvxo'c^wr5WWwlowxxxlw6wJv*5bl-GcBxDxF6o\]&^eFP^`NWgy\eyyy`y?/fbdVffޖgfijfll0fpvqLr6gC@gNUgvv̈gTg@gKgBgFOz;k&7G6m>|_Ά|mŧ|ƇƗǷ6njoӲ>kNkN]跎!ΞG6''o~|~~k>n.؆َfv}}ߦ}hᦊgq; A.4PB"ȐbBBԈďr9.GQr\eK,¤)͘ g"3͝8\O@ jtӢ'NCcʫ R+:8!Đ!+V(9РA AnLHd <pℍA$HP" G|<1";(pTfI]%ưr =,(ĆM:f& rAԨgf jn:ڷs;Ǔ/o<7 Ɩ!1(Px`@_I/B !B 00 ( e$4qXNxZl}FD %  l ,c[fM0 %XzI*$M:$QJ){'}fݗ~%Wx^}-Xfd}(@#'b/l:vf>PHN9)Zz)NY{Gǟ` HɠJȦjȡ i"*0j(.*$iDB*J;-ZW~Zߖz_9auZb38h;"#&>|0 CY'jxꘪ*jR뛴zh+v«9,=*o |39X0~9y11J"${2)cl̚Ѽ3e}v=ojߚZ&}.M[k![H/uܬb6;vj;mC[ft?ݮ"} \#ˌ"NI-9ۮ?S.4M.J˱'bN_aYwXx1-ns[)!R6T)a)([0ֶ+-t$3,>_RNSi%@O1L⃢KR1i dF1T/j9A(' ]g,1CF>slL{7˜dqkaذ7Dz, 1+$f2h>y[Ӻɪ/`IUiZF5a& QGJ}0:\H8Ű&w8Hx 0F $ "5S e^8r`Tp@fR}` !6=RdWRe6+_h ɶOmm޾700ӽ~;ao  "o_GōZ پrrc]b L` GAq-.l3T|IO9Ûl%NrT;=CslHϸu^7Ѕ]GGz;}/[ $5J$wA@4tF|C<%]w$x@VVnJ2 ldu @2dqI;^Vv5%BuPHv^FuF@ZVLfbvd4!v8]N(2d<|GQ.($,z x#>1u8xWeWj5I9GPhLAH{ue\Vkfx]z&qjDhCЀ$oj&Q<'CLZj~{D(m0yMNaDHfg.VJTpm&'Cf{('-!#f N%Y8H"\fRZwYVG^lA4 jЀPBiivu|Jhwtj(M' ~"2!^]!" Z#5jDTB f9IzXvGWn(vt(Gz$JHYj$GvFiթ"jD^iҀ8L8yJJ br|^)gni!)c(+فfRjۛiUA95>볲ꈁfv(CPTmBfQ1+kJQ]6DxkBfj[ujN++:+M=b'?GV R\~I fA>j5^bxL*.ĎF ɞBDjuXA.^l%G&)̬ a^bLT,l)dZllFԂ"(Zdw,vl1*'yl&J*pZdLAP,GjAn*N--jlQAx ..J. lJhآfbhBnq dmuuxPycOZv8 l.% /.0Eu\AHKd8^B@(D!,FfZhAnL \unVgn@8dpB\.(fٮ@xⵑb>fzJRK W;M8o~] ~0Rt8njRa8*vdޮ٦fw䞞,Q*yP Ǡ%ljo+jGs G 'A _ `KA2[ (o(zf[*" hX1wtEZiqJylJ Drk)s_ZwP{HuY|Zj Z8v&nv-#)3W*5z'FXv䚈R.ݷy`%|J\Dި2mDsgG,u>'Kvmvr+c.o{0/ 07 j8"BH`@Eж%jAoV3>2erls@TnYe/G@w|@''C`saDt*/=kLMo.n% H/@PKĤoUy! 2488L lAZdzdJ[^0)HC0OJpI{JC'8^92:NN'nR{T׆hvVjwfk'@3pbH羖zHb.p.fn6ELW =`*/ltNRB-ryjGG8|8tWcLv5b7sqZӀ^8h7}WGQcRE :p(D+̢̆k@_ S x(mas0xxk.rG3:皟nt uwetGȷʫDjv&`9m޶BvoSd5C2IO7gx˹K7و7c#$ͺG _F#yJ'5~I6~Ng7(c*9bJKdt•@.BZ{F4|76 ,kG1_[W0zܣ+]Ǵbsl_Ay88EPo'yyV$|'a_溏y zzB!}.ngʔt)"|H0f"o[i[K D|#Ҷ>p17JW'9CظL9V 8ooZ2īoD= @ؽR}_G$v΄ =g5ӯuL8|e4Kc }p>MwHW/Bk닸KkD GO۲翼Ӫ>c=G>s=.b?о_?{sC 4AA \!D 'BwǂA$HP<0! 4hء@qт`N;yA;- `NE/ P4iTS\jkV[vH5kZk plܩWa!n@`(4hP 04L$ai-Z 3Z.#"ի q v!+V)  "]FKʸǐ#KL˘3m)'PR"zϧⰗ7mzٷw>=y~p雧k/ 03 1s 02\xZlH!Fl:@XpmBa(b7"J(APA<8#@$PR%`o'ȣL <\L4뿻ګ[q$$B 5@OLqE'Z|1k1{d ԨHlnI蜜.oq*K (jzW53sKM^m_ 9<?p 93t? qDGQTEa\AFmyH!LH|ID^* ((zVq`,5v؈᪂Xb+)$TB36E5H'KUwNt螜). ӊ0aY묵ޚ;VDpZB]m%fHå\Kt]N9#}&^ekX|,.Ȃ `fP:(*sزE{ZCv쒥 tPk/d[[Em4np%Rs1MWSv=}Q T7< bͫ^w|(*`sCcfڳO]CkwGuwyoEh8!4(\ɿ40̀r;b IlZD'jmkH-Lm+^¹nÙvַStD7q4VA6EuifyKn[o<qr$)YɡQ}l7B-W1°xI,iY'bDE> )" X4I:\ J?vqc GDxth=ׇONr3sAх ϸV- $RҒ6-~S h1CZT C[.IcLu<ִ}0=:΁$E:(#p(KZVVģ>=ˍSi9Qy2CLZ]ZNRg\?JN3#R寂fFXj0;JJ#=dH =cli+nP-09EqҘ"5*n 5lk\YrJ]+[-@XAt6!!,ׯUzrۙ>nU,UMSfu+!bU1b mvy a6.PzR7 JfaשlEMZߞ6>kIM$! & =\cxi?I۝u~{a8*@a(ypN)(2A,'GTe2 4:asLg9qɜ\>{ƳL>ψ hCхǡռh`'iƴU ӅQ@"~ɖHQNxI@:(\8_g W@ 6ԡf0AA pk@I;oCIq>wNuwnz{ƷLx{ p;~#N->W|7xGܕIU> \c~. 2 7򝔻w恵z}!N(?ANvjO;9N=y7{>w]po8A˜4qNo>7y't|C~HIa'/=P՗9y=cOٳ>ǽu_q6=䗞w<ч~}{>/c>Փy[-ha aӥ&Pq PCh܀P^ A%x!"QˠA-A@:A ڏ 8rP&e2r r ʤlAbu )+}rI kw뭌 KXkA0)0 ХG 재 *pj ( jj{ LDlǴP֐L A1(`+Q]iad*t˰EѾ «X4 %1 gE0r+|"L WljP0ib9qǐ|N,k˜l1 Q!i 6QpǼK–Ŝ(( pb% "Pt+.Ul (q$q1%ҬfK|>z , qc  (q 1(Ҭ`jR%R&) SL kQ~21#,3,a A`RǶ^+~`F/Q. f,W, {5W*)š{&*\b ja6s3)0{  4K'> Z; Bjar1 q1~+/k t<`arh>q>`s? T3' . {>U\.'g .$  ';;4'n@;:q3 1a!+ta >k@>/`91H KHJ s5t5RUWnkd@>-NKB-)%8<>n-ǒ378ߟa򯯯000РխyR7<)!,01*ąZwg$GǴ'T-fD{R93 s:㈸v*&\=]o{cZrgiG0|\pKȳc')*Mùs飅}@vϡ귆d֠{[ JѣH\@ӧP իXeWSK,QfӪv۷pKWT x1˷ɹ~ǯ0ϏyH%D6* 1S ;鴌wch  p3Q-i Uhdlw6|sM10PoA@.t.0P/#/"*d ->r?V}B/$M@a=-1 \ ̠7bp(RA(L Wg R¹ d&M"0}$ TP4 @ 6*ڑ[JpXi$=rBdB 8!HT7hhH! Bp Њ, `L&%oȜ-B6OZWpU UD\c<%<(z%$;rB4(}8(> QG!c@S+De7տ,`JBAMiғHɶ=SDQ esIG%]G*ẈDD@3%k@ 25?1YZƹFLa(tZ|K@(\0ZL:)2IL1Ivfg<"!,6۩@S|&$F- {`R KbM c*<@\PV U5`_Y[MԀ@d YY'VQ,;je4Cl|E?x(qBt- a`w;:}(bزe 8L&wⴔc!QMI'@S[ * (FGSǣʼn?.( ۈimQ@E`$k;ߍ$N+Q=0hĀ7K8cؠ-2>ס1J)+i ڢ*L"qb|/Xβ.cٯ1="1hFX5USf1D ;3G3s#ЈNF;ѐI[ћżC#ӠGMRԨNWjP7հ& 4i4A4εw^k$ؿs|kd;Ў6-g+{Pnvn#pNvMsˣw8oNpli=`'~3{Ё6{ GN(O9qqA-_.󚯙69a>z`.?FON.VϺˉ^;.$8xڅ`F\%m:II] q{̙w}%/AI͑3{C2y*(@0y;J 0H O=CCar\W #ro'6` ȋ_TqT+B >pO/p߃ |l_/S_{zAw^%о @0w^ Q 'v~z:|{iWp,'{% ||  `: U!Fp˰!&%B6&bB@…H'! 39k3"Oaae:I? 5A%ak0Vv C2kUb/YBH.a=~=rk (ln>t IQ=ǒ>&<ձx̓+d%1/LR")ޡ$OR!"bN p" M-4:\g{/.+35B(L*6%ՋH6ZaQC;rx`5!O!d%OtV\uk]w"ec7B;!BR\S'\Zk7P=I0 Ɯ]<_W\jBX@5XݾYb# %/YkS&6!㌶X"Бq"Ē2:õD6n9;ם(!$9b%Z{39LY`%"M6br㊽4 ޖ$N0,c9#IqQAAUY' Vd q"! F!L&AV " v}]aE QdX.L;jAXǂ%ǬjArs<j,ݪ08T/ҞOޭ9M.Ӯ;\.m;l.6_ /?hžYkch/f "?K,߬.o0/2. <>@ pHJLNPR?T_QfQMp^`b?d_fhfG:"D%drB xz|P _ x y ?5q+PW _@ ?0O/W mNH`dAbQ $&n$Buw"۟ѰgPi< "x( x_ y$ln!(" ' K*<8qaÉ7;ńv,XP%dK1eo?fO@+r`idI:,]ҥH,SPk 45ѩ"V8"RJҘ]]5oܣ'f HqH} ႌ}2pdʖ#+~PQ;%kvTDV% #Rl]b!RBլgme{$n%;fѠ5h@~apVO'xʇrhReߞMtIJ,wOQ 0bb5"F@ D++,8A5bBK oR 鲋􊯯F lS>zɦ r"룳>#AP<6 a$5'8E*cMBђK/d1۠!Ub*7fh:O*!`0!rO@#9REP[/P_tP$?F ,y*J,DFUW%\pRյA^ ƒqdĖ\8U.!}-g0rȘP;a}C6j A$&QKdbm<UQb)tц[ؕ`'X ^p Pc)N(KR \BP*k8< //NNF(o#'$(wHxr`TXRY'm&6!HȐǃ'5 +FTmcwH0㵱05\i`L sy)8!|JZR'rcJVREYA!*ŞXQ!J|Z/G0aWLPyEwPGts&hl`#TR_@ :( (LeJR~fD$ǁc}`(0a|&7.HRBFB !,zӆ!]p@FxէfEkOZYDrU|[:(r*;xneqcJcV*{n͊P**"7u[1z 8.B%?T<(#f= rT&(`Pvo`h]!p׻@>s5c$iCCABlVAjL3p"0Dxgʷ8W3#VsXzd}˘;+ς|?8ddbB@9b`[2 P ;lN7Oހ( XGad u%<`|x*p aHn[myWX 2+Urw2A F^ hNz`$DRR# Nm^sO;y}n>5vpJ;0ń£P-ZL*HԽ>!6]w)9`tT%.{;?K?I}]!swmcн_eRvG^/ ԝ7c%HaA _^S)yY@%gIn wd<]2}( yS?,+ѾKQ뫟.x@tz$X z߃?<;Fȼۋ ؁FhhF࿕P1 ;< ?FHѻl h\ @ tAⳀ>Ebw haA+Bkl -| h =/S±فq3;| `<\=> hD [F06FH 6LYd 0$LC=dA>X)FUD)IDK̻8t kDH3QTǕ`Ǚ@P#A?SC{.?iyفChy4N ˆl =E[LH\ĴFJTEDм ?LdĩHsA?@SLQ4I;(:?KCI,><ȿ;Ii<pK4LL"tPqɭFr\||Ƥ@s$:? MfijDkljI?Q\mLŸDM]@@¥ӏdLK޴tǸEjR|\xHT|U?[EևlLp7-f}dEmEH C0)@%H{d@G1EkTstC@;9}KiۋhE(D@LKH))4D ݛĄmT> lؖėE[`N`^`6`h^ߘm` ` ~`=@$aa.a>aNa^ana~aaa.ai6_ a b!v Hb%^b&nb'~b(b)b*b+b,b- -c1c2#.c4Nc5^c6nc5bpc:c:>c;c=c>cR ?dBnbP>HdE^dFndG~dHdIdJdKdLdMdNd8 9NeR.eSdMeU@^eW~eXPeZe[Ye]e^V\e`fa_fc>].fd^ff^eenfhf}fifk]jfmfnfp)_^Vk&:L6pk~Rfi_DCEl-{6h@k_l.рG>?͘ց`N=xjЃVhTqmkރ~mN>_&n0FPmVnj|6k&m&Xn˞^ _lÆ^&7U_do:nEX'NnHFmӾy~&" NvSkjqXqo_k n^ q@q^lop}pVnUakEhuBmm-QlZ'SYS qC^('p*l.ss:,g%g&:x)'Do!xVmH xFs^^=8DGCMtC:v@g=hցZFR'*_*?_Xif := vlv%o`_]vn_hjX^|uλEuw{4wW;{u?mxxhixxxxxggxxxyyu}xw!]oyyygYhFxh tT_fyPC_zozzzzz ;?]~{/{?{O{_{o{w_uFuv'{{{g{{?|G|WSz_K|Ç?|˿||7߄/?8r}|hzW}$L}ggWؗ(~/"D_~O?`_~wL~ LJ|?p}O}g?FG~,g 2L(_hbAG #"G,i$ʔ*WԳ%̘2gҬi? 1BρY> :Ѥq&ԨRsI*֬ZIܙϤCWMkϥM? -ܨVҭkdׄh,DbTۑۻ31yٗ_e,ѰӶGuL4j=h`΃YgxiRM{5툗{;hA#|&W.5f_+g{:xÓ[z3܌|u_8>筫Xq=q|G}*(~{(' | J^ E)" ӀtxcC GD#A )vxas8fJH@UV) VjYؤnLI㓬E)vڗc&ٙ`ٚhpyםYٞ>槢JؠJء%ڨbbJޣ{Ej٤{Uץ֥u֧֨h*\ܪ_ښr~5ZnІ ʲf L""^57,\42-zfK-_?(W˫_`H~nV @[0 03< S {Ƌސ!,%Q&oZ1UlI'MO02O Ce,WF3Ks,lqW "eIQ4tI;Q45Uk Uoge,G6If= tanˍmeL{P۲ ^Lqc.Fp`xHԀc|,iM߭@;fvOR忲{JOwT3uã$1;C%P̧ZV_Wu{}=ϨEB_5/ݩ~]zFzVcB8}%?1J!0Ahp8ٟQ7;fP&(^ ]F xЇ\a❈EVL*^ъYL?E&0(?^X0kG6ȭ{ _Z.f&0C c?j CEG%s/??$@jAX}0< B+$#Hw5~-|1mj  @;|0&ZNAt s@ts|r ܳ !&8`6t/ IT` dB*3HBWD( Ј_`Ȅ,(`TN.>_0_/O|>/?`#*˯~ 2/`0mʿ<'@4$@^?PÉ$L Z]16ߢIB#T\% [/@X`ٞuP  GaaD a؈)TZڭȂdB,=,$4\ZAatmv1@ˉ$ѡ$i?<$.}We WPbAhEL~B@ D!A \^!@&Te@0a1&[~$[ [<~*\=C)b*ViBb B"^@@-pADDBA$9@#X'\$L<@5MfZB#L\@DΚ(T@ L$|B 0\@a~MBHB )>N0L3r$ȃAWFVc@RM'4c#ZA=)\LADUTTJ%A\%FcZBD@~5 ]9@A(C@*FN*J#n*v~**j&*ꨢj֪*jj*++&.+*K@;PKf::PKM%AOEBPS/img/cncpt056.gifGIF89a???@@@999000ߠ/// ___pppPPPooo```OOOrrrUUU֝***dddGGG<<>>|||wwwIII!,BAAAAB B!B!2"!Hi M>~gŋ3jܘ U.ȅj .\pA4`_BnBw99 Jѣu0@AE3BYe)ڵhg&]˶ۋiBɨBf&`d{Z#^% Ƚ o#KL2* UB8ޛBVZ }ZMHjog- 8@:[z}4NSf ‰ --سkLjyKN49񐃗 : N XMt ݦ~hF~6"Eh^g-(7 r&(h<\` xH 'A8̈ɔ@!0hLcK $ D8Yi5v\v) P8h0Xjb Awv|A;v'A M&~袌Zbl] <N?\z敎|)@W5DH'Dry5*무.b@AfV% = W ڕOC^X_ [lf讄jfrAgAH [Wȭ#~k\ U\ O!٤Y„NVG;X܁Av +|^˞}U(!?Aqn {iWgr;]h p/ xVG!}>ZʗY@~Z![D䤛sW|dcDm.\} ^`~Õ풠JSh<JbWD!bYQrUqaJ6eRb.zؐeObZc|#" \dO6~<IHC4D4jI .7ll̤&7Nz (Giё RVfb,Y.wI^0Gaӓ<23e:|4=iZSռ6KmzmLINRAU(l@'4`7Bрzr-B2"H" |7JC -RFY Zطn?BNn1 B YiTW "@ۘJAs3htCA${n:"tzBby<4Ԣ3^7b+4 4D4 #YUKךDdt5X$:ծ%!Oq$ې*X.1s%g3!.# IMrX1ױ9g"@nkJۄ5t:uHix5ۨ<+ /|սxܱlcHJJa(iIډGšHƁ/Hֶ1]V,Z#1n, /˳ЮEW/쎯T`u+^ݐW+}W`W1j}/9㻤7JURcwF@xG 2C ]m8yF\bxNW@atWcn;Iy$'fJ.NRЄL$InrY*A"'IӆeW p8NZNBѭCp`4+u,cT!CRio70/#Ig*n9kĺtY[ '#e3)r6}!iSJn{MrNvMoq;B*n~NO;OW{ȸ7{ GN(OW0gNsGWvX|xůsM1җ XԉNuYZ9׻g}):٫f|kZўǝis{.]u?Q} p ]r! p@O3 (`FhP߷M' O'x!(~O h<򄧑>tbP<?z PyS?~O>z[ } 4z? 8}OC7GɧA00|`xxx{yA@yB x7{HW)y ԇyAP{%}5y7-{7(8|tg(@~@}@~,8~d(~)Q(`~ $z7G}gt(7#Iw7{EA7Y8&H}7e8~zB zD{ ~7yЇGLJ} }A 4uv74{0}׀@׉ixgPF]y6`^hǨDŽ DzGȉ'h4(xȃ`x8p}Pzh߈~'HH ȈoxEgv{ HzyU)7g^ZW'cڇǕ@QH`ډga88x|#xjg r{P|XijِLʉJy+ڄ詥}H >:Dh hpHz;I=:}@2$J׬yx褃g#uav g:(Mx.m0xʨـ{~#x.jSi-z XXBZ0h׀J#~DɯNH`ت0} vg-`J *7 ɪIJ:'H̸$cح*:#gw*ʨIJh~k74kJ={gGy9ٰ 8xGȴ7M3ؐ9qֈpؙ ^ )A|ȳ`Jg`v"YqGzB WɧP+՚Z|/ y'yºraKlʇ]~ǝ-Hr ;zz ~hKg+ЉytJsت@{svxz$ x[ õHۼuzB۳-ܻBw+Kr2`Чd(Zk7K09]&\  Zkw* ܍ɥpK\싐@+[Mi\{nL˥ `yתm豳ql8:ElBq9d̀"p̪" %| W|t,;Î$+'#cJ?;yz&H׫J_x+-XʆM}|Gxkǝx|SفJ)ɓ  Xtcrw|Ǜ{Ř;[Lzm9˾Dς~k.ΐW.qz2ʱlBвH e 0Jxzy|E~L][}̽Y|y묟 i\t-08ݿ\L9:x+jᜈ#%+;-KՊzּ)A f(,]Zʻlʇjպj~Y캠Tl`˒>[ۿ+=<le;1+i:(sHxkɯFڄ3hݯ֜dy}Z8*ڑڻ>*@X7ú؉`,:O,Z}ZyJpǗqqM$8zԉމh}*yZq$ڀ] :z} }Ї6Ƞ!~۸mY}'*p+ U|2 ~Fs ~W $ [~O_ 4嶑RE畡淤ދP "CAd𫖡RxȔaAn8ǻ7q>^7 =叾~^a!l>77Ǻn nnqz~n~Þt뾷HEƎ[N .>܎o0X.yoq9 ĐPY}\YɻkoZdXۨwR+2͵s\ \J|&@y&{ x. VPJ|?̳ @+JKUK@9j9ݘьa B9(yZɶҪ̠/2h Z] MDFj ?{.JLp.Tpv}}~?_YY+g/ٽJ{:{u^W7MNE!𳿿{\IͰ?yh`E ʦϗ'z P1B B AAB  A#"騾 ΃ Hng!s#f'ŊǏ.dȁOLtq.n v")yx 2D) \:,rz:i/Fg2 ') @,/[ @!hʝ ,禝&0AQGm"kJX `@B X:Zj&װE7 F ЏC‡ 1 Ax: Qtu>n[)|X%Z)5q3.q!&7Sm=߰]{v!I R(5)@%| 1Z*d(L(D9x2Sz*" ,f$gH~IW֦|d_! r1fUh}Y0bQ#K1 S\5"2fE EP"J$  6YOgA`}^!B|۝Bt9ʗ Rk7鑋Y2g5 <nJ |RSAA$zHCFZ8Byj]}EQY0*(Q=&b5ڑ A} ֭ dXB'@sl *P$`H q,R+HH`#ѵ@@[$>.*>YH:ȫ/]H˨FExVRH[NZHKm Pk{grDŽ0SB@B0(A\JD@X~8 v߆Hw CX_l;fxF12b$7=e/p@:^M1ߨr,S D-4lB,W>!?$yBɂ{H4Z#%Xc^F XZp\59rpƂP O! 6&Zh!I@uܡ" v'8,eJP:1?BXMod\Ҙ"*j|# K EQ8&hȀ h Rl # 3 y3I7Bp,,09.~;9a$@r᳜xБT_dI?1Ә t6d&^,f2SQ@&c!)ɀK`&3ILtC|(@k pl~j@! p@@="N~ec;9HEb@-oZ#u% ђt$Q+"6&Y`n %Iw4h'D~hM*d4UixZ&FIT&†>;QOJ4{"T@\QaJDaୟ[+U&K@(@X |xeKj!el-avP[l,5x6h|# x괧ePАgNKLRh1@=*0t_ <@ AD6.ŭgP 3pq}eS? ZDŔ40] ]xNFF7AV߆!]nZ su`+hgb!\KݪD>ՂE} ;`)ɥK# D aL .{2F`)؝5v)pW:9Ypόfq  *NvPLx2 Y*Eg)nB=Vdv²J,&KR`@0yYwmx((R5/Pgvb)൴K)׽dsJȀ貪GF'S4F2!0V`cA5@ P{cvԂoA8IfDNu m i[_^ ^@`[5v8[Ƹʥk@;yvkz p (j(* $e,ZZRkh[qhDcC_l'^9b"b@ǩ );#VNKCTs3FoJ絯) s|p̨f,mm ٦kAf6#n~3cTG ^(g]>eȦ$P֍КjP Hp8" q A x}@~gLl2 @鷀wq"~&vKp2evrіx~w0"7}u}gZ$`*~~ 0k@a| CNNkPvK!q,ru'"` H`yׁf.0 8m2p1 !1k)`zZw04{ȤT1Q۰pp.vG "*! _scBaXhBk$'u7lK6i[B 9X<SV0@qC|& Rq4pw}ǁx V`HX-p}$q0 7NTwXhUrx17SU1dXTބEWbh 6xq$8}1^&(x|F4z14exIxNU\{D%(0UPp{Yxe(V%"B[TD# >͒8]EXu9,P~Fw3@h]!l8[)m8p1q1v&P IE^Ղ12sOKSO!0YDvvDbS:ȕ(,%82^ ?W][ܵ w Vr;Q([xq2LF3p/h`f(`x\&CbfRskqNAΤqPb=Md2%oWjUAVbn)f]ɎGoyI&w~a&gV7~d pg/g vs'm5@qcԖq%29cirٜ3Cvoҙi˩,vib\are#pewŏPe sƚ$lA𙺆MyHSTOuEPNʜ{βJWziFb0n9*[j #1LXg'S'^'s1h)Yy? P^qtXFftIdfSH'&Y8H2!Bvsuu$uuO N g fiɐcŞywexI&4Ч&ŞeK7BN42LB0c`{$s3SByM)1Ԡz M e2;!X֏|&s47V ЃؙHh\o)&VG^ hDJĥ(hŖIƝ+k I9! UOdmݝRA}&fp-{bPbG*ۃ0vZ-8BU4=D-)(u8؈s5 FVuVYPP]712yLpQ)~1բQ}5ӶMB02( .@ P.A!]ِ>XPJV>ˊ6M/m!#(2:dLf(e1lif.gqowns}u.{.^2lM>3l>ڴ舞n>^1.Nn靎膮N饎(.>^ CW-XNaZ,a^`_ϮS.Dnێ.N߾aVJȲpﮓF.LaK!O o  /O HKL[N%Xx >N?~7?^;ڎADoCG/_QRVPZ_[?_acO\ٻ1cwYVSYHgzJ漌U-onAh/;oH_/Oo0MSK_O/ï/oOկ?/t-2^wh>AN lڅ BBBBAB!AABBúЄBɵ醈 Ȯ3E;Dn r2!BIɓ(S۷?bB9HfqBTolNsR  c3 UJJիX~bٯW  `,0C, @DGe3tpp Y!,jXv 8p H B t0ǐ#KLr&t1Aw\tLnY"YBѦeH`ZHgj! 8`@s R,ځȓ+_|BN)cߔaË}SJӫ_Ͼ= T?>(.G&di߂F("5Ƀfb!&v($%!,xj(4F1֨<&wc99(DRcE&$PF)+ϓSf喭 `_|_ `iYy71f9mtf|y^&})TNJX.&B- ) Dw'@OA4ڈWH0ɧJ(.Xih.&p[fgL)|!kjdɱ@JgV@A`Pf߸m ia\ rR#t:pc]pwh]:%\`L-jɒBoٌKڔ7ڢ)+ꋢz媺it#(nv MX]9k̮gycv^_鉜tw */AHswsh@RnXNx5kcm4sCۿ-QEzr[6YKLr-K~+a‚P ȕz@"!{ޯ/gp@X2k=] @f:l\&60Wh!9eKSpS8c-bO̸2G I>dp6,lE'RxLdԡEEd##IJZ&̤&!O (GIRL*WV򕰌,gIZ̥.w^0*b2P Bf:Ќ4IjZ̦6nz 8IrLg( TsT<9g |bI |,g gh$O6JQ)p@ ̊zC'F3,GWzB@Ӕ>43iAUӢr)M`S:#RѧZ?.mhT3U`OV3UtVMD uB(z*Ӯk WLD`@a0WKկl+dZX kX9M @]*Z3O5 U^jZ!(`#*) v =PZIl?}ѠzM`-Xt]Z!|%:R~R`lSA콄@ ¾q@oD}GwgZJ }n5_\3tUyNb)t  ם (?wAxBp bv;5p<R[cԺv +BjE ,sZ-?9^vX+o{_BBh0scIsuk:/ْĄZ^5&riXt.S<ia6̅a[@2鬀ls%AQv 9B貈Ld0wȘ}fK4ط} lAn3)k@OeY耒 '2Vĥv 4CV(mڻ+8!zlk.r`/o#SR7&wv>h=0XťOlZ_x)q"j+w:#j@nr>qZn(gKw ;YWEѭ3ngȡzhMti{d~S0;(W[w~Z;$IO|W]=|%oG|MDP/c{?BO?T/tRt;V>`0`~& LUmB`L;ta}V_fIL Pͤ d v w tqfebr'hmrtX􀵶sȂif%h}c0D(Bdϴ LLtA7^QxWY0P 8 `4 eՅ6fXL38UPHh tW4&L5؄ohm tą> (؃U^(ζHZjh(eGzrEiwVfh@P&c i'_0F(zS"nD f gUe;e)&emb[p*Y: d i_}WxUFHmwWd DƋS `H_Xid!xb5S 0;H\8pX nG]H霞@QrQ{-OZeI)) _مcc'[Zrɞ kR+i^eb@(e D`45 ed㥡 )ZR^t%6\, (h0L٥ $ DWd$l(Xr| ]9uuM /ј=EΦT X+6 Y%j>mcۦYfe9q7nO|^Tk^i|:(fd)RP‹IxUmYx,LzErn 衾h.[tnm>| gFW(*uW!>gGf@yk !*^JΪ+ZO1ː3mYS̳y N/r_ܷtX^m I>p+7[v. T ޯkYk__<]N3͇[PV˻%`Onݗ ʱ)qwe\X@dFS ٪q`XΟF[WS,槗Ig^8-omњ=hlRLe_EΧfy{Y)gۙIOfYjGvIWkcɄ mukYO_!gGHu;PbYXko`IZ//[JmYPM iW:IՏ-D\{Vږ^ f_BBBBA B A  ɧʍ B A !H $ekFA8!XJefԆTֵ{7eW5$1'TGApvUTMb5ڸaqC*f. jb= wr`R )ld o7/ 0h|d|$!(ɕ'{ם: Fkra]r1 ( HÁt!Gߌ=]Ψc6׍]Y;鈂p d$$#.N*g7b%ɱ%}5n%A|6}$(`Am9] gWoΉve|#YU#@\b% 3 An3H .A(LDp*ʤf*<*p\(VС0`lE+%JBg/KY#6:# 'UŠ g}*P XB}YJ흋hah2*@X h4/<$2"=Mb&T"SѤ֠wqź% +ESx+t"b01 @@`5<;A$T%-Dwbt<͸}0'ˎzP|/!Q=,D1/T1-L 1pADx[eBl;iD=G ]hP>?Rr~7/!IOAJ5#p U TzHHbȨz"€$lKDy7"|QD3=OZ*=!HKED_RG!b)p.FX"bQ= x &BECvf,zn;`17^N9D>K}Deꏅc60/HH=rX҇Z9O-nMZ(VXX KC%J3LsqD7ڴ3shs Ԉ+`TEaQZ"q=کQ[GAF"#ޛ+vu$h}=hRQ&]8yFRc@H)&N"H;"pHLEǴK q~8p5М[t"H @;c@~jqbm ?¤c!3WS0"A9Ogj 1mgZ3dTD%X5t֍DD)bU^2\nx)AYeoB5\M*7UY%2] " <  hwoeE֬D7pB|&c0UދR$:ceȸƦ2~" ч8201DG`$84Wʑ2\d<~a+\kcE1dOP @.K'qcyAꎊDA!S3d"c(r0gMA kv2AoF~E ߾/ӹTY@-t\F8Sv '&.yz6*8/;ֶ {U4Yy2x[R;06U=sLV[2u*N毤e58>_(W#>M6#0:1r ao'$"P(sꝞ!0K,R:V©^aw )}:3`j'Ir1}V|/v-5ٱ^! 8%KZ ({*drޒ}3R@xBԇ"/BFZv '#w;Oc-l5q+=LG2XHzH ߺ)%}0akb,9r[jŨbָEl}'D_%B4{wz T}IfyGLmcz_ruV~F"{0*h@|j@T]+1'3 P 20ClS|`K9T=q0<3:s2Eqcqr4@4F4*00$P Us H P5L7^:6} =]%ѱ+d^e  H -]? /nx~9H4Ko>(n'8%`z^8@>链~N锎yk!Ap^E=57鲎$P)l;` ylR/H.#.N""nN>~ށqb]?H>z^`헡&p铞>~> KL?M`>-鱾1'0/' 17@2qCzsH wN摮/'.4N.*\| .2@2e 6Ib(Wm/fNn"e3/L-D p^i^Aa233[&IB_AP0e.i_.5DAʅ fH.Չ**Ҿ$p؎U_>h~ޡBy_U2HHMO_j-Xo1Q bHdoM1pg+#(.AA BAABA% #+$7 4"'" $*ؙ %(2 3& 72ˈϑ›YP*H#Xլ1D`G\Č[EDɓ(S(D%j -*s%"F1 (Y `(FxPAÈwj*,#z0J bdIhӪ JTRYUuxxs @CbR 0;7V nLQF51VFCNǠe Ol\cFrFA֕H(X`xgиAaK04룑Bp&*+ոy'ޑhwl?O-m5șYY$'E47ߠa]Fz,2@Ղz b ƌH# ኹ KN!bT -^%w<^1N i)WU) !dl (1z 8]i: 5V"Рm4=}TPH)&;Ycw #,HՍ8Vj饘N1䝺5|J".ϠH (\v#4ꁍ";fZS1~A* PZJN*jmS.N hR"AFeTXdm91u+"[뾢;,K"ؽd+y°spc%1#+$l'7@Wls8_"A'% A';5dЗ\<TWݘ/C$l% pFg"@ 05T`v5sL}#4?<~+ >öl뙎;bpk'Pp%W P4!H  #0GH@;2`7 3pu@3Z` V X $I$~B ̀$(v6 {be+whL7X5pm`7 HP)O h.@6TzT.9bn tI0sb( Pr) Z2sw%X?ǭ @tgGGMse K>B;3L !h"%X t@(Nnm8 *-9O `4$7FP񎇹0aX%C)FLSt4)W:⑬ Q j|S'P9 'PNv1ܣ;?Yв{OkZ83*+YSoz\4`;S:ѪdCƫ\LaX9eψ( k'I<-T=MVG;&0?T VnJ=JACPZ #8I^]`mCft2S<:v Y+D0hJrv<#ԹI%uq3,.T@C9P)3zwȜYa ~C@0;j$`]].T צ}O;m.< M'Laj0V&W 4"8^X+;3.Wnx14W#"J`@p7!1ǝBp(pta;gA//ׇfg?yqi=eGu3k;RZsR߬s.W's+ZdDZs31ݵx}Y< 'I]a &v:m dhۚ@Pt / pB@.麘" _eفS9Uig:v`w<;`SO/ʫewGGxRNrx{Ɯ%ۼGnGwA8f%ˊ %+,BDVuWnh0 [bҹ>uu]ѩl@aN܋;T>:yڐ-'Ilڬ~^s p>sϧS0EhyJ];̮)0 ~Ԩ?lxyt i|Ӊl\AJvOԡU B tMߏKl%^(ӑc`v*ʟu|`V1db-,p5mvD h|'&Tkj] sͩ0e ZsWy[(gQ"T%'L5j@f U_`۳_<=< ȁe_|N . eKDE @E2 &HK4fcXр]Y0 4ZPjw^ '\fVM6 aSdM| dUU1zdh gM36qi<#hՃgivg `cigE9hhx:nσX_؉D=p:qhH9Xdqsi|x&e熵x A?9LlӦB8d4IDD$C\D;P@?fld{3R^ֆl`sA^ \R8 H zPog*1&Fb djtF36밆BY Yt#g>* 0c_3V:H?Z<_#:i9gԈ:3 =(:lc<iتx=^T¨ꤾC pB!mo?JEwEveHl"wHCtVMјT@tntֈmPkABꄌAAcr%H!ƺ ZtO7=)B)wnFrSA{@ItLAQԱRTA)w|i(HS +! rؓU?4Ve~*dpePEM&KV]?YDyNB;P?P7K6UT 2K5XD;A"XzM0Brs:t:dN+U@ry#K:cA8sVndlyT?YXbES8eT9SkfH0:u:E,W|]Ùs[u CIY $H<83xIػ7zIin)mwICţ{&E3W'IS?ZkjuIG[jjk Io: ^6Gt J;{Mks^\`Þr5C[]ykT?OT[~79W#\k;[( H3{ ApI`uZ TgAnv M__& +*yZ[I3auS1`|czYkS꼋׋dNoѥOZ A*)d79| ;<7TI KR9q -TɁfhmc4rgwuJҠcm \ř|), G8:Hb|^, LU* M7PP.C7M|BdkNā/PH:_qiƫ4Z69l9s=Cӊ~<(CKPfmeU_Yk?SkϫnW@AEet X5tCh&˺k #-}áG6 wУM#ג8,HWdr#8QgOwԑ| Ir2ɍɤ;FTC3eɴLMs4Ub\DMI_kHpiXdAVIOZVZ8ekoӅL 6RI,Az\b?%LmؔԚ9 G#u<6dz}OYTZ6&ɝ$l[{iX5Y :6d&[=}iVD:}:eZ5գ/(čj|( J$LĖӼǼVMOQ e)\W>9 $䍜eHnBjRL%rznofZ;N;^~舞芾钾 0阞难ꈞ爚ʓ!!ѝ>^~n* ܙ>^~Ra< 4Y~L# ʦ.N1~پ.ݾ.>+G}xx^⨌C7nn& # ?/!  / O?0Q$a̾j,?j.4aр!:*BJ)A iR@`Z%*ز"k"kIs?- w  %p&`  @ Gi q-=(b1-.-.F yoƞ߄ ?^ .& p@aeA7d .a!((xA8o"_YBۧ0eN<ȿ  BBA B BBAA ABAA ϰţ ߰౿"φHh{F! |بW aBh,2؃^(,ըAF ( B#ŀ 3@ 6G HI(;]YPZA~z1% W@NЅK(Y 0A /b`ւʳ)c ٹĘ\u>i2in27S)P2}xг 4a.(l}Z9 &#,mtWB/ҖLѬc;2+d+su%sW!L>: غ= 4[/RE6 g^9'awINbMX>D,E:R^ Y]T] LndU&X6B- dԓwt8Z"7 VyA7%e.$b0/@0?T]/7LNABRbfxD|@pɤNjA(it駠*jݘMTi*@R_!HmT4)#XAnzA@n>OUt7XΕ@H|$ _ז€?B+9!u7v FuTT@7mщP5(xr]?Tlt D ,$\ #*4! lʦ)$4A:\gm вY{ltS"͙mKY! XW9rLy5!ª^1}hM.g/! I'֟[͗LlSx0am@P8ҌN^ \~Άʲ0p$AP&d C9suN#5;Q@ְn'6sH65K^Ue0ȅ64巙`H-:L]"@/!.P [tN1r8)"OjD/, IOdKd<7fES H{Y&@l_vѰA0,W'!$)+K!Ppy,°ٺ(=n$_aEd#b +eFXM6A&: .OS&0jii|X Q) 8PyN{2 @L.MBJ* D'FͨF7*! HG $MJWj`t0iF[ ̗8(MiӜܩ/{ ԢB%QԦ63\SJU_BRVbҝEX˫2dMZhZup+;jͷxL[ii׼1V,:Vdc' XR]-Jjj*= rU$iW;UԖRQ]KJ9(mTo;RRMF J*en' TuOBR RaA$eٲFps$}>C2jQ(T2=Y9'[3)},-` $,&lF*HP/ ~4.yJ&.jʚ($YѸK:HJʫx%B1[_'Σob'x#]^"YOT0b1!"D4N9#u^:-iYy:[,6*bP#^έG.&e\',pbl|蠓j0Lû+F/g+Ov E[9W!Oc,co`WoCp zySsLie(k Ђ< 0284X6x80!4AO  Jc1zuvO0CP}}4[DTn$;D 4DERdB#@G -RP9Ag)lx%OWc<{GHt.vH1!|#tN$ $:=m)Th ^r5aRkxE`^8 e܀!8!ĸVuvoҘEdd☎DĎ`x$@gY$'ِ(bYCӤB D"D&2(0H, 1Y46Ԓ<9S iLٔNPR9TYVyXZ\ٕ^`b9dYfku5! 9Ђpr9tYvyxz|ٗ~9Yy٘)@~* 0yٙ9Yyٚ9uHٛ9Y_iʹٜ ٍ" ڹٝ9Yy虞깞ٞ9Yy'DٟZ+Z"E ڠ ŠZDڡġT*"Z&z(*, *!  #3$J= ?j9* ;ڢ0)/ R / )XP8YF^*JjN*2 2 k*(4z` pgpp!``:z'# ЧjʦnzJ%U pA tJ @>jf:M`꧀8r4z P ZQ*Ap!\*!Q* :`U`*ЬP `@%`JABpڬ`QږjЬҪ (JE꣰Pp;謦(ۣ Bڊ{;x qBg!!d + : ` lJ&K K:+(P4pP_˴J!Жpcz0*0 1J@cڲY*~P:H觉Kp1X}ĨJ- JRpkE+qJT Nʭ4z"۴T 1ڴf$2; 2o{+ ^;[꽴ږ[Z*Zо3Z(=Z4L۲dKp6+H5k[*쵠U:[j@k u[@ *˲0K pۯnj8@\22  `i x Rj[ M ] zگ`+ xKjlƵp C s0եU|w܎ Qаzl]* jâJUڦ0e vj;zڰ-2S:ɪ[ jq@̨qZjȇ ]AK";QZ ˹z{ *DKz[@>,kG+~:L:皮ʮg{ (ګ!z:ڨLoʲE۳WzO& MN (lKCݫ;ۦ{2:L+T^: NI EKTbZN3ђK0h۶ ZĽS1b0=mE_2ֲ<' Nц<#|" { M%7 ۯq˺J! ~M^!ĸn[AЬfۨۯʹ]Э9۬, (L-(͆}; 5% * mʩ ^:dzTܙ<ڸ50D̯!ފ <,7,#,z߀+ܯn ĴSމk$/, n7ZI^\Přd6k[hlŋbq- 3 4n(>@2Z)˨r))@M)3K䀭ߐB\=.j2ro)% Rp))PA8q޲M^k~U|I5}0Ȼ' Zw.J tٻwn$:S{lڰ`[jɖL ۭ.΄^,\Ƽu.Mꄭ@AΥ[(3 j,~JX^ȸ¥- PBͮ +n48][8 p4*MW op̭y2{, I>\kn2;^>_h˛G 7X9 2h .)Ūy$ߴR_zWOYラyޯcOjΪ ߲o/LӍ[ąABӬmڰm qUp?\$Ặ[ to- 4NNqfF,sb/OYW :NO"Ψd j*ZNNHB BȥAA!ӋA!B BI@TAlH0P9L'>% 7ck]'þz%Xx+{m?}Сa@ J: @u0 2\HA ^;u^ eId[B. A뭫:8Xy;!t 6BԽp q :S}p4VէES^ͺuU7:ypY z^sC oj}-+àn l0K4!>}vÀAbC^V5/ҟO\H]]ϿG qXa @M-\[@zT\@n%'!0uHu Ew)^!H2 T %lmCb~)D2-rR .$١x ! ݉fT /g RsPW7K QA*  yp ȵ)k#Bd.'@ZW9RaWdGVbbM_az۠t;^q*zmB $Jڱl:RO@q$"#;RC%1%$H@l|(r$ \0,4l8",6RP"°p$}t-97ӱdԑhy3u Js%-Bmh{&MDdI  \]FJ QDIt Q6t::i>eKL $OFZ-9/chVASBb Ucvkg[4eMzT서bY3QIX.Xċi5hճvb^*WӄhPӿ>'DA0ۂ}W],WXlِ1<9Նb@DaGe f/ ,hѶC"9+ꅏ~&@`Bыp$8hH\ԩlHEv$ZQ\f_e*lIQMDQ3CSaKLs %͈QLX6*b':_fui}8{`C`ݏ8P .͂"؎([ԱBPŒ "d^r5 Bb%$:2)V66 7Jd'sU%xob7o/$qӠ,z3(FZ°g(-@h"̎D#wϊZߘF7юz C P#-&TҖ "?a5K(&tҞ1@H*Q8DAE&GB04UjlZ0@r Cڜft4!r:IflԎͽ` dS_H`Y/r7U(:IT#E$0AcLśf bV Q;^ (u` cw[P g=XFT!+kk[p|}pwAׂOޚB_kD+^,RВ)w*}eZȏa 9ָ[x;xKB4J:::m1N%į@yDm'o?8) H4 Ewwyo/C3$…bl_%g bq[6ys}D yhq I眒qjrjH|6bNF;ѐ'MJ[Ҙδ7N{ӠGMRԨNWVհgM?;PK?2JPKM%AOEBPS/img/cncpt300.gifGIF89a忿???܀@@@rrr///___oooOOO쫫999򛤥gmn367000 ```dddPPPUUU***pppMRRGGGցZ_`@DDΎt{{mrr&))mssvvv:::svv>>>699BEF|||~zOSS588\aaouu!,k ¬kۉ'&k!Ӈ kU o0* sǭÇ#J"PȀEԐ[rdǏ A˗ `r rаAϟ@ jAh\TCGDj (Hꢨjʵ+$ĭh$sk< BP$bT B8t j~ʸqcjnС" h~4әVB0&LBF:+Y"pdtP8:)2A꤇4 (ǡȍd`LR C%XAShC%] 0!F.p`L #0:,d/X&8֐`-N$?Iwte9 @#C~)0ypr0JjK$<%Z"²@.CS( JHs6&WC1/Z2/dHrDa ENi#$a&-aZТ<ֲf.*I6g <}*xR(Mrע)aȀMaZ2΁^`<<3. \T]w,bZuA;?w] {qZQ1X<m,GG.ybs7y|'!0D u |bU}{^@wz֍[l(0%.xpwNw3x;wC~JwX8<cu7<p{7 sW|)}IK֔b;OoJz5/d D?lmcZ_EEy7ס4!;P|sXy^M/;7t/r?e2c;rPq l:Rﷀ pk@d91'Kh[׀"8?&oXHgw@,G6xe(@1'ׂ@$DHJ ZgAx,.RT#L"? hRT8Xhq]X`'(؃*hUhE`t[$~Bs;vt|}؆I}gsus9BLJ/VDTtB}EpUaZUw(cxq?iWuMPU'eXaOO}ch}W،W^Hdp@GPHABK xK]@@]itVFČX# :qcBѐFYcG% 8Rcy0Cvk0js[5'e36Z1Ў()49j,F9R9TY`QZyYY> beЕfI\]S)*`r9tYviRpw)SxvIc9~yuٗ{yRImUOyGPm ii x9Bp𙅠Yuə陣t!7Ei )Wɛs䥛]ٜy'逷ΉXYɜᙞE5IyŞ 򙟍EYՉşNai`ð ڠ:Zzڡڝ@ Y K,ڢ.02:4Z6z8:<ڣ>@B:DZFzH gi$ZZnNzMڟ&*)*WTjb4XʥLf '_a:p:/eZt kꝠqڧ,i Qgjx ~l pjQOSʨMvʦ]jz(QY:PZZʧZ*iښjʪi ̐0d  PZ@C Z$ஂPp uŪʫmoj890eFZk. 0t`k0j/" '˔";iҊp*rJ嫲j,˒ gaG `Rд 0_ZY[ 2*+[ + `R5 бk + ;s=۪ ʯFв`u217K (i;+`E* !ECkPj`cf@몳`} ۷#Jj;Zy21kP!&,)˭{,{Kk0d k[ lbw;d>v( Kl冼w+ڻ,Azy`0Vj0  j{RY`6G$,!G:$\X6'B&2Qº ZV/ah !F0^ }b ׫ ; _21[ViXLY ]\ϋ")de<+|V[zF #,L<\ y6k^+e  ˜ ky K"k m& ,KtkR8Y"2+̈JLM\lBJmĬ2ͺ &]h0, ʮ ф҉k lݩL<Ŏr նuJ)Y\]ֳZ\|cf֣^tk&ZP7+k)+2;i"lɎ jpg'lp*;t> kKD_<ΩN6솀?^ߖMkƃ016/.dn `ylW #So5[h.΃ 6[ Wc;=zKu dlΆ+d kq+i|o!E й xa@/[˷ uf.I˰}"]~| k wUBٍp~ߺûoN6JO!90VuBb_K;x !Fjkkk k jkkjÈꍉۚkk jYsPAY4HP<_52*7I( J@CUZӮE `N Ĉ%0y&!K|!$E("U;CUI`c%] mF\JWv(nȎWb$iyf'( 3#Ij"K\^Q%l-VI#=eJU=yK,8Kt{,) >?|ZAb8pJ,ЦlZQ"Zҕ穄h"*Ӣ7iF.|3S ):1K*!Cx#D(AXE(!BE RXP`\jX7ƼehWQ w8@4 *FIF:!)Q=E؃PZ (8=_l Y89@!?G*E(IjEe'X~8]"YId$0XĎPd(aIDn}QIt) dr#8J3=r#ը4Q<$ƩGj(LJޣ+LQ"Mxv>iƟh J AYE:F2(\Q}NS-dGGZ4'&zǔc"{R~ K#jѝ*>iOJT@=R#:u)#ŘԦDXT^)Xi7ԱfhRV5(=c7S8 (\Uֽu5+`篆}jS;֨g"+d;ה:`ߊX*﫞mTaC+Β6=R/ҕdW\%U]%@ ͭnw pKMr:ЍtKZWxcgKUru-meuzMz|?*ޛ׿\5ؗNp~;ؤۮx [VSg5lnVlh; ⑦>e]Qbp?V3(f=k+>>]|g^1cdžurGb(v@2F|dDyΧȻcJVKLY2lO0ػv~qojYxO}A;6Xsf HE.xVKaMgT94t]AZioFٮSvՎ"Y#pFdWȮئ(m^xR Q,_a tk xFмCs#sewE8S@ <[wH :ɟ3NL#mRZd={TLPsBLj j~ PohհXTI(+ o(St~uipm^4󟇕⺾۪y<Zfҙ@U佦𯑌wݒHGstcZP@O BPy09 4aW3m Sנ_TZmAe+ :x/ bFh#wHmwbZl͓`[qP˰nRGq8FrpQgLQ6[u bsC[A@ @pàc%xj@`q$Au Dngme#TS9uRt-2o@,Xo!g|f|{jx!pxPH،θrnmr5b )KC.1/ /"%O!?#YrGFp f}VЄ2+QlSVp(-]'aee8&g ),( ăS@1#%&J:8JwJ8R%ֲGƒAq*CW1_"DdA9`VU6m!M&k WA Oّ"lgHd2aD41&ᤋx"0XX  `Y,L;o8!Q !sW֗vo% `,D/7{loq7yQhxQHuidyc9en kh(eq5mIl<&ȹ+jwUԩةYbXj`Z9|Y2ZST9XXh gcXm(YyZRTWjX gj֠y.>GMQi< pG[J}MG?Q ~wc'JI;E-ZF4qNVFBNTFaɖIGTPY19G-sx) QcpXB#/0l3wWEJiwUb=7005 Y c4aMF J ڜ"($QK 74jn0T 3=?,P4,s:S `:+cFT Q &V_٦ B##wii)Ry dM4 Uj * Q*6y {bqJTѺT\r^r[7Y ЭlN^"7MZFH9-ɪ`SG_w DAQ@? d$X= [J[S3PσS&Q)s/y 4O ޺+6 UsT Je>zj0W`z z;YPNx;Q8zj 3 w G[0[D{T[ezG(#[$1"*fE[{#*5Y JR@]ZiF[ds?k IFWH qH iV/ !6V֛}9ySf#@! ' |( 042= #Ŕ A+A:L0s2 (;@3\x*JHKj V.!'y"?[9ܡH vÜ0iQSWGN{㏣,b@ͤ%6ЍTQLSIk̮/ٰ< U"7 _LW BA;g0}/NáVV[ʾۋZE J"IA4ܘ`?h `XTxI=43.CŠ)=sy&Ԭ>RMTʓ87 -A^~ V Њ1Cij,4[pI3XSA 4pAۚ m9a1G_Kg01 ğtl\=gOU^=K|)Ȱ[H WU ? xDzP3ۻW `2j@MzU (XI') 'B7T҆NKaߢXj)Mr(6U.n2>X[X@j |qh:R'|y@΃[]C)rmҺg7| H_Q/YI@. i nt bƊ1lto ,24iJCF9CٵCB Q E@7 =XOJ-Gzhǚ.45 2Zo Lgϳlù1'/Ѵݒ](ܹTcTSI B˻ HH;@77ખtXL jNlW˞Mmj.YQo NqNݼУKrͩNν]';oQ_Ͼ=*꼧ϟ|D B)u_& tR '.h֠!F(ʄT$҆tg&1 `6Fʎ<8(2& s%@P>T58 `fih b)<8 Jj1(:栄e>N#DYp}H(z& di ti *ꨤj)xک.`lX*)Hh39@إdBrЪZ^:6'ŘeǶ9)ojj-99LYkꛯK6N: O՚I8F#n  xD,vZC &t5 l\YR.b`C| P?9r[dȘ8YA%[)w:Xdp-s#/mjӾzut<1ZKj'r_o9@7`zWn;(62:;@b&tb> k -`ovR_a~Kkz2 j_x/zܶw,0t{ܾCS_mu]0,fLwri[ ۶qW|-Z}V_jOҟ2el[܆FwÁVUe0'FX74 r{pg!.?,vVDvC ,telA@  @NHT afaUh-k6ڑ9 dJ]X6Ԏ\#ݦM '0FLт B60En`?ڕE;,Fife#(}}џ$e,Bqu`gDE}Dw=U`j@ǢK2İu42y-#%ϒFmID`L1LpĖ<4iz?C2Lx`f Pk"y q@pO6 f22`Hd(AIZ(Mi"OReTπMBЈ~,V/WHG %7(J̤9MyĠNJNT9[MkS:Ʀj99b}_c'#d*";hˎ6MghζtmXk H!&A:;- )A1^û919MBH(PC `@@&@h1ڤr{b$l+;f$<.P6ZR+LH M \$$ B@j&ek@D˼w{37͖6{R=.!x=1Fu12R(f$ P  NH xsk!9A(xP\S_oCH# D?P@o}@:E< GhԐ-B Sb\la9K= Id^8&rr\Q` P=tV0LxIW,^z9|b$ pјQHT(uXVf&]6"Pw `bH"Yv "ysA(ْMhƒ.90W'4ѐ[H:"au@~B@eJ唏R@fZP^b<Ó+ij+ r 敍z旺m@k@fǘ)? @faw-!wprACs1vƙIw #8Rn%~;pozp@(oqpsvf$=∌ I8 y Cuٍoonc) ;Ҟ]a0ǞNR'oP' @nIxӈ'In p+j?W)IH)}yx}yG 36yG| ߈9ib}W*#s8vn i0Ctx9Wb#YsBtG' %*GrhưsQ2G *rv @'jw(kx8щuQ2"vg$Ryzj zrkX\JXxNҧss8H˗t7%2g$XMZ*ϧ|*irSB)WJ|JrԋSRAoyhx:'x|yxur'wes؜Asp }|4z꩐ʈúK YxI(QZw-x $[%[' k0 8"[) Jlwxdx) {*|* a IApdz ȱGOtz'g(aC[M>G;!=Ѵ갭+Z$pIhg;Hfrh; 9+9!E}oz ;?'$K{ zr2H}w}[JvJw{'?+u g#\*x{ך&~~Wsxs9Wz8Іq@J0{lKx[WsثwۻSҵB#sPn K[k0k_2%"G{۰|;r W) |ʋK83AXC (7'wA܃#.{ ʏwx[ʚ3lGf+n`tHGLkVW~*7,*ǐ] lɖFF~#x2u[  Œڄt8a(,6rGk( )ȴtZ2M,(# wĨ=+ƒعDkZ5҉{ɐǼŇ,|\w1%Ǹx赩A,-rfk k۾8AgBtԊa XBӞ3,=e˛6l_j$aztcK(jʈRx:wsm{ѭ-=qȈ:z7Ç='K0J$WByJӆ:r-r: ڵt=q+3VMP鈭 KF*75ȫ=}w361jA7>j)O)p(]JZ$ʝ nٴ]QIxe oj!)LKmnw77oʤ  ,=s  4ZiJ:1J|`ja-=p)=JWjݹ1 ,u4 Z P r Z < 31qKtx knOr `ȃ蕞 N ^ N  ~輀}>7 q"1\q9䁚.J*AGRz|ޞ!'Aaa?i hz8h:GOh_fš6 zF|?rzȟVGb "?$_&$l'lD@D!"!aﶁE@؀ 0aAK^J_FH_~>+l-m/? q*Q&@f]_p_mrmc_M'zofE>{O/ln?NiPAOpXQ |%  hQ@8 u2?9M>ƜȈ#Ny {꘽? z_3y' f2ң P{ Jkk kjj kÿƿ ܔ j㚗Օ”j dӼʩQcWIMjK@mZM3C8H0)5f$I.D΢xԚW 5$ŁH)JRŒYA !,]Y5LRÊvCj-B4Ja,zm xeKU@@!_GiSJ7)AZJ.oAG B $d'gx/NDa6笚"MI[5ipĭM%:8n Orx˟ؿHstw]98M}Kh ׈<055kMrU a; Ng]RзKTERT&6#h`}(c/S݌Si#^b7$+PFbXfiju#M#|fTƄFe('k$J>|(R@ aM8[ E( L#t>!aUs Ѐ'E iQꄻ*O6-El^U8G@ÞZL:j*(hǍA 0sc,VRgT(%P $.DW@gώznsd2V hj. 4].⫑2?ŎÞfZE P DckPE `J80 ^IR\VS.3=T(W=&!nT8"61!n*vF#U@_ !2 eykCx4]~xB-ة&IAr Eʬ7j0穚1p %Z99-hGyD;UjNwDl.GBKT}b*W"S3BG JH8J&8&@dBCYbB *mD+]sk8(b2)$GTlEp40)'͖Q֑g%1R¤^a6yUg$o"(b W ȞAqT4oQ!9{d.@LvY(oJARՠ0{(|IZ@IOyF^Ԍ3Ձ@`fKs#h"'& ՊlSgĤ0ΚI[H*0Q81i5ɞ#'^۳JZH^HF&j#Ya DL1\R* <=D᪻=7Dbb (+Y:Lјs!m$"%G` Q"蔰hU)t[ꌆ>1`aW[H`WM\3%\h姱#{QZQo1S})b%BvZV$6*oJ q 4 JY'(vsPPїw44k`ISˈO0t }aJ-h 򰕣$'+|_wSBhU:p8JL)]EkoU9@hz٥z+@(|Yo[DXrgX\q L`'#F |BV̈ޙ7$X,EBւDb ;Jo2IUֳn_UkϢs@kpܻ; cWbM\v7\8/-aq K:mvYA:$J˱9ȋqj|:sqo&k~KNfWmM%km0oaqsaje׳x-[gMjP["ǮE,Wa֟5ǔBWP}l!W)2`.~h|two# = ]?y׾UyF 6j1xq5@F22dbP+}4s΋^*gԀ5+_bmdh6+Gquِ; B @|m(| ( C3 Pe8GE#lGِ$`Gg/TY3r.vwqGX U2|7rv @W`00"&EC] 7!}!ZmHfb8DBYdL2rsPNbrwjt*!,z}z`KE 8S`8Z,G4q%4 V4G #!'p"剷",h5/# $Gu`V*0&WQB!tSlMqj@@=955( 3C )" ;uUE*u&.$ V x@Ǡ tAPG a aiubJ7Nb(%TBb,Ibb7fP/ʛvux)v!W6YAi@MjyzGI@OjS0]@QBUv![zwKeh7<wwzaѦf7xyxzz JNᧃxyE_fg|*a*@tZEJzꚛbkj>*?;:kijZ?*j*#QjE*xY*Jp:͚$ :Gj5>f`:j˺r/: v*[jSj@0 FϊIkwz{uIqF aH1² u;x25}R(eG*Y[Hk{6BW$>E!Sf`b;MKjl۶X;t[v{{N~.e|)+˶z˨gg;yJr븰ʳ۹hѸZ빤[:k{K{ sr(+ ۹.%09[ cW"zhXEzb+{؛$GPu˶e!b]'' о[0 ꛾9`h%0[Dϛ۷thV ߋDx /Y{1p$\&|(*(!\kKU2][ jv[b75J)++;k%Kere0%0'@Ahjl M|PR!& 08|M\[ ں /;`bC6G6m8Ƭ|bt::μќpg;P<t/] 1[kG+^6`ԼCܾ M/L @ӓg>z=Oܾ!VB\\_RiЮ3*<{PM\ мϢ˾P/}Љ\|ʑmt-6ӷ\] pb]vLևVqڿ;۾m q.PΖɷh ǽ%3= }L)ӡ҉|Ĩ,TϨ<Ƌ%kX̽'wJ_l֌k- mI8]٭.\2ױHNI6]] ǀ `ݛ=o\I ]L>#O?+nja})= S*] @cvMm^~S!|烾’\}N?|JkLCjP4 n e5NO jn.Av]嫾pm-쵧m{ö‘2->kN~] S}|t߷^ء;#= wiR č ?>Ncn ?$߹"_({*.O,2?`48v6<Ҵ>BB@?FSHL*JPzR_VOzZ*\`dO_hglk pr?t_vxz|~?_ާT$X~?__F88$ ?_?_ȟmZ(_O/w[/onoN\Wkj kȧ՜ĭʦ̆   c+`#J( 1O(e$P<9!рt@ 0 F4 d j` :YH ȣ 4 "CMwנ&zؔ箻Ҟ5/\K7#WoAo p6؇/h_ Qo{"$ 2˟(Y~ 0 ZpyK z #"<6 0l Qt08̡fNI@ xؽbʅBL!BBZH\( xPX&ψa4ELY08̋cV}2_$} @)L5R C4q4[TKnA)]zMV`&`O5M\~cnf+ Aw"#c\&$ !sDueA2b+yT uzsZC`A$ %Cz BFKur@8I ::sRd)nJ4W)(n΁` `iX Z\kY*- @PNpPfĤ"GTG)b ƩGJXYRPH Q:%UA \QD>Q;PRWgGx\0찇 EIUPG``D.BRa%/:\@"mC+w=TK# V'CjQt5ڮ1A}zX$w˥w 9u* @N>#.e]TY+Bn`\ޤt>bI~]3vQbEkY dYB1Hk*vHNJDwfnC$«ec`CÑ U)oF¹M62*(+VC>a 9I5 7=煛3o\S^C|Q%oo"pDY)P$4R"E@dmx.BQT‘c=8@AE=P}q!Y1JK{9 SL#آ7vk4W( z{z#E`ђ2!=q Rtu$x&_/ExiL`Mr׷PeYҶO-ofl2!tao K6=.=n{IDŖ e/D9G^Eq~6@hw:s'Tv@qAl\Xnk؋Ko9ڌHzjzBJ~ff=b]7lFLI@Y Z'x mB!nNS#d2-gNNY-t2l p*졣zmjljkz5wj^ r׫2&󹒁lֺ\@kY5ym{bl[$q^:D|g4I)|&$r#|9G2`4yI~*biyCX4K@{!T&i*Wj&#ki'{sU?l{aqq8Z>6a5hV!Qv]f7ʷ`mUR~4"&WF^F bwUi ":$Q(*U6*+0v4Z6!cr:Z->6j@:D*,96E"ЉGT V R*TZFk( Z:?\FL c a q e s$X::kJm:Gy)I2ԧ3xPqLj:GZk`ր֠èT#Jỉ`JɪBډ:J " Z Z ڨ1`W` P: _2mRL)ݲX#.lc<`@UU 3i1p w VC13m"jp"C=S uJ!*$UP"as''*b z3Q)k/(rq`)αOj m%ѱAB)FS p,j=F(7AdndpWz w,qsw+ n `m |P 6aek1߷&߇'] v<^cf%[ AR<1"0(u[T2gfd8Q$GG!cZ!IeR ;qj oqhR8;8WKR19& AlZy1u&_}W;hr. 7Kë(fh %u;d:>*8o"fˎK ;P%`,.0 "`TFS6 sQlDf "f;Î-Ghi++W1,¦,um@PP`T!čv㾂 ,T, 'P`Wav3H,rs,Þ6Q5_#`8ٮQ_w4l7  ` & jHmc wyǑJʕkJ% !R2h2zb; b!6o)#%l)ꥍ Y!8.Go.սP)ؼiQAb["r?xt211ھN`55 檴ݫ "l/<y\9 5N[eg~7แ!A e9_#eFcո.i{[փh^+- 9G;AOpuQ l]Yj^잠`]sA(_XKkP} A8LU"^`򸰮)"'k$Ʃ`/qǦԩ?_ sij LJLPh[|ϰO,F!M7q!%lϳ0N^4 |Oٌ kjjj kjēȾ˲ϜЈդܙߣҪׇ٬:'p!:z·P+Q2$p$ITA,$U-k8 R&LFoY{K6Ԙ=:Urj)*j;:i> Z]U'ر!ZTȳZ-{FjfPQz)_)y᷆'ric|>6r;ʦӶfĝ5f葳S {rpEk승yޚxC7:k뭰q?fsۧK.]^-y9&_~ .h8izǙ&r7 k {Xҁ%Ƞ! 7J Lh+z!!!7b5%Rv 83ZYz( P@V$@, Vcy7B#vNME^)^lޏ`RIfӉO9̨$Or_r~vB2z%x>ff `LsA ~>:kQ`JEI ϨP:J֟sJʎVj:*hyjS[({"y9J;NY+h EЧN@0N n} yӰV[ l \0K G,-OqwǤ\lKƒl (d0,s,r3 <ͧ,D$p@ZL7]ϭ$TWd`-luC=Z;q 6<x|߀?P#`ur[]MނW>b5pu|=嗫1~C*Q cp0M;~W֑ pzc O|gwuSZ+:PZ]7~к K`; jo 58?ӘC:Mn v w; A5!}Р&G?݀u[@h7@.`{s" .!{PK6d@j΃aHvdD }p 3y-b쇁1e d*^`BL")H5r%61/ '4HlY"7qp`l*WH4.j[5M ٱ4d9L0DŽ:zc‘8 ࡐzS1yM$'K鍏` ~?$A3Iz@"ٙ3^ x ` 9 krT谨ERm{O蠐? 1Yd>3( Wb`y*DDDd85,͆CKwt2U 4HUH.`|T)-WEnw+F~'22`!ՁK Kl+m)`^.bi.σd0?Pc@at0iҟIBi-7c"Em{NyQ Sd}QV΄\P:"6k=Ϫ:j :cvg08bAZidXGT,4KNͷ]dD+U 8%\t$b@ݪB@!L^7Z2B=zנabt:󩡍˰,|CFtveE3e0j _6X"=5pЃ6mbQ0+n.+ PΩ$:Vԧ`5n١0&&]_HHyH.` TõML8$8ЧsfX9OfFX4aM "x! y҂I.sx1v;ݬ`P%ĬZiCuTX :weu}|O|:mz2ffKMv]͊T >h5Mn%wKq]v;t${x~;3+8p)x.[>7.s CN/d&O0GcN󚷌6Ϲ/29ЇNtA̼Hѓt/P7ӣNOXMP{`NhOpNxϻw%~OO;񐏼'O[{L S :!8o W XڗI 7Lq>5c\NKFgQ;T9#)[>YETo~k,@`Vo$P[kBX@!Bl^~GIcH~f~%~vSP0>+<P/5k1q$ 9/4j#^>2؃O怞!X3OK/a ~_h/4r GBkb hEBfᄄJd/vR@CX>#8x<hGGBq( r"D[(P7 /YӇ~gt8pC !xX450(( Hc(/- 0 > %p9 Fce u`ÄexWx؅] D5H3 8S0p7-`dqgS0 n >x5؊n_i8i4 IɅk0PED  ( EhÊYY kP G 0<ٓgRbFШYXRUygk0qoȁ.b dɑo9 4/TXvInxi zI[*5 0'8*91D7Y` 8&8ȈL /TCuC6)9p< /#)h99nyNH~   iYXȆcGlI/rIe8xP!5r$i멚w+3bc!pi.+Z-4Z1z%Z: 7:{9@ =jt?FI#,EzLj C: KڤR: O:SzݔXڥP\b Z.a:hJ#e0gi =n:_Ӧtpn/~/)c-[Z6G}Z{:k~G#Q#,5910j`:Փ/;Gڔ->ճI 5(*5H5'/Yj9F36$r*5P:/Ԭa^ӟØǙ e $G˺@ѪI&\ȁ* [:BA p(@ UK * hx$J7± _gIY!`Kޥ)/ȳ4IWDž P6ZLG I+D5) y7MY "FE:K 2qehj取@fNyv jۡ<@1F>&>^6b;d+i DRMC>K^[IN @6/b) Kc r٘1e#Sw {yAx5K[5{+Ɋ~x) h(j n @+;C8{- 2!€r `Hȷ2hM9k󛼀2 x PR0[ d yH*) ی YTl$ |o(&َ嫼\ÉE%<iȭ Vfq*A kH:{1&MB,/0),a8 2!ԛKܽOh\8BX n\2RǷH;Q @C]l4&KʙILlPĻѻ2Htٖ;Ƴ(ɜ˱ܩ}, b#GaF:ȔI|@̱6Kj` ;Ɋܔo l=h{7` `"| .  k;zc bbm8.\ g »\2"Ȑl>k\)CɊ2s!̗4g)/9Ҙ;-H+<Ґp̱6+ 5LGtn<\p, m"wL{m^϶#PИɚ\ h |<[)x8ek=e[F GY,IKm١Ҝ_"M ^3/(،ӅkԎasۖo|C4+)@ׇƈ6T4| ɛjڌtLqx?͊{^S/`ŠӘn5lz}{ߝ9ϑlM:J}9^‡phx޵ޘ@ij}ÄLx;  RkAx!،PܵDо+dKkk|<<ljp>ȵ؆MB, Ȓ >vͶ`"RH.#=璭u~>2@{Hᦝ̹Вhc>Y̞0`͙O1T:}vʬZy[v8h#!1d1 JNn"7 q oEG72ϽEN x\;o 7Zxę`n&MJ}h )ػ΄0IrY 7+8@*8hn B},H> +8ia ~xY쨂9(&:L+r :(ѣ&)6N)RO;5(W+**dҲ uS\bʚqPdQWT޾Vq0Ѷg­*݊v u7ɖ 2甈?\,#ƌsb֢Cm:жooJT[{5ܚO."IG5}e8QEs9ҝRH-AB Ү%4S@WA FI y^a] з~Y:([|>@,Fv6bQ aҏ%*n6Hi (Z 1AG^"4 <&54 d Z,\"""a5x(D^j^"kDrU؍ڎ>!xɓQ^(zHOF %1 `,! JmP` $ l/eyZH3kNkK&[A~"Av!'맇J KnӞ*[ҦL J(,<`}v%kQLJ@Ab맶iVb!+7g&:R$; "pLx jP"2G1 ϚVS(:lZ8`(Ą2ҭK 0]bctQGd>ķ2䉦yXL)S v' N)JW^MuFX&u@ZFCSaK3A }X~HQ$55oA9%B]R Ԙ+ݎ%J0fI^x(F1qwBΑdyȘ:*ʦJj` &_#z,ѾD@QL #'}cB/˻<鑎;J1'iFn䰧 `o̢C XRe1_SֹrF!'l`("C*Efnz.;6t'Eъj6MLK?NfJҢ6Pe\abj"%OL "A}iT**QބV)QII;V]Epg*8"%Ei@I& FlEZBV2J)52(cdsk-RZmNJfË$i#,FmMQnwA-`[!*H\~D&`&G)zt'jĘꓼA Q4Wd?T+«4法:Xf {JLLB"m (w?)mq0pZ~0B㝛VsȂErY4'"@{jdPZ0KJq)/넟M-L@:a[BfyU5ԦlP{TT= 87*JM ԃ cjwki3}$P'sP)j \ 0~UjmG|JPmE^|$ -IQ锛MVE^5N-uۢ35]Axg bqm#]8 CZrB " A]hWKeH|T8jbh{J2ͣwyPpj?ܣY()ē~ נfiz>ïӓًW>}C~UDOӴx߄D)>x/CL̽Kv{?(Ce~5UU0V''wWW wT5z⦀2%{h9с{ၸ7w±.1.R!4Eg%z!<>@BQ%UHTJ.UDU WaF}^uVbSOeSU}axTg[U]+XTwXUou~Uyhi|Zgy׀y-s8U4h{xz}؆Q$!HфJAMӉC4K7ȡ7r,~,H(8z~7~ŨX8P}؊hψhӸۘ~h|(|t8z8((L٘~؋   Ivy~})  9_ɀ87.я5_Y.0Ɏ %~Y !Y=%MIK 2I4I6y8:IQ)U_iS a)E)G)nȒoeygWikImIq 쀋QVlCySY[7 @(p U,Pj79 y9{iyTyl9Y)Kٛ$Oyș )T9ٜĹ^HڹYɅٕ9YagٞÙᩒYy<Q;Bwz#;2)ɇ9 9p;vUA€ ":$Z :%&Q6R8|]0Sv pgvuaC9"E8 ,lp"N5pR*) VzXZ\ )0RZO"#)#i;7C? $c:Q |ڧ~zbNj#z`WA:DF:u !jOХzjS*N'z +:4蹟4Jz7G &z 3x Sz105 @Ң,aHjc  ZzY j {va.tѦuLhGZSjz: *ƪ  8jZ NP:`[K  ЫZ {fn0:yaF"G󪴐 @%۳>Rګ @pg@ɪWJZ ;{Y*.P** QB ytQʰVk\*k!;{ڭʯ):&e Q:V+~KZ0_?bj1i@XLj0u23:v;˹%۷?P>  aZEk wƢ.*n$,JЬ:˳?0*008akʺj۲~Ҷ8d4* ۰K =:0;k h+Z무Z kj ꋺ˻JF rtnI ;6 Ul c{꺸k; [ #\ v{ 0{[[Q뫺 + #052\4Jý*T;Z{f, EL˼,@-̣\ܤ +;._kJl_-94n[Dgлx śk{`ȂO:` {˷KBl˷ ̾)̩`gס0j AQ ${|}[+!{ 猍}`'kྸënQħ<{m7?[zиݥ,"{* ʼ"];X7Y*d<ݝ*LZi9 ZNԚm,`W4 m" "!0j / +.@ڱp"@AmpEEDn ] ʽ4 gH'ݭ'$-$k`jPj.~ 14@nz a+@B ԝܮCکh~l((`(0>F{}%ܗڅjmn:@;>ȶMn^ON@@#j jpUN@QOܭ~ ݓ-ٳ&ݘ}} m -MmAVJ?LN PR/)dY/[O] _aT @F Y1q&P|Ogi?0O%MUN mM`䏜¿ďɟ%Pm @4k"! jkj,k4j#An%6FDD۷pʝۖg. <\ `)`SqB4[:"v]LӨSk :{+H Qv (DN96N0AËOT[c[0%۸ 껦y[ɶmݶAnAo'Vh)5V߁-H_h(HO^m" 8㎔)dCl0ĐCH Oh20Dl8,O3 PgO2W42(I*-8@vǗziG1d148(8Î 4MA+udac:DTET4\F(8[]if#II(iJo#MR!)c58ПL0GRTYl0#_JJM#n2* us. NrW%pC5P <`#Mv9հ ({b@uaZT8+AHȬ Jr4V H?hGm1 G- b 1:MZ&#0J"Ul;Up.QgtMT@cr22x!ԧ{:hFg:ˍrxh)B:Ҟ&ƜAֳ8qLiT֔ګJqrmLO -cL=o_X,@wG,UvAL.ėc' ؀ _Ct gfWbNqZ p(*,؂*49dWp6]U.@P'`{;SWK q^>TC1|Dք;?V3Ux)x(0u5%]ehhj/1G ]Hd( wX08C>7{'Eyfڢ!0>#)'Z+)P>32ꙔGy@UVUY(L"h:SHR0 )YuUxd|kHzyv巧}ڨ))3 X)a'9,ꨠ7g|\L(*jڣՕfP)ʢJJ쥨UN:+Z#zY}v/ڨ*؊{7~ JˉjjZ b i:麭;կ"j`j  { ڣ*JO; + (kgǝ/;,Zj4 {iD[ e@tHyfNٟo.ۤ t. Z_'(>l) `)L`A63/tv_U+orAX v Yh oRFsj͇Uh6Wu:F߀6?įQOȟȟ':ȐE8Ctt Yڳ=z4H2C Op"H3 8_k4da   _  aaКӃɭ _ ͺA8@{p0-k,v 3jeĸUЍ SXoָ%`*;x3т _\( ` 8 xeϧPJJB;PKu?:PKM%AOEBPS/img/cncpt266.gifFVGIF89aL<<<@@@???999yyyſ000---vvv;;;```ZZZΟiiiKKK///___XXXppp,,,OOO ooogggPPPJJJ 777sssqqqÉ͍hhhnnn 444uuuttt]]]xxx[[[MMM^^^lllkkk&&&888ȭNNN)))\\\...666jjjUUU|||333rrr'''~~~ddd(((CCCRRRVVV555YYY+++aaaLLLDDD===cccmmmzzzbbbHHHGGGfff***{{{FFF>>>BBBeee}}}EEEwwwTTT111:::AAA!,LH*\(#JHŋ3jȱǏ 5aHI!˗0cʜINɳϟ@B4ΦѣHԩr@PJJիUʵׯ`+JYZ>۷h@Fػx8߿SΥ+-r8ǐ#싸YŌnkU̍%M"eϨ[xsQA{s\ȧaZkٴo 5μ G -߽:s閛CΝq쀓s!V Pڻ˟/1$㥪g?UךrOPHDU0(UQ 8}җ8:8N`~OiCi栁P=R4`` OTQA{6cI@S>$TW]S S.5ޘc8Z1yTz9dENO$1j%^Oa+ 8H :0peI 4zҟE%J a6zH$flI' Ĉ@a8k8bv  C6MJh)ؒSNSl~!%lķHLIjg&aEV#RNãmK8;h;)s0#bt ۊ+Dh+/>\L@׶U2v.:w\D.4yb0D8oaQH{kڶA1?%mŭ#0czcjGCx&!7ݹ k R{= , {^zWJa]8(OۮV ;]\bVC^fߵwT}S9/);^x֪?P[D'8H gRer j}V$xN%`eUg^pYD>hJb3'$$n GLZY! (BED- %FA6JG[j?@@N=AT~ZSJV"+J8&q""q26Z;[J9MFRP85 q&1+*)x =%wFRz2 BJX'a敯eŒqkҘ33I6 RBH†!=f< h Dmz̝OUϪS&?^UiA"6q{(92mkk@ jB E"&0FN6\IvҔZD$7u0ȱ-iNEU_T'X K' t)Hb* UKb/>Z`,IR&U[jUd~Xgڻ2/׼|J@&֬@K^ğPX :*Qe_Y!Inq[ 8c-! vxeJZcHӬ&`Oh;6}qvN):"^-@@\BNZ@zٻ׷SU7{^B!$~ǻ%~. ѐu^(= bd(wzn%B(/`;}R:@mk_SH- v'B2N1*%؎]',,n~m-"Ks#]2YAAÏ%m-/'Vi6,l47qʚ %;y)?3Ё=d'}b6;Z4uVR. 1'A.%=jVԋN5WVzx品:aIRMl 5z}b;1I Xζn{[3BJ=f Ʒv{ԭH82Czηp178zT`ONy/Ox%n׃"D{ =>qpT7>C"شU*o GHd^6/ ы:d,hS'Gt?_ɀ)<9ɓn`px>(HF'/1>pENqdT"DS/ٿ"P e6<Ցpx!"H"Wh@8WwnݡuI8(7y*xTXth1(&w~Xu⠃w1xdhfq^AwGa|!y)wH/{({x}/^(xn@Fpn1)> X0xhwy+O y(FGp(|]y){F :a~˸tIoiq)13ّMЗjix>Y&X FPtGȖ蒑)Sy3:(XpГǃzі1]1Xy]dXp&Xgb;Hy~9xi(էM ʙ))W{$`yi[&0xxўNٚP&JxP:#ʡaہ))Fᢕg"sE5Jp آţ= A'ФNPR:TZV DZkH2&؄b:dZMY "C[r:tZvzA6jzlڦk Ǣb^gg*ȧzg4qVg-Jکf8<']39ɷz u> ]j47<^RFꚽx&@ Ro|eѺ?Jo_z)*}ܚ-ꇬ|!i6SUʺ ҮI(^ %d0*z) ل 08j uW:Ԫ{FsѪ݊pw[u]ڬ郍 ,QaZ=R^;&cd#vv*cB;U&-0B 6{(]dSI 7E( tL˥N[Av(8"bd mB`"K$ fv6c6ɄD#^+iꃸE6WP=:D1lq+?+[~+e#/W""``@+^8;v;}" P(5IJUc@ë>^"cZU::"k[tXV@+~$N1>`V勳?zk5ky`xQ*_f`1!wwXUWVP HFБw :Xq}>,D$!w|{9:7(xdK{D0# $C9OA@ l'>kQz'\AÄcÂ/41YKOÓGɄ+Ң7$SE;lYth؛[rLau+l`+2#4Mu\pc#wI35؈&9!>H*{ɂQd\΢1<""3Yf ;f `|ȯ<&!|{^v׋\g=߶]߉ݿr pAM߰}D ^}%d~o^ N8~#~nA02>4^6~88a,@1䷕g?>䂥*iTVNU*岶<,ű>~[bdMa kikGLx 1~w޹%NUu>S,eZ<>g^ׄhxznB)ã28Vq$$BFm,>ጦ꾽rm‹E胍)*=N|f-웭t춑鰪i־Z)֍ZYAb 5\f|>(_iunu4ovt>QObW67DLNP?8dxT_VXZ\^`!Vfhjln/i]v2s|~f@*t_z?˃'?o_- l_QcFaHZTRY"ok%W!=(L*R:O'Z\BIտ!`/@i46BĂ%\uUDN\ >….I0<X$I"6@AH'$YI)UdK1eΤir8tz epA#8LDIpHA k.8&Or@@4yU֫?~P wUݛ~ s$\aĉǼsgϔS|N[p6}Uݑv:.G?t  Ln3PXg$YH.*\\q7ӶI:|APARD:聢%hf\3#I;`pu}]xAYGp@ DǞ+l* < 0@+ ?ʾr/ Fs A ;I,!xcbHh2SëaHC=TRBk"OpTR>/ސ*$MsNxt$L4J/ LQ+t@'|#ibr)K*3+MK(Ap`NRK55%;}ɇ s'E0Qc$c8D,$O;cF8QoL㎴x'tq{c2B5$`^D)L`RhP%+Ir8MrAd% ) <`'yQҒ@*WJ? di(H 8X$_9(XR D BpMlfaI\f%@0hSU%k Oq4':թMv <ۨ]NҒ$=Ij9di'i_f  T#%i` A'c@hHzS"``B(/-'8I!K NyJBbPT-TS *pL(F4ãI*DZ>UV7!/P \@U =_R浱UP(d*EL3R3Y0AfժFCK2 ഻)L OAF6'_&.U.o\.q $L[RH ,_kGr$o5"2Z݂'4 ɕiPL!FA4w J , /ulMzG 3a0w JLPbg1V쌑V VquU ׈."NDHpe h8u &vleŞS8"e0yGD[^fa@^aN {K-yAv%ohP~omqS|(I 㩋yg֚7#۠[)z>)Mox3b՗^҉owvqpuPƀ˴/|xpl!;C&8!G$}z/[$u@kuWyp8t R1WuMaoؽ <S<Ȗ02hI@,bql[ Z @ W~šh"!&Y ?JoT[Ȅ5+ا$@4H5,LACDD-PT}GDC&B? .\M5d{C xT*(-8 *h̨l؁hE@SHIQE4  ^HXFWXEBB FX'˚B۫n<pq@9|@bPG `G + jXylEz,5-ʳ`8sAق*/*G(plgF8gȎ/+ǒ@ `(uNڴs5P4}ҁpS8 P;S3`>S@E(TCMTEe#}TPDJ'L}8SO<>@=UHUXUmU\BPGMN;Pe( @eT=b]T-]01:P56UN HHoP B=DW#uGmFITDVMS{~׀oUUmT 59f}XKUՊ{WWXoVp5քudM=YINTUi}SjX %Y}PrђMuE(SqE5XM |YYBMՃeUP%U6z}ٌWؚ%V Ǟ&]Y%ۤYMۧܐEV5% hVN]ܽWuڿYqZrRO=ӭuΌx[zؗƝY-XD V[t=JUx[]pu[G*׽\[[ЍcU؝ԝt\-8\W]Z]B<-چ;Ӕ[y޲]^m}ܿJЃޯ[Nލ^ݷ5%_`UM G<gE6 ]J]a kC [Z%^ ` 6[%a=` V`fJȄ.F\6[5&fa`--\MaOVT=Zύ_%]Tc5&Y;c b"ݖEb3]mJ5Ca-Y/Fh}cJa daNk֭5Zdcc.EeOlYܴ|]6dEd]E ~IQvRfdW]B(8UFYPeUbZFf5l5_1&Zpqel>O dw- d|MbR^[f]f~f+>bKND(@tfa,vh.&g=Nh>_8n2v:fh^csa}*f.fE.hnd<D8hp莆kN@,@ciNdVmfe&]W^~~qe!_[g3 F޳i=f>hp8Ooh4F^B,fWh Nj¦gNtnefgXn kȶU8k$|iB~6jvh&_x1~NUxʶnf>iq5g7!u]]@-&bhnm ~^`px^m,jE&n2nhݖ6&7쮖cnnɖonnfm&kVニioo]Ekͦ>'>8j58nukFq Wq qFJovS4J77nrɅQ+jnYgisr'g H`g"'&݅mFC&VqFrCs^l"ro_CGOqϵqs56SW9:;?)7ob?/rGOuQP^et7/GZu\J7sYNOkbb!뢶FUuQVvu_?`r^n?XuOqrtw\?v5QU8ee[kOSibSvpCNmWGov{/ovE6UB{KQrn xBTpBmgv^OpBxr?uysa_Yno7W7y,mtwvy#ypoj Iv@AwOIHpG{/_se{x-̎6Gpd{Kw~]m6`x"yy';\?wtsw2{|O?A}g]g?`wfd%m(|}%H_m~N~vwzԿc_wv}G$zO|S}p•{W% ~|QWgzb @!@x .G6r|#pqfқ!CR8q+h` Fd(Q#2(P[ H| ET\@ BXPA >8Q 0Dp0A&M8u,3hE&]iԩUj*6(;"8@};M;}J(R~J*V~UD%Sv)l 4 |E3% $UUsemBa?mCKqW$yJZf.湛}RNU+W.n8bg !T\9֙{{!_ Za!9&8q%[] R6r]q 6n46Bpéx`ʥW-#3Byۭ4RI'$xՓ=|F~] ވ w"|Ci_&YMBvI6<ډYXL6hhnGprVhaI evRDwWG^vuO1*f_x}aZL@qYBhܞ"IiVN(/mzQ)*!}:l^jQ޸ TE:AZm$+HZwĥYm )Ʈˢ )0z {e뫲ga |muzF tF{]]sIu2.S2 b 'Oyra4az+t(-S 5QC*8:-*Npsx.wGv.pucR+x9̻>/8t8P=Ӑ8ДYtc^,PPy}U V uDo 3gG%q[Wd"61 DQ>#d3~Kb0VTddc:lkT]_r~c,h<@Hc5R%'KZC! 7]NS2,XjM˥I;Bը}hjvqM cQ3ZFBԮY]V)?Э+KR-@ZRHS,@UEEC<ղd_ J3v"Fv$JwٕUfi6mK Z̾ܕ+^_n ۫cPqbX8`ً1v~lw p4.zQ.7AhRJR,8@c B4d(PAH @de{;xCNh^hf |hj@@ "6.j((vfEhf"\^(>Z}P WHޔf@ |h9U |7G8Ȁ x.e)i Tn@ i蠶 ԩjUp0>vʀNjzCUL٢n@Ȁpq*ƪ*֪jҢ**j +&.+Z!kN+Vr곶Iv~+feq+"[LFLh1\dk&h.(NI[޽MT*Y.kiVlYV8p6[,j"@DE&ZLfL@ ,rɖEi,^lInqDHC}Eݾr˖DT[ľӂCr|,L*G0h*ǶEL\٭F.k~&ꀼr-M+eeFmfA/rKH&,-n º-\z.f+n+FmAA-nAKDZl!>n>ɦo/F/|˝nLZQmԚ"QoӊfA@ɞum8|AȢoҺ*Bp-kɺmLnDeR[0fpV0֮5jd,*@氢? CB+?q&q`Ĺv11m-ڭ1'dDZk1bGFg 1 C!!'"!7@!K@ K2GP[F`rk8prQf({(r$r%r&r'r(O)r*rdG- -Ӳ-r/. w1Hِ n$s,33;s@s3;35?4_s63n3[7?7'38s8M939wM:w7:@;;s==39s>>?s@8sA'AssBB3sCwCA#4^imttr&3H/34 8J'sKKMLLwMMM@NNO4K 5L5M5N#5O+5PuH3J@u2KSGTcUWuVK3N:)XoruX5ZYZD[uYJ$@[^HصY5HXGrv8g]#^+_3`;aubKbSvc[c ufugk6g{h6hv\5b kk6lǶl6m׶m6nn6o۶6pp7qq7ro'7s7s?7tGt1XOu_7vgv7row7xxSjy7z7owz{7|^7}׷}c7{7wD7aO5xS#x+8H 8?8D4xwI|IHo{tGxxxøL;x'uv-N8HM;s'#wMC@3_K@cQ8y+@ !Ov9yyӹy;pRW7q8tx緢;+mWk/zy8zFw*|- ˺,0@Jz:|zkta"WTdU\;A8,*dA&W%g;Oa";:K5*@|X; (< {3n [  AJo[c- K y.AR%PA\<7 A'&< XAt;{:wz;!xV|X0;ԛSՏ}#l}-׷oz{=Xg}'@"=}&}+wt{||y(}3}v:+2왝 AϾR'Q%>胁@yZ]<~pv8>tboDO:ɯ~GaU/C68}~t黄}?pmDDo 4xaB pm8%xcF9v$8x3M+YtʼnK`xgNV8:2+tő%OzkȘL!8f'(N -!b*.k\"IDrnޫ(@8( kZDOs Z7ImLV:ծU˛Y`pVN$2v] 1*(qg1WŻFϠE; 'Wo91d٪':| xvu}k><4ŠCot:yn@QMj8 q2a/& 2AqB T\qGdcDX T35a 2>p3NPQ4DPL蕔tNQ;`YJvUl*Z W$"IG*( -;CE^hf=ikWÑ%>as(#]ͫϗo}+y17(1f_,+؄N8 Bds ,a˝seʹbw.5旈0>:iGdAᔹf2╨]Wg (^($>+?c ]؄ $pᮩpg܅ Bne?5|AoQ5Z(/*/a-!!IDZp>DP=x5B8);z~XZ=E| g}\v2#xk .3q)ʕpzF*`|` HA \`4@~0M u]O-t! eHCP=aXq~mpBό- 8[a _9aC N~ `)M|bWh)ъ7$@E Nw54  湑sbGV8"!xI@nz($*DrQtdayI}"&軇A˓(YJjz()s8FTCK1~$"D!#HqJb.L(zG9Ѝds7s7W9ܣ>1Hҙ˟D!U=86g$L@IԃLzF%)U$+ Q~ E/hԐ A*LZT-)O"xBL7RP^dp4%N)φ2%PO!>';yKO5f>L~aP8AVѪW}1bJOD^8˶ QD\7%t=Idү),"Aҥ]|-FšPޕ%Z-סaX@gZxv)T}j2l[ζ](nݒέ(pͅa,SZդeU{)b_]ngw+;QZY.Z+U񢔾 ~}]_x44RFƲX~oy`fakW6.:_k>0<s){sK~Ed;Xű{)JM'B3M&,2 csq ?ٴUi~MlB7we1KeYzƲR=iCchVlMGҟ4JH6=@Sz抄(NDí&CkZSs],s׀nnaė>垻.6sCs_v:/р2=qJs7q@@VP"4%/O M0J p2 ph P/fyPˀp s7ap ҐlN6AZ&9PPFH=6<1 B NqהNe0QPokPPe9Ql8 .]1YU6]ad@ 1P[1!qM 24RnN"}"W"@82#g+o$?qC1%K@  %N&#3CR"x@f'2@h8j"%qHM o I@,'s$2e<n!@`<%' pA `..B`1!2Ҥ10a f>wA\h-N8'B =A 1ź9)M~a.=` *2@}->!RH`~AAE)B)NPA !5NswF hFA*$H!;ԯL  F]`Jst 93`Ĩt"!=Pڀ$K@  j7T" #HNE0)TLaƴ7PtY n` 4AcL t4L@27GTOulK 4luF 3S ;uFPfdl `8 ` ֠[? TV+pZTUHUcz!\\@U] u^!5R@_ϔJ;'$_'R` OgGvJa ~ R 4T`65dTTeg'^RhfqVJ@c c#0'S{V&\A@l` bfD BhƳSkv"De v mamcan嶒h6 `oQ&cu2k+)Z*HXf' TbmT\@s_W&0sCHtmf-6@ uaW3r?xxyjkG?)WzWzau{W{+A|W|Sxϱ }Wz7s } 4j &Ny=u` 7~—}w1|l~)<36a@z+' ƷkR{P-VJ"ŁxA1uOt]Rp@ax؝p`ewZͳZWO (W/$ Tp3b3%Bz@DxWXML(? |׌{؊\@`ZjX   ؑi$+J rt`WAȎ~X1es +Ïse5&)X#'"B|;y>BYzB Y ,xRH"V؈cygyjґx/y9zՄx8Ł!+1"Y"Bm/Xk}87`u@x)45& Dc֘ŗuld8|Ww|_JPX{ w\8uXBɶIM R8ӷ |3.Z"ש׫ǚ/ךZMlsZ7,Z_Jg8@&Z ,   K [& "(;'5;/{='I {ړ`d>>õa[?;Ioj{k3z۷Yŷ@e{;[*;ր?2|1k;/be-e;#1¼}["ֻ{۽!0ۗPe"eA e2"!\-19\/3"6ҮR\?W_\?Zg-Cks<*n\{A\ȇXȏaɛɣɃ\ʫ|ˇʳ j˻YṶ̈<ſVD\\] < #]'+/3]7;?C]GK=..V[_c]gkos]w{U؇؋؏ٓ]ٗ=ׅٟ#]ڧګ՝ڳ]۷ۻڱ]ǝ˝;PKVpv2KVFVPKM%AOEBPS/img/cncpt287.gif3qGIF89ab妦@@@???Ӽrrr999```000 ppp쏏PPP///ͯ___OOOooo{{{񷷷ˇlllǗwwwuuu畕|||Ȥdddjjj̎tttxxx݉ZZZËѺ㣣SSSkkk:::gggUUUGGGIII,,,VVV666AAA*** 777[[[+++^^^\\\===vvv<<<...mmm---TTTĘ]]]fffzzz(((BBBWWWMMMCCC333DDD}}}yyyJJJQQQEEE;;;!!!KKK222~~~HHH'''sss###444XXX$$$ccc aaa!,b H*\ȰÇ ŋ3jȱǏ CIFj(|`0cʜI͛8TI\04ӧPJJΞBȢ TAճhӪ]VgʂZ pZ"\JPA`"B "a: A+>AlۊMګp- X]D5̖LƲ#T#A *VX\M_\j],yl5ۦk$jI'0;v-bլ=8x>.z?oN <Imv)P63*RM:PTJժZXmj> ԥ(XJֲhMZֶ5.3TBPfhjLZ«^Yye^ HE&{ƒƱ1l xv5FYqֳhjS\vK=i?{6Чmb7YrU-nM=pe[\vɶɥJl76[U^{5hƪ\VZ.M6p׼h, %)P/i ߪȷA5a[ P*TˠHRP PnovҁS+$ dᑤ`Blh@054j5Bb|m`$<q|-w+ȈW [nq^ @X0,&?, P0pqQ[4#7I<aR\a}ЈvJEB!%0S d> )Hx,&h֒CMQ$00B`2X2L@>j\;S| Ȁ%6Pmo[Ѣ0isrXA{'(Nw >˾wp; 1Y8Kp`  d'x5Ё 2 ,XyB@"o` ;^o~pcD bmIZt[1G%6 <`U(156,lj\g X#HgЮ x;V: |l&[ԐA5% 얙xLoO\S`LF~m.}"A^ Dڰ3Clqb u^'Pvzwz?W ,j f8.{7&$o]R~|DH+JфRhTxW$8oaܡt$Ab!|TwG؅2`h+t-nx҇lH+hx$Ͳ8+XaM]4̒X 8(+(cV8XVvxmT8Xxȸ،Έ^\7%eڸ؍Xk@r(x(X('xI8#q ِ9;Qy)%~Xդ@Un$ 0‰ L,8_U:36p<a;$=)ٓm,q6Q!f1r)a))b#%qCR%gtr#=!R\9anH>&23`'cB5%$~Br1A(3eYcPq= B$J?:,ZLyIt ?Tca3Qf`1;O*1Rt"i!A#=+rXC@,9鑠28 "щg9Vɝ"<5S49;_1‘ρ'8Y . .ʡҕ!!21С}џIj2#2? 2NEqA!W3C3M? R4iȦYue"S 䦣 !nw1"pO@t*?OilQSPJ/3eiبDR@aRt 4Q;Q愪?dꑱ: NZ?ڋAAAs:SWX 4ʨ`\zښ@ڭς蚮꺮ڮ hz;&l;[{ |vy? [{:n3`j?Aqձ6 (#YnXrᲃ,,6%/8X|XK > @iBZ vI&\N &E/;X+j;{,=u:_ak,c]ʴgYOҶJmfK\Nk7Q] 0+2(˷+&`fAk6K2K~k6rcD&?Gts7l{f++(n9*q#>ѻ({-k^n@a`;q߆_;Z0A:"j? aq[cwfg+~, k[+  JBCQCەǁ'O21cf}DE;ӻ"%)$$ڟc0[wq S$lċ'd@g,0bg&& _%:qYMʪPbw,X&l*'+ 0f &p8(3%m^8ګ:ѹY}g@ffVP/`t&2v[.ܸgZ}qy`5lBf>]~hܝ׻bԧ&d2 6ȱ`Xwq?}\Ngf#0j: M Ep Sp-P bqۗaw/e 0s,>S[}qOY>涭Ygejw-'rvԈ :  c .SYP '` RϻմR lMVvWE1}ٗW~g''N A%)~k`H 0kp. N-0) BqlHor\eP E40UXN ہ͔qy6 q0ep .=;Q```?p{'}_ &}_Kт.Pc+orYQ @[0pA q,pq0 ; ͸!a@f\p䄩G!>l9 TXE5nǏePI)UZD P;QԨ2S),VvB 1aiFJL*!>~@4AF!jq𐛈ΥU$Ium2̚;(ђ;:aIФZ+P8gO8ujչXiB`LAb32m{ M7ݩ s%,Sl#9P!҄B$J=z. zh+F&( c%۶!Lln\ Th@?y::d"…8f)p< $K; >#,|P &P6?S#Q8 P@ )SLD>8@C" (MFlHN4L>C!B3 (vG4 O@+ A(Ʉ"B PAb\2L-@`` JTS †Gj;8bO^%?с Znn 8I(bXb!S0633p)suXH%ѕWz}` p 8XbD':"CdɉY< So+q%*_ %Z@ "X|gmBa&dE"'#@Qj,pbm;8T8r2@-Wf B8 i` SHCAo#p5X@ Y$J|_)yԈhXUe|!X`fp@,Yl75r SԈ'hPp ω! E  dB5څB $E4v@Ql?!_ YXFxSKb ۈA <Pa ^أ( ,BB2# PCx$))KOx'kyOZ%r!tx4!@5 NV3D Y#ne0YIdT 7)CvV$ـ9 !P+ h %h5 %8 4Q;@ h@Sans\B(ˍnu{]b6'gjR&S {^Wlj$ `^ x0R`_ u{X ޮf9{wg3ggXmoǖ*Ve4Ё~ [B@*wMm ]vnuܬV# crhyo|d$SŽM  pq [A*H@c&s|f4(aNsf8iw}ٮV.-5g@ZЃns &C% !+DDtEEdx>I ӞiZ !nLA0qЅ! !ӛɪY&P[Dԝj VǖiA_,8p&, *xЅj`x8M>%".gTV4:TN H @!+. 2b"P8WxMz8?U^;7 /a Xv @+TAsFp}p(:`@&PI"-x"|vuÛRhyj=G9H-`*F;%.t^"$"<'`DЪJ􋨊"8:E><"XI}u 综\1LS.(A'k4ASd@06tX`U?uXC~U/QG.Eĭ&P4@="b 轥j( hj;@ иj(sj(A {kh:ﱿ 8Q%84%أۣT=+ 4Ax A>cASjâ8@0<;+ 7S/S{;%\FH/)!` @*S@ 5ܫ==8C5DA xD > h<h p޻>j C@E H9+TKL7W=[0Xj=`-HI"@r,/@> ?$ @Ļ@ 9d:gN+0\TH sAc뱪I:##lj((ӛ8+"cXH ,jSF;Ek+{:i,e$ č@$ cJE :fcI͋:t Cۂ.@Pnڀ%7H+V8M[8pl>G| ͎SNGtp4D͊>4Fg G|-kSG``+<€Ls,D-QJ|"{ľZ4Y81]0U]eܕPXh+HdS˽ ]ҵre>j}<)ҝݕ(P'E%ُPXj<"ۈR^廧,^ŀe^i __򕪭}}T脁ܧmގo=____``Lc}&~E툻˃1@Z8 d2H Mƕ_` >ZZtJP ~ (aQa3 V@!Zb&&!(Y)!*♬bwb~{]u}01&cjC፠_abb6(79W:cvqc>6G T'@VVA^A?+ND~\]ɤЗE}dx^,NcWQ*0NN.ޝM3eQa J ``n`_V>W eJe!bgH\_ 5ΥOFc搱_LKPhj`ub&cf_d 0nfSTIgƩg{>}f9fhtƗm^Z2cvjhy~h 6S*BC0hրH(^e^#QݕFp@A^&jIi2 }idojpįk k0k&^T.]FjBk HBjyƊk^Vl h&ސifnnjxa\rĎ[9ΏGp M#V5aa]6۸u/ݺtoW'>uʗ3o9i0:ڷs;xÓ/o<ӏ_=oO>뷟APcA=@@5DJ8!{YǑLP` 0b%TS@"-*_@L`57"@8b" cBԜ%`ݍ.Zy%X qy$B`Np!p" @&B5d,Y APCf'f5`bBX@ar 5bV#a)(:ݖ]"%`rA5\B(Dꨧ ;,@(eB"8X;ΉpP4qzv"k;nҔRcZ c0ȩtZ`APk <0V^P$\hr M@M =1DGp"|r>M@+1LʁEP3뼳5< =4>}44K#@DrtxP@ytagr"/_eW)Yvq;w6N+6,ƒ:p!G"AMP$O'`+N8Dl"$=8Gs4AM&E y߭g/v#dx5^LtYD![·Zjpn.To^P#57ȱËy68m.R"B?^BZ "DAͥY#bP7 ‘P]`CP Q#Ee c!LPTѢQ5059ILkҞ= XBR0W)R !Z-z+N!#* XC "ОTȑVFU!IVe젟hd9=Yga8e80PR/ǡJA\6 Tozf3v>Hx0kN,w4AJ{'"ܡ(uh>Lx0Wl: mM;jD58mq լRUiW;@F5E0qMqV%)鎊,VvF]o^ D`ofΪֵ$lk}+\9ָX9ֵ[`O֪ ,AY~TOc#WV_, +a,X,ъb+iS}-LK >>|||X]`~!,AEE6HԂ H 8{E\ȰÇ#J B3jȱG}}Iɓ(,/˗0c̛8s&ϟ@ sQ~$B8ʴ)NsQ#*YU[իG`HhAM6܊#6HaZ}wU=Qdm-\H G"PE&`mrת.EfZuYЈ=8cؔB>q@h)ʚ8_jGx{vo}SuqVo"FX$e8< H !8uHviU]K5`v vZ] 0u f}`Y1`5đ`_ אPW`e%c״ߍ蘢xJaRwu ӝhV 3.W &5epNF$SCigYHٱ@ !f{JBAv ƘdpiQeԍѵvXl*ZRw0Xj]0z hPp}X7qp" t0ݞfcG@ڱlj; ] (`Yq+ "ɾ6F){MiRӴ,Lip 7G,SOlgw̪,Nl,*P,4l8<@-DmH,PG-TWmXg\w`-dmhv7tmx|߀.n'7r?ngwwo{w訧ꬷ및nGnxC;o'F4owsWoW=7g/o~;}B"]/ǧ>_1<LO@<[$`#ȭX#@[@P8$?yn@a` 7 HL"bu`"4- *@T@I@2p 0 M`@E0 +pp><IH103J E0ry"hHd6eLB2^n6 0FOYḁ.kwl8ц5|NF qn @)70 L*P-˼a0F@1]e=1rf<ι]G(a3@..,)v|ްh Djz>%ܤVݗS7#sǵƶ(1JQ泖m?Nஎt nCmIսļvPx D`*q t+v!p(g: v79x`܄Pwz}[? p5vBdL!;p5y>o 6VdDJDCIF`G͔|A}s$&tJ'LG7qT!EEI$N~7"i{CEI#BtIDS'D EDx%E"x%UW7qlt1GFo^ly=szCUDt07DuqCO"qv\F7FwdD٧}S|,HrWEї) G\$DVAds&DrCt#oD7ZEx$s$9pCTY?(jdfm PCtu؊~4I$ShXRJ+JJ"S֔L?_ȇO䇸ւ8IUJ8sDh~Fzx7!'PeTPK F7kѥ{O0IZA]tmEM]KZag!JO_xT$OVtdČo'zfhgP?d$nG pu U%M#5FFnxT~Q'jxFj7OGVEah B9VaXt%"ZqE)V pVٌlvtmQmrG([Y7 pIZW CH{t#DVBY yPAM88Hilm|co n7ivg8 ouYlHw8CmjFvCFmZә:WpvpYeTssyhrVwysr6?l9O9VYʹٔYw|Ǟf֟ĝ靟Fwg͉Ybu<Idɠ jh !:kZ'ʡI$/ Yjv~BiUySvv#DtsL 0w nU8{8]:zX\(vXdsW_ڛE%=?ʟC8I8jT7[F(BtJ !i>RtiNr䵥{sD%G8'tYR)f wxSiOhuvF\IyJ7ZJU_u5E*ZoCC @yq9¹v`vtka"dqDĬ]zc֚F`(ڪǬcgoVYb~ʕQ'mpJ XqsuT}}y G}J*~ S>HSD6FKxOA(nȫ'Sqg7!mZKթȊKEMd 0zN"DOxp$Y[ݚ7IpBۤo nOR$2W鲃+Dmq't67Kg7KMiDĴsS|AgjIi@:P$BɖSq"$NutU)oO$7 p"B` hs2oFDT~:OhTTJ]A7zvG8)yKDscLLQyM FFOj)s4DDQkFzvv:l[qOCF*~! nYGF؉9`FkDR7[$d{ƵDsES#y нW|;D[oT{>[bg[7i{͋Er7ԛzh7k$ wSv%%7F٫%Qǧ!lItt/HJXt%TRo*yJow[ o[fEK7l "$xׯ!pLt7'5y;Tz+MMI (dqtxVQ6Ipތņ4%u=&F7B Ah wkT]/Ԇ)d'7Lc-eBoTEf*Fjց68|mo{0 &p¨8KXPũ~ǰTIVDtcžͣ`@˰>ovREfmLfԩ4h4NL6hKJRŪv'cXoځڃ~.mNMz0q4 /%5tyJ$M|=KE]X]AC fv7IK ~܉iFB5G[lLޚ+y\JDdGܙ oj"U6yRs]7>Fx-JHF~{K$׿LC/~ҩ*<$jBtp;JNlE{e*y UqDbg-wjDMf2]}mnz Y Um=oNGz'̇Z[-+yu8wDM˥*p: .81٤wn%B oV+B|E"$)Y9F2G6yvr{ mi&aUSfM=SnXt; :Z#CEЄ#ldYc(7d{x:i#y(c׽v cþpp88UMLHMELK:DiK|TM7Rw˒?RHRc^*pd3x@ޥ*f+Jz1h^UV `5NG<hv4iAa?_9sPq[7DܐLU]jHd0C o޼Hs_Dl^̸ "ƒ?,2ƓTkeXB.tANt%QW+Zl 3@”AvA@UM2P7D0YgriK4Q͋7M`?@ ?4b& EeIYvgHxHtZ-eWI1 $24 h) o섳}b( $V|\ 8XR`9ԍL]@G6PIl԰H|"\d{чGL|yT( (b!衈2dIgnt^B tG`GRp KӍ_F `u <@Z͌Hp֦,192 RVD.e f&"WR"6@*=ii0k/Āͬ&"/c&?&&?Db(fba&l^P #,(/ a-S1g"Aqe(LX6[/w,*7|ILX > d7@|֍]YH_Lhv?pu`CKvi|Ys|bO6ӅcUwI/+^.^2gg^$u3M.k^9Sw{^f.9[;ND/Wogw/?c2Hׇseg HL@Mn 'HALskgD GH(L W0 gH9}8̡Axey[wH"HLX|,Paw6I .zQMtǸ)2/36_ /HGh"> ᄪ1 L")ȇ/{\$'II5wb%7N풄ě!=IRiD5yVJ#W9JXl,5Z &B~L2f:Ќ43jyB 8IrL:vi 1f1JЂMBІ:D'JъZͨF7QbhGGJҒ(MJWҖjƌH]JӚ8ͩNwR38PJԢHMRԦ:PTJժZXͪVծzU>@JֲhMZֶp\J׺ؼ^׾ `KX浰Mb:=,d'KZͬaz h*YMjWֺlgKͭnw[ު(pK޺MrZ)PEZͮvVdwK򚷼 m6p%o`BPc/Q6\Hx7C%V3%+t?C`E x`O.K$UG0)7޽M 1"G,a$>PgM;L; Br0Tl" J 2fɭpIr'69*SY%e0#A̜$\JYBZ%'|@˛31KM"gef@>r#|y$it%mHU3-yvde HR:bU[j+k+k$3HIU (FMoTK' ]_{#~Iv% PB[=#jh 'CŒ-4SA:"&e%$ % 8RlEDi9͏ ;DET꿭3Eb>5E nkbf>NIr3& lWĕS]޿PA`z#[r9GŪWk8-t{9xIŒC@:y1%̼ ieJTD2`@E9ی86jk#nj걎D #Ѣ %WX*2yD@+⩉Cӣx(B󉻚tMcvVX}wOۙXi*k#֟c |.w}g gg[ D` R d P'3b P~r *BrP( [Q A ĒkP*0 p D!  :ȃ-(Kܨ`Ȍ Ȏ ɓȾ"ɝɛɝ9w,z|ʭLpu yL}r[lŔxʪl<˛rlkǦ 4`%˱͵,ݼ ͷ,`P=[32.0 Sp+ 7/9\,מ=-Ԣ*,npĈ(5?QJm'p!qmһ0%u +Q+ }l؀5؏rm %&ٙOzP 9$]-Jr({ Ii~aOa:# ½ =Iᒴ1A"D nO},oOy)gꠙ ' :0y>LGf-5-" I GGI I GIEGFHI IIƞä I G͝ܠ F歈G37 ԄP FJC(  t*&8*HԠ  i@eH)TwƕSJ^ ̢E‘ +vӂmȀOA4;uY;Tٳhͫ_ڷp U"$g,E &8 B@F&paHL!4=u3_ܮs5xAXL~ d*SlMLeJn-nkߎ *|[(IBډ74%N5340NiXPBD0@K)@TLLf~/%€r tĄIH`RV8<s BwkPA ԟ阉,N|""3ЌWcԦ1]]VAJti>b1Sdt8So:՜N|4VG:>"Vx5I09`F!֕xRCu.?Eh W?fD{VQg}n% @@02rq,tWtlvSګI0G!AL?Uu4#D#FzCIR%h-h|bhBߐ\ysn :n@er, bT&$q ! c aH>"VEyAO@qA;e,.-) ҉aDDUR F#L8$.tY+i@c]6V񵮁a,h߄tplVͧƩ=jj_ڥn1LPJLJKP$0nXФ s|>SWդez$MHey23u  ]Ge ).޸XXz p#QPa'1"nBa&t ,ii s ߷V*hX,{.~02 h LăM1iPe.+~`Yk5a{ Hh>!PSab?Y!4i${oEeety'73D!bNfmcQMoEM<7uф'e`Wȉ/N}spc'؃rNb )Q0 ҅NDTh0'gw .7070/f!(/`#R(3{W{6p̧]Xᗂ ;yzuÐbt{wX~g'7Voـ{Z1YsH1dʇ'j$B'dB"DAOIQiv ofՆYh-UZUU%UWmIUoiUc-iF$GEe gi ly _ZYj|4`obyd6oc6t7hlÙq6)nӘ]Y6g-8ro"yɗh%THI)w+țג`iX(T7IM` Ź9vy]יi ̩ٓp湝)0}Qٟ*+z * 谠3*PZ7":$Z&z(*,ڢ*.:4Z6z" ·Z8@B:<{ӣCJA@Eٝ|q0TZVzXZ\ڥhb:dZe @flڦe$r:t}i !u|*h }z j:p ڨjM uZrZlJZb ܹjp:Ъ:Zz50HP:pĚʺ::%zؚںڭ:ZzJəڮ:Z zگ욯[{ J ;˭[۱ ";$]Z(*,02;96{8:۳>*˳@;D[-[FҴJ+LP4R[V{X\۵wj^bZ;f{?[hlj۶p#r[v[t{z |ۯ~*60۸;[{۹;[K4𵺬ۺ;[{ۻ›y1{țʻۼ61;PK>Pz<u<PKM%AOEBPS/img/cncpt260.gifeAGIF89asj???rrr@@@yyy///<<<000񠠠___ ```oooppp999gggOOOPPP;;;vvvXXXýhhh***ͤ]]] www|||>>>CCCbbb444mmmMMM,,,SSSHHH %%%tttuuu888JJJsss777{{{zzzʈƼ---kkkqqq666˵ZZZxxx+++===VVV...nnn)))(((̆FFFiii:::jjj}}}lll333NNN~~~[[[IIIGGGRRReeeBBBTTTdddcccUUU'''fffKKKAAAQQQ555 WWWDDD\\\EEEYYY^^^ !!!&&& LLL222aaa111###"""$$$!,sj H*\ȰÇ#JHŋ3jȱǏ CIɁ~C +0B, =)߂H*]ʔ~N _~"*W8Q&M4Xeӷpʍ?HXŪg$ :$!"Sz] IiZ[`~Tl pUԓ9 0hss{`XvTj8R ^D{gsfH*~A^5/{ϿW4?-Ld Vc m^]UYNXՒ Տ{4U-%q T `X0(D~Ҋ\%Sm]glZ;ySQ"^7??5`9d ^eifK&֜(Ѐh1fT'bL 7H7ޝTeda*%棐7BS^ԵSi蝅8 d`ibLJTJda 1W)MA䞊lB*O^Uk\>Y'VyoWRʼnՒbP؊m[VJBS!(O@koR65tFkW<QeP'dӋ6pHhWlHw ,$l(2A0,2 A8\P,2@-Dm?{k:7s- -TNg2Uw5Wk-\m=" "p# LܣEqΘ#8 =D!:tO9ӎ&B= E@LA|1FV@хX!npAkdFTh'p![1G wO陬:.;;/<#/ .x? ơQ` 89BvB)$J4HWxpu4_@=}_A] x(. Gnh̄QCGD`v,+S>o2?4 Xl:'PY R":$X,k j~TQgӥ ?x%! ğZ"xGq465>F[h8)b?%4FDι c)AssʱJIg'9̌1L$kH00da%51G$(s$YF9:qK9 ,xё2rČ'E28yH32Ԛb$Jg"n lJs$Ԉp+B")RF@l§SE81bDY"hCGQ,-iL)H=)bD4U3]b$)J Nϴfu ^3՘23MX Sg5=f~Q1z.Q GdP$P hSIHu[$m_"Si3ϊPJլ8+͋03H|-Zppݝ@.>A 6G.q7րte5NօnvSonKSe9}fZp\,2Ӭi4S {xh'\ wnC?P6~v8Vʋ&phF"HN&;3s؎{2Wm.{`i&GEeanypL' +l fDBЈNF;ѐ'MiIk)\?qdʆi21越zdNmaˀV[_]Xy{yKyírSWAC0mbי-]sm\A[Dx>Tt5B]LB- 1W`aD5d @! "" B! m"hna yӰG`x@ ^_]B[&O[ϼ'ayLKmŠ#EzӻhO}?rGE쿴zH|M#W=ާ>UE>~AB3|f ԠF$H '@S)&-` 0 ] F @ѐeP x +p3gs,1>7) p   i@@Ё 4!|Z }g}ا ʃ   f ~7 WQ$Db' ׆nxy-yh#jzԄ{g{sHF(=x؈( !h{uh\p؉8VևJ8Xx芧oq8ȋLዻ،pȨcؘ(ӈʨר(؍&֊㸎XH8X&pK؏x{",J':9Yyp0X 9aQ(*ِ:0294Y6I '+)#YHhF JLٔNPG p73?pK Pfyhjli.) tb \^ #>!dYIz::/VYM[!Q(:zЖ9)W]ME %)oyٛ3I @EP0՗.ufP'i11Er=@91KpYy1>y#&@yKP )29p@ ` @z) @ݹ !ѐ ^@  =j !C: l 0 ]V0 p eџ!â 2: X@ W` A0 C!Ep `I | U% Uj* ݠP J C`8 ppl3pZpP 8 ~{  E X0J `p G^``=ʟ3Z :P0jn1O1ڬ)/:#0zx8ڋ* z/꺮.6Yj:Gўzj/K3 4!\1[sYZ?C@C*FeW6INI'&EZ/k#LEU6.K9k;{,= eNr'bX8++l&<G2BRkE[W2-Q,$4NNY²ښxەT2ڷy䚶;sGk,,[<"z +/R$]B$ 6OD/{42V>+õG56B9Ij+!络)(#tk2\A$57u'aB#8!DrZKjG$!d. ۶S$+'XE,6B)!,  |$<.<,3S06|ÛÌܹ@j&cF$,&J aPC,E\ņJjZ<1&Fh'2N*Q(_a133ӻmi 3w[2"3e\Q8/~A2t2w<'{UȞ 3}L2<'r922["l5A'3M,Ys[Q+Cj*+cLc/,<\a\iȜh)"'ADzi=0=E& }}Bj NiϮ=`G-<.)Y䝽ߠ`-^69׳jQ2.G߳-ҹ-PfBqpݚU-P.=E kޓImQ!DSMX=v׈]n}92 )ߝѻh}ZvoNqƭJp0S- ." `닮Bq1zsO])"=["=} *̬E~KmT璞2]# 80E]`Z1FE0 f^8T "rfahӤ-C,︾*}:yi:="t"M>~] s-K: z9 #/%P ׎Ha}Ӣ}^ X } AfhA?! -):G]N=P_?}2=o/oOϿ Rq!Fa_/p A .dC%NXb~,64qGG B~'Ul8 K1eΌѣʎ4uVt $̔;BipQIdSҞ?0PUYeWa2`XY16 jnΥAˁt _g\aĉnP6/%o\ːb'`ٳƎIdt2MUVXS0^i:ԷuuWqAF^S4>J_'vt _rƦ7;^z}w}v/e"/@ C? /4/É6|C>4pA#Q"C##dE [)FfܨFoqDqR/@-D! ňx,/ɊI'")ã"+{2|K()$93B:5%bK7$.Nл. Q=|OuO< ՍO洮ΈzqPG5Է-S9HTLG]7O4UUOcLW5VfͲVBoŕMUWSXD'*~uYhvZjZlmVTeY;@[pw\r-I)p]xw^z^|w n] -@_ 6`?g"xb+b3xbc @6ydK6>ye[RekY!myga֍gX!0hVziviojzk}^@^M!J \(ubp8`q-@pX!1 !ڸ &UG"!P5r @j@%t(Y'A".遈N)rb}" Tfxo(]~NH#G̥^d} 8W!0 ]thW:@xP$Ѓ!Q'B2H_~ȏ)lp >O& X*H wq@0V 3Pu=$G$p\8$ H xo Fz՜@{ʐ; P2p,{˓.*?c:­8#q&NgVDX Xi@H@euSCG d)띦K4e+~9++my@ogOGK^n`[c?;Ԍl搛t?0 :8j?zcsE܍qC(&(`@SЅdhR%!4mȝBQ.Y dT" s$YHd2@6=љzAJ ;pNym FʐAʳ98i,f i?pv!DHPz%a'`@x/O?DC"V4,2m'SDk]H[a~Z& $Є6@_B}1=Z}S'gUizZtp= ;t"\ BnwȖ&^DYX&)BpDS\B(Z>Z@56!yP :żauDoC']F"$Ϙa AKW*YJFҧB Yr:M/YݡJ*X8|{1ør`$I0tK& /GQ"p|v}dV6Up[ P9A+q9yB`57-;.^ A OxB hHGZ ~fh98n(IXJ3AҒ-8$٬;?)('6Xæ?l(W2 0.#7@`!)@@м$6 ?C˃6hbK` :8҄諞NP p7ȥ@b?Qam>hdTFH4'/pG˾_GhӽmЄcdkKGHu⩄)Y7z< s{H{56GSBȺuEɴ;(I71 (JE8ʐ ؇Qhk}<p=d!:J38 <y:7)8_,e=K 8f ʴ41Ȃ*$¼Jd\DpLLN4 La˃5(ڜK~GΤDY5b8&X;1hbM~ 2rύOϡO(=f8#F_ft`,^+0MѢYp#Qp'`^sdS8aP =Q"@P`ѝpQY Hgy{@7g4`1R0 %P!%R#MR;$H\hgA5GcCr۸c),KK7HR0P5e 7-8 9ѢAITЃChx(ݵOR;n\?vY@Y+0>ߞa]d_!"=N=ubB  T^8f:;egcpk\DcEcv!e#n6ݍf”gf7^g&g5gna\n@aM犨gT|a}e`$hK&EXEhXL dqhUfpqrshw.kf|F^iedd%&.h.M%F^XVW&~F\dqM@G](2(>fdd~d%>\H8Bg]=Q` q؟ve;kkuhA^_f)f)Į_~h^!nǦ?4ʶlfN,m(Qw c@F-hAx"=صԆ㢶룎AxX@]8j8TyG`@(/L8D+p1PH*@I0MD`NXeZ\no4H`G#@"Y X"(JLo+Yr0'(0m긎ecmhW@*p3R@PHfqN,~~~P ng Xn$?KgL8g@1hIDAxU Q"( h$R9~/). %Q7Z+XT?"Y\+1Oi~Ȁ.okxN[2 @nm/mu^j3m~0_Xh_~(e`\X`~1+.\@ 6Zæ)A@5 &(%$lc!~L !6lYASP ?3X?=,)d?I`Fc@I$J~" q?t7Q$]PЀvF]~IO4 R?DZq,6q[{X 5V?68?'%^2)@FQeWd]f}hHOLPA?PO$Ep-IRq-\Eu<r'wB(b"9"JJ7DmpeltI\wRJqe &pFLۄ?5K@ >Vap@EpUp-VV$J:hU]Qk-?5UDJ0#XT۔`XS 0H@a >Yfyh f}s" (Gİg\B[Q( * r9t "gwi X |%0!4$R_dBFx\A XL@- T]LFC hrHAPB!?8T2ИPI`F `@4QdRPDeDiTs=>?Rn :\DL髯Iöϫog䉻%_6,&e2 ?9yGXd 0VG\(²s'3֜ "c$Uf+h6 p Ѐc; x@̀@ bP` X@0h99)͌ŏ )Hb(-ɰ6᳖ץac?nX ^Gh@ 9I@ xN0?Ux^(5*a ~_7&$4`/ v/! z1(bc2!2B`|$$q1L# f" Qǘ!(?tÛ"٢f/a `AFX `@0c-@BP 5A$!g["1C`"0IL AF`t1eZd,g SܒܥK76 Qd*#48M?84s v10 ‪>)P*ԡF=*RzI# < 肌05`JA8 c$.F?abZk!'"ƶ>Vӥׄ) ɏR@; p sp,hC+ђ=-jN>jj`U\}WGjegIk`boT\KP d@N3Vh "aѱ%dL%[vs wLefsC"lʁm:[lU|=h/'GguT5~(0XicGXFp,ķ>1pT) m7.طhpߗ/ɝS5 Lud~B)@ 4$A((+fp\ƱnzȆ>N~|3z(ZNpb9`4g,6H.eBXq,BpxQ.7}c b 8knXWpF<tL/<벙]-qCE=dR?E($"ԫ 1,b)T015uxΨ:(d%(5J!1,3Upn̽\J-6 ;ѫ e- bxq`Zψu01!h`-0?dq4\'Nf~Xv.WnS\b*~CcRtr'`CCBAy(3W\ xl?̃!& W~Q-l@\ "&"`1"i_ BLa#75ebYt-ω"=7 _,:ha 0XUxT1|+^.0,"K`B+p¬U#uB6.WDȑ"?(9VPCL TS_Q>>!T>@>4UkŖ mIMPNՃEZI tLf=Z O*@'#(h1EhQP^NRDQ0ܗ:)`Som[XeYAXrxj(t-Fd%L%&̈́Ed 䀘fm^"VpVW]q ܩ GhN~?܁x&fF#L+qzoZ*q j XfC~ iNZDmШF?BBJ! $iaX@@+#eP)▅rk\fZE ".>d?lBzORhp2!gLBzVl-&.l/Y>ij[$A8Ю f BUCFDr@iA"+A'(@c-,,*T1Q"KnLI- -jFl%p*nojğ U-bQ8"> lQ6-F.p^n[Vl>ZBLFM83RPXe .vjo"*Į.^نJ7N. jPrfP-/Nk򚮚nVv+~@ \9ՆscI=S eP@ @&p næj/Zlr_,@Me /&/ $r./(ۀpX%~Vo ?/rV{tp~!ڮ.pL WȰѪoIJi^l%0{In*sz /D)̀ vD q& .)P0$1$?FM.ꮶڱC01\ r"iH!):0B"KpnD?x$Ђ%ׂ0p 0VA6*s25;K4>eְ/W1r Ѐ*C'/#2 3#*T?7aX #o'222:2-3{B 92#%@.p&F!N\'/2716A3GA-3J/!rAϲ"/*t,=,3 @U^u(A 4"A2^*85,A/TXV8Th4'wt's?bpcs_Wu<6lE("4pL{uq֭4c@Q@.l?8.<\׳$Bm%D @j6w82PB45 "h2$ `7 `/x,pBXg#3 T A*7T@cw\jw7wd ,@p#`'LB02MVA`A; p W&@ x,7g=C+B)@$DBg_l!A.,84ظyS !B>EŨ+,A5y$w!/H/E"0 @1d0h%X7(,6o c@DG)BB68Ύ֤[B/Hmfy 2xy‚ @ X s`cA%,;sz|Pnl.7ܷg{P@!sWBzhrPn @ B |; dAÀ; \k'@ԀM/S/7\W@;PK$jAeAPKM%AOEBPS/img/cncpt329.gif)FGIF89auߏ___PPPwww@@@xxx{{{000 rrr}}}///pppzzz```uuuGGGoooSSS777EEEttt;;;à KKKHHHaaaCCCBBBkkkQQQ㕕###\\\iii'''YYYMMMFFF)))qqqVVVOOODDDWWW888^^^LLL===dddlllIII???!,ud  bd dbb ddҙd  82 !CC 5wb<dsLj Z@J2. B E. 9@)< Jѣ$"Ffr~E%={JĈY4r*{j AzIVNL] >kou+,F2˘3k }&h J[&615S73_C2:| R24`¦g*CY*TʹW`/W3 Z#°AB Նp 7 8:rXqZ!iRZ!A`u %]UMŞZ- 2GInʁT BS\U ! D08[58(H1=HN\,*L7ddXfe,ce DPXja >!a3͜CWl9xH '!הgID0E|`,'HLhUj[*ꨤB"Rʪ@JSDETOjL6e@h}+9 Gzڎd(@ޠvvUge覫J#QkᄁTQp%'0" d0$cN6l0@j,$3RNOaE, 5Q@ AFC,kzŠ!KCr J'rU  qYI4$Ap6UU "jiݕ7EFa `H^|!T~,߈ۘ(o䔗eyhV#jV`SQwX@h;WSc7iQ]1 gۑDd%GW=Q_1"\,e"}^I='b۠(f>E+`cV2$SX!Q8C&Apk+A\Tu`3h`;IrK _+bjK뵴Mj[ζc/PoBPMnuw`u׻MoRͻҽoϿNp p,#NvL3SAX;NQ<.Ot0'/Ԙ%E}oPT=:'rNl}ї^PM6AVz#F`NhO DbcܸA)*yN%AoF0 `@r,XcG~U?DcB78 фZWTV%o6>ߒKtMy9i0[,rdB%UH~60A"# E QD"#^X,榦#Bn"Q TW#QZ@y:TsQ8\uN<ؗlєe9b[0F:B'Raeg"Y(A&!* d4*r}G> lxA#Ea,Q7:=B%G7h#uIca'~?!7=ņT-' y sP~g z UAdr; 7(ѡ05bQks '-׉~hbQTq Q$^ڑeCa8b"T-w #  '  0օ^Qx[.jQQx f0+%[ 0*#15iJa& Q> YAZ*T.aPMi0b%jiHf? (-G -xRjňSB8jOA+je@`cE]IXAyHxX!!A(M5"`FML 31oqhaQLdJ " )H)9m8P W١=E4tAy9WJB byQ5<3TD唃%H' zЎɕc(\QQ#U8%l 3eBȍ jE<”eXtr[#JV9Fxm rȆG؈bvaa@'=IHtdè&ɖw 5ˆO ! PjΠ#$(Qsv8kaAxڳ&MY ]#@"6B0:"J]e>U.H' . Ce201~!SD,|x Z-7 h'a1\8$"%a73)WM>~ .qiqD0wĒ[1D/,C^r~B:Z1-Pc5֩z;Up:j ;0J š* -`ѪJzʩתںڭ*њ)h Zz jگZZJ ڰ!*k[+ ${б' -&4 6;9/;۳ p0r z===*4jWX ZX۵B-hK)KMq+J9oKj[k vuo˰P[˱+[ `o۶ oB+ G /.OkSۺt6`{{^ ڻ[۲˻yKk{ۼZJ Ư̈̀{NZҫ[[ӛge[+X{9[b ;zJҽ ;L[ |\˿۹˹~[y ;L%,'+3L+l-L 0, " 0&!=(0G/)]&]6m8-J;=-:!= Fm-D7>+~;6~-=2BQ>VRGP6KM׻McngÝ~?^ -=evP׳M=.]n{su^xNxD$hna0 NEn(釮ᢞکڦ^|- >^~./0Ǝ~Nɾ~^N>ێn^~.^ؒAEPp= 0~kn__4'@OM:%O!#  /.: 79.F)K-Q'OW/./$\0>V] ']!Z?moTt#p={CHm/BP Wrvx}Ou?4P /?!_P{}0apqOI//!`ΏmP5' 0!:aaddd Z+'Ŋ͊!ԇ#4#33܈禆 q;ve ]BkMK8q%LĄ=H>*(^ժè-r-"bDoR, hB0o#G}*ԔD0@H3(^: ګM5Ҫ8BE[jLʖ-|9@È/I|Ɛ#'1Ș3v3$IALl"4ѫ3F:vd_[ yaμO|9-þ ~^usꆣ=m O-ӫ'?`ß~-o ^^!`y`zNXRyy XX-!>`y%>8,)&y-& L!"G#8(ax18c8Kژއ"-A%SyDb_z&`c2H giZwehN٦-{ '5-L2(dx2xeJdH&\#*zɩ:_RZlnIV&ڊf^i!R (U {d8f;gZ^kI*.!k 䲻x:|΢]I{r{w $߾ C,+{R60^_) o('735w K=2Lqв^>ldL,Q(ԨrM梨&W$K˙޼.j wۂf:}g}ܮ *X"DMV]z+pa+s;#wFonҊ9tCK4]P.n; ܮW:^@۞{~|/|?|K|^>|s>{}'Ų _? ?׊p_x 1` o=?0̏$@p `^q @`80ЂDwDU )!8Eb$#M3Ћn$a 1lk4cXF:Fc=4ʉu|`"wEb$?8V/:1v:GQ򏦴*0/Drb#GB~ K?Aяܟ/Rz$'H[%,7LJf Cr; &884wNk!/-Of9|0cp 7sc:/PQ(9I3D(GibN2V)-H%8@^T GSTKG;igJ?F2aP&ՠ:-iQ:V%[jT$jKAb=5hֳr+Y=HP~Ӧh]iBPvXѯ; ^RUGiV*@s=jTK?˾p.ū0֪NEMO;A/h$UV(X[mp3IȲ@iǠܰ&knm'juk?j۽lt ^/P-TY暷m/W׹Ҳ׺o|*sU!@kՇtW#{+ݾפ0e[{bt"`qkrŹ埆PHcҲڌzczvb%W}H!T`oz3Y@G,c浽s d9mLɻr2dv`.-Ռgғ3D=叆%(#.}z~n7czΉl#a\dCG^r_+g>9c~u*ky{f^fTEgZk-^f&JR~U2 @޲.kӏڮ0nv:n+MKKԝ65==PxM~Ϙ¨e)օ[셑]?w;ݭmr-)r`-ɡj3ЙS69&. .s·;}ߦt5]1'2ۦ:nOٓy=p=Sm{sƾ;jf^ڹyqv;VE3}3"TY%L3l={rΏؼ[G{AjvoWgMU :?؈,'LQ$|HKsmH|vyUzTry l4mjg|W|Η|ww\Hvu (*z6oiK&Sy|Gn7QGcWmnR,|k.}j?vg'xD~z;lCHg?AT(jk]XlZtPIVwg#jouhvwv-u xjY˥{'V8|zWY8^?wgjȄ@l~ɖy &y=hLHGHzX?\[xb8ydxew||'j{u׉4jV|otzClИ?5ATY{gTx|p(d}yQ؋fćruput(V?5qt:_H]7aFǏju`ǐh?tq s^AXYqw&rJG4tx7eEqXI0~H}%x;7ntwhă YUJyW^F)S4(Ӧf5DeNJ8 }yPhy؅U'7VhXϖԆ+F7هUǎ()ȗǵmyCXٚINB*' ^kRIZ/9xMڅGʖ|ZO9Q7v:9Uz7ڎك,ڢ{TƆ/z8ڦ ވBc~Ieuu9g תU8nʛWf@)JEjK*@éڢJM9xy_{|z: +jZZ}JY:yFHW gƪjʦz:uٛMj갦 2P~ } zr]I*K|cϘ8KHUEڔڮ6U obk˫M$e0u jW e[{WRz{i;m^ԣćM; P~/K; {;۹[ `K+; {[p;{țNjƫ @KΛ+۽ߛ@A㛽{뫼{ț{{ۼ;K+»۾;諾<l<\TD~8  &*+|*,<4,P),4*<İ9,B\8l2 HDl&Q|n)EtlJ\ ylD|xa[~La``u,V@Ŋ{ē`|ɰPɜ. ßl෣`|aPbɟɬ,˜lȵˮ˼ʾlʻDv`pȬa ̩ʧ˵Ŗ|Prkǵ|˻ ͣL͵ʣlͻ͸|ɴ\ # `PV| }ȥ]9`l Њȟ@߬ } ҧ]ң8 TE=9<kF= K(S O}N]SLEٜb@ed-֫^T-WZDlx/~׀؂=؄]؆}؈؊،؎ْؐ=ٔ]ٖ}ٜ٘ٚg3ڢ=ڤ]ڦ}ڨڪڬڮڰ۲=۴]۶}۸ۺۼ۾=]}ȝ;PKuj))PKM%AOEBPS/img/cncpt326.gif:SGIF89a倀@@@???///___rrr 000߫PPP```ppp GGGwww###ooo999OOOSSS;;;kkk***UUUddd흝ʲؒvvveee>>>sssWWW䉉YYYuuu١yyy<<<^^^...|||!,q ppבp̐ۏ ϱqp҅ qp@,-}qzx耀ȱ#+yݾf3bq,XA?p Pv*56UXit`F(3nNzJ*' I`"h)B̮& :`A -+jrZ8?6u, 3`8ѴʸEXԶAay.Y 2c4Y`sn9YyeA-1ؚ7u$뼡M .8wa9Qo$ [̅_ߑd̕zO,n͛lK=gIsjރR#rdrhv7 Y>a$fY <tۉ+>nO}b袓B :(t H@ BoN+a s" C0q{ :q}%-/(B' oW?$L{}ċo +(@Q/u8 g1{ A>A  &3؎ׁ7 §O0OqGQ{*\!$ $ t X8,qv#떸;APс!h1zd\V0^k_Ǝqj#G w60 M1" 7F5183h@ÈHriGy XZyRg!)iG'" I1_;MR{l^.XD=]1OQ1LJh▂xMmz,2 M1c_ Yɢ% g5WJCTЀc:!Q]:EISAZ Ӗ,?I|:!! 6saj*HgС @`5LEg*>gif M<c*bGE*9\4 rټ>,@f{_W^_\X?TL@U(@?vB|l͠X!6d@ l^x(gwDTV@k ю6GED_idk_ "yc^n[޲Ƿ󎧀UrC.tavu]>ƻ@j p(y^BtM|]_D@ |R_Gvw[|Gz$Mg;nus`d*nkh'T<w<x[f# ^"6A;nuQk,]k>3 ˫ Bh4f2Gno(pAτF>q/f1Ã̊00t0)X;7db?*^橅'Uڃ <'3iD5 d %6j:yDmq HuybءRf "+@i1mj"s * P>O^,cNSKPۘ1n{>a=}`vD$( sB)>x/p'?[nLC,S[BϣS'3$+(s<+tm$A\P_ƄãNM <8Љ Jvwo`@.% Z2{ 3OZ}ꔘlY)@H.@2ϏCd;w'Ķg1ӧ"3sQz\xs:hˢ7=j>>)?R4_ڥi]kwQ} @LJE?'[؉y_1~wsF:u:;C;Pat4fyp`4B"5C%xu>( g!SSC7t$cƆB=CTDGd]DOd]S@VdaNe0PtH b}sbʔKfږ~~|vH5Nvd6k `~qGh7S(dx z؉n hԈr>ЊR:xE+@x= cop?`HKňc Їcz8 H6¸Ѝh HX2`Lh`  UptpNHȇXfj9 I;`ʃä &guָ{X]Su&y(lZ,)m.o3U$釕b00;i )J ДtPyVOIXZOY Tddi djlٖnj9oYiI__ E7B 679YY9y9z !X}5f9)? n0P & 阝7dٚIAYp8P k9YIQ7 ٜ``3  7'@ 2 ɝuH $ 8 59IAQ ݹT`p`bL 9h  5i`)S ``o0*JʟAQ"z鏊6`0q3: ::/ڝq0q0SrKʤ0@TFʝV:@ЖR*P]z~pSy'bas )G]p@zx |ڤ~ cyQZ:HdG cѩ ع0f7Z[:c%qv< ٫Zj G60pip@:G⬛ig/ypꭣI  ʥ`㮖0b V0i۰;N /C@Jr; ?p`@ʬ#[ &HP@ Ѳ ! 'Pf%q NqD T2`.EOP#[ 2]{ $Ac ೇ@Wk m @zT{`Nk3I K(~  M;g걐'[ 1 7{[  Biw8Pд k"F) ѷǻY; к(Qثv(K;`#YZ˳2 p໦8՛g {пฐ;KXЪ`K̠1*3&;\=dA 0a꛷P!Ћq '+QA[ Rr|rC\ ;ˆp* *8Ä ÌЪ7L\IJpDB,Qñ!R ^<'{ u[hL7L | olwkyY'\;$r ]\ܵἤ,‡%\0d̵PQˆAk. <7<$Ǽğ0;ˉ``#pUNJ\˻\ĵ;No Jjkܹl !]pd۱K{;"1̘P£~ 1 y -2 䌾f\f\<2*<̿9qL!ģ]"ݶ|{o; 2,-V,x$AѢȅU Ճ"<ȚÆ̏,ͺC=!#%\kςŻ[M_M)  $_Өl5ѕG-`TMQW \Ǚם]S2:@Q-b[כ{l2!`ͯ<]ɕk6Q]؈~ 2)ҍpݹwא1 K҆G ܉1} ܹ %,ی ԊGm| c*2appߝp*%Pݾ3ݖ`d1̀3 }M<$Ӆ@.`2 AI A=&ͬ {D\$Y{04RV- ~=p%*0#p0n24`?)` @ #{&D2 $s c" 2n yڲ`%YOC^2W0>y G.݁}ަ$s.20#2 gT:rbN2w%̐1.X J#% 3=2 C`>0e-ͤ%@(~21 0:j&pЩ`U)#"_2=9}.*PIm'~9pP?0Љ#?U"2"9 \5 Z"=LJzn>Yl5;Ə:1Lgkk#0+͈ͨn 50Q:Og61c>E%3p1$ J ~,4)ڶy5o2 ?@L+1 Y/޽7=捵k}o2gĄ0Bmx١S9[`oȭqp5oo.%#o pp:p oqqopE p+ $pp,*p%o".@p|1 08Ԁo#JHp!N%`8 *N: Gh_Im;dAa>4`4@ JTp2~B0Sc/JT9U֠aMAZAAѷpʝA J9P+8}pejnd)9RqXEYV&sKtCMz OEqD$3!, R,"0$7MHq/ `5fWv:LC" "epAVV ˟O"vqǐ" fwx TLcDnCUhᅍSN2A F@~C V-X4VYvNagqOW`@Ѓ Ȁ'fEIFn@(B\v T `!}ZI(p++VYb|ʅA+%0)2)!!(xg#.s}fEo%!)A50z ^A+lj0O"! zG6+Lс GsVk$,4 HX,0jMd21:"+1 hk! 5fg6#6Fxm% pH н&#ItI5L0kmT24,9!I 2MJb>ѶE /''1u* k$-Jv+T:b+_( ۀtk o o `@l b@! bxkG>H@,*f , &PCa]1j|J&C?33(wc{xFzG9(LsN]gTHB  a:EtM`%VPVxe(NmoAODIxP3N)p0-0xī14`.zr (t}spp) @!Ĉ)T ㆴ\>_ Bwx }xF$\TgGB!xL6p0) JF8!  l& H(# \&KX}B/@XbJ#Lx@1 Vg*~#z0t¯R}DKH0)|J&6ZB@9@SB(NRQD?(`hcv;t 1А(L\ H2ExNKTT='8!1/06 C0^x nRL"wԟ*zCD!(? V 0Wఀ4,Y%[bYiS'A bKX&&ļk!iYD9,(A.^^0 L-Lj% 3 !xAVTuOwlphf8䠶oSDhn%pI(APAkXD=kWk ʉB *BJv'{>r5 P@ԇPOb0KChBDŽU!'+UBzCmlR!a147LNUֲtQW`6g)3x}rh!@:p)N_?m6`u$fބ0`AnYAzv7J 8@~ġ@jPH!c6/YzUʃ`!28c@N %dixУ[Ob`D=JZjHJ*ĦuC+,l#V;hnpQW޻W L$b9C"܃xqeA}؀PIOU> =|C`'΍{ֈvmY1vɄÁ"3(Du8=QܦOxKf n_8t%XGQzPj4# ~ # Kb} PJ7vT^#}p!y|q @!HQ 0p}8 w3 0u-$|0EIXy&W?F0cqq vzbhD3\腂0@#B-9HHeW2 (@8Raw Ia;Wt2{'+'=I0 Ux @#1pׂPj@/wZ`( 68'R7'2FH ; Hc~ℌp 28J$@HU:ؘ؍Pqp/ z pRȊ  5瘎z8ȋh "qSƇof>&)#'، d 9g iAw[H-Wz68#8)@ @Dv5R`A${qp A.o xb  pQ`%VҳT?Hp::PNj 0A t P!)1AIФ* pXo =1Vpcݰ )G'~x#"u)U=DXZ6E0ը04(%l}'m*#Гs =uQ9|:~'@: pЃzpVN(B'\*'0d@Q:~Ցm&D>8g %#ʬB3JZy%Iꭨ 3z;22@p+ptڮ; 5t3Je#2aj g%'@ a;6)C0T!=9*A%{F'))˄ ='B5kg+1p0=*B%kZ-@E K= *Akj-MV=k Kb;P+wГq+d f{X[ V] bd2c}v0:(P "*c֒+Q+tVIP@O6׶k𬾋!18pް[zJ.$A[ rAzJIzkPJ[ˈJ&d+Ps ao1%K6*.*|1k-'( 2ƀ[FJI3!J Zv!,P5[ڗR#A\`ժC  JС{*{) ) j"`kρG }B+` =saGzp Ρ+$*?в.!0ѣϱTy舎eX% &lz:su!70Y!Pe\$&-˲7U6 [bn *1Fb@/ cooaUV3_P%ٯB; ~ ve-5q:Oڦ";ѫM؜ S ЃS|)`LVCwG?(ai=!v D`W (Oap 2vsp`: p.h > i 2VFϿOYaU6AO쓬W  _U,eO?Uق_ 8, '~. #Йp*oo9qo<App q ʢ>pqp2+p *. %p%;;5p3ިUA 4hKB ZXAƍ,8`#=j !@HB-TxQ^sG&eenj9hഢ41paC-'"#N=*"(ݻwEZ䘋#:,`9q Da8,, r0 9-K8P@BZx`:j^,{Z6-#s"6HCCG39-Ǝ$' AŁ@J@Np,((V~Zڜ I0dʘY(1JG1"`_Ib0BD2]U.gX "P`1Irc@؄gbL.D IPZD75'wOb-E NN\lX\&obu HYbЕ(Rg6Tv[:7H}v#YPH EP| v -P@PӗÒ`R)H:`HԲȨ\jU&U8)1Mq լUfFXJJݩ+j êR#q1UI ̩d'+EQXV,E^< h*U: 1Ǥ,)^BH+}2gj"-a*m ȀֆMX)ZFpB [%}`*&F ݫy#^xc t:'Eh+1Sp2Aj=Or*wF*c4OPln `8g |K _·97kl&0$Rlg:؀Aa[FbR#56|f7[ZFgtf#]سeGP&wγV13"lNVi5sYȈn7K8C']?]`\-QhV8%;-i/64hM"+36 ]T@$2)v}A!L0"  J@KIf˺Px،^񽈰 ^Ű񋈔t^k徶Zz:)1pq&NI1Mdiv1\C8.<2n\F8gچ< !`C3[ =#qPxC HB^ه&< z@b*C/XÀ$12FBatA 16fgUfT DXRG` !&sj6v6L(Gfr!1e#9cQ+/;7ZPyĦ$rk 0deoxI^PD0L3VzUZVSQtO@H:pfgI`D vQ~^ ( !)@G`,dy&{i,'b awq9ciVA M-CpJ6.: vp D҉ G`y9PD[0\7 4)׉9? D-ɟD LP iK4a.QR0zYoٟIڡyZ&ڟ6 YBI3?P:48pmy<ڣy>ӹNP4ㄤ$)p3 BKuAp'30)*JZf 73ЛbW3'Lz C'_ʦ>gux_z3xYZBv\j_7zĄک ;PKCd܈::PKM%AOEBPS/img/cncpt278.gif#eGIF89aD333@@@LLL𠠠000```ppp ???PPP &&&___999rrr///YYYfff!,DpH,Ȥrl:ШtJZجvzxL.zn|N~q DI E C    #B #HD #l%# FEDĞ   % %#% #D #D6jBf[qΥ[]"X>[̠ɓ~v QYBVXb0UT0" *`X T3P,%Lxռ <>*qHѣ)iԷpLU9"FزU[b WD*^J3WݻzjGnZGFZ"װT.ٌ @Fk]WKܺ_~ #FQ#CY^ƨDf](`S? =&cI3or)J)ӓD7.rڦ=4U 'yfWu@sDPE!:i$v$ꮼ+k&6F+VkfvmT0(k覫+/~Rl' 7G,GzjAWw /|Fd(,,,4S2C\<ǿpoo X,Ȇ*0l aY0 >pp;H+h, P_`b@ "pF,"F .AD"})PV \ E0rCt pH:x̣> 0!"H"H0L##H!R#d#'DZd' @P&#0)E@UR\7 ̥.w^,"W)JMe2AyLJ.͌d+MUNՌe!L.ї 8IN]ӐG) Ivbr4fIb3f*OlSY΂9yz̄h'LFtD5yNfGG̈́T MJWҖ.9(47zIw2i$mH %G~z -)1NPBjHu^5O7 ԜTt%RGiTJel)նy|)LQjOZSӞa',AZ֡uYFFfY" }r5IvIjNTnukF ow;{6&Vot{.~[q >kn{ ᷇'|~vUY|o7N􆳭faظuSS[k^QX0/ͥpVznRBCE ! .vBlSyթq ץoFdޛDoTM>kE+ubCVXWHmagO=hKI#ށMY|>[oe]@XiFכ#?SI'/7t(F1a ;*-@6yPFhlH,JքwPgR,TX`~Zh\}1By3dxf7hLӆnp8r8VXsx)^؇uu[,xsW,f6Ç^?39ӊ(8+#V8@؋QT@x,rXrHN'ԍh0v(&蘎5d-Nhx(HHaRG9nԐGg9$8ys3"9 ?x(|*I,ْzt`Б2~/<1y緑([*$J7dmtg1t'olwbZwJfy*phؖwx'O'ڋLjC/jg:wiWwʦos(qթڧw9w: ZgzZV!zdP:Jڦ jN!Ϻh:suǪ*kp*j j:ªjJmOTpvpjڏ[wt:pװH kmq|k ٶH&Jk)+:5˧誱/Ȋ;ZK K ;T4 q#0BN'ˡ9+PJu+MGnP ɴM;dZz:JQKIK0 @`! 72^+V"*0Y@  @س]xڲj;ˮ?F r3}`2ixF"u ; ˫u  @(Ijk뾾I`k%"*2@g`}BAqzR#+|K|~zm[gZ!m^7Kv!^u.̷U $fQ  k8r$9l0+"̵"W{_4c;@ ?06 Kq+K &|(ܸ* [xX ~bõ 2FĒuPɖ|ɘɚɜɞɠʢ<ʤ\ʦL*r :4[OQTAX<&(c< `|ɳry]8 4\ͤ4`|ټ֌FCՌL|lLLUnYm,FKyCN7A&o]=uM{|>8m锞3iַ\r.en׍mޱu푘Ȟ]X6 2]l푭[Ndv-Jƾޓ .E=J__OE"?_(O$.O1o0P3_71~~Ҫ=􂨡 pNPR?T_VXZ\^]J߇:0&AfikIɧ\v?7r?fP,5|5d D<]/obz}vO00`F-I`M^%e&KO\F0ߞȿCʏYEKJ9Y/fP$X4It>P^Y~\$\6ivw^ߵyt0F %')+--579MOQSM;["]ceg0ioq>BFJUYs)aqmwE{~[}5 zL>81:k/aGRDFdIpMb.p8f*_ĹsJ*Yft&5"O|>-EMRMUCDjE+WYnu6,m7%XENZXb,0& / >ʧWuvsk+]Ksvm۷GLvn޿'0xqǑ'WysϡG>< о{w?|yѧW>1~}׿ P $0 LPl<r 1P 9A QI,QL QlaQ[TqqQy R!,#LR%l'R)+R-/ S1,3LS5l7S9;S=O3(@A -C UE R>I)QH%TML9 Uԧ<}T+@ B-PUpSu_-A\ hB (0X2_}VFmHi(@U`p=WZ,0iH lL)FE u@~EՁl8e[,P h-7Y p PIlXugUxٌxpqH  UQ@YjIpC#l+ƾUVhbh`R[[%zii듴Ob$59Ϝ;]`u;BW0{lL@sV٨K`ޒ_\w/-/XceNXs0^Kl@;W>lm`qNxwqMuշ xߏZF ߩuūx}VXF< gl-o@ؒ1x Ȃ)t%DB-t aCΐ5 qC=D!E4b5%.M֎4 @E-nъPh>e4јF2at#0F5Αkl88֑idc7ܹ#H;iL I R}# 8hovA(*@@]4el(Y:^2iT* {NͤRsd2/@@ [. H@Y .^ҏudg!Y-ό7y2Mjx W-Ъm X9o8XNq Y$%s UVH0z.""Xr` hV֭m hIr~CyǒTUKaE0 @ e%m  *UFEzknj Epжc4"K&*zŒ0dP`)ʠVFv-|%xř`pŦEEPtBO\pj8p>gm֮ϢnmfFE܍1Lg.S ! qfl`\Gih * ofc`Y$-QzLFrwh0eeep p^QPe̬btD! ]R6ې)`RǑ Y\LrΦ q j0aܱ2w֮#ǾNZBiP! V֑i,ShҐ c# `إ!m T ̌OqiZ$3i"7\l1^H^װ!"! Xƺ'etk2_4 N++f+'VPv<&ɮ)9E2-1+-rE+Æ!QOh2JHJFT1-`2m`B1iJ2k%qQs"j<2Ehy/4FEXSEps>G*0$1 ՘oA88 9%s :;3^Ϟ8@*MgekIcؾSkZֺaU!ޏ[Z\0h5 7YKoYٗٲ'&tbY'U2lT8wf} @ p;]=@bb*۴DiqHfHa^L9A1@*@;|cNPcTߐ`EKB M(F)TViXf\v`)d"2hlpƉfa̝x|矀@{tj9 &袌6裐F*餔2h\Ħv駠*ꨤjN@Xjz꫰*묞: u믱ڊ j%&[S"V6)lbZ^i +ĻƯ[  G\* {A, /q_slwZCz<0,4l8< ,G}H''2//-TSB 55FW`+s=8qtl+=v'5ڷx6qMw.v-Nis 7nq/8(7ny؏wRW9v硧4ٚx.n9~0Ko'7GD}lDw'*TOj[B|/12~%뿯/_ƌ~ : H@ xۨZ匂z_"@rf`~P#N ޏ.a`X<ȰS4\,888@= ";*OKlb X)Rъ` *BD4bؼ1щ2c"a x̣> % rLQFi)h^ E$$26L0Nz (;yQ$&٧X 0Zr<IIR2O/%cmDf.uɽM%^P.N̦(L/`)b L')M|\^DҘuTg:6>xB橧zBhȊ0"'.2!2G`%g6@dPܳ@pPSF5eNIqHdTdgG=u@#vPa`OHDN'T31JS\?-9:T)ѨH]ԓ BxOMzqDU)՚pCQqS@/SMZs0?(tZ *V\ f<vYQڌ <}ۭ"@hj ؂,PV` L2p) eb;b$tVdmHZvUf,1( iMᛒB3Ū8 EO^\R( ^/ofEn2+^7wymM7[X`X Nq甪6W+S"Cb䬆?a#=P4_Q17)Ll  EV\;˪(J\U $@2"uWy\BBڼbʋmg4`"#FoMP El<^!g qص 9hU3s^ыF71 *ل`*\Q. ͯ;#W zo wMW|޵g,>њ hV:[ޡP|3%MO pO n4R✼x?3qq\n,v;S/|9̗ 9o60Ι=&?dDzyMW駄:w:NF\ƴžF] M8v=n'sւ`ggw2vՋ n/߈i}w0:w]y+^~7Dп*~W|Ӈ^ly,g}>ު_={XbO[_{~mHG?뇡Oϟ g|WuI ؀N@ N`~q  H"`L0?=z 0"HOP (*Jׁ&@ H5h:ӂB@HOG=|P0(Sh H(*VÄ`(cXphlk胳|8S%THɀ0?G=lxn؇r(3=`YГt׈΃ȉ@0c}hDž煴ȇ(L`2Xz8q(x@" X<ØԈ ׈؋XD؍_X0Hdz{@X ChPȎP$hr͸t96ȏ BH0Џȋv uo%Y2`+ɒi5甎1'7ȓ?3iC9)K9AOE HcW)My38=А$9Lj|b ~ twnٓ|*e RՕIrRr0W5hI5瘛1i/p IU R 0Yٙ8eМιy`/ɝ )aI)ȸ y) @ٟ:*D7 MRTR~Hx >wnd,Q2 M":$Z&z(*,ڢPps-<ڣ>%+PN٠ ֦YG\\m%ePe b:dN(@FHZPb6PW̅m icq \ `nQS*giZ R*ua݀ZO(4QR f  aڨZ<b-c 55u'pe`!ĕk*jzA "k: j5z/UYaUѪJzm?v)$X ]Ae֥X :Zkʦ   VD_ Q][pa_ Z8[Bq9;?j=j0@K2KPkjzKU%B^F+UM_(bk@j;#ʶmK tӵtv{W+fۆr۷sz6|k^k0XSۢcKwK;5[9{분0U~<@gi $ZoK;KcؼQ%*PӺ{؛%`Dk+j.Kki#˨k`[;d:$Zɹ\ < <":Y:c\x$ܣ(#b/|NP8:<>@Bɛʸǰ T<ˏܣLw&)6(n^"h᪑!#.&.246~ ;&=n((=DeܑFAN9LRnDž}qZG&=^Ubg{5aüo$焋[mH|L~G1yNgP^KNw蹬~~_x˜ݠ%~9.Ӑ]঎^ح"ʩƷ.J^uְ<-F'^؞Iq`Io..>4>K@`|>q@HP*.tF v @mF=i   +?Ę鞐Cƾ%. : <5Ɛ"`<S2`<_n~p#:*'cDC6@S)e.%rTIK8=imf͟ni'OU(*%S'F[JӫJMZA`/i=իeaӎYۉiîۦqC-Y׮Yy+ӯaTذ]ĉ-N'wl/f9qgv7&Mo5fn3ͦg1M 'q^/-ghɽMqB_Dxn;7'4ȟOϿ?%מW߁&܀]1A0h&`7AxN$y"+8'3h-(;6ӣ9/ˑH$T.PFΔUvd9\zifOYcgtfrYݩZz){*"J6e:&NMhfi^ j،Jj~2䝮L g"k9PhU 4GlxlZ8A (< ve-Vm覫&;PKS+1,PKM%AOEBPS/img/cncpt001.gif%^GIF89ae@@@???///___OOOoooРppp𐐐 ```!,e&dihlp\R@mx|"+ȤrltJZجvzsL.# nO{N#y-}I"~~guFm v*iúr%hRMgLfKߩeJtdIsч ȇ7kJ p^E Xa ‰ 0lBDp8O]ȗwF2)IB+)A$Sc<: #h0Ja8U%\x* ʞ Q%H/Hn+V0L؃rK>{[N޼raLz^ib.̷ e> @f_ǎ!\ns K)_~,N]CchȽ,߆l~2QȟO} {,~{7%#_/BF5`}!X]xf!%!L fc!e͆N3 ЈΔh"@(6ˋ0#c/4(΍c6ez;N*Zi ЀN@E$ƴ#${߽/+Zi~ ADa0 *_jrb,ұz@ApȒ&^ zD:{:lh\s;.n ҃}HU\R[i&4g/jY}5(Kޜ߀c"x)~O;%$D>+b9(gntB$耀{RK.cbt^;%o<Kf4!=#W?d}+h7b>H觯~'"1o&'  *d DA`I?hpp`B>" ܞB p- 5d #ԭ9<[Cq&fX%↉F D@1UC{LY4}xD.e<Ҩu__F7=#0Ǹ1R4Fv}} /8򑐌$EBLzŸ'@KBF$p p *U V2/VW%/]1{yKdC(0h*Bˤ/ljd7ɋp>bD9%tbh;1OJ} >~ @JЂ Z9䳠$ JъZmh3@z HG: ́$MJWҎtzLgJӚ8^@ Gy l.B!j|*Ԧ:UJmQ7ԓ>X]iTY1T LͪX*jOֶì@+bچWk)z.Ū^IW v bY:Q6 *p3$vicAX4%Rmhe5ʚdhWK n=P*RV]jJ5l`[7 koa[.w eBqp\2$7uAs}2Dw Ӆ,n`EqՋzv`UyY^^t U{e ߵ& ]ao] ` vB~`*MA0y)K[<@ p&#X=jB !{X*0~/X ?`҄);NN&@%1Kd$`rdCy4Gku`|UV:LJh \`9OY5F|n-]=~i\E PitӋf% Ò3m" ک,]fn©Ip$ҘCuh,tFmIW@h k7 guvm$p~cPl%~l> {TyuàA=@cAޒ.uvcںuiu‘kOe Ə"@ vrQ#ԙyK+qbS)e;"w[:f=vut 'KgufoEmՇ|ud}[7Կނ3w&/`F= ^沯*ͻީvP|s-;>$O O|{ɯ{[P/{␿ +X\ xRB -H6!@cR4H6`RVM#_,#p0y&+h-b!amEQ[v&nQ^E4" 7B.Aoy%ƂB `M2-SV%!۲- 3+P Y0fzQP. ȆR3DqTPp v (!%հ''&Rq&Xr4hz,b'`&ch`҄o'rp{%*p, @.X *1 ȋ@S(hr*؀V(R%%7.aA$+r np(|  p*d)2ư'hrx ,V Ks2 Cq |.B( &y*j؅pe2F6Շc" x6G (: { p_s."}"4a.@.l4Mӓم),d#X:İ'P 8:3oȀ42pho(&qm6RTQ)Xz&]a<%R0'Q`S *Ah-) X~Ȉy(Hxw(3I(ƈhXҎsRR3r(jCY?C9(wᢚa,2Q)eðRlIcc[(zVXi90x6qFDagX Ҝ D'Q &Xc8€ w@)8*H O'7Q҂/,(17 ؂0oh~G}JǣgEX'G^fـfǤ'GfπXhwIť)J}z: { 2uZ0T~Qxy*w|rwW꩓ hXjs{ j* NXzwժ'5 Vzz J 2@,B "W:ZY :Z5箖 ?*;HXzz"y R T|z)uhuPf1g7j2')xh|&6rsxF2$k)v-BО)uG bh)w&s0'  *lsRM{{B.x7M٣+u*L.X20€y,0i)*DxHcd aR G񕱆zv**f{..2lűZsuۀ鷋˷X_bk ƭfZ 0RD+F Rt8KV'P%ѹLKK-+l`%$u*h&j0;*؄` %mq4 ;04%(4A-ۧX '@WeO$J,,V <" 08.7N5ZÜB:,qIKܱMO[=!(j2w5iB!7+A3ޫḽ'@ ,J0>edi%n&@ &Nunwe$7_UI1Xn˂7+)3immuT8K$Bΐ=cZ~UlVadx&OUg3f G>RlEf0a;1Bn& a.8ٛ.=W>:sT^> bN۫~TN.n kNn.T><~Wھm^ .]>w}2N9N>_ _O?!SVvl *ǀ?ƢkK 2!7*:p*ȀƠC!1{ȂwqdyҩƐe 4qX&T0`a&Ap*O(q*De8 7YA0' G0-J66 6f*C:Id4gߑOcXr(. #X7W;|=Xk"0i; >)6ak*&Ϲ kk:)#c[pɛ2fU3 @/)'Lתqnɸp*RB6?[qO0 5d0 gH9v㹾}ЂS04Jw 6n4;&h:LCLm5~A@L ,!tm|m T \yq 8 (8`JxəBBlAZ%< s}*/3爖j4l Fk`LWj0NBJ@(&7{> H"KE #Ƀ $)p^J4@Kƍ )ͳ-H04̐?i_h)$%J0A?u.q>7 ?Q-sÁ>RDJUB 0"0}m`?&-HT`a<#ѵt)_%a0 yIC0RÕbWjX9_5)qOb)@1 1+ ˾'1)ʵX;*5`B)pG Nt 0XDˋ sTYDx!{⊇S|hbKGTM)4PUL&{TV)FҰ:">C*'p6HP)N4l}N׋kv3֍ @R0Z; K粜\ɗ0'0vtG )ݣ@/n;3P@N" @`Uܟa~C/.a{3\4\^}xVdetv3j .+Y&N{0 Ȧ[~;.a}A1{0HhDF,+D" J̒N.&(Pda D,Rx*C."NԈ( E.,Rih )'%7H"QSQCVLdX pI$i'3dh `P\h@8#^9blƅ?xB^ۈ'bჱ;pGb E/zGCnP|j5p~u/72gmWg|Xʿm}~ /.ݏe -"QY_m Kz \``2WMZ z `y @ `w`@ `v.u5>tEaNasU!^qe n!qu! ~!V%GT O@n$_{ Lò\̀)`*!,4BֽᓥW Ft+DHLC,P<ƦB)D0W X!Zu@4XTBBN| )\GN1m$Zd;jPBh#BFO,cWHA(O *jʢ.Ԇj@QInrDR*n4@Ct*LWW> *C^a$*^@* $E^%~VVUi.kP\dDΌmkIIekȾ*kb!,_L% lþZB,RllJ& ĬomƠ=-Fx1-Vi]-(dnyum{Z;PK*vv]%%PKM%AOEBPS/img/cncpt315.gif$@ۿGIF89aX666lll@@@???rrr999000 pppϰPPP```误///___333㏏oooOOO;;;vvvםQQQ(((... XXXzzz***UUU,,,---888555444777GGG^^^<<>>ijfffqqqbbb䜜󓓓TTTttt|||BBB+++YYY uvu]]]###\\\'''[[[~~~RRRNNNjjjDDDeee&&&III!,X H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI8YDx`C͟@ G}$uJJUFFn<d8ZiTno˷oǬ7R 쐆E:8N=0KQ u&˹cv\G7ewP;Xkװ 8XEd=, DE3Au~-5jlfua %Ni4/ӟ!,RfWQ;_~ 0Nށ&Q@fY|fՆ;z`;;-(sGeփd@Tactc9gD0a*&$4Hy7E&Ni$ ,,huZ]Xjy]=(n-lp)tUY|砄b쐥_.@@8 裑(FXwT qu&`et(}1aU֭5#ak,FeP śdh6lfmCh}[̖@`BnFLipa+: T;YptG-pa(Ж],P,$l(,k.P4l87S@(.Dm (,eGPG-TWmXW'E`-6~`ƴKNc6s'FF_1'7#&Q@vo砇޸bcЂD88.nY#@/ߑ~7 ~b$ػ~|ʗ|廫Gݫn>~k;}_s>}3 >wc`@,Ps {_çqp٣ CrA: SO3| y'>O6H }D$ȑ!&vF$ %Q }ƉT]s0ΊIZBƸP)F3n)g%gpt`L$" pXSRBqxD>+2Zp(Le3%%ldzX`3ᐩ 0OI0HCDki[2D Dd IDadfqhHrȦ:Y)K(ढ8ACNN8A:y0#1!L` { & MI` @PL4 HGJҒ @](LgZRLx[5+SEX41p 2E:PTJթԄiVխ"ozHgOǪ5 Bvԁ C7UlMj z׾M q`KMa\cֱBH@ V]Z@FNJfm'H[h OFr@u$|0{36^*H⨥5IP0z ^ 0 z zzz{11vG0{-PCuf*p(u`7u7X~!k aGЂCu 8va'')8|KljlGƇ|: ?E 25@}xrFC87<) ^@2 0kXH$F( (3Ht(vLn/P8uGC{x\]Gg8GqEvHH|Lx|RHVZȅ^b}~gHxQЇC1#@[Rj 9C6P@gCLPp*l؀;PP@v/fX]PЎ@v pt&38a3 ِVkpJX|Q8UxY]a8h-0 m(<ָ_ [_. `.)`H(; )ublv؏yjyCPnɖl {aX{AbZ.ypNj1K؄xĨؓe~hHp/[0q&b9pz&a n0 @bgY{(x{k9xPbȘZg{ii;$É{IIi1|3N(8Y;>dCWy;#uAѕw XaY{J8*ɐ Aw{9{Xayh%{ /+ig2Y5鞙iȂ؂GPvƊZwC::{*Xj8k!hJ:h>əCZB֠Dc a=@!^` @GG<ڞ ))r LZ;0@ڧ  k);Jy陞*r  ?#^`"&va*<3)n8E^ڣAڳZ@UE>G{ `R $1p/[1f%{:g˩~ж' Q`)0Kˎ$uۺ5Gh8喝:k@K .A8@vț oA e .0*;f{~i]]'{*[C 6 rYBmFŝ ~LNcSf@Ǩ-u be | ֚ v^Wy b8^DFlSm >.ِ; 8d^{na)!\EIG*U}?҉=HNRjS ߐuFbG$ P {TS.IL }\RE@Kj?u6xy3` :~X Ks+'_A;>//g( `p'ˎe_z yu^(,*AQ-pc\^?zT9Leho0![E%41װ{^J  .1`q)Ae [O`)6`=ul"-UϜlo T 0 + *H)H'Dj @u )Bv!E$YI)G P!K1eΤ  uDʠ*K #BhJ PeHEYu:% kWaŎ%[:=eV$uj'E5cuW챢G/c%8 K8qDLs1F?,tKXGX9]4"q$>G t-tFaD P:R@ 4)|0P@O}SUC%jQn4@gIѨSjU*Oe먩{+ # "x0쩨VյYbf2T׬$q]O[Jue=ĺU|_-ظy'Ԑ앯hc̊VMKRȠI;Z 5mn-V֚Ǵmq&Fpq\61:(]f9,]@]jWMIuWU7i\WepS[6Woe;`kmoF`m a Op=[ )ML[e'fg!_m %7Hg\cx1qYbK^mO 0Yʫ0T)g9-EKp $f3kJ'LMrQ:< YHH <1fK4 M_$R @ @X$%p@jC\,iYnLl`Md @[uClcbYkHĐ`Zt,gM!A=$  Ps]l!9ﻔbeA3pC1#&eIcv_pyQ ~e爯8ǁk;/bIm.61N&ߗ*ˇvŚwZ0IRQY:yl XO uCo1;C;qRຆ;K=쳼r&x" K9nB(l @?ۿ8;*0 ً>A;,4+7 '@;cB룼FA3 l$Ӣ0p4pPN˫Yd/ "+;ڵ>6ek}4/.P)D=@LC$F*nbA86vR3N8L6d PSDD<-\5w +::YģJ.d:U:UR;^zbL990PB8ƐPAe2.SŌBN,F)+0G o{;;(?biN4Jn!dX+Gvgk9\P6몱pDr<.'k"9Z]0B3;c :n6".p< 8, :\?R#0+I.A"HrƑHtˀ7.ړ>,=ڦJE*s< dyZWD9E\)'=\uťҫC}URܓM@$a% ]vm M\!]Jؕ\4kY]e=2JFd[^LD-^-^ sr+03 ( yX-]}9*8d_4) `ꕡ_´9`ؕy`V U[3 `a&0+E] ^.e+a$N= 6!RVb.a4л)V)6*+6 b7ueQ-X1N4Р-4tkYy)4xcD`5X\r<; k"*KJ=LdP)uD> q\WqId&5(BF T>5@i>릀=}8]SfFfS&Is=WMeaYPz X^tNgu^gvngw~gw.͈Ce75X5(b̐$99%JJn':B.v}Wh}3X=X\ hii.鱘p< Fzu6$&|}gi[; 4 [2JrXY$nj~j`Dh)=%1.uP(z]5psL>7.K+̥͂㸃tX0:H0xlȎlɞlʮl˾c;8Il0.V10K@+Ek4hu-M ̀C@.7 |;gNXZtXthN n&nnnnnXM]-`$0\80@N^0@.6;NǠ\8R+;葬pྺ~G>yM5y=W3`lxqqqq qyEW\lꖒoxuGX9-x)u؄%@poMFm R L7DU#!!@dI`@ 耓8t`h 0I#%8 a<}8p1$1Op :cBwhﭘXXN7 8 xQRW@uU bHPOa` "P[u1'^`wߙ%vqP 8J9Yvuv@#X8v0(@&v7!yvvtv`XyMwy!#y(8xggoop?TsG(Hh}w].oߣ5x Gcݮ~׊uh`x8 `hz?N jgixgv_&(g8Pxvxvh?! g}g}&`c 6qOwG`{7{~.g(&7/ %t/ |8 ``tgu3 v밎2Xw!h!"ȁ] ACKn̜ 4"h`c$ `ǏEb"G5HAD]&A -FU-ܸrg P&޼zK`sG1BJ HXb9@p̚7N@}Q& [d)[4uU^Hvm/ZPtC(3Z<>@Y&θ< *QJ:*UZz+Yj ,?;u%n l Y.c ef z_gV`^6t -TdPwup܋#-$u :38Av0+X;,tpYwc 9w75^yA UQI-SQMUUYmWaUYi@@門$ׁ# ED1#hJ Wi:} ,PAJ0tM-E* 3T@ ԪB]W㋰)G;(Rfw\;3 5y)^O?^ޚI_ѩ(9}^zi[HȀ W:⟙:ͱ:/x#AT4C 6|QFJHjoL4VuU @[Ղe捙Y pgPK$@@ eV;V9Ĥ[KĶi'Zyf=S[\N흵Qdwf{j|p7g~iQbGmV 1`@PG9If>;u)[`j{Ax:{QyI9C <*M&v ^pi݋<">t].K7" ǵ<}9Y 1n K짙Iv |`* RpG4q5iqA._#(Xk!ALG| *\H"ⰇsF<@ , \34($졀pB0.LG _`)/K@>-Kv#=omٵw>q۠H<*Wa]0 R$&) gy@7p`G [G( oC&19F#%.sj4Y8 ω E⌫:.iRּ&6 N )EcH}JD3-!'@N}pi@03Mu0}(D!jnA݌&BX&RdgDS#r_>Y`k"8>)@ |P5F ZPnn1fRpvH1"iMzҢ/W=X kD`$\C@OX@&P^f3;b.& ^UMS >OaԐu+2y B8 ,^@ ~%Kƹa[bE:&{nELg>3m=N48(A>*pSjpLlː Bdt$=-j"Za8BD0 @e Sol3#h831.f ̴i" ״bv#ۄ'x!Jam %ƽEi|[Jˋ!`:*c͐1S<#b7ʥi{\cTՏpfhSEaTԻb %od嫝3H {V leAWY莐J~0" WeD]+-LZN\e,AlU9 m̻<5SU6!$u&BB^p9g=2 ML&)z@*K&^*NL:nb-qA2#*Iw$TdFsOBE8`ّnJm{/,m9I2G=u K 8C.wS򕯜 }K޸d"yw30 $sDmo>$C+]!"`6Sp!3<daBXF 6v,@z P8267-۔GA31&߿&:9%CXa|GSYDh*xj`-Gi ٛa҃ /(NIw"uhƫkꜼ; @P5:9BHmt6׭:dEjQ &5): G[%B kmޫQȼLH޾X AM34@ Xai_vɰ: tPM桘\DeXԠf\P @9gAMQ1 lva:\uppp\MwAUAYq VVq^ "[8*` :4@ :!*kBBHESl @F0kL@%Bb v*}aQ ѠC"@gEآAL!a~AA(t@} %s E0@B%A/~$$%>%Q&ܽ#E`'DB*" `m2Q33*P44Ru' B>zE@B:|:8kLxH8;PX UVU^%VZe== dC Aee L ,|.`@iUD^eEUZ(FN(VާՅ~(wYQ.zZ@EF *PAzUOWg)\A\hpcSFFT(&"b$)D-vvDi) `S>K=ũ)֩ D'Bx'S@ |ΚO:T$5>j^)v(z舮`A hB͡vOTALB*@hA$ƪ*֪*jR눩]^ `A*ij$jW}Fks VY9. e5O:1kFXu++iZ븖cDBΎ֎] @ͫVjr+vNNn,rh>,Ȳ˵fؕ}A,ʦʮ,˶,ˊf=.5lެlvmX,-mA"l,>mkV^-fn-ת(2mD9-Ԗ-Vنm:ٚ*:\*-V]-f,g|[>&.:n^-.6nmnnDL.2-澭rnz熮َnږfުnzή~-R~.Qm:2noJ!oB&n^B/DIl,-voFʉފ./ǚ/~oچoȎ/Ӗ/:8j/pi orGVF:\X.,L0Qh@/\.@orp :ӨpٮC +ilnCpKVG/C1߬Cqp51>O1Ȯc5n1gS{Æ@1ױ01q1  2!!2"'"/2#7#{$ 0%?2&gF\rN8@l[g)/IrA@DrIʲD ޲'2/I&r9@:dA1#k@o0;$:$s/oNA;[ hx:qk@@\::C0:D@8k;373Opx ,Gl51)G5B74Cl@$'Q.GC7:Hr61e@9ttKP2G}.4O;7!9s4J<2/5ۑrLG^DpOgunrk<35k> fP@ ۴C/MYZGQH5Vߵn@@.p(G5;%@^@a@@odVfo6gwgg2hv22i&5xNl:Xs 9Z 0(IvD(6)el'].Qn+<0+:PCg07Atu+xScF<<CB0 3kx߷>-X%tDd@mOn4~'8-5F7o!8;Pvz/w\ctt(s[3{' 77jwkCs(τd2>8(89;PKmS-)@$@PKM%AOEBPS/img/cncpt250.gif/1GIF89aR.???@@@rrr999🟟OOO/// ```___000ooopppPPPIII***>>>|||eeeUUUWWW:::yyyGGGdddvvvttt<<<!,R.GFFLjեچGEI _z*$4p=Jp:3ګƎ q #ɓFfrKi*_Nk)f6w0a8)(FYM4ҦB*)VRjJ>@X`NJ+HD,CfWرL`  =D0bG@fA, A#I02Ar4nFTa,G@0A#PW@  `,!zύX:giWO0Gy}%T^[ga gAgхMlSDM 7ffQah#+VLgU 8Yh0Yˠh!ij*H aYZl%dn):bb/x })L%.bUON@n9X%!jYm \0!  "=9Im@bYeW[L AFt[%xpn#((dJߔx0sz &%+tw ;n&p `{Di՝B\ԆteֻҽIB!|wdp'6D'U\+1`wLc,2@$Se<,2T0\Ml;83@kѨ튴G/M=P[$f\w`-cnePp-tmq@ |>vGd''%G. >xFWC'e?> s>: nA /;Lr %LIo4}}}܇|}[3~;s~~~2G};r4H@v쯀420|`"(Q ӧ d a!BHBP"$ QhB$,VHЅ6 CCA=<fp$K0On bTh\ &EK1#@h6pt#!7QDG#3=QU#;2$ xE"JlQM,}tf8$qHK(&riG)"X./Ye@8JX>"xT'AK"(MC00ER0H/K`SY)Bdck"2VHGpVp"X coIMFXӒ*6&1ՁV 8Z 0 p E=wYTV$@8A:R8l qOPRm$ƣ)J|3R4L>,*AITKaB'@ 8)bAIhC^ EȋssSƬ*}tc&BjW!1IgM\JhL9 VwUX$!笍(;ZϹcRF1 Kz`Ӳ6\,hL{H]!׮#akat hޢ ; `.9@ÏW \n0m:+\d‘w̱w;.PH>1f PcAb n}Mʐo{Y2̏s)`~ÎPsneAfĊEыpt` :&lxԊulK/,zQzk i|!L} `礹PqU; :u+-:: ΢?u Sa S+Ԕӧ"n۱g^&2|"Цࢩ^siC; xpʯY3fZ{h`F\ gZ WS{2tD/tU̍g?|,w|qC_>̬x0zK/+oÛ⼚9:ћ ch&M_X#J{ RVӊ.o )˅w#_ G%$T^ pևfW 3bzo֋5ggS$JI_||mIIǫ`#-^t2}b)Zs R~"J102 ژ_jo~JzjPg Uj w*=)+wq g"/G&$pbʰJڔ1"ߑ*DIG,`T `c܁'gѭ*@) X] mɚV?e{fJʄӚ{zuAj>8o+I|~˱rw&@e;cb責jE旜۹x+X;JF{XG9ۺzc6{˺DHע (8C$;k8r/+ˋ;9K9[{軙00 {i[ bp )YԐ+I ;i LK PK 윙P&D`sp @ 9(ܿ `Gj$ĉ'@>Y[`| pYe| `]q,A܉xz,Zۻ|)YDŽ\`C`ɷ9ȫY䳶FD>LxpIkIs! BF_L왈@#6#p# [P b| `A4\@E#T͂pKáu0Bj<pD Pp`glGP0pF!@$ C{ TTy5.HWtG@DŽGD4`$@\L#Pa#C{(jYtlEDuM|A'ME -g #`Ѓ0=\-"FTG9 ;z0-PLGDZm0#n~ l+S&=""A2֙Q 6gT ׅͦ$%}`s =ٴ#k 6qUa*nPSMr4M}z-<@-=Ŝ%FCpD̓GG^}/fΪpzw`Ʉ7%`CMDB2q]-$`ϤdTB4 ׮ 3R]V! G4qل BuB#A M@P|-D`6D|>BGBCF@CC`=9 +:=mV'Ax4%Bj8.F4q9E߁T^> q i4xDm3$Ӎ w\H}Tec tH>@~˥,1 F 1 =^~븞뺮?n >n }X0Ş>ǎHԊobpl>^~^FUSأ &#oIXv ʊPz1*%Qc9lL>:񞳸dz{ʅ 5 $܂ ";&On \Mt)3U{@͐#^0GJ%*MNP 7LONZ*'H aO:ζyyVDM0JЧ)Qs u>.yunƾ$N??I2p Nw_5ьzqOޙ/;OEF G& 2F˫FєF΋ԂFEśԿ  O^pW?V(;\)*J+DR%˛\YR&J6q aN"}\tӛH?*WӫCz̸dS`)jƯaQ?hF%ۋnRȻ2ʷߏ!*4{1nႇ=&nȕཏ?F8Է) g޸b炟fMѥc[:6ٔj=IlڶoS{dp8.xÙ;M`eYGRϞ@FN7>՗|׏^>y WC{)7 z)0Fct@.FXH-Ih]]=ᇏP∹ԆF,0(435<؂j)M<IF&3JdPZB=@A%r\P$Q9%' P %t0i$eBy%iITyDyћCA %D0 \Ad@ p9y*'NrAwnpA#@ªRRBGA" i|@":(,%RR@{󁠴¹iY@w|0Hz WAF[nG|T* {w$LfKev4/{D@n"p2/[꣨;眚,yj̱؊0 'сZ%FH I@#[@Ls6 p $W-r\y۞ʌj R ީdpeSRh%tjw\xZقxV_]=ôdhtnDܣxNq笫.z|崷9{iE0zY wB|">9S%<IPahMAdJsoÝ܂gȔL:'.Yk#Ă!i8 ey BDJ=0*l '0"T ח\+9 Axh~^!Bfbqj bDX<'jhn A7c_R\g%l5ޤAW`[Q"d82h/xڤ' 6ldc@(<;q/E뒦"@#lr@>yOR(9Xve`_F*!$ ٘R |ˉWTte@: IWrYt]*U(C: *1LmkNAeL]5#MޱٳItS` %H2w6:@Ilb';73=U4 7@Don/aG=+QdzH9t@YV\q- *Y3*Om( [QHhxCtC<ZZ; vbnE(F`2B<TwP;s˰$<H@ta?XNp~`#ZQƊʘZ[F:UȤ.G1fh󸴘ibViD8S~bNc12P' W ١>C9U W:9>* l/fMXĔLCCpL}+HTWkAUMJ'/҉~A @ǖk| 9ގhohK&+c79ݽ1xw'`2,EOѬ/;p|փlp p`0|usgȌ''T2rW:%:SNuys^$؈i6Tƪ}\c1fHw?R)2WA֩4NX|] ū| ?@T$sx}8d9c+tos|zW'A~m=7xcT EQ|⼐%Vɥ|Ҕ$Fަ3Ao,\.PV"Y_yl2-Hnu|-~wTAs)GIQ:\0 o)L>rbBMU%P,D2R8LO)'w7KxHD0t%0zTOtBk̗x-nO4P6+O B30z7UD QjB91%v8#k1B&Q- +V#d4D X+kR59D<5Jꒄ'R-0UtCvDxnHBy+qBW:s.b;ƁaEjx,i(It%.CWteVҷ 8@TӁr.DG-O"`(Xr./XژXUf{0`H)eɀЋC5A`tP)$%J%EDtnEÏAA9Y@ yXP 0$Y&y(*%i02)r)!$ғ ">`D[dOёB "@Ny&)۠Oi!MyAIyh pS+#dY1r#`j2#A`8؃}p)E>tYx듗z{LA~x7=ɗӘ rɘ9 #ٗٙÙ '@?TI/yP> t>Y9߳=ypC镾l5Y@pS ǹiӉ ؙP:vӛ) ;C) Ty 3!?:B8Ԛx ڠ[rǎBUÞN!UDE C IFڕ Zh /Qɡg%ud7WkDe߄3BWg  %K&Z2]VK JHģ4fHQ-<8)zc s ~S2 C~7K/:COUTQm-$+4sC}Q,O,&HeG ZP1aTJ 1U80VCI,Oc'aQ-Py#P3]G|(D_P[Ei7̐w%4K.f,HkS@zڏ Ua̕`Z lbauaZf\0ర<6 5uP vZ%+CvU3(9QQfe2!zڜ U^``ucFApb0^\%%ez ֺ x;#p8 +St0*x@M4DEPFG8ֶo+bnk ^tp{[i B H дP<+@!"IT%QGS,²n[QI}RWR~`WRQ h+kif`i{[|k E`ߠf~ KBW L˪JFr𦇂D/u03U)%7b(./%|nwAf Uvq!^FubRGBŻ+fkjSz:zB+ bZe|kp[cEme K `k GZ F\ɉ j &uZee 4֬GpcV xl |P ѲZfmK KNǯ_хui"JVl ̒hSĚ3(-ͦ+*-͍ΫoQL_Epml@ eKMl݋m1~ *}{$^{+/' !'#9-?}+{%>79|;~}/~7 ^C 1^&3A.K M%O:5=ޡ?~}Q^z[_%<6X*h4fV6ixz|~>4&L19᠎@$2.`~ꨞ꩞>H'',aZ !YY$ ?¹p!=^@n!Ǟ>=cɖ֞#hi׾f閪6sΛt^򠛙~(>{Nβ箜Ev߼s^c.~4n.s9C ߞ~9_4G9, 3 )9 580-əD_II T_VXZ\VQI0i[fhjlnpkO'FRPb, x$zJ.E~({AowG+;y:/$Wav/$$ %$"_/嗟:!/;?: ;:}" /*>?˟ߧoo 1) L~#g Ȍ[NGj㉭lQlGG GFFEFFFF FGņ øEFFKH1s,iȄ*6XAG%0NJ E0˗0cʜIeJ{#sϊܸ:¬¤b܊%`El3ӦibBXJ6SNdTe\teL 昸|I&>b&#InƹXrfkg.wI~g]JZx.JRh JiLPަv駠*ꨤZ*S^&0꫰ʊ K. 뮼+k+PqγF+Vkfm2ۆ+;n ;PKy3k//PKM%AOEBPS/img/cncpt199.gifiGIF89a]k @@@Ҁ///___```000rrr999lll???666 ggg;;;vvvȔPPPppp»www<<<333[[[+++888SSSqqqmmmOOOkkkssseeeUUU~~~---MMMJJJ'''|||>>>DDDYYYHHHBBBXXX!!!%%%111}}},,,xxx oooaaayyyIII:::222UST]]]777***555GGGuuuiiinnn444\\\Ljttt͝*()###^^^fffFFF=== GEFccchhhqpq(((zzzZZZCCCjjjbbbcbcTTT...dddLLL&&&EEEQQQ)))878NNNRRRKKKVVV{{{WWW$$$!,]k H*\ȰÇ#JHŋ3jXqABIɓ(Gq@C @&\ɳω8MѣH*EX1JJիXzyS8Ҥ,7.]˶-DT [֤A @֭߿[tÈ+^̸b9ubl(\IdEϠqNRJG"hY k :pB2 ҝF}4RT:ȓ% `0УK? %,!( ],")}?;퐏TYVT>$,ŭ'&\"FN 6F(k$VFvK}+tRhR P&RU$‡0˜D'{Sw<vQ@ ,G߇ӈ^prD8qG+H{Pxc`3PcdT#n$ Ҙ77. 5cwDeCrsQ $Ȃ-8 d3 W0}3Mf"@Ix6)`3"u@:P 2|*(1̵$4 _dq@=Q1hCόLc59Mm6 A?@ 0bp ZNv'=QvYaTs >xh@g A| <Bժ _$E9fthHGZғt-m;cUhH&HzhCO!& `KMb:yN|M3XxfEQrԣ )IMRtjii%oiڱ֬MKDS.L0 " zP,@K!XHN&;Pg,ax@a% uj$q8Z2!O+VՖhh'26 f@AP9L7! Jtq2g]R1fQj(kuj*{b87,`0y(ڸRI"=&E%p֔yiph4TIrV 5L-іmN/^NnIM $;SHJ؊.AޓlLgehqpw-N3iU}^y*vq;մf谆;D ,̯ :!Q+҃#:v[j_n5>u\ܦ VSmY)970}#/פ̱Md6#lcf4)ΐXB i(:Ңօt?ŒTżYPg:Gtbw7 g$1xJẐ^\Va%2׮4} .[t-,0k2S{%_=fȿCvͨ"zlM~ ~ł&4 ЃU@ u 8aFxyWn"vklVgzzZ~\x^ d(f(-‡tX?sy_Tw]ަȇׄ`7G̰kj%8(*!Ղ$h578W\m s^Paqj&W7v6ژWY8[؅)(+ceg8Шlֈ;˰Bq}c8nIy}zPV(h8836նXtؐmUw ` p  ч"wyOHE TXx،؉il4R90f `'!B fط7A8Xȉh1 1a~-ٙW b v }kPYI&X؆u`ae"!L,9yfaiz9)YxyS (f94miG\DŽΩVG)׉(,)IH7>PN@q3ڡ*@`LYyViٟV)i\^aɘch ꛖQ+gI $ZuyY}T .8c"yکV9!Y%1>PFz|ڧ~G iAPڜg9[0 $y&ڕ- )t~ `Im$$SuѠJ' y)Sz6؈I_J[98:֩O 0A%!A0UM=q3N9)=p *Kڔh5 ))IީlՐ}y QN|>@@qa[{[rg 0 &ʜryZ #h aZ6z HW n0.>  б L۴NPLk< @Y(;$&k @,ˈ0^*4ehzpB_1tqCJvJ p? ZWQ ? Z`}L 05 | gj *`J`5K9j;Z\` Ajѷ~[TiRLk @IV/`J[fy lAj<[{`  ` Z}o $SYٴ / e p +s [0= fںpךʭ+X#RЭik 1Ю !S$:`թ R*&\%E; A 7W ) ȁW kŭ[j =T/ S`ew@}@ [o i 03m̽~ p %r@R,,x $=G1V Q  /=:A `PERMN6" 18pk쭽L~U$ ǜD@R+`x P Aج܌t`y">+K{{q8G۞j]FU{> 0 ɠ@ LNP p y" !p\\`ټ }2'A4|N@]g jpk͸H14@m+#)pĮYrLbl|.ȃ\%}nͺ; ڻ) ۇŻט 8 " @ E0P{ r. 2LJ (J)lM.J0:EܰQa   Mp ,P}z 9Y݉d6r 0I@ ~ո>!rqqwSuqh9;7o^v=Z@0 (QC{gY` &?R^;`!ߵaPpJa@CZ-g13{*p]\Wx 'r3MT#.R~<+3j}.iZ87#+Sd>[pۯ=PzK9 @{8 ~0 ׃F% W\zR" Jj;<ť` Z@3- Es^~؎n(>@s&'3;0|Nƪ68l?p"T(Amm3^ONX C Mpq ̐@ x`Q `@` O) @:=CiYJ~>e 46j< C`.\^@)p151111*A02P2p2p@n9:"\;h %p>"A7u^3B.TrP2Rr@`/{H~?HQ+kzgj!P(t.=Ofjn2oo7 Etﶔ;mK  W ,>cC%NXŋ |@pGXI)URw@"#`"H a5vXB)L!|4)9ؤd5 2SEWlߒ~iծe[ []')Ä(BF '8p1bD,$C? ^H@6 "D``ń *Z@A%4h!Br,XbGZ XbY@2y^bA^Ŗ/cάy3Ξ?-z4ҦONz5֮ mNKm^mnm~ n6 -@,:XI*J&h 'x (2 )r * + ,2˟+NpJ>B0S1 20ӌ3@4PS5`6pӍ7߀8dZ@".%lI'@Y{uto/ͯ,,NlZB kWpA34D?dTGKJWMcPo$UK\< n: \MB` n  6ĴoPaB 3[Ÿ bWP Q Q#=R/mQS;TG9H,#!.gB-x "ﺘ-R0#3Sӿ6H=}`VЅ+fk۶+Gi !5q-e19EűT $ɏ^bJ֨Uz[X6㻕yogM[N!. %\P|$:٣ Lv #G)/~}0/gv&=^Qid@| ٦/g()%.܆1cx[.%aqvQB'! K"$a7d6B$CgCW>Ǯ^I;:|Eu:^ +!xԁۀ.6ɁB$xɭX[Bfo!JH(p> JA4F̙gSB箣N^KK:}HE @.*nHAB#sV+1-W27bqnYޘEAk@ @& Gd!_ l Ѐ&$/͌"dP!i\@ܺ&w!tb5 RN08 %9õ9bK nyA屑|^BbR6Ф(5xlH؁A7@}Ddg%xj2N'+(0`I a0ײ!x ZBUI^vzr&VrGC[ l)& a6xd3 NLޏ$(*Y`'>!y8A2K^%_AG6\uS"7-&K&me*xTir0gal]:'j8%sA*1e‰kPYw7jPYgyyVS#bD7*Fʹ7l @S~Y)b  ua@ @- x`0m ͝@d9ًaOT?`C9p;s]0# ;a bss=STeƉ@+gqBEYuVx#ThVO+_"?5g@v q|!tNޢϲGHgo^띏'lh}2= t o5c3X@x9~PxZX%' ީ(>!>7>SӼ?i+H:q@*i?8@- _\( "$"8B$43LX3Hxհ h@[ 8, %B)҂$4d;TD=rC X)FlG|DHTI<4HsSp *܀hЁB BBY1:Wa3ܳ{<A6cs88>;C-|2S)8`X<@*pH p؍Fܰ @PDNĀ `@EU|kF>%3EZCA3CJ+:$F;4F؇E@C0 ('x-É˼̺4ˬ+ XMp͏>'0UO[3 PP-PW0LFLdttT'83<žP; Е 8IQ]QmQƪF;lj35 m;_@PDH @*uQ(R)#:hQ< #&FY1=P/'0189S:S;S<:8ғ+-FPLhӆ| EL&epŔ4TNE^ҡ̭P4ZH6UTy\<~#҈/GJD8]U^U_U` V%p|Q=F4OOT2--} XTUԚ84%(Ws=WtMWu]Wvb c ϵR2-/UeHWoXT\T=WQXWW$TDjR}5Ҷ!X-؈̏L|S1R}YHXͻ0 &LyRz]Vނ 2юVY Y5و@2׬2 HSZ;qM @Xz4(Wn 9][ƃM,Z[Z0ThTYp( U[?MV-ٸ mF`]-]=]M]3p8z+LmX5 Ou}$R.^[0}^^^ޯh% ĂH cXR]Tk}5]r މ̅F8sZP]_Eݯw 0 UEU[P5 ) ȅV`R_m-hE2<^~>.(j@-q@LֆLq(+"H1߅%XX Z- 7'U]/('^](+smj&`J +X&OXyػg+ x|`4! #> WL3:EaV[(Pd==XȅNUe*BK[ `?v)"Vd\[IXs}$x$hYZVQ\I @:58+_LPNR.bATܤee~seHӯ`^֝{E9>fpN  XxPS8WP>>8PPc9h҂i7~4.ShO,+Mh0iiij30jX ZB@@6efخkԜi]aj 1*Zk=)«9{jmKi1f%-C&끰 `@.*)~p$yUf7^ԩWk1 /۪]7#Ij؎[&k!E@ v lll # `mfX( 3XV0h!h;(V>}0Ep.x@xCpN,k !lۦ鐂+N"3nUƋ$@W p p g%Xm## (07@.&:Ѓ?6@/@5(3C@/PF(F7p,x3oY(_,"IlVe?d X }(;Ҧ~n#.q7qWqwqqqqq r"7r$'Yž x(/Pp-4ZsJY>QtOtO@7?_ "?r,t& DW(p3#tt 2g{jNjqTUsWXsZ[s]ھQ`oQ >V϶AI*wv*vkSO8gu:;u=>u@A/vϖ0h[w#qik7Wu9o:u<=u?@&QڃxCpoyL鶍JV7[ 'xm7nywwry/q ̝:nX|z*)ޤ뜩zvGoywsyu21{H.]X{̻"oF"p]Ͻ_/xnoxrGwB%o|$L2]K 3||7J%Qonҷ?xoxsyy XOtm L~5Le17Fo~? S+hП) 1l!Ĉ'C+ą %qK&tM@YG3x !QF]8BFQl?&fPhKG:%+ذ`]$GJA>^Xcҭk┃L1A .l0  "-N :Hl2̚7#N#h¹E9z)I*Y)M:y*Q^*j2䋆Š({PzNԫDrRI\"xmܹ3d $>Ëˏ` 8 dzE|F}H%J-L5ݔN=PEq7ɐ %$*ARG3 tP\ʸ`eZ }$WcUj%ǘh%IZaHۆy[܉1bT,  qK7 q "``  BiyI.fQN)]Pz*yEhz${eF]8u)ugb+"# J@0l0@ >餕YdyƦb骛nf`[W "ź>  AXTMeX}:zAǵl蠅B+-B*)r{$zmX%S{AϏ@P&A8A=uh)@,4]K`җ5|fkov 2zgˢVʌ)lr3|&?UabI. I,QQ]5eaotTDOz?$qETm| :]+hBhq{arh*1Z )RH?=[?=`wͪ.c󶄣w@R!Yϧ:Չ"/`yZARL 'U,V{i%`P](1ABԄ+W8fX/[R, p֥U1gZh$0~+"Ơ,J{{D!{O>G)ʆ3ǐRЂK`n56bq+laX$ ,ׂ g-p?> H%2~K 5*6%SH"PIWxh|MJ ԋ |!^,^48Fh`-X%YM6Gow\dp VBGe "9ٔ)d&6N &84>CN 㭍edBFYҒX1.7ﭐe bH3I9l24,I,1l(Fr9(~RVc3:De-yKqo88a¥BfK@@zN)tNJo>U҇yl7oti~υ: @qlf]yS] L*P&^QժO" mSɸ0eaIS|N f& j`$UTjSP9u%Ǧ_}'e_Rzb0M>˜S:4)V]-28 Hºx-6pnwӂۓz՝ueKJ\{fvM!/qp/f)Iw)#Xg"g`y#lM U4|jB}me@N2Yx 聴S"b= 0OޮSdX S׾Ln~O <.MAfc5 N0E \hD@*c A6!ȑeJ*20}rj)[d@f37˽C h3SiCHP@1g0F>geab<Ļ4A WoBԘ;P(|9 nд?lz*mah.Pmǂvŷ \7qq pܸ?!\`#z)+'Kq>QkE-0$2O.@˥+m$?QvXGDaT;(5*C,b1(F1P4| u: "Ht ⛅2+*??Pr;OvB~ *gGn۸x:jn?籸ā s距 بj@pxA{Ͻ.X-Z{ E՝|+GqajT7/@'yX'??ӯ~NZWAs:?C|A@ݕNH5@H=4ˡB6lCA\],76ĂIЭC,h?47Hՠ ޠAơ_g-QYB??4΂-W@a BQj@3~TC@DLS<1D]U90G~$HH$I$iF%6Z@B7?(?H*dd@'H(C ?NUPB=$t'@80 eB.i0ޖX%YY%ZZ7JJ]z$M$UA;"\AT~@P. Cy`e)B%lqe `Ab^E%,f[#cr%gclƦl&m֦mhXXJ*K#],h$bdM#ert.s &3e"?x*t D0:&dd*%r\.DAhWp&%Yl?xtwfB+'j2zj:ࠂ.(F@@f \Z1:z89Tu,h~&B6f"dgr l~At]W$uRuh]A`>c2[%h ).ʗ2 ()Ʃ)_fPoFYa(5 @.'A`h<| &=Ԃ4$ h˶بw(Q.B0y~hɢ6j$|$ %ȏ@XʕfC%pA~i .+qF0̩^JYa!F^,D\Z蟎]H%@2'***˲0\>BlA2$,d ֨g) r V/ ,,(CNJFlri"kYBRT+,к`+fh?t%|]_KS"h&+ `"kk4L [N:̖*+y@R^l&j- tLM mIJ,Fn—Pfn.v~nr]Lh ^8\j+&CCf ^mn xBK*^@>Rjg2PF&(k zo oZ@˶@Zi"i,欄M-z'o-_eFb gŌ&L"DLnrnZno / 4,-Ģ:Jobl-Jnߎ/󒦬p*+F.h+.y?ay5`@\4dB%  | iW opso-n m 7?(&D۾0g g 1 ./2s&&.x$ԯ)băA6^*)0/B<TlDZ{r.0% * +ڒA'[, ;2pno5wo/%'$%4')JR.j:@0A@`f  $1$-B.B+^xXnj$@@ @d2;ưJ35K26r p=b397c/:k q;3 ˳Gq&4iB3x!qm-?B'BUHGc@]@ l qt94K:PWr L{&Sw*3B:;g3Q[Qc7?ha2(;+jWi5pq4( ~+TjҵNq51L rM&d Sob3Ou:t^;o3&d3 @h6(Ka%?xg-d#xci,MhMDkJs4KPt.os@wNbt$[$vQ/73?3WB|J10[o844~|L8zCwp۵|4}_~`G7E ja-?7v?K6&_4o6gYRT9A}D(N\uNiLpߵlum6Lx4D, ̏׵k0q<'x1lHwT6_9,dg_b`U'wS4x3y||qyr%G'3q;6GO6s'zBBiT0"'n4!D;g;!z F6C9ݞ:z}:~w~{)ñ+FĭO/bN 9m:_uW6m, VB/7XT_'C5C|FPI֌e?Xbcw7_{=`?A3Sx>ܛz<ܽ ;,nvT^ԾPEoב ZAtS]?y6we$;~k뮿>#9R?4;jD%" $R_B 6tbD)V?d'&x` .yЩ珟6} f 1苒Feuy w!WUzkV[*?t01!BȐ4FhЀE8As[@ᓏ+E2 "jRH%m)A%O1uR=D5UItĦI\fBW^qUwm@LPH);JkO,{J@s5O]4yvW6+NYǟM.pVv-n嚅o"B)/"ߚL? CՐOQ[5֗ \1k>ocױzm7X6+I /M"6 DDF<,XUjil,Xjo;" qfk^0}~B@.:^o 37@C(V1G] EC0E99Hr4.meL0>=tb  BY.Z麝P|a-sE;M 4ИgHVC фZZV5\)ȐYN%ӜS9 ,V㤯RU`6RC@Z WB oUTK+X1Jn:uva?:g ;;Aƴ0,`;!:=MkB 0ތ8:NgW?а7zna fx[^Uz˻ !X@[_ԁ+2WAu., D #^SET {hGs yhj4κa J)H b)18cdtL؃ʼn`cnٜvge'μ5;P}@Nb=\׮ )о8Yr㖸HudIgƭf03Jo}Uz/N/8jP !$P.,MhN+:ȯ:J-VϤ^NjƷ5ɪpP (nk"`0@c@@e -f.)`0/T/\Do@oGlTo0pǤ5p^-7H ,ר,O>"@D ȬRР d FJP? -nb!k0N/H+q/5~`7L`]0}JB@>q я`F)b͸  bqh1mpqu0 sW5|Ȍ,( - N4. NN n'sR'w'{'(q `Ͷуr܆ =!1҄Q/ߞZ05%L $kn$$Q/1&c2?б`D(;p O4)11B­R!p*."mSHL3^c RB+UPP s0 02Gʹ/2]e2ۤr Q*˯3sѾ!F3JSQr8%$'En?U@Lm*8HSHHC WAB5IJ+A6JqP<'Ct5R=3` E6[t>u7ٴ&`R"4@N@OA UQT:APsBPpJUC1CMAT5E5.>RQ$%pSQ>0D"HGMQ4U@SO])aA+bV3s 2;Pw ` Qu<ZX5 A[u.E%EUMD`["ptqttNU7T01]r])]Vo3`~QSuD$b)[C1OU1a8 QR@]VI)4tG$r,YX2~lv{vR>S. nQsG\C\ L`A8 @@  jT! aHA(`  xAIِIRBQV;@̖;tX_[3~bY}.e6hQop%B @Xapi-iaEvg1B*{Wl^ jfӶ",kXeE*aYyzV% 67"("پp/j?CXGa1*OVw}}^ ^WXqm a$XxE6Ua A6"V@ nC !~ V c8;6VSw&8kֆUfs"wcx6Myz VI!,3" ^!p B= 3<x H"{26@:3  PۿylR|'"4 p`΁͒2ap#ء I2_1v!pa2a 8\BAhp t ]!$Vq(V?,1Koqe  $ <}?S\`6EQYܺح۰aCRFK:309ieDظc N 3Ν<{ 45|eҡP(qcGhB#y_gZx͂B I 4ڵl67"H T௮ݽx?1>8Ō&?bP '8h"@@ b *Z`СNIaA'$X mrz5ztLJ 09Ĉ˛?/0Dɦ%Wte W\-9b:Q8pA4d.hjlF(41By!x@<@ NF0>LLK\9 (Ђ w@yaj $l`@e\/l_ AhZk. S=:+z1z^pQ: k6"c А"vdz LC37@cjy\"HJ$%l\ HCwPB0\zA% ~ .N)p@. OxA*n;UBDȤe 4pJjbHEŠhK `@RDEH ; r*S*?\/ Bgs> 4ϐ SbJ?&8r ?J+ZD9iQ4b$xy6vmk<5˽R$K3aDC=\)@@ &¹ # /ޞ@p?yzDbC+}|j.|eBLUOXJKFYPć3߽:f\@Bbd@xAH~?? N}B?`*g/99:R?h?c$,&h!#Ӡ?R/g4 o8BpB! 8n7$*qLl(pT#D tD\,q0qd,ψ4Q RX+>0ǤuqMTp@ r,! 98*ro+H,c7%/yC2rd#UBI`)AqTrl+Mzr%Y@IAQe~ ` s1I9vc(zIhJsD5FeO/ p6,g =n$ h; xs=i|S W8tr@ 00Ј*+!Q% p@YBAiFOj/N(]&#>H$7ZV䀅kQ'б*sDP:S,YGY)C SϪ*G |\@ъDT6B,!䦺PKR=gTb+N@TrY!YHc?mTG*@vhB/2SSK۟m-]*LWƖ Z!^p]*' jxSnԯ/fmE[㻦-B `]w iz+^@e9/xېD3+ Oԑ'10$,xM-; DO,nx4_RK. $+(Bvن%KY$N=)k @"y_H޲ڞdz|8/9TBe,y5nmc@ zecWD/Sb~dhJ>[z@ _HT:P0ut)Ӏ%JgR+% PD` {F@j)E Tt8"|&gy%ӵ%@A9j{Cm#o{vld J|7P6a[`q NB/qu /O;$a$d|+績]Z|$:gP,p w>$ '< R8zT/%k=h:Kjʰݔك)d}lA˽x.*cq7)C ++uo?)vCiE*IY968y aٗfN Pv ُZY$ `)bɗ-ɚ0j}=IiIxiɐJyə9[霧ٛ9 ٹٝYhؑyYy4ОY҈I9cɟ牖iA@$*ɠɛIIhi8ɘu٠J OY0 Т.Z<3i9<} n J"8jL}TZny i99Pfi ])$ʤٟO VPUy|-pJ pTy¨( V4  P $EP€n R s p(o4@ wB ` vI J l Rp7Rs` a Am 60 تzp( mj +Zp0 F@)ZRzIx1 /@ap)}p`P(!  kK+;= ;0XqJ ڮZU۱Я96 ]!Q@+K@n g RPǚ  +txkgʥ'>P9`ͩmڥr ݧ 99 n꺠 MB|h#z빂0{X!zkN;'{ӛ}ۺ(hZP髃kZM;k-;B!h ;GP- \˦⻼LG%؋6-0&(\* ,<_"G-\&=\?~ڹ8 ܁C 1WLY.ܿ6g}il;Y1!ŧX0ʾ \cM {L||z,+`|wi'XD k {1zuƬ<` e0 ˸Wt] ˧Llb̼9 A 0@nj{6EjKBa0Uٌ7ͷS|lܳ@ &Ĝ 95$v, &Q-}>QX о{Ʌ˻E0 ی7 X 0μV˜>$r *mgp4pc + PIr 1 zCƀ'` `pw+` ֻ+P ` J &\  @Q1 l/jf 1pp2xa P4T5q [&1 wI/O2%B-|%$,phR۠9.M1!(8s,M;PKUWiiPKM%AOEBPS/img/cncpt307.gif>GIF89aVLLLgffHHH 444ZZZFFFkkkVVVRRRbbb <<<:::^^^DDDnnnNNNBBBPPPXXX```777\\\111222***###,,,&&&$$$(((hhh...hfg풐[[[]]][YZOOO@@@???999ژJJJ𻻻eee}}}sssrrrɸǼ>>>UUU̯KKK¡pppʳźΣyyymmmttt|||zzzlll888vvvTTTAAA{{{uuuwwwddd~~~xxxqqqgefUSTSSSa_`gee___ЂcccKIJoooWWWVUVSQRaaaQQQXWXYYY!!!#!"iii%#$VTULJKMMMUTUNLM!,V H*\ȰÇ#JHD(F|ȱǏ ;&2bɓ(S\ɲ˗0&௦͛8s̉!ϟ@ J($ǴӧP "dWOXjʵOJ˔UhӪ]6+إd>5{ݻxEV߲B2̲qiÈ W.U6)L凌},08"E0`>`c0"CTD!`? #JDW~!sȃ4IjZ3(@HC(C{EV!HIa@ 7U4PtVY!8T nx-& et8\A $` 5H9ȁJWҖ4d,xsc{@!PI@Mc5PT& Q $Q7ZJ8?Qp@M+$M@or $z*I(eO@0Xa C*1 PpAdbC>B㕯/ءn)f+e6r} ;_ (o-HlBP" ^qw7`tQk-$ 6U,d9 &E  ' _Cc\^YFo .X1Mxγ>πMBЈPMH$J[xR6kh%bԨNWVgxtʰhp7g ΃x%QjAu$Nf;Φ0Fζ@" 8o h Q"рIL "T#lAT(@ l973 l@1n3!09! Bd"8+^a ]"*$Q;ŕ(!>AȐ_80Qi`_@.rtJe,7 *H8 Jġ@G XN8k z0[dK~E,wܰ&0 aVo+$! g< Z@ -h oxCOC@g0&_oFZ>sV4 Lޘ|$ \h>鋪׾}vt Kghe~,'}g}l75aPT4Rg(7nY"8$Y2#7G(]`a(*xV!P p 7DXD [G/5hg:<8Ѕ b8dHfh+@0 NrSU``.S4zQ'uT@FOPwqX(X5] t(GxezGf"Hh fO0SWhȈw+Ê(8,'Ux3"8hDD8eb⊔2w蘎U&;j` "BFv tNwHMe0-LLJ}艸˜L`Y(PR'g攒D0.Hxרȍ*N5dP_`V xqm b .0hy,_p)(vi&d@:wٗPB:qV~9:0e$Be !i9~ٙAY9! & V1@Yyٛ9Yyȹ @N9Yyؙڹٝ9Q])Hٜy#>y"HP=0)џ<Luj  ꠗ jjhn@zPj*P>  5&0IKH;cs\)`T 1:5Z0У? Xp'LN/Q*49r}' 0u@ZJTp0 =200 `  d| A&p 9 @ \ '1$@QpC` PG5  Jp4@_S m  w00 `% $ Y 0:!2°J (SApLs}`0`$@i aE 0Pr@ 0_#|+  Nc ` L@VkKZ `p'@`Z H5-ʊm'0  p0``XrOg Y0@V;A|eYM8 0q Q> v-`` 頴 Z4*Xʦy@3@,W` f!@ B5 gN'IJ KJkF &ܐk6 y ]q0kp 뺰+E ໾` 8q qpw!2 df[|?pA ր^ @ 黾 @OrpPAq qp8:3V\|Ū{[ۻJAv.Rʮ ` r@ Z4 0 YI̾ D$ TP'` ś zi@#[? ~@`' Y55{N;\DkHL{( - Zw u5uz PY7 @0&p' @ W0\0dt6K@ ; Y3 ŀo`% *7bګ: N` nP%60$pV}` :Yۼ\̰ n#0 qUMP`0ɕEN^2` 0F>Ahصbp| 1% ̵ד͞{-Η} ~zO٠]]Pͼi=ժk>ۺۼ۾=]}ȝʽܽ 0 l}؝ڽ_yq@b6 v| "-T=}߅r1=ޡ߬NNەk~(A^ .$#^(',>+,02>$^68<~>BD^}H~J 7;P' p]aEpdΡs#83I0kyU( pMNM@0y%EU  =bo0q@{V_N. k.5M _^!Bp2%Q51>鶮~pP|Mn(~n)A@V녰&.:0 5n@ [Jnnv : p nD]AP -De @ "?$_&q@l`Զ C[@ŀ!w@iFHG-.Yk0NNIp1JݧR9(OY@]`g? Д,@i*=QgO'i?k_k` tva~_HiS;?p{ yR(qAo{G ::~ }@Sj@[@os _PqwMyP Nk "ij0e;1 }p: WA .dC%NXE UoG9ZG3FRVSM7qbi2.)zQG$S" UK݉"p VaŎ%[,ÍCY=dgS^18wAŊL14P5Rh -"Y rJ0gСEvZ$3pk!)G"MbEeI&/.A`q)G*CZ4]zaddR.-/5f|U g❴iR[8(^?z:_AzH"XK a)epCN!%0H.<)H bcWc`1ʮ3THp1>@NC={ : '(gMX# Y 2)0DACÊو # @F' <[,a2r#,p( 8Ÿ%?Nb? ğeWjE6i$L( I>Id" # r 4/F(T>ѣXDMPA 5IeG!MBRJ-tJZtEǁ3aZ $ V[q=H>=xy%)l@FPgDH*l aؿ.xxg 6`q@=,IYS+!%mHyBMp9svr&XaqT""`(c#Q`X &"!Oe`cI+L4I!z :`z'٠[s5H XT@Ai\taI'0@ƟE(2J;'.ѷc)NaXYh Ģ?pF =LgGTc3$g `g؅?@sIHB= R@"pB j`XpbTP*~|Ac,xaSC"nǐG+HȬj<=/z#?<[Am@*0-c n"ф#J 5P4@.C ?`a(NL>*B&3k?(:)q[4}> 0(9`X0! dX 0 NB.p ?Ĉx@ ^ -AM9x.5ct [(02. ;LVG)'B$#P!m.>( S4]xP28`e%3NRiFSNP]rWAW8Z1Ӈ ȍJC\y+Q& . 8T<8 :|Lg!lNܽ eA9$b(xqi,?j B鋆pC.Q]3*jh; *ѿ",[8b`_;.!ffԨ&WG0b I8!RUcЊE>SD D@~0'A,`BA ke! 9T%@O'H" 5$Ζoۚ&Ј My7 75&`(֨?A/2 s}\箁bш64adQ|w!Y4HP&mТ @՚YVtK>`,6@pAfl3# J( 6InL?h!)O(q>![1&<//#MRB" C"g7Oq!I^2:lx\B AtPM v'4! B%lpBP }h_h6Ac G"`7dkpv|\ZZ@t[#,AL&9!lPz+F{:SpG' \C%ц2p|3=;y[g_ܗP 2?!V?[K::Sӓc&k T@ 1˂=KkL\>x,@@Ck{AAAAAAAAA BlXK(& (;2<B.BL 1C2,C3&BܙCC+8KX XL#=p< ;x9X͈؃CɼMI̼L)<7H, Xx7٤|LNMMLZ3$tN[Nφ΄NN޴Ζ-@3=TXKT ]TF-x.8TJ1K=8 0:HUU]UVmUW^8-XPQF XVb 8Vd=`]VfeHP0BUDO =T(`9o<W=ЃF(WCPR')R,R/3VUkը]R73~ר; =ӭTe+8W3P)SH-e`[` $~>%6Hj@ '$ w$)b+^H8:6`/630f + 5(ƒ` Єb4Q=c6bXc[ hFx`0S=0Twpa<Ԃ+6'p JST9riMc /X2H]r.g̭Q. R=tY0W0HZPK؅.P(^d& p 78 dR*y@@tmXUr i>C45eTVe؟J Lط61aEh7@75 JО(U  ]葞jNgXgkc&UP8@+; i@e&iЀ ȀX7`no1gs>0ZP~+:88e-308 0n0VKxD7a!0,>Ph2@h&`'d1$j{qbW5z#=h|Fvnm^Sp=pR5Ʌ(~2% yՂ>̀LW no!>Z`dba'p Vpk5pp> _[ ڻpp <[p qq;ZOq[qmqW:Zqqqq r!r"/r#?r$Or%_rNj*r+r,7)G\ J0'H >0Or5h2?s8sndsus;ޓs0s4sAA;5=.2[ۨ(}vj6rm7z]ߨ4¸?}$kHH?_仛\yfcvwn<ɏ޷/=8?s?3=(UEr4}y[N:NzSL" =`.l"(0@1TgCk%ҚUpJuAbnq#]1pB1&L?8'nL?EFD)@! h?0![*`k @ g* &Q@A pNdKeD1E\p,L'xr1լhU?تI)?|Lc0?fWZ]Cx?:. Ԙ$1a5HB{8Aр-@˜sgG|0p' x0Wb㣀5!Lj XIBW8#jЏj Qw'7q(A0AV{q  h*'фYY/E Gli<j-A%] |A=ݨ% X A\?L$X h&HB-`1/$هlйS/LFp҅@$D݄= D _,$肷DxB  D@X@ 04>4f!$RatJhLpJ@&aFH\,AdԆ< @-$%X$~?EE"2>$fDA`Lhm(z@$H |A{"t`.P"s!&#>2jDHx5`dAŗ<cC =#FbsG`+؄A#6Q(TMADDCP D=fN2>&JIAR8ɔa-DddsFA PT őQʤ#`ASB%YJEO>FUl  V‘"WW|eYMcpV\M!VD=K dfn&gvg~&hh&ii&jj&kfgR+X+-P L?(t&A0A(؂0Bt!hB d,A&@!%d*\'yy'zgmjm!!AAn&'L T|,Am1X,hM~? '\ v~((((~h(TJI8AC&t.L4#ā+0AmBn(A"JAPF})))))Ʃ)G^` 0B&| D zC1uC}%fΩ~**֩e&a) Cb@/PL@x"QއFtFN+V)%T$hC9UC@Am1LA`@n"NXjDx,,&.,6>,FN,V,'qxhJ(%d~Nf {M,){k~$A^͝2B+D`8#-tAq8AݼB $'؂ub'A.bΎAeVe9%V-UN]$u<* -F RcaeW^j~ ”:ZhA>.Gd-V~%AunQj]nRt.FOnF.R,Inew~e@^o. 6/md%܍b6em,r- N P5X>֔b`݁A/E_K17u몭XE OE?m>&m|? ;50+E O| zC&R"8 CčL'0D Aq"$ʰV(dAU1< $ S//?qA2MX4 ۱pnQBeY!2'D4B ܀cGA F8pAv2.Ä܁[&ngp&TB/2 !M&4xA)tB+-1DZA+>AXA?D3G4K,؁PB/h x'%.@)l,aq'TA;AH-˳E 84Bd+@l>B'܁J',)H#T@tLAE5MTs\$ ,S[@|+d".0BќntLF Y+hc<ӄ\ӊl- dWGPD@;PK3?>PKM%AOEBPS/img/cncpt274.gifSGIF89a@@@000``` pppLLLPPP333___???&&& OOO999///fff!,pH,Ȥrl:P"hJZجvzxL.Ѵzn|N~u~wK{LgzFZȘ̷s֞ܙ^U *DWÇlJŋ&j\VǏv6 ɇ#S*y%@0WtI^̛j꼈;nIPH]hҧJ̓&X @* ą`ÊhÖ=6텯mf7- u;.߰o]+x@`_he c rl˘3kvϘ9{ ,i@ bjͩ_kn-DpnZ qDq\voٱw_7}?N^Vrߝ>`wס炙O:O{zX{9!pE( = Fi%D8XOaWaGIx i) DaX 0-Qe NTYQ `98"@M蘡I9{YW߂}9W^7p li~ff אH%"tc:Q54U"nYV aJę$I& @1Z% InB P 7*`llG"'*窄yʜgAKmo(YZx]*m7MsYVtA {@< Sc- ,By ,㘜i/+߽*Dnyd&>9d$> -4?Y13lH5 YZ1uOm`@9`L㚈|)^k%,- 8U2o3⦎);᫒—&*bf,CWVVRhFreby`#H48~l2X ~uģ5jSDqYE+ZRF4,.Mc"6iX 2(IM=bS7u*$p+ꌛuN U,K1cp!P*ѐN7JCa5ǹj2PVrU '"O/h<GOI]<:ԙNP/KuMيO\ ^<*T?H"4JG[R*XQƦ6;S R"[uMR2"3HB[.oxJb֜#KIe13am^)t*M\$% /\eCl>IB l5̶ؘiukS3]kRxq N j*{9OldW&V@7p*[v}7->7tw{8j /Q=9j z/0UȲw2,8;<䴀$(N׹rX~)F*vHcx]ɖcb1ˌ2%q3`Fp$vJ~wᖾ8.]a ~ {Mbe n nEEO`񰄹)[T&~0.es)L<%)x@&%<;òUOhL,^ecJ6 {"N 2`6V`C 8Mқ=,v@ ƿӊP jpyyޕɔ>wy&ͻ4@ۻ#J)=1/:FiXoc,Vݪj.=`kqd) 3| Ѭ"b1{t)'~kTxm ^O 35} j3& ^scN߸mS +yTH"1W{+&Buqv=9j VESS#{mpF{2eP[iXZ9HǃEwomROC&?D戗POpiKR45 lO8U%&QIrY ȓu L@i fɚ难Ɏ9s`IyŹqGΙ9oE )cչmCޙZ9k! !幞iў iNɟ\zJ`B٠ZFP.qJXj:B"jQ*Z)<1032zK63:= Ii'7} P`V$A3jPVZX kk]9: bjKZji*zo 1jHu!&{ʧɦfZ*Ic*6]#zJ`JCV ]!R%R6IPeI2S-O%piE*z6PTCRQ<1TP{ /1n9=;](ݲK7+`EUbU ̪YKS>c>AB/րB9f&R4 D4&|Hg$x$Ur4Wh7BF2iïZFHD4CdN$60\w,>S+&K *VYjZX5@%y,*X%c-k/1K21_=WvZPʸ$.m"9u&s#6ÇSFI_24#6]BTg6hgnbu)jCz*a)2"bRGڸ{"]}[ Cpn@Ĺm c óKLpjJ nZ_U6#V V04"2R=5*R+# I+'hu_һ4%H<~:w7=8UWv*kVP&-;wq&[:~BP gI]&B0p{y߻CzJge\*lg4)y W{q1&ro#)oɟ <1A.vO${%ĺhj ߸Y1y]c&T6d+e44w+vq2la>|+)ֹU?d$HaKvNz`y0\`zGp{r gz3q 9X6qc{IX85 l$a #Gf",{ek(1 l#PBikF>-NK>H|>m'7FIm2eG#V$[:F,/bƺ +{b+X,BOd@ծG o&ơ"&xM9$ &>zL zIhкm`weIR4 #kӷ؆gR<λCU7}܍Ӫh鷒ݩ/\:gs. 0~OHPӃqCy.SPVgM"p"uAnq h0^.4{8Iw" mlg=I9N^. ~.މڰ|#]#v-"Kj)XaTꥭj ұ> .r=zبn pςj龉Lc>\tmBl9 置-m >"0ܠjg3 )^Jk _%KOp"? Ͻ@i,/.0u0xY6O )+󩨩:ps9DFH2NPOR?(XaU?W2 `bd_QZ^Y  \6ɂvq^y} Ԉ +C$4 8 EGIKMOU>Z*5B@~lORW %C ;Cz ԇ ؙ휟CCH`\*xȷ)``֐s 0؋AN &&qcԷeKR4  v3DΆ 04K (*/ 6EEzQBpAxlv /[@ثIc!G\24 Aݷ!8{~81G. tCZm)d۷qly K 12]᣽A >*i (~׎DǞ{w]vm zXР)ճwH%@cc(!x#&z m41`? ! x F0HԉqF2b,#_,"l'MQR&&+D-KR1,3LS5l7S9;S=? TA -C *mQ*`I)K14FS%QI-SQuN?mPSUVRW-."01WyY=֚r( mzM_ma])Vxle_vYQmZ!jS jg"$\2vo7)!0*}W+7Vz? f x,`TָPJ⑫bS8!i9Ԩ\%4dZHZ8  fN睟eviEa(Fj:§wdNLEaU˹[\ /O\o^)D \95u D']u90 mݲG(ҍN=VWt5ՑlhL`v'(GpK6Bb,]:m%I_ !"ݞk/GeѡZ@wݛځ@a 4VЈQ ҜLd 20+ >/(bh!4!Z#"QZ xR6^$%rNO4"€P!BNa'^ӋB05М/ J࿀ DBA3VLzPrU(h/h#" "DqR4 Hd4sHq^ɈPb_ :9Q)U_@`[F0&F}Y&Ip80+Xc$j}2aGœdlrZC 7! e-j48P"< | X9c1( D^@AL8PCpqe_H4# H)4`3Vye?F<ra: .#"K '3WRӥ(,ήzxXI^Nj:]!8A \dT$C%"qD115j|'Z`OdԍF+ fQ|l(Dd0Ζe%;SEꈛ\%ȍnR;;PK<PKM%AOEBPS/img/cncpt016.gifGIF89a???rrr___@@@999OOOooo/// а```ppp000PPP:::yyyUUU|||<<<!,@pH,Ȥrl:ШtJZجvzxL.zn/By(\?݀[//{K/GCGwBry{D 0Bo00quɣlB0 { 0B /0s/0`\.Շ ,XÇ#9/!0(cцU.$xv:$n0d#ċW-9HÆs@ CXbҴ' @(" ߞ l UXP²:9l0opGpD%TO 7 X V$iwgK a y(M!S-e>}SM"!ʒ}5;C-%r"Mq*#x66)  R||tUFKYT8,/#ҒR G0@&L@W%e$d*UDl5DGJr[%ʹn`xEai,ɰQ((>ʴ*!)20],KSw % U,g=vv{l%5[Ru`P& MlIIFdWN0T%*X\],- ]"5|WY|{"[8Ϣ6ڭz˄MoTP#beVPK4"`E$|-YLbmۆP0o9Bh\D_u*`/(f^0c Gd`7ʂhOv2b<{4-W7F4w/C޵wV`hGDЈYEŹܝ`t+Al #Be𕇥Bɰl48[ojN _;`r[|Geά7MY!1glE끲ċ@ Gҗ0_P͛~m/acr'kb6jZMT+'+G#)5a/Aׅ@.Awff/T+(C6PZ54DXFxFRHL؄Nks,7VBx{pb@;}rEZbYSe= d>@{B+'FDpy~%@e+590jkæ?-R7BXRP8Bxv{zYFJt)Zeel2F}Aɧl4Na[GK'e6@W9D9-Wo9-X<*Tl}Fueu_d7ZEZc^H9 09ca~ Y3Ub%gJM^VAM$$؋p7(a/se#HwEGe+w*%s'F^`p{cӊ֗D0FDw4b j4NT4;@6GnQq HFDd>:pRעȸ:5vo9/s9fJ.=I1BxcWH@7=[@9aeZ' ?Wy4ѳ@ʇTBY (gI0A[)3>Y:}9 syuWiYٕN0Xp7 9) 9JQs]Py_9_ ə ^]SPw B&xÐc<&~rB|ˆ'c%MuXIcY}sn HjW)٘g#GxUhOQjiN:[@;u J\? LJ L@|ȌȍǜKP쿆,Ȝɜ ɀǂ\A|ɟJPʮʰ˲<˴\˶+&pˣ,۽oʩL:,NauA[ʄp̌<<3<<Ĭ!|\LL2u0&@<\|=]{"4뼾<U]}ЋpOͰЂD0,.0m" <00>@B=D]F}HM#"5=7`&(}T-?!muS\ WO] Sf _Yv[}n]ikw v=M-7a-{Q e}vM@κ€}؂-sxm}؁6ض؎։9{ }]]}٥h؞mِԒu]\ ڸ"Iڬ٧ש}=ڽLۓ<9-ܴ,rͿǍUM ܻ]ۃ Al-ƹm݊Z=}#yXmߩt}})=Ͳࡽx!k>W).[r2~%ngZ25P#Z;""yDsP2WbUWuR7`0Vb\n^n'T性]^vnv!sBg!U芾莎)ON7\Δ^a1n=>^~^,P.1갞:~ N|;PKWfnPKM%AOEBPS/img/cncpt325.giff~GIF89a|???<<>>emsaaa269268~RWZruv)))tttX]`ekoVVV!|,yO|y±9|yzƣ H2}\ȰÇ#CNŋ3jh΀f 9IɂY2ɗ0cʜy-%˖4sɓ͛.{ J輟,]ʴSjHq>JҨw^Qկ`ĪZR5ˊ]˶m4S4H0īhHo: /cY CL'nr0Hy L =ssՂh"uƕs>y[>hg<Hϥ#O ;ZGD Ë{?.re{EGG+G̖'H\.T6)- }zg 1\rA헀v!@fS`z=eV^ev gx8"6#X;(uyC"dh!ht9F)e9;n]եLCp\{uuWٸn[5lzSepɛJ@i&|2gϟj(<$裐DgRVj6^in额>ᨤjꩨꪬ꫰*무j뭸뮼M|"k&RuG{Tkfv+k覫^ Q B7 7G.Lgwgc2l(چ4l<QjUS2Dm4qK | TWmuJ3tQ|`-YԴ@#leqiw\Y[V|WZ0@*x @L`@P-o qsKtHzA;@ι-cK<r`Gy @ypPSµ?;ìoM?@?? `HACPg[8 Z< =~k BpyNqE Zp&O%V;@U+Kxn 5OaCCy@tY?4׹ pn4 BwZ{īU=nw\nqv˫Vong+Z++H!O kCa`{k$']&@ZFx3@FiRjvLZ8&v@#W;nIQu\ 0 t@sq=is%VN0r,yQxܴhj2sApFsͬV+Ep愞'w q$gi if"۷Ashi=d|DQޫen=RYXiИ80з] 4+ s ׿^q15KC].E#8p+]kh6<[&0V}~ѭCkaRƗ_Mj#.4Rkwd ^&ckքN (nm70V 8Fa5@h  Ha$;XqJbmXrcML2hN6p xγ>πMB֒dl!ѐ'MJ[yv1N{ӁV4I|g ԨNWBk\xfMZָεw^i..`GbPwݣ կ b_v<7sqc>ܴϺ x: KG|4A{ _^m30'—WGYgx xw}76Pv1+ηxq7sn(x ` xx)0ym8Pxp t-u"uXn10# EŇ'PxPgx+0U0+`)xm'vvyWZȅ)`+AnG}rnMP(vy0Ky{3Іg~chf)mcc)wjv x'(xz(8 `x@G(ϧR}tx}&#@XyG~ަyxxX5҃g vv᷄xx'6cWNJvxrW茭h_⦋‹"W'ψ6zOxxLjͷ~7yҸttVw(nP)P|zz7V{YȈ^ঈgjȆ1Fth~b%|XV|wȦwge̖4'd86Wvb, n (ȎWߢ!g`YI*ȂIh▖4h{8elT9qVy50|~ud} ؒ|x" wb}mL1Йv~ɧu\O9Zw4šSW|.2ɜFbǹ}AJYn KI_(4U9h'کJg}ٟ{ǝyӷso9`;:n ":$Z&z(*,ڢ-z6vJgQ)zsң>w4Ƀb)fxZ3#Z5z՘5_Qj3SZC*XZ\Zd^* 8nb:4SF8i:u6p'7Lڝ6t2 ކ{t}JjșB٢]BF/9-CB>p 1JyBi9z`:F >BP=E=%oczꪧ]FD*j-]TA<8e@=80eTpC3?z@9ʟ=7Yzb**Yr7  WsXkğGBy4G1tOR; Et0I[zuWʯCǬepZO[TğZKSCLB=_%;8ųCVC- ğEE(VZq*+~*ʠJbOcU9OjJH8TT*QOLVe0&z|:ڤZ4;6;f?R9ObE7;dLBfkU7C az{?h~;˟mdo qʣ9A#0{Oյnt:EHL K:Tʛbr,;. 0 r8+?\E5bZCrD >zQ{9Ѯ@ 5B yp: XX{zI_+QyaJ.˷+ 03 .Llܺa*S|.#,Y zKz/21L35L79L =k{ )A-i"/W27iLy:΢J @ ͼL-묛L̝țGB!.f1 B3qG,p@ S]!Lג6uW9#P݂?w%H8N$=7T:wS98,LԹ}`6U c' O\nl.=0]Ū]+|˿y,xA4Z^4}QsUXA%HW2>x;أ@Xb Kd]-<p_P`QNdU/&Ҹ{ҿ`.7؂PؽLm`;ݵ>s;{7t:st:XYBtD<8G8ޚsqѸMd/CUFL;@c9c&M&݄ ,gp1m3L،`FKOt?zsD<A!аLM=p4S>X=c^2*J>#HJG0x\ cF!f{iؒ:05㯴Jdߢ4J5`$3mGG L2Gp9=9HGkMSeތ;P#MS93E<@<` ۢ.QrTԓS<,qפIsn -Ğx2m~;csD=!UZ<=?9PFP? Xsǎ=cUKyd:Sوn[VZqrW ْE -.-Bo/G-Q>b[l~.YdS38)Z p\bd/{N~)u2h>tu.wfzn.R^(s_X`ȟn8 7pqLzġɿ_!֦>PrgEo_nw.󿷸z wyy{x yyy!{{y{zy ˖8" 7)'͉  sHѢ*u @NB4`3 !cō:z9IO&?8䞔-Wf$J L!(@T@AFH *@hUٞhT/KKݻucͦGX~`LبAFt'RIFaeqʵ9K$ RpREKQ9¤<8P!=.XUUhҨYF۸7EVnls ÙyU7yXسk⛔rGԿLɘr:)T[*+ '@[owq AB)}C'Q݈$Vxm8  {\pI13 M`pz[V[uU[zX-H8TieMB()Vxea2X'blW,Mbi@I]45AG3@qF^V2eO *e)]:ebBGI|XIT`Ksǭ]$+hzJkjcPNZeo&"3Qx`Y$$Ւ_Hb6IdXb ⧡>D{r"rCgF)QˡD`^ЁgD<>":Bq)D.t@1ȶ.!UDfyD#p9`҉]2jIKx0vǥ&L֛龛H)}6nJb'w* )XgEW8sߜs884ńv_NΖ|AĪ]B gF{Pp_בNLbKvKG ¹= Mv㭉iNJW; hEV8MM쫽t҉hzЩX戯9dk݉KD@}s<`~QL; FK]ኒA D`rA(I%1Ů0 .Č}9R46]^*MX7 h05yfF Nc bcB:by4C0v kB c|V "FvRw.^kH wEo,1`MDU0)J0@bcC6d(D"W eqԳ m3V%3ZLĵ2L&@*xY!9Q2ձZSA&i5DšZ1;UHE‰,%ZJcP`1CDJWj*m,3߱ȶE][^Gk&, F Sqk@3B3Ҝ&xĀ6SYl<,  H{gRFf*C6Ǝ iPqs|C& kމU#DFUS6JՁ}ȟ#X+{v͏3WT,~}`q#X)lUf%QP`$F [򳲕9RxQϹ<@BIP:[~ $+S .LȖJnWu5-[IvM(<5y&%v=9: mu^uӽ]{+\&Ӿ/ek.3mt . ȱTJh,7k^钕(.0@C 5nh2ΈsUPo"_ƒeb5Z$*\ߴ2i|c.cvx*`.Ma4.܊f*RfsUW]&`m3)~/qh:,'*'ץE 3n5TSh[&? ؀1}P}C4wpqXkkvXT5-".R=2l{@Džr#q+ED7l烏CDX%)mDX FHH@Jx}}y_7?g~bKFЈG W h *xwi ^^Arh(d8 ";EoE,DlUՃm osx pyUHyH {8};H\qPqR='i^xyޔ4 ^2z" ҂Px^H0B 1l$ A2{_xyٛɛY)94ung&ڹٝٝYv[UFqDYLwәչ(`:Zz \KU  j8? )#E^1W M,ڢ.02:4~5:Z`Ijj6yPR:+:-T9ڣ@)Ia!z!ZlڦV: Xڦr\m? xD9Ǥɔ 0ZzڨzpZzp٥yy[G֤ש5tv"rIY& =x j}hK "uy˺z *PGʄdfhڮz>: %J~jJ:nYFyyMٯ [EU[jz& ";$[&{(*,۲9k4 Zz&ٳ>@B;C{ [z蚳jY1T[V{XZ\۵^`bJKLN{(*R;pr;t[vegki}ʱrw[{c3|Kǧ:P۹;[{kڸK}[ K Ky{ڶ;ߖ5 ›KH`Ҽ۽2H[+Kڛ;;g .k;[[qI xlU u? \A <оx0D[i&‹Y|) @1ב0 Z:۱RdR̛63+3žB Xߐ3]<ơzA<Yy\+ N&`7_|[|z|xu<w|ğțUz}ŋ"j@e!jlѠ ڪ,OmZNm &&ɉE?Z lc>] L 9;,7?pgLi ̲ƑĂ8L;kͿ(@̵Py@Y1My.>ь PYּ!nB,ع4kd8 :WPQ21+#. e&$p.2 5B#̮aX'>b4 QxEli& ] ]z0 3-/SwEn5#G rB`ѭao] ; r.54En͛P˓ҕһW:I6Kvq% .ȷMeW9iF= 4A1v x?#)Ev }a(aNA۷M՛d&h۔֯}Ѩ mB=dZVdm3Q>AcYF+y2$i >Fyd3'P]C- Gml )‡-ی{C3Jt Iq.m(ӳ֟!1e%×m՚W#](qesx]j֭jW|V;bi4S>o r:R,0BS9ª e5# 0> .{JkBs^żNqْDή8Nh#KÚְq\VP3RH1A |@ hðG:WA*GV17 . 2S!uAdvh#S8Gkg.}jlnޔӷ9̚癠ɳv>@qiY xaF6Q kgBu+> :={!h4qJ[QA./f^b02Mmop~.7z^ 4748Q 33 Ro5kF^ܙ亮x]'#܉Q4# s6Ö9ʽK2ܥa#Wq0GSF6G_0D_oX=ǿ΂)j~RasbAz=#@5ņܑ3_M*Lڼ:!1Hmn]q]0?4vPAbG479˽|+/4,93rE5Kf qx?2! +x{{yw z yyx yy#y$&î%Ľȧ͈x{!!!{dJX{{($g]BV{G ۷CEMF"}I#N+cYƪT|%֭;=LAD)ҡ2Dڵ?q,ZO횳V$Q|LK-]|"ƚٓVֽ RZR-hTu^*S}6XYIҽIvt@<H7o}m z`q`ϙY3ms͇t5b!hQ74 eJ\`*^A  W_ij_JKIV"5PB##4Zc=p#:!1: &"PfUr {T`r\թ莹#:}1CVBa]t7t!9C)`'$K1W3}l8*h.xdOtP(G"p>@q ʙ;~rDj"!LsA47\VS%~^+(!{XlN0A<@-xA*txH5n&ڡE}_k 놻\p!Zۉr"TTfb@2HF[Bn_i~йea g(@v޹4g;:nU(kкv͌f}:A=MsQdG#</#bĨ5"qn/#VEs"a`*Ȃ]FXrl<8G؄M3w{ϗ=IsXZ\ȅ &Ѕb8dȅtvw'wnu Pr8tx]$axs|%xThc[x {Ԇt7|7XyX臧`w8WGȈP{f{z(I3x8Hyy70Xxؘڸ8vxB׋(H&@Ԉ(h*RTXy gxz1z'(| Yy 9e"9pxqxG$ْ.05m2Y6ɑ&+!Ȓ7B96鑥DJyi)K9TYcV2Vx+fyhjlٖnpr9tYvyx ^@Y ~9YyȋQ\9Yy 5ٚɘ 0Yyٛ©*9ʹٜ9Yyؙڹܩ- z))虞깞g;Y~9Yy%੟S( Aaicɠ:Z'ɆjڡzZz ]% ɟ u**d< O1zʢ /4#1f>zz&J6pT٢#ڤU &[2z;zwbsq`ZiFKʣgj+!~xzO)!FP9fJ# sک ?j/K#5yPu@Ip,Z1 wI6Qj0MG[P㪉Si\JY=Q k15'zlP%z XBc]ѭ ێUɰ˕K~ZN@R #+` w$m "fbAIP˕R;ZɮhxNY.Z^9sZ!A 4NA1n૷q%S  x TJCiMɓ ;K-#u)w0Rt`ү%bqBA! 8m#}]0'u4`:} LZ9 Q6"C0k?y {PkG/[ ˁU]PeQ b< v V *Bپ:)Z˳\g@d&;7@6v4eb46 # R!S@*QEe#t 0 !,"SBѺ$˷ʾ()YK!!A6,w!!bv~Ы Z TR<1#Y2Ȇk7D6h#L )(&u01Pik,K" ;0R&u,0KK˶AA0RnR%2?; {4@2DPUC,(;ɬĀ Y9>[!<\C'b#eg)P*tʅ˵ҷ'b paC3Rib eK \ĐN=B<$55RUR ɋҪ 6<Ĺ Ϋ6cL,',()PʧLoc6pxEA0OԂ HN-x 0Ղpn .,|.[9,T?Tg6- ;hi-} R4M#RāMV٭%؋q`,,}W %CӿпԄΙGw+0@p+pE@|†Y-,!#3xշxq}|+3-ܨp;oQa' I"Y0U_pGXRMuY]p 9ԹLۚ1J́'۲A7q 0)GL.#׭ V u \Ay_G](py0(px# ׃ތޝ/zskq DQ^\ 7 ^>P EpF.ۀ8 a u~ҭ)p3Pvx= ]1c !07=81 ]_W ~!8 #3boNC>_x"MP u"@%k)k+/?¿`quh]>> =x,]~֍y -yy@݊!܌?On'p#PNa¸b{I̦gq˖crv@R^ &OT> b31v!_̺p~7Aq-QO=߾ p' _xx). .)x() 1)00x('{{yw z yyyy{yyyyyҨƫy!{yǪ^}j]T PUq&x E.@0BPpɓ(!!ASHɜI͛x6@Ё)8 Ȁ~¥/PWdeEF@0 #t&* `,#Bi Q)֡CH'DXBy}UB h5 c* 䲔J4iU0KSDc˖>;QFŴᾦj2. r*98 S`,dT]3p!m(,[%@o6ٳb8"ADP* !Hg5لwh?0 u$j2T Vm䶛P Q#"2o!uG,ݒq=&W0UL37c}|A0u ]J1X3?QG79{w8qS!4 si_i ]{ Y噪`č? !lRkP @ 3%A SO?53T&J,-ܭR$^ ?PGg0dӐy$~ MPQ9 ]{P0)LA4P}Ev*HːYgr'`Λu )qZL.0$1P& hrjDȪnAb$ p u+2dNZK KD#Ax MTNA3K!uftjwLB7{|i*ב2o+zݙ`ht?taH9#ߢ{8P5*'ɯȪvAm.Hǰ8+Hxd.r+wT7o|yp@B P~qI`'[f۽WoszxJ,?YNC@p宁[1yQᡀCUX4 DL l`x`h;[M|3cxK W(pc^"-dD$ AohcP;IK鰟gb:ALu\J*ܴj(GH.nU ;WFN>x:,U\Xbc,1F-hGHh<IjHa cn :5Oeb&r֍q(&3#Ш2NxQS,2}0Gu{GQ4a_M5MD`CD$"O2HSq|{7cEO/ڠZBe(0&b>Ǜ̑YFLgf U2Hr :<9/R14RS>հ'N8q"&.8]pd93=fڄ̦&4EUU,*ƛBή YGUpҬPj$tc$RDFu8qL\Dufc1nWmfV5 ʲnOGVvSHd5&ĭԲ9*\ٛD $kg;', 5YSaH>ZLS6h9N \¨VvU8pŃm[X;ZuV ܍8Q=``C 4TPꃆOh)6@Ͽ! f ^XrQfGo02*yw3Gy(y,,o7}{zouwzgVH\wA8S@wXFxHJ $uKPOXrY{,gyxyGv r!(\pHԇ. ۷}~3!V%'#8XxXZRMXXTx{{ {4\Hxyb_Wpw[j8( σ҃Xs@ R Bʸ؈8Xxh>@-P%䀦 腣-;6ۄ 6/qq CcMVMR+9Yy9iz9iWgw(|g(I* o$ &9| :,4uV!c%>dA%p}ڔ(ؑZ\ QU*[ǓAeyq)( %YppƖ*d2 } @(o3zD{@&a&T9 ! }]y^mA|=DjljG6w"q2Y3)e< u|/BfVm$9oڗ%c_"])A!ʨ p:-G:vBxzb' eqR  Iڮ鬮 nWϧ|g{ɷkK +v|ė)'ȩ`(QtqIc%ǫ YhhӺ3R߀,ځ4| X8QD Ja)K#u:b J%&аQ!Ur!@IY/K)jˑD ";*NkKs#N`lBDl亶+im F;H; AsOKK< D{v>HSݐ րۺZZ2˷ۻկ>KPK kj<k ᵂg [[-֪kG Ϲop'j $EW_7\jk #zȎ{%웎++{< kBygBbL*, *eG*BZ_O#5C'LLH,p,0W,K/SHɧl\|0e,r VQ 9^ȚnKH(2 _Ky*xRM[_-^;AI| )ȳ+dȅ| QqDgˋʍ,ȑ"ɱ. ~ ̬EL \o01s+˙K|Q|ά*̐{ĭ7ƼI }#<ƞ(6\+ПЙ ь  "z< l|;,ͶM~w8io:~-ԁ( <{˝,PMDm}DJ`gZ]`=nSmF)}Y\n_k^x ~U%}f7 J guWz9#m.fmהQ]PqJdRIm,qғ?y]٬mcl3l ][ݾ\@ھ H-U=WmGlKMR<=sÝلMlx%PM䝫qʱMܳmp/ y=}cݷlkRb&J}-\}|^ʡp+N=]hmK~.N-2M-]9OJ. "$N<5DTd<}}OQ< 摥cen攍Eא, 絶vxus]jGֆkNҽk嘞隮.B# ,^~ރp^٠ǠV5^~븞뺾b>^ƞN  PQ>~N.׾j3.^:mNC=$ an/ /Rn .?pN Q /$!_4&=E]$2B(,?8s/9=_̩^FHJLNPR?I/i; Y\^`b?d_fhjlnpr?t_v Tq~?_?_/|??_Q?/P?_ȟʿ?GOڿ?_W>zz wyüϟƫ٤w==%y\/!ÇBXڻj& ȱǏ C0@<F\ɲd,c\!3sOΟ!y (Gf`PJJ=L&ׯ`t Yljz-شȺKXxMSy5pƻ71mR ٭䛏+"5ʚ">5tјM<j~m5̴mS y@܉ 'ZayӋO~=-׫zwy(xR;jo<ۏ6W{}7g%'߁ԃGZ  pw!~_eTHSHSp0@3>{xcTv(rQ8@(#6#hgl,8d,vbMQA7BW!jc=&#Nyf^vTm8U! &Cz袙zIcp0dg`}vn̖Ǩ^TXAS֦Xia1yjj&J+rf)l:3K7N0S6A I ,YrZK*B[Uy\076{H/ ۳FjJԹM嫏yx*4K7hm^۷;yψn,{5`0bPpBh4YFe73u-\:3yJ3A3E ի! yPC%:7 4¢꩝@V-QS5Ry |fwnXKd;L#r9cǾzOOk03\$)OTV,qeƛt>_ ZE0R]Q炠$2 ^̂`xw9O`cZpWmii#M! m=y {LX|TE% ݰ6ko]fCk0{!55\ X,F*-0ܭDU]$OC2Xڹ(G*ĺ~ mns \gKKݮ-[J^2L}\}51rC",K9WZ,8!yr%ƮR~" uXt  ^XCT{OyU6aM=bd۶7`FbI]B}քJ1vπs=#41V7 tۄZ4WfcUٕs#C@Ģ3CPHrX5RپTmx difJmh '(vW+Wp6,LU* +)r(;'1`!Y"R˴mk\ZȒ+L@5AVQ9a,OaiFu=@ }hMܹӻuWzjجzЕʒ(6F^J06WJqPϦ5rU ʤ;V7uU,TLXТM+r>{cˡ..TY,=Cf@$ (S5 ~:*yc󆇽|| L_xDUAtJhl| 롢o_8Z.M7%`(72/8cc86>3sk+N-< gW1!b.8==1Kc cUrrb$7e2,!(6lrZTDHOҗ;H?$[RO/=FعvDP}hwzq=eoy/vx܋Ar<'~ ]OoBtJ/;mabDGkQ[GOқOWֻgOW}OO;O[~x"_?q5Q鿿%Q?k~Xh~} yxgy؁ǁ x8'&* (.28,H4 :0<0 E=@7w-8Bz"yrpyzC0FwEX{}z B`<( ` '&"0z_:z4kj'y~< Bs4k~rH-`Gm(H\؅<'Xh W؉JpH; <(Bp:B} Qxb9}X<ZۗP0`(40f؋z;"0>`jh(}۷4f` 0ᗇzeh8;~y8ZXG:Gbt(a= hy- !B(؎ xȏ-;;~ڈ5gQ |D 2!8B;HVIb7;2 1NIT(ո@C X@@B]X xXS>xd cIz}<zpH ]x`7&t،H)M(@:Dyȏizk9h;Xb ҉ 9(Ɍ9y@4<`Z#EkhCAɌ;08tَ 0ڲ B9 laYI J ~9`<0iW :!$zX(,0:'4z%R8.h<@:'DzDhHL'P:gTz`X|g\U*`:`whjlڦnpr:"0xz|ڧ~:Zzڨ'Zhک:Zzڪ:d|JA׫:Z Ǻڬzrɚ:ؚںڭnZz蚮m@x;PK޹ކffPKM%AOEBPS/img/cncpt217.gifGIF89aET࿿???<<<999rrr27:___///دoooeouOOOpppejn̫888257@@@yyyǠ㤴оYYY333 LSWXaf```&)+lll~ZZZ000||| ?EISSS⋘PPP\adrwzr|...~~~bbb)))$$$iiiTTT***FFF---UUUBBBKKK666>>>,,,wwwQQQGGGbgjdddhhh:::RWZmmmQVYckpGLOaaa ~ȣ&&&kor 111ekoGKM/23丸XXX!!!elqVVV!,ET2@*\ȰÇ#JHŋ3jȱǏ jPɓ(S\ɲ˗0W E͛8sɳϟ@ JѣH*]ʴӧPIիXgFʵׯ`ÊKةXӪ][UٷpʝKݻв˗[ Lz*^Lǐ#KLibƘ3t\ϠCץ iӚS3,װcK-}:~iͻʤkM<-ȓ+_5xЭgN<tËu2u_Ͼ}7g2⾿D7߀ 8@64 H|2@ASH,d ТF~D"GIx<&UӅH# DBBH-p,&"-P@!_bI p2bh؏@r'NDa#~I qG h$Mj,棐fнS#9K)F ^xMj פg)NB'Ǟ4&H*H *zkzSDc$*BbQbͦemmu W4J@ h̻)~(X&/F,PϾga[,]{#2Y%+,sT-3Q5ۼ;-tO=l\C'4RE}KGsNXgU`u/}MvK0p-tmx|߀.nᇟikT Wngw砇.褗n騧꬟n&WU:ϱ׻t u'x{]|PGogE1{۴䗯<Bo>}U/Ǵܱ/? w='~@Ѐ_H Z%$ؾ !3(n" , <(`<`% [$p$Et!JC)t` !>`N(.!- -%V2Z%m|I,*(%@@U%YIL[ 0{@jED@|  RE R$JhZ @7TcI @1! ǔT E![B[I.0ZHwhqh^@&c8VBr- wodb-`Sj2ULU5(iM%̘*4SU'-,FLsI) @ģTY6 SghLQ#f-*PHs%"JEj JZ4S)FJSLE!%kddVУR)@ lSI OUʖ E"@Ṇ(UU!VD6 L}2Nݕ3VAJzb@YԑF*dW k{ Ylr) K4kܬ`Cµ$"98)!(yDYFy24NӸR`@B ^`JɊpayO)UX/3gp-qu /[y]~a9XY5IA!5sbn.Mpڦ*;~kW(p?S4qyp0@ >4 Y>iYI9)9I YolӘ&vq<` }P{q'Ful\}@ 穎p@/9di79y_sguØxidy y+8pg'PpHЀ'!}_W. {$&ڀ6}'!8;О;= C隬:7AQ:X ) ?:Z?ڣ؛J APg:)rʥ`zcz>`) k j͉ڈwg@ |(Q{FyC't7RNj"dW`G VjthH FvZ i+gɦ툥9CzuJ 7uzy :`* XJ4pJ 4p=Ꙧ3 6(ښXDsZX*WrHٝ%}G{@޶qCwxw&az%Ʋ"OН:j7ٞQЬI٬i) 7*SKa* BPC@ Hj?ˎʔZJM۞i* A`\=tYk[۵dJ ;ص딓Zph'&ySp'˝io* prpoXp&p#<;y ٭9_ 7蘥}K穻e{9z궷H:qC~;f:;Q+#I`#PxwZ W&.p~0GDhSоKF1 xd{i;t 9;B?P;@U+[`+H{i MkL4{?PFi{Wr918"KOrK45 7Ȁ xO{1(VO׳ Mm=fX:M>Pt xK6EMؐ ij%D=dLCDALJ]4omvlGFꔔj7EkC(r^on;{N}n1x*vkrcgh቎ib>F#O9PnS$YbF%ioRAk.kK^$HPB歎߳D٘u[Kyt]o^biY;UbmQV-T"gPQ+D Hm߽7emⲧSp[o1of(~\Ε^Nߊ>TU[a'O\ei66K`[kt WjF 9JeN!EnuU+-ot̃(1i_Y}FCWh&5j49*?o \^_FԜceoEѺJvIjebdftdm_dgFI$kUX_~]q$yj7toDhF&V>P|bT8%40?l.ENqpG>ێnmB0B->P!BhYXV&\ذ#> -dK1eΤ9YȒ 5!QI.eSQNz\ VXa"Ki~ qΝۀZy:Ѣ B @ Tfc-o,ϠqVgС^͊pkW`Ŧ=w-X\bE]]׹[0J ۆi@ɕ/w{ܭ-4#/K%tp%D0 \K/g71#"hQtQFuQH#tRJ+tSN;%pzNkJNTSJQ&5MO9@"dI vXb5XdUvYfuv `g? S@U)`4Zc4@drqWz5tLO~#Z(Mw\ǥEz5ugtx%`ZEj>B=ͅ·i%ZXh-֓;+н&8!WJ"CV.hzYOHUxf߬YCvgy 1YH4ӭ!hC[Qrhpj7%1FЄ[:8% O.AkqyMS {!8P}!l]VƴZm~ǛБ78 $`h7kd HO؀~(|( *>&͗o%S-#TGA ;V2١5ÝvwHҰF!$[Gđ{~'>oyhUOx)^h \0ѢH"}a iF4 ćH H 2]T*)XIB`x6%,킼ȲOeb6`i aE 0,`B tȓ$@tŇR - PyZ(IJF+8$n@0J!@@4,s@1(tCL6Zč<@4@J*>Jv d IZo|G0"m  [m8z[@ʊ`O# DGkE 6X4};&}i2B=^δ'f2rkN gEr:#(<ĝg=lX3pha662؜T*\s)ep}܄X4!q2nY.&@-T}pC9NY Pp\b7f^ÍtUIzޙ> Ζ0s-u<<t =O/9(g>߼KOz͛~J;0}W0@k;PnwY]{Jߕ [(A;"/Z\Nygrn{ ??%J]{"\Ը=h XcwÙ-K#:>[ [7ȭ)Iب6s L [lAıCDID*Fs (==@i<Ѽh” ^'O=u,J"85c7yEK^ŕ` )b: 6 X,+ x@D "#d hdt))cRM2 sl$ "ٛ@%a 1Qi)-.G:4 7H:H/IH[c dT,aɲ/r ?ɟ 0*+b.@ǁ 1I`NŒ%d"'D]"b#^5D4@&LYZԸE D ;@,7-t Ck 4C27$Cd sįQKD44KęPE:L;J&0Z븂#+DMSTҭ<.ҲĤ bވԏ 2E@RP+ ,-%L\$ -*S3-LQIdS iѯĖ0|5 a0{C `5ԸHҺJ`5Ω]5j2 TԚ՞[# l# #(9ա ϸX(ԍ:[=GMR5ZβˈcNӜY40+z# lPϊRC0Cz!,]tzS/W W| t~7>XQl$GGZh6 AkzzR W} ջU M )ۀLDpY٘EHZMĚ=.\mH]ւ"T¢G %YT5쩴cAژߣ<̻"lcpMՙUQͯ!HK4,"9%XחWjmM2 ~ñ &kYG@fkΕi+kdh&]Pe ^h!) PdmVh0:Ȋmf"YRtfull`8(eyNGFQ{&b.1}k~MuhpbvRSk3n4/4DrtcD9VZcu/@cj)j*wg?lhqZxlmw}9epw6V Fve&wx uqlp.p>sxsq_S=fO'ރ'uVxVT:p_y- dwox&yy7!yz6u2o_uЭus{/{?{O{7{b_{{yv8o -g w7GšH|_|o||ȏ|ɟ|ʯj||uyV\Ox n گ}ۿ}}}}Y}~qO\ҟ ??I_nf'~~Q)~o_~@Yp׫y/|X,hZ *u!Ĉ'FLXYȒ Gd2Bǔ*Wl%̘2gҬiJRdH+-jς=2m)Ԩ :j,TKQ`,ڴjײm-ܸrYg.޼zԽqcǏ!.<0Ċ3~'Ӥb*y ̚7oZs֭]4ԪWn]=pܺwFeʠ^8r_ʕW`[Mn:a=6Ǔ/wdWY;u>Zz]v`iyxL-}CK4_Ciԙ&!z( fa"x"* >VxHMRu0#!]8$XRȣ~26H#C6$Uw$Jeb]zyӑ$%ޒVb$}P.$f&kX8_ygLa4&sey쩩8n':%'ʢO G{)Z ZK+A@ z***:+YzIB|禩u:ܧ4rJJ;-Z{-j-z-ካm$hn*$,h{ڱ%aL3Ķ// <0|0 +@nY'n-~&=UU!Q' <2%|27eT\J2y[\˷1ǡ=W#02A =4 +I'lT~0yYk5]{5a=6e}6imȏ,Cq/tPNg !1r7cs: 8ѽwwDžK>yKK9\Ӊ+ƍ|_ՙ{:riԕ:q2ĹS:>;acuɳ۽d+B[/0oGJ>@p>髿>ϾK???-Ѱ?U] -2| #( 2sI( r0E4uNITEg* Ұ6!sH ",1!H %"sH @D"%{ VB4"-4"suAP=!OTPzئ댱*^vD.S-v,XфSSTh6㔬ȕ :zdwƟMMdJi%/R/$K@2{ ”XLαR4LPJBIMZ`ǡsS2Qe3NJ8Gdc.AˎR@5qdBUQɅt`X3FG lH' @$`ɨ5EJY .P$WJ "mCZLIvCdgOvM)%=iiϥH(6k"D6`L3q4B l+i X'C؀\BH 8BVjVb Al )+d9X԰ie02 d rJȹsS\)֮=9mjɒ#H#:[)ʂB6DN@|Z\hXEIV VRvClfi1W$ak1] H. T@r$ju,Y"/wy lॵq!R8-@yo::V ~kٝ=`mlVa"BJ ު5*mbx!;~/VerY䶱˭nGv'C[f+.~5X hˑ3tvtw2Y&6; \ 5RBnV2ٳ8 ȻձĴB; ؾ00|{ b_kZ-h-߱#p`SKXXƍ 0[Y5@ع$a#q[(%uce⋀6V!EehiK9ÝBR/c[z!@DkX`kDL/a]m&aǢ0}M3vp(30G汃ZU&=С?Kl__ 6K,<({*T}u˕}5b 64@^}__4y\/$tF6H13{o{hR q;uiQ^Њyb{qZ3dWJui;?x.`S[R$r%PaSLf%qYfr%\F5f22]Kb cJp-@ eM][^XTpԹgh"O.dS!ghiRV(:blNgIXO^XJ[:c-@NTYS aY@[Xue1` }%mqd(WIalbGuf:TLuBew[^SX=-^DHm1&XX&Y~r W-ڪATq!~U߃\Q@9VEXDWCX`Wru(ktjVLY>1׉f~gI'k1֟YfX`kh\s*v&d؈uYj"~(I Ӌifxg Rs.G^!+1Ez.BH0^;JEQRfRJR}&&4g&Er@!A!4I@"Nbe?M^uM0jtv +]2i##p_^)B$*^+"]E-^f*}%OԄ6c5iTV#i^T SXYkƪư^'ƕʞ\Ȟe eM+CԠ"B@qQPܠ }\SS0c\\ՅT),g§Ъ$^ bf~rzUE*>׺I0 qj)v-ؾAmdhnnmT-NhS[Qa+].RnS[=~l"jWR.-K"(J-i%F6V%J؆LzYY Vܕ!`&G%2DgrEK'm(rM}Y@J9oOX/;m@J}iF^Ϋjni/1See拍qI0e.u<]m>Fk* omAZ%1_V/:rAQ{n|1DvN[H6%mhn-Iqv@E1 晞mjpq>(( S]m@mf1S0Yeef+3iR"kj42z*$ZfD®!%&~vdjn0w S+} Iit52DSK0TH'''41ɖɦ,ks""o*0LP9/ieJHadWf>3F3Dߤ>)-u?36 / ѦoB$oVeede&'ܸjU0d2Y- 4nGr>2dI /'1B1B,XMG :?EO ϗ5i>|)u'='uBRkG5450tUA sEr4%}Y*T-fXjDX0-0RoRK5h_RI6U&K?rb$u5ucaXv AwVl TR'G^k\3Hj2JwsRiKs59wlXMJEZ#^% 7`hGHi_kTC`K~}*viV|a]r OsTW}nZ2׵huQrWr]6kvKKvF~Z@,w +7EZ;jQT b$>!{g7|wi8jwv[J4V-SJ]#xV74VqIp]{ޥiwD9aWaWAWwq&G'뮆KsvSwT6[Fu/6pzȠ#Go1yS)I)yq89bsL^Ҙ35go~(z?uz];?~'7GBOmk'޶{kS] ~87;SǺ_l2J4:DќLkħ2b#SyWD+|(JůJTJ ʉHJȀ<ū0 N[g=WI0SzSo>_ҏ>t>Wz ׫FϾQD>O>F+Q==L/?b -|ET_?go?w??[?4{>K+%0ǿ?׿?? 4xaB 6tjUxE9vdH#I4yeʐ)2b Vhִy˘;[hPC6iYh h@eTSVzk֍ZlX#Y)Sҳ}zٷ[|坟~㾧?; <o1j | -p0rÌ"lED 5?\, m<1I\m.ZRG`I7%y%C`F 蠂!++ܯɤtqʴ;,5蒖 6H:+3ELS5䎂 .r +' fJ-L5ݔN/ 3& PTS-:Z{5\|R'Q|``b=d== F%: #`j60*喪[uU,<](j T}xU> @~SV[p[w'r37J^U׮|3x X У`x[M^e:F1'v8dr: @b NP9xVUWA1nP@eGM^2L-~F ;L% N8p+Z$Kx&i7#}#n %j6Ưê5?X;64 Є(\NAFZ8@@4A`!@EЄU6 g%q4{x(ڛx KТL=+whX*-(&ӻ b; ? &8C`PV(WBm 6剱9#Ze`X7- @|SUB<4Pt` -pqB=3AsަEknbƵZX%AjuۮHxK E\K&)Hte`\h?E9(_-aZoY|;}쎦En!Mf! ;[g Ԛc` "yEdyJ$#}:ɸUZvF襅nx'/\+L,31+Mk{tހl A.A$6fdT'д & ĩ7iEc Z~$ԥ(h6;3Ɖ"ZPP$ Zȩ+~.`ST$*PmWkUlnm&bvbbVI(OHFKt'&XnF])4q%ۿa/%" #w!^"$)OJfxdXE 3^|%~MBk= ##~⃼/BƸ}6<)I*3KunKR(_+bVjECVn_AcKo}-b闞^ш#]4)7UB?=}Un&g Q?6xxJׅ_]=_ڋ}@9(DND7 $8aZb)`rZ*@kF  Zh-YeNZ0%TT%N$ `x€ IC:} 5ԩTZ5֭\vcʚ=,X} tr2*O 7 a@csVv,xcǏQ/̬@煞]؁ֆZT[eS2i _ċ?ڎd].6r[}/]cċ'?0y˔Q ie0z'lZ4,| ĶND!eT-MGa^aV5wYеaRUa]x]vw.gXy-^c~yqYF]`,8QQ@SY(bRNI%VaXlU9%Xu^u!c3wz7{'-HK&\kIRp[C,qIhfx嗳|ˡzhYajCTDEiZEIDǧ8PdQz)YiFsh(9PhYm U0$h9Jlz藌K!N߽f&ce6׎Tthyi[-\pKo-bl9(NIKڲ,TE^ Zj G P~ roqY8f{W Y"]Vq>qk&/ʹ#wXr\ 2*f0/ۼUBڹ.@[ PjײAG,uvuQ}XZS驆oDs8DAPON9PI*\k] VeP(]A3wWu{>")cBX8Qkm5&eHt}a_>>0`&EKLM{ǤXξ~H~-rwzmXfXURP`& L: `@IB2{i;_gw,&fwFM%\-`t` E %˕G(.-vMxnbFø)/ t!@@xF)H|>KSeyT#E Hčo-GXуX!5IH ,>I$OKA8ϗ 6&(B2#G Pp@(mth([Dى WzҔ"l^T@ 63nm BNtV y@MSKPFUK :ȥe.gbB*ײMPڃ"9= Hukm,G!|rM ]-O5p۔HYNATtȪZBIn 9NRA|#8:e* ~@UD2.D+{P PgDaC"Q=o5YYe{j%wTKvwoܳе/k̰&XKGѾxUޫ71}KY(`1/?`Ⱦ}̯"D^l)KH BR "A4PUSt-C+YJ F*e\5eDXQ%%RiW4yK>V8#n5Gn Lfx.V,CoaU YIz#XҜCdudԹ.[ WEwbJzk4kz5#*$ԼΖEb>~Քr?9\k0⏋ 5r^szVAWgֲ~5iH뢶k:Ϸd:[mi{WK7ɂ-a*sܫִaUjP:9~os[݆lt͐ NITf .(hg?m;-kqrwrkPxs|G_IrF3li\}zVsd_&֡; !=M?!M…SrphOⱲ5u s;5pNKLכIu8}*޼ eWaOnÛٙ麚ko{^v峈y|?#?ӟWE$Pj&s~I<=|6࿧#Fh9(c|aWjއz'RGB6&ΗswK(wց X$XhvDL$p/e1R38WA79Jƃ僖$}EeG_I\5g,7OK&^Fh2scHehgikȆd8 u օzQ!AFt{ȇ}(Hh|px|r8 VsTTHhWE')('DSaȋ&p (H8_7H,#qfʘ[x7(5% Ԩ[h7h(3޸VX7X(vxtHT(5%6hRQ4X%&؍V49%kȈyHGvfRRqFV$yK4 %aqf%D=ho҈)N i2""$)>i|!kAQAb7byw/(GMԒHHbBYY)[Q]9_9qcIOQfg6%aIWiG5qEԆIjh]b )Ii9C 2&y)h19!隯 )IiPeh酫8iouɜ ){M'h18Ɋ Iiiiz}y艉9'II穞Ǟfl!Zi ʠ؟ڠ҉ʡ(8 @%j')+y, 1*3J5wP9;ʣ=? A*Cʣ {FىO +UjWY[j9\ M` AdikʦKev8mwN*`juy{o qʧJHZwJ Jj25S*~Jb*ʪꪯjqpjnf͈ **zɪ\٨.:*ZsϊzQ"tj犧ފy0UTJ꺎jl+K: Jˬ۞k#KO *)j /++-K9k13f?Kʳ9E)AKO;GKI %´U*IJ $2pphiWQYq]16 dKA+ ZYDn!p++t/v+x[P@ efaj + ˸; O+@p[m;˰k "Z ˻c; K Ū9髾K I +Kk+һ{֛; U \¶K/{}+d@ JKx6 *BtAߛ+Kp9l%|g'̿E+,/- G\h# @JLL,NPl´0baŁb$pgik; >D(#|:b+  ȁ,ȃLȅlȇ\epȋȍeP,ɓLRzRB`|zŲ% ,ʣLʥlʧʩpʯ ˱|˵l˷\%lǛL,|L̨Ō<ÜUŚu ̎"͌Ͱ|ͨ Υ`ͽ<͍;ڶ, P> ,Ll|ypyp,ό0㼖u L鼮̓%6PPٱG4-/=2"m($-8]%u=JCA#(4`=z=&4N-P%1MUMk%ݎyBN1ptF?dC+0$?,FHL-"rM 1XawV](XT"4==C FA *30#ǵPd'HG3s{D0O(2ڬmy}{X h/9 1MGBD! as4GC>T aBI7-`"!Gb1-ޥJ2kޱ}J]V:!q1j q@P0F; %?A.ti] DVnCON1Q!#ާ%޳'^(4}q>s*4gd=b#MP.\ OtN-qvR ܋]WڄۅR0ҭi)G}jP0AJjcHq<t)ծ[QQN1$3A)M > ~;ЗΥ%^(0D@a]NEӅ?9p\E@-An3stNE-D)vT.cf^%ڮ/dA~+,? E"`b./DNC1,$'o3?]*O%,E/N5 2QF,?_ c?Mg|X_Zsl\TnH%\xٌ>~/%X|̊Ɍй>2j%ż?̞C1Ddi$qAcF+v]FR;/"{\%/Oo׏ٟf [90޿o[O_@#ǘ-a-  )@-hQE@-.Z$pրZh] hieZjuK,EETRM>UTUi%V]~Vد hU5mݾW\u޽{bK"^т D60܂Ic~U,8bE0Q"Kd7cqa"chw{EB0'Yh9%ʐ>% :a$ȂP' p[ S& `-@Ϋ 6O\cVɊ`G<-6 /;aiZg*:.s j#==jtZɂ4 28 x 1"CEHHlQe-T)\Dt1["?6['1".#J6@R>TU/b\)~`XXűW43Ov^ӌ2ݢ9ْ#qGm'&sDxEvxr?9O l(@@r%9/YDba& Q*[f/bb ǖ,JӦm͡ b0CS=؝.[aBڒ5*-f'U7Ø֊$(3t#jV1^ں t6CI.:у˿ֻ},afا ãh-O6 4ǙD!H1cR~uǜ@4~*P 9ZpFE)xЅ`S!WE%s@9(zH%*!}K3 w];;ώ7 K%D /TQ:.g@LLU>W}z{s)`Kh^*r9ӭ۳K)5wnxCGϏ"}u{>` *!gBPP X>O#, @~#v Sv`/}g?p[O?`g{@][<Tdt 쿄@x (pDTdt$B,"d A# $"dBCB( ٛBjqB+6)BB. ,CB1:h) C4 2\CBq :;OP#RIUeV.G-TTW[Un'@\`S b}(VcEbUe Ud%c jkmVmVjZHfhM4 dow@tke%VsUWtWeWv׀#U~؄U0-XQׅ؉TiMU؍цňRXّD5X$XUٕJ d٘Ytٞxٜ1ٞYٟڡYu-%ڤUFTڨX,Tڬ h8گ۞Zڰ5[ZԳe[U\ۨ|ҹۤ}[Zۼ[[Zӿ%ܞ-]Y@UuVmȕɥʵ\˽]EDҭPC ]eaD].T֕}]+]W]($9 ^+$$U,^<^Y- a^سhMM^5_Z߰#e_J_[_y߮@ ݊by WZ0"& ` cEx ؐF^ fam`!,ߟ P`: * n .}+X`# )~ 6b AuނbtYa*&*6#>%:b/`2c#bVb `cv%=1DS&Q4. PH`IHcDVNΈ<~:2&QRSFe!~ߺ 0+ZbVnՐҐVZe 8ӍH'DA  c_&` G p梍j(@x+ keMU D2%p>kyvg-P i}i#fY궂eqEf@p^觞`U/&k5kB봎޵Nvk^nߺ%kZ6߿!l%2fĖfufe|V\ޝ![e l]M٦ڶ}Q n-=_L ;PKwPKM%AOEBPS/img/cncpt244.gifJYGIF89a???@@@///ooo___OOO &&&```RRQoon㰰000554PPPCCCppp}}},,,YYY==<666 //.llliihLLK!,EEõŅˏ͌ωцӂE7P?@$ #:d1bÇ/R8PE-v,"%5zF-MTIK+aޔ&J9qgQ)O&hDjQ*#PӨS^תaюU[٬iᮕۖۮq[]^p^} >7#s]fakfnmZGJ9mia":ђ[4" L͐.Y T:՞4+ia~[tl!CX`ѕU_6ON5!02Qq-p<^^3 p1ZBH@ Ry7is/*ľRoX!}fr V{pd}npl.vݴ#͌Jg&4G5o?nڐo3ՉlI`^a= y %_^|;_m BEd#ɦ;.8#UYh`\c~w! ^y=?[XmSJcl=}oQmd;nme/n5YlJzOF>6@mn4ƻe:㍟ϣVІ<.[ xz $fn>C&.,gtQ+_\Z rp&g?&~uTfsǁv v#V~~2qhWł}₻v$:fHăfGF̔xyl%(g1>XhTh0LaNԲׅ'b,duDEh(bj҆cMt/vfHubDVmDDIȇjPrnO\rs(LF8nvwzvXȅRN8؃(Ny}H3qpKh5x(ҋx8 0DeFV@ogg(|~En}X,ȉǨFdvv_`%Fx ZEQ(rSRۥlUl%wQ6l7fp}pA'q; c)qXd&dε~ÖT'+ `Rg0z/hec#u\8Yē=+?I+ 'tV{plVrh~yθ&XehĈϘTyx&reVgYv&hpjUh'kJX5rI5gk4KNw*5j@0KxFIgKGp&؈lN5f_ 09lEmIQ"0lYy w͹xYAKi&ՉFYNY&߉D$Ȉ+MS+y1)/H9RZ8Xx+Ik0yr:)B̶)֠CԖ-Qp:>j\q 3آX)HJA95}4649+qEԣ~IZ\ʥ!h숎!khUO )xJj5(ETvzxʫ䉪"髵LjJ2:jҩ­ɦ*-ګjq Z*z-2Ղ Z4qʮsJP~ z J Ԛye 抱Jc* ʱ֪w8J*K):-7{4[Uʯ< z;;´*J+*N,S->G[kI8& 2kE;_8a*ku!+ k(X]{Hڰ)tg8IT Q;*k,+Bke{{,b"8) ,'J{+})c[>G/F|MGIFFdKFM\F*~kI6mnF;-p-իF>+9kK{FuӦ.7d8jF3L\FOJE{BE˄KOë0k23DO" 9^#rS#D 8)_D:gOT+ *(̿tO[K<4 DT %;[TlKk*rZ\l6`B+x$f|7rťiod3tFudz )lL*ny,ǝȄ,0w\Ȅ|#/,R nC+0#O;L,,Wɹrɇu<ɗbʷ9p,|*i+l+lʸʁFʸ˙uo,[sʵ|,Y{,͌,\*\+L+̢ǣDzͤʹͳN:ν;,l,LβɏB΢2Rϯͼ<ͳ|,*Ĝf\И  "|Ϫ),]PbY&@V)Ҥb\Ԁ8*+s_}W[*&Y(}+u;} E0GFj2iHF`ը"RƄddjjfIZ*= +?WF7eF\]&ZkY7jP~0N#}CeS cZ @|e"ʜئ36d^~{jɌd=ewl%f2jVqurɗ7{wpu*=$Yz/&v6jej֯eIxԝn}bgfzիqɐ܍=dMЍ2ܣ܍m xDԞݮ"/2YnEpdHޑpތih#UQ N^C)Q߭}vo>gTZRUi@aJ=u+.[EC[_h,0%9B"݋leW'ަTX>}Ydć jdu_0'+Uh%ՠbrærv& x"i qNdlZBUp.'^]) }(&-ENppD^jrw=dg^Vt>f!== C^hu[pn^~$cGRD)r郒mr'ˮ*t&--g+EnHb삂lrGbd~ &,)ϳɕN)% ~&+).+*Ί n.\ĭ ?l_&j1'XrQX [@-ލTLM) *=f d4W6-<&NDm&R=((OL(ۮVdǙc]Q@Hm&JݥV#ꇒg.eMmP&NeY)>FhBx.#7ﰮii9^ce"i_^Fibmy|Rqﳉ&egzUgEg>g_n.^z8,^rͲ dEfzߵd")dXXi&]ɍO7E  EDDD DŲǥD Ԟ D D  𴃚 + rE,\i #JLjU_zw+DDjȔ%!Q2ATFE8W .H@`Wl]h1#H:M9zpPB,0iRY:kvRQ|b" "US@lId)-pk@NRF~tsFHymjt[he 4p "t5ҳ}U*n(d#jpHNBȅC()Zx`I(՚J0:ÏZ*kIJyy3_'awpk)ؐ[y``eWwD6RmxL}2`(apGu$׊(Uv!!Guc) 8ш> . [wFƣc:@NiXDbܕ j%,OYfRelӢj@ApAa2? |_^^fLnz ކexK'h&~ei5i:Y%YP$〫7/:h"(&&L %Mr9i@9M\mmM 즼mwȤʖzRnhes4 EF⯈Xo]2t$aWN-$]K+GHQ{ +i o 3'gPJե {O+A0!PÛRL$LP#U78לwzb_,1;VrSԊ=RUKHy;AE$~ OAb85p? Ԫ z֠#`=`{gB]NODj ޣZ&+]Z!Ɠ! kb/\SU"'H Z*І&@gb^@Hؼ Up,HS3&`5<{~SX`l)\6?7{ U P% P aCI%1IR'߆|d3A(ϜMq Z"2 !+Zm]qS,rRoESpD,|LySd0Ezh+2jD Kf~iް;7*!@~{0BԋB2CnY7 X68@"6jxEDq€*eE+vܧcjIqxycB6*br&k^n[e$1l_iqGl,JaMJS{NQF 6ڞķ6 u[Z-p|^$-Z~3%O )ߕ8_X,%(6ˆO螨.}.7O#Q߭[o'"]A0U1YF#!&qW)U HWd Ư9hnL "'y)?dăbr Zs$,'?V15tOp2̽-$)k6/q~ʏ4[ˡݶ`! C]5-Ws<:bi ,_b#R DasG"HutgfS`G;T7wJo%~uze}9<ߑ5瀒j6w2q}{|e z9a}RLThsX }⃘Lbedw١ʛ  (J" ]⹢#ڢHiJ+ihxʞ=꣛cAj r'fIK Zzi`]jad_ʢcJe qBpztmyʧ{bu:*wbD} jj꧃zڨvZp ꥡʩ JZ 6Pp@E`ʫjZګzǺꫬDP *Jj:*ڭn!J:*zꮈjz*쪮JʭJJ[  +֚ {[{۱ K0Ko,˯6/K7[<@D;F&*K˱MNO۰0z)+Z;%'Y0`b۵i{N13j0Mc8pLBv;x帷 ڷ2˅6HOz"EJ{ {"0+{˹n@ۺk KJ;˼ ۹+`뽈ٻkዾ˾W{"K{[{˿۾+Kk;8 8+Kኳ3۲"A[E(<²c$|*4k\˴7 <_ 9c{j[ğZe+AZ=;B+[VTlGR\őžZ /gNLHP\?=|Gx鉋n 9 ޜPk=ADA  *@AYЦ. ÖIܞ ˝ { 0ԝ>ؾ5ٞڬ\c^ 5YN9ڡI 9Ԟ5Cn"R؜v[py+YsIk&W5Κ5^ YykٔXޖ5 0]I)장".K5?>D@J^G.E_%_ x4%Of+s2Hy˰p/ ^FxcB<ĨbEDDDD E DĎɳʢњDܶD֫ؿ𷹵ؙ Ns[=F&!~zYpc3? Y!IbU0` (n;Y ?4u $Ϟ#CI+%<}D٤0NI*5ǡTCe4+zufZ݈5-뺺ع-hwW?}[h꒺|Av Ɋ࢓Q;,QҦI7lZ Sɢ0(;gQybToBEnF :hC Z >TӋ..΄DỨvS" RGi!@(HF2 &<8@y&N0 z7Q>EW_ H)$2[(98w 8x #CQ4֠HD|numxW(xPX H "XeGQNHWB 6#EP LIGw@"D~9Grm8H AE(Y#$:0H-i8u2iu> @H)n}^7\JRk:*HB nJK ,~;.@,?1d)>'Rʦ$0G. +in:o>%qA<%;!F'+@>:q1h\w ZT໨g̓Pp/+p- l`I vp#T2s#@l- #o#[8ToNfEns2>V9YN M3YjA@΂D21@cruDO,L`Ʌ0!֋k R5Zhţw9QJl(dz鋁(T< D؝դ1|s b1 ȑ踍 Xhb-DY 4AWjH !'ȩyWz|zH5 s9u ~ *;ŀ+ pV4H#) gY,Z^ &3SٞM Vkn[3*IMOcb$@J= },y_m]2XZv s\kPp>ץLO7T;TKBՀ,ֲ] u.=t@zVAx.! ^ъXtXi͉&C-5y9m8>폗77]fIyXʂtUYҳ\> !V*Yí#;4p|[׊]8zF 3%fMql#ܐHU"~L'#ϩ8r`Ft,2kK{2[of!q )D7I朶7v??D]|I ۣ@  .)=U5-wa4CdDD);hE7t3AE4G4ιDo$v 0a,WDWr]Ԟ/'bAedjR: PHLtKsqZ&yIKxKK4FGٕK DI2T|CbJ)`BJrJqI/$R)ꉅtH.K<L3&TMbRH"zWOP!NVGOMbQ蛚4f$OlMkd.4M(O#եq{ hPUP9 -ldJDMUaHriJRYB V9 K8 j_c[ ODZSU( ?т[Ȩ8 ILj$UxJ> j`fJ 3Rr IaSis w5j#~I ֭^hF5ILmHi wVX($5j͊ kp K 3e Y.45G1 mtV 0\Hf)t*-/+ R| &D_lo79 C[EKGI[ M5|47qcqEеF'׸縴h'KdIju]:"+ Rc;zˆ~ka+\B+ns4b5{Ι@糵`AG#R\˷Na[6$g_f h: ꪊ;!ɒI 4\6Z(F# D[,ۨАM*c!ヷHb밑 }T;۷;hNKSܻU{ɺ #C %!,"?YcA<9= k'zyԹrƸj͌KSN? F 5dЉ! INa]I3Гך" 8ki 5_w=Fy֊ ?-Am'XHZ^;I8j;J=J+?I]+D:JiJؒؖJ4]TT:{}KKĥm!l>*OR v2H pN{秄M<~2z|P ކ}NPP%MrTwr-zݿ\9xux?x +S0UN]–Vn奈sqK<>:Ӭ ==lDԣ@nalN^P7|0跾럐^~N !>^nѮp : $ȵVf?_. f,.&($O).=4_68:<=/p>?D_FيLNoJT_VXZ\ Qc a_ g iO`/^?  i PNaz OsD0> wMכֿPO LD% JKI  ` AϲD- `h_oDƏMp f KйH6%<[(͙ﱦ/ |1cس? =7%;k$s|*q;8|ƳmbAYσCz{.4Ok3dNozΙu5eOԣIMfSիVuej8ךնS@;PKtJJPKM%AOEBPS/img/cncpt290.gifGIF89aGiii'''}򙷹Vgh4v[lEgcccbtIKY8eDDD󈎩kZZZvASSSKKKcs111%)iy:D+G]Tc>ۂչ܋GI'kuzH옘4=&\́ppp???M撒}^Ӆ霜xxx䛹uO|SW3uuuWX)c67{|:j|n999>rى~SVmRhLrrs7ܙspvX.6"ޣ_||||Ki}OtWqUac2NP*j+/hl@鯰RAM1ӢzσlxZ@A"pևpbo戒nYP ~~kƓwxy9D}}V< ziuv7mn4~ԛinb¨owx8p{|4yO<=!t!,GH*\ȰÇ#JHŋ3jȱǃ$Iɓ(S\ɲ˗0cʜS`8sɳϟ@ JѣH*]ʴӧPJH!ijʵ:KٳhӪ]:xKݻx˷߽HdK(^̸ǐ#KL1@[ϠCMpS<#Cic˞M۸sfΪ Nq㧏+gzУ_\سkνH J"۱;i毥_6˟O>MoAn0{m߁& rJa~ VovaW߇sMhx,"=848 ;:*Өh Diw!BxL&vJ r#Tzs ( \vg1*%KM>%hZZpҕqT&hy4fTQ q5MAB\Y礔VjRtRzyJ&V\`5@Cakj$שI/t XX fsC V%SB1vJm/zҗA2z\Sz:841:Tc(ïK >31X0<ǰy̏Ͽ?4'7v|{B} CW`(bP(;@g3ЁP 6`oP pya_w :]pWb/a4lFKB1k`|bh=7 GnY`5( DP; <0nW0 W@CUTGU2 +U@2%UtT!)!AE^DAl$kQdW (p` yZSg(64H d@ 9(%-H 5K6 8wuhP-r7t@ 0"@ q8%- w @/l@pdP -@%w Ԡ0P56` G;Q5GD0~$@+H A?DT(1&PU`xTXgJ%?1<J FJbYp.TW>)+p2Wi7bX Ӏo`XL. J̈́{BMѤdH7J`,EARL1eSlPSx:4T 40OCwcJ>eHy #`q C'*` - t -@/ -d@ wPi- h "Rrw w]hRiw ɝl tw 3 IձF!wzty nNz$P?<0~<1@̤(I{LcӐ@M1{%AOI-+4G"1^"BIx C%񕕠Pɛ9 -P&y ` p tY溞  퐝 '-P (7 dP5H"jLp#h`O@>G@NЊz40 $0O#\;Z< ,*1+V`KJjM:;t:h @hU `$a;$b< @JtĂ `hs:`=1o"a(WB*`>װ4>jb`(Z4з;`T;N@MuY#!9GLP(` B":`,41p cVBPޓ+05"ћYJ 96ڜ@ d w H "` *7- /Zi w H`i07 p o@JߧL@>&0#pA>cY@$PN&YI+IN6Qz:I$!2+EKFY5’VP$a #$ Ŷ(#h jW /on]s|c t@4~ T*JS(P p6 cZ:y GoA6JJxbd0?o05B(@p-KJCb5zgKM `6['q:GKʜ: lp]i7 PH@  Ɛ 0` 뿛 KT7Kp pd  d!<IKYPYN@> 5kK 'yP>MTd)> Xa`,Jp fQ &()F"p=#Ie0'1 gi <#bKoD%;`{[p|}a6if0P4b0(E OdB U*J0f*`Z#A?Yz iи ٹRэi9  %l7`Mpy/@ ߼A  K @1&#OS:YnD'.P J`)5: o5h7K=*;@R0KW̤X?gXPe8H p` p r|4|*~vG٦l, ;`,tJ;2--##&lo%Q*}y -0wPjM tzhnX wK@ } j'K"P 0aPjgl\# I> >A<[a@3;= C DkXY@FX9S[+?h4>Ie`ƄCjKAo /nq nVY 8AK^DYQ^=JBۻNsP p缝H쌀eT 0ppȐj%ѺY’Ξk+ ljnH j=w (p8%NRPFY((@(O3`.I`E]D OPaL 'vApp\`6@$5pJ8(( .>yO@||]Xt+8@G0O4PՀ" lh+M TSl0QLc#x`Xb*;tq0[5UܡF~)[, 7Zf8Z0\@ ([XHDP~-(7ṭ-7ٸ2(%'[<"ٞuNĢ̶X cP@)8΀={G5Y|ȕ  U xw!212V 1pW00aT0  tph uc XmYdyą,NBB $g( \cDG|\ QU*f 2 xwNH%ި3pB +B -< CCqDK4DSQ72qF+|C U0rH"4H$R*n*KI(4W ̑&pSx0ΠƬ7hb5sN6PE~AJ{g~ !yh'a3~z v]{Mƽ,o_Y~MkQR D}B:F˿M؀ *\4 c˃M1p>/hR +6(A<쓺ԋ#s ?C9;LR=L<L`}(</(48]`/؄/8( 8{>p,({Ѕ{I("pD>Ѕb(Zd@ͳ;ăNh]p?>;=,{ZQ]h;5<` lE;=>I O I ,tb(dC?7ă5;GCk>3]ڃ~;~ !؇!G *a8aN*A%Dx7 ]FX,yw%7V{C8 ; ]#^Ax<1C;R؄{؀%HāXDc4E]X;><ˁD(@4H/ RXJFX"?A<Dd ??IRȅFh@UJMQG [IUrQ8?KLE:M(hbbdQMdefĜ=+=P6fs6'ʯSC<X"CʅchF[؛̥Pp(pD0N\۹.+?P,蜵C(DpD7|7~7##:F3HFB,/؀1I4􃲤\p3/pJ/p\J H1*}Rb́{h ]P˳"5Rh@4]G\؀āQ/D@364B/:bR[c`5 c8:/؇": -SS>8\<"5ȁDq ?A|j[]ȴ@ xH5 +|=jΈj<5HBh(<ȍp4 ѯɿRM@ͼ\ȿRK/ \ Pļ+NPQ{X}1/@e XmZC;M~|Ҙ,# %<&uF'**5E˅RS[h1.Hr"Mڱ*Fi٬M ȃh"H68  ȃ 8R5:cRjNh(}ȁȬNO$܊)-YHQc7AxzS3j7,\1 -0Mȃ1h"+T(] X]DO` P-2]=x D 0!!Z,Z[Uåde?|4XtFbFR(1^b^!H=@`/~MuM:Bj:Eb8:*a!({ 1> msG[e+- b0ZW2bSʮƥekV] IIXV4C*Lbi{;bЅn>^dO}h;ikԼ@ [[Lfٳ9 *:ӥ:9>M:wf: 6} gFaKͱ, ȁc CTOaȹ *x02|%˰*zBȁs܉;fjңmk;OTԼ.‘YճƷZ=@=$pr8!9ڬ`hQaȁNb؇R{a=8gK"5d5M΃J-z}yth hvx+LXӥ:XP)Jj:^)En>cF$řLcR,R#N36agdVW& >DH69AqT"1;?SXA4qLesKO`d DX0#A|^e_etLL,V8v0>qPz)X_O*rAdzkTY@9/ bbkx6hj(UwApChtH4" :Mqu0,#yxqClDMqƙ߄h$@A{^ ׹A @n !ml;Pm<[ [͡=r#3FdrN2: Ё Z)Dc@0)4@0@VT#x2R@{l@EXG uyeڐnF'h@C3b|6ѝTWhlG<ؚj|DxW??# Xu,_@`Pkgz퀳q`]ܠaQ@4(rF=sixVnԃ @B^eT u5C͍EUސaD6\M=uސU\Yp !ˉ#!4 @`^ь'%i5\%&O"r -n% 0d%j[@pQuh@Pc.44FXIc6j\ fQAȖ|^]P3>#a7bb>+ &nD@CT#*DR$周0*\`q?~$H$]$JU|DAt6JȆ@QdQ@@nVG䆕N"8$ $` e*%= HAA&HEފ(Y@[%DeBΐQh|VQA%Du\ Hg쉰a@]UA@=VPMAĦlA @ffT3iPLA; ?0G6@8_8\4Aԃ X?@4Xc\T8A,8=yU`XYH\;t;( AЀ@DtN~C5L T `%i}tĘù׌vKCvXAg@dZ|<:5(GeDT+OCkh8GZH9@S.o$,|wx5H8Ns-stČVJ<'=3A[{i@[ x& T_ 8A&uPAY\G5`sbIY5DiTP*褅H?0h>'/>?;A?L>W_>go>w>臾>[>䟾*I~>뷾kp"~kC,~BP>>#60B |DB0H# Dg>"@!P~ ؂\'۾C?,D?_>"DDՀ@B~PA?m haƅQ<D$ f( ffL3iִygN;yhPC5ziR@[V 2QPRIB *+DUe?+d$n\ щ$o^ڸ@QQ,*n5"IWBfN}Qd s:D[" @mrFmVHYG= g\xpÉ7~yrhQ$[8PG%%V<:]Ȑ Gy@(VPEd2A¡D Apj:Qy,A "m$Q`Y!$.kňBL( j$@z0!Hm^hd>XH*,ܒK (L(ad0 DtsXR+Q*K J@$6.ǽ!Z! oBXDbLQ?"yB=jDLDQE xe~\ `9fH,3HAf%Zlݖn/+Q(0LbMLBx%Wj(]73u B >x(^I`J H9f~܃D$xE$JD bݰ[\P,UOL *f# &}a%XdZHge@ܪ묵 $ÖWێQo. |Un3f!΅v٣-G# /^/d(x]6X o Аe`D.i9HY](KQqdXiV8 @3JJrzT3 :$(!!A4e0byŅ߅ ;Jt{D(aI2c)Xg=5!,PC m{D ī\`)*lH%H@+ \Z qvSXo ^]h@"nyғXE+ -Em@I%@3J. 2!`JW@aD& 2BR Cx00C -D<EL!я2Bð64 j(pgaA +C 6NJD3$rDH`!HoLg>ʢ^YMkgjm`5YΥA ݼ\4s&b4YO{(|>$c,LV0H UBO>>ZQ0b] 1Nj~̔HIZR)R4)UJYZQ1J[ZS2Nyj%AB{ZT5)4L34ԏIa@TYVs4#t2%YuE1kR4fTx( Q $SCP"bWU,^XnkIUuUa۩vDalC@,.sDX E.^!m2$)SAʦ2f ce]cܝ~f @"h{#up(m3` }@A aez$ɪ+_W\Թ VCɍYЌP+֬@e70 fR L= !`T0`.^\O辢 GQ % L"|Q@%f! [Tu!m eP?ţ#di q%(+2!ը. Pg?WkkJ@^HV^30 !l`uXlG۝U]o{yo{K E( p?)^q_9q?|/ѿR/}__8~L8vTc&U`b2d6<A?F& Bڟ@#? a& 0bt ``̠ A . F&db V&H@qp`F@6 !h4 NvːL&Zp^ .@ ZP F@2d @&lP d*bA c ! m~ "2" a#aB ^0 d g&%*0 A v o 0&lP`  Q&.0hFёI/L@ hl&p/ y ~tI@Jr Hց ʀ @À@@q `_" O0 2J&p A#+ Q & F | @" ` s|;ycd&jR#, %1q 5 "@M 1YO lp 1*_!"j 4`#a$I5cb.aBo %,b3S'Kq_"| @`89)g *` 3 "j3/_ -Qr&0 . 2 @7Q<} h?,b693 0 J * "1*ƒ,;ҬP-u2e"r*A!&x7Ҭg4fB4$&0 /&0@JADx@)K ILeKÔLIoLM7LӔMnMNwMNmnNOcNOYnOPOOPEnP QPQmQ_n 4!&R+R/S3US7S;SS`QQ]nAAUWU[U_VcUVgViuTFuJN5UkXUXXo5WuUx|XYVqY52zYU[YuZ+Z'S[\e[u\^U]]G=T[^Y@Z@^/z% |@U2&026h0Pr/OP ^&@ F À 0H c`2f/ 1`. L6'jiB Fc`b_X` !g# x6^"1`Bހ!P Dt_Á`\_;a6 `  U6!pZ  `\nV[@A a&:v OHm Бm&m/ b%6^P7cQ t`V P!'L&ށ 6  + l"&2  FBva %_"9wp"Ā"Im|z#%M`I#gvvql&8`/x@x/@% X  :؃ %cM/@`@/ ftO8c'tPHsZ;@3Gs€2'_ `abP 0 b`JI@ r?uhk H_" JR ` *3 Bq3h%Z^"0@ 8 n+U[` A`Zs *07 `[n@ ^@-U1Ws9WZeL`F@7v8@ c`eH#2 `c x߁'Wyk S 0l1vbi#`0 €|1__B. .%0PZ%tZPAF " 9@@ b`LX& A KAD/k1#v@ 7`@ ցn_Xv@ P *'@@:fc "`:v VX"V&~P6mB / 5V%L@ ,A 8{gb tS /v& 9 @ ii_"iOPz& B=" %m.@go`uUiZ 6D`Z:93ws;wO "t_"M:'@f |/#`F a "@}y-R .=cW-z%~|{s&4 f{E0V n- ~ `:& 7&! ` wyڢ& %` 8+!pL@ڭam_G d8l8 &41okB4ɏIZ~Da#AEywb–؎,a l1ibi¹c5`h_bӝ`=Y / PYYYk{qYa^`o  An`9Xa":@ g2%ڜ˚2ĉ4~puGU/ҟYi:yo⠯&R%H`ǃ&8 '|{R#Q * F 31 @ O ˜}A fBͧ @zO}&&L  č@P!~` c{v< A r?&D}k1o[bO3*l5!c;g&N'@_G_kɒu}&3<v1 I:Y? |,l: va B\Di\8p, 쎈NpբB'Ҽh/ȑ$Kk%#:Q e#A-$X%A1SXICD0ȈL2 |'Ң: nt>Ƹ@0#108(u/J-SΤū=e`*`@2)+S v[ju?5NS i%0)L~'][`P*Hb00t+*Ѐf`0 CdR',`3q\('b cHG&@@HL&Bx(&fAdDA#߱9g1k[kNn+0FΪ$`HG%V4$@ NL0 % P D8AJ&@90A &4bS@ (KN|iΚDN"a]p=T`0\vlk Lmh'PU@K쪅$(dLd"2 Enh`.e~(&0zt' ]Lʰ40y6jcp 8 ]Y(C~2E3iB֚ߔ<ZpaM-;`D5x  |[ [EbO <9-݁–I5$`!iOr[0jlԚ p%c%ݾYG@O&Z|7h 9t3I >#d >P\p?>5 4l˄ ?7C{?\M}|7R> <yZq|O9/]8ԯnj(Om]0q~o}>~ry{q}o{?r#>O_jߖnp ߹3_񸃞Wt}!ozS^-:_~o3nʽPҀMHC oKԯ2P!pG4_wA 0o@F2?jU(Hh (Hhȁ8z1y%h.y+bs(n38og}G9q'ȃi,(y?@2hgBKhv;/nQ(M`CRTDž1a(wPH NYȆ#g0D9p8@chXgP}(HhX ( qP @ 'p艟(Hh , P  (h %`` @H Ȍ8F[V@h׈٨ȍ܈h爎 ='0q HhȏH x =@iɍt  Ԉs Ԁ\)#7h@Q`  y{@ @98x 0 0>k8' ,Uy|PU Ekp p 'Е_ 0 kPh@M訐 ؈QpE)GLY0 ` H52G pɘ 0 C KIi!y5)ٍ&fԸ ..2@3 .s ɓ䈍 pt 5P{0ىOhCy@y@ E !@ 93p@xxaYtuyJyuЗ꩞ِX@ `P% +sԈ\ 0Y'2PPQPPC0yʤ ڨ @@+s p`Lw2 C` .P 5. .IH0 t  % ЦP@\x؎89=E3p[ 7=P2|gp *J=y*:ֈ (*p 0:,JP   .,  ХI0*Nڮ 0 I԰ |*~ ja׸P``H 50鸧C0 { @t@2 ͐0 miH ZEP E@ @ mpQ[jڝ@ P ̊+0%Pκ.Ո08Vp P@ \ @ $Yiq؉൓{) B* C@ @ P԰2;؞*u@0=pty00p !p2@ 9P )w٫j$PK.`FJlZ(k+@ D P &+)0 . Bʥ;vOqԘk kEIP!;ps` xKA4+8!p tpȐ@ ,0B=ʽ9PP =P2k J󋑅p@آ0:  `PP @ P}p,KtA j,",!$ B C `{_ P[KK 0!@ *7!0guvy),: C.pb̭Q@ɨ22\9[ @ l,%2P;,ܙY9?.p [˻, PYX_0` + <=p m i iHx{C` `M̘9А #PE)Jw=|ʅ9 P90]*+ `+`0Pw}`1Y|`Q p3SM7 i@ Wjmh X\iM '@@ 2gsڀ%Y PT}ЍjPC1 Tt[I`΍ x ٿm0 H0 5Lmmiُj^oLݘV[`OM]8L9S&iq^=9{@ ͌ϽE.rdKn٨ɘ{ٷmۈ.`.ƇĨ(@菨 pxx˨Nx굮x%Km؆o&P sxwHmͮrf4T8ĞnH8uM8'i!P z:3^p#G`Xֵ4J^s @;-l l` p_dw႖bFU4|h! Mjb= nE8j0Z8d+K < qM}p#JD 6+^܉L}INOwt 2t@M;sd"lS"S`]D NDbJ  R1)L*T0#eZ P" h p⮁H.ʀPA l2.E<2#13ZŚni8ਠ"lPaP® H*.**A P @x$ )4%*@@ kM^%71Q\#*GBgM68M4Tc͵X@P Qwp%Z 8ێw""k$İlO<Ɓ0(K #:&"P FLh$@(7·`E (ubx₃x !&ucL,'Q# #zaG&!qF'%xF *K-3J',0J.$Q 0P*4MG'd:q%*apqV \cE𶩹;`W*:FMU8\;.9xC;H@ʌ,&48' , b$*# ˈhx p7'o &Hx2k z0Ɯ-8#h@srπ:YVֲ3a$t AD TS6X`,%(#>e@Aꁅ$`EbTZHClHcrAhv>mo}(KȅpiC0Papb 8s- /C>+Ue#:ŀ aAS" &bw J Pa?"`ɗq>x7reDLj.U"Ųt1Vh20o]'QNEP0@ hLj$)3FX[lfjZ\BĕZP @0-1A uL6lVވ-H8gQ|&R>\sd*N \AeTiGQ 9.k-tÛp(oݮ*Uc~@D 4(Z@"`CO Up Q p+SvJ@Ah^ #@0)R´2:0CQ5^_Gh2H@E@BkF|92X o@$`@ 23R X #`Gt1G8 e`@Ā%B50;0= WBu@.5|# `0] ]Kfzk$~?9+Baݗq$_ ϟ~տ~ґ&߷m.7?c$@֫>J?>t s@ ?, = 恿@Ҷ YJ@i,8/c 70H?)!: 4;dZ .&:ZK94XN(:3APN0 F>|?,J!-w61Њy|{d A'qi6@D% (#JAPHFSx5t رdz@hX>#2@9 2&#,(b@ Qp@h",BY$* \*;0 yx1{=7x#hk#>/HBD%бH s/+7_Pq  % h`l@Ȭ x">t\%ȂD`S8%h"(j&#F0d)Jm+*䁯xB*hI@"(JF(cAPGBȅ? Z. G525ȁ,H21ʋC鲯+%B&MDIyb\ \ h*F i@' P){,ʘFNd "   (==xJ 8-#%؉i# o$3[ NA(Wp\ iPpy`Q8MN}0?pP4D%\GK͊)"ଈP%kH,z40'x2 x3I+(Hɥ*(I€< 7R`"&[O8d:tjx?.7 \ H"&Hj<4̍{҂j-`.xQlQ2p5 \>Q#5ʅH.``CԜ7 *7@i ;{h0q*8%<5*,K#`: MtiO0e"s%;%XJاN ;,z`S &xPJlZd gz;Щ  |b"!XVXV } pTNyёBغ%)$^pM2؄Nz;0QW)0as8.)$؁iS`!AO)Oˈ(cF_'H0 H [  %PYޠ#`0dZs6ɀw º47(6:*HM)ۃd=L3$VƌghtɌ[.P}TጹU0Ȅ(]/> 0̂#P,H\,z ŠDh!W*fɞНŒ_!<=elCmÈd(T8cwPc|J]%0 稂u 2H* _ ߲g l%8@ U5([Z2.2g@*Pu *׋$k4 (9P/%%POuC$`,@ኸJX!$>xj 5'/H!؇Rh6ssd'sRsf؃ȄHO!()Qy B=Y@ )(D@H*@hWOp?Gr%?f߃$Y!x@' H=kxf't?pm W(@DH Drp(x]?d@[X(a8tD8 G=YpOW9 w57:pb(G Q(bOhWa`bPM@\oQa83<`!sįr7p0 ($x 0PGC0 HCІxBxWxYXq!.*AV92VBo"ERCb?D>PXA^ I0ڃ."q)s&͚6)ϖD SE9}pͦNBժU)ym?V:!$@@ƒQⵉ Xbh_{dB(\@4Vd ٳ++JlҜyejG)j'&ĉ-;N8rP;3X!_ujӣx(iF3|:AsNgcX:N 8"`%@I X`H+%Q?4PXdLɐFq52+\̀CD~?ʔN=qHjRP@G >Yb}eVZqUaUDZ.@MeA.+y `͈ #Z2g4 IQE HA"PTQkwF'3P QG0,pC'5(9Lp&C[l=|q y2[p|=rߛş 2 (ӂ L"5B!SGH@BM(VIDZsEBEC,2b75UTm4]}&EbHfC/n՗iF(C$h-~ 5p8<#<|H+@$+@bi)lpC)u =!( 9w\rʩ+S0C!^rԺɦ5G}3CN{$HQ m, A!S@ r@!\  ` ִGOdY%+P)$_e{"*r+vU_rr`t K53, ~gra5Qlj`(t6 Ur{pA_ȁztWocc$kYor2-1@8y΅K,@a `4A;(.#bjh Q9O5PW']/KbZ~$.F ߘ0y!̆S C?h"SR)7(B0R5PGYل#cN0@_pt;TУ̐qz!gCla@PMT"V 8ԙYPrQr*DRf< HpTM1&@B:Y\?!ǯ̑d_^ CxE]'35)iLh%*Bez1`T(@=pÂV#<lG/Y3am@.nbpgUNa xF0:1SFSXB:k([!9%HD1B > 0$DW<'(jp0DJ!X,D<^iP-eEd#lq3!@FM P.mH  / Y | * @ C$iJ L )K=F{P&0 l$X  C)6 >bWi:˭^q H#mq H H% #? ]D-J4ExHbD"+((0ʚ6݅@tNpFlۏ,ڛ6C |)w;8xs\@*MX@N5Dػ1*NѲ y۫_:O:Ԣ5KmSG:8W:ֱ(apP{_;6m^@YC;.5+at"xxӖ6.VaJh^7c݊#h7mOc<Gs#< (\à8+nc<8;N,bh6T<(7\I `n;Ȑ{󟧙K:{~ JGs[ 4,B:իnKzב pS`=jhw} nw'o#~<σ>/zGozg_=?<>/kԳ>w{~pם_>r;6趷iڟ`?pJ<> ._ ?:A#T:B:B`JR`Zb`*&hy A<#Z z؟\@t 4 tXП  ! @$A06aH P<>!}`!  Z@Vd:!L!N4&&a t5 A\@*2a dȀb(((^0B* $-@>hA)*2BC6|b(fP4a!0# \@ 5eC`T"4p@L#3=Vh`+N%\@@6A."dBf@$@6ҡvEb2r@$t+~6At5^8^J\:$###sNDD&(&)A$2xyUTx!r` XN\zAt^##ЦI4*:<(p@$;rV`V%jNCސփh)hVŠiډ00)HfħN5tƞ~ue#"m{A`I XZtnes5ܧN@ hjzg h.cd 4v28Wb?d -"\Z |%e$(gVLß+S\*{Yjd @  $AޣiA=*BF4blhk%(%ۤ@bAA&k)k몶*@@=kV.l|# A 4hg#$ئ{((<\` $^}, j⺞,,hefyΩPB"l)kREbc~eю@,n 0m$F@ne_n(-mjAXH!2#-nAl B +F6lf 5=d@DUtn\㎢h<dzN%T.]"چ^i22Dç*./&A 9.$* -W$ڪ 0"@bR0TABA ^υh#3#iMA=2j ? @pdAgJ'#.Jհ "bsNq/ɒ"=fc $HA<+ă0WhQ^@޲0WGs] +V@0s#ڂgkd*d4AHro##;pݾp 7%W0ל.^5`2ڣc#|$2#;C2S2! X!/@ Xf$//OA,F#m2h:2dAؠ bC P26#ll 89KD_Eldp;XA/&As<_V@_]ΝhKwofJD@<`%d$HP/8g%SR3u(F/牺R""tW{Ww5ʡ\֡:Cϣ&g4_R7u\nTrqpT1ga7_[tZo=iDufkvEgiTOvhh"_fj5)^lV1n itv`_Fr-m6}%nFgo;skg>jfvfvfu[eOwjC;PK"ZPPKM%AOEBPS/img/cncpt057.gif=Y¦GIF89a|???@@@rrr///ߟ000___ ```pppoooOOOPPP999GGGUUU***dddyyy<<<!,|@pH,Ȥrl:ШtJZجvzxL.zn|N~ G` C JQS B O=F=`=B=fR=> =C C K>F   B  HlP8n8ITjxBa"],A$4I&uDxLu̢dK@ᣱbE{PV2fT`U6<:/C u QA/ {t@Rۢ>JZ=JeL_fI[)t$k j $Lm;R[zQW#gqBRyl+Жtף\У/È}pB]p҄`]Rm U*al^B-ݶ 1Z'$EiGA ߄J|h7K-l1bLB+XUXC&3[XMq> 5e,U]`26L eYNI !y6GR@t֓f(&~gpяC\\pXZ1eVsljh.Q*`TUI̗Yiz"! RD|!X CJ jGʇ<\>PI&C ]Sx !#@9I#zBWh IP;Ef+/%>.x`XVci`kȧEL IM$owFC܃ȯEɾ~XX\\?E`vEUl+m9҅H0>Bl73T,c_C- T<[Y!xR;µ۠7DDE8B<`BXpRn*ccԥ#9yBTNAIDT.6tXM j/ w]rGXI]KJP -[T^=$c`lS O}|ϊD_/Ax,:DBsg·;]@fO Ha>b== "=3DK.x)!$+i  "ṞxIt&3 ø5lST#nVOJXqB\2@!x٘h Qz2@H$gҟ!oY8N*D btR 'a`)1`ʭhⴳ ZR0 tBh%#iK(;Yx5m m,(@7{;a9}GABV0q:]Q[X64- ;'m3bk mh¦ Y} :kؠQ40E[rAg:$ҌQ3郌|KyP(PCg:3DTK=DSP,u'K+}G7R D͠^GdWќHBH@08~:h040lV(uhɩ7yAu'n ):jͦy4(Gݩb`Q<p HDE)vBEgvG0ױ`?6 }13ěJ1{lѠ6ģfXB2 qI{|~f,пθTDvn NvAAdW]f_KS 6!jT0|pgU(5*oXlHhroMWt+hQVEObc8:|:B|(% [ 3qYGϤex!mτ[ya&s$>I>v8 P*bg/`K{ɶ:\g/ԄVN;&p3['B0N[v6)֐^<UQ1C?|g,?m6f(ăU$pcA+UUw}0E4%Tz`%WrP%vhBZ |6UUDqHPܱ'f& m^7|3:kGP3T"1ZBgnXB8=E_•F$ub`>`8>Su4(vT`pqIuH/Hbd9L?(,oXTh5~@6/6f {a4> h.P%8g[Sgjakgghvi ]v jE0jAP9QgPMƉ6 FST7!rf482`ZS@n[`\SR@V`tfIT@O]h@m-S/(H!UNpEҎ️5!pt~6p= %ȓL7p]2/ȏi:vqXL#>S==ÑD<3$GA<#b!$?!'2yBxNWZvxFl%ScBvZTsX;xr&/6X9 S\yQVTHdzBsz!F6!.~WD-WtGSRx"USB=6i9lɀ Uu6j2Ńgha  i[vNs~)8z.s ijC Y a`>QӅCQ$0cXV) H* МhH*PFb=r, p/5)lĎ繞S9  PoYٟ[ɟ9V)Q` fZ Ixʡʠ "ʞ$Z z뙢*J,z.WJ51j3Jw R;6&7FC2 );>J 3$J.^rJ%6$c aB?qyz3A#^%ϐ d' )G FAx[:1w :\f&WOtJju B4gJZJqYlA',4Sx[ڡ* A#0.5 @]!O@a (qۑ+"1h 5a8RStR`z Rʪ/a[!5#Qw7T&у LG#XZ0 2 QS= 27@@C: B'%(mz#A)SU+oɀWB@: p$8**4zХfM-,QSk#Q8؁2bu<JQ@:1`l9XIs Bh4>*ƺE"rBKzZ*)?_%#"1+24I*q N ;9   @8g17ד[ KZTVo#NðH9_4; COd`*@O=G+vK ;gmH2>F(u L A@v{1iFAP~( "Rò5\#=L Z4*\#(FTkP+ P %,q@Bp& 4)Q 7'  2 I8aĆ|ȈȊȌPt QC51JD'7 D%qS)b LR]R& s[4q4^ Q%q! P/͌ț S"UE{qф[˚BٹTS"~hZ:8Q L\~@  =]}M6='UΠ2β&ݜ )|Je %'< 'Gp!7]Aρ!9-~zP7^KͫJVq&DAUAC qe*} X t՚L 'eB 4[Ō[8(M3)|B|LU\C")Ea)i,2R" 1 cwAӠy<tqa!(х o\*kҙp,-"$\Mr Wf+-"88Zpj8 ,8yEuv@gJ\|_OM]V[L{ >NNS  nQuO%.(*+ξW2>4^6~8:<>hnP>FP^QJX7L>N SNRU. 0@E0=PbX/>lF@QQ8is\^~vgN9pH =7+畮hn<N Ku7벾[_Mf ӳn̞꫁n~}~7;腾OBt Nn@~GE@~N^oPE@^ p0p` RM >~>0=N  B?z=pMOw _V#kpqN.0YI7N^NBPhE1BC@o >P=E/o@ aPi?kO6e~p0@pN^0`^[N;Woÿdp=PBP0=ÿp.*씞UHNPo O;>/3 >@/҃d*G*`.=.e^!xW 튌&/1357{ x@5 ,R|z*\"8b#^z8z͖]̈́z68"X"5-u/=AyD됢c$5Ble-b8Up`*```eݦhAWG/O!aq*3!}7qԹa:x_QNYơG\$#tʕ+y^+W"! T^}l BqIghaÇI^bǏwt`R ˤ։Aj|FMB$2:ڣ0gt >'O, sB nv 7&&3{fMѧ/dzBSn|rOq )7>.!?{";Bc6 QM&D(Q9"?`FDJ$Q\xM/LRI$9nI}H!|R<-(.GR)}LBd3LOL43N:t;>!NC&BFTB@0#M|$ 34UUBo-; QE_͵O2PT6+)LgU\]6X]$TҲSsSmuo ݰC\m&Un\*˭#+?dul2념c9T a~ذciYwQ9)⎃b~ANyUId<?d7f C7}sl( 9`{` "jN$H;$谆KZjjp[pZ0]Cufއ:[6{oڼ.8vW<28 D iMȠa&d ;o!:<tsNtՓf) ru[|VWOol6&RvuW^|6^$ jp 3%-ӑH/6?WM2`2x1pG6 T\ `+蒂 nmp47Ĥy#JG # :v]D~ G]|i1~chM-! lXE_(a~`Uq^~ +‚rVրnA\AQMXK?HGWtd%+@騤<]ǒu ܥH psPtvC$F!BDq1=q pbtXP0\f IG4V`g< E:L!3H ;ߩ=$Z`A؆kv9Ky 丳 δJ8 Jv߸b^PN4:-q~veb"oa~Ѡ<˧tW&H9}CP6y8?ܐMsb AdzAC2aC.Hգc p C"iŹOsFA.L С t+SUtx`JHT6` UJ 0e׌~$I}9s@H35r66Uo]THm^f> T-_!;O`ĵƯA[E цk:-_d^Z*B$29bpf6f:<|E->у-FڶDE,{|VZ c0va[$Q Q\be}y\CTxKzKY)}߉@I*=gDn0Q ϶ t>Ђײ66&蔑ȶA+SJn*0,3klKv*@V^t|\Tr_Ӗȸ[57H!@dJuxCe>Xz os!Ȍ)ݥD=42`&/ EۈNEHzzmqrU؜Ƚ|Gu`Au}X\d'KA aVI}vue47sL> 83iDžo q{/GXƓ뀾!l2nDB(7@X2)opCvCoYAQ=B=G4d :Qhܒ_Ul݂숪 ˲Kf$2,@rƕRB, 9%kja'h"P/2@wX%/6vJO+ GkHjϜ*x bkdƔ8eN 0?0Pd:;bָ  YeN X".vp?0qa4 pdd "֠hP-a #cI( g?pUpRD'QdFh19z39?*@dCa:6 L:cB:j`Sn&ڴpVVƐL/HGMJu*bXz;7L)QX=N+n4jSԖ 4&!A Ks 6S%.k/IPU3 3,!ޕ\nl24 0nU5 LG"|#P(+v,-bʋH5@"L% 47‰-nac>=zh"UO,!-LM^AЊ4U5aꡖBihet,H ba"n(j-~hx&Ĭ(i(* Ъ6g#tDb:xvom:qt `A RBc@jߡ$aq.p664C=Gls)BUv3 l)͸X)nEn &|&w]J524hhbybѓO Tآ>S5+]v袛W%bjO-*hm)40}VDbv=>xvQ8t#W74 x:H7 `.̠p=::8 UavB)$DxPXfD!;c"z& &ⅺ `enCxO!8yYq:VSb1sC*wnx)a#DCwU1#Ulznlz@hȀB/lMx~'&f%HV@U|OlEk`At4ʡq^Svdmx6*T& fJŕ؊wqVyuXQ׎_ V$g7@`6HY7Tiza|&>X[aI@Pz[p+IvZj.$9;yy!`2z''yf7p1(9:.YqgV:XwTzEsInSKPj]_,> ]9i{uSvjԔb6I ʘ=z @pq#f1u77mviE;TDç9bf'Âc˄#][b&'[=Y=|pQEzwt]s ;NAl,H AϩANA0S@) ~n l6;aHžZ%>fU<%:yiKCI;_¿!5R!އ;,hp:|Sl>5C88sK^-]r>*e4WO2̭9d:ԌÈ;:'P ? AX;C{|g=Xj%,4쨾J^-ܡ q>m!-, "yM ]U@q38M?G {yJm3$Br>LRR 2 `>?csrzѪ*&6!h<"ePJ+tBD-рO%:!!bΐ%l%ALTHV$@f5d_WRK%m4A=b: `.&NۨL5bc:nDH)\Arˎ!p\泦֭+ u Bհ hVC 15YYuV&xEkeT%iHͶVE}J&Rs- DT^5%^QW5)mRW昍zmg `YI!ܳ҃Hہ(`oD F= (o@0_ D#&(DH|WA=bC!qbgilP(Y!ėa }eeM,魵^w|}&pg69ħAlmhs&hܧԂ~VRt(,C(/RزEDC9BoMrĺU1P9eFTu-۱_hY,ZlT2ET0#dPat;.PFU6 &I&4 c2!oˬ@/*@BH3ElFŴi_`,=ܪ:|H/<\sg1ؽ!&Vny,>|HB{JGcMExo@@!EeJv&`Tx9J239 pkLq=\7f E?=qf_f"с f$\9zEt˭d3VhucYY'4hz HB Ltrps]ʃ@4! >$"p*=h@D#H|G }GD&224.(Fb܇bEg)9h>ȡ]2ʍ/`4u3kNfPGh"( ^P6Bo$w40QСIfեF0[M1# TPm!TJШ$JB9)@_p SxCjd yБcLDI%au 0͇BYVz>G<8%z B4fݤ bHL%ޑ-}P/it_atOn*40 4=Fz&m 9DT{LH% ؅֋AD'oAC/8pI)[E &#E(vPM BL!NtNo:4bZٿepȇxSu5UX2RQQqeÚL@`feaYP:W2 ZcDNf{!>Yo[ǫ W;vH:ѧ={׿_ۛ>'Ǘe'4 ozvW>Q|%Sh}r8-9'Yx~qu%A]zY }_* uY: .> OD Lj ՟=iE^_m3<$Z  a*2a:RaZraz!@!Haa.uޝarGa0H!~4t!b"N`Sa$~a"bb"W8b@_ Vb ԃ"+r@,"-r+ " !DA$ %B"Ҁ*.b-:c-.*"3(J(NRz t+,Z:c;;@ Ȣ+bKh0# g\b+" cB*;c+b L/>APU艳@+6#B.dIIcD.^8EcL|]J2dJdO# 4Vcppz#g]p 2AdUZ%J@4Dp@dXLƥ2@:^ZZ WJ>bIRRJz8Yd,d[fa*$PN=C؈ec MABeb&f@e2J% ^^j_SJ*.`r&<fl hmj L  \f d p e"Ġc*g|$ Lfflm PCoo'[bڃ$gj9K6&T 9:Rlno$@I@qr%!}r, @d ,cUԧnmtO"&KKڥyzC\J*gkΦmR(>@~@&gWV@h tr D( ]v"d D=c" gzKpZJ'g>hmbi@ fc   ㄚR{6(O>@ ~ڨI"VN }5`hd{M `fJhnRopc C0NeU@j@pdʥKM0â6V p @!:Bf4^ Ra$@f&@}r릾#꫎~rj)0B JjW薂{«UԦ, iޣɲ98gd @}~.$bJ!g:쬳h{k[jl},* $2$]Tlj.h F+ tܮ)f$˲")*+; ܬ"*jPd*'ll"; h@(hUiѢnV -£ʥXoީ ni/lr*#-Jc6k65d5lu,Cs9m@s;s(< k6¾>+e)p= @3A&m'fB˧lҧ}tDK&mffFq|f4fE'nDtIIttK>@PtMƴ4LtOB4MtQ< Q3uSPRO;u@LBu,5J#\I Y[XQZ3W?UOaVHuJۂW\;XY655ʆ]7!^^õIu@`U@Y+`_?`|>K+jAM{H@;~i?~wS:~ ӷ'CЃc+;7/5;6nC7|$, zBFSjzf[ncs SFX`@/ T JqbR\K ;Kl{MUT*:;| RH(XYx!@.*x0(Hzz8)-(6g*|I`TȤ`𹄒LH VDPMt:ՇA8-%$2 ,$0 `a=4Z ((tG‡EeܨGʤ%I >rvU!VQDVPAEdM`|=-0zʴ!\N9~B7@ j#=&/?'<1E1OmM÷n$n6iH\7C ې&糀b{)INСc@Dbz!$_C1tR+@d. ㈤g fJ1հBp9*:d)I"G Bh `BH $H#;`I'  zȴ DG^Lxnˈ~e((0׻@ •QbAzlb: Y5^+BMӕV} XTX5Ff![űa'87X NcX0dOFy1x=7yfUfwf~Z:[yE8 M@YiƢ0 P뫫0k1CF[l96oO&ghnRbB&vǃ>mf8T  >8d(KG!.Pfo=q9[ow֛>v&lE|oQ`g*l(j)IyX9`zF@(ID#yسhlx*1EC 5cC3 ~h:QM~yaj 33 3BP8@%D~5h@(nڠW xgw#BCZ&niO: k&N2 T<6E1QZ 0Q7Bm;jLΈBϭ\)qLcTVKe2]@$Ar8F(IDM>`R4Ќ)mcs5Cb_HB/`~] ~@>\` ^h2n,+P~ƈ^B)Qw%̹D2/p rfR dYԦqi`z*̴miPRaCO=156թ(T]L{uikc0(ԧuQQ5~L\LaWŪ+:ClB?vMYFzV'E (4~3LH!/JMk͐"v`Ԅ` &8" 9v˔C19;lA%vv{ #m|XΡPx E.C&}M%Y G=$WEp?8``/lZ.5Ty*(T~>CC (ILw%zh*4ΈR eBz C}7US#B]s1]^G=!WI{׬fܢE nAm!ڑBg[3Ap"ȸ2čhK[boLe#PܸK FVBrp?͗Mu;t'ܿL# @)تCApZ*-*0?e-烃 ҿj@ؐ/(*p?ۃ/ Dԩhp7ц 7j`ѹ.Xx+I-B=y-u#C1D傂Қ+t`[S@XH[2#J)> 0-Ha;bj%I 'AL\#@c$RҟUD;aіYls/ #B2"2D|++1jGCڈZ$>Ë'~0J [/=;73%3,,T l  0bܿAz4nLF(@ F9F % nl$#+ ّ٬$"X,#Z]5Z]HabZ?bh+ ^ @mdVnabf_ b^&)^V Ȁ(fmf`\3NIfqN6 hd]~a^ d7BM5f1VceXI>Jdr(dn42Pm _g&h [h1Zւ6[Obv*d c5\Gnd!f &ƃfEFFv%If3fߠ^mg Py k~nNv~Bh) [䱦bYՎ}[&@ 4Ph% kfם̀ĥń fFs.cn5xYum hS IZjdV]iWjlHksk'~ἕժU58l!\&lnHl}[P(e*^e}m, nN"WloZڏh!Oiaj~f(5llfcf^ ۾k&2&i} 02nGvfowlf-#qMg&\d(0@nalҶOd)Ȧ/֒Cǹzch3hq9`޺ӥ\e>facvS篆qc vlnt䴵l5[-^"F?RN p1UPh"֍oZr)@mSn6A4_hafB~mi֍$^:vmN)iYn a|^ wዞTb0utހJgadLg&dbgҎ%_) a5!dTc%^h?Bot.9c^/F.>Y-kZn0 \,6ܗu\耛wiحze\S~5 \l]g[s>]Z,Y5\uSy&]N*6zݽz7O{(z.XN{y债{n`Z >E]ǷƿYȧ|5| 'G;gD[ևzا}v'~@G~ :g~Y~|O/ZWYUu ĢL*f1ċj|Ԫhs N ?]3uUXx )9IYiyZ *:JZjzIhꃘ +;K[k{+;L\l|< |q0M]m} .>N^n~/?O?r;PK<"KoBY=YPKM%AOEBPS/img/cncpt333.gifw'GIF89a???@@@___ـߏ///rrr&&& 000{{{uuuxxxppp```PPPXXX}}} ooozzzwww777GGGSSS;;;ttt###LLL666EEEBBBkkksss|||VVV)))III̦!!!CCCJJJvvvyyylll999+++HHHRRR:::aaaDDDqqqOOOµ333 ''',,,~~~<<>>eee***!,; H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0cʜI͛8sܙT  %,*h} tv3)R`ÊMxEvC`;c"ڿp ]Xފh A` Hw: q|vk0+ M%N*LA[Mk: `N*;td?T!;y #IGԃ "d8!@e0;uAӝw~Ephu# V塧qНwAW巠pAYHy+6(PY4uHRDchA=RA(tIYYRɍY'P ^hy0B}F& V!`EpAsOT;XauIIhٍMzPQ)9P \'wv2]z7`gfZpA v|Pedm餸r(W~E@ަ[M(";fP Wm2k_v+k覫 Rn_ɫoc௼ p

]n/!{ꏦ+.3..<<+'o.&ƯY˯~'?V쮷zSLꃽiַS{0, 7K9:! '(&P -v<78N&! S+| gH8HD 2Eb qLQS\ 8D,f=;l"]#0##klcF6F7N~4P p/:Y"$I214BЃ9 \䍙$&0(!$)-Qve NKR򒖜@L d$9GB 9JN35ɀM YX^ɐXv 8e6n~sYCb":{ ))NT`[ل$ h>A4DV?%QHfWN[d*QnzYGO $1PM;Sd))AR D J63T6N4CkRKMKA')ApsN IRP 1H Kt.XU? |Ed @VUl5XSk_ Tk> "׽ į@:=kٔv'+`䔮vF;N`mډtQZSʉn ‹+,ur.xMr P'wu5oޝ z%ߓ׾eQ.̻5[0c' ns!=e1*dF )Zla xuq*|cu hPPA~3X49I%d0!~ [~&\ТhN3Ƞ6Y/`:rn%`>3nsL@7@r X ,FsуF$vA2eZ̮p€M֛@wk\+u}k4z%6 ^ [f@wlhζv C&Ap޲6ͅo;UVU}ez$22Y Vnmc\>pbށ &^BPχCܞ8,q񌗻n|Nx|>p gq3|='˃O7!+Co'~4M7a/;!+|@9wsӼ?9.s}QxS{^]S?zA˺ 2޴'ϖ3Bs^џ ~h>|# /|'E/8{P+>>>x\govoW0,T EXhX -8(-X@z ,FA+؂,{>`(0 6-(`>?ATgiHeThGJHgjkj`jxf-]20q(Hu;X>"~p{ DxAIHwzz @oX}v]cǀS2PX9p|HAFpXh2x_xHQKx҈؍񍊗r.f{kh/tqA .{ 3Bp'2t$/9IA&Mf``-t`Kxd8 e rm^3|0 >.i/C@ 59)@nQ8#<J>o f`7$9oyoG2>X/ 3iVy7^ Y9cFfQO&%*v)/)66yɖtKi9Q=X?v[wZGSI`dwY0.:P igijye {G! `]_'vh}yj+ْz:1ٕqq;y閵Im29&iɑqɎn'i2F+Yi>@Si/~ii )YSaȔe oYfr'ZIR a!99y^ӡV5e: JR/0 0:4Z/ 4:#50:4&<ʣ)3Z$AʣBFz5 #Jʤ5 cTkK 6ږAr٤U?Ddv0QDTDpMVx]OcLV yZ9` ar ʨꨑzC+ ꩗JJCp_11bƪꪐ `ڹi*dW꫞:ҪZzZںꭗ 0_ *4xI*c*ڪzʩ ڰ:c0a\&cph& L@ +{-˨"  ۭkyw{ʯ *I3[. b{ Ůf[hl_ڛ ʛ)s)50*9 ۳Lb~븏+ꥇڷ1۹ڵ˰c[ u+˴ j zMY *뫧‹Kp'ZR( ʷTi:Z"J +: ӛILzJr[o{ʟHڼ7[|+G ,l'Oo 뛰̵:Պ :#;%=KAܶk K Y[[8쮴+•K*F+]#I|Sb\, ;ȋY, q̼Ŷf\|%,ǹŠ:;k{黽i ƯwCl,h\1Ƽ{TQdsu4[ǭ÷Õi|Z…l bj ȼ,9 ֪E,8\~áL$ {Ȋ<(, e W:ɥ˺Olā\)op{sJˌ:Љ۫\кl{};W\O\\+fͨLU% ǜҞ0;ӯw{ LѺ;m%y;gL]WūRmT-^RKј欙̬m6 .KXnm8 ĤĻLH|Px+z{SL ͨ|8]ϴ鿨˺`{aفͻ#μ֏jȖڸL^͟_aȅ]ӡ؋Zڔ ک Lj@DG]dmS|ҝν [ʺ؛ՍzMǬ,*-Rs=ߘj ڌֶ̨Mzې;$Iĭ\ J-\Ց տ-~Gȹûm}۫.Mor[ޝxާ8&ƪ=ωm+݇Mλjښ! ;|}r͜˞ͣ,Q]^m<=|ֹW(jٯ]=}JӃٷMF.ߌ*mհ>-mү|}|V}JȞ^ܦ. ʺA m^cSi1@m~#ިy;>NN26}#޿=6PEBP^g/`(7<`oo[Ԏ)yi>^ԢU μ"[//n:?84eOmOvO~;|A &`a%&ԀE5nH@%&l0H.?AhA0Cv$P`7CCCx?qE:k܄H ylذC  xC*+d+o/DI%E9(L6j7q_ЉMht!Ȁ.8ŧcT't")SU$hA#s*J #8(8 樺QB>8@G#( m"I}*:H;X]>v=i5x͕t<`X[IA&ہ@Ё  +CY8HkB ( 8{vN㓐v#%`;vحU%UiU"`^t/|SJT2n'{i~pE. # f.MpN`O.KNp>`dw=j8 ys zއ W![t=EWl'빼-{Kq =Ȁ|20ڢ>ms@ ޾ǵ}Și"u86 g2"192ЁHvl'TA`Z|t@{ ^At.LչCbiP{!i0d+kiIxmQdFwBԨarۉi߃H r P ֦@}R qLWw5rW >\i6]+[b/Z}wxyH) N xBmO8ǡ] \`lFHn3{+"$ѕ8]m\>rX/,] tU=JVǸ@+|]c'du(|9Wz/XH@w^ZM}x 6vÅ.. @ ^z})^xy=gnՏ>$*H[wxޝ,} |`{P=wo<ܓ m {j'rd@wmq#ЁBcvĝ, N*MrROXe?!W߮ ?Xh k {*26~j6ْ*/´2;+-@q ?K)c|2@$[@/I4hq:{ۧp3> 6[ P,@ÝZ8˜AJ|/⬨ }C!<9ւ??'\ D:J¥2.,'^ÝA-1CD8cp6B!>#.>{*78C/##,34@.-,%d7=L@DM$K@O|R QTʼn8@JED$;v 5qSEJċ8\_aN|ru :Zj#[B(jGA}G4-lG.aDGqyr$;'IjM%;$+t8KʳK1Hlˢˍ@|tʥp̙$ tK-jB LLKP4Ŕ܈,LïI̗LBܜJĽKgKiyMLDcK4M <TMDŇx<\ODO<˺Nl贉 ˍXldsa$O>>jjjeeemmmkkk^^^qqquuuGGGdddԜbbbFFFVVVSSSxxx[[[]]]|||MMMQQQYYYWWWRRR̢XXXDDDaaa222JJJCCC}}}LLL\\\777***;;;EEElll888===TTTAAAIII555...(((,,,www%%%$$$333"""'''HHH+++&&&111!,[Q*\ȰÇ#JHŋ3jq! CIɓ(S\ɲ˕ ɜI͛8sɳϟ@ JѣH,ӧPJmXjʵׯ`ÊKٳhӪ]˶[21JݻxƷ߿ LÈ+^̸ǐ#K׀\3kMު/>972 Z j䒵Bi&{Ơe0ukط,) >׹U$Yq-eO&p `@30'Cꐄ%g ff3>sldIzCr~+i7 IBL"F#=R2'yXT$7Y҉S̒NL2b$KGVV1Y-qIY`w.=a⯗%)yCc΄22r2%btͭM_f7]qn9+pS% @8 z (I #0 DH@ (E-z$m :u槜'F+ `SXZQ^T(I&2T8R|C7* y"Ud5*5i)L&L= 5B%op@2 j<+5$Su@@PpT j=*C3 S}*F$)6 \2,` Q*S\F'Zf8 kQHJ 0jSz @&#Q T*BErLjRS&,H$ 8BҀ,Uz@$VEXJN6mI*yVN쭀Oj؜ O+`pL\\ dP@;ըK751hUPӊ700/o6% ֭!v+ɀ& QHUAd̗$6mvшt9b(|18Ja+5.&dD$`h/2/ 6v$<ԧEk,\KElF e9 1*z8q%SO&M6q l $YZNQ*C<t'2w+꺐Z$SF9Q? pvD*5|\QHRմteR81:GpUH6Pi; p<ыrʷ%kY{0`6R `bt@0 <xυ|q|%:bqZؼR.jֵI<ۋ־R!9`OpU99Yv 8\yW[s$@96ZLv*'i^&/)Jo;5`·)I3W<-̓~;"Oϭ I}W=i{ܾѽy~|Q}9H޿y?}V~R_*!o T8Xx'1@8XxxP] 8$X#p~$&؂.x4Jс7ط~g%(Ȁ*928| ;X%= AȄ4W6z"KMOȅQH4H.qeJ847_z 03dX7(o|h#pAlw1MQE|fhI臀xmWx X%ua<8Wh cȉ牀ׇ0pX@RV"([!GK8xy"OqQ,猬h(ØרqQJW0Y[gx/]89h2m0S⅐2PKvTՐx\3xSHR pp.Vd klX&X6kW6(Q$zȑ !^HS fVku%b&bY~Yl.c S,T%g 3IHƂ62fbG5VQBZyG8zM| 0葴R|EiupJec-5k|ak*5W>Y T T Fgi9k)CRufKS*%VFibpre}Y)OIfVElGOk;bfWd@UQupY ԝIq&YyI572|]]? ^byTi踛ٛ(U0%TGS |umUlKQ-Ur3룓G0%S]kF !ɛ .=QgYlt<5eY q*Q} 0Z/x(O@x:B iik&zle@%__ѦRigڎ)s%gSci5PyjJUȍ)fؑ+(qSGOPpSjUs9:!?31GҊ䊦*!銬)ž!#jJj 9):LYk UzۺP^ 21jVXtpʻۼNJ+;2a۽6DǛ{苌D+כʫk+!+ḾѾ ˿K+$0 <$a2 \&|L|kl{Ʋ8Aýgwšød!ĹAĵgTá3\{* )+R|L {N\P,[l]z_ac\e|zg|ikLmLzo q|s<ulyw~yl{ TlW<\L츢.ȴȧDŽGɳaɦtɲɗɒlOY-ܔ}<r}|,\n\}l,j }\1|Leӌ|<L a\|,ߜѼ |5{ [{\2!\ϵj;,ЮG%ع; UVd "=$]&qя&EF}a<4]6}KМ|!8=D]F:=<.N@ B}R=TmI-K8>}O-`b=d]f}hjln}ֲ YMmNO]Gx]su=Nw׀M$=[M؈]1ąM؀5ؐג-<큖}fU٤‰٥E ,=۴]۶}۸ۺۼ۾M=me"Z }=&ͻԭ)]W\<ڨj7]f]}﻽-5-~<]ཹ>^~ ">$N P*N/.2/>41^81 2>N;?>{D~lH?QLnNޛ! B _ UδWYE( .`b*=AkPL=o^*Pn_aޔY_0.h.1;nr]P˅Y(ɝSQ@+Q}߰* 7L 7Lq7Yn确ͣY^qS!.sQߠ~œ7 ^)۾ Y<^i^(aמ2(\ƞmB >[/.q.L S.(u(wvN!r.@BO=[~NR_VAZ݄^bph_"iljonqsurz|vgotO~{o?A?_ ?!a_Ï /ğ0دݿ_//O $ "LA2"B*X#Ō -qɒOD,Ur͚0ISfΉ/)4ICٳhR>.۷?*)U;vU٩dîZkq咠(wn] 2̫ݽ>8]y 3ḋ V ٯcĔclYreΗ5g. ztgX'|Z4kҌMskگe{uڮo \oɕ/gsѥO^uٵKObwŏ'_yկgo{{ϧ_}p@@TpAL@#pB +9/pC; ?qDK4OlpZlj"PF L1G G$oG%A!@oa-s$S'.F&)K\pA3:3/M1 ( F&F?uȫ|4?@6W*z*!&>G]P! CW`N. pMSk%T[Hl6g \EWec"F2*"f%Yow\%\t57]vSVu^|Ij_~4_S~U`˂)@a#΂mb-<߇3)bK69d[ooHvyfszwVh+4hVzivizjj hvk{l6lV{핹N{nn{oo|p=@<_o۞k*[m^GF/|\o<S>s y"4Y%ƅ zgЖ>^ֽҭ]0p"ꕯ r||bBB [jԫC x&zػ ;k55+c,AC%#c&+.y&қ7P Z$yʻ>k&A; \SUSEc(DKz'hت(%Ѐr&nj{2LDEM`Eҁ1|ƫ L> !!3" ɬ x?n;ҫȑe*&C"HR[|\H&,H8Ȼ~#CLʀx; %[XnE3Gsԓ!u*7Z2=%J,JL4z"NBhRGv,$Xz,{[tKDI$LC#A%ۢcd bZhj$%KK4ZDsLd5TF; !D6l|Ҵdkܤ7|MK,N $TlNxNѴNGdNLTDL. xπONؼM|O44>,C;PLPm44OeMotM  QPWFP4P%m]| <:uQPLl{7 PQ_C 6 8t{ʣ,R=R$OJCE:b颮 S2}'A7Ҵһ,%D%%s*" X (j'TyE S 'WR89:ۀv!h½&U H%!h -&*ѰKL #jhT3U$(|3&^n_aE aa beHftKkW?0, ƅ1p3Nc6IXV`81\9;a?^6Ꜿ Τ.30!/XF~--d4CLdNFc5>:( H8\8&c;e$`[Y\ MZ#,h`fbv6؃9e.)0f~2dAl5hmfLpfes\tN\gX\D~$*pyg`FafdSpHȀ,.>(DpALXVx舞ndphdd]6%+P%`) ig{~e%&i&hg.hn&0jmfύh=\눞 !qr+  >Fe.k%$405hhjѾ&%7MC+o@jeNʾl(ͦi)h">m6n|mؾ =& H mn8eބHVn(hNF&mӖk-8ujۏڶ+(XPoN.e& p.^n x"p?f"d9חܭ!pvhvQ&@e2nvp@W h2m t7vWxww$w H @"nhyyyyy_tFQS1=l]]Y~e5z{%>gPb7\F4{{T{{Y|%N7.}  pȗպ\oW:_}ۿ}ܷ}}ׂ~5{-{>{ȥ~~~~`|G}՟'}Q{%g\zo,h B2lxB!|@b7rQB Gz̀$ʂ.tkI!e&Μ:w'РBEY( )7 CԨRFq ZBzre͗7el,ڴjײmN>e H@'t NGp8 CNwtH-{C@|-p'>U%N5Kn5lr6 J-&(#KT l;וL IZ*0f5˶hҬ;su׳oO6=AbPt]vF^7bYYx!߆^} JNXp%]p"sH$h tl$h]wZWI*dd\ !ڰp&1(.4ve#xqccld&diJhב61'}W%m^i]a 7APo`Zr%b&8Gthɦoy'J'j8A߀pR**Oh!GFe)CPᄦz& Rj[vY֪j-͊ҷ8U H*B i:<*(D6ikR˖a-.F7`@Ex A;` |) 6D증Vi01/C4M}ݖ)Pp %Pl1gԱ. ބϱa&=)JSzR-4G$*}iJ'(NQ@}BF=QKY2(@1zӜRB;*.b鹪WUM1f Xzʱj}kębU!lb5W[}\G =},~B׽!,f(Y>qlfC5RObeAkվj?׮6=grۊֶmaluv%{"mnrթBmn;ux+񒷼=/zӫ}/xkr )~/,U|[߷N  #, S03 sFYg 0Sq[E2%3N~2,)S$e\k]C0wd1\U3y2nsN g٦y<|ǘN?9Ђ&lC3v^4W9C:}4+mi*b͚ ;OڊC.5K?Q9ժW.a5Yg/:׭<5{k07 e3~6-iS־6ms;ۃ3G׀q{>7ӭu~7-yӻPp7.p ;?8p 8#v;PKz=o5j5PKM%AOEBPS/img/cncpt170.gif&LٳGIF89a1  !!!"""###$$$%%%&&&'''((()))***+++,,,---...///000111222333444555666777888999:::;;;<<<===>>>???@@@AAABBBCCCDDDEEEFFFGGGHHHIIIJJJKKKLLLMMMNNNOOOPPPQQQRRRSSSTTTUUUVVVWWWXXXYYYZZZ[[[\\\]]]^^^___```aaabbbcccdddeeefffggghhhiiijjjkkklllmmmnnnooopppqqqrrrssstttuuuvvvwwwxxxyyyzzz{{{|||}}}~~~,1 H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c4̛8sɳ @y S @ $+ƭVğ?@Xs`ځ~}+W`x6_[с Hfڣ L|1w6[00C ^sX0mԿ\pTϢT!u?6AYoϷ. 'ϔ.O1jG^u _؟k30>wwགྷ_edXIQ%H&6oTxP|\kJ'QH^|_t?v R'cz,O|ȁ G[^B`Ώ;766ǣZ`ߠy^*Y(~|BQoLJ}n@=eM'nm(-7?Uk͡cqT3Zz 5*UT`<2{TbzJvco Tǧy(DZupvi}jԴ@n6*Q|PrMmQ ~jU=sr {V +jftlwԡu=;gs@u}z%QJluժ`|b7 71௏޶xWٙ;!*#MlRKWM?X'{PKu.U]@(eV ɎhTCIBLd@ 4я$ q5ȣG7Ag$E-`SD$AawC@0l Q`dG1$ՐKfrd(GYSr|e,gY[B/Ma=15IOR4%*UJWR%.u)l$9Ndst&;Njg>}L9gS]I\V6-{\W%G+>%P}F! ;M,dӖ=w~c]x,XV Hװ -o2{<&Wm1͌{z聚Ƃl(d m`#{;z50}FۣG/ZHo>Sm:`w}y(f=q<&=<PxSphr'7'O}l:ʱ|sxG#r ㈼Hn^k4?k|:1 χ~Oθٳo~>7O< ϿyLFc~Wy~{vVA:/P}ppdX MCAPIT``l y/xP@yg{g|wy'{0PU@7p 0z p p  3xwzɗy?5Q Q_i*<# qSE}œ!`gUҥ}V@ ;@q8x1<]JP~ղ0!.O"M SMn t&bB<}+A4QY0 ҫMPTh-e} +0MݭfOvpsFi;5fރޗfY@ }7ZܖK5JAZ6j] Wr?3ܪMѝ{QfMFG]`16ޥM haM F% Pv`-jΕwZN`ܿ1SNZ A3J ߅ On_[0+^,DT蜞_r~~꫹  OVmwғ] ~;~!iq.Pf۰ |L&UP(==\16@l ` z6. Yysu⊑Nzffǀ j"ϕ8Zo@ iِl_ = qpuZ=[ 2cNhmq R! V p @r n/g1?G  A(nd>EIϥNiwvp[n]a0N- 7 g@ψ+ => J`KkMmOw_pOuOl` b2^ V~ʿ?DO>k&V d?O>Ȁe` @A¸-|WA .dC%N,E$GMI)U~wϞz͓wڱ[WT]:t--Gn8q[7n۶iӖ 5kaQ@JiQ>P,p2fC/?j &\aĉ6cȑ%O^hq/F=~nh%}˘3k̹OxA]w4RsMFZj֭]6ҥQRr!sM2ƾ)ɳwl9^y@~Žk޳Eh'gL?.Z&.r'*lS)rȁ70 ,2?)9⊓.z=@=.<sl{G:(>kq؏'@ #׈b)Wz͜ktppA !8XDQ8>Ѥ`(­0XD` q0j4(*!G Zg`D$XƜ9.ZABqq""ZDcl`!Ϲ "/hRyDvly&b~ѥXV9EN2$F=4c +`zY/YcLԸ#֛6gK@ pn::$V` z9dAlQ6hTFJ؁RBQ Diw wc&YdMFYe]YfmYg}Z#`hדW/$]jiy$v4,OUȥ5}Zhiw, AH)zA#x9m`CY^6!D+\B!*[d8{nd%;YVֲlf5YvֳmhB:xCj&jJj7= &C- # .^"\x@> a, MPA@RDV87xJ1 he .AC!JGӝP+!P΅!hhCCfry͓Q/="l`w{cEdp>9!_ Z9[9Ls" 1O}nG{0ѩt,&!l3aR;“aj#S$PR0CD)QJ&`S; .X"9敃{dý B3SX*̦6> Q}2$N;fxO3SQ?IPq4elR^+|Є=2B KDlQ;8C;3glXC#ı PaoXD7JD0C 68D(ְ7 ĦMM 1JU U4;!TyRҩ$h]kzZ"W UȄ&j O *)ʍS" fLez|N@}?DKI$ZKӜx W@{R$=mIYSJ] tJ6ōn Adg<^6,TĈA q ]g#H.u|jk Y'#,Am]p`W[0P V'El{r)Y Cpu9 CILZ"d*=- _%i{@FA0Q`2u~CmFJ`IЕefܰf;1Yg#՜Ԟ.N#ؓ:9CpxQ`H%8"<YXXVXUhF8x؋2To؋Mo9k#d@<+Cp{:3~4D o t 7 -`3u317ȁ#8P[A?c8Cd8BKB[4c5`x+B;5@|* Cͫ@0 3TQІWpXlO9E[d\\Uȅq݀=??Ĭ C!dPC?D?;5psS~hiy,Kg`D.ԵE0<#S 3U)mXxZ;,M28T hKcI|>$kDЃ-H7N;;X؆ǟǠH| jPMC#{x6LA,e`\MH״ G 9.Ntɠ3NPDΩE'Ɉ:; vxQ;PPPXN\p1(,0QEIE t ^L3`f0<:T:tBk|čdMՇ 9PHШX 1ؿDsP:ID œ+Gd#Hϑ;Q65 %ӷ#m%M&-E(\H+, -. /uP2NbJ(?}[$хV= ڪ}u݋V;8x6P3(1.,)'`%@# !KOX0KZ K5Zplm]-]=]M]551%([4phōx]Y=4xh@ۋR]^u/ 0:y[^^ __[(JEXVxRt\mЦUO_5_0:E, Tc]x8`;]B3 H@޹@hMW^-aN Zh]_m_j}_k\lC9aͰZ~f/x9Q5di`}n"P 5 /dȓ4ichl|ᣥᤵC/G~dHdId ]-dH=((7R`,n`x7M؃&i1^>˽HlK`+8N:NmJ~fhfhfkflfmyxVd&4c _Mb* qY ڴ|:ZE98HTxbPo,bߕ-yK<0Q ܬL+8`T8s +f>deff vNmhi^TKhB؃9X2006>0GQXZuvdP܆%XM׌_wV]P\} 's )K.? KhXb9-cCAcVc~͈Ρԡ}hpc؅WL`A=(H؄S_Xkx臂[!-څ_Tuned7ȅ;S .*kWD n#?NC8Vj׆d6]@>8P2+$p)Ȃ/(6<@ /9Nj=5X؆G0nW'؅U YvWƆVh\㒆SbX89k?9Ifk.c 5놈v_<r!r"/r#?r"ooAfq^rvP6`.`|]؃k(&=[< ;,HU|JZ(I0nv`^4ckԫ5k|r`yvGhtM-Jwm~Cfmm*WgU 1's3G eXfxVNp97"@X/!hF[qb#t^;Dk tOwu_wvowwwxwqoqarNd&vHG ^pus2?swuXWX^q T3s n>>kosHNp YX˿pwr? zz/z?z?ɰw'w(wtww&;eIM0ZOo#(e Z)JIy@ _cqsR}v 6lHu_|o_qQR}I?Ώ(FrUE(5Lzgx'xx/&1d:wWX{O&sЃ`SKoQXXf_ &r6(L0lm(CaA}yȯ*Qjjꦅx,h „ >]~ l@Ý,v9X5.jTqM77i˖-(֪QVC3 @|R Hh0k "a0/r:ꩫ:뭣/@?s;@ .ioA)%Q_3Y]+ۙJ8@C.ff6nGoscU=H@ P&8n ܐD|Ҁ!4rO2i,~[ C(z) '~=B6;g1MZS"μD*lМ-}LCp,+!'dH-ޕ'/9m1)kF,I*tiW8aqZ(a1o 8?@  #)IPB McwA$MȄ9<' iģ/A8"ĭ1Qz_޹p)nAHTR *_Qx/qAbk&8ic]1k^Ҝf! p$2;6qBѳT 1s @0rV!H` iY)8Z;u-Ak%?oBLupE +R<裦ԈM{hzf9'q8d!Kp}'t&թRTBPN[hureT"vx+eG{'Z/HJ :|d*]T&vSn+7t 88NAwMiuC<I`:X].l xY^Ysjz)M8Q ZgY0 \r+x`FtXpa+PNf g3ieZ6x1@rn>/B@l/tH]4YR,3r , C299B1ఈʺ&ˆU[籨~4ra9`I3Z3 , X `eZzzf bL[c C0VPPTT73Q4 5Vc\c6j#7v!!J9Ԏ:c< + Q7hЖcA/@  3@Bm  @n1lme'G*@,*-"K/L0ΤnԤ"caO4e5n67*e bc3=A'\%?:?' '%?< ЖqcChНAAW)dr^%$ܜsjwL_pCy#a"+} @2t$ddbKK"d[M~23ON#Xcjj" .vA;Xm&NU+ _&~bn#&PRDRU8X.mr x$@ i@'B>'_6/k#Z?$fB9/NZ+fjn/꩷.-i*ѢfC%|!sH/J"p pΊ>2B5oR)06螞dЎk*r#3XH8׆.Hs+-SA' weK?7(Px-PWfpƱ.Pj%0d)4U=$r%WZ/,A* o>8h3B܀pA)Ђ)cnnr+,f7s?#' )`AXU!l6t.N.*\u#]ǁa_YG, X4i=:z00^4ġp)"k6)`rü _ v>a+"ib"~ñtC]^%jrv=;9~7SdB\7]z7S+w+Bj:)n(.փ=Na ."%@=;|=j;dtoCCm:84g$剡|}INKO3s?>g,t' ZPeCiPwT5bId$uØ<>DoS,(@ @1d-{Jwo[_R` ,s FS&ny!ws?SӱwG:e$Ws@gAPw:B`:z:{wz:k˺gz::[0Wz)ak/;:{GH(ePo;w;C GW<z;{;;{:{K80%/<7'|1Hz [w?<\C;8t6P3$1.,)B'dB%D# ܁AlD 0{W_|;GǃȓɣʳüӼ#}+}3=D}ȏ|ɟ|ʯ|˿||||| }}ګ_{ۿ=߽}=>.N|cK7<=O[g}s=ߋ>{>~~=};~>K~~W~~C~?>c~o:w/B?_>ymwaB 6tbD ?D9vdH#IBx1?yqO^;ta,_jZuJTL"1B4Ϟ;rڤ!f(LH`I['kXcɖ5 +F,9͜;{ :ѤK>:Uyaŋ7vÕ-ʤiN> %jRNJj%ǫFfvl]/帙rY辥:qm˙7?mbٮ缡{Zje7+Wngk:p鷖@c-/.R+ -O927;O ?Ud6 u>ߴO83n0W4ivHzQ F BrP2}0#0!Ux^A,_Η}_8 x.+xigZXF3iT=qXG;qb(_`i dxslT"HG>lF)ّGL&9IOf$HYJSmTD0r,iYK[Җ9I49ρnt3]R:֭u]jg;܁Aw_*)Wf6uK|C>ɏ~ß?sP4 @BP4τrh@9!D9N'3` [Xv0d( !ӈL":'S"=x-Ӌ|' MppPjYZ׾b1 !o7 N"Tb:N(Sb=O.s/`Gv]~=p Bct[_` ~_~;8 *@`!x@q"3)Ȝ֗#8a!G<9 a`0܌i\c9ֱ^!_P/r?!0%\w"h?6z -pa $Xe ezV0Yb(F/!C!is E.|!c0#hD(M \"P3! 9e*r%X A_HF3T!$p?,!}'O|/>QY"* @{"u; Z!Pu}oddnv7_S>E /^@mk\[!~nۊ ?Vȷ<y,nj mPnXA pP}k%W[`nY 0y<ܫ f| ;` 1yp. 1܆m1G?av (Qp P@崾u =^xɞo 86B PVA \޻# ǹ`㗎mk?to=;>h>SG0=Ͻ9yZ!z' I|w0a> 0pL~?o0­" 'p,-.0MK0=,ܾW? lHcS;PK+L&LPKM%AOEBPS/img/cncpt316.gif3FGIF89aJ>@@@///___ࠠ$0000666``` Ia/)pppPPP0n)17 www{YYYGGG999&&&lll{.;;; ,,,### '''7H $2< _R 4w333QQQG=fz=ISwf&===ggg# (((˯:([yOOOoookkk$)p SSSBBB^^^8GUa***k\"+++WWW$Rm-&k[;D{sZ: { sP@[`X1 `8sDd( + sqDuЊHasd/Įycs)d ba@E]|le%O0ٽEOFѧ߈vF=HtxTABU6l0FuX9`X8Vd>Cm$6I D Qx%Hbo$ED0ZDغ=e K9 BҐ\G[2-AaK_1le#K$:0;QLf=$eziM6SФ4yn^Si1~',bSd~ @JЂ@)MyZ;8D'JъZԟ; $,| H'/HWҖ63d8^I#XE49 PS *@5RzB?}(S:ԢBIVsB5تX]jbt6ZU~X\AZgƓsͫN%C5z ,Qcjֻ.MlS%E@CdrجhAYsm`;IǂmixZΥ6ye?ZCvU`m5Ǎ,,Mr:ЍtkV4TRo QL xǫ\H/ .渱9|Ko~ A 6KNԡC/]92ΰwrt5Lx'aV=ga)A+bu_ց.d 9Ngdb;M<yG,֖K-Yh&=M*]yb9x0嗆խEVw۩=hOp;Pxϻ1ݡvX ur vt>/'O[t{7(@} uZA@]6y39)^_}3yk |G< rHRpہ_?'$n^>y{k@>erxMw%ur~U~G:~7|UjZFiIL;{N1݆P%MylP Ę}ߕ9ǰ$` `8̄1p࿀⿠܁Dύ[M#ٻyO,$޶W|8Y&4> EJc1f Y&;R"騒JH$LNb*r<ibȫ1 ]ID34J9Ib"R}L09-Њ4b̀Z0wŠ 6ʳ86 <.Vf) } d~n 0v /IӘ$IK‘~&F((dYGdj%a4YpK"dQ3MfdfGt݌4]x83;2p^`?,TA~WAIa(Y"0*BG`$͕v H!PF`6hNRajaѤ$p`UT`4"Vh֝U[@A[4&cvwc#>O7)G9iv`TIjYp[TVhdyL$YNhfj*汔S9) 0aVI}TT0m$]zW麖O)֛!.`o75(lΤx;KG,j6ĭӿl xӰw2:i4(< `{- 絜gάs ӛ˲;<@r^DI`t|dVcuOv3@uRPT =Byu=DR^FOJ}!eHqT~'MV*R)fZ!8dAϧ e„JTմW=\N@GQljGժR4(˶:Ԧp]WYJRBSHZ:  `KMbر'"+*H ef7zV` D7WbU#f?ֺ FҚ6cjݸCl0BDnݸ56ЍfK\mMn/QT!~xkXVh.\]rkfKSŮzq傭X|n}v-jd5: LaJ/+6[7`!Ils)ъY\nɓ+il"+9v~yB'ILX$'9Kf2 M`,k\,~[=t鯃w.SK׸9nQz߰mztZ])˵a?9Iv;phn[;um{I!Qr+?w!?rßf-)#x> OWֻgU]/E{"@OO aЏO3`;{5~ OO倀 / #`L88~w~Їؗbj}g@7dHxh }py7R%5yy-r,؂见ȁwvy>Nu.B13(QP 8pwXH}䌗x+t Ɉ )TR'e ّ.Y"eͤ)(k89X IiQȑ9BYe6K8@JG7ВMy0iO9$ ZUiJWI6:l^88?AwWj8iӕn?9QytvvtK5֖ai4zw(ɐry:P$Y7PؙLi8)XVw嘿 IsyuIwȒ)lj(a-8XXg)I_|IM 6VX8FXtSÝ @ɟ4HTR!() FFy{ً * JJFK ځ%ځE:#~Ɇ')D%^d:1 wɢ)(/3ڟ95jDJiN95홤~N:-|dZfz|շl }C\96TNUq4c~*|;PH]uFdH{0=0Y玺Ӛgz2pZr C+:tQz4r@: ꡬə r. ZAk#j7^z}'w2Xr0"p9:抮ԨĮ49"{HBQz?2*{ ? VRJ3ڰ8WcpJĬ欂ӱ  +K{׫ Ꚋ{84[6K8:kٳ>@B;E;>ta ۴NWSKU=%%ze\۵(T{$Xh0w*sHX^0+{`zw/ȷǸD렏K`꧹c=ʋv[k~{[<Ʋ\۹ɘu+ ډ{[ۼлkwȩ ;ǽ[ZkuY.x䧾+{m: ۲٫;{h㧿h0k<1Kh|7,.<<7Z;L "$3:W+ k/ܶ=,?:A ,: /ħ[N;,R9% F\ŗKxĎƔ9Pr|8t,1!iǂdckYJȀÛ`lʋۧ; f iS<ʤ\ʦlʠ|ʪʬʮʥu08 VL6u<\=@Ȝʼ¼JHV r!uLJ8:@<\|pܬ|V֌ج<]}"@V*.<]}U+=$mp'й m@B@4]6ML }"]B=|s 0/mq D47=TM9ͳ>D%mG҃@UnW<]\ ^ zMb=J8`SG;]؆}؈؊u o=ٔq-܌-u`w yע}"S"O]ٰMٗ +ϟ=ڼ]mڨǵ خ]ٳM۶}v۽ۿ \ |ڽj mMFP =ݢ]֍{ hbSͭMzm߶}+Vt~,޽{ >#aM]8]{6w !>#N&~+ H4^Tz@|')`PmILN6;^V>X^]>qbd^5ޗPnR><#nCu|xy怾LC%k芞Z *N.◎Aߞbꢮ᨞>ꬮIߴ^wz9Sڻa(IŎ^Gh,܌~؞ȽܞZ+:.&-m~NhL=i.C .$/2BP;? Mo-. -#%o*E.0Om9O;u &Co_2_2Por@VV7],(<1_? /BTOni5m_]_ OsOnwog|~^Oڈ/6яΑCnO֜i<a$}i-t@Ld?j7M|9?/[-l?o 7<1-~ ?ssvutuuuv u!p!u ނ敛vu 5hHE28jО$cȠILo3j[z CiS(Sb<IhKQ 2 ;; dh?e@"qAիXj`ÊKٳh͊GpʍdΖx˷߿ װc˞M۸]h[GsÃȓ+_μУGq*_QB1 DkrԂ (4@ Q j'4@ `& 6F 5Աo܆SK $h(,YAu`0<V#5R.bRACJjHXf\8 ux vh晔|lpcu()v?fH v#Ax>be]F*X~ cbvꈚq*n)c;vgM cLgdlPRK~lpQ:ZǕkba6&F+Ɠj9C`*#b@SהғD? Vo DU=S. 0;EMؘ~ӛA/C@ $* ):ڀ%K brG=P9\xPv]3R6 Q=ȿ!QE4 ^bf"Э<@sG!q\(F}g4c=6z! y:!2D,!#X%q<$)ɷ]2[&cHHV&<(Ii5՝S* FWRB( E8KZoet˰!їPe8LӘY2=f6h') & A!ЮMlt72,hA g$ (̋;#b$Jp'|n?*PH)8C ` |Q^0mTq?)2)XAV2k'LGӚ9us61vաZRR"RIm=P96˺2౐d'KZ qDYIjW>EU\KV[m=0 yKǵn:rK3 ;PKݾ33PKM%AOEBPS/img/cncpt318.gif^PGIF89ayXXX,,,&&&EEEccc\\\GGGIII***(((eXVVV 444LLLSSS""" BBB 222ٿ`^_@@@???666lll___럟ݰyyy۠000```pppPPP///Ϋ;;;999oooOOO<<>>777ZZZttt:::TTTuuuˁdddnnnxxxmmm^^^zzzkkk111sss===hhḧ[[[¤ǼPRPqqpaaaiiiUUUɓKKKwwweeeÉ{{{...fffNNNAAA}}}}|}[Z[´CCC)))nmna`a?~~tssqpqpopLKLSQRxv`]]]878z~^͢YzyndLet`e~]&/"M}{f!,y H*\ȰÇ#JHŋ3jȱǏ CIɓ(S\ɲ˗0c8sɳ'/(!AF#Z\ʴӧPvSիXjݚ.BItND]˶۷G ZGݻx{j1U+_81˖Ta/1a~GbϠCn:Df^ͺ׫ T`/\ 'Z&3`xУs,.سkν{]hb`@% ޟHT?iϿA&x'ܙV` tq8 qEQWfa[ah1{F?[ezF؆4hcK~v!"HXTX)F ]\J(TvXx[-t}[\lVz=B3Vp.t%:jRAAUOf 砄z'$袋8ќtzhD~pQ10a$*OeXA)YT$**R U hnϰ[ln:vwv:!5vKQ覫n/1g@:tPc7 ' */YJ/ ? y+l֙$˜8ɹ 첺. 0 61v(ƛ1#Fzb(GVs%'m71/G-u.? p3Z Z淅Z*vUT S-7\m[w`Ch1 ]E#m8܌=̐7]c  BMO9?@Qŀ%t!oB[_4f'oX|>7 Xežc_NjSrkG}-0<9+H ľjH8y_ C 9aw3 $, S?7Q|"Lp]fH4 BPJ$@ h,+HLb GuDaBErMbh!C`CFfZLZp !BF.o^ǦI^`VAH 3ȑ tᑐ|>Z4>xHPrqd6q @Pₔ%MX¶  M?N @C)50(?t Aq @zAdd Ms- mP- ֓s ?e2sap*\iaM(BcJ3$'(@лFI:dO0Qx=:`p?6@nAHBrtC?N~A ] ,jœA PSXMA(/U,),4lƊæ &0A5%*UJWvNF@z-ys1U2ӳt Xҙ8 c,@;SœN.`NS 3usdfB\+^IMkbSl, ] v\`#JY>btLDW 쉳XLyִgBZU " H>}e.@p`NJ!:nwꏃ*4 %qE2Np2k۳nLQٚTL*AA6Ἁ.ыZ=,A xV}7h~Y5os{WK.o\0GYhvC'5|Ǯw.ynb󨥳YyUaފY 41p`v 4WJ4e`'`P8r,&[7fS%(XVБH+\]`ATb>湀-'ͨ 3!+c> "P">蜤L(T8pXӚVrw{G(viAN`Ns21XPˀo1@0!J'Sp(H{79-! H@B`$$A ?B!`D Zf/i$˛Do)x-)IG+AdvƳhO&GYr˜6ǹys.@B8DX? P+Ɓ:A}fq"%L7gOq{G'~|yrwtcTFj:`r8tX'g>oz%ux{gG~ x~7w6WbPExpEqXFx^+%'fbQRkZ`KArlPX7~ P f~FDHTwCo" 4wH*_p-yHaXVq7WPNj`/ 0 XgG[:ͨml`00 c   @i q5"d(*,ywG "8z 1H*z!)mx.d F`` J `` @P / H`ȏYO~21"0  ;.zt`U`p po` {r 30yPAd`w00y@:18@]LT!'Ey&G›Zp  yP e~(MiW r=`x|闀)i阐)iə dP H1@OP(_%xD%Yr1,H` 1d`Bp p- XHW׉&&0ryy}9y9yбf͡f=' jjrs5Op851q9Z0aItB[8B-hvtP 5gP : 3ȀJ24 6?zY#Yp),`E1[{KZxqњak+``+ceg iUhX;[{|V AQ{țʫp {YhQ^ipA2(J 9 52z蛾+T ( qګ!(*uN[$༻[|.ЅG lڋa. ` \&|±{:ۺ e!x6 /Wr  sʈd~R+-UUbL8Àg=60уnomÀ U) 8> в7` Q>U02v0^9ac! gpl`H>/q 4P?dw, pj & P!%!ȩX\9Qg@)`4K;eU>4"7L2ϣ; AF `70@!\&51iYRs |7+K͒lIRV0kp^`Ta@ge,mp<,Bg@#Пʣ," mW#Msf l, )m3-L/Ms13]l+LL%3 22gL}k>N^P3@>NPj >1YMs[-7IS2P=-hMbLpEHpd`IzL B *p Mj̻U- q/1P%M^pgps.=j 9^9Žf3N,G>M^@,PCm-,P`Lm` #PO/ e@`ofpOp  PG Ƭ`|V`X.VΉ>]Nk@3`-Q~amW 7 Ϟ.=.^aHӤMc0.`eeWM-Ij`ѝJgNNp^P<20)3@Ԧ|n^^@ WuW*q0аZ}p c ~!#_[n^c7!gJM>Gnl9NΜ"V-:N0>9 d2pOM~رá363LDmf=jpk`l/no9Q\=gouk 2Π mDO p!@xs \. &?=L. o&cPMP<φM02IoKգ Ϻc2?]==>~/~eeJ#X@Xc菅5x' yF4z%G+"D`ABƐ! ibH$R~P";yҢ/9ƍ ȉ>5O3D3̧cL 20ӌ3"#5PB\(Q#J˄.1ࡽtDӅ@ KuMS:@t@ȵ <5ЎQ]RJȉkQ-QG|3SZTBRZbrکZ*5faЭTBU>i d Uf`BA-N΋f =ŽD9%{,*,:PO`Pg ;㌌L)+,,80;+:7l@XuA[5B^)Ba5,CdA\6ΐ55D͉R#⊔.鄘 Mm)y@/(xKrI&}R_)Ra&8n{\&eUqp }0 oʍ4^}COhE7aOoW 5AZA]%B`1vCc=L6DE/UIt4ufapqNwȁ|IUs-k~~|>zDnv7CvƸ ry/sjs_ P#$a MxB` B7O3a 7Vu2lv8lq|'4PKdbY kg̠K`o@D L,B r 5$@ FX40{c]0$d\B1Pdd#Kxj3g]вGR Ib-vacϘ5qcBh҅H8f3Laa KR0) ;% f2|4'u.0 1p 07hQ\g=E{s%E/Qd4#F7Qt#G{ DtgGюxSd?_OY %BwP_:1ISTFjU*S8*4?kfs&՞x=$bv39]iWSUni,JKTh/DŽU!1jcUF_fXI:&ЇMDo\ZW>'_YԖeBy_>Ta 9c}[P`XJvBԤ$xĬ6XA{]fW5ѥr <}_ U=asT%]m}U5kIsjs)]ep]@\* }ռEPK[l@l¶АWŔ?k0,o4un9aNS'0GP  hN0M,1 WkQ4a]# D =@aŃۉ{Hƽ7SV6/u+ Pwt=iOr -"hE\jXZֳug?#L%tblnC~FeFe8]ZG Tpmlg[vFh#w}nt 3?Rkxj ޺b[ѓT6g+ΖU1#'<rwmx->!wǫ PvC׀cc^YB<!ܺ ν]'zMǗ!xӡ3oo`@_'۬ czbus?bNp`Zs!0ĭmwz ҂wA}t:{Li"9-yP:vηT'!IJ$cjȅ1r2F!6d@Ѕ+pN"{_ Pz36n|R B.[t^w,gOk%m#>XCC-.BABc,x.75q"<!%;CCPB/;hYK:{c17"H_@<]4@a_p*ﻝS8N0AS !E%TP0,HbO5<(OR5)5LLP %TJuPAσ1 M PKP"@1QA`- ҂Q Oa386R)R*R+R,R/0^8 R!O2Ո@\>@h;S1hd鈁3ͪ!MTр!HITJ%4ȄGTMTNTOOTJ-U2BcTZTV=GmOR$E/T+`]U^U_U`JTB g0Wm!W}UaJnVoVp WqnM%`1p(PCeDV|Uj= Bx`-X=؂GمuGpwueUWW~/}rY-ّXM5 Wx/Ph֍ #kƚ- .#T@!QUMZ]ZÖ́ Zz%5=!ڽy?@SSm ;ĸX$L|ۻ<ZUy[Zz[yȯP,{5[xOM@<\z\!S{3+Ո.\υuֵ 8VᬎxDxA2X3`[P\ #=Sѵł/Sޕ!S &LЀ58I+xKM 'hXMU\.ERr`7%0xN84h-STp?=;q8YIs<3`]jP,jCLpXR;H0^&H^u77N3`0b 3K8?C41S_@F;ЀOP.L0+ @U>pYPc8P?;^F#K_=_A< 2ReH/PXK_`6eiL@8ke`VW&-٘eH_e E5_>B-PIc6W` X@aigl@D*l0@H'BCvhASOlTXH* '/8]Ai@YmcϭJni~VĈ4<;55gbA:W/?h@Հ/֕N.c`ݲ%۹}0H1 `ނ.b@FD`"^1ii7лj%G48Hl8pnlVl8ȃr P-3ܰFI Yk-Cn@lp~Hm^mnmvx81hk|.[g l`#<vm>nVm7<(0llF;B=.Qp`0 eB0HnNo8.Dk&%:φ- ozSskA8Poopv81=O/h /ppp]ݍ樂N@ 8p uCppV4p":oGrb`#0-VLq&C]>!/Bmg2+b醛74(n w!6U$w$[L kC`,4sH+imtap[.-سsU v=sAZz]q:gdf:/8Orm`TpaDD ^ulqmXQuUF- (_vt&;u|vD.JA0J̻ivw<>p%4Jtf2EHk 0bNDwH} xW Q=%Y=ϳq8h(4`bȻ ``1W F* GCHyGPӥid;~WtjK_1xzhN[P|G!ϳG~oЄgxP W]2l!Ĉ'Rh! q^#Ȑ"G,i2894"̘2gJ_:w@jO=Y3g/o1?qܼn>Ծ<aj8r)(7VTQBeYA@XeU?-Ry?@}byUB'C 5$OcLGe4*B d~"'pb]"A2#s="DAdJHui9Q ]@P GޟY D Gde/@"?D d%ך; _T"wD9AHN8*]x iXE-Zp?yHJkAFkzjfz: jD.sp6yS yE0P0*LH/GaAҖ%kVoqtR` }BBfE,<'(B<.@0JE@CR0Aq Q pA | 5Ԡ0vZf!3vP#A ""FgEdvC0+\[?QPIwh19O4x4N6p#<@aCW/uuX- .L,Mȭ i3= Nx9p"`$¬8[PF1 7t[5&@rG 0 GhS`C +X%JQ 3p ZT87}ZSf>N$~r;Asa~.!o@򍮅{a"6!:MNDn>RkbE):Mb/qea O5|ot}XRVz<%*}R Ⱥdʈs"FVX"F11D&WFOf p,F9W4O3D fCjy<\&0)IaVfdUF󙮙{,"AJV*DEdPw(Cĉ'r$0'9LKT2Bg~g)ϑ AdP2d$:}`Rh<9zL(BEJґԤ?)P0th/!ΚR*3{JOxA+bqg֓ʤL%QMB'JL%N6)~j'y G8F`],jS{D up'0@?ܰ*,@@/}<Hhw{`8mjuur٥!Y!#gJ,[䂑q@? WX dH}`rW` N w#҂~n'ƒ׼leSlmBцآ,.# '`c`7 xjGGnڄtxrR#wK BS.r_M+舴U,2(A!AȀo -jŏ2pe@ [= s]J;x/1{Ct@FnZBx/_h! []l=p9_)e/=]3NVO3 \#  `gmjB8N642ثz̋=6,|~18T! a@0w嵲Zs7 C3M0e.xѦDHr" -AҾ }{!4Ouj;S08YK=3KpELH(_<ݓ$#%4!_@%\%BṟlHhA$91܁??؈ ! 1B$>!8A??$!`a0/!# RJQ3L/$}9maWbb3@ @#y4=aEe5J@@M -܍(!)YA 0*2 _E"E:%@U#}B pA2.8n A",Af!5 (nu#@8=JJ=9שMU^0A=#CnRA#@J^mVٽ##{@ DAC~$W+bTر@^dAfA؀G$MD>IQfUѩdME<$czNUO*NA(@RnET#I~::eLdaTݓ(@h%WeD [S`%T%AjK t \&CLYNص#KeP: ܀a梍WN%deJ E$dpPA\j%X_5% >echR_:'P j&beX?&cdhfmF=i o\f&p v'h$rN@ t -gVv?A 苂\3N@%qgTQ?iCdD^u6Dc&w.J x)MApz~Zv֤ބyO )%)lꃚ((ڙ(j `~WP& kuJ)_>fr'L?@,A:ꩾ5(vjj_֪'A.`?HAj'@ k@)>kZBPkP "R*J*n*PLAA)i+~A+H,h򧏎dʕ$h&A2\++@1PĞd#A*/'xށ.`",Lml Llq&!i d"A@%n)D8.v-ۮlW4 !B!BA BBA&xZC.c [N4n"$f 'BB.ʍ 'pB@s(@f.# ̨< \d 蚷N`A ,LՐ/t`j$A?` `" lT( x T|ADA#={-: @@*o$p \Cϭ0 \@ ' 0Ȝ ypBB WDgAq@Jsœ3\OcJb1@tE< nq@ϱDJ1(D1 1"%2A&2 32˗$#2%[%TBlrr{r L()q! DK0B+O2A,{ TOK-q!.{1dDKA0 R{`@&37,!(4 tB`sKP7wR,Pas9{ Wm:m;K73Ds>?L)@s@4As,$t@,Ԭ(@ E6@c4F_ As $0àtE%K0LB2Bo{P7lP?Q'TB(tI@N` Vs|5X+X#Y/l 钍ь |A2O__c׼`#F+5 v\`Ae"v!!n$-.tB'0 x6 ?hpa/aNjvk7]alQpn6rrs5sott'j;uvs7Uywů qsvrkys zgn{{W|3vKc}G%~~7yw6?x$b/kgDE~xgs8z87k38}8P~7xcs48o ٰxӃwKwy+7csD&y.yG(0vw8W΋{ԗ?Bb;*P"`#(@# Q   |Wչ(/ TB&A0 B\ -0@)42p XhA@4@<3wa(Al|Av"3*܁< 2@10{(]$RBsd?ȁM?@/A!C) , Ahǂց?| 3+yi5y ԾW/{1@A qCs|˗*|yWna:zAA;XȏO %W>t6u|O@3>ij36m}W9_/{7>b @#x%W?%L&A\r-$bDxcF9vdH#I4ye<,Y$E)0`)BGQ௕AVү&M,gH%JB_'OZ #ZЁ(6jԐALsֵ{n_ -w?)7vrdɓ)\e̙5o?9"`F-8)GFլ[P@XN0H-LztөWΨq bĿ_H|b/_Kʉ+%d&t! dax9$CF +50@I  Y!Xd,} {D@ a H HI.Io  R1<45CA%AT\PCzJ J (;J$@҃ZnB<ؔN=TN -NmᄅP >0Ȱ`Lϊ'!DX'6?0ѬRMX(]FRC]]O "&-J;uKXR[u؂ >a5p= 3!8\@? N(Jv7EuT`sԄve^]L! UK {[I!f Bj~ه{`6 pc5k34JNLqEVhDRug޻ӚK**$*P2hoߪ5ߜsb48?A,x ! 8XV8dbË4|NT)λ_֛o^@g2 g-d.*B `2?}Ǯ>a9s ;'<*0" )v b+]JX&HM 9xY򒷼Ā0~,("-?4D0}!?%'_iD?0 U+`B*0@74Z   D'2ĄpBaO'? h?r%a9 dE#b؟0aXE1k=kX Op~H/`E! 5!( Ti/@g1GZpA;~NcP CRJ@"(@,gI$1EI_ fGJc|+LX8HFO@ Y2@D tP`/p00!K_ 2>c1xG"pTU " 52Lc\GAS$I5WjVf3T"m)G25lZЯvykCU0]o{pc)fpA7X 6j-Ʋmzv9QʯRg8[ mڍ5y#!>"Rc^t Wwý8rk<ۙvFEt_Hs':U =w<̛z7yV pZ;wqX7O8/_lxP93 o(^c& ˱8^s]䁇8o)c3@51m@-_v e(xtGvWb1y??x>!cwNp/y_P5\H;n>;u/񏏼O6nno6RoZbyٰOSo(W|!`|A:/ʎ-`&ڈ'aV@r|P0`5΀گX!VnXCA |dHNK6aj _@@ %v J9' a6 a )J VX`\  A""&qsP@: Laa&QnL 4|v@~`r` NIQ5'` @Q, ` nbq+DR!q'RsR D~@@-x b B D` #N")&{%!S^2&orXR h'Ұ2,`()R) a|(2`+R++2BR,*+, c.r,۲,r Yc-U-22.+f`S.R0H/(10 .>&91/3}2.13 F37/;3KWBS4-4M55S.ز5gSM^6B6iS76o30w8Ӥ7}3,8c8}379#9os9S:Q9a3:;G:S:;=b;E; 3>3"2-Y@UN.?=!@ ;0TAAAT:>/>U@?)T>q?Dc@WC!<ѓ&D3BREW8[3aA-CoT+5Ei63D:FG TFӓD48t4t?4EIuFqJuJt6}HCTH>>333888DDDʲ000hhh{{{<<$b+0j-%/%Cn$^ЁE@B,lD2ƒ(*Lh+DD@a@VhO -t-l#("K 2PA ^qCcD sd î2x|c ]#sJ‚GF%Bp} ]h#ARЁ@r5^!̠Xk[N*ѡT">-d#!@6TÃ- R{+rAC@ 3Hf@ O]lhG Wxd-0 ؀N n#35O%"ED b0@+`># ;3#7@ p `]۵z ¨ ;$ 78E`j`P` Q ::ۦwr*{۷'@ Э۵` 𦔈< @Ð{CU @ Ջ-@6P>Qnu:@ &kEɻ۵$Pǰ 8/0ZFg 2$p `<SS0“[N U)L k@*L9]@>ܵyN@9P`K9[Ē3HW MNP]TlcY 0W^9{m2k Aj;wKfps 9{+<Ȗz &)#0#p Xʬ7ۻ| ؑ[˃JphJIM`+` |ǘpڜ`ĐXĮ_!Mc@^k~P  )1 s+ I s VpSy< n3趰]Ӹ 0=.p~ pw@ `w O)N m0 ! 2r>4_6oϼa4n@p` v:@T 0ZpSY YppdN.O H^DOp  ̏XImάk@ @ d,F?_T[m-:Xh fYQ.~IClpHP{h g04,0 dfO2 i0aP `iA .dC%NX"C.ѐ. DA 4T X@C D0TX%xx,uΑ*U`1gfA JNB@7|d[qΥ[]hT߀w([p_"زscȑ%O\:Ns0M 9u$ѠA?6.P{m =tHqɕ/g.%O\e̙5o4j-Vh-Bl+fǨ"Zz+Yjb)C̸k9#pB8 4 Xm x-6f[n 7 v ߀ kFƎH2 %Xr &h '+<CO+=ڊ*무JpL2,8Ȃ3ZEb,G:뼱jP' cR5\CDlM7` KኳQH#]Y2GꄼHi?Rب/,/ MXcu8r+dW`eKS#B2<qPQTE{[A^d5T,XtU) h邴&+RkTO$  $"ѢAXqBW9ڢ J6Hd3x#= FŽd0hB8eL("@@!Xyuza%dճY>DAI}1Fnp%ɣso3 gx^ ;#KRmQR+ .O>8G&g|Im:Z iG"T'rAuQ/Z k֨Ƈ D" o>I->6Sʸ|}uXdCQBSm~gh86Qג~S7\'+G2140 kq.(,=CJhJ$F.c08m7!6 P$.ADb@c ?KC`|2@] F&Aihc@G8{GCkj꿸pn9+ 4l)gAl-^F"]&]AZ2U¡.M%‚UN b&$A1MEo!,FI [ 8AT"E"6@2[<ݞ9r`*a ꒏85L@mBPԊPƙѼ). `>?Q=Y xQ,-`hlf Z1Dδ=t${OIU{Q;}P!Y x?)8A&@zx6+PfCA8'cr\z*iتF0^ H7BL![ uf`pG-:7$P Ǜ(X2X܍ l U?U.3 jBp1 SI !ч0/2394;@_{9 @#L@ 3H7p*  28ˋ ZI5L*5©j5Qʛ5/0Xۀf(T:n>a>G=5C}Pc`5&;h!E ox qPhA< A\gh0& n!@nq8AZ?&xlw aЅ+k8Yv`(`[h XiIX@.cԂy#wQJs V@e4p##h˹؁hc( 7F;d!d;a؃hj5XnC:NM4M%`(n*D- #hpf ![OLh_K˹cPk| F̷ ;ȃktg@v-{r(~X`"@G2$d8L{ ϼLsp 6hJT:S0MX xMPMRz !t X|N؃pQ DIQX\&0q>@c8LuNN h@?(Nhb_0R(e؃=`(whR8#eȇd8ĬSX.KOPLo| (eL()U Q CE5XNP"=RKRW&\5[#)0A] qr@l(X&6BcRmX-l9HC-8nich"VtDXN[prccKXb0d^&X[B))TJS@3ip-XUX[PZڪOظbcԸ'S(V6 R#ER*%2HW/K]DW`KIGx5zE7ۃY@p&5Yu َhA "X.GX>8*C8z`bX "P' vX9>ȀOJp[ݶp0ĦչD@M_ŮW0iZδQd \!O0[78+f{ePgfpq n0Z; ("08n08`:}ʀՖ CsOh%Ar;Hn^[ennnp.8 '%@*]Vdvc2,'%"5hV:h.Ђ9`-Hf}h ؁Q9ȅ3!؀2@tfȖv(6Ͷ Fi Hzh$ȆB@E#3؄IR2+lK_Mi&me8rs/J ʜ`JUd9.wh[xˈ^w>?Nj8:D^sK0=4؃n 2X"1Mc4x(B2HU^=3Tjh5]E0*B$(K@X7_5`'5aA$&h`egfo(qЅbx[DSXxy?@X -HMdS10>8@P?C.Z ͣiPX(P hjT`$p?̰J ct3VȂ%Z~G p;bJX0P? }PC lW8gV[,DaP3VBO 1`pC-1`VN#3xcG# 3G8 HtK|`T`RdQ4P8+|Aިk T 2l$ߔ}*EU@5ʔSPIEU( i(-3x9p74#r,C! DA4| '31. (~Fp,M>0D 5 " ,C \`: Rv;T C'L B0 cx@C7VB 8 D _(9z(PZf t؀ #Ҁ"j R8 fXjj6B,̱A [@tшABPʩFdz| 6<x$%Hd }j!:8#Bхq\!':h_"L7t KF |Yg[HF,]`ZUv)"@ Dx5VqP1+:@POl~D! 4Wc)| \ 6XB$@،+wdpc*~ p@*D-qh'`S pC9d0tp()"UjV0?c%C8SMX \(MEňD ]jQ`Ht|?l3` u 'p |#9u$O$U.b/L1ȀN:cO>H@%bQJRnR_8&k!vU UbUE/fWz%]^0ȭ宠% C[E!Au'A u@0@luH$$Bkzby4U/¤LҤMb2jf3dx4&]Yc'ftfQ(hBfUm/Vve1&] Xy0A4'BA ?́R,BH(hbVNby-'dd edf2N>~ehP)lQ(R؈%?*$%T>U&oZWf('e<  @x"3{BC lB,xA*DC8C0!<|C'B",ЃԂ,P\d4+tA6BH@4\BC¾Et,©cgVJ&ee"cn&~gVu\#Z.-L}\BjÊ㤞c&ΩVZp*'z D6? *@((A(4XAA/k ,A/TAd'/Œm00PAĮ+.!.B:0u"D2TNOX BukBB&pwn&#?Bġn>?ĭ8lQ-c)b*gN'~*. 063L P@(BAT s塢0 B|@&o<04?<*2`A@4.`27'@TB00)C/ 00ie.v&i BҠp#$5pR$BD02 ?2$ o,?2A;/A(C('"\Ac5041l1@ #c߾|$2p93:s4$21Q 7]QC4]3D@AAB2,#4)@y;6{`g;/Ah9,g̋*)1W9~[^@A D@84C|_:,t<8ӟ=#>?h||SwO'c<ڋ#?&xk㹆׿t*T:=|_>;DC||}X=`-+b+6wC 05cyϺ`/L4@˾5BSk#|lvó<,TpA~?j䁗QAh@꾫+~ǺGwa BM sbD)VxcF9vdH#Ic?tO@B ԌD@]p@ K%4ASȈSAhԀ:@cɖ5{V$V8t /;ȬfΝ=[T V4E 2H(Q*SO("D*8-0ZѣI6}uq-kKT 2iĩOB38 iJxFj͢O["O">AuvIj*Ys\X[ k H2da K[|AZy@ C-D6rS2`|CJ)@# kQb Wd:аU3$Hi4vb/껏1!K^syrGA<4τ()'G=byCq7{-R\v3a1 PռӏL@NfiG*ڡV!{/( C,er3vzc HPȔb=6$ 0"LN!d@6 'D~E[҉e?>X`_E@Xݗ_Lpa0Ǎr54ك+Ђ[o "d!BƐWwsybW"@~U^e5A0/iCaݙh8DD2H *hbMXd)e1l9ŖhACZ`ب垛n ha"H(|N8Ë <(A&H,i KM;.`` G sF)%"u߽, pbXJNbo1rR/&H3J"p2?+ ;PKͲGFBFPKM%AOEBPS/img/cncpt304.gifR GIF89a???___///rrrŧ@@@簾oooOOO쯯xxx{{{uuuwww;;;```vvv}}} 000777zzzppp SSS###gggPPP'''XXX,,,tttGGGJJJ)))լ+++ȇ |||HHH÷>>>ݗ胃WWWĵkkk̆YYY---mmm666sss999eeeCCC:::]]]III&&&bbbBBBjjj222KKKlll[[[aaa^^^ZZZ֝EEE䕕qqq333ۮyyyddd!!!<<<...%%%555 TTTQQQLLLܘccciii$$$DDDVVV===nnnfff***~~~NNN(((ɍ AAA888RRRhhh!,/ A-|iֶˏ_ᣯMv}h& 6F(Vhfv~($h(,ȟB.(4h8K8@)DdL6PF)TVi1X:]Fh;(8f%~fa[y`z>NXj v2N;rFhN;*@;~iЎ٠@t`jn^jl@l'I^Nx;lZ,DΧdžVYA,CT٥i[ojv{As@4Pn@;@dk$cBJl@z[*6켬ssaf\1+gΟNLl;.lk_ h{enpefp }j&7!. –0qN]fw#mV瞹~ҳ7gY6*۲v{jCF_mr<<_l'r[š|O 5ǯ:'[zǎPO0up g[kyb!YPW(E@jK 4j#/ctfT̗ur /KJ=~w$`s^Y&(x 1}0MD36Puz#,5).ipcZVL6f*Mr: y# )Cp[",J$^Vg ®u xGvx7vk~Ceo{Nh{^ 7Bwk ~[&GFm ?I o/xG0-Pmx7RGP RS*%i>i[lpvrFĥ50R6WŁe+_L\T2/V][}FF~dkYQr'>\+2'V(Z 3 #.:hցɤ/tz[2W¼y=O29`Z5 U )_gإT& &X[c,k!+U ( >}zX\f+tv9/ʛ:?Wh*-4틦z:wnprf:02ina\ZN):Q[fAMp``Gb %ͽ0i_=uShXٸWK~j[ T*΂l{aJ7Z֧Jo[GY^k\T&%'ݹwj~fS]ǞΎr/'rZ<@@ž/Wb]赆}Me\[BHeR -$ggr=ųKg~;hb勆,{Y6}wUA[Pz!*(KL3# &|8'{TM|!<;JcTFpF~S-WK]$U <*}yG@B*w+Wh%)4nWxzRHD~0D8/4KKE&Kwd |t*T4|FK$ԤK7|dwm5`E|(kLdqWBi)rg}t`ݔ,MeTM\:eyc"М@әe[ؓɛ@ {~Y 3Ē90c0 ٟ) Gٟh!$bI.Ap"h >eJ.! IIyp}[r.7ZGE\H\9 ":Ry#h)" \Н"LN\З kpZ)4% cB)9=?*hI[9;"rN@hp ¥tg/z3d%mJ>o]XXDYS\IX Y:p*}JXY9$*B@hya*:fڨʦrYGmک+mPʩʪnv7v6Jz7jZﲫ zL (L@#u(ꚬҮ| *>p⪂7*45.T^'0-;-0{(d["1:9Lpj { ^%-ڭ:& ˣij VyV(/K"0VEV0I 49VWS S:Z7޺&97ֳXa8xuk+#'WVTx2v֚`{5ek2 6p p2W`2K[YcuPk>tM+V_[KkJ X)cV5K]}:Vc@(:kzj)Z2zj;Xl{[:P5[5T蛾YVB{;{C}y[۪ k Ye= ;Pl`G@52 ` c*Gp=~ۧ`'\)+|N0AK8{j< pJgR 1R@S6`n xɹŝ_aA@Z#!^[ 3[D̽k>3v`V Q,=9*0n@Ȇalb'}g40Ʌ\|ə k9Z"[z%F|ķ@0=0` Nnp Nϼ;Ϳ<+ -<(xxbj'0U @H CZB~!sl6KFlΚ/Y,fc Q !jR  $yv,ѝ\ rЭx\ ζ gqѺe\ 9%Qp }cJL,8h FZ]AQ`(Ҹܨ;!<,*a-0{ښ>ػ1p/\e&BPv}圭ҲkRݽ6=Rr|͔zٱMnvn҆]%]aT)BԒӲ}vͭ۰MCMg+ =9 ") .0ݥ Jf'J=/-}܅&{!'P !'-~NBN!h{j>ܗҢ鍙QR5h24R/"9ĂtgK)@!%~.'>ޅT}M ⊨?*|ݯHyϹHM,=n^QNӔi4&`\>-.֧Yn~6,M* |!wLWγ^~`[y߁Os(⋍m *[ޜ=}ڽJ=ؐk ї^Ҷ:㞮|%㪎P]Y'> =JoTм>`d~ϐt.k7F.u֞~bZĮ9IlYLlš[f^d)i҄ ^^ɍ[C~]7쾸3?Rs 7 K~"$Wx^ݞ#/L m_ޠ"+o,kV|oNVopO9J,[2®-_|| _s/.U.(doToL?N8-nor:[F?iO4 pWA `aAvMXŋ0xG!ExF5^t8a;PH8a͛/y\i1DJ\уC/'Ţ"lcK ٵI0†KV%)E_ծe Qb٪g'bU S&M6q pҿ+ʍrjE'eG֮ZF݉E&]"TjfZkeϦ] 9#+A8vArV| ;]2_1 z8luXW^կg/K&iAwfi/jg(3,ZncgIB Jb;8B=SJ Bժ H/sT$ģ(; 8࠻8 /d%餜2 ɶ@p@G2Ճ 2x1J62 LʔsT%!>R8RIl# UJe;;dq`SN;N{` 6Ĩ9g,STc8US1ZJFoq6 ,թKzvS*FYESvU؀ /姿5[ױ0%;`A\K? TSK6Hv[st:@-Il: G՝BhBj*U Eypz@@5U7],ͫ ֑^%(+q?bG"I2n\?V5 \@#0;E;Wv #oD>,XPtY][/-lBq{yZ̵ Ⱦ /+@ D9 B4<#+B6QB> DKD"ĕ ;9>db8IĐ@ r C* E5,.r {i\8lHdMF ,|Ͳ>aˆ0HGu\GҚGkIkԽa}@kȦx <i%HD׺ޛ{HH I;pBD{L:\Ip\3qI@G^G.TD>"ʠ4ʥcAdm3D3C":a@A"Y-24 rCmL"*4.'7B&EPG6JKL@RL[TC@ʯIkJ@ÔǩH Bh*Wk@{IL͒ҁD&D/ʜMD *B46nL̎M'%EXN %WN<Ӝẅ́4.3 qu=~ʀ" ,44 הZ ԤՄ dMPrrGOTMK5=+7;a<ŵTlEPDQ[T~eE*` Ϭpdʅ<@6c6Q"t,]m&$^$N )R-5-,ϊRlLV@CRQT!;ɸXQǸS*1*B= SͰP%+ *<~4v`)0Ԁ0bڳR҉@?/`rij8=h|V[VUՕTnU)#WScmJ-XeٜX+iE¿WԒe*ˇXYU%V4RC]5u&EXXM[RgZʍ#X(`;۩%6X(Cu}[Yjٲe} UۺRoWZ+"s\8[ӷx\\%[Uzt\Д=v{x=k'<s؋LWD#]w]{7#py3㥷#8\=H3-O5Zpv7`9Dp; NZ<9E_9CQ ]߶TCAj*]]ҭm 0c;~9;宨_=vH`;۔=V[97ʱLҴ :e@nf98@cX#a.t?Xcᕫ*~X-OKt\nI X|Rf @Liżc@U>]fc~ͲbJ;3L.F=dd^s䯈KE2TCCfu=&YUO"P<=K\Mb8fOBPFge]^dM`N0b¶庥b\[~濩Y}M\?]`wʽC JN;C; ggkFdlVldzn+m>6Kf)|df.h莎]6J7~Ll%$6guO\μlO=JTdו򐀥%eՅؼEڤv XRcfuh [,& V^'EԖĉe$eBRF5dQ ΧL&ŕgNIxYPxQRM-kOi!X2MZ~\ 8-tXΗ.kb)y.v8Vʢ)8ʎT,-YV$V"jL]&CQmaXF׭)݌fQPcʑ½iaV 5AmnnVVQ AluR҆hsoo ~ǒT&m\WVf/5  poǮe+lp.r?nR7l 7۶e?eg5G}g85[W;sqvöp+WL2|LKl:r!'mr6׼};j9g*@ =ge-u$׾6Nv o9t:mOo be\/iUBWt4gQvgaC;+Wo).sVnSnr_twntV9u9M\ 'o_Nnc\&fOg_l Jalq?oImb?COh^Vs796ppF0!:ˣtt)FesgOtOsu?yr`yqv@$+5%v\ycVWW?K?t,gI ,ͼw5M\ q w{ROxoFjN{ ^)\\ytzooghWŔ7woFnzPz\.d/wgutw^6y0Zx[C||)}<"~>`w77n]~iw|xNo &{d߈{Oo~v $`Av2l!Ĉ'Rx!ƌċGf#DvD%C(aҬi&Μ։$'NrS8$B?1(V=J*7 u ؁bL2kCpҭ{gg E݉G.ٔbZ$+403Q'Yv'mKr#. /Fg5p0Жxi"|tfݕ;哟W;7Q#7,`谕>@;+Xts=r݊.ooTf7oƐw bQu~)|={[ 7{{tvg&QgAudU8V)s7#}j蚉=ԢyVYTf.!NUڸ=f8sSYԐ)_%"ۉ"ۄI9&q evɖ?]1v&PGdCr9yQ(a^{W'}mX)ߠ&a8^nHi_kX5aFT&r6 8F%j^iЅfƖWZZ5=dFN5mBJS} [ckmzkrg uT;pLvl.i.Jm 4ip,ŖAk=0,fij \1Fe9M3Ԡ KYfS*=14P{E<>o9,WEc9u" ‰X4Z-"t8p;ty ;KdvݲUKKwcm9eѳ ÉP?nyf3m> ;ev׶-҈ϩ7^-k軏hG"!Zywy U{keJGv \91a+-Du^G­p}> И"O{=8BK!WvH}a"c{/銕yj %ERCh 9ұv ڹozjaJܱu< u$!#Y$&h##)I|Slc.$@`\NUҔ8> !C{RvLe+$?`2@A&4Q4@UKgF3<g5Aptx@6=laaC tl ]H2_8@T`eB ViN2kШ0iY")¸u5 J[).$t d*PQ9]+ci@t"@ `ԣ$E8) pX*ֱUAy.E1 3[Qֹkd! 2E&*رY@Q4}l URI[u:dMtM*^ Wk;ʰd_Z̵QWH/Czm>wMN bŔr ua+m7?9$%n_ 0&آVAZV+ޢ^춃b:.v]OquWox߉\nK\L /Aŗ׾E32pea].|)B"pd0n V0uq2aen2BF-4m9XȻ5=ː#ɱC-*[Ѕ=s\/aqx˼3kyj.1y,d99>4Z&HE#}ɬj43MoZnC-QԦ>5SUե4\-YӺֶ;ܹB0"P  a>6e3^j%iS@m];Z'-q>wP˅&H -yӻ7oxc{7W˻ 38›$< G_8nR񏓼&?'n ׸;9ss&/`Ѓ.F?:ғ3Cӣ.uS:ց<^:.}tV=-m$g;wAs.6u~1n3W{N{$@ҝ<%,zҳOfȫ {!}r{O u/|wk+{7}o y~;doǟgg/۟B 2"5DM :DmB  w` ʠF_; :V `r |; @"a8PR`BZa.ja2ana~V!&aCaC!C$a!` !֠nY_ !!2b 6D#"aCpbbjrgy"C%f"*nb*v*~b++@!Bb.--QcC00#C(B034"/R106 5.c6F4bc2Z66V7>7#8cC,A6 >2=@@B$=*@$A:ABCJdENM6fdC#G2Gj0~$UJ^$Kvj䟤d$Mdz$JM$ONƤNPdN$Q&R2Q%R.%TF$ȤI%VFOVePfWVU~%YeXXZeSr%%\ƥ\ΥQZYNU%__e]M^^&b&b`&@L&eVe^&fffn&gvg~&hh&i&d:&jvY[fΨklf&m:mno&pZk'@V q0gs uVe dgcr'wX HagzΈ 'j@)g{RzUGqg}G`W{mgZ^C];iqU 8('j Ulv1Ra(tDgUh_. GB Nn-bg("-@d Ү ꠢjk]^r.n m+{B*";t/ZR2^B$ DHfERLrZYR^2lY뺮0k/!®sH^eBW{jv.D5ppލr;L>.0RDId/0޹Bmg -"-H0–F@J@R,k g1r1wx nr2'~w*_ @R7NV W+/i.&]q@d,JE !e@Z/D4+rЀ+Dz,2ql$iMk/ '@ D*^(Dj; 3J<4W5D 8rsHr00_oF@-^03<#5׳=aqqzsq9% vÞ*M3҃`gvRp5%w;@@ l@t xt؁,?9G;Ad)kF8ry7 xXN7nn @H9ù @@T7-}<ͅx3@2D @GATDCf'XÙ3Q4A~Pe Ժ:GgcnzET|ykߗx @ȁvׄmrzCk @`;EB8@i:;|CiU;VLx)l;s33 ,36DEķ%Oė>:Tǖ;X 2LAU ]%S{ui2'K{xd\3<7H|#D((;2@4Yt];$aB 6t0%@x. >dH#I4ydvPtٲ31y$툌 p T@TLzj)L(<lXcOdI-ɘ3Lv0xSYlcofpbʼn @_W|ٓuZ1 H/@*VbqnƅMup85y?ݶ9\DC? !CdB^ۉvϮqab~%wf׎w,;w.pݩ@>ChvP I#+Ӭ K v X'μs: hH!ۑ o?K)C5Hn H. lhR9skȢ*b,hQ 2 + `vPo1xTGÂ,u$ ԝ ILY[(Ѥ1ũ ,O6y?#L̳ #Cұ0A5Œ}8*K:H:\r*h@9TC}Y( X^G d eskg]xiCjtH @U4 +W:UQzA hNjK0ɀľX'E i(!bHifGaa\K-G;p'̹$;.f-2&iYˀ:]L*]sK88$q.Œ^qiv%c9֬L ,S}0Ȱ,X͑ ; B v :P{4_Z#PLB逝Qo 50qtw Y{Zwh8fv@7,} Z~SPk8X`fBjʀa(T@@!1+I|,W@/x%saCbeA9"L`@!(Pbp`,VH9I f;p,ɐ eJ\ c8 a 28JGCմ)\ n|0rы!X@KPЁWHa- `% ~1 jn)ДU4C2҅D"I(HN.j Y`AHh2S!v,1XB@5啀,x- PuA)A B, U (D < v &bd@];L 8v{hD;aD) (PBlE,O0b\  8vH4"k1XF7u. CL EL ( YuȄ8 ʘEh8bZT=UiQ cR& 38@ 0"T4aO,@M %wp א`# ^{Q`8F 8oX T\(F, .@ PAlB!C"ʎ!*@&I6Ɇ6N9]6Z5m.P/m GAC&:@ KBCD0wp$)u`4LE/0rf@ ,8`B!A ᮃAR"F7bWnXx^؇4I4" Hx2@ ` J81$'$N6'wQye,@Q8 FK0d(VQv=;ϥsxYu(>P ;_%vf@qvHD tBQC3DXF/8%J@|ςܲJ;=öYmST7 jچgu gi^ۺ7m$9 &HPv`y,ڒ"Sg|!Fj0;R'X!:\ \ ~ &c $++w+=⸎ ,` P,%5R  @.H.$d ]"2+~ 0zQ,G,3-!6) )Ϡ2 S@"V3p$?4l 10OSL00QNA@ %]R ,2 J.$ @9A 5jVr2#"@ @2N7c $$ D S>z@S?]j`^vj3 L   <-` ~@V%tC s?Ct{\ϻ3 >&@Ơ0`  h z`de %L ITItIiRD4mPP3@ (: 4 @sNR~ʠ deHMt$x@T1 lT! @V ^5@@R`4M5s~zN8;#H`B+TV, 5d T(p4Rs^s耂|HHJUW) zRW$_5@!V H- M/PIwZgh- 3!5@E@uP+$`fFZu uJ TU[0382U6 ]S@^tpa=Aaؠ:~tS`SaK1`r!b%$EʴYGr`"2MgGj~@8e; \-r R@g` X S UVV:m#FRX@ N;>S"rDo' A`kQT|J |F f`fo( Qo/F, `&p ` '. L-@ &@,]1vgh07Y<QVvS`mBPvTS"F zC :B4o]"Zg fyׅV,oRV- $%]ŗ|緀N NuہZW Ԕ~זΐ,=l-\MdFlBdS{Gp6d! M/5zG}Q6[QEl€L4P7$LׅwHnl5yiyX+e(2u{95=,wgm#>8^Gu!TgG ux!\~s`gXglX!@@~DT` qih!s@ْ]`7!R /ٓ?CYGKٔOSYW[ٕ_c9;PKlyRRPKM%AOEBPS/img/cncpt268.gifUGIF89a@@@Р000 ```pppPPP!, $dihlp,tmx|pH,Ȥrl:P%ѬvU G0@U!0Ų)>Ab{GS( X(9h+TxD$ i" ya" ~c] "   f  "##Xdz o c X"#r Ʒ "h$Oo x@Agr!.4 hС TBɓL\2"%`G`3 `P`'"(đ;0`4Z@Gq Dx LY0HHn"p O>m`ᚩr|YT <@"S(3TA,vA @i8@t=j > ]əNO((hਸ;sF礤aA &tp@Ш&8f"uu݆&@\цB8!uivWBO#x"V8]_!Hchm1#6 <i& hX!C.H4p#fI QQjN$B}d`z:@!IE -Qf*  &Ix<(晴:G"R 0( 1C%3v:1О;)@(r$ qj-b!Q^ Y|:%wg۷Hy`+\)mʒ)k*miQsV'%gPOn/ q ,@(? + r_~ $E@'g+/\O/a o-( @@` ( 0 @(j&LaP*.`( 6gV F@@#(;nV5؏PpxCQҞo0 (m(@lCAgQH%RAlX|6 a58߼Tg(qfy45A X"L4x3c{(@C2@hicdK1*|Zz)D2t13AVy>| ;"T)p`r!|bfxe`hH> JAq'#xNXCjM'ʘp6: hf(ll-J)B B5T N,mP #* pfs?b# !B.&`?%=;?T˥A"zЃcs? (SK)xwʦM{)34LE̴MM~+>E"຺%bT x)Cu0Q1*b@*UU1Db3PU6>ëjR\Ԑר*pxR ,?*L:Ҳ(\Jl_?10F2 %LKNJnT\Q|M@}s|K L0KaJ,$+2!;lqJ@`Ta΄a!qM┒ SD7$nmY" SnY{0ħ,x?aEgL8αw2Fĉ]\,HN& e !S$R Ze$d~I1 1Af>Ŕ4 cng0y>sgY|f4 : r}DCyь H`.ckz/贊? ä. NMT:V_}X'wִ.\r͊6kz}r.;im2NvUnݖA{v-;V6aPGOg`CV'N[o7sC+&Z'M@LP@*XXznIu DX՗>J%r!4r7P H@\QSⲞDg#8AXH"q2ÄR ynCuCz7V:ԅ2@['2xQP+'!mPW&M3 &؅b~hUC4 xUOU # 04X  ҉G} iif'X/ڴQ01G:t 1RRB'=$@"+;a'-f{AZ%3x %AXx"H\oJ" s=&xtaw.%&A"x4P5jt-00&@ EYIyrO)0S ?Y4/G*Oq#qF`F[>בz|0r^l!b#֖d( g9j} ؘKy6)ro]֙yeP6by*IaٚIU9TIF5C-™BY%tBʹԜΙA4Ay ڹ@ٝ9@9T?虞y?>Ys>ӟ9>3=zٓ Z= ڠ<:S<ij:"9$Zs(8*#e2:4Z6z8:ZɞR@B:Ajei;JLڤNj=R:TZVz rp2I(l;0+;u9FوD &c#D| Ft7)lPc;T Ne^q_ +?5OEw!A* @ %WE $  ,s/]p Ñ}ZHPm(['Qz0*E '*HHJQ{J@\kpQYTaL"f`3 7aQ> U> 4IA蒫Qy 23E 5 81 Uz6Q/Q! בkWW.9 ؁]W Eb%XįDB8H%YF  $JWP%|ESyLl%?SRD0nT,yCaFVEr6 ƈ"01 2xopl.rLvLbx8s 9S )Vk50tjSos5ջ1Lѫ-hH[3|IbX 5[e(F2<3 6104A65'7!YGluPZ XA`Q@;PKƕPKM%AOEBPS/img/cncpt218.gif25GIF89a)888???ppp쯯@@@ス///ߛ333rrr___OOOooo999fff***ČTTT~~~FFFؚ$$$bbb...)))``` 000WWWaaaPPPMMM|||DDDmmm򭭭IIIhhh &&&,,,444666sss{{{===;;;vvv<<<111!,) ~ ~ ¿ Ɍ˕ʪќڽ~ㄒ` 7ż:7 _!WPaB 6PbDB[Tpcy$Ȑ[2p-cʜI͛8srϟ@ JfϢH*]ʴ)IcNJJj XʵkK:Jٳ]˶ңnʝkT-ݻxׂ ꠰ Y'Л.Wˋ)-"hV̅4^`ሃ#z,pd q0J$QRȷ@|$NBJXࣚa]{ kIr,` B~䐃pkAXj 2@wq ozA!U}?=`)pd%DI!-lacl6THw5k2܅.Yaqk!yg}MHA9R1d-Xna^^rѣ28%%M~f}tV: XiKzG^gDufr?D **}p gYXb)Y9hA*+!U"Ö:](+.bꮙqb;Ͼ,0GlGE;7<¶W pwqW6q q$EX%,*<. 2,=6:<IAsB{"J G@KCutCbU"$y}NSGxA,6>o-zƤ%))p$7`ߢ)z(u6rhR'%m߫ZLI#w砇e訧.:1k惐Qb-};/o]sAzgV-igw/k#1iԙx9K1N2&xiZdaԏq糟OطM5a =XhR7zTFHBR,;0 gH°(iA@ H"H&:I!HE' ^IqV`HF0Jh|sB1p<H"x=8w#(H<icWxm)b< #F@V69G>+@0!@&BT0+p[X F$ \C|(BJS$b 8!&  @L?r$0( d9Dd/ 0KZ>'1w)\ . Ql~x(pL>K*c<_ r:3r PJ6 l + 0 H | BQ @BWr8)UR*/ f:)L3!g*ꇝ"~0 `ZRbE+PV?4֔87B\o+l 3m!0fJxh!SJTթ1Խ&7%DRهZ50r`@ ۪vC8Q^n`int)^iʃsV.kSZEԝ% + Vk(@g`VXVR-<H.zJC)v6|UNned' l-6_ `8u,uνN XpFy`յq%;[d`պ^]TIHn@vr^k.fz̘2Vܺ\>h?'NBXG}eSFS֥.Bp|&WhT;kQaGUq:LI`LWZcQH F k02mn{f HՅH.pp>jC̘֓mn!9m"4^eX<]==ErY] s^yB3EY}T!=YGBrxYRq8STimr4Ul9έI][I3W|]E O%[`w wQEwhdmWerVD&&FL4E&0 D)5,u=1F&"P p%u4HL!g(/`US4}AXG;OY_TK+ 2 s7V$\bZb؏g,XldA7D+@T(7/@D/tBK iEKV)L`{=qStHD0 @dH/ +M)z )} 8 )D .-R4}0/}p.ʴ/`08BW KYLV%PpaH PhJGaQz]u\RHCdW|tT9J88u@t@wv* t)4.Б2 &L?/Ω@T8Chב-)+JEi*Pu!Li}0BYp=%ťfcUKO$a@KQ5I5[ 9af VpBu^QCF1lG@ ju0)0w@q D.D|@-P|vWzD); +DxBMiSGR dOz=EoW9EXdQ5Z~7D)zIЬ4 wD:DLPj?*4+?$I?|!JDp yU'RXLFY5RFX7S醍\+?]aZrqEv ચ "뚨ɭ ٮ? z.HY DjqW]YP`5nxP_`Zfvm p\!]5x1'GDz)v4JTui9DioK=K$Nɲٚ|rɨv9zʷ440 rYD6TvK}edN eS`4a^m p=Qn5UC`SǵMiZV[*4mrp+-*z0ȫbVD%|Z ˩ DRH|HI'MYKPX`KJd'P V`wD(Sayx(i,q8ZD>(U[*5c[@ ]~*LƗ4\Hyθ|ĺ،(Pfȋ(ØxV\L@B|Es>؈"xF(GPH;yz<\ؖ{` EI[QɑZH:YMȍȭik*=DĖ\G7wȜ F(XXLȪ, ˥槱s>yS h. ʨ̈ I s\ t+dxxώ{|zyz{W{zLy{Ш7Лz}]''G6T&}(*;pX nd>#ka20m23|ӻ:<=t>3@`JLNPR=TEmԫZ'X-UBb=d]f}hb 0jpד㻤$ڣ6ڮ-3.3۴2m|۔u Ӿ#$ .?M01--C 9`&r-ѝ1?!9638tRQ!m5f#%ŝ7qq.ښ=m519hB9 (B bpФ2c##@ ?#;E\}(C:S.B". )b%:< ")<;36.c/'Gb!"t@t5}#3]5׼ajlnpr>t^tUz8/M?{i>^~..>/L *<sAeJ '~nA=~GƱt2j`Şʾ$ĮFde!eqnlJ.~J\^TR4KeK0Lza3V^ԄUؤMMUENT_PtZ1\[OOa)$9uP P!PQ]Qմ&o#URtRa PVA7`7庅`X2STIeTHiLTKpPUWYZbgUKVfU jOw^g]1fdWbh&XQ[XۅXX IfՉodYf8Ugb1PpmSZ ELk\duv\L5\U5NqمEJĔ]6ZfbOb6PC__ĔEejX &eFa5IvP?N$abnFYV^o]Ofcc~~~} ~}~ }~~ …||!}} }} }Í}{:F |!}0L@a3gQCHц TEO0Hh4"0rJy@a#/C , πk OI~CnLG=z-_lP ]R\f֗Lc4mˤ )@R WP>tGO5Q:P|41{~ܟ_CړGf݋O>O{/#7k^iI~>1pqGBf*S5EșjSvЅ8 0G. ̡o$0j)hnGH=`@aYV<mixc$[@>b7M(Ft,`X hPg}h1L?he{+Vf]@(,y=3Q5b;f+1R Ec|%zLK><p `*T@0@NHۄ. .&1<,JjaQWC!Ejx)8/A-=+@3|hA?QP}()"}@12@u ) @(pAK!j[+-QGFJAkL%qDzGXni0 dDX2y0+c2b@ڂŀ ΚV>&ԎM pb( iT+$`Q_>+]V> +TX8TrQbe'1oHE8[ ")PڙDV/x ԂLV0`sR>(HA] \*0UiQBW\/`Ѻj#XMEm-D^Dq\z3 bǜ+>)m >-:E`*HcTE@/cXBnwA ӕp\]C/xMd[@~uɿbx<`Zj02HN PY(N .p7XtWcD *X =2aF\](z(*߀5=mL{UXg^Eifi 0 0Բ6Qxm fg;@*yR"4X.վ[*3Uy!_U/!W6c `([ 2.F¾64&~ڰ*F[E Hٲ^zLؖ&(ɣX+4`y.}) jiPwLŠ6)FMt+A^haT?oL*XUNF?]C^ZyFGO3Os\<<}ULo~յPfYݰF lol<ȅkO36CĮlaa7f#Mec7}!91g20W vT/y7Bs~+3}0W.g}05 (~C=wJY~hHx9_'H~؂g; 0`:}a%ȂwÀ/1G3H/ XZ\؅^`b8d<ggh;Іgpo6uo(vx}z;}(wȆv8mwJ؉8Xxj؊8=!Jwl~xU A8ыx%ȸaȌ8֘R؍بht@؎8X$0ai`؏M|8PMq ِy!3Yg4H y "Y$& 9*,ْY'h4Y6y8:<ٓ>@8 1YF9ODyJȔP 7@ZVymX\) Zٕ`_dcYhɔg9On kyJqtsYxI~ ~`yx{I }~}pp@ygx9I>~9Hg9X>f}ЗJXiyg˩G?~p X  鈊zo)Ź X+ ߹x zϩ ?~}P%  @ @9 >٢ (4G3z`m>@rPF~#PR:TZVzXZ\ڥqC7)dZf(wuj(loyl7#r&!'vʧ6"aƆ!ȹU:::sj|!wککmZznڪ XRaw12XgZIQ VA@DQ꫌`[/.i?S*  ;sкZxHr tA.J r骋4x$HS_0Z[APB Cκ 6 / #;!6f1'u~~rA.AfpM f &NS#. r  4L5 T-efWŲ~`2[;! _/ pa\ f[eD @Lu @ i_qIJPPK[fA! v33D XZ'$ VfT٠I&g!a#a@(I[ P zJK'aAF1 Zr0AI2ڮNe%CFW 8MYI`  Tx, `I `Fa'@#Κ{oԐ//EW״A'<3܁`Be-pm+ ,3+ &': |. {97lܹ.;P! \ 40h “PI P`@W;Ģ) fؑ!ʖl,.ACqó[ p\rؿ֨z #D P[Xxy_7jF1?QYQx|\˶|˸˺˼j`<$PȜ̼cLJWԨ~*iJy|ӫ`|͏˧"6L|_۾ =NRrd[x|xnhgx؆fx}ȇHr"}7p"'qAu Ʉ %.ͰLS|5ڧF(897Ib#9h2S0V%. < q K$ JL#X7\2V̈́<;G+\#6-#1g"@oҴҐ8z At ! ԁ]"U~(ٸ5#t7+ըS]6c~tfP''/r1,\D C~;|r_CK0Q3O@3Q V03`=T]KQ`i`M m~Mn!8ֻ !@ j`q= "zPw"ʱNjs ܴ&9ؐ-⒭19~-,"9a*:nvNeQa L p4['̋.UF۽hRgc-Y_ZX m] *$`4  {txr%](WM$KVHѳ/2jLE 3`4 g I0Zlf`0(T;6~b0r%L+LLsTs9&x<*Vr^ 9EbKEc=K̞t0w 0e0dA!ܬK+0ÑϡwAڛ[79"m'7KT\̄_̴^Jmt- XՖX%un$%. Dn U U#0k7Z,PZI C81AIhwx3\Pp gP?V00h^Rc^tEnK2>m(Lq'i76W9 7Vk3[hM{`0<;ux>. {0MavdY2dVE/ cnsAOX8LUdIEs5&o_gZ C]I DtM^D{ 5n!1^P/(8/H u]Ő]nED^W(|||/&42|}.*| 3~~~ ~ ~!~} ~1}{  .|20+)|5 :"OA`ЂA"߽&h0 .=4 '?.Li&` @0?&xj'^~ ~$Sډ;ܹ=E4A;|LxE >VB]~j\A݃ '14\](1 .jH;DKQTP3uTI%\``BO00pOn&,C X7) NzaOvm˽.s缻WO2c<ʏI)Л4 x4~,N,@o'B|p]a;fG[h(8_ "Dx] hXv6K{xHDidJZc[=9h=)$yGv%PAJb9Nf~%9vZ%t%`J T@`:h6)EEJ]]):V@ x@AFt7֊"W*|Z%[hUnh*Rʧj:~k^ ذݪ:iNZ롅 U^Bk,*{v ߲ݬ&<.0(讼Z,v'ڛ]=oB<(: ,4l8< ,h HLYA@O14L4@k,8}@S,81\dtcDZN|mb ߀.n''~72Y=`gw砇.3ꬷGyY{q.dNO)gwԇ2o'>k o%| y?(UjU8'H :ꘁ7e l pz`"H8 eCa@ H"HL&q= (RXTؒ.z` (2Md<4pH:VC`ǀqx gt$@ EE2Wt$$'C("U.*Mr2'1P)Ib$+YJX֒e.qYb2e0y _ &xGu3 i>3μf5Ij6ș77aM49ult;7Ou4':չOwSg@N~B m'fD̈́ĨAQzv@5ς'hJ;PK22PKM%AOEBPS/img/cncpt334.gif+GIF89aQ,妦@@@???ӿ999򠠠 ```000___ϰPPPppp///rrroooOOOUUUSSSGGG***:::>>>ddd|||!,Q,CŸ ˄ЃԂC 9_@T0A.CA-NX!=ncH!ĸdKc 2kS 3} &NF{& ΣBETiUWڔV_:+!G BSٴkmܙn[]yܗ F\ċ!;Ypeŗa[Tcv;gStiѧI6:+ڡ[v.eߖxp W~yrˡ7\ȍ#8wͣ(t€y ?o <B W`}w"ؠ2( PiHy8xa#xb)¸-b185xc9=&LJ6PF),MiXfI [Qi`)f-\ih%eperixBg|矤&j衈f"9k2裐FzVj饍H %LJ@%骬:@R $BA"""kl80P H@0 ptЀ 1k|v 0+jx*Ȱt ;kZV3<D   B ⰸB 0ĺn0İ:#1k#AZЫK%?,D @ DBĜ.m.,9J=fLo>o+oу mrZJHH !l]0 b,<֗g>,!X˫+ިw#p>[౮v]v` #S<uǹvp6Hw0g[pԏ:6ll31__o-RWy=F~P 0([(IVU!5DLe+IYX/ l}jטE5`XZHhp>Kg8'ӨPp@>P[ H g*_*Lu45z:R8u xE)YdL5j#HIix>1M hAP*$"-ٰ$0)JZ2$,0KzJgœVV򕰌,gIZv$'>4 LAf:Ќ4IjZ%.[K`S" CPLL(mh' Ƥ9uӝg.9z6"0y&vv-*$ XP3i *@1h%2,J;%^QJ\(\*i5Mqq1:M2jjS6uXՌVUzUNXA"+8kZ/uo=D\u #Vu6T4j` V4sO^6K%nqm lJX>}\,EWx2&xZџ$Hvw+}v2))#E{^S]RbS/i[) `ZtɵD_ KIe0:LJ(A 8Z¬-+<%VĈ*4KFS  -V < x`-FG dJL+YPUk! 4 $$B1fAy pHTB^S(c>Z' n(]V-]<[XB T u*HUPBaf1QdƲ" (SMsBˈP 'wzi$^D h&A@JD=d gԧprir`ŏ€=0kA$"f]٭Aл P .6D᫦f%5P+;A ȫ/h% "Fù@B)t-'+`xt=@|8U_Pg<'8 >\781 Ԣ&VJW{$(=uR{@P,o? ."pl[AzLה- JJF7[gBJ P6{8:<۳>@[:XiNcʣ/6h ZV{XZeE˥Ɉjڴfu~P[۶nA 0TC) |il ;n+%g/ owʨ{{P էi0p۹6 ^{& {e)LJŔ:XtHZp ژ̐^ʬ*z ƊZ 崫ĥ ͻ :ȭU:1JZ1甆KZ,껾k 99/R(- [ ZSKp1dgHvF'; ,ubIb~ + ;&|(*,.,{$ 2 b>@QsA÷Ƹ&-+HO+irWYi4# T&V\F!E(ÂC^<%=Ļ0gR (BƲdžK@#f&Bɪ d#ALȅ`Ȱ@sEyǍ<&B ` L ƀǎl\ $, , ̴L LʸLR̙ ü Hl8 ,&|ʝǼ Μ|ÐʴrLUBQh̘a͹<Ô RʗSPūUM+l &L 3|&;@Ĉ] %  (S1 |&!@)b;ȎP¹Rϟ^є1'i@1&$L`͑5v\ :%<}ŊFgҁQK 0YRfl E3Y+'K HJ PhqC Kͣ sl KT*b*cNP Ϗ -} j%l 3 [m٪+q Is24UC0= }% zA```}m40+4 Y1CU|ؖ*{>(@0#Ɛ܅0%҂00\؍ dݔ3Im Ā M[==*s/- P1 M@pIPn;nEH-/!R0^1 '&>Y.2|wϼ(. &%Ј#],;)?NЂ0 津G#P䥖t`ke+pNSF .;/K,z*:>N&CVYDp.zhN S=t6i^shXS3+X>ODw`uUl椵郠데.y]R|mڍoWgXWOf_XւMPw}0F\`@/_ϴ.NƸ>Y%yײ٘/$n@t7f zVLppr*g-r*fO,—v x`y9TZ.R9%M-D#؍@+'t*2Ӎpp"#(|&vn$0xkwLu}f— .Ag5?LPB~*37V2}D1q}pr.yXL+Ft %1ho9ê’@`4S89dދ 1>d3"&[hWg?9qvv i^WoרNɏ?Ņ"pr+&zm NCw@Mp,_9+BCB  )B"%$  )C "C % * % "*B(͂B C ǃ Hބ,`A5`!ĸ7|sǏ-|[TRp bRC4p(@"QbC񠪂G  pʙ5W|B"TTA2(bȯ{YA mABʝK]g :@XhȖ!j!qF'ԟKwZ]6P0!Npi ְc˞M!W㈍CHN!X!CYxk'z2ȳ!DQ`#Y-мCB]!LXu'{ hGhy&z`k)ǜ=XouG8axh≬1wd b#HWW= EHddP* ߕLtCjGQ*^(߅0FH ֟]銈X¦dlȓU"i鈍H;iLI &|"9H> XZV`( 5cg">"jZBꧫ#f^2E@P믏*(f;[!.٪ \ Li;={Dmn; k{/{W!by[,PUZ&vzG,1uV[kW7)8( ֭ 7g@ )$S @-DmH3(yA.|B <3<0\w-yP,5T[ֵ;D^6Ac'P ۀNs[\}C[ . !{@Z2;C8C0fN0Pj@i AU3 o(Xc4AP0+ dL%ܧ$'.ro觯o~d/D! 'f7ܠ H^~v4 bH#TF 6vKi }Pg@[WNn ؐ8w@ H"+@NTE8G|a3d.v0d-x\hL6pdcAF%0fcA>6H IH1.md!V8:򑐌$$8c (MDSRƌL*WGJZҔ#"%,gI~%.w;%09[;<2h̥T\4S'Km{t4MCaM8ljo)L: dN6sC =ˏe;t:@:a`,ʚ614O|0K1F`? @!@kӒ>O+-=?RU4`jO BVBF-i4Ee?ljʨ"Ge++EV<7v}ۋp?o% yB#8л铯r|<?iz>Җ)Oވ`CmDHϪs !`Fc}jI݂:86٦;O͢LlY=Y-_o(ݰrX:14 ].$xeN.s>|flq3.. qeߌlv-E>5PLy sScUcO%(Bʷ@XGi"QJy*{kv`|D|gcGo=xw25jFz{'g[ U&elb_6MeR($j L@-Bl(D\tƒtL<\|Ȝʼw J|ל˳l ՌΎ,jDƐ<\|\ϔΊ|=ݷ}Юci n=aڒ^ݜ$"= !=& %}*m). -ҟia2}"8<["Ш b@E}HmԎԍPRD=CPMV XH֏D-9A֍`րn ec}smkmMiuw y-{}M-׃؅؇؉=;-ٍ C ;ɬԚٕٜ}])/`ګڍ ۉ@۶= ۪ۻڱkڧSܪ}Ƚʝ̽܎Eݧl -ݍۭ݉-MmCK6M-˽-ܯ í M]}~ ^#"$~ٍ+0>㧜4];~8n㨭-Q]qHEFKM.O>QnS'6\[^]aQc|e^`^.kmno.qung>isndNh.Nnz菮C@E~`鎠 ^H@>^~;PK|_p$++PKM%AOEBPS/img/homepage_small.gifGIF87ad̜4fdfڴtܔ줺섦2dd2d2df44dfd42䌊tƬάd¬䜲Ҭ|ʬlrL<>dfDLV,μd܌t||\ҼZu,V/qJ5R3p5ZK;ί=./6T8eHkR!nvwqʂ\!BܧtmV0.E37 z4p=>dP3 5m=W>`aùl6ڣq]vr(ݴnRyh<3;^uKH3 oKo7Y󝋷 Npm:^}Z첋rSVhdHF)l)r3@ Ra"a,B^Mk[H󕯅bC?8ġ#P]{ Tj=aAjxn;DxK;k yiDO\!I@,HJtɎ@-̒]ʒ%5E0hJTU;bX {;q]k ƀwZ5pK< paH(O--|'o6yLf689!2b$ߘy[ s|<9vV,%Z|FLcCuN#Ϙ)ƴ3]iOyg<:ԉK׿47aTъ3}WMk1۷fGx 5HX8Ґi?%sfOЯVE.Okv[wc<{w]i|{nt;ów:"p߻8%~n;l;N 5Ai@4A~hZs6~۸&lmSݍsc#-oD?=Å F:-﫫U_,աnMϾ}xmzr~86ΑMC9Nmi\;gQ+=3K}̜A fD|xN7r>y3m7CxS}ŔNݯ} / *9z{Ȼnuvį?z=7{S}C{ug}7u|}|2|x|G}}g^coUrߗvw~'~'ub灐~t%vgqWׂXe|1,r>gx:r7x71{;v'gOj`6i:腓_zbG'j6o\xvw~lh^2t~k[炕j0Xtzi&&{vhoWVGjHFXGchZh lҶmRDss }H[؊Gf{cy؋Xo8XhxɸhX֘|Ezeb8YX明}ōya8X=?Fl؏yŎvSȏ )TQV9Yyّ TS$Y&yBS(,ْ.*294Y6:<1ٓ@Bٓ?9FyHiELٔN9OKR9TGQYXZ2WL`[9-ٕhBlFpr9tYvyxz|ٗ~#9Oj9ٖi1R٘aim_{QЙOfGyl9˔dXDNMɚʤY `X.9Cг)<998"%BDBb4; 7P#\)$)Il/a*W;!Cd fPwk& vXС$ib>1R&"T))1H`@L=z=Rt)/!H ;"6@žp+<-Q4D[@) 5>C!2`GѦrjxʦv*aFѠ_0v9G$Z3(*ڨ0!)C?$%jX#7a9cbIdJD$#"IK)Z-QpZ0ik mڦp~7?!xwJ|zj )R99^2!ʨ( 9EڣVc4a%X2"0)T.zJ9j3J)(3CH0b5_:CB30) |تx(*}%˦j'ˬºf-#{@l0zPCۡʛĭN =P'jQKZN{Vk#O##.:&J&RWSg˯j3`*9_T#V$c+1vkP)%#bq/AK4}Z@z";[kIy|6 [;$;(ͪ .9lY𡆪ĴSI.X[Y O{Y{j;]#3~; kC`"s˸.0A.YZ*+)#b=4wVzWWpWx@{9k۹{k*g۠ji?XI8 [cbY˵*,/a"dA# B1ôڽPbt{{]󯽃E @aetlt{W>PJчf31ay j<+L>;ud0ȃL9QG˔ʋ+*˼ʵ;9.!һ=YC%L<@B%JPJk9a4a1C59| v;Ň.Z.nk)V|ۿȬƬmp0Ư[{tlެ|yL`@ȅ\#W&(LQ6̼-3 M @:B#1!)t(˖/aA$C L$*$!)ڡPԤH\hŒÜ8:мVc:Qټ LG=ap| G<<ȼ+Z9˝s9Ln=p]+8:J@Z7YׯC-53 A\"^ةt*.VH2S>gMXGIb>d^f~v9YM1&Z?PnCl^zn>^ZAB5q8O:>N;N~Ch:^~ꨞꪾ.eБ^ʴn~CĮS^7žT^;r^7^؞5y~>1~O˴?>~tS._o.  ?j-"_#_&*7,01?4  T>P3;ߟ@b@?3NA/DFJOQS;5Y΢č; ,/U/I!E1E@B@ko>;ؑJCa<$*1|OO ?J$Jmܹ; @cv#ʤ)B|7C?=!B# )#B#J%o##;ODc+>DʗO-jC+JDN"O--BƯd" 05#@ 8  !AD0@ > BqC #3nrN "HbJ9ETi>E`gNVhեZУEVZmݾwV\hX+CFEX1 )k_|b\ Ո.01ݯy `z]⤻Z5ŋ=-_ͬppkҗ5ˬz;'t_nkmMY9GJd] M[ꇿǟ_~7 =VsH/<&o j p=+˷яQ#w0HBҐDd"HF6ґd$%9IJVҒ#INvғ&A9JRҒ4e*UJVN(c,e9KZҖqK^җa H3̉nLf6әτf49MiEf6MdvӛD0cLc8A:չNvӝgOzӟ0uILrӛ>P"A(C%:v:4hF8qC(:ґ  )IUPjԥ/)ę;ӝ@#J׉*$iP}O“%jL:UeM K_gS)֕NT:UJmZi֪ծwEUUmpXS|*\{T|X6ma Nհegd:ZUk_K4kec+tK]l[Ǡlg-Yvmi\61tgy޶,vk[ޖuuzʵ}p{uo7+Fw[\Zܽn;W,hk`spq9_7"#\_e0.T Ux,efR]Zφv=mjWArrmnwvqC9wܤ"%}=l{)fj>*@;x>pGxyp'xޟu{ 󶸺ѽqwFx|+~W~𾋩x9g6?mVr_=7ΗtQe#%DeKs z>vȌzӡmfsp{>ZN}-WGs}TV{Ecun{<1F4?\@BA8+LD@:lDD3$1 E=$@܏;6K$DCäHDR$EXRSDEXS[D3DNT;D>$FEH  \]B^ܒWD Q aQ4kڀBetFc_tEp苾^r{+%qiGFZ}~Go4Et2ܻ=+=wG-y4dBYhBOHĘh]:Hy쏅lt"AEH0>#I^wd0IAIIIƈ{|躥7sJcGܻ;]ʬJI{LõXMhOd\҈nJMB.5ԊdN=ZSET4$YSU>UoL8pi8yeA^%ˇ@'GD925؁0X8587؈Hv ؁8C<*%"Yt)?-fP{}zIswmʛD Jਖ਼M ?9EڗE uڎ]P5ڬxXA49ȃrڧ=YZ9ZXڨCڝRZxٽ5OY:WoUY)^!Z,xس][4Gu+Xt]u+ݴ[s+%]X=Mu](޸]4KUMy\WzWAQPEO^x<\Kل=|3˃%߳MM ޤø߈w_(u_}Y%x5X̃]xCV7?8\2zց` WM} V`৘~eX)܁h[UZZ[`Z5V_%\۴9"ߦ &ܴ7?H✨aa\u\\^   f^FEV3a$S[|`\^]ILӛ̒\%ߋ;P`UdD_kZuUG(䝊[Rby㩓}(-cEceSTc1ca$a59?.Jtb*`LvefWdɔifwn&<]SffbJvdd2[eY+]Dbe\LE8bEҳh㷠cAm|h}&V P`>G^@}:xښC~f؊&lhŸҥ]U7N&cfGiN`ix|.7s]݋"vn ~gT]ȹOUUf]\cSE\Tc=RH faNlhځ3RxX }~] kZ}[J[7^ⰆRljq{؃-ܦUgQXc<㞞g =k{FXrI%~W;F m 8vϫcCdOc^۞ZϽx4[[Drٓ]ަؽH-m=ni߆RV[ތh{vF8eݴ\]VmE&m-=nL>Vn&}vW~glĘ)ĥ RinN~mvH&` 7qOTڴMx^ȅ頮FꅮN&|>pOePmPq;LUj-rWܼʩ r`=GV$gH%3;'?qdsm>l:GsA;;osrQ%Y<7N7S=t dJjdu8/L/VG\+gu\v\/?u_lh>vfw;'VoPu,'u?qʕNӮm%qYUKovhv.nѨl.Yڧ_ z8w`T2MM8 Wo~чNƸfsN={4'Mw,w{_v_5f<ٛRܮyd?Vwg'Ʒ=OE'Rm^B)s]gj7Dubovz^_`l'>de)7WЎjYTSF]Ї^w'[ (h „ 2l!Ĉ'Rh"Ɗ3^T0Ȑ"A`d)#LcN|yʖu,h'PA(ғJW2esӦK*grhkA[~a m붫څkΜYyK/N藰#* u*d <t VĂD&f>@c!Xd8s]Knݥdc X^"H^pݫYs t,:DŽ#j_ yBDžC7C*w2 \p؞ COyŎ"~# /`!OxA iB}N\q6+$(C)?y{GE+"!1Cc #~Gk<%0I &"f^~"tjieAմf'br975"7Wrh,i09ҌYssF9_3pƩL<ӘC/Ѕ2hPFZ09e&NqeІ31ѕN#FK0MHIp'LIQ7gN6G9S4>iN}NG5eDjΦƩQYnn}ҙf[}VW՞=K'jtLM$=5C4*DdZeYNv0ߴQY_UT˿*Rk #S$5]m,!YOmp۫bbM)G]t;8?mLOMQ+9>"iT/[u7͍DW+Uq:Uu+rF.UWOXoj묳ڛ88unv7ye:Ȃ%Ωx̋GM'}Kּ&[o$Ͻ0_x]ЇLU.MvrLT,1%TrI4¡1VYƧQek+g.?uȉmSY}Vݮ|ͱȸ.hgŒ%t4!-N=oZNf~]64?[*QԦ.rUծ~5.hy}..ajеEfB'4z-|e3EK^ub C.#y~<%ǽ,4N8#0m6f6n#75~#8R5#D#9#:8#;;>:<#=>U<#>> =QЌ! ⥇9B.m㹤 lY"saDCn$GCA<@ E~EFfuK$u|dX^HLileڟkObwc$L.%S^ EҹLوI$ e umYI`S%LdO ^&`(~bݠ%`rZ +[JbٗmW~&WjWBf.` "XM`.c:Xj qecnlcgaڀ[^!iݍ'(%&%ͦrcm6a6IJfo.&1Y a"N_r>r46YfyBgt#|Ƨ|v#{'8'S}<''SsQѕЄe&(̾YȄƄHBLU(*Q$,:F̬J!61n%Ũ(2IJʯd̈*M ՈuHWE Vv&X!&`czQ^͜ *Vf鱹ܖdA^ &lW}V)ٔuX)pbiP4, H2[ک_b_6fzؚz] a&\~Q"Q aBH˹H%&*Va(%uYe观*v꣊VF"^-Rs`2LMn.**,h&!y>( 쑩#uD]j+:ػ)f*]tnR^b+ F+Ē*fʬ؉>E=bhiĦ+"#lo߃+2_;\*,*&_݈+Q>!Nm%mjξ,jkz$Jmf.E(,Nkbe\ȈVQa2ul :"B*~_+$+.0%*_Gʮ0m)dnla6Zob!Ƥ2N /^/jf/vo7mnoe~:ZIΔ~"/00'+0Dįy!o0w00 0 ! C8o`g]q&/0{A 010 C [u%xP%Y]1g10wA11$qSr%>qtPg ױqn# r r  1PAC(~K P1(mq!wp#s**2" 2@Dr_Bj*q:DH(re,@1+o4K!r6K36ks#6c755s3:3+Cs67wF M0k1ۊ$2G3W6/r:#t:sC3G+'_lfzo:k8:`%o:S:::ﰬ::w;;';,FC4C5go{ƷDBBLIME!C0A{aT{+C{SUs{CA\I9@C{S| ATX{;W@A`g˿|{į|Bt|AP<PLtϳK==KA\D;D3=Gh{S={A8{B|S;JɻcS}C7?GûG@"/}}|}ط=g_=3~߽~3?sG}CT@S='~ʳC{k~C~4C{S>= G>"?U忿?@`+ T&,4pb0𢁌7A 8/aƔ9fM7qԹgO/XaE,H!#`H!JykGf{J.}Um۞}YbX %Th!J.VmcɈ5P!oȗ.[ /k旞ӯrQV-du]lY1㫂V0kfl A*tӧG>:ЃB[0](/̐x .-V}V gOϾiww+#8(##d& Ac˨PA 3(".J&%-P64ûDu/r2:,)JQ;-?ռ+(X`=+2J1x d\A5+J\1#?urJ2;&\E*P, I)NH;Ѭ3A倂`RG 3*1=0>+mu/SKO#LQ2MrqkE<ݎTmջJkD6EKb nUXnJh&m$Y]5}p$Zl7H-ۋ8Vcɠ ݂5@oݕZ썸-XQϊ*ju̵ Nb`21ޓ=TjC""8Se^N:g>曡R8΅227]"4v$ezg&uN&(ͼЂ`"xz x@0) xz֫VN[Ɲ\. z8rP2Z;+"oxTKqrjۻP:}t;@'.ςz2"z{2|?/H{??j5h}ړe~_?_3>^TGhu t@N0:l$HkPAB3ZB-t aCΐ5 qC= C!E4D%0KtE)Fф+E-n] F1e4xF5mthE8Αu4摏}=F/!D&R!#HGB&"FI@:Hb t> rae*L9Z^)˞Rkdj IIa6R4d(oydNj$c3eeT&1j2?I/u)Ko::$djI^R.6mjȤIN/3&5Oycx vxL^)_~Rktzz/ŭ\ZaNMr&Ɩ5yNSj}%uCTEwL3&lyoG-ߪc&iNnhV9ݣn[\Z%{7^ܸ{{Z%+ߏyˌb.p:cȋ]SCMּ#j-rry g^wد5<\x*ӗӊzҸ>_ {;]|9lՓ*NZ67_V3ϳW~zy]Sʔgn ks[|8~s{ʟ;]&o ЩH-VJdkM8Nϔvn!OBK`no9+$P.Ad>GΓ_RR0>w5JA$u8 P/S M5E]R:!tT7PfZS%Yː[sP=uRFkUgU*4BSB.IRW1AAߏAL- Q?5s44+qKL< k*kr`1Y1.J&c59VN͕NjS:[W5_ _Atrgm6N 6c#b'V<&).qP5F-ph רMhh{fse:t8@ag16%wt*!.m8jp Vo+n7r%Q'7s5*ws =jS!G 2h= t6Dsa,w&$>'eG` ^7v-[,uv{D"btwNl;wE$ax7{}2Emao KN3yyyu 3!PMR@ A!` (A̖zP+Iuח\AtHTON]L[%65abrw T][ӱ8@ @7 "7W>&Oʶֆ:BQNMRA& !rw98}}V(Q{plk~B 5j8yxzEWCK}8D3s-kZV&3x}+1Pt fRv*IUפSx?!G7 Su"7.CXV#XJU(cj79<1yp2w&FULR?Гj `i7.9+8tLJYyyhXc)dI,k+7aW3@!~@ݢB1G?U\;Z8aq|T4A(tGϗ-Z̹5\ Z-yQTq'Y*k% ҴtcuzڗX%::W:ƒځeZK DgH&!QӴ"{,e-R,XĤW z;[oɺ/Nln}ڏՍ'[Uyv!;DۮTRC7y=ϯw8`VKc۴}-cSC?5O313R?QvWo_U߰Fyy;?1›79pCg31Y pK5N'*M'ƻQߛe9ZK{kCuALEԬjTجq܉ /<1(GʫA.4W5ZJ%pƩyBSTŵ6iz:pkL[5:xT÷UW9PܬSTUi%ͧc'um[[B NJϲk{뼵ZKՊɑa3A=\|l;miISL4/|KdMmkI5`GA .T2:,sZ1|sb֯iiڟuqn ڵo=ȶJ[f;սED|{5H=нs}Ϧ~^({=ǚP)9͒Ѽ)H~ăRJ~U~}C~^q}uEܪ[vv=p|/(/ Ƽ|vތ+{NSV!<^2RҾ~96s3{ȗ?N#vB> j1 W7/?J ;qavտ͜RX3;_ߞ{>j(5?^XKҏMQ;Tmܞ^/\R35;g8߉Ͼ|_?%o^ ~L]aNHuiۆ~b"Hb&*wus.*Q'Hc6ވc:bfi2HdFdJ.L> eRNIeO:ieZne^~`Ifffbfn g)gvމgpҩg~ h;)hhh> iE1*i^fi~妠Jj(ꩪj jJU֊kѭ l*l ).ly*lNK&^mW&m~KKnkn  orދ/oFRl@lpH4dO-#pt@lQ<@q&cQ`PQsΠ[0!`p ;4HЀHsZ'DpWp0#7uvkR1`I@UvdMx#MݒOn}pFK 8Ÿ30X`pPzgZr~K$;}F#͸D<4ɮOEq7#~\|o+=Dx9U}wSgpQXd?,@'9MmW{HXů)a/%bp;&I\ ( Op,l _p4 op< qD,$*qL4D>((JFP(*bq\0Zb,+C3qI#u$ "x#(#q|@ r,!A #hL; 1,+8r 0$EI`NH/aP+E`b&O+E$bЃ1@0` H ԥx_IpB1L0 XC3seKhJf,ףh4"yL=؁Xg9ɣ 5QA3,%=%A;gFsPwR]*J6—X >RӜ ^ Әt1UJGPAjP`S'2:ٙKAshsGʗTl@Ɇ8YϊִR ҷrdBrSDԨh_M큏xsdB(`cazd҂a kgO@CN} i6rmwzT&HHQvbD8C`5ظ3EIQg$ҳJP8df! $^\b#لw#ylU]+^W4hAzM Y~۬</z/ܺJQjtˆNg#T0 i;`^e=AMl\;\,QIAyo~'G3qHUKؼI~RQK8>kcg]=  lRՔO}bf׿j&Sz2(8 W(*Yd y]b+r Bb~5z;41^M}jzbRgY}% $uhJ FIO} TU^4L1A}E,x VO| [ q ah:f5Z=ZnF-CT,[Zv6m+DŽ+<Ԟ mca9Z!\~ɼtԫ~_z@3Rv~=dĈ+/+oKԯk/Ϗ҇(Hh Ȁ (Hh(D?(4#h'C%D*-/1(,Ă3h15x*ă=D?ChDBxDFHIKȄ#M9 PhBOhtu{ȇ@}(LQ5#.Dsh*PB!h00PBHPhD艙Hh>sBhCKĊA0|pX -B4S4ps8*`  +؉* DѨȇ%؋ӍCژBȎr8KI't,d%+`B).8F++pX)80CH"ؑ:TXB*B2`089&t30$6&t)3%݈0%3YB-S:\D\"i.p:C/@{0ikP,`-tĨDR"| *L܃L'1kɛ ɛ ~ʩʫʭʯ ˱,˳L˵l˩I˽˿ ,Llnjɬ̾Hy,lԌlV &lU,<֌ϟ d- YG=m!-#M %--Lq (]/ 3V26M9;=8ұ>_rg]$~i:_k=<,vqߒQ^gu Kk_Tv N%7^h>gR]cNM]"-{G}>).M~^舮}n~n|I qzMN؍5$dFߜsnmp^WnmN>߼^t悾 =z~n.֎ێh&곝%w߿[xVN|s: >g>o髽5~>n_>Mu^ 4QHU.5v~αn>8Er>j.mh[/^i&e]_̍m2wV=FE@ق tD>iNϰ  /z}]7aD#^_˞#>oG^?o= u s' 0 DAH5n G!E IB@ $G0eH/eΤY͏1qO4u9ў"*ESQNj4CXn91Ea&Q5hYq}•[nջ=~_&\aĉ/f8cȏl5V\qΑhE ˑQfꨰ]klܹuv2ܙ-bY̳hIX[ણO{ܩuٵo.{wl.>H@+i\ǧop~<4"3(9k).B(B 3tPC$H18K -,Ec?ko@5r 2HSQ#s%tI*JvGk/*̙L4򡁪l4ҒˎS;' /O>O!6)shJ?%΍̤JQ-t'G|tRJi6%9(RҮ$TT4SZ8;QT#U\{BU6aMSYw52Oe}m_1&4Z[Tv\rQSV'Qp{j7r7^z\L[UYiSz55`I}E~=E R#~tץb0fM[XKeCy3KV2dyfkfsyg{gzh6hVzivizjjmk{l6l..l;jm{nl;{{o| 7Ŀ>|qwq|Dfr0\r;{sC}tA/?u 4=vko;us|"4 >7*;K~O"aQ~G({>tQ|.Y;ݗ?,O"2"_}7?T/ FW@_(aU$c " B/q*(An+O%sܰʴm暚%g+pyZwU6ALN0U=?u{ ݹreWRZqbc]z Dh]/b-K_B~OVe} .鍤j3U'8 Fg!աƘmz%%#حvsͭ%#g͋fb9YǕܲ+uͯŋeNIMJ"{ԏdBVV5]:#I-s]X͏Nfت &w0zV7yˮ'`ָҨe4h`w{ܑ?[M5 +oߟloF?/~v,(ł' #շ<-ƯKWfCu f1f9?llcĈW}5 'M]xk=nNAl,HҿtkӁlpצ}hMV*o&=Gf;UW%8kfz-{򰇼ޤ_|api,x߶Wr=O[6cw?_8kzpƻ#с?2@\A@9h9?H l @\@ @A@xA!4d[w8@ҳX » 4#!YB c+<,1r6AS*YB2T`-*C$(,I8E+,B*,M=2 DÕSCC)t9{?cl[+A2j(-:+/1,A[3X˲1H|6E3伌@{p+7܉‘ :74CɑK:b|)Z:,wSG@Il{IVSJTOT\*:A7=T`ӍS1u0M Th RVuUXXT*N]V}U> VuSYm*}[UiV!*U*ETTU( .uV+k W7\ՈpTKSlWq%*Tf]V*mjWkR>-UWg T| R1mxXM gHev5X5Xl-Y0a XY̱VRuSH|uSd*uz s5YtY|Sb݈(UXMZnZSZR̀ (XuX֠ V XJuY5٥-UXwS9ŀh:Z!U.Y55 N V%[E\|u5g-YMS ֠u\]5 \}XUuҽR~mZhZ}gw}oRܽT TsM^EZ;ؽV]5Y ۉ-Y^ތ[`Sb8_1_ Wh]^8Z V_%3 -`>`^L`~`N` ` ` ```'`.t`Na>^a~`a^aaaa>a!ba">b$V Nb&n0b'b).%b+*b-,b/N.b10c3>2>c54^c7V6~c98c;:c=cAvZ޵UhU0 U䌐EAd,d=dZDXUXIݍdTd(N\Edyؽ KEISJNe]NLNcՠ]զ^FN_W%ק`Y[U1f^SkUs]eo UN67 `ފh瑽^[=dfJ=粭UWg^FL.U8\vtn؉`ׅWTtTY mNg\ג\lm.iT,h*RnMg/ueFܷbMڢ ]iJdTimip`hTLXU.E[5ZV[j>U.Ih铅Z]\S*׎ܱ~\fۤ>ejV@u=}v}]ab5٥ eW>YknS枍j]-f_dgelamצj~fviˮlqYmn@mfߞn.Nn3 annnnn]nom. oNDonodo%oooooopp/poOFpofpp ?Op ' p pǾq/qOqaoqqלqq?q r"!/r$#Or&G%or('r9Cu5e)0r0?CMrɰ4O郾ڤR6D^84Ws݁'dbs8DsC!yH t0 DEԊtJO^f53K$8AHN1R/MT9NX,H+kI:tuJvtm3۱ÁuUGlΘavi/LlE"eku8t]m9wng9a vb_dj?uoʧEwIFzsj'6!4ں.uGRx 0VRw1vm{+}jx7w.Bxw_ko 6G3sv7IFy uH=/2yHɣ'WsD7ə*\yKzŦ#E̞xtKэAá'_73e 4GSyŷ5!{4Eszz\z4q;ʜ}n4K#tw8~?3i{{6 ǣ} 1l;k {[K|o\aqY}̟|/دJ\D|# W `3!گ}O}|u{Y$eK2٤OB%HJYWb[r$]cYgg#k٦ogn-Yw♧{٧Z"2ڨBRZb.;PKtNDPKM%AOEBPS/img_text/cncpt017.htmV Description of the illustration cncpt017.eps

At the left of this graphic is a rectangle labeled "Parallel Execution Coordinator." It contains the following query: SELECT COUNT(*) FROM employees WHERE phone_number LIKE '650%'. To the right of the box is a stack of four boxes labeled "Parallel Execution Servers." Each Parallel Execution Server points to a rectangle to the right. This stack of four rectangle is labeled "Granules." The granules are inside a dotted box labeled "employees Table."

PKߤ[VPKM%AOEBPS/img_text/cncpt297.htm Description of the illustration cncpt297.eps

This graphic shows the following partitions:

Table Partition PARTITION_SALES_1998
 PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
      40     100530 30-NOV-98          9         33             1       44.99
     125       9417 04-FEB-98          3        999             1       16.86
      45       9491 28-AUG-98          4        350             1       47.45
 
 
Table Partition PARTITION_SALES_1999
 PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
     116      11393 05-JUN-99          2        999             1       12.18
      36       4523 27-JAN-99          3        999             1       53.89
      24      11899 26-JUN-99          4        999             1       43.04
 
 
Table Partition PARTITION_SALES_2000
 PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
     133       9450 01-DEC-00          2        999             1       31.28
      35       2606 17-FEB-00          3        999             1       54.94
 
 
Table Partition PARTITION_SALES_2001
 PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
     118        133 06-JUN-01          2        999             1       17.12
      30        170 23-FEB-01          2        999             1         8.8 
PK+4b" PKM%AOEBPS/img_text/cncpt275.htmU Description of the illustration cncpt275.eps

This graphic shows a horizontal series of white blocks. The edge of the left-most block is labeled "HWM at Table Creation." The legend indicates that a white block is "Never Used, Unformatted."

PKZUPKM%AOEBPS/img_text/cncpt210.htm` Description of the illustration cncpt210.eps

This graphic depicts a data block in which space is fragmented. The block is depicted as containing 7 rows of slabs of different shades. The 3rd and 6th row contain white slabs, which indicate free space.

PK}Be`PKM%AOEBPS/img_text/cncpt228.htm Description of the illustration cncpt228.eps

This graphic shows an SGA box containing a Database Buffer Cache icon. An arrow points downward out of the buffer cache to a DBWn box. The DBWn box has one arrow pointing to Data File Body and another arrow pointing to Data File Header. The CKPT box also has one arrow pointing to Data File Body and another arrow pointing to Data File Header. A CKPT box points to an icon labeled Control Files.

PK! $PKM%AOEBPS/img_text/cncpt236.htmB Description of the illustration cncpt236.eps

The figure illustrates a traditional two-tier client/server configuration. The server comprises Oracle Database, which has relational data, object-relational data, Java stored procedures, and PL/SQL stored procedures. There are three types of clients shown in the figure: Thin clients, such as Java applet and JDBC driver, Thick clients, such as Oracle Call Interface (OCI) and Open Database Connectivity (ODBC) client, and Oracle Forms and Oracle Reports. All these clients connect to Oracle Database through Oracle Net Services Connection Manager. Oracle Net Services Connection Manager combines multiple connections from different clients into a single connection to Oracle Database.

PKvFGBPKM%AOEBPS/img_text/haovw004.htm  Description of the illustration haovw004.eps

This illustration shows the components of a Grid computing environment.

Several database server clusters are shown connected to one another though an interconnect to form the Database Server Grid. The Database Server Grid is then connected to the Database Storage Grid—shown as several database clusters—through storage switches.

End of image description.

PKF  PKM%AOEBPS/img_text/cncpt254.htm Description of the illustration cncpt254.eps

The figure illustrates the conceptual view of the main components of Oracle JVM and how they interact with each other. Oracle JVM consists of an interpreter and run-time system that interprets the code and store the native code in the natively compiled code area in Oracle JVM. It also contains the memory, garbage collector, and the class loader. The class loader interacts with the RDBMS library manager, and the garbage collector interacts with the RDBMS memory manager. The SQL and IIOP calls are routed to the interpreter and run-time system, and the loadjava tool and CREATE JAVA statement calls are routed to the RDBMS library manager.

PKu%?PKM%AOEBPS/img_text/cncpt253.htmA Description of the illustration cncpt253.eps

This graphic is depicted as a large, downward-pointing arrow. The arrow contains a stack of boxes. From top to bottom, the boxes are: Editor, Host Program (labeled "With embedded SQL statements"), Oracle Precompiler, Source Program (labeled "With all SQL statements replaced by library calls"), Compiler, Object Program, Linker (pointed to by an Oracle Runtime Library (SQLLIB) box). The arrow point to an Executable Program box.

PKN氶FAPKM%AOEBPS/img_text/cncpt239.htm Description of the illustration cncpt239.eps

This graphic shows a block labeled Employees and a white block labeled Jobs. The Jobs table contains the job_id, job_title, min_salary, and max_salary columns. The job_title column is shaded. The Employees box is linked by a crow's foot to the Jobs table, with the fee on the Employees box. On the bottom right, a shaded box contains the CREATE BITMAP INDEX statement given in the preceding text. An arrow points from the Employees box to the ON line of the statement with the label: "Indexed table is employees." An arrow leads from the shaded box in Jobs to the (jobs.job_title) part of the ON line.

PK]PKM%AOEBPS/img_text/cncpt172.htm, Description of the illustration cncpt172.eps

The image shows a data warehouse with metadata, raw data, and summary data. Data going in to the data warehouse comes from data sources (operational systems and flat files) and from users (doing analysis, reporting, and mining).The operational data from the data sources first goes to a staging area. The user data is separated into lines of business, such as sales and purchasing.

End of description.

PK5.1,PKM%AOEBPS/img_text/cncpt282.htm; Description of the illustration cncpt282.eps

This graphic shows the redo log buffer as a pile of slabs. Slabs 1-3, 6, and 8-9 are darkly shaded, which means "Change in Data File." Slabs 4-5, 7, 10-11 are not shaded, which means "Change Not in Data File." Slabs 12-14 are lightly shaded, which means "Free Buffer." An arrow marks the point right below slab 3 as "Checkpoint Position." An arrow marks the position right above the top free buffer as "End of Redo Thread."

PK/@;PKM%AOEBPS/img_text/cncpt075.htmO Description of the illustration cncpt075.eps

On the left of this graphic are two boxes labeled Database Applications. The top box contains calls to fire_employees and hire_employees. The bottom box contains calls to hire_employees and salary_raise. On the right is a rectangle containing the procedures in the employees_management package: fire_employees, hire_employees, and salary_raise. The calls on the left point to the procedures on the right. The package is stored in the database.

PKp%'TOPKM%AOEBPS/img_text/cncpt238.htmt Description of the illustration cncpt238.eps

This graphic has one rows of squares: User hr, User Process, Server Process, and two Session boxes (on top of each other). The squares are connected with double-headed arrows. The row has a dotted line above and below it and is labeled Connection.

PKk PKM%AOEBPS/img_text/cncpt226.htm Description of the illustration cncpt226.eps

This graphic depicts the database buffer cache as a square filled with small checker boards. A line leads from this cache to a box labeled "Server Process." The Server Process contains a PGA. A line leads from Server Process to a circular icon labeled "Redo Log Buffer." A line leads from this buffer to a box labeled "LGWR." An arrow points from LGWR to a cylinder labeled "Online Redo Log."

PKM˩!PKM%AOEBPS/img_text/cncpt206.htmy Description of the illustration cncpt206.eps

The graphic shows six boxes in a vertical line: Data/Persistence Logic, JDBC, Java Core Class Libraries, Oracle Database JVM, Oracle Database Libraries, and Operating System. JDBC and Java Core Class Libraries are boxed together.

PK&~yPKM%AOEBPS/img_text/cncpt279.htmh Description of the illustration cncpt279.eps

The graphic depicts AWR. The SGA contains statistics that MMON uses to create snapshots in AWR. The graphic depicts AWR as in the SYSAUX tablespace. The AWR contains snapshots being reused in round-robin fashion.

PKHɳmhPKM%AOEBPS/img_text/cncpt274.htmd Description of the illustration cncpt274.eps

The graphic depicts a data file as a vertical rectangle. The topmost slab is labeled "Data File Header." Below is a slab of 12 blocks. The whole slab is labeled "Initial Extent of Segment." The first block is labeled "First Block of Segment (contains directory of extents)." The 3rd block from the left is labeled "Data Block (logically contiguous with other blocks in the extent)." The rest of the data file is blank and is labeled "Free (Formatted, Never Used)."

PK7> idPKM%AOEBPS/img_text/cncpt301.htmd Description of the illustration cncpt301.eps

This graphic shows a decision tree. The first branch is between partitioned and nonpartitioned indexes. The partitioned index branches into local partitioned and global partitioned. The local partitioned branches into local prefixed and local nonprefixed indexes.

PKǠPKM%AOEBPS/img_text/cncpt067.htm* Description of the illustration cncpt067.eps

The image shows a user process at the top, sending a dispatcher process to the database. The dispatcher process sends it along to the request queue in the SGA, which sends it to the Oracle Database, which sends it to the response queue, which sends it back to the dispatcher process, which then sends it back to the user.

PKuLPKM%AOEBPS/img_text/cncpt196.htms Description of the illustration cncpt196.eps

This graphic shows a backup of a database that needs recovery. First, redo logs are applied to the database with committed and uncommitted transactions. Then undo blocks are applied the database with committed transactions.

PKaIxsPKM%AOEBPS/img_text/cncpt290.htmi Description of the illustration cncpt290.eps

The graphic shows four icons representing tables. The upper left table is labeled Employees and above it is the title Projection. Part of a statement is shown: "SELECT last_name, email". The last_name points to the second column in the table. The email in the statement points to the four column in the table. To the right of the Employees icon is the following partial SQL statement: "Where department_name = 'Shipping' AND salary > 6000". To the right of this fragment is the Employees table icon. Arrows lead from the fragment pointing to rows in the Employees table.

In the lower left is the Employees table icon. To the lower right is the Departments table icon. Between the icons is the following SQL statement fragment: "FROM employees JOIN departments ON employees.department_id = departments.department_id". The statement points to the last column on the Employees table and the first column in the Departments table. Between the two table icons is a Join arrow.

PKτniPKM%AOEBPS/img_text/cncpt256.htm  Description of the illustration cncpt256.eps

This graphic shows two vertical rectangles. Both rectangles contain a set of blocks: Buffer cache, Large Pool, Shared Pool, Java Pool, and Streams Pool. The difference is that in the rectangle on the right Buffer cache is smaller but Large Pool is bigger. Below the blocks in the left rectangle is the Online Users icon. Below the blocks on the right is the Batch Jobs icon.

PK9Cp PKM%AOEBPS/img_text/cncpt212.htm Description of the illustration cncpt212.eps

On the left of this graphic is an upward-pointing arrow labeled STARTUP. To the right is a series of four steps in a staircase. The bottom step is SHUTDOWN. The next step is NOMOUNT, with the comment "instance started." The next step is MOUNT, with the comment "Control file opened for this instance." The next step is OPEN, with the comment "Database opened for this instance."

PKs\PKM%AOEBPS/img_text/cncpt237.htm{ Description of the illustration cncpt237.eps

This graphic has two identical rows of squares: User hr, Client Process, Server Process, and Session. The squares are connected with double-headed arrows. The top row is labeled Connection 1. The bottom row is labeled Connection 2.

PKҀ{PKM%AOEBPS/img_text/cncpt250.htmr Description of the illustration cncpt250.eps

This graphic shows the stages of SQL processing, represented as five vertical boxes linked by downward-pointing arrows: SQL Statement, Parsing, Optimization, Row Source Generation, and Execution. The Parsing box is labeled "Syntax check, Semantic check." The Optimization box is labeled "Generation of multiple execution plans." The Row Source Generation box is labeled "Generation of query plan." An arrow labeled "Soft parse" extends from the Parsing box to the Execution box.

PKӍwrPKM%AOEBPS/img_text/cncpt261.htm] Description of the illustration cncpt261.eps

At the top of this figure are the Oracle Data Pump Export and Oracle Data Pump Import icons. Each has a two-way arrow to Data Pump API (DBMS_DATAPUMP), which is inside a large rectangle with a dotted border. This rectangle is labeled Data Pump. The Data Pump API has a two-way arrow going to External Table API, which is next to Direct Path API and Metadata API (DBMLS_METADATA). Underneath the dotted rectangle is a SQL*Loader icon and Other Clients icons. SQL*Loader has a two-way arrow going to External Table API and Direct Path API. Other Client has an arrow pointing to Direct Path API and a double-arrow pointing to Data Pump API. Other Clients has a two-way arrow pointing to Metadata API (DBMS_METADATA).

PKjY]b]PKM%AOEBPS/img_text/admin078.htm1 Description of the illustration admin078.eps

At the top of this figure is an icon labeled Resource Plan "DAYTIME." Below it is a series of three boxes: Directive 1 75% of CPU, Directive 2 15% of CPU, Directive 3 10% of CPU. These boxes point to Resource Plan "DAYTIME". The Directive 1 box points down to a Consumer Group "OLTP" box. Directive 2 points down to a Consumer Group "REPORTING" box. Directive 3 points down to a Consumer Group "OTHER_GROUPS" box.

PKD861PKM%AOEBPS/img_text/cncpt200.htm? Description of the illustration cncpt200.eps

The image cncpt200.gif shows the Streams information flow as a series of arrows. First is the capture phase, then staging, and then consumption.

End of description.

PKrv@D?PKM%AOEBPS/img_text/cncpt260.htmX Description of the illustration cncpt260.eps

At the top of the graphic is a Client Application icons. One arrow labeled Local Query extends to Materialized View. Another arrow labeled Remote Update to a Master Table icon. The Materialized View icon has two dotted lines extending to a Materialized View Database. A Master Table has two dotted lines extending to a Master Database icon. The Master Database icon has an arrow extending to Materialized View Database. The arrow is labeled Replicate Table Database. The icon Network is connected to the Replicate Table Data arrow.

PK̙qPKM%AOEBPS/img_text/cncpt332.htm Description of the illustration cncpt332.eps

This graphic shows a data file with the following numbers in its header: 1 0 0 1 0 1. The data file contains three rows of extents. The first five blocks are mostly full; the second 7 blocks are mostly empty; the next 7 blocks are mostly empty; the next 5 blocks are mostly full; the next 4 blocks are mostly empty; the next 8 blocks are mostly full.

PK3PKM%AOEBPS/img_text/cncpt307.htm7 Description of the illustration cncpt307.eps

This illustration shows the Source Files being processed by the Host Language Compiler, which produces object files.

The object files are next linked by the host linker, with the OCI Library, which outputs the application executable.

The application can then communicate with the Oracle Server.

PKoPKM%AOEBPS/img_text/cncpt029.htm] Description of the illustration cncpt029.eps

This graphic depicts a data block with the PCTFREE parameter set to 20. The block shows a gap of 20% free space in the upper part of the block. The caption says "Block allows row inserts until 80% is occupied, leaving 20% free for updates to existing rows in the block."

PK FPKM%AOEBPS/img_text/cncpt252.htm# Description of the illustration cncpt252.eps

This graphic shows a large shared box named Instance. Inside the Instance box is an SGA box that contains a Shared Pool. Within the Shared Pool is the Library Cache, which in turn contains a Shared SQL Area box. The Shared SQL Area box contains the following statement: SELECT * FROM employees. Two Server Process boxes are attached to the Instance box. A Client Process icon is attached to each Server Process box. A PGA box containing a Private SQL Area box is attached to each Server Process box. Each Private SQL Area box contains the following statement: SELECT * FROM employees.

PKm7rPKM%AOEBPS/img_text/cncpt069.htm1 Description of the illustration cncpt069.eps

This graphic shows a SELECT statement at the top with "SCN 10023" written underneath it. Under the statement is a column of blocks, each with a different SCN: 10021, 10021, 10024 (this block is shaded), 10008, 10024 (this block is shaded), 10011, 10021. An arrow labeled "Scan Path" goes from the SELECT statement through the column to the end, but the arrow veers out to the right of the shaded blocks and goes through blocks that hover to the right of the column: one with SCN 10006 and another with SCN 10021. A circle labeled Undo Segment points to these two blocks.

PKVPKM%AOEBPS/img_text/cncpt059.htm Description of the illustration cncpt059.eps

The image shows the employees table with two columns: employee_id and manager_id. The employee_id column has 3 rows: 210, 211, and 212. The manager_id column has 2 rows: 210 and 211.

5000 is added to each employee number, and therefore each manager. In the first box, under the employee_id column, 210 is updated to 5210. In the second box, under the employee_id column, 211 is updated to 5211 and under the manager_id column, 210 is updated to 5210. In the third box, under the employee_id column, 212 is updated to 5212 and under the manager_id column, 211 is updated to 5211. Then, constraints are checked.

PKQTPKM%AOEBPS/img_text/cncpt312.htmA Description of the illustration cncpt312.eps

This graphic shows a database instance communicating with middle-tier processes running in a middle-tier client. A middle-tier process requests a connection from the connection broker. The broker hands off the request to the server process, which communicates directly with the middle-tier process.

PKPKM%AOEBPS/img_text/cncpt296.htm Description of the illustration cncpt296.eps

This graphic is divided into two columns: Single-Instance Database and Oracle RAC Database. The first figure in the Single-Instance Database column shows a Database (containing data files, control files, and an online redo log) associated with an Instance (represented as a box). The Oracle RAC Database column shows two Database Instance boxes. These boxes both point to the same Database box.

PKH)#PKM%AOEBPS/img_text/cncpt037.htmF Description of the illustration cncpt037.eps

This graphic shows one tablespace that contains two data files. Inside the datafiles are table and index icons. One table is shown spanning two datafiles.

One caption points to both datafiles. The caption says "Data files are physical structures associated with only one tablespace." The segments caption points to a table and index object. The caption says "Segments are stored in tablespaces and may span several data files."

PK7SKFPKM%AOEBPS/img_text/cncpt227.htm[ Description of the illustration cncpt227.eps

This graphic depicts the relationship between logical and physical storage structures in crow's feet notation. In the Logical column on the left are Tablespace, Segment, Extent, and Oracle data block. Each type has a one-to-many relationship with the type below it. In the Physical column on the right are Datafile and OS block. Tablespace has a one-to-many relationship with Datafile. Oracle data block has a one-to-many relationship with OS block. Datafile has a one-to-many relationship with extent.

End of description

PK#`PKM%AOEBPS/img_text/cncpt246.htm  Description of the illustration cncpt246.eps

This graphic is divided into three parts. The first shows a square labeled "SQL Statement." It contains the statement "CREATE TABLE test_table (my_column NUMBER);". An arrow points to the square in the second part labeled "Schema Object." The square contains the word "test_table." The last part is labeled "Segment" and contains a square divided into multiple small squares.

PKjF PKM%AOEBPS/img_text/cncpt245.htmy Description of the illustration cncpt245.eps

This graphic is divided into three parts. The first shows a square labeled "SQL Statement." It contains the statement "CREATE TABLE lob_table (my_column NUMBER PRIMARY KEY, clob_column CLOB);". Four arrows point to the four squares in the second part labeled "Schema Object." The squares are: Table lob_table, Index my_column, CLOB, and Index on CLOB. Each of these squares points to a square in the Segment column. Each of the Segment squares is divided into multiple smaller squares.

PK Description of the illustration cncpt043.eps

This image shows a row piece in a database block. The row piece is pictured as a horizontal slab. The left side of the slab is the row header and the right side is the column data. The row header contains the following: row overhead, number of columns, cluster key ID (if clustered), ROWID of chained row pieces (if any). The column data section contains the column length and column value. The row header contains the following: row overhead, number of columns, cluster key ID (if clustered), ROWID of chained row pieces (if any).

The large row piece at the top of the diagram corresponds to a small row piece in a database block, pictured as a vertical column. This column is identical to the column in the previous graphic.

PK'@vqPKM%AOEBPS/img_text/cncpt320.htm< Description of the illustration cncpt320.eps

This graphic shows two free list groups. Each group contains one master free list and three process free lists. Each process free list points to the same table segment.

PKRvՋA<PKM%AOEBPS/img_text/cncpt328.htmu Description of the illustration cncpt328.eps

This diagram shows a ring of extents in an undo segment: E1, E2, E3, and E4. Extents E1-E3 are active extents without space. In the diagram, transaction T1 and T2 both write to E3 and then start writing to E4. E4 is a nonactive extent with space.

PKkU[PKM%AOEBPS/img_text/cncpt028.htm Description of the illustration cncpt028.eps

This graphic shows the parts of a database block: common and variable header, table directory, row directory, free space, and row data. These parts are presented as slabs within a vertical column. One arrow points down from the row directory, while another points up from the row data. The arrows indicate that the amount of free space in the database block is variable.

PKo; PKM%AOEBPS/img_text/cncpt268.htm| Description of the illustration cncpt268.eps

This graphic shows a decision tree. The first branch is between locally managed tablespaces and dictionary-managed tablespaces. The latter then branches between automatic segment-space management and manual segment-space management.

PK}:|PKM%AOEBPS/img_text/cncpt247.htm/ Description of the illustration cncpt247.eps

On the left of this graphic are two identical client computers. Attached to each computer icon are a box labeled Application and a box labeled pfile. The pfile box has a label that says: "Text, located on the same computer as client application." Both application boxes are shown connecting to a database. The database icon is associated with an spfile icon that says: "Binary, located only on database server."

PKR4/PKM%AOEBPS/img_text/cncpt218.htmR Description of the illustration cncpt218.eps

This graphic shows a rectangle labeled "Instance PGA." Inside this rectangle are three smaller rectangles labeled "PGA." Each PGA contains the following: SQL Work AReas, Session Memory, and Private SQL Area. A Server Process box is behind and slightly to the right of each PGA box.

PKL*۲PKM%AOEBPS/img_text/cncpt027.htm Description of the illustration cncpt027.eps

This graphic depicts the relationship between a Tablespace, Segment, Datafiles, Extents, and Data Blocks.

The tablespace holds one Segment of 96 Kb. The segment is divided into one extent of 24 Kb and another of 72 Kb, each of which is in a separate datafile. The 72 Kb extent maps to 12 rows of 2 Kb blocks, with 3 2 Kb blocks in each row. The 24 Kb extent maps to 12 2 Kb blocks.

PK Ao>PKM%AOEBPS/img_text/cncpt251.htm~ Description of the illustration cncpt251.eps

This graphic shows a shared pool check. At the top are three boxes laid on top of one another, each box smaller than the one behind it. The smallest box shows hash values and is labeled Shared SQL Area. The second box is labeled Shared Pool. The outer box is labeled SGA. Below this box is another box labeled PGA. Within the PGA box is a box labeled Private SQL Area, which contains a hash value. A double-ended arrow connects the upper and lower boxes and is labeled "Comparison of hash values." To the right of the PGA box is a person icon labeled User Process. The icons are connected by a double-sided arrow. Above the User Process icon is an "Update ...." statement. An arrow leads from the User Process below so the Server Process icon below.

PKk2TPKM%AOEBPS/img_text/cncpt298.htmq Description of the illustration cncpt298.eps

This graphic shows the following partitions:

Table Partition EVEN_CHANNELS
PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
      116      11393 05-JUN-99          2        999             1       12.18
      118        133 06-JUN-01          2        999             1       17.12
      133       9450 01-DEC-00          2        999             1       31.28
       30        170 23-FEB-01          2        999             1         8.8
       24      11899 26-JUN-99          4        999             1       43.04
       45       9491 28-AUG-98          4        350             1       47.45
 
 
Table Partition ODD_CHANNELS
PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
       40     100530 30-NOV-98          9         33             1       44.99
       36       4523 27-JAN-99          3        999             1       53.89
      125       9417 04-FEB-98          3        999             1       16.86
       35       2606 17-FEB-00          3        999             1       54.94 
PKvqPKM%AOEBPS/img_text/cncpt223.htmd Description of the illustration cncpt223.eps

The graphic is depicted in two halves: memory and disk. The database instance block is shown in the memory section. In the disk sections are icons depicting data files, control files, and the online redo log.

PKmidPKM%AOEBPS/img_text/cncpt271.htm  Description of the illustration cncpt271.eps

On the left of this graphic are three icons: Input Data Files, Log File, and Database. The first has an arrow pointing to a large SQL*Loader icon in the middle. This SQL*Loader icon points to the Log File and Database icons. On the right of the figure are Loader Control File, Bad Files, and Discard Files icons. Control File points to SQL*Loader, while the others point away.

PK(Dw PKM%AOEBPS/img_text/cncpt082.htmZ Description of the illustration cncpt082.eps

At the top of the graphic are a series of five icons represent users. The second row shows User Roles. The first icon is a PAY_CLERK Role, which points to the first two users, a MANAGER Role, which points to the third user, and a REC_CLERK Role, which points to the last two users. The third row of icons shows Application Roles. The ACCTS_PAY Role points to PAY_CLERK Role and MANAGER Role. The ACCTS_REC Role points to MANAGER Role and REC_CLERK Role. The last row of icons shows Application Privileges. The text "Privileges to execute the ACCTS_PAY application" points to the ACCTS_PAY Role. The text "Privileges to execute the ACCTS_REC application" points to the ACCTS_REC Role.

End of description.

PKT"_ZPKM%AOEBPS/img_text/cncpt233.htmQ Description of the illustration cncpt233.eps

The graphic shows the SGA. Within the SGA are the Database Buffer Cache, Redo Log Buffer, Shared Pool, Large Pool, Fixed SGA, Java Pool, and Streams Pool. To the right of the SGA are the background processes PMON, SMON, RECO, MMON, MMNL, and Others. Below the SGA are DBWn, CKPT, LGWR, ARCn, and RVWR. Below the SGA are the PGA and Server Process. The Server Process is connected to a Client Process. To the right of the Client Process are Database Files (Data Files, Control Files, Online Redo Log), Archived Redo Log, and Flashback Log.

PK?PKM%AOEBPS/img_text/cncpt315.htmA Description of the illustration cncpt315.eps

The graphic depicts two server computers, each of which runs a listener. The listeners communicate with two separate database instances, each running on a different database host. Inside each instance is an icon showing the PMON process. Each instance is connected to a different Database cylinder.

PKSPKM%A!OEBPS/img_text/homepage_small.htm% Description of the illustration homepage_small.gif

This is a partial screenshot of the Database Home page. The page heading is "Database Instance," followed by the instance name, which in this case is "database". Beneath the heading, a row of links goes horizontally across the page. Each is the title of a separate Enterprise Manager subpage, where each subpage contains different administrative functions. The page titles are Home (highlighted because the Home page is the current page), Performance, Availability, Server, Schema, Data Movement, and Software and Support. Beneath the property page links are the various sections of the home page. Each section has various combinations of links, controls, and text or graphical elements that display database status. Sections on the Database Home page include General (for instance and listener information), Host CPU, Active Sessions, Diagnostic Summary, Space Summary, High Availability, Alerts, and more.

PKp*%PKM%AOEBPS/img_text/cncpt249.htm% Description of the illustration cncpt249.eps

This graphic depicts a rectangle that contains four smaller rectangles, placed side by side. The first contains AAAPec and is labeled "Data Object Number." The second contains AAF and is labeled "Relative File Number." The third contains AAAABS and is labeled "Block Number." The last contains AAA and is labeled "Row Number."

PK>PKM%AOEBPS/img_text/cncpt265.htmO Description of the illustration cncpt265.eps

The graphic shows a table icon labeled Table. The table has the following rows: Row 1, Row 2, Row 3, and Row 4. On the upper left is a lock icon, which the legend identifies as a table lock. Next to Row 3 is a lock symbol. The legend identifies the lock as an exclusive row lock (TX).

PK"p.PKM%AOEBPS/img_text/cncpt277.htm Description of the illustration cncpt277.eps

This graphic shows a horizontal series of blocks. The first 10 blocks are gray. The next 4 are empty. The edge shared by the gray and empty blocks is labeled "Low HWM." One block from the right end an arrow points down and is labeled "HWM." The legend indicates that an empty block is "Never Used, Unformatted." A gray block is "Used."

PK,OdPKM%AOEBPS/img_text/cncpt314.html Description of the illustration cncpt314.eps

This graphic shows two client computers connecting over HTTPS to the book.example.com service. A different client connects over HTTPS to the soft.example.com service. Both services are associated with a single database. The database is on a Database Host.

PKIS:PKM%AOEBPS/img_text/cncpt221.htm Description of the illustration cncpt221.eps

This graphic represents the Large Pool as a box. In the top half of the box are scattered tiny squares, each of which is either black, shaded, or empty. The legend indicates that black means UGA, shaded means I/O Buffer Area, and empty means free memory. Underneath the scattering of tiny boxes are two rectangles: Response Queue and Request Queue.

PKJkPKM%AOEBPS/img_text/cncpt240.htmp Description of the illustration cncpt240.eps

At the top of this graphic is a Database Server icon. It is connected to a circle labeled "Network." This circle connects to two Client icons. The Database Server connects to a circle labeled "Network." This circle connects to another Database Server.

PK0PKM%AOEBPS/img_text/cncpt230.htm6 Description of the illustration cncpt230.eps

On the left of the graphic is an icon representing the HR user. An arrow labeled "owns" extends to the right of this user. The arrow points to a box bordered by a dotted line. This box is labeled "HR Schema." Inside this box are icons representing tables and indexes. These icons are labeled "schema objects."

PKDҡPKM%AOEBPS/img_text/cncpt292.htm Description of the illustration cncpt292.eps

This figure shows the tables in the HR schema and the columns in each table, as well as dependencies between the tables.

The job_history has columns employee_id (primary key), start_date (primary key), end_date, job_id, and department_id. Each job history record must be associated with one employee in the employees table.

The jobs table has the columns job_id (primary key), job_title, min_salary, and max_salary. Each job may be related to one or more employees in the employees table.

The departments table has columns department_id (the primary key), department_name, manager_id, and location_id. Each department must be related to one or more employees in the employee table and must be related to one location in the locations table.

The employees table has columns employee_id (primary key), first_name, last_name, email, phone_number, hire_date, job_id, salary, commission_pct, manager_id, and department_id. Each employee must be related to one department in the departments table and one job in the jobs table, and may be related to one or more records in the job_history table.

The locations table has columns location_id (primary key), street_address, postal_code, city, state_province, and country_id. Each location may be associated with one or more departments and must be associated with one country.

The countries table has columns country_id (primary key), country_name, and region_id. Each country may be related to one or more locations and must be associated with one region.

The regions table has columns region_id (primary key) and region_name. Each region may be associated with one or more countries.

PK$PKM%AOEBPS/img_text/cncpt171.htm% Description of the illustration cncpt171.eps

The image shows a data warehouse with metadata, raw data, and summary data. Data going into the data warehouse comes from data sources (operational systems and flat files) and from users (doing analysis, reporting, and mining).The operational data from the data sources first goes to a staging area.

End of description.

PK&PKM%AOEBPS/img_text/cncpt327.htmO Description of the illustration cncpt327.eps

This diagram shows a ring of extents in an undo segment: E1, E2, E3, and E4. Extents E1-E3 are active extents without space. In the diagram, transaction T1 and T2 both write to E4 and then start writing to E1. E4 is an active extent without space. E1 is a nonactive extent with space.

PKvPKM%AOEBPS/img_text/cncpt326.htm- Description of the illustration cncpt326.eps

This diagram shows a ring of extents in an undo segment: E1, E2, E3, E4, and E5. Extents E1-E4 are active extents without space. In the diagram, transaction T1 and T2 both write to E4 and then start writing to E5. E5 is a new extent. E1 through E4 are active extents without space. E5 is a nonactive extent with space.

PKvPKM%AOEBPS/img_text/cncpt001.htm. Description of the illustration cncpt001.eps

This graphic shows a tree of boxes. At the top box 1 is labeled MERGE JOIN ANTI. Box 2 to the lower left is labeled NESTED LOOPS. Box 6 to the lower right is labeled TABLE ACCESS FULL jobs. Box 3 to the lower left of Box 2 is labeled TABLE ACCESS FULL departments. Box 4 to the lower right is labeled TABLE ACCESS BY INDEX ROWID employees. Box 5 underneath Box 4 is labeled INDEX RANGE SCAN emp_departments_ix.

PKX]_a3.PKM%AOEBPS/img_text/cncpt057.htm" Description of the illustration cncpt057.eps

This graphic shows the employees table. The employee_id column is labeled "Primary Key of referenced table." Below it is the employees table labeled "Referenced or Parent Table." The manager_id column points to the employee_id column. The manager_id column is labeled "Foreign Key (values in dependent table must match a value in unique key or primary key of referenced table)." Below the employees table is an insert of a single row. The row contains 400 for a manager_id. The callout says: "This row violates the referential constraint because '400' is not present in the referenced table's primary key; therefore, the row is not allowed in the table."

PKnA'"PKM%AOEBPS/img_text/cncpt309.htm Description of the illustration cncpt309.eps

The top icon shows Table Parent. To the upper left is a lock icon labeled "Table Lock." The table contains Row 1 with column Key 1, Row 2 with column Key 2, Row 3 with column Key 3, Row 4 with column Key 4. Row 3 is shaded. To the left of Row 3 is a lock icon labeled "exclusive row lock (TX) acquired." The row is shaded because it is being deleted.

To the right of Table Parent is an Index icon with Key 1, Key 2, Key 3 (shaded), and Key 4. There is a lock next to Key 3.

Underneath Table Parent is Table Child. To the upper left of Table Child is a lock icon. The table contains Row 1 with column Key 1, Row 2 with Key 1, Row 3 with Key 2, Row 4 with Key 2, Row 6 with Key 2. To the right of Table Child is an Index with Key 1, Key 1, Key 2, Key 2, and Key 2. Row 3 in Table Parent has an arrow pointing to underneath the last Key 2 in Index

PK(PKM%AOEBPS/img_text/admin077.htm_ Description of the illustration admin077.eps

This figure shows the directory structure of the ADR for a single database instance, where each directory is represented by a folder. At the top is a folder labeled as "ADR base". Beneath ADR base is a directory named diag, beneath which is a directory named rdbms. Beneath the rdbms directory is a directory whose name is the database name. Beneath that directory is a directory whole name is the database SID. This directory is flagged by a label as the ADR home for the database instance. Beneath the ADR home directory (the directory whose name is the database SID) are the following subdirectories: alert, cdump, incident, trace, and one named "(others)", which indicates several other ADR home subdirectories.

PKind_PKM%AOEBPS/img_text/admin054.htm Description of the illustration admin054.eps

The LGWR box points to a cylinder named Online Redo Log File #1. Next to it are the numbers 1, 4, and 7. This cylinder points to a cylinder named Online Redo Log File #2. Next to it are the numbers 2, 5, and 8. This cylinder points to a cylinder named Online Redo Log File #3. Next to it are the numbers 3, 6, and 9. Cylinder #3 points back up to cylinder #1.

End of image description.

PKw!PKM%AOEBPS/img_text/cncpt045.htm Description of the illustration cncpt045.eps

The image shows the base table, employees, with 7 columns. A view called staff is created from the base table, with only 5 of the columns.

PKE[]#PKM%AOEBPS/img_text/ccapp017.htmq Description of the illustration ccapp017.eps

This illustration shows a generalized schema of a catalog query application. It shows a CTXCAT index and a document table as part of the database, and a two-way arrow between the database and a catalog application, representing a SQL CATSEARCH query.

PKEՓPKM%AOEBPS/img_text/cncpt023.htmR Description of the illustration cncpt023.eps

On the left of the figure is a database cylinder icon labeled "Clustered Tables." On the top of the cylinder is a square. The square points to an icon that looks like a sheet of paper. The icon is labeled "Clustered Key department_id." The icon shows one set of rows for department 20 and another for department 110.

On the right of the figure is a database cylinder icon labeled "Unclustered Tables." On the top of the cylinder are two squares. The left square points to an icon that looks like a sheet of paper. The icon is labeled "employees" and contains rows for employees. The square on the right is labeled "departments" and shows one row for department 20 and another for department 110.

PKˍ6WRPKM%AOEBPS/img_text/cncpt083.htm" Description of the illustration cncpt083.eps

At the top of this graphic is a Database Server icon. It is connected to a circle labeled "Network." This circle connects to two Client icons.

PKz'"PKM%AOEBPS/img_text/cncpt316.htmt Description of the illustration cncpt316.eps

This graphic shows a Database Block on the left. The top shows a Data Block Header. The block contains multiple slabs. Below the header slab is a slab that says "Piece 1 of Inserted Row." Next to this slab is a smaller slab that says "Row Piece Pointer." An arrow extends out of the pointer and points to the bottom slab in a different database block. This bottom slab is labeled "Piece 2 of Inserted Row." The rest of this block is empty and is labeled "Free Space." This block has a data block header.

PK 嬐PKM%AOEBPS/img_text/cncpt025.htmK Description of the illustration cncpt025.eps

The image cncpt025.gif shows the SQL statement for the banking transaction example. The statement is divided into four blocks:

  • Decrement Savings Account

  • Increment Checking Account

  • Record in Transaction Journal

  • End Transaction

The SQL statement for the Decrement Savings Account is as follows:

UPDATE savings_accounts
SET balance = balance - 500
WHERE account = 3209;

The SQL statement for the Increment Checking Account is as follows:

UPDATE checking_accounts
SET balance = balance + 500
WHERE account =3208;

The SQL statement for Record in Transaction Journal is as follows:

INSERT INTO journal VALUES
(journal_seq.NEXTVAL, '1B'
3209, 3208, 500),

The SQL statement for End Transaction is as follows:

COMMIT WORK;
PK)bLPKPKM%AOEBPS/img_text/cncpt324.htmv Description of the illustration cncpt324.eps

On the top is a PGA inside a server process. On the bottom is a client process that contains a data area. In this data area is a box labeled "Pointer." An arrow extends from the pointer to the Private SQL Area part of the PGA.

PKc{vPKM%AOEBPS/img_text/cncpt287.htm Description of the illustration cncpt287.eps

This graphic shows the optimizer components in a box with a dotted border. The box contains three boxes vertically arranged: Query Transformer, Estimator, and Plan Generator. A Parsed Query enters from the top. An arrow leading from Query Transformer to Estimator is labeled Transformed query. An arrow leading from Estimator to Plan Generator is labeled "Query + estimated." An arrow leading from Plan Generator to the bottom of the figure is labeled "Query Plan (to Row Source Generator)." A box labeled Data Dictionary points to the Estimator box in the middle. The arrow is labeled "statistics."

PK9EPKM%AOEBPS/img_text/cncpt266.htm" Description of the illustration cncpt266.eps

At the top left is a box named Database Instance DB1. At the top right is a box named Database Instance DB2. Both boxes point to a box named ASM Instance. Above this box is the caption "Metadata Requests." All three boxes point down to a big box named ASM Disk Groups. Inside this box are the icons Disk Group A and Disk Group B.

PKoPKM%AOEBPS/img_text/cncpt300.htm4 Description of the illustration cncpt300.eps

This graphic shows four partitions: SALES_1998, SALES_1999, SALES_2000, 2001. The icon Global Index Partition p3 is in the upper left. Global Index Partition p2. Global Index Partition p1. Each of these index partitions has three arrows. Each arrow points to a different row in a partition. For example, Global Index Partition p3 points to two different rows in the 1998 partition, and one row in the 1999 partition.

PK W94PKM%AOEBPS/img_text/cncpt056.htmU Description of the illustration cncpt056.eps

This graphic shows the departments table. The department_id column is labeled "Parent Key: Primary key of referenced table." Below it is the employees table labeled "Referenced or Parent Table." The department_id column points to the departments.department_id column. The employees.department_id column is labeled "Foreign Key (values in dependent table must match a value in unique key or primary key of referenced table)." Below the employees table is an insert of two rows. The first row contains 99 as a department ID. The callout says: "This row violates the referential constraint because '99' is not present in the referenced table's primary key; therefore, the row is not allowed in the table." The second inserted row has a null for department_id. The callout says "This row is allowed in the table because a null value is entered in the department_id column; however, if a not null constraint is also defined for this column, this row is not allowed."

PKvZUPKM%AOEBPS/img_text/cncpt313.htmR Description of the illustration cncpt313.eps

This graphic depicts a decision tree. The first two branches are deferrable and nondeferrable. The deferrable branch then branches off to initially immediate and initially deferred branches.

PK.WRPKM%AOEBPS/img_text/cncpt295.htm Description of the illustration cncpt295.eps

The graphic is divided into two boxes with dotted borders, one on top of the other. The top is labeled "Branch Blocks" and the lower "Leaf Blocks." The graphic contains a tree of boxes. At the top is a box with the following values: 0..40, 41..90, and so on. Three arrows point to a second row of branch blocks. One block in this row has values 0..10, 11..10, and so on. An adjacent block has values 41..48, 49..53, and so on. The last black has values 200..209, 210..220, and so on.

The leftmost and rightmost blocks each has a pair of arrows pointing down. The leftmost arrow points to a leaf block containing the following values: 0,rowid, 0,rowid, 1,rowid, 5, rowid and so on. The block to the right contains the following values: 12,rowid, 12,rowid, and so on. These two blocks are shaded. The next block contains values: 221,rowid, 222,rowid, and so on. The rightmost block contains the following values: 246,rowid, 248,rowid, and so on. With the exception of the leftmost and rightmost block, each of the leaf blocks in the bottom row is linked by a double-headed arrow to the block on either side.

PKPKM%AOEBPS/img_text/cncpt305.htmx Description of the illustration cncpt305.eps

This graphic is divided into a client and server section. On the client side is the Database Control Console. The console connects to the Management Service through HTTPS. The Management Service connects to the Management Agent.

PKgr&}xPKM%AOEBPS/img_text/cncpt267.htm9 Description of the illustration cncpt267.eps

On the left of this diagram is a box labeled "Data File" with a line leading to a box labeled "File System." The other boxes in the diagram are within a dotted-line box labeled "Oracle ASM." The Data File box has a one-to-one line leading to a box labeled "ASM File." This box has a many-to-one line leading to a box labeled "ASM Disk Group," which has a one-to-many line leading to a box labeled "ASM Disk." The ASM File box has a one-to-many line leading to a box labeled "ASM Allocation Unit," which has a one-to-many line leading to box labeled "ASM Extent."

PK2PKM%AOEBPS/img_text/cncpt284.htm/ Description of the illustration cncpt284.eps

This graphic shows two data files side by side. Each data file contains four Index icons and two Table icons. A single Table icon spans the two data files. The legend says that Data Files are physical structures associated with only one tablespace. Segments are stored in tablespaces and may span several data files.

PK<_)PKM%AOEBPS/img_text/cncpt273.htm` Description of the illustration cncpt273.eps

This graphic depicts a data file as layered slabs. The top slab is the data file header. The second, fifth, and sixth slabs are used. The last slab is free (formatted, but never used). The third, fourth, and seventh slabs are free (previously used, currently unused).

PK6rPKM%AOEBPS/img_text/cncpt219.htm  Description of the illustration cncpt219.eps

This graphic shows a large rectangle labeled "PGA." The rectangle is divided into two slabs. The top slab, which is labeled SQL Work Areas, is subdivided into Sort Area, Hash Area, and Bitmap Merge Area boxes. The left half of the bottom slab is Session Memory. The right half is divided into Persistent Area and Runtime Area. These two boxes are labeled "Private SQL Area."

PK.. PKM%AOEBPS/img_text/cncpt217.htmz Description of the illustration cncpt217.eps

This image shows a large rounded-corner rectangle representing the SGA. Inside the SGA, arranged in two rows of four, are boxes for the Java pool, the buffer cache, the redo buffer, the result cache, the shared pool, the Streams pool, and the large pool. The last box is named Other Components. Outside the SGA, with arrows going back and forth to the SGA, is a box labeled Server Process containing the PGA. A Client Process box is outside the SGA and points to the Server Process box.

PKzPKM%AOEBPS/img_text/admin062.htm2 Description of the illustration admin062.eps

The image illustrates how clients, databases, job coordinators, and job slaves are related. A client interacts with the database in the usual way. The database contains a Job Table, which includes Job1, Job2, Job3, Job4, Job5, and Job6. The Job Table is used by the Job Coordinator, which spawns and controls job slaves. In the figure, the Job Coordinator has three slaves working.

End of image description.

PKݳ72PKM%AOEBPS/img_text/cncpt303.htms Description of the illustration cncpt303.eps

This graphic shows an instance that contains the SGA and two dedicated server processes, each with its own PGA. One client process connects to one dedicated server over TCP/IP, while the second client process connects to the other dedicated server.

PK2PKM%AOEBPS/img_text/cncpt293.htmP Description of the illustration cncpt293.eps

The graphic shows an Oracle Data Block of size 8 KB. This data block points to a stack of Operating System Blocks. There are 8 operating system blocks. Each operating system block is 1 KB.

PK~TUPPKM%AOEBPS/img_text/cncpt331.htmZ Description of the illustration cncpt331.eps

At the top left of the figure is the following statement: SELECT * FROM employees WHERE department_id = 20. The 20 points down to Hash(20), which in turn points to Hash Value 77, which in turn points to a Data Block labeled 100. This block exists in row of boxes labeled "Data Blocks in Cluster Segment." At the top right is the following statement: SELECT * FROM employees WHERE department_id = 43. The 43 points to Hash(43). The Hash (43) points to Hash Value 77. The 77 points down to Block 100. Block 100 points to Block 200.

PK5IPKM%AOEBPS/img_text/cncpt222.htmC Description of the illustration cncpt222.eps

This graphic depicts a box labeled "UGA." Inside the box are two smaller boxes: one labeled "Session Variables" and the other labeled "OLAP Pool." The OLAP Pool box is shaded.

PKC|2HCPKM%AOEBPS/img_text/cncpt294.htms Description of the illustration cncpt294.eps

The graphic is divided into two boxes with dotted borders, one on top of the other. The top is labeled "Branch Blocks" and the lower "Leaf Blocks." The graphic contains a tree of boxes. At the top is a box with the following values: 0..40, 41..90, and so on. Three arrows point to a second row of branch blocks. One block in this row has values 0..10, 11..10, and so on. An adjacent block has values 41..48, 49..53, and so on. The last black has values 200..209, 210..220, and so on.

The leftmost and rightmost blocks each has a pair of arrows pointing down. The leftmost arrow points to a leaf block containing the following values: 0,rowid, 0,rowid, 1,rowid, and so on. The block to the right contains the following values: 11,rowid, 12,rowid, and so on. The next block contains 22,rowid and 23, rowid. Each of these three blocks is shaded. The shaded blocks are separated from the blocks to the right by three ellipses.

The next block contains values: 221,rowid, 222,rowid, and so on. The rightmost block contains the following values: 246,rowid, 248,rowid, and so on. With the exception of the leftmost and rightmost block, each of the leaf blocks in the bottom row is linked by a double-headed arrow to the block on either side.

PKXWxsPKM%AOEBPS/img_text/sagug004.htm6 Description of the illustration sagug004.eps

This graphic shows a long rectangle that contains the following boxes: Column 1, Column 2, Column 3, Column 4, and Column 5. Column 1 is the largest box. Column 3 and Column 4 are smaller. Column 2 is the smallest box. Column 5 is next smallest.

Below the rectangle are four boxes: Data Block 1, Data Block 2, Data Block 3, and Data Block 4. The graphic indicates that column data can span multiple data blocks.

PKgd;6PKM%AOEBPS/img_text/cncpt278.htm1 Description of the illustration cncpt278.eps

The graphic contains two data files as vertical rectangles. The data file on the left is named users01.dbf. The top slab is all black. Below is a row of 12 blocks labeled Initial Extent. Halfway down the file is another slab labeled Incremental Extent. On the bottom left corner are three white blocks. The data file on the right is named users02.dbf. The top slab is all black. Partway down is a slab of 12 blocks labeled Incremental Extent. Beneath this slab is a white slab. The white slab is "Free (Formatted, Never Used)." The slabs of 12 blocks are labeled "Used."

PKPKM%AOEBPS/img_text/cncpt231.htmN Description of the illustration cncpt231.eps

On the left side of the diagram is an icon of files labeled "External Files." To the right of this icon is a double arrow. In the middle is a cylinder icon containing two boxes: Access Driver and External Table Metadata. The latter shows two dotted lines leading to Data Dictionary. To the right of the cylinder is a left-sided arrow labeled "Queries of External Table." To the right of this arrow is an icon of a user in front of a computer.

PKSNPKM%AOEBPS/img_text/cncpt330.htm Description of the illustration cncpt330.eps

This graphic depicts a select statement from departments_iot for location 1800. The number 1800 points to a box that says Index of Mapping Table. The location 1800 is associated with a physical rowid in a mapping table. This rowid points to a logical row in a Mapping Table. This logical rowid points to a row (30, Marketing, 210,1800) in the index-organized table.

PK#%PKM%AOEBPS/img_text/cncpt318.htme Description of the illustration cncpt318.eps

On the top row of this graphic are three icons: Enterprise Manager, Recovery Manager, and Oracle Recovery Catalog. They are connected by double-headed arrows. On the second row, which is labeled "Oracle Server Sessions," are Target Oracle Database and four Oracle Server Session icons. The session icons are connected to Recovery Manager with double-headed arrows. The last row, labeled "Tertiary Storage Subsystems," has four disk and tape icons. Each icon is connected to a Server Session with a double-headed arrow.

PKCePKM%AOEBPS/img_text/cncpt311.htmy Description of the illustration cncpt311.eps

This illustration shows the role of the listener during connection establishment. The connection establishment sequence is described in the following text.

In addition, this illustration shows two clients connecting to the listener. One client is a web browser connecting to the listener through HTTP over TCP/IP. The other client is an intranet client using TCP/IP to connect to the listener. The listener connects to the database. The database in turn connects to each client.

PK~yPKM%AOEBPS/img_text/cncpt220.htmj Description of the illustration cncpt220.eps

This graphic shows a box labeled "Database Buffer Cache." It contains six boxes: Default, 2K, 4K, 16K, Keep, and Recycle. Each box is divided into a checkerboard containing a random mix of white and shaded squares.

PK ojPKM%AOEBPS/img_text/cncpt329.htmE Description of the illustration cncpt329.eps

At the top of the figure is the following statement: SELECT * FROM employees WHERE department_id = 20. The 20 points down to Hash(20), which in turn points to Hash Value 77. Hash Value 77 points to a block labeled 100. This block exists in row of boxes labeled "Data Blocks in Cluster Segment."

PKirPKM%AOEBPS/img_text/cncpt076.htm4 Description of the illustration cncpt076.eps

On the left of this graphic is a box labeled Applications. In this box are UPDATE, INSERT, and DELETE FROM statements. To the right is an icon labeled Oracle Database. Inside this icon is a Table icon. The Application statements point to the Table icon. The table points to a box labeled Data Dictionary. The table points to three boxes in the Data Dictionary box: Update Trigger, Insert Trigger, and Delete Trigger.

PK94PKM%AOEBPS/img_text/cncpt276.htm( Description of the illustration cncpt276.eps

This graphic shows a horizontal series of blocks. The first 6 blocks are gray. The next 8 are empty. The edge shared by the gray and empty blocks is labeled "Low HWM." Four blocks to the right an arrow labeled "HWM" points down. The legend indicates that an empty block is "Never Used, Unformatted." A gray block is "Used."

PKZ_PKM%AOEBPS/img_text/cncpt317.htm+ Description of the illustration cncpt317.eps

This illustration graphically depicts the architecture of Oracle Application Express when using the Embedded PL/SQL Gateway instead of Oracle HTTP Server (Apache). It shows arrows going in both directions between the Web browser and the Oracle database. The Application Express engine resides within the Oracle database.

PKNPKM%AOEBPS/img_text/cncpt070.htmm Description of the illustration cncpt070.eps

On the left side of the graphic is a box labeled Database Application. Inside the box are several lines, some labeled "Program code" and one labeled "Procedure call." The Database Application box points to a box labeled Oracle Database. Inside this box is a box labeled SGA. Inside the SGA box is a procedure. The code points to a box labeled PL/SQL engine. Inside this box is another box labeled Procedural Statement Executor. This box points with an arrow labeled SQL to a box labeled SQL Statement Executor.

PK>ع=PKM%AOEBPS/img_text/cncpt283.htm$ Description of the illustration cncpt283.eps

The graphic shows the SGA. Within the SGA are the Database Buffer Cache, Redo Log Buffer, Shared Pool, Large Pool, Fixed SGA, Java Pool, and Streams Pool. To the right of the SGA are the background processes PMON, SMON, RECO, MMON, MMNL, and Others. Below the SGA are DBWn, CKPT, LGWR, ARCn, and RVWR. Below the SGA are the PGA and Server Process. The Server Process is connected to a Client Process.

PK)$PKM%AOEBPS/img_text/cncpt333.htm( Description of the illustration cncpt333.eps

This graphic shows a horizontal series of blocks. The first 6 blocks are gray. The right edge of the last gray block is labeled "Low HWM." The next 2 are empty, followed by one gray block, and then followed by 1 empty block. The right edge of the empty block is labeled "Low HWM." The next 4 blocks are empty. The legend indicates that an empty block is "Never Used, Unformatted." A gray block is "Used."

PK[H-(PKM%AOEBPS/img_text/cncpt243.htm= Description of the illustration cncpt243.eps

On the left of the diagram is an icon of the HR user. This user issues the statement: SELECT * FROM employees. An arrow leads from the user icon to a Local database. Above this database is the text: PUBLIC SYNONYM employees -> employees@HQ.EXAMPLE.COM. The arrow continues on and ends in Remote database, which contains the EMPLOYEES table. The arrow is labeled "Database link (unidirectional)."

End of description.

PK`B=PKM%AOEBPS/img_text/cncpt310.htmI Description of the illustration cncpt310.eps

This figure shows an application that explicitly enqueues and dequeues messages through Oracle Streams Advanced Queuing as a method of sharing information with business partners or customers with different messaging systems. Once enqueued, messages can be transformed and propagated as desired, before being dequeued to a business partner's application that is a non-database oriented messaging systems.

End of figure description.

PKuNIPKM%AOEBPS/img_text/cncpt308.htm^ Description of the illustration cncpt308.eps

The top icon shows Table Parent. To the upper left is a lock icon. The table contains Row 1 with column Key 1, Row 2 with column Key 2, Row 3 with column Key 3, Row 4 with column Key 4. Row 3 is shaded. To the left of Row 3 is a lock icon labeled exclusive row lock (TX) acquired. The row is shaded because it is being deleted. To the right of the table is an Index icon with Key 1, Key 2, Key 3 (shaded), and Key 4. There is a lock next to Key 3.

Underneath Table Parent is Table Child. To the upper left of Table Child is a lock icon. The table contains Row 1 with column Key 1, Row 2 with Key 1, Row 3 with Key 2, Row 4 with Key 2, Row 6 with Key 2. The row lock is labeled as an exclusive row lock (TX).

PKn c^PKM%AOEBPS/img_text/cncpt319.htm Description of the illustration cncpt319.eps

This graphic shows a SYSTEM, SYSAUX, UNDO, Optional User Tablespace, and TEMP tablespace. Each tablespace icon is above a line labeled Logical. Every tablespace except TEMP points to one or more data files. TEMP points to two temp files. The files are in a section labeled Physical. The TEMP tablespace is labeled Temporary Tablespaces. All other tablespaces are labeled Permanent Tablespace.

PKI!PKM%AOEBPS/img_text/cncpt272.htm Description of the illustration cncpt272.eps

The graphic is divided into two boxes with dotted borders, one on top of the other. The top is labeled "Branch Blocks" and the lower "Leaf Blocks." The graphic contains a tree of boxes. At the top is a box with the following values: 0..60, 81..100, 101.160, and so on. Three arrows point to a second row of branch blocks. One block in this row has values 0..30 and 31..60. An adjacent block has values 61..68, 69..73, and so on. The last block has values 200..220, 221..230, and so on.

The leftmost and rightmost blocks each has a pair of arrows pointing down. The leftmost arrow points to a leaf block containing the following values: "20,Marketing,201,1800" and "30,Purchasing,114,1700". The block to the right contains the following values: "50,Shipping,121,1500" and "60,IT,103,1400". The next block contains values: "200,Operations,,1700", "210,IT Support,,1700", and "220,NOC,1700". The rightmost block contains the following values: "260,Recruiting,,1700" and "270,Payroll,,1700". With the exception of the leftmost and rightmost block, each of the leaf blocks in the bottom row is linked by a double-headed arrow to the block on either side.

PKZPKM%AOEBPS/img_text/cncpt299.htmh Description of the illustration cncpt299.eps

This graphic shows the following partitions:

Table Partition SYS_P33
  PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
       40     100530 30-NOV-98          9         33             1       44.99
      118        133 06-JUN-01          2        999             1       17.12
       36       4523 27-JAN-99          3        999             1       53.89
       30        170 23-FEB-01          2        999             1         8.8
       35       2606 17-FEB-00          3        999             1       54.94
 
 
Table Partition SYS_P34
PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
      116      11393 05-JUN-99          2        999             1       12.18
      133       9450 01-DEC-00          2        999             1       31.28
      125       9417 04-FEB-98          3        999             1       16.86
       24      11899 26-JUN-99          4        999             1       43.04
       45       9491 28-AUG-98          4        350             1       47.45 
PKe, Description of the illustration cncpt199.eps

This graphic shows four database icons labeled London, Tokyo, NY, and Report. The first three databases are connected by arrows going in both directions. A single arrow points from NY to Report. NY also points to a Gateway icon attached to a Sybase icon. The London database is connected through three double-headed arrows to a set of four client icons.

End of figure description.

PK#`}PKM%AOEBPS/img_text/cncpt073.htm Description of the illustration cncpt073.eps

On the left of this image is a set of boxes labeled Database Applications. Each of these boxes has lines of program code and a call for the hire_employees procedure. Each of these calls points to a box labeled Stored Procedure. In this procedure is the code of the hire_employees procedure. The image shows that the procedure is stored in the database.

PKPKM%AOEBPS/img_text/cncpt170.html Description of the illustration cncpt170.eps

The image shows a data warehouse with metadata, raw data, and summary data. Data going in to the data warehouse comes from data sources (operational systems and flat files) and from users (doing analysis, reporting, and mining).

End of description.

PKVPKM%AOEBPS/img_text/cncpt281.htm, Description of the illustration cncpt281.eps

On the left of this graphic is an upward-pointing arrow labeled SHUTDOWN. To the right is a series of four steps in a staircase. The bottom step is SHUTDOWN. The next step up is NOMOUNT, with the comment "Control file closed and instance started." The next step is CLOSE, with the comment "Database closed and control file opened." The next step is OPEN, with the comment "Database opened for this instance."

PK1,PKM%AOEBPS/img_text/cncpt242.htm6 Description of the illustration cncpt242.eps

This graphic shows a decision tree. The first branch is between Automatic Memory Management (SGA and PGA) and an unnamed branch. The unnamed branch then splits between Automatic Shared Memory Management (SGA), which further branches between Automatic PGA Management and Manual PGA Management, and Manual Shared Memory Management (SGA), which further branches between Automatic PGA Management and Manual PGA Management.

PKո;6PKM%AOEBPS/img_text/cncpt058.htmW Description of the illustration cncpt058.eps

The image cncpt058.gif shows the employees table with two columns: employee_id and manager_id. The employee_id column has 3 rows: 210, 211, and 212. The manager_id column has 2 rows: 210 and 211.

PK`\WPKM%AOEBPS/img_text/cncpt016.htm Description of the illustration cncpt016.eps

At the left of this graphic is a rectangle labeled "Serial Process." It contains the following query: SELECT COUNT(*) FROM employees WHERE phone_number LIKE '650%'. To the right of the box is a rectangle labeled Server Process. The Server Process box also has an arrow pointing down. To the right of Server Process is a box labeled "employees Table."

PKPKM%AOEBPS/img_text/cncpt121.htmf Description of the illustration cncpt121.eps

The image shows three thin clients sending requests (arrows going back and forth) to Application Server 1. The application server shows queries going to database servers and to other application servers, and data coming back to the application server from them.

PKPKM%AOEBPS/img_text/cncpt244.htm0 Description of the illustration cncpt244.eps

The graphic is divided into two boxes with dotted borders, one on top of the other. The top is labeled "Branch Blocks" and the lower "Leaf Blocks." The graphic contains a tree of boxes. At the top is a box with the following values: 0..40, 41..90, and so on. Three arrows point to a second row of branch blocks. One block in this row has values 1..10, 11..19, 20..25, and so on. An adjacent block has values 41..48, 49..53, and so on. The last black has values 200..209, 210..220, and so on.

The leftmost and rightmost blocks each has a pair of arrows pointing down. The leftmost arrow points to a leaf block containing the following values: 0,rowid, 0,rowid, 10,rowid, and so on. The block to the right contains the following values: 11,rowid, 11,rowid, and so on. The next block contains values: 221,rowid, 222,rowid, and so on. The rightmost block contains the following values: 246,rowid, 248,rowid, and so on. With the exception of the leftmost and rightmost block, each of the leaf blocks in the bottom row is linked by a double-headed arrow to the block on either side.

PK`PKM%AOEBPS/img_text/cncpt211.htmV Description of the illustration cncpt211.eps

This graphic depicts a data block in which space is fragmented. Underneath the data block header, the block has 6 stacked slabs of different shades. The top slab is clear, indicating free space.

PKBoAZ[VPKM%AOEBPS/img_text/cncpt325.htm1 Description of the illustration cncpt325.eps

This graphic represents an instance as a square. Inside the square is another square labeled System Global Area. The SGA holds the Shared Pool (which holds the Library Cache and Data Dictionary Cache), the Database Buffer Cache, the Redo Log Buffer, the Java Pool, the Streams Pool, and the Large Pool. Below the SGA is a row of background processes, each in its own box: PMON, SMON, DBWn, LGWR, CKPT, and Others.

PKOG61PKM%AOEBPS/img_text/cncpt288.htm\ Description of the illustration cncpt288.eps

This figure shows how control flows from a main routine (MT) to an autonomous routine (AT) and back again.

The autonomous routine commits two transactions, AT1 and AT2, before control returns to the main routine. When control enters the executable section of the autonomous routine (BEGIN), the main routine suspends. When control exits the autonomous routine (END), the main routine resumes. COMMIT and ROLLBACK statements in an autonomous routine end the active transaction, but they do not end the autonomous routine.

PKT,¨PKM%AOEBPS/img_text/cncpt334.htmC Description of the illustration cncpt334.eps

This graphic shows a user entering a query. The query enters a dotted rectangle labeled "Oracle." Arrows branch up to a diamond labeled "Query is rewritten" and down to a rectangle labeled "Generate Plan." The diamond points to a rectangle labeled "Generate Plan." Both Generate Plan rectangles point to a set of justice scales labeled "Compare plan cost and pick the best." The scales point to a rectangle labeled "Query Results."

PK3HCPKM%AOEBPS/img_text/cncpt306.htm_ Description of the illustration cncpt306.eps

This graphic shows a Database Block on the left. The top shows a Data Block Header. The block contains multiple slabs. Below the header slab is a slab that says "Pointer to Updated Row." Next to this slab is an empty slab. An arrow extends out of the pointer and points to the bottom slab in a different database block. This bottom slab is labeled "Updated Row." The rest of this block is empty and is labeled "Free Space." This block has a data block header.

PK(d_PKM%AOEBPS/img_text/cncpt302.htm, Description of the illustration cncpt302.eps

This graphic shows two table partitions: SYS_P33 and SYS_P34. The partitions contain the following rows:

 Table Partition SYS_P33
  PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
       40     100530 30-NOV-98          9         33             1       44.99
      118        133 06-JUN-01          2        999             1       17.12
       36       4523 27-JAN-99          3        999             1       53.89
       30        170 23-FEB-01          2        999             1         8.8
       35       2606 17-FEB-00          3        999             1       54.94
 
Table Partition SYS_P34
PROD_ID    CUST_ID TIME_ID   CHANNEL_ID   PROMO_ID QUANTITY_SOLD AMOUNT_SOLD
---------- ---------- --------- ---------- ---------- ------------- -----------
      116      11393 05-JUN-99          2        999             1       12.18
      133       9450 01-DEC-00          2        999             1       31.28
      125       9417 04-FEB-98          3        999             1       16.86
       24      11899 26-JUN-99          4        999             1       43.04
       45       9491 28-AUG-98          4        350             1       47.45 

Above the table partitions are two index partitions that point down to the table partitions. Index partition SYS_P38 indexes rows in table partition SYS_P33, whereas index partition SYS_P39 indexes rows in table partition SYS_P34. The two index partitions are inside a box labeled hash_sales_idx.

PKϚt)PKM%AOEBPS/img_text/cncpt225.htmR Description of the illustration cncpt225.eps

This graphic is shows a large rectangle labeled "Shared Pool." Within it is a rectangle labeled "Library Cache." Within this rectangle are two rectangles: Shared SQL Area and Private SQL Area. Below the Library Cache are four squares: Data Dictionary Cache (which contains a box that says "Dictionary Data Stored in Rows"), Result Cache (containing the rectangle SQL Query Result Cache and PL/SQL Function Result Cache), Other, and Reserved Pool.

PKYWRPKM%AOEBPS/img_text/cncpt270.htm. Description of the illustration cncpt270.eps

This image shows two disks, DISK A and DISK B, containing online redo log files. Each disk contains identical online redo log files. LGWR writes concurrently to the online redo log files. Each identical set of redo log files is called a group. This image shows two groups.Group 1 consists of the following members:

  • redo01a.log on Disk A

  • redo01b.log on Disk B

Group 2 consists of the following members:

  • redo02a.log on Disk A

  • redo02b.log on Disk B

End of image description.

PKZM _PKM%AOEBPS/img_text/cncpt304.htm Description of the illustration cncpt304.eps

This graphic depicts the buffer search order described in the preceding text. The extended buffer cache includes both the in-memory buffer cache, which contains whole buffers, and the flash cache, which contains buffer bodies. The server process looks in the in-memory cache for the buffer (arrow 1), then the flash cache (arrow 2), and finally reads the buffer from magnetic disk (arrow 3).

PKF PKM%AOEBPS/part_datstr.htm Oracle Relational Data Structures

Part I

Oracle Relational Data Structures

This part describes the basic data structures of an Oracle database, including data integrity rules, and the structures that store metadata.

This part contains the following chapters:

PKDZPKM%AOEBPS/datainte.htm Data Integrity

5 Data Integrity

This chapter explains how integrity constraints enforce the business rules associated with a database and prevent the entry of invalid information into tables.

This chapter contains the following sections:

Introduction to Data Integrity

Business rules specify conditions and relationships that must always be true or must always be false. For example, each company defines its own policies about salaries, employee numbers, inventory tracking, and so on. It is important that data maintain data integrity, which is adherence to these rules, as determined by the database administrator or application developer.

Techniques for Guaranteeing Data Integrity

When designing a database application, developers have various options for guaranteeing the integrity of data stored in the database. These options include:

  • Enforcing business rules with triggered stored database procedures, as described in "Overview of Triggers"

  • Using stored procedures to completely control access to data, as described in "Introduction to Server-Side Programming"

  • Enforcing business rules in the code of a database application

  • Using Oracle Database integrity constraints, which are rules defined at the column or object level that restrict values in the database

This chapter explains the basic concepts of integrity constraints.

Advantages of Integrity Constraints

An integrity constraint is a schema object that is created and dropped using SQL. To enforce data integrity, use integrity constraints unless it is not possible. Advantages of integrity constraints over alternatives for enforcing data integrity include:

  • Declarative ease

    Because you define integrity constraints using SQL statements, no additional programming is required when you define or alter a table. The SQL statements are easy to write and eliminate programming errors.

  • Centralized rules

    Integrity constraints are defined for tables and are stored in the data dictionary (see "Overview of the Data Dictionary"). Thus, data entered by all applications must adhere to the same integrity constraints. If the rules change at the table level, then applications need not change. Also, applications can use metadata in the data dictionary to immediately inform users of violations, even before the database checks the SQL statement.

  • Flexibility when loading data

    You can disable integrity constraints temporarily to avoid performance overhead when loading large amounts of data. When the data load is complete, you can re-enable the integrity constraints.


See Also:


Types of Integrity Constraints

Oracle Database enables you to apply constraints both at the table and column level. A constraint specified as part of the definition of a column or attribute is called an inline specification. A constraint specified as part of the table definition is called an out-of-line specification.

The term key is used in the definitions of several types of integrity constraints. A key is the column or set of columns included in the definition of certain types of integrity constraints. Keys describe the relationships between the tables and columns of a relational database. Individual values in a key are called key values.

Table 5-1 describes the types of constraints. Each can be specified either inline or out-of-line, except for NOT NULL, which must be inline.

Table 5-1 Types of Constraints

Constraint TypeDescriptionSee Also

NOT NULL

Allows or disallows inserts or updates of rows containing a null in a specified column.

"NOT NULL Integrity Constraints"


Unique key

Prohibits multiple rows from having the same value in the same column or combination of columns but allows some values to be null.

"Unique Constraints"


Primary key

Combines a NOT NULL constraint and a unique constraint. It prohibits multiple rows from having the same value in the same column or combination of columns and prohibits values from being null.

"Primary Key Constraints"


Foreign key

Designates a column as the foreign key and establishes a relationship between the foreign key and a primary or unique key, called the referenced key.

"Foreign Key Constraints"


Check

Requires a database value to obey a specified condition.

"Check Constraints"


REF

Dictates types of data manipulation allowed on values in a REF column and how these actions affect dependent values. In an object-relational database, a built-in data type called a REF encapsulates a reference to a row object of a specified object type. Referential integrity constraints on REF columns ensure that there is a row object for the REF.

Oracle Database Object-Relational Developer's Guide to learn about REF constraints



See Also:


NOT NULL Integrity Constraints

A NOT NULL constraint requires that a column of a table contain no null values. A null is the absence of a value. By default, all columns in a table allow nulls.

NOT NULL constraints are intended for columns that must not lack values. For example, the hr.employees table requires a value in the last_name column. An attempt to insert an employee row without a last name generates an error:

SQL> INSERT INTO hr.employees (employee_id, last_name) values (999, 'Smith');
.
.
.
ERROR at line 1:
ORA-01400: cannot insert NULL into ("HR"."EMPLOYEES"."LAST_NAME")

You can only add a column with a NOT NULL constraint if the table does not contain any rows or if you specify a default value.


See Also:


Unique Constraints

A unique key constraint requires that every value in a column or set of columns be unique. No rows of a table may have duplicate values in a column (the unique key) or set of columns (the composite unique key) with a unique key constraint.


Note:

The term key refers only to the columns defined in the integrity constraint. Because the database enforces a unique constraint by implicitly creating or reusing an index on the key columns, the term unique key is sometimes incorrectly used as a synonym for unique key constraint or unique index.

Unique key constraints are appropriate for any column where duplicate values are not allowed. Unique constraints differ from primary key constraints, whose purpose is to identify each table row uniquely, and typically contain values that have no significance other than being unique. Examples of unique keys include:

  • A customer phone number, where the primary key is the customer number

  • A department name, where the primary key is the department number

As shown in Example 2-1, a unique key constraint exists on the email column of the hr.employees table. The relevant part of the statement is as follows:

CREATE TABLE employees    ( ...
    , email          VARCHAR2(25)
        CONSTRAINT   emp_email_nn  NOT NULL ...
    , CONSTRAINT     emp_email_uk  UNIQUE (email) ... );

The emp_email_uk constraint ensures that no two employees have the same email address, as shown in Example 5-1.

Example 5-1 Unique Constraint

SQL> SELECT employee_id, last_name, email FROM employees WHERE email = 'PFAY';
 
EMPLOYEE_ID LAST_NAME                 EMAIL
----------- ------------------------- -------------------------
        202 Fay                       PFAY

SQL> INSERT INTO employees (employee_id, last_name, email, hire_date, job_id)    
  1  VALUES (999,'Fay','PFAY',SYSDATE,'ST_CLERK');
.
.
.
ERROR at line 1:
ORA-00001: unique constraint (HR.EMP_EMAIL_UK) violated

Unless a NOT NULL constraint is also defined, a null always satisfies a unique key constraint. Thus, columns with both unique key constraints and NOT NULL constraints are typical. This combination forces the user to enter values in the unique key and eliminates the possibility that new row data conflicts with existing row data.


Note:

Because of the search mechanism for unique key constraints on multiple columns, you cannot have identical values in the non-null columns of a partially null composite unique key constraint.


See Also:


Primary Key Constraints

In a primary key constraint, the values in the group of one or more columns subject to the constraint uniquely identify the row. Each table can have one primary key, which in effect names the row and ensures that no duplicate rows exist.

A primary key can be natural or a surrogate. A natural key is a meaningful identifier made of existing attributes in a table. For example, a natural key could be a postal code in a lookup table. In contrast, a surrogate key is a system-generated incrementing identifier that ensures uniqueness within a table. Typically, surrogate keys are generated by a sequence.

The Oracle Database implementation of the primary key constraint guarantees that the following statements are true:

  • No two rows have duplicate values in the specified column or set of columns.

  • The primary key columns do not allow nulls.

A typical situation calling for a primary key is the numeric identifier for an employee. Each employee must have a unique ID. A employee must be described by one and only one row in the employees table.

Example 5-1 indicates that an existing employee has the employee ID of 202, where the employee ID is the primary key. The following example shows an attempt to add an employee with the same employee ID and an employee with no ID:

SQL> INSERT INTO employees (employee_id, last_name, email, hire_date, job_id)    
  1  VALUES (202,'Chan','ICHAN',SYSDATE,'ST_CLERK');
.
.
.
ERROR at line 1:
ORA-00001: unique constraint (HR.EMP_EMP_ID_PK) violated

SQL> INSERT INTO employees (last_name) VALUES ('Chan');
.
.
.
ERROR at line 1:
ORA-01400: cannot insert NULL into ("HR"."EMPLOYEES"."EMPLOYEE_ID")

The database enforces primary key constraints with an index. Usually, a primary key constraint created for a column implicitly creates a unique index and a NOT NULL constraint. Note the following exceptions to this rule:

  • In some cases, as when you create a primary key with a deferrable constraint, the generated index is not unique.


    Note:

    You can explicitly create a unique index with the CREATE UNIQUE INDEX statement.

  • If a usable index exists when a primary key constraint is created, then the constraint reuses this index and does not implicitly create a new one.

By default the name of the implicitly created index is the name of the primary key constraint. You can also specify a user-defined name for an index. You can specify storage options for the index by including the ENABLE clause in the CREATE TABLE or ALTER TABLE statement used to create the constraint.


See Also:

Oracle Database 2 Day Developer's Guide and Oracle Database Advanced Application Developer's Guide to learn how to add primary key constraints to a table

Foreign Key Constraints

Whenever two tables contain one or more common columns, Oracle Database can enforce the relationship between the two tables through a foreign key constraint, also called a referential integrity constraint. The constraint requires that for each value in the column on which the constraint is defined, the value in the other specified other table and column must match. An example of a referential integrity rule is an employee can work for only an existing department.

Table 5-2 lists terms associated with referential integrity constraints.

Table 5-2 Referential Integrity Constraint Terms

TermDefinition

Foreign key

The column or set of columns included in the definition of the constraint that reference a referenced key. For example, the department_id column in employees is a foreign key that references the department_id column in departments.

Foreign keys may be defined as multiple columns. However, a composite foreign key must reference a composite primary or unique key with the same number of columns and the same data types.

The value of foreign keys can match either the referenced primary or unique key value, or be null. If any column of a composite foreign key is null, then the non-null portions of the key do not have to match any corresponding portion of a parent key.

Referenced key

The unique key or primary key of the table referenced by a foreign key. For example, the department_id column in departments is the referenced key for the department_id column in employees.

Dependent or child table

The table that includes the foreign key. This table is dependent on the values present in the referenced unique or primary key. For example, the employees table is a child of departments.

Referenced or parent table

The table that is referenced by the foreign key of the child table. It is this table's referenced key that determines whether specific inserts or updates are allowed in the child table. For example, the departments table is a parent of employees.


Figure 5-1 shows a foreign key on the employees.department_id column. It guarantees that every value in this column must match a value in the departments.department_id column. Thus, no erroneous department numbers can exist in the employees.department_id column.

Figure 5-1 Referential Integrity Constraints

Description of Figure 5-1 follows
Description of "Figure 5-1 Referential Integrity Constraints"


See Also:

Oracle Database 2 Day Developer's Guide and Oracle Database Advanced Application Developer's Guide to learn how to add foreign key constraints to a table

Self-Referential Integrity Constraints

Figure 5-2 shows a self-referential integrity constraint. In this case, a foreign key references a parent key in the same table.

In Figure 5-2, the referential integrity constraint ensures that every value in the employees.manager_id column corresponds to an existing value in the employees.employee_id column. For example, the manager for employee 102 must exist in the employees table. This constraint eliminates the possibility of erroneous employee numbers in the manager_id column.

Figure 5-2 Single Table Referential Constraints

Description of Figure 5-2 follows
Description of "Figure 5-2 Single Table Referential Constraints"

Nulls and Foreign Keys

The relational model permits the value of foreign keys to match either the referenced primary or unique key value, or be null. For example, a user could insert a row into hr.employees without specifying a department ID.

If any column of a composite foreign key is null, then the non-null portions of the key do not have to match any corresponding portion of a parent key.

Parent Key Modifications and Foreign Keys

The relationship between foreign key and parent key has implications for deletion of parent keys. For example, if a user attempts to delete the record for this department, then what happens to the records for employees in this department?

When a parent key is modified, referential integrity constraints can specify the following actions to be performed on dependent rows in a child table:

  • No action on deletion or update

    In the normal case, users cannot modify referenced key values if the results would violate referential integrity. For example, if employees.department_id is a foreign key to departments, and if employees belong to a particular department, then an attempt to delete the row for this department violates the constraint.

  • Cascading deletions

    A deletion cascades (DELETE CASCADE) when rows containing referenced key values are deleted, causing all rows in child tables with dependent foreign key values to also be deleted. For example, the deletion of a row in departments causes rows for all employees in this department to be deleted.

  • Deletions tha\t set null

    A deletion sets null (DELETE SET NULL) when rows containing referenced key values are deleted, causing all rows in child tables with dependent foreign key values to set those values to null. For example, the deletion of a department row sets the department_id column value to null for employees in this department.

Table 5-3 outlines the DML statements allowed by the different referential actions on the key values in the parent table, and the foreign key values in the child table.

Table 5-3 DML Statements Allowed by Update and Delete No Action

DML StatementIssued Against Parent TableIssued Against Child Table

INSERT

Always OK if the parent key value is unique

OK only if the foreign key value exists in the parent key or is partially or all null

UPDATE NO ACTION

Allowed if the statement does not leave any rows in the child table without a referenced parent key value

Allowed if the new foreign key value still references a referenced key value

DELETE NO ACTION

Allowed if no rows in the child table reference the parent key value

Always OK

DELETE CASCADE

Always OK

Always OK

DELETE SET NULL

Always OK

Always OK



Note:

Other referential actions not supported by FOREIGN KEY integrity constraints of Oracle Database can be enforced using database triggers. See "Overview of Triggers".


See Also:

Oracle Database SQL Language Reference to learn about the ON DELETE clause

Indexes and Foreign Keys

As a rule, foreign keys should be indexed. The only exception is when the matching unique or primary key is never updated or deleted. Indexing the foreign keys in child tables provides the following benefits:

  • Prevents a full table lock on the child table. Instead, the database acquires a row lock on the index.

  • Removes the need for a full table scan of the child table. As an illustration, assume that a user removes the record for department 10 from the departments table. If employees.department_id is not indexed, then the database must scan employees to see if any employees exist in department 10.

Check Constraints

A check constraint on a column or set of columns requires that a specified condition be true or unknown for every row. If DML results in the condition of the constraint evaluating to false, then the SQL statement is rolled back.

The chief benefit of check constraints is the ability to enforce very specific integrity rules. For example, you could use check constraints to enforce the following rules in the hr.employees table:

  • The salary column must not have a value greater than 10000.

  • The commission column must have a value that is not greater than the salary.

The following example creates a maximum salary constraint on employees and demonstrates what happens when a statement attempts to insert a row containing a salary that exceeds the maximum:

SQL> ALTER TABLE employees ADD CONSTRAINT max_emp_sal CHECK (salary < 10001);
SQL> INSERT INTO employees (employee_id,last_name,email,hire_date,job_id,salary)
  1  VALUES (999,'Green','BGREEN',SYSDATE,'ST_CLERK',20000);
.
.
.
ERROR at line 1:
ORA-02290: check constraint (HR.MAX_EMP_SAL) violated

A single column can have multiple check constraints that reference the column in its definition. For example, the salary column could have one constraint that prevents values over 10000 and a separate constraint that prevents values less than 500.

If multiple check constraints exist for a column, then they must be designed so their purposes do not conflict. No order of evaluation of the conditions can be assumed. The database does not verify that check conditions are not mutually exclusive.


See Also:

Oracle Database SQL Language Reference to learn about restrictions for check constraints

States of Integrity Constraints

As part of constraint definition, you can specify how and when Oracle Database should enforce the constraint, thereby determining the constraint state.

Checks for Modified and Existing Data

The database enables you to specify whether a constraint applies to existing data or future data. If a constraint is enabled, then the database checks new data as it is entered or updated. Data that does not conform to the constraint cannot enter the database. For example, enabling a NOT NULL constraint on employees.department_id guarantees that every future row has a department ID. If a constraint is disabled, then the table can contain rows that violate the constraint.

You can set constraints to validate (VALIDATE) or not validate (NOVALIDATE) existing data. If VALIDATE is specified, then existing data must conform to the constraint. For example, enabling a NOT NULL constraint on employees.department_id and setting it to VALIDATE checks that every existing row has a department ID. If NOVALIDATE is specified, then existing data need not conform to the constraint.

The behavior of VALIDATE and NOVALIDATE always depends on whether the constraint is enabled or disabled. Table 5-4 summarizes the relationships.

Table 5-4 Checks on Modified and Existing Data

Modified DataExisting DataSummary

ENABLE

VALIDATE

Existing and future data must obey the constraint. An attempt to apply a new constraint to a populated table results in an error if existing rows violate the constraint.

ENABLE

NOVALIDATE

The database checks the constraint, but it need not be true for all rows. Thus, existing rows can violate the constraint, but new or modified rows must conform to the rules.

DISABLE

VALIDATE

The database disables the constraint, drops its index, and prevents modification of the constrained columns.

DISABLE

NOVALIDATE

The constraint is not checked and is not necessarily true.



See Also:

Oracle Database SQL Language Reference to learn about constraint states

Deferrable Constraints

Every constraint is either in a not deferrable (default) or deferrable state. This state determines when Oracle Database checks the constraint for validity. The following graphic depicts the options for deferrable constraints.

Description of cncpt313.gif follows
Description of the illustration cncpt313.gif

Nondeferrable Constraints

If a constraint is not deferrable, then Oracle Database never defers the validity check of the constraint to the end of the transaction. Instead, the database checks the constraint at the end of each statement. If the constraint is violated, then the statement rolls back.

For example, assume that you create a nondeferrable NOT NULL constraint for the employees.last_name column. If a user attempts to insert a row with no last name, then the database immediately rolls back the statement because the NOT NULL constraint is violated. No row is inserted.

Deferrable Constraints

A deferrable constraint permits a transaction to use the SET CONSTRAINT clause to defer checking of this constraint until a COMMIT statement is issued. If you make changes to the database that might violate the constraint, then this setting effectively lets you disable the constraint until all the changes are complete.

You can set the default behavior for when the database checks the deferrable constraint. You can specify either of the following attributes:

  • INITIALLY IMMEDIATE

    The database checks the constraint immediately after each statement executes. If the constraint is violated, then the database rolls back the statement.

  • INITIALLY DEFERRED

    The database checks the constraint when a COMMIT is issued. If the constraint is violated, then the database rolls back the transaction.

Assume that a deferrable NOT NULL constraint on employees.last_name is set to INITIALLY DEFERRED. A user creates a transaction with 100 INSERT statements, some of which have null values for last_name. When the user attempts to commit, the database rolls back all 100 statements. However, if this constraint were set to INITIALLY IMMEDIATE, then the database would not roll back the transaction.

If a constraint causes an action, then the database considers this action as part of the statement that caused it, whether the constraint is deferred or immediate. For example, deleting a row in departments causes the deletion of all rows in employees that reference the deleted department row. In this case, the deletion from employees is considered part of the DELETE statement executed against departments.


See Also:

Oracle Database SQL Language Reference for information about constraint attributes and their default values

Examples of Constraint Checking

Some examples may help illustrate when Oracle Database performs the checking of constraints. Assume the following:

  • The employees table has the structure shown in Figure 5-2.

  • The self-referential constraint makes entries in the manager_id column dependent on the values of the employee_id column.

Insertion of a Value in a Foreign Key Column When No Parent Key Value Exists

Consider the insertion of the first row into the employees table. No rows currently exist, so how can a row be entered if the value in the manager_id column cannot reference any existing value in the employee_id column? Some possibilities are:

  • A null can be entered for the manager_id column of the first row, if the manager_id column does not have a NOT NULL constraint defined on it.

    Because nulls are allowed in foreign keys, this row is inserted into the table.

  • The same value can be entered in the employee_id and manager_id columns, specifying that the employee is his or her own manager.

    This case reveals that Oracle Database performs its constraint checking after the statement has been completely run. To allow a row to be entered with the same values in the parent key and the foreign key, the database must first run the statement (that is, insert the new row) and then determine whether any row in the table has an employee_id that corresponds to the manager_id of the new row.

  • A multiple row INSERT statement, such as an INSERT statement with nested SELECT statement, can insert rows that reference one another.

    For example, the first row might have 200 for employee ID and 300 for manager ID, while the second row has 300 for employee ID and 200 for manager. Constraint checking is deferred until the complete execution of the statement. All rows are inserted first, and then all rows are checked for constraint violations.

Default values are included as part of an INSERT statement before the statement is parsed. Thus, default column values are subject to all integrity constraint checking.

An Update of All Foreign Key and Parent Key Values

Consider the same self-referential integrity constraint in a different scenario. The company has been sold. Because of this sale, all employee numbers must be updated to be the current value plus 5000 to coordinate with the employee numbers of the new company. Because manager numbers are really employee numbers (see Figure 5-3), the manager numbers must also increase by 5000.

Figure 5-3 The employees Table Before Updates

Description of Figure 5-3 follows
Description of "Figure 5-3 The employees Table Before Updates"

You could execute the following SQL statement to update the values:

UPDATE employees SET employee_id = employee_id + 5000,
  manager_id = manager_id + 5000;

Although a constraint is defined to verify that each manager_id value matches an employee_id value, the preceding statement is legal because the database effectively checks constraints after the statement completes. Figure 5-4 shows that the database performs the actions of the entire SQL statement before checking constraints.

Figure 5-4 Constraint Checking

Description of Figure 5-4 follows
Description of "Figure 5-4 Constraint Checking"

The examples in this section illustrate the constraint checking mechanism during INSERT and UPDATE statements, but the database uses the same mechanism for all types of DML statements. The same mechanism is used for all types of constraints, not just self-referential constraints.


Note:

Operations on a view or synonym are subject to the integrity constraints defined on the base tables.

PK'PKM%AOEBPS/dist_pro.htm Application and Networking Architecture

16 Application and Networking Architecture

This chapter defines application architecture and describes how an Oracle database and database applications work in a distributed processing environment. This material applies to almost every type of Oracle Database environment.

This chapter contains the following sections:

Overview of Oracle Application Architecture

In the context of this chapter, application architecture refers to the computing environment in which a database application connects to an Oracle database.

Overview of Client/Server Architecture

In the Oracle Database environment, the database application and the database are separated into a client/server architecture:

  • The client runs the database application, for example, SQL*Plus or a Visual Basic data entry program, that accesses database information and interacts with a user.

  • The server runs the Oracle Database software and handles the functions required for concurrent, shared data access to an Oracle database.

Although the client application and database can run on the same computer, greater efficiency is often achieved when the client portions and server portion are run by different computers connected through a network. The following sections discuss variations in the Oracle Database client/server architecture.

Distributed Processing

Using multiple hosts to process an individual task is known as distributed processing. Front-end and back-end processing occurs on different computers. In Figure 16-1, the client and server are located on different hosts connected through Oracle Net Services.

Figure 16-1 Client/Server Architecture and Distributed Processing

Description of Figure 16-1 follows
Description of "Figure 16-1 Client/Server Architecture and Distributed Processing"

Figure 16-2 is a variation that depicts a distributed database. In this example, a database on one host accesses data on a separate database located on a different host.

Figure 16-2 Client/Server Architecture and Distributed Database

Description of Figure 16-2 follows
Description of "Figure 16-2 Client/Server Architecture and Distributed Database"


Note:

This rest of this chapter applies to environments with one database on one server.

Advantages of a Client/Server Architecture

Oracle Database client/server architecture in a distributed processing environment provides the following benefits:

  • Client applications are not responsible for performing data processing. Rather, they request input from users, request data from the server, and then analyze and present this data using the display capabilities of the client workstation or the terminal (for example, using graphics or spreadsheets).

  • Client applications are not dependent on the physical location of the data. Even if the data is moved or distributed to other database servers, the application continues to function with little or no modification.

  • Oracle Database exploits the multitasking and shared-memory facilities of its underlying operating system. As a result, it delivers the highest possible degree of concurrency, data integrity, and performance to its client applications.

  • Client workstations or terminals can be optimized for the presentation of data (for example, by providing graphics and mouse support), while the server can be optimized for the processing and storage of data (for example, by having large amounts of memory and disk space).

  • In networked environments, you can use inexpensive client workstations to access the remote data of the server effectively.

  • The database can be scaled as your system grows. You can add multiple servers to distribute the database processing load throughout the network (horizontally scaled), or you can move the database to a minicomputer or mainframe to take advantage of a larger system's performance (vertically scaled). In either case, data and applications are maintained with little or no modification because Oracle Database is portable between systems.

  • In networked environments, shared data is stored on the servers rather than on all computers, making it easier and more efficient to manage concurrent access.

  • In networked environments, client applications submit database requests to the server using SQL statements. After it is received, each SQL statement is processed by the server, which returns results to the client. Network traffic is minimized because only the requests and the results are shipped over the network.


See Also:

Oracle Database Administrator's Guide to learn more about distributed databases

Overview of Multitier Architecture

In a traditional multitier architecture environment, an application server provides data for clients and serves as an interface between clients and database servers. This architecture enables use of an application server to:

  • Validate the credentials of a client, such as a Web browser

  • Connect to a database server

  • Perform the requested operation

An example of a multitier architecture appears in Figure 16-3.

Figure 16-3 A Multitier Architecture Environment

Description of Figure 16-3 follows
Description of "Figure 16-3 A Multitier Architecture Environment"

Clients

A client initiates a request for an operation to be performed on the database server. The client can be a Web browser or other end-user program. In a multitier architecture, the client connects to the database server through one or more application servers.

Application Servers

An application server provides access to the data for the client. It serves as an interface between the client and one or more database servers, and hosts the applications.

An application server permits thin clients, which are clients equipped with minimal software configurations, to access applications without requiring ongoing maintenance of the client computers. The application server can also perform some data reformatting for the client, reducing the load on the client workstation.

The application server assumes the identity of the client when it is performing operations on the database server for that client. The privileges of the application server should be restricted to prevent it from performing unneeded and unwanted operations during a client operation.

Database Servers

A database server provides the data requested by an application server on behalf of a client. The database performs all of the query processing.

The database server can audit operations performed by the application server on behalf of clients and operations performed by the application server on its own behalf (see "Monitoring"). For example, a client operation can request information to display on the client, while an application server operation can request a connection to the database server.

Service Oriented Architecture (SOA)

The database can serve as a Web service provider in traditional multitier or service-oriented architecture (SOA) environments. SOA is a multitier architecture relying on services that support computer-to-computer interaction over a network. The services can be dynamically discovered and queried on available functions and calling sequences.

SOA services are usually implemented as Web services accessible through the HTTP protocol. They are based on XML standards such as WSDL and SOAP.

The Oracle Database Web service capability, which is implemented as part of XML DB, must be specifically enabled by the DBA. Applications can then accomplish the following through database Web services:

  • Submit SQL or XQuery queries and receive results as XML

  • Invoke standalone PL/SQL functions and receive results (see "PL/SQL Subprograms")

  • Invoke PL/SQL package functions and receive results

Database Web services provide a simple way to add Web services to an application environment without the need for an application server. However, invoking Web services through application servers such as Oracle Fusion Middleware offers security, scalability, UDDI registration, and reliable messaging in an SOA environment. However, because database Web services integrate easily with Oracle Fusion Middleware, they may be appropriate for optimizing SOA solutions.


See Also:

  • Oracle XML DB Developer's Guide for information on enabling and using database Web services

  • Oracle Fusion Middleware documentation for more information on SOA and Web services


Overview of Grid Architecture

In an Oracle Database environment, grid computing is a computing architecture that effectively pools large numbers of servers and storage into a flexible, on-demand computing resource. Modular hardware and software components can be connected and rejoined on demand to meet the changing needs of businesses.


See Also:

"Overview of Grid Computing" for more detailed information about server and storage grids

Overview of Oracle Networking Architecture

Oracle Net Services is a suite of networking components that provides enterprise-wide connectivity solutions in distributed, heterogeneous computing environments. Oracle Net Services enables a network session from an application to a database instance and a database instance to another database instance.

Oracle Net Services provides location transparency, centralized configuration and management, and quick installation and configuration. It also lets you maximize system resources and improve performance. The Oracle Database shared server architecture increases the scalability of applications and the number of clients simultaneously connected to the database. The Virtual Interface (VI) protocol places most of the messaging burden on high-speed network hardware, freeing the CPU.

Oracle Net Services uses the communication protocols or application programmatic interfaces (APIs) supported by a wide range of networks to provide distributed database and distributed processing. After a network session is established, Oracle Net Services acts as a data courier for the client application and the database server, establishing and maintaining a connection and exchanging messages. Oracle Net Services can perform these tasks because it exists on each computer in the network.


See Also:

Oracle Database Net Services Administrator's Guide for an overview of Oracle Net architecture

How Oracle Net Services Works

Oracle Database protocols take SQL statements from the interface of the Oracle applications and package them for transmission to Oracle Database through a supported industry-standard higher level protocol or API. Replies from Oracle Database are packaged through the same higher level communications mechanism. This work occurs independently of the network operating system.

Depending on the operating system that runs Oracle Database, the Oracle Net Services software of the database server could include the driver software and start an additional background process.


See Also:

Oracle Database Net Services Administrator's Guide for more information about how Oracle Net Services works

The Oracle Net Listener

The Oracle Net Listener, also called the listener, is a server-side process that listens for incoming client connection requests and manages traffic to the database. When a database instance starts, and at various times during its life, the instance contacts a listener and establishes a communication pathway to this instance.

Service registration enables the listener to determine whether a database service and its service handlers are available. A service handler is a dedicated server process or dispatcher that acts as a connection point to a database. During registration, the PMON process provides the listener with the instance name, database service names, and the type and addresses of service handlers. This information enables the listener to start a service handler when a client request arrives.

Figure 16-4 shows two databases, each on a separate host. The database environment is serviced by two listeners, each on a separate host. The PMON process running in each database instance communicates with both listeners to register the database.

Description of cncpt315.gif follows
Description of the illustration cncpt315.gif

Figure 16-4 shows a browser making an HTTP connection and a client making a database connection through a listener. The listener does not need to reside on the database host.

Figure 16-4 Listener Architecture

Description of Figure 16-4 follows
Description of "Figure 16-4 Listener Architecture"

The basic steps by which a client establishes a connection through a listener are:

  1. A client process or another database requests a connection.

  2. The listener selects an appropriate service handler to service the client request and forwards the request to the handler.

  3. The client process connects directly to the service handler. The listener is no longer involved in the communication.

Service Names

In the context of net services, a service is a set of one or more database instances. A service name is a logical representation of a service used for client connections.

When a client connects to a listener, it requests a connection to a service. When a database instance starts, it registers itself with a listener as providing one or more services by name. Thus, the listener acts as a mediator between the client and instances and routes the connection request to the right place.

A single service, as known by a listener, can identify one or more database instances. Also, a single database instance can register one or more services with a listener. Clients connecting to a service need not specify which instance they require.

Figure 16-5 shows one single-instance database associated with two services, book.example.com and soft.example.com. The services enable the same database to be identified differently by different clients. A database administrator can limit or reserve system resources, permitting better resource allocation to clients requesting one of these services.

Figure 16-5 Multiple Services Associated with One Database

Description of Figure 16-5 follows
Description of "Figure 16-5 Multiple Services Associated with One Database"


See Also:

Oracle Database Net Services Administrator's Guide to learn more about naming methods

Service Registration

Service registration is a feature by which the PMON process dynamically registers instance information with a listener, which enables the listener to forward client connection requests to the appropriate service handler. PMON provides the listener with information about the following:

  • Names of the database services provided by the database

  • Name of the database instance associated with the services and its current and maximum load

  • Service handlers (dispatchers and dedicated servers) available for the instance, including their type, protocol addresses, and current and maximum load

Service registration is dynamic and does not require configuration in the listener.ora file. Dynamic registration reduces administrative overhead for multiple databases or instances.

The initialization parameter SERVICE_NAMES lists the services an instance belongs to. On startup, each instance registers with the listeners of other instances belonging to the same services. During database operations, the instances of each service pass information about CPU use and current connection counts to all listeners in the same services. This communication enables dynamic load balancing and connection failover.


See Also:


Dedicated Server Architecture

In a dedicated server architecture, the server process created on behalf of each client process is called a dedicated server process (or shadow process). This server process is separate from the client process and acts only on its behalf, as shown in Figure 16-6.

Figure 16-6 Oracle Database Using Dedicated Server Processes

Description of Figure 16-6 follows
Description of "Figure 16-6 Oracle Database Using Dedicated Server Processes"

A one-to-one ratio exists between the client processes and server processes. Even when the user is not actively making a database request, the dedicated server process remains—although it is inactive and can be paged out on some operating systems.

Figure 16-6 shows user and server processes running on networked computers. However, the dedicated server architecture is also used if the same computer runs both the client application and the database code but the host operating system could not maintain the separation of the two programs if they were run in a single process. Linux is an example of such an operating system.

In the dedicated server architecture, the user and server processes communicate using different mechanisms:

  • If the client process and the dedicated server process run on the same computer, then the program interface uses the host operating system's interprocess communication mechanism to perform its job.

  • If the client process and the dedicated server process run on different computers, then the program interface provides the communication mechanisms (such as the network software and Oracle Net Services) between the programs.

Underutilized dedicated servers sometimes result in inefficient use of operating system resources. Consider an order entry system with dedicated server processes. A customer places an order as a clerk enters the order into the database. For most of the transaction, the clerk is talking to the customer while the server process dedicated to the clerk's client process is idle. The server process is not needed during most of the transaction, and the system may be slower for other clerks entering orders if the system is managing too many processes. For applications of this type, the shared server architecture may be preferable.


See Also:

Oracle Database Net Services Administrator's Guide to learn more about dedicated server processes

Shared Server Architecture

In a shared server architecture, a dispatcher directs multiple incoming network session requests to a pool of shared server processes, eliminating the need for a dedicated server process for each connection. An idle shared server process from the pool picks up a request from a common queue.

The potential benefits of shared server are as follows:

  • Reduces the number of processes on the operating system

    A small number of shared servers can perform the same amount of processing as many dedicated servers.

  • Reduces instance PGA memory

    Every dedicated or shared server has a PGA. Fewer server processes means fewer PGAs and less process management.

  • Increases application scalability and the number of clients that can simultaneously connect to the database

  • May be faster than dedicated server when the rate of client connections and disconnections is high

Shared server has several disadvantages, including slower response time in some cases, incomplete feature support, and increased complexity for setup and tuning. As a general guideline, only use shared server when you have more concurrent connections to the database than the operating system can handle.

The following processes are needed in a shared server architecture:

  • A network listener that connects the client processes to dispatchers or dedicated servers (the listener is part of Oracle Net Services, not Oracle Database)


    Note:

    To use shared servers, a client process must connect through Oracle Net Services, even if the process runs on the same computer as the Oracle Database instance.

  • One or more dispatcher process (Dnnn)

  • One or more shared server processes

Note that a database can support both shared server and dedicated server connections simultaneously. For example, one client can connect using a dedicated server while a differ Cent client connects to the same database using a shared server.


See Also:


Dispatcher Request and Response Queues

A request from a user is a single API call that is part of the user's SQL statement. When a user makes a call, the following actions occur:

  1. The dispatcher places the request on the request queue, where it is picked up by the next available shared server process.

    The request queue is in the SGA and is common to all dispatcher processes of an instance (see "Large Pool").

  2. The shared server processes check the common request queue for new requests, picking up new requests on a first-in-first-out basis.

  3. One shared server process picks up one request in the queue and makes all necessary calls to the database to complete this request.

    A different server process can handle each database call. Therefore, requests to parse a query, fetch the first row, fetch the next row, and close the result set may each be processed by a different shared server.

  4. When the server process completes the request, it places the response on the calling dispatcher's response queue. Each dispatcher has its own response queue.

  5. The dispatcher returns the completed request to the appropriate client process.

For example, in an order entry system, each clerk's client process connects to a dispatcher. Each request made by the clerk is sent to this dispatcher, which places the request in the queue. The next available shared server picks up the request, services it, and puts the response in the response queue. When a request is completed, the clerk remains connected to the dispatcher, but the shared server that processed the request is released and available for other requests. While one clerk talks to a customer, another clerk can use the same shared server process.

Figure 16-7 shows how client processes communicate with the dispatcher across the API and how the dispatcher communicates user requests to shared server processes.

Figure 16-7 The Shared Server Configuration and Processes

Description of Figure 16-7 follows
Description of "Figure 16-7 The Shared Server Configuration and Processes"

Dispatcher Processes (Dnnn)

The dispatcher processes enable client processes to share a limited number of server processes. You can create multiple dispatcher processes for a single database instance. The optimum number of dispatcher processes depending on the operating system limitation and the number of connections for each process.


Note:

Each client process that connects to a dispatcher must use Oracle Net Services, even if both processes run on the same host.

Dispatcher processes establish communication as follows:

  1. When an instance starts, the network listener process opens and establishes a communication pathway through which users connect to Oracle Database.

  2. Each dispatcher process gives the listener process an address at which the dispatcher listens for connection requests.

    At least one dispatcher process must be configured and started for each network protocol that the database clients will use.

  3. When a client process makes a connection request, the listener determines whether the client process should use a shared server process:

    • If the listener determines that a shared server process is required, then the listener returns the address of the dispatcher process that has the lightest load, and the client process connects to the dispatcher directly.

    • If the process cannot communicate with the dispatcher, or if the client process requests a dedicated server, then the listener creates a dedicated server and establishes an appropriate connection.


See Also:

Oracle Database Net Services Administrator's Guide to learn how to configure dispatchers

Shared Server Processes (Snnn)

Each shared server process serves multiple client requests in the shared server configuration. Shared and dedicated server processes provide the same functionality, except shared server processes are not associated with a specific client process. Instead, a shared server process serves any client request in the shared server configuration.

The PGA of a shared server process does not contain UGA data, which must be accessible to all shared server processes (see "Overview of the Program Global Area"). The shared server PGA contains only process-specific data.

All session-related information is contained in the SGA. Each shared server process must be able to access all sessions' data spaces so that any server can handle requests from any session. Space is allocated in the SGA for each session's data space.

Restricted Operations of the Shared Server

Certain administrative activities cannot be performed while connected to a dispatcher process, including shutting down or starting an instance and media recovery. These activities are typically performed when connected with administrator privileges. To connect with administrator privileges in a system configured with shared servers, you must specify that you want to use a dedicated server process.


See Also:

Oracle Database Net Services Administrator's Guide for the proper connect string syntax

Database Resident Connection Pooling

Database Resident Connection Pooling (DRCP) provides a connection pool of dedicated servers for typical Web application scenarios. A Web application typically makes a database connection, uses the connection briefly, and then releases it. Through DRCP, the database can scale to tens of thousands of simultaneous connections.

DRCP provides the following advantages:

  • Complements middle-tier connection pools that share connections between threads in a middle-tier process.

  • Enables database connections to be shared across multiple middle-tier processes. These middle-tier processes may belong to the same or different middle-tier host.

  • Enables a significant reduction in key database resources required to support many client connections. For example, DRCP reduces the memory required for the database and boosts the scalability of the database and middle tier. The pool of available servers also reduces the cost of re-creating client connections.

  • Provides pooling for architectures with multi-process, single-threaded application servers, such as PHP and Apache, that cannot do middle-tier connection pooling.

DRCP uses a pooled server, which is the equivalent of a dedicated server process (not a shared server process) and a database session combined. The pooled server model avoids the overhead of dedicating a server for every connection that requires the server for a short period.

Clients obtaining connections from the database resident connection pool connect to an Oracle background process known as the connection broker. The connection broker implements the pool functionality and multiplexes pooled servers among inbound connections from client processes.

As shown in Figure 16-8, when a client requires database access, the connection broker picks up a server process from the pool and hands it off to the client. The client is directly connected to the server process until the request is served. After the server has finished, the server process is released into the pool. The connection from the client is restored to the broker.

In DRCP, releasing resources leaves the session intact, but no longer associated with a connection (server process). Unlike in shared server, this session stores its UGA in the PGA, not in the SGA. A client can reestablish a connection transparently upon detecting activity.

Overview of the Program Interface

The program interface is the software layer between a database application and Oracle Database. The program interface performs the following functions:

  • Provides a security barrier, preventing destructive access to the SGA by client client processes

  • Acts as a communication mechanism, formatting information requests, passing data, and trapping and returning errors

  • Converts and translates data, particularly between different types of computers or to external user program data types

The Oracle code acts as a server, performing database tasks on behalf of an application (a client), such as fetching rows from data blocks. The program interface consists of several parts, provided by both Oracle Database software and operating system-specific software.

Program Interface Structure

The program interface consists of the following pieces:

  • Oracle call interface (OCI) or the Oracle run-time library (SQLLIB)

  • The client or user side of the program interface

  • Various Oracle Net Services drivers (protocol-specific communications software)

  • Operating system communications software

  • The server or Oracle Database side of the program interface (also called the OPI)

The user and Oracle Database sides of the program interface run Oracle software, as do the drivers.

Program Interface Drivers

Drivers are pieces of software that transport data, usually across a network. They perform operations such as connect, disconnect, signal errors, and test for errors. Drivers are specific to a communications protocol.

There is always a default driver. You can install multiple drivers, such as the asynchronous or DECnet drivers, and select one as the default driver, but allow a user to use other drivers by specifying a driver when connecting.

Different processes can use different drivers. A process can have concurrent connections to a single database or to multiple databases using different Oracle Net Services drivers.


See Also:


Communications Software for the Operating System

The lowest-level software connecting the user side to the Oracle Database side of the program interface is the communications software, which is provided by the host operating system. DECnet, TCP/IP, LU6.2, and ASYNC are examples. The communication software can be supplied by Oracle, but it is usually purchased separately from the hardware vendor or a third-party software supplier.

PK!l  PKM%AOEBPS/part_datac.htm! Oracle Data Access

Part II

Oracle Data Access

This part contains the following chapters:

PKb&!PKM%AOEBPS/memory.htm Memory Architecture

14 Memory Architecture

This chapter discusses the memory architecture of an Oracle Database instance.

This chapter contains the following sections:


See Also:

Oracle Database Administrator's Guide for instructions for configuring and managing memory

Introduction to Oracle Database Memory Structures

When an instance is started, Oracle Database allocates a memory area and starts background processes. The memory area stores information such as the following:

  • Program code

  • Information about each connected session, even if it is not currently active

  • Information needed during program execution, for example, the current state of a query from which rows are being fetched

  • Information such as lock data that is shared and communicated among processes

  • Cached data, such as data blocks and redo records, that also exists on disk

Basic Memory Structures

The basic memory structures associated with Oracle Database include:

  • System global area (SGA)

    The SGA is a group of shared memory structures, known as SGA components, that contain data and control information for one Oracle Database instance. The SGA is shared by all server and background processes. Examples of data stored in the SGA include cached data blocks and shared SQL areas.

  • Program global area (PGA)

    A PGA is a nonshared memory region that contains data and control information exclusively for use by an Oracle process. The PGA is created by Oracle Database when an Oracle process is started.

    One PGA exists for each server process and background process. The collection of individual PGAs is the total instance PGA, or instance PGA. Database initialization parameters set the size of the instance PGA, not individual PGAs.

  • User Global Area (UGA)

    The UGA is memory associated with a user session.

  • Software code areas

    Software code areas are portions of memory used to store code that is being run or can be run. Oracle Database code is stored in a software area that is typically at a different location from user programs—a more exclusive or protected location.

Figure 14-1 illustrates the relationships among these memory structures.

Figure 14-1 Oracle Database Memory Structures

Description of Figure 14-1 follows
Description of "Figure 14-1 Oracle Database Memory Structures"

Oracle Database Memory Management

Memory management involves maintaining optimal sizes for the Oracle instance memory structures as demands on the database change. Oracle Database manages memory based on the settings of memory-related initialization parameters. The basic options for memory management are as follows:

  • Automatic memory management

    You specify the target size for instance memory. The database instance automatically tunes to the target memory size, redistributing memory as needed between the SGA and the instance PGA.

  • Automatic shared memory management

    This management mode is partially automated. You set a target size for the SGA and then have the option of setting an aggregate target size for the PGA or managing PGA work areas individually.

  • Manual memory management

    Instead of setting the total memory size, you set many initialization parameters to manage components of the SGA and instance PGA individually.

If you create a database with Database Configuration Assistant (DBCA) and choose the basic installation option, then automatic memory management is the default.


See Also:


Overview of the User Global Area

The UGA is session memory, which is memory allocated for session variables, such as logon information, and other information required by a database session. Essentially, the UGA stores the session state. Figure 14-2 depicts the UGA.

Figure 14-2 User Global Area (UGA)

Description of Figure 14-2 follows
Description of "Figure 14-2 User Global Area (UGA)"

If a session loads a PL/SQL package into memory, then the UGA contains the package state, which is the set of values stored in all the package variables at a specific time (see "PL/SQL Packages"). The package state changes when a package subprogram changes the variables. By default, the package variables are unique to and persist for the life of the session.

The OLAP page pool is also stored in the UGA. This pool manages OLAP data pages, which are equivalent to data blocks. The page pool is allocated at the start of an OLAP session and released at the end of the session. An OLAP session opens automatically whenever a user queries a dimensional object such as a cube.

The UGA must be available to a database session for the life of the session. For this reason, the UGA cannot be stored in the PGA when using a shared server connection because the PGA is specific to a single process. Therefore, the UGA is stored in the SGA when using shared server connections, enabling any shared server process access to it. When using a dedicated server connection, the UGA is stored in the PGA.


See Also:


Overview of the Program Global Area

The PGA is memory specific to an operating process or thread that is not shared by other processes or threads on the system. Because the PGA is process-specific, it is never allocated in the SGA.

The PGA is a memory heap that contains session-dependent variables required by a dedicated or shared server process. The server process allocates memory structures that it requires in the PGA.

An analogy for a PGA is a temporary countertop workspace used by a file clerk. In this analogy, the file clerk is the server process doing work on behalf of the customer (client process). The clerk clears a section of the countertop, uses the workspace to store details about the customer request and to sort the folders requested by the customer, and then gives up the space when the work is done.

Figure 14-3 shows an instance PGA (collection of all PGAs) for an instance that is not configured for shared servers. You can use an initialization parameter to set a target maximum size of the instance PGA (see "Summary of Memory Management Methods"). Individual PGAs can grow as needed up to this target size.


Note:

Background processes also allocate their own PGAs. This discussion focuses on server process PGAs only.

Contents of the PGA

The PGA is subdivided into different areas, each with a different purpose. Figure 14-4 shows the possible contents of the PGA for a dedicated server session. Not all of the PGA areas will exist in every case.

Private SQL Area

A private SQL area holds information about a parsed SQL statement and other session-specific information for processing. When a server process executes SQL or PL/SQL code, the process uses the private SQL area to store bind variable values, query execution state information, and query execution work areas.

Do not confuse a private SQL area, which is in the UGA, with the shared SQL area, which stores execution plans in the SGA. Multiple private SQL areas in the same or different sessions can point to a single execution plan in the SGA. For example, 20 executions of SELECT * FROM employees in one session and 10 executions of the same query in a different session can share the same plan. The private SQL areas for each execution are not shared and may contain different values and data.

A cursor is a name or handle to a specific private SQL area. As shown in Figure 14-5, you can think of a cursor as a pointer on the client side and as a state on the server side. Because cursors are closely associated with private SQL areas, the terms are sometimes used interchangeably.

A private SQL area is divided into the following areas:

  • The run-time area

    This area contains query execution state information. For example, the run-time area tracks the number of rows retrieved so far in a full table scan.

    Oracle Database creates the run-time area as the first step of an execute request. For DML statements, the run-time area is freed when the SQL statement is closed.

  • The persistent area

    This area contains bind variable values. A bind variable value is supplied to a SQL statement at run time when the statement is executed. The persistent area is freed only when the cursor is closed.

The client process is responsible for managing private SQL areas. The allocation and deallocation of private SQL areas depends largely on the application, although the number of private SQL areas that a client process can allocate is limited by the initialization parameter OPEN_CURSORS.

Although most users rely on the automatic cursor handling of database utilities, the Oracle Database programmatic interfaces offer developers more control over cursors. In general, applications should close all open cursors that will not be used again to free the persistent area and to minimize the memory required for application users.

SQL Work Areas

A work area is a private allocation of PGA memory used for memory-intensive operations. For example, a sort operator uses the sort area to sort a set of rows. Similarly, a hash join operator uses a hash area to build a hash table from its left input, whereas a bitmap merge uses the bitmap merge area to merge data retrieved from scans of multiple bitmap indexes.

Example 14-1 shows a join of employees and departments with its query plan.

Example 14-1 Query Plan for Table Join

SQL> SELECT * 
  2  FROM   employees e JOIN departments d 
  3  ON     e.department_id=d.department_id 
  4  ORDER BY last_name;
.
.
.
----------------------------------------------------------------------------------
| Id  | Operation           | Name        | Rows  | Bytes | Cost (%CPU)| Time    |
----------------------------------------------------------------------------------
|   0 | SELECT STATEMENT    |             |   106 |  9328 |    7  (29)| 00:00:01 |
|   1 |  SORT ORDER BY      |             |   106 |  9328 |    7  (29)| 00:00:01 |
|*  2 |   HASH JOIN         |             |   106 |  9328 |    6  (17)| 00:00:01 |
|   3 |    TABLE ACCESS FULL| DEPARTMENTS |    27 |   540 |    2   (0)| 00:00:01 |
|   4 |    TABLE ACCESS FULL| EMPLOYEES   |   107 |  7276 |    3   (0)| 00:00:01 |
----------------------------------------------------------------------------------

In Example 14-1, the run-time area tracks the progress of the full table scans. The session performs a hash join in the hash area to match rows from the two tables. The ORDER BY sort occurs in the sort area.

If the amount of data to be processed by the operators does not fit into a work area, then Oracle Database divides the input data into smaller pieces. In this way, the database processes some data pieces in memory while writing the rest to temporary disk storage for processing later.

The database automatically tunes work area sizes when automatic PGA memory management is enabled. You can also manually control and tune the size of a work area. See "Memory Management" for more information.

Generally, larger work areas can significantly improve performance of an operator at the cost of higher memory consumption. Optimally, the size of a work area is sufficient to accommodate the input data and auxiliary memory structures allocated by its associated SQL operator. If not, response time increases because part of the input data must be cached on disk. In the extreme case, if the size of a work area is too small compared to input data size, then the database must perform multiple passes over the data pieces, dramatically increasing response time.


See Also:


PGA Usage in Dedicated and Shared Server Modes

PGA memory allocation depends on whether the database uses dedicated or shared server connections. Table 14-1 shows the differences.

Table 14-1 Differences in Memory Allocation Between Dedicated and Shared Servers

Memory AreaDedicated ServerShared Server

Nature of session memory

Private

Shared

Location of the persistent area

PGA

SGA

Location of the run-time area for DML/DDL statements

PGA

PGA



See Also:

Oracle Database Net Services Administrator's Guide to learn how to configure a database for shared server

Overview of the System Global Area

The SGA is a read/write memory area that, along with the Oracle background processes, make up a database instance. All server processes that execute on behalf of users can read information in the instance SGA. Several processes write to the SGA during database operation.


Note:

The server and background processes do not reside within the SGA, but exist in a separate memory space.

Each database instance has its own SGA. Oracle Database automatically allocates memory for an SGA at instance startup and reclaims the memory at instance shutdown. When you start an instance with SQL*Plus or Oracle Enterprise Manager, the size of the SGA is shown as in the following example:

SQL> STARTUP
ORACLE instance started.
 
Total System Global Area  368283648 bytes
Fixed Size                  1300440 bytes
Variable Size             343935016 bytes
Database Buffers           16777216 bytes
Redo Buffers                6270976 bytes
Database mounted.
Database opened.

As shown in Figure 14-1, the SGA consists of several memory components, which are pools of memory used to satisfy a particular class of memory allocation requests. All SGA components except the redo log buffer allocate and deallocate space in units of contiguous memory called granules. Granule size is platform-specific and is determined by total SGA size.

You can query the V$SGASTAT view for information about SGA components.

The most important SGA components are the following:

Database Buffer Cache

The database buffer cache, also called the buffer cache, is the memory area that stores copies of data blocks read from data files. A buffer is a main memory address in which the buffer manager temporarily caches a currently or recently used data block. All users concurrently connected to a database instance share access to the buffer cache.

Oracle Database uses the buffer cache to achieve the following goals:

  • Optimize physical I/O

    The database updates data blocks in the cache and stores metadata about the changes in the redo log buffer. After a COMMIT, the database writes the redo buffers to disk but does not immediately write data blocks to disk. Instead, database writer (DBWn) performs lazy writes in the background.

  • Keep frequently accessed blocks in the buffer cache and write infrequently accessed blocks to disk

    When Database Smart Flash Cache (flash cache) is enabled, part of the buffer cache can reside in the flash cache. This buffer cache extension is stored on a flash disk device, which is a solid state storage device that uses flash memory. The database can improve performance by caching buffers in flash memory instead of reading from magnetic disk.


    Note:

    Database Smart Flash Cache is available only in Solaris and Oracle Enterprise Linux.

Buffer States

The database uses internal algorithms to manage buffers in the cache. A buffer can be in any of the following mutually exclusive states:

  • Unused

    The buffer is available for use because it has never been used or is currently unused. This type of buffer is the easiest for the database to use.

  • Clean

    This buffer was used earlier and now contains a read-consistent version of a block as of a point in time. The block contains data but is "clean" so it does not need to be checkpointed. The database can pin the block and reuse it.

  • Dirty

    The buffer contain modified data that has not yet been written to disk. The database must checkpoint the block before reusing it.

Every buffer has an access mode: pinned or free (unpinned). A buffer is "pinned" in the cache so that it does not age out of memory while a user session accesses it. Multiple sessions cannot modify a pinned buffer at the same time.

The database uses a sophisticated algorithm to make buffer access efficient. Pointers to dirty and nondirty buffers exist on the same least recently used (LRU) list, which has a hot end and cold end. A cold buffer is one that has not been recently used. A hot buffer is frequently accessed and has been recently used.




Note:

Conceptually, there is only one LRU, but for concurrency the database actually uses several LRUs.

Buffer Modes

When a client requests data, Oracle Database retrieves buffers from the database buffer cache in either of the following modes:

  • Current mode

    A current mode get, also called a db block get, is a retrieval of a block as it currently appears in the buffer cache. For example, if an uncommitted transaction has updated two rows in a block, then a current mode get retrieves the block with these uncommitted rows. The database uses db block gets most frequently during modification statements, which must update only the current version of the block.

  • Consistent mode

    A consistent read get is a retrieval of a read-consistent version of a block. This retrieval may use undo data. For example, if an uncommitted transaction has updated two rows in a block, and if a query in a separate session requests the block, then the database uses undo data to create a read-consistent version of this block (called a consistent read clone) that does not include the uncommitted updates. Typically, a query retrieves blocks in consistent mode.


See Also:


Buffer I/O

A logical I/O, also known as a buffer I/O, refers to reads and writes of buffers in the buffer cache. When a requested buffer is not found in memory, the database performs a physical I/O to copy the buffer from either the flash cache or disk into memory, and then a logical I/O to read the cached buffer.

Buffer Writes

The database writer (DBWn) process periodically writes cold, dirty buffers to disk. DBWn writes buffers in the following circumstances:

  • A server process cannot find clean buffers for reading new blocks into the database buffer cache.

    As buffers are dirtied, the number of free buffers decreases. If the number drops below an internal threshold, and if clean buffers are required, then server processes signal DBWn to write.

    The database uses the LRU to determine which dirty buffers to write. When dirty buffers reach the cold end of the LRU, the database moves them off the LRU to a write queue. DBWn writes buffers in the queue to disk, using multiblock writes if possible. This mechanism prevents the end of the LRU from becoming clogged with dirty buffers and allows clean buffers to be found for reuse.

  • The database must advance the checkpoint, which is the position in the redo thread from which instance recovery must begin.

  • Tablespaces are changed to read-only status or taken offline.


See Also:


Buffer Reads

When the number of clean or unused buffers is low, the database must remove buffers from the buffer cache. The algorithm depends on whether the flash cache is enabled:

  • Flash cache disabled

    The database re-uses each clean buffer as needed, overwriting it. If the overwritten buffer is needed later, then the database must read it from magnetic disk.

  • Flash cache enabled

    DBWn can write the body of a clean buffer to the flash cache, enabling reuse of its in-memory buffer. The database keeps the buffer header in an LRU list in main memory to track the state and location of the buffer body in the flash cache. If this buffer is needed later, then the database can read it from the flash cache instead of from magnetic disk.

When a client process requests a buffer, the server process searches the buffer cache for the buffer. A cache hit occurs if the database finds the buffer in memory. The search order is as follows:

  1. The server process searches for the whole buffer in the buffer cache.

    If the process finds the whole buffer, then the database performs a logical read of this buffer.

  2. The server process searches for the buffer header in the flash cache LRU list.

    If the process finds the buffer header, then the database performs an optimized physical read of the buffer body from the flash cache into the in-memory cache.

  3. If the process does not find the buffer in memory (a cache miss), then the server process performs the following steps:

    1. Copies the block from a data file into memory (a physical read)

    2. Performs a logical read of the buffer that was read into memory

Figure 14-6 illustrates the buffer search order. The extended buffer cache includes both the in-memory buffer cache, which contains whole buffers, and the flash cache, which contains buffer bodies. In the figure, the database searches for a buffer in the buffer cache and, not finding the buffer, reads it into memory from magnetic disk.

Figure 14-6 Buffer Search

Description of Figure 14-6 follows
Description of "Figure 14-6 Buffer Search"

In general, accessing data through a cache hit is faster than through a cache miss. The buffer cache hit ratio measures how often the database found a requested block in the buffer cache without needing to read it from disk.

The database can perform physical reads from either a data file or a temp file. Reads from a data file are followed by logical I/Os. Reads from a temp file occur when insufficient memory forces the database write data to a temporary table and read it back later. These physical reads bypass the buffer cache and do not incur a logical I/O.


See Also:

Oracle Database Performance Tuning Guide to learn how to calculate the buffer cache hit ratio

Buffer Touch Counts

The database measures the frequency of access of buffers on the LRU list using a touch count. This mechanism enables the database to increment a counter when a buffer is pinned instead of constantly shuffling buffers on the LRU list.


Note:

The database does not physically move blocks in memory. The movement is the change in location of a pointer on a list.

When a buffer is pinned, the database determines when its touch count was last incremented. If the count was incremented over three seconds ago, then the count is incremented; otherwise, the count stays the same. The three-second rule prevents a burst of pins on a buffer counting as many touches. For example, a session may insert several rows in a data block, but the database considers these inserts as one touch.

If a buffer is on the cold end of the LRU, but its touch count is high, then the buffer moves to the hot end. If the touch count is low, then the buffer ages out of the cache.

Buffers and Full Table Scans

When buffers must be read from disk, the database inserts the buffers into the middle of the LRU list. In this way, hot blocks can remain in the cache so that they do not need to be read from disk again.

A problem is posed by a full table scan, which sequentially reads all rows under the table high water mark (see "Segment Space and the High Water Mark"). Suppose that the total size of the blocks in a table segment is greater than the size of the buffer cache. A full scan of this table could clean out the buffer cache, preventing the database from maintaining a cache of frequently accessed blocks.

Blocks read into the database cache as the result of a full scan of a large table are treated differently from other types of reads. The blocks are immediately available for reuse to prevent the scan from effectively cleaning out the buffer cache.

In the rare case where the default behavior is not desired, you can change the CACHE attribute of the table. In this case, the database does not force or pin the blocks in the buffer cache, but ages them out of the cache in the same way as any other block. Use care when exercising this option because a full scan of a large table may clean most of the other blocks out of the cache.


See Also:


Buffer Pools

A buffer pool is a collection of buffers. The database buffer cache is divided into one or more buffer pools.

You can manually configure separate buffer pools that either keep data in the buffer cache or make the buffers available for new data immediately after using the data blocks. You can then assign specific schema objects to the appropriate buffer pool to control how blocks age out of the cache.

The possible buffer pools are as follows:

  • Default pool

    This pool is the location where blocks are normally cached. Unless you manually configure separate pools, the default pool is the only buffer pool.

  • Keep pool

    This pool is intended for blocks that were accessed frequently, but which aged out of the default pool because of lack of space. The goal of the keep buffer pool is to retain objects in memory, thus avoiding I/O operations.

  • Recycle pool

    This pool is intended for blocks that are used infrequently. A recycle pool prevent objects from consuming unnecessary space in the cache.

A database has a standard block size (see "Database Block Size"). You can create a tablespace with a block size that differs from the standard size. Each nondefault block size has its own pool. Oracle Database manages the blocks in these pools in the same way as in the default pool.

Figure 14-7 shows the structure of the buffer cache when multiple pools are used. The cache contains default, keep, and recycle pools. The default block size is 8 KB. The cache contains separate pools for tablespaces that use the nonstandard block sizes of 2 KB, 4 KB, and 16 KB.

Figure 14-7 Database Buffer Cache

Description of Figure 14-7 follows
Description of "Figure 14-7 Database Buffer Cache"


See Also:


Redo Log Buffer

The redo log buffer is a circular buffer in the SGA that stores redo entries describing changes made to the database. Redo entries contain the information necessary to reconstruct, or redo, changes made to the database by DML or DDL operations. Database recovery applies redo entries to data files to reconstruct lost changes.

Oracle Database processes copy redo entries from the user memory space to the redo log buffer in the SGA. The redo entries take up continuous, sequential space in the buffer. The background process log writer (LGWR) writes the redo log buffer to the active online redo log group on disk. Figure 14-8 shows this redo buffer activity.

Figure 14-8 Redo Log Buffer

Description of Figure 14-8 follows
Description of "Figure 14-8 Redo Log Buffer"

LGWR writes redo sequentially to disk while DBWn performs scattered writes of data blocks to disk. Scattered writes tend to be much slower than sequential writes. Because LGWR enable users to avoid waiting for DBWn to complete its slow writes, the database delivers better performance.

The LOG_BUFFER initialization parameter specifies the amount of memory that Oracle Database uses when buffering redo entries. Unlike other SGA components, the redo log buffer and fixed SGA buffer do not divide memory into granules.

Shared Pool

The shared pool caches various types of program data. For example, the shared pool stores parsed SQL, PL/SQL code, system parameters, and data dictionary information. The shared pool is involved in almost every operation that occurs in the database. For example, if a user executes a SQL statement, then Oracle Database accesses the shared pool.

The shared pool is divided into several subcomponents, the most important of which are shown in Figure 14-9.

This section includes the following topics:

Library Cache

The library cache is a shared pool memory structure that stores executable SQL and PL/SQL code. This cache contains the shared SQL and PL/SQL areas and control structures such as locks and library cache handles. In a shared server architecture, the library cache also contains private SQL areas.

When a SQL statement is executed, the database attempts to reuse previously executed code. If a parsed representation of a SQL statement exists in the library cache and can be shared, then the database reuses the code, known as a soft parse or a library cache hit. Otherwise, the database must build a new executable version of the application code, known as a hard parse or a library cache miss.

Shared SQL Areas

The database represents each SQL statement that it runs in the following SQL areas:

  • Shared SQL area

    The database uses the shared SQL area to process the first occurrence of a SQL statement. This area is accessible to all users and contains the statement parse tree and execution plan. Only one shared SQL area exists for a unique statement.

  • Private SQL area

    Each session issuing a SQL statement has a private SQL area in its PGA (see "Private SQL Area"). Each user that submits the same statement has a private SQL area pointing to the same shared SQL area. Thus, many private SQL areas in separate PGAs can be associated with the same shared SQL area.

The database automatically determines when applications submit similar SQL statements. The database considers both SQL statements issued directly by users and applications and recursive SQL statements issued internally by other statements.

The database performs the following steps:

  1. Checks the shared pool to see if a shared SQL area exists for a syntactically and semantically identical statement:

    • If an identical statement exists, then the database uses the shared SQL area for the execution of the subsequent new instances of the statement, thereby reducing memory consumption.

    • If an identical statement does not exist, then the database allocates a new shared SQL area in the shared pool. A statement with the same syntax but different semantics uses a child cursor.

    In either case, the private SQL area for the user points to the shared SQL area that contains the statement and execution plan.

  2. Allocates a private SQL area on behalf of the session

    The location of the private SQL area depends on the connection established for the session. If a session is connected through a shared server, then part of the private SQL area is kept in the SGA.

Figure 14-10 shows a dedicated server architecture in which two sessions keep a copy of the same SQL statement in their own PGAs. In a shared server, this copy is in the UGA, which is in the large pool or in the shared pool when no large pool exists.

Figure 14-10 Private SQL Areas and Shared SQL Area

Description of Figure 14-10 follows
Description of "Figure 14-10 Private SQL Areas and Shared SQL Area"


See Also:


Program Units and the Library Cache

The library cache holds executable forms of PL/SQL programs and Java classes. These items are collectively referred to as program units.

The database processes program units similarly to SQL statements. For example, the database allocates a shared area to hold the parsed, compiled form of a PL/SQL program. The database allocates a private area to hold values specific to the session that runs the program, including local, global, and package variables, and buffers for executing SQL. If multiple users run the same program, then each user maintains a separate copy of his or her private SQL area, which holds session-specific values, and accesses a single shared SQL area.

The database processes individual SQL statements within a PL/SQL program unit as previously described. Despite their origins within a PL/SQL program unit, these SQL statements use a shared area to hold their parsed representations and a private area for each session that runs the statement.

Allocation and Reuse of Memory in the Shared Pool

The database allocates shared pool memory when a new SQL statement is parsed. The memory size depends on the complexity of the statement.

In general, an item in the shared pool stays until it is removed according to an LRU algorithm. The database allows shared pool items used by many sessions to remain in memory as long as they are useful, even if the process that created the item terminates. This mechanism minimizes the overhead and processing of SQL statements.

If space is needed for new items, then the database frees memory for infrequently used items. A shared SQL area can be removed from the shared pool even if the shared SQL area corresponds to an open cursor that has not been used for some time. If the open cursor is subsequently used to run its statement, then Oracle Database reparses the statement and allocates a new shared SQL area.

The database also removes a shared SQL area from the shared pool in the following circumstances:

  • If statistics are gathered for a table, table cluster, or index, then by default the database gradually removes all shared SQL areas that contain statements referencing the analyzed object after a period of time. The next time a removed statement is run, the database parses it in a new shared SQL area to reflect the new statistics for the schema object.

  • If a schema object is referenced in a SQL statement, and if this object is later modified by a DDL statement, then the database invalidates the shared SQL area. The optimizer must reparse the statement the next time it is run.

  • If you change the global database name, then the database removes all information from the shared pool.

You can use the ALTER SYSTEM FLUSH SHARED_POOL statement to manually remove all information in the shared pool to assess the performance that can be expected after an instance restart.


See Also:


Data Dictionary Cache

The data dictionary is a collection of database tables and views containing reference information about the database, its structures, and its users. Oracle Database accesses the data dictionary frequently during SQL statement parsing.

The data dictionary is accessed so often by Oracle Database that the following special memory locations are designated to hold dictionary data:

  • Data dictionary cache

    This cache holds information about database objects. The cache is also known as the row cache because it holds data as rows instead of buffers.

  • Library cache

All server processes share these caches for access to data dictionary information.


See Also:


Server Result Cache

Unlike the buffer pools, the server result cache holds result sets and not data blocks. The server result cache contains the SQL query result cache and PL/SQL function result cache, which share the same infrastructure.

A client result cache differs from the server result cache. A client cZ>ache is configured at the application level and is located in client memory, not in database memory.


See Also:


SQL Query Result Cache

The database can store the results of queries and query fragments in the SQL query result cache, using the cached results for future queries and query fragments. Most applications benefit from this performance improvement.

For example, suppose an application runs the same SELECT statement repeatedly. If the results are cached, then the database returns them immediately. In this way, the database avoids the expensive operation of rereading blocks and recomputing results. The database automatically invalidates a cached result whenever a transaction modifies the data or metadata of database objects used to construct that cached result.

Users can annotate a query or query fragment with a RESULT_CACHE hint to indicate that the database should store results in the SQL query result cache. The RESULT_CACHE_MODE initialization parameter determines whether the SQL query result cache is used for all queries (when possible) or only for annotated queries.


See Also:


PL/SQL Function Result Cache

The PL/SQL function result cache stores function result sets. Without caching, 1000 calls of a function at 1 second per call would take 1000 seconds. With caching, 1000 function calls with the same inputs could take 1 second total. Good candidates for result caching are frequently invoked functions that depend on relatively static data.

PL/SQL function code can include a request to cache its results. Upon invocation of this function, the system checks the cache. If the cache contains the result from a previous function call with the same parameter values, then the system returns the cached result to the invoker and does not reexecute the function body. If the cache does not contain the result, then the system executes the function body and adds the result (for these parameter values) to the cache before returning control to the invoker.


Note:

You can specify the database objects that are used to compute a cached result so that if any of them are updated, the cached result becomes invalid and must be recomputed.

The cache can accumulate many results—one result for every unique combination of parameter values with which each result-cached function was invoked. If the database needs more memory, then it ages out one or more cached results.


See Also:


Reserved Pool

The reserved pool is a memory area in the shared pool that Oracle Database can use to allocate large contiguous chunks of memory.

Allocation of memory from the shared pool is performed in chunks. Chunking allows large objects (over 5 KB) to be loaded into the cache without requiring a single contiguous area. In this way, the database reduces the possibility of running out of contiguous memory because of fragmentation.

Infrequently, Java, PL/SQL, or SQL cursors may make allocations out of the shared pool that are larger than 5 KB. To allow these allocations to occur most efficiently, the database segregates a small amount of the shared pool for the reserved pool.


See Also:

Oracle Database Performance Tuning Guide to learn how to configure the reserved pool

Large Pool

The large pool is an optional memory area intended for memory allocations that are larger than is appropriate for the shared pool. The large pool can provide large memory allocations for the following:

  • UGA for the shared server and the Oracle XA interface (used where transactions interact with multiple databases)

  • Message buffers used in the parallel execution of statements

  • Buffers for Recovery Manager (RMAN) I/O slaves

By allocating session memory from the large pool for shared SQL, the database avoids performance overhead caused by shrinking the shared SQL cache. By allocating memory in large buffers for RMAN operations, I/O server processes, and parallel buffers, the large pool can satisfy large memory requests better than the shared pool.

Figure 14-11 is a graphical depiction of the large pool.

The large pool is different from reserved space in the shared pool, which uses the same LRU list as other memory allocated from the shared pool. The large pool does not have an LRU list. Pieces of memory are allocated and cannot be freed until they are done being used. As soon as a chunk of memory is freed, other processes can use it.


See Also:


Java Pool

The Java pool is an area of memory that stores all session-specific Java code and data within the Java Virtual Machine (JVM). This memory includes Java objects that are migrated to the Java session space at end-of-call.

For dedicated server connections, the Java pool includes the shared part of each Java class, including methods and read-only memory such as code vectors, but not the per-session Java state of each session. For shared server, the pool includes the shared part of each class and some UGA used for the state of each session. Each UGA grows and shrinks as necessary, but the total UGA size must fit in the Java pool space.

The Java Pool Advisor statistics provide information about library cache memory used for Java and predict how changes in the size of the Java pool can affect the parse rate. The Java Pool Advisor is internally turned on when statistics_level is set to TYPICAL or higher. These statistics reset when the advisor is turned off.


See Also:


Streams Pool

The Streams pool stores buffered queue messages and provides memory for Oracle Streams capture processes and apply processes. The Streams pool is used exclusively by Oracle Streams.

Unless you specifically configure it, the size of the Streams pool starts at zero. The pool size grows dynamically as required by Oracle Streams.

Fixed SGA

The fixed SGA is an internal housekeeping area. For example, the fixed SGA contains:

  • General information about the state of the database and the instance, which the background processes need to access

  • Information communicated between processes, such as information about locks (see "Overview of Automatic Locks")

The size of the fixed SGA is set by Oracle Database and cannot be altered manually. The fixed SGA size can change from release to release.

Overview of Software Code Areas

Software code areas are portions of memory that store code that is being run or can be run. Oracle Database code is stored in a software area that is typically more exclusive and protected than the location of user programs.

Software areas are usually static in size, changing only when software is updated or reinstalled. The required size of these areas varies by operating system.

Software areas are read-only and can be installed shared or nonshared. Some database tools and utilities, such as Oracle Forms and SQL*Plus, can be installed shared, but some cannot. When possible, database code is shared so that all users can access it without having multiple copies in memory, resulting in reduced main memory and overall improvement in performance. Multiple instances of a database can use the same database code area with different databases if running on the same computer.


Note:

The option of installing software shared is not available for all operating systems, for example, on PCs operating Windows. See your operating system-specific documentation for more information.

PKHM[i>Z>PKM%A OEBPS/toc.ncxS Oracle® Database Concepts, 11g Release 2 (11.2.0.3) Cover Table of Contents Oracle Database Concepts, 11g Release 2 (11.2) Preface Introduction to Oracle Database Oracle Relational Data Structures Tables and Table Clusters Indexes and Index-Organized Tables Partitions, Views, and Other Schema Objects Data Integrity Data Dictionary and Dynamic Performance Views Oracle Data Access SQL Server-Side Programming: PL/SQL and Java Oracle Transaction Management Data Concurrency and Consistency Transactions Oracle Database Storage Structures Physical Storage Structures Logical Storage Structures Oracle Instance Architecture Oracle Database Instance Memory Architecture Process Architecture Application and Networking Architecture Oracle Database Administration and Development Topics for Database Administrators and Developers Concepts for Database Administrators Concepts for Database Developers Glossary Index Copyright PKRPKM%AOEBPS/cncptdba.htm Concepts for Database Administrators

18 Concepts for Database Administrators

This chapter contains the following sections:

Duties of Database Administrators

The principal responsibility of a database administrator (DBA) is to make enterprise data available to its users. DBAs must work closely with the developers to ensure that their applications make efficient use of the database, and with system administrators to ensure that physical resources are adequate and used efficiently.

Oracle DBAs are responsible for understanding the Oracle Database architecture and how the database works. DBAs can expect to perform the following tasks:

  • Installing, upgrading, and patching Oracle Database software

  • Designing databases, including identifying requirements, creating the logical design (conceptual model), and physical database design

  • Creating Oracle databases

  • Developing and testing a backup and recovery strategy, backing up Oracle databases regularly, and recovering them in case of failures

  • Configuring the network environment to enable clients to connect to databases

  • Starting up and shutting down the database

  • Managing storage for the database

  • Managing users and security

  • Managing database objects such as tables, indexes, and views

  • Monitoring and tuning database performance

  • Investigating, gathering diagnostic data for, and reporting to Oracle Support Services any critical database errors

  • Evaluating and testing new database features

The preceding tasks, and many others, are described in Oracle Database 2 Day DBA and Oracle Database Administrator's Guide.

The types of users and their roles and responsibilities depend on the database environment. A small database may have one DBA. A very large database may divide the DBA duties among several specialists, for example, security officers, backup operators, and application administrators.

Tools for Database Administrators

Oracle provides several tools for use in administering a database. This section describes some commonly used tools:

Oracle Enterprise Manager

Oracle Enterprise Manager (Enterprise Manager) is a system management tool that provides centralized management of a database environment. Combining a graphical console, Oracle Management Servers, Oracle Intelligent Agents, common services, and administrative tools, Enterprise Manager provides a comprehensive systems management platform for Oracle products.

The Web-based Enterprise Manager Database Control (Database Control) is the primary tool for managing an Oracle database. It is installed with Oracle Database. You can use Database Control to perform administrative tasks such as:

  • Diagnosing, modifying, and tuning the database

  • Grouping related targets together to facilitate administration tasks, sharing tasks with other administrators, and scheduling tasks at varying time intervals

  • Configuring and managing Oracle Net Services for an Oracle home (see "Overview of Oracle Networking Architecture")

  • Launching integrated Oracle and third-party tools

The following figure shows the Database Home page of Database Control. The subpage links across the top of the page enable you to access performance, availability, and other database administration pages. The subsections of the Database Home page provide information about the environment and status of the database.

Description of homepage_small.gif follows
Description of the illustration homepage_small.gif

The following figure shows the basic architecture of Enterprise Manager. The management repository is stored inside the database. Both the agent and the management service run on the database host. You can run the Database Control Console from any Web browser that can connect securely to the management service.

Description of cncpt305.gif follows
Description of the illustration cncpt305.gif


See Also:

Oracle Database 2 Day DBA to learn how to administer the database with Enterprise Manager

SQL*Plus

SQL*Plus is an interactive and batch query tool included in every Oracle Database installation. It has a command-line user interface that acts as the client when connecting to the database.

SQL*Plus has its own commands and environment. It enables you to enter and execute SQL, PL/SQL, SQL*Plus and operating system commands to perform tasks such as:

  • Formatting, performing calculations on, storing, and printing from query results

  • Examining table and object definitions

  • Developing and running batch scripts

  • Administering a database

You can use SQL*Plus to generate reports interactively, to generate reports as batch processes, and to output the results to text file, to screen, or to HTML file for browsing on the Internet. You can generate reports dynamically using the HTML output facility.


See Also:

Oracle Database 2 Day DBA and SQL*Plus User's Guide and Reference to learn more about SQL*Plus

Tools for Database Installation and Configuration

Oracle provides several tools to simplify the task of installing and configuring Oracle Database software. The tools include:

  • Oracle Universal Installer (OUI)

    OUI is a GUI utility that enables you to view, install, and deinstall Oracle Database software. Online Help is available to guide you through the installation. See Oracle Database Installation Guide to learn how to install Oracle Database software.

  • Database Upgrade Assistant (DBUA)

    DBUA interactively guides you through a database upgrade and configures the database for the new release. DBUA automates the upgrade by performing all tasks normally performed manually. DBUA makes recommendations for configuration options such as tablespaces and the online redo log. See Oracle Database 2 Day DBA to learn how to upgrade a database with DBUA.

  • Database Configuration Assistant (DBCA)

    DBCA provides a graphical interface and guided workflow for creating and configuring a database. This tool enables you to create a database from Oracle-supplied templates or create your own database and templates. See Oracle Database Administrator's Guide to learn how to create a database with DBCA.

Tools for Oracle Net Configuration and Administration

Oracle Net Services provides enterprise wide connectivity solutions in distributed, heterogeneous computing environments. Oracle Net, a component of Oracle Net Services, enables a network session from a client application to an database. You can use the following tools to configure and administer Oracle Net Services:

  • Oracle Net Manager

    This tool enables you to configure Oracle Net Services for an Oracle home on a local client or server host. You can use Oracle Net Manager to configure naming, naming methods, profiles, and listeners. You can start Oracle Net Manager using the Oracle Enterprise Manager Console or as an independent application.

  • Oracle Net Configuration Assistant

    This tools runs automatically during software installation. The Assistant enables you to configure basic network components during installation, including listener names and protocol addresses, naming methods, net service names in a tnsnames.ora file, and directory server usage.

  • Listener Control Utility

    The Listener Control utility enables you to configure listeners to receive client connections (see "The Oracle Net Listener"). You can access the utility through Enterprise Manager or as a standalone command-line application.

  • Oracle Connection Manager Control Utility

    This command-line utility enables you to administer an Oracle Connection Manager, which is a router through which a client connection request may be sent either to its next hop or directly to the database. You can use utility commands to perform basic management functions on one or more Oracle Connection Managers. Additionally, you can view and change parameter settings.

Tools for Data Movement and Analysis

Oracle Database includes several utilities to assist in database movement and analysis. For example, you can use database utilities to:

Other tasks include performing physical data structure integrity checks on an offline database or data file with DBVERIFY, or changing the database identifier (DBID) or database name for an operational database using the DBNEWID utility.


Note:

Tools related to backup and recovery are covered in "Backup and Recovery".


See Also:

Oracle Database Utilities to learn about DBVERIFY and DBNEWID

SQL*Loader

SQL*Loader loads data from external files, called data files, into database tables. It has a powerful data parsing engine that puts little limitation on the format of the data in the data file. You can use SQL*Loader to perform tasks such as:

  • Loading data from multiple data files into multiple tables

    You store the data to be loaded in SQL*Loader data files. The SQL*Loader control file is a text file that contains DDL instructions that SQL*Loader uses to determine where to find the data, how to parse and interpret it, where to insert it, and more.


    Note:

    The SQL*Loader data files and control file are unrelated to the Oracle Database data files and control file.

  • Control various aspects of the load operation

    For example, you can selectively load data, specify the data character set (see "Character Sets"), manipulate the data with SQL functions, generate unique sequential key values in specified columns, and so on. You can also generate sophisticated error reports.

  • Use either conventional or direct path loading

    A conventional path load executes SQL INSERT statements to populate tables. In contrast, a direct path load eliminates much of the database overhead by formatting data blocks and writing them directly to the database files. Direct writes operate on blocks above the high water mark and write directly to disk, bypassing the database buffer cache. Direct reads read directly from disk into the PGA, again bypassing the buffer cache.

A typical SQL*Loader session takes as input a SQL*Loader control file and one or more data files. The output is an Oracle database, a log file, a bad file, and potentially, a discard file. Figure 18-1 illustrates the flow of a typical SQL*Loader session.

Figure 18-1 SQL*Loader Session

Description of Figure 18-1 follows
Description of "Figure 18-1 SQL*Loader Session"


See Also:

Oracle Database 2 Day DBA and Oracle Database Utilities to learn about SQL*Loader

Oracle Data Pump Export and Import

Oracle Data Pump enables high-speed movement of data and metadata from one database to another. This technology is the basis for the following Oracle Database data movement utilities:

  • Data Pump Export (Export)

    Export is a utility for unloading data and metadata into a set of operating system files called a dump file set. The dump file set is made up of one or more binary files that contain table data, database object metadata, and control information.

  • Data Pump Import (Import)

    Import is a utility for loading an export dump file set into a database. You can also use Import to load a destination database directly from a source database with no intervening files, which allows export and import operations to run concurrently, minimizing total elapsed time.

Oracle Data Pump is made up of the following distinct parts:

  • The command-line clients expdp and impdp

    These client make calls to the DBMS_DATAPUMP package to perform Oracle Data Pump operations (see "PL/SQL Packages").

  • The DBMS_DATAPUMP PL/SQL package, also known as the Data Pump API

    This API provides high-speed import and export functionality.

  • The DBMS_METADATA PL/SQL package, also known as the Metadata API

    This API, which stores object definitions in XML, is used by all processes that load and unload metadata.

Figure 18-2 shows how Oracle Data Pump integrates with SQL*Loader and external tables. As shown, SQL*Loader is integrated with the External Table API and the Data Pump API to load data into external tables (see "External Tables"). Clients such as Database Control and transportable tablespaces can use the Oracle Data Pump infrastructure.

Figure 18-2 Oracle Data Pump Architecture

Description of Figure 18-2 follows
Description of "Figure 18-2 Oracle Data Pump Architecture"


See Also:


Oracle LogMiner

Oracle LogMiner enables you to query redo log files through a SQL interface. Potential uses for data contained in redo log files include:

  • Pinpointing when a logical corruption to a database, such as errors made at the application level, may have begun

  • Detecting user error

  • Determining what actions you would have to take to perform fine-grained recovery at the transaction level

  • Using trend analysis to determine which tables get the most updates and inserts

  • Analyzing system behavior and auditing database use through the LogMiner comprehensive relational interface to redo log files

LogMiner is accessible through a command-line interface or through the Oracle LogMiner Viewer GUI, which is a part of Enterprise Manager.


See Also:

Oracle Database Utilities to learn more about LogMiner

ADR Command Interpreter (ADRCI)

ADRCI is a command-line utility that enables you to investigate problems, view health check reports, and package and upload first-failure diagnostic data to Oracle Support. You can also use the utility to view the names of the trace files in the Automatic Diagnostic Repository (ADR) (ADR) and to view the alert log. ADRCI has a rich command set that you can use interactively or in scripts.

Topics for Database Administrators

Chapter 17 describes topics important for both developers and DBAs. This section covers topics that are most essential to DBAs and that have not been discussed elsewhere in the manual.

This section contains the following topics:

Backup and Recovery

Backup and recovery is the set of concepts, procedures, and strategies involved in protecting the database against data loss caused by media failure or users errors. In general, the purpose of a backup and recovery strategy is to protect the database against data loss and reconstruct lost data.

A backup is a copy of data. A backup can include crucial parts of the database such as data files, the server parameter file, and control file. A sample backup and recovery scenario is a failed disk drive that causes the loss of a data file. If a backup of the lost file exists, then you can restore and recover it. Media recovery refers to the operations involved in restoring data to its state before the loss occurred.


See Also:

Oracle Database 2 Day DBA and Oracle Database Backup and Recovery User's Guide for backup and recovery concepts and tasks

Backup and Recovery Techniques

You can use the following means to back up and recover an Oracle database:

  • Recovery Manager (RMAN)

    RMAN is an Oracle Database utility that integrates with an Oracle database to perform backup and recovery activities, including maintaining a repository of historical backup metadata in the control file of every database that it backs up. RMAN can also maintain a centralized backup repository called a recovery catalog in a different database. RMAN is an Oracle Database feature and does not require separate installation.

    RMAN is integrated with Oracle Secure Backup, which provides reliable, centralized tape backup management, protecting file system data and Oracle Database files. The Oracle Secure Backup SBT interface enables you to use RMAN to back up and restore database files to and from tape and internet-based Web Services such as Amazon S3. Oracle Secure Backup supports almost every tape drive and tape library in SAN and SCSI environments.

    RMAN and Oracle Secure Backup are accessible both from the command line and from Enterprise Manager.

  • User-Managed techniques

    As an alternative to RMAN, you can use operating system commands such as the Linux dd for backing up and restoring files and the SQL*Plus RECOVER command for media recovery. User-managed backup and recovery is fully supported by Oracle, although RMAN is recommended because it is integrated with Oracle Database and simplifies administration.

Figure 18-3 shows basic RMAN architecture. The RMAN client, accessible through Enterprise Manager, uses server sessions on a target database to back up data to disk or tape. RMAN can update an external recovery catalog with backup metadata.

Figure 18-3 RMAN Architecture

Description of Figure 18-3 follows
Description of "Figure 18-3 RMAN Architecture"

Whichever backup and recovery technique you use, Oracle recommends that you configure a fast recovery area. This database-managed directory, file system, or Oracle ASM disk group centralizes backup and recovery files, including active control files, online and archived redo log files, and backups. Oracle Database recovery components interact with the fast recovery area to ensure database recoverability.


See Also:


Database Backups

Database backups can be either physical or logical. Physical backups, which are the primary concern in a backup and recovery strategy, are copies of physical database files. You can make physical backups with RMAN or operating system utilities.

In contrast, logical backups contain logical data such as tables and stored procedures. You can extract logical data with an Oracle Database utility such as Data Pump Export and store it in a binary file. Logical backups can supplement physical backups.

Physical backups have large granularity and limited transportability, but are very fast. Logical backups have fine granularity and complete transportability, but are slower than physical backups.


See Also:

Oracle Database Backup and Recovery User's Guide to learn about physical and logical backups

Whole and Partial Database Backups

A whole database backup is a backup of every data file in the database, plus the control file. Whole database backups are the most common type of backup.

A partial database backup includes a subset of the database: individual tablespaces or data files. A tablespace backup is a backup of all the data files in a tablespace or in multiple tablespaces. Tablespace backups, whether consistent or inconsistent, are valid only if the database is operating in ARCHIVELOG mode because redo is required to make the restored tablespace consistent with the rest of the database.

Consistent and Inconsistent Backups

A whole database backup is either consistent or inconsistent. In a consistent backup, all read/write data files and control files have the same checkpoint SCN, guaranteeing that these files contain all changes up to this SCN. This type of backup does not require recovery after it is restored.

A consistent backup of the database is only possible after a consistent shutdown (see "Shutdown Modes") and is the only valid backup option for a database operating in NOARCHIVELOG mode. Other backup options require media recovery for consistency, which is not possible without applying archived redo log files.


Note:

If you restore a consistent whole database backup without applying redo, then you lose all transactions made after the backup.

In an inconsistent backup, read/write data files and control files are not guaranteed to have the same checkpoint SCN, so changes can be missing. All online backups are necessarily inconsistent because data files can be modified while backups occur.

Inconsistent backups offer superior availability because you do not have to shut down the database to make backups that fully protect the database. If the database runs in ARCHIVELOG mode, and if you back up the archived redo logs and data files, then inconsistent backups can be the foundation for a sound backup and recovery strategy.


See Also:

Oracle Database Backup and Recovery User's Guide to learn more about inconsistent backups

Backup Sets and Image Copies

The RMAN BACKUP command generates either image copies or backup sets. An image copy is a bit-for-bit, on-disk duplicate of a data file, control file, or archived redo log file. You can create image copies of physical files with operating system utilities or RMAN and use either tool to restore them.


Note:

Unlike operating system copies, RMAN validates the blocks in the file and records the image copy in the RMAN repository.

RMAN can also create backups in a proprietary format called a backup set. A backup set contains the data from one or more data files, archived redo log files, or control files or server parameter file. The smallest unit of a backup set is a binary file called a backup piece. Backup sets are the only form in which RMAN can write backups to sequential devices such as tape drives.

Backup sets enable tape devices to stream continuously. For example, RMAN can mingle blocks from slow, medium, and fast disks into one backup set so that the tape device has a constant input of blocks. Image copies are useful for disk because you can update them incrementally, and also recover them in place.


See Also:

Oracle Database Backup and Recovery User's Guide to learn more about backup sets and image copies

Data Repair

While several problems can halt the normal operation of a database or affect I/O operations, only the following typically require DBA intervention and data repair:

  • Media failures

    A media failure occurs when a problem external to the database prevents it from reading from or writing to a file. Typical media failures include physical failures, such as head crashes, and the overwriting, deletion, or corruption of a database file. Media failures are less common than user or application errors, but a sound recovery strategy must prepare for them.

  • User errors

    A user or application may make unwanted changes to your database, such as erroneous updates, deleting the contents of a table, or dropping database objects (see "Human Errors"). A good backup and recovery strategy enables you to return your database to the desired state, with the minimum possible impact upon database availability, and minimal DBA effort.

Typically, you have multiple ways to solve the preceding problems. This section summarizes some of these solutions.

Data Recovery Advisor

The Data Recovery Advisor tool automatically diagnoses persistent data failures, presents appropriate repair options, and executes repairs at the user's request. By providing a centralized tool for automated data repair, Data Recovery Advisor improves the manageability and reliability of an Oracle database and thus helps reduce recovery time.

The database includes a framework called Health Monitor for running diagnostic checks. A checker is a diagnostic operation or procedure registered with Health Monitor to assess the health of the database or its components. The health assessment is known as a data integrity check and can be invoked reactively or proactively.

A failure is a persistent data corruption detected by a data integrity check. Failures are normally detected reactively. A database operation involving corrupted data results in an error, which automatically invokes a data integrity check that searches the database for failures related to the error. If failures are diagnosed, then the database records them in the Automatic Diagnostic Repository (ADR).

After failures have been detected by the database and stored in ADR, Data Recovery Advisor automatically determines the best repair options and their impact on the database. Typically, Data Recovery Advisor generates both manual and automated repair options for each failure or group of failures.

Before presenting an automated repair option, Data Recovery Advisor validates it for the specific environment and for the availability of media components required to complete the proposed repair. If you choose an automatic repair, then Oracle Database executes it for you. The Data Recovery Advisor tool verifies the repair success and closes the appropriate failures.


See Also:

Oracle Database 2 Day DBA and Oracle Database Backup and Recovery User's Guide to learn how to use Data Recovery Advisor

Oracle Flashback Technology

Oracle Database provides a group of features known as Oracle Flashback Technology that support viewing past states of data, and winding data back and forth in time, without needing to restore backups. Depending on the database changes, flashback features can often reverse unwanted changes more quickly and with less impact on availability than media recovery.

The following flashback features are most relevant for backup and recovery:

  • Flashback Database

    You can rewind an Oracle database to a previous time to correct problems caused by logical data corruptions or user errors. Flashback Database can also be used to complement Data Guard, Data Recovery Advisor, and for synchronizing clone databases. Flashback Database does not restore or perform media recovery on files, so you cannot use it to correct media failures such as disk crashes.

  • Flashback Table

    You can rewind tables to a specified point in time with a single SQL statement. You can restore table data along with associated indexes, triggers, and constraints, while the database is online, undoing changes to only the specified tables. Flashback Table does not address physical corruption such as bad disks or data segment and index inconsistencies.

  • Flashback Drop

    You can reverse the effects of a DROP TABLE operation. Flashback Drop is substantially faster than recovery mechanisms such as point-in-time recovery and does not lead to loss of recent transactions or downtime.


See Also:


Block Media Recovery

A block corruption is a data block that is not in a recognized Oracle format, or whose contents are not internally consistent (see "Data Corruption"). Block media recovery is a technique for restoring and recovering corrupt data blocks while data files are online. If only a few blocks are corrupt, then block recovery may be preferable to data file recovery.


See Also:

Oracle Database Backup and Recovery User's Guide to learn how to perform block media recovery

Data File Recovery

Data file recovery repairs a lost or damaged current data file or control file. It can also recover changes lost when a tablespace went offline without the OFFLINE NORMAL option.

Media recovery is necessary if you restore a backup of a data file or control file or a data file is taken offline without the OFFLINE NORMAL option. The database cannot be opened if online data files needs media recovery, nor can a data file that needs media recovery be brought online until media recovery completes.

To restore a physical backup of a data file or control file is to reconstruct it and make it available to Oracle Database. To recover a backup is to apply archived redo log files, thereby reconstructing lost changes. RMAN can also recover data files with incremental backups, which contain only blocks modified after a previous backup.

Unlike instance recovery, which automatically applies changes to online files, media recovery must be invoked by a user and applies archived redo log files to restored backups. Data file media recovery can only operate on offline data files or data files in a database that is not opened by any instance.

Data file media recovery differs depending on whether all changes are applied:

  • Complete recovery

    Complete recovery applies all redo changes contained in the archived and online logs to a backup. Typically, you perform complete media recovery after a media failure damages data files or the control file. You can perform complete recovery on a database, tablespace, or data file.

  • Incomplete recovery

    Incomplete recovery, also called database point-in-time recovery, results in a noncurrent version of the database. In this case, you do not apply all of the redo generated after the restored backup. Typically, you perform point-in-time database recovery to undo a user error when Flashback Database is not possible.

    To perform incomplete recovery, you must restore all data files from backups created before the time to which you want to recover and then open the database with the RESETLOGS option when recovery completes. Resetting the logs creates a new stream of log sequence numbers starting with log sequence 1.


    Note:

    If current data files are available, then Flashback Database is an alternative to DBPITR.

    The tablespace point-in-time recovery (TSPITR) feature lets you recover one or more tablespaces to a point in time older than the rest of the database.

Memory Management

Memory management involves maintaining optimal sizes for the Oracle instance memory structures as demands on the database change. Initialization parameter settings determine how SGA and instance PGA memory is managed.

Figure 18-4 shows a decision tree for memory management options. The following sections explain the options in detail.

Figure 18-4 Memory Management Methods

Description of Figure 18-4 follows
Description of "Figure 18-4 Memory Management Methods"


See Also:

Chapter 14, "Memory Architecture" to learn more about the SGA and PGA

Automatic Memory Management

In automatic memory management, Oracle Database manages the SGA and instance PGA memory completely automatically. This method is the simplest and is strongly recommended by Oracle.

The only user-specified controls are the target memory size initialization parameter (MEMORY_TARGET) and optional maximum memory size initialization parameter (MEMORY_MAX_TARGET). Oracle Database tunes to the target memory size, redistributing memory as needed between the SGA and the instance PGA.

Figure 18-5 shows a database that sometimes processes jobs submitted by online users and sometimes batch jobs. Using automatic memory management, the database automatically adjusts the size of the large pool and database buffer cache depending on which type of jobs are running.

Figure 18-5 Automatic Memory Management

Description of Figure 18-5 follows
Description of "Figure 18-5 Automatic Memory Management"

If you create your database with DBCA and choose the basic installation option, then automatic memory management is enabled by default.


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn about automatic memory management

Shared Memory Management of the SGA

If automatic memory management is not enabled, then the system must use shared memory management of the SGA. Shared memory management is possible in either of the following forms:

  • Automatic shared memory management

    This mode enables you to exercise more direct control over the size of the SGA and is the default when automatic memory management is disabled. The database tunes the total SGA to the target size and dynamically tunes the sizes of SGA components. Oracle Database remembers the sizes of the automatically tuned components across instance shutdowns if you are using a server parameter file.

  • Manual shared memory management

    In this mode, you set the sizes of several individual SGA components and manually tune individual SGA components on an ongoing basis. You have complete control of individual SGA component sizes. The database defaults to this mode when both automatic memory management and automatic shared memory management are disabled.


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn about shared memory management

Memory Management of the Instance PGA

If automatic memory management is not enabled, then the following modes are possible for management of PGA memory:

  • Automatic PGA memory management

    When automatic memory management is disabled and PGA_AGGREGATE_TARGET is set to a nonzero value, the database uses automatic PGA memory management. In this mode, the PGA_AGGREGATE_TARGET specifies a target size for the instance PGA. The database then tunes the size of the instance PGA to this target and dynamically tunes the sizes of individual PGAs. If you do not explicitly set a target size, then the database automatically configures a reasonable default.

  • Manual PGA memory management

    When automatic memory management is disabled and PGA_AGGREGATE_TARGET is set to 0, the database defaults to manual PGA management. Previous releases of Oracle Database required the DBA to manually specify the maximum work area size for each type of SQL operator (such as a sort or hash join). This technique proved to be very difficult because the workload is always changing. Although Oracle Database supports the manual PGA memory management method, Oracle strongly recommends automatic memory management.


See Also:

Oracle Database Performance Tuning Guide to learn about PGA memory management

Summary of Memory Management Methods

Table 18-1 summarizes the various memory management methods. If you do not enable automatic memory management, then you must separately configure one memory management method for the SGA and one for the PGA.


Note:

When automatic memory management is not enabled, the default method for the instance PGA is automatic PGA memory management.

Table 18-1 Memory Management Methods

InstanceSGAPGADescriptionInitialization Parameters

Auto

n/a

n/a

The database tunes the size of the instance based on a single instance target size.

You set:

  • Total memory target size for the database instance (MEMORY_TARGET)

  • Optional maximum memory size for the database instance (MEMORY_MAX_TARGET)

n/a

Auto

Auto

The database automatically tunes the SGA based on an SGA target.

The database automatically tunes the PGA based on a PGA target.

You set:

  • SGA target size (SGA_TARGET)

  • Optional SGA maximum size (SGA_MAX_SIZE)

  • Instance PGA target size (PGA_AGGREGATE_TARGET)

n/a

Auto

Manual

The database automatically tunes the SGA based on an SGA target.

You control the PGA manually, setting the maximum work area size for each type of SQL operator.

You set:

  • SGA target size (SGA_TARGET)

  • Optional SGA maximum size (SGA_MAX_SIZE)

  • PGA work area parameters such as SORT_AREA_SIZE, HASH_AREA_SIZE, and BITMAP_MERGE_Ag}REA_SIZE

n/a

Manual

Auto

You control the SGA manually by setting individual component sizes.

The database automatically tunes the PGA based on a PGA target.

You set:

  • Shared pool size (SHARED_POOL_SIZE)

  • Buffer cache size (DB_CACHE_SIZE)

  • Large pool size (LARGE_POOL_SIZE)

  • Java pool size (JAVA_POOL_SIZE)

  • Streams pool size (STREAMS_POOL_SIZE)

  • Instance PGA target size (PGA_AGGREGATE_TARGET)

n/a

Manual

Manual

You must manually configure SGA component sizes.

You control the PGA manually, setting the maximum work area size for each type of SQL operator.

You must manually configure SGA component sizes. You set:

  • Shared pool size (SHARED_POOL_SIZE)

  • Buffer cache size (DB_CACHE_SIZE)

  • Large pool size (LARGE_POOL_SIZE)

  • Java pool size (JAVA_POOL_SIZE)

  • Streams pool size (STREAMS_POOL_SIZE)

  • PGA work area parameters such as SORT_AREA_SIZE, HASH_AREA_SIZE, and BITMAP_MERGE_AREA_SIZE



See Also:

Oracle Database Administrator's Guide because automatic memory management is not available on all platforms

Resource Management and Task Scheduling

In a database with many active users, resource management is an important part of database administration. Sessions that consume excessive resources can prevent other sessions from doing their work. A related problem is how to schedule tasks so that they run at the best time. Oracle Database provides tools to help solve these problems.

Database Resource Manager

Oracle Database Resource Manager (the Resource Manager) is an infrastructure that provides granular control of database resources allocated to users, applications, and services. The Resource Manager solves many resource allocation problems that an operating system does not manage well, including:

  • Excessive overhead

  • Inefficient scheduling

  • Inappropriate allocation of resources

  • Inability to manage database-specific resources

The Resource Manager helps overcome these problems by giving the database more control over allocation of hardware resources and enabling you to prioritize work within the database. You can classify sessions into groups based on session attributes, and then allocate resources to these groups to optimize hardware utilization.

Resources are allocated to users according to a resource plan specified by the database administrator. The plan specifies how the resources are to be distributed among resource consumer groups, which are user sessions grouped by resource requirements. A resource plan directive associates a resource consumer group with a plan and specifies how resources are to be allocated to the group.

Figure 18-6 shows a simple resource plan for an organization that runs OLTP applications and reporting applications simultaneously during the daytime. The currently active plan, DAYTIME, allocates CPU resources among three resource consumer groups. Specifically, OLTP is allotted 75% of the CPU time, REPORTS is allotted 15%, and OTHER_GROUPS receives the remaining 10%.

Figure 18-6 Simple Resource Plan

Description of Figure 18-6 follows
Description of "Figure 18-6 Simple Resource Plan"


See Also:

Oracle Database Administrator's Guide for information about using the Resource Manager

Oracle Scheduler

Oracle Scheduler (the Scheduler) enables database administrators and application developers to control when and where various tasks take place in the database environment. The Scheduler provides complex enterprise scheduling functionality, which you can use to:

  • Schedule job execution based on time or events

  • Schedule job processing in a way that models your business requirements

  • Manage and monitor jobs

  • Execute and manage jobs in a clustered environment

Program objects (programs) contain metadata about the command that the Scheduler will run, including default values for any arguments. Schedule objects (schedules) contain information about run date and time and recurrence patterns. Job objects (jobs) associate a program with a schedule. To define what is executed and when, you assign relationships among programs, schedules, and jobs.

The Scheduler is implemented as a set of functions and procedures in the DBMS_SCHEDULER PL/SQL package. You create and manipulate Scheduler objects with this package or with Enterprise Manager. Because Scheduler objects are standard database objects, you can control access to them with system and object privileges.

Figure 18-7 shows the basic architecture of the Scheduler. The job table is a container for all the jobs, with one table per database. The job coordinator background process is automatically started and stopped as needed. Job slaves are awakened by the coordinator when a job must be run (see "Job Queue Processes (CJQ0 and Jnnn)"). The slaves gather metadata from the job table and run the job.

Figure 18-7 Scheduler Components

Description of Figure 18-7 follows
Description of "Figure 18-7 Scheduler Components"


See Also:

Oracle Database Administrator's Guide to learn about the Scheduler

Performance Diagnostics and Tuning

As a DBA, you are responsible for the performance of your Oracle database. Typically, performance problems result from unacceptable response time, which is the time to complete a specified workload, or throughput, which is the amount of work that can be completed in a specified time. Common problems include:

  • CPU bottlenecks

  • Undersized memory structures

  • I/O capacity issues

  • Inefficient or high-load SQL statements

  • Unexpected performance regression after tuning SQL statements

  • Concurrency and contention issues

  • Database configuration issues

The general goal of tuning is usually to improve response time, increase throughput, or both. A specific and measurable goal might be "Reduce the response time of the specified SELECT statement to under 5 seconds." Whether this goal is achievable depends on factors that may or may not be under the control of the DBA. In general, tuning is the effort to achieve specific, measurable, and achievable tuning goals by using database resources in the most efficient way possible.

The Oracle performance method is based on identifying and eliminating bottlenecks in the database, and developing efficient SQL statements. Applying the Oracle performance method involves the following tasks:

  • Performing pre-tuning preparations

  • Tuning the database proactively on a regular basis

  • Tuning the database reactively when users report performance problems

  • Identifying, tuning, and optimizing high-load SQL statements

This section describes essential aspects of Oracle Database performance tuning, including the use of advisors. Oracle Database advisors provide specific advice on how to address key database management challenges, covering a wide range of areas including space, performance, and undo management.


See Also:

Oracle Database 2 Day + Performance Tuning Guide and Oracle Database Performance Tuning Guide provide to learn how to implement the Oracle performance method

Database Self-Monitoring

Self-monitoring take place as the database performs its regular operation, ensuring that the database is aware of problems as they arise. Oracle Database can send a server-generated alert to notify you of an impending problem.

Alerts are automatically generated when a problem occurs or when data does not match expected values for metrics such as physical reads per second or SQL response time. A metric is the rate of change in a cumulative statistic. Server-generated alerts can be based on user-specified threshold levels or because an event has occurred.

Server-generated alerts not only identify the problem, but sometimes recommend how the reported problem can be resolved. An example is an alert that the fast recovery area is running out of space with the recommendation that obsolete backups should be deleted or additional disk space added.

Automatic Workload Repository (AWR)

Automatic Workload Repository (AWR) is a repository of historical performance data that includes cumulative statistics for the system, sessions, individual SQL statements, segments, and services. These statistics are the foundation of performance tuning. By automating the gathering of database statistics for problem detection and tuning, AWR serves as the foundation for database self-management.

As shown in Figure 18-8, the database stores recent AWR statistics in the SGA. By default, the MMON process gathers statistics every hour and creates an AWR snapshot (see "Manageability Monitor Processes (MMON and MMNL)"). A snapshot is a set of performance statistics captured at a specific time. The database writes snapshots to the SYSAUX tablespace. AWR manages snapshot space, purging older snapshots according to a configurable snapshot retention policy.

Figure 18-8 Automatic Workload Repository (AWR)

Description of Figure 18-8 follows
Description of "Figure 18-8 Automatic Workload Repository (AWR)"

An AWR baseline is a collection of statistic rates usually taken over a period when the system is performing well at peak load. You can specify a pair or range of AWR snapshots as a baseline. By using an AWR report to compare statistics captured during a period of bad performance to a baseline, you can diagnose problems.

An automated maintenance infrastructure known as AutoTask illustrates how Oracle Database uses AWR for self-management. By analyzing AWR data, AutoTask can determine the need for maintenance tasks and schedule them to run in Oracle Scheduler maintenance windows. Examples of tasks include gathering statistics for the optimizer and running the Automatic Segment Advisor.


See Also:


Automatic Database Diagnostic Monitor (ADDM)

Automatic Database Diagnostic Monitor (ADDM) is a self-diagnostic advisor built into Oracle Database. Using statistics captured in AWR, ADDM automatically and proactively diagnoses database performance and determines how identified problems can be resolved. You can also run ADDM manually.

ADDM takes a holistic approach to system performance, using time as a common currency between components. ADDM identifies areas of Oracle Database consuming the most time. For example, the database may be spending an excessive amount of time waiting for free database buffers. ADDM drills down to identify the root cause of problems, rather than just the symptoms, and reports the effect of the problem on Oracle Database overall. Minimal overhead occurs during the diagnostic process.

In many cases, ADDM recommends solutions and quantifies expected performance benefits. For example, ADDM may recommend changes to hardware, database configuration, database schema, or applications. If a recommendation is made, then ADDM reports the time benefit. The use of time as a measure enables comparisons of problems or recommendations.

Besides reporting potential performance issues, ADDM documents areas of the database that are not problems. Subcomponents such as I/O and memory that are not significantly impacting database performance are pruned from the classification tree at an early stage. ADDM lists these subcomponents so that you can quickly see that there is little benefit to performing actions in those areas.

Active Session History (ASH)

Active Session History (ASH) samples active database sessions each second, writing the data to memory and persistent storage. ASH is an integral part of the database self-management framework and is useful for diagnosing performance problems.

Unlike instance-level statistics gathered by AWR, ASH statistics are gathered at the session level. An active session is a session that is using CPU and is not waiting for an event in the idle wait class.

You can use Enterprise Manager or SQL scripts to generate ASH reports that gather session statistics gathered over a specified duration. You can use ASH reports for:

  • Analysis of short-lived performance problems not identified by ADDM

  • Scoped or targeted performance analysis by various dimensions or their combinations, such as time, session, module, action, or SQL ID

For example, a user notifies you that the database was slow between 10:00 p.m. and 10:02 p.m. However, the 2-minute performance degradation represents a small portion of the AWR snapshot interval from 10:00 p.m. and 11:00 p.m. and does not appear in ADDM findings. ASH reports can help identify the source of the transient problem.

Application and SQL Tuning

Oracle Database completely automates the SQL tuning process. ADDM identifies SQL statements consuming unusually high system resources and therefore causing performance problems. In addition, AWR automatically captures the top SQL statements in terms of CPU and shared memory consumption. The identification of high-load SQL statements happens automatically and requires no intervention.

SQL Tuning Advisor

Automatic SQL tuning is exposed through SQL Tuning Advisor. SQL Tuning Advisor runs automatically during system maintenance windows as a maintenance task. During each automatic run, the advisor selects high-load SQL queries in the database and generates recommendations for tuning these queries.

SQL Tuning Advisor recommendations fall into the following categories:

  • Statistics analysis

  • SQL profiling

  • Access path analysis

  • SQL structure analysis

A SQL profile contains additional statistics specific to a SQL statement and enables the optimizer to generate a better execution plan. Essentially, a SQL profile is a method for analyzing a query. Both access path and SQL structure analysis are useful for tuning an application under development or a homegrown production application.

A principal benefit of SQL Tuning Advisor is that solutions come from the optimizer rather than external tools (see "Overview of the Optimizer"). Thus, tuning is performed by the database component that is responsible for the execution plans and SQL performance. The tuning process can consider past execution statistics of a SQL statement and customizes the optimizer settings for this statement.

SQL Access Advisor

SQL Access Advisor offers advice on how to optimize data access paths. Specifically, it recommends how database performance can be improved through partitioning, materialized views, indexes, and materialized view logs.

Schema objects such as partitions and indexes are essential for optimizing complex, data-intensive queries. However, creation and maintenance of these objects can be time-consuming, and space requirements can be significant. SQL Access Advisor helps meet performance goals by recommending data structures for a specified workload.

The SQL Access Advisor can be run from Enterprise Manager using the SQL Access Advisor Wizard or by invoking the DBMS_ADVISOR package. The DBMS_ADVISOR package consists of a collection of analysis and advisory functions and procedures callable from any PL/SQL program.

PKX.EggPKM%AOEBPS/part_txn.htmC Oracle Transaction Management

Part III

Oracle Transaction Management

This part contains the following chapters:

PK#HCPKM%AOEBPS/physical.htm Physical Storage Structures

11 Physical Storage Structures

This chapter describes the primary physical database structures of an Oracle database. Physical structures are viewable at the operating system level.

This chapter contains the following sections:

Introduction to Physical Storage Structures

One characteristic of an RDBMS is the independence of logical data structures such as tables, views, and indexes from physical storage structures. Because physical and logical structures are separate, you can manage physical storage of data without affecting access to logical structures. For example, renaming a database file does not rename the tables stored in it.

An Oracle database is a set of files that store Oracle data in persistent disk storage. This section discusses the database files generated when you issue a CREATE DATABASE statement:

  • Data files and temp files

    A data file is a physical file on disk that was created by Oracle Database and contains data structures such as tables and indexes. A temp file is a data file that belongs to a temporary tablespace. The data is written to these files in an Oracle proprietary format that cannot be read by other programs.

  • Control files

    A control file is a root file that tracks the physical components of the database.

  • Online redo log files

    The online redo log is a set of files containing records of changes made to data.

A database instance is a set of memory structures that manage database files. Figure 11-1 shows the relationship between the instance and the files that it manages.

Figure 11-1 Database Instance and Database Files

Description of Figure 11-1 follows
Description of "Figure 11-1 Database Instance and Database Files"


See Also:


Mechanisms for Storing Database Files

Several mechanisms are available for allocating and managing the storage of these files. The most common mechanisms include:

  • Oracle Automatic Storage Management (Oracle ASM)

    Oracle ASM includes a file system designed exclusively for use by Oracle Database. "Oracle Automatic Storage Management (Oracle ASM)" describes Oracle ASM.

  • Operating system file system

    Most Oracle databases store files in a file system, which is a data structure built inside a contiguous disk address space. All operating systems have file managers that allocate and deallocate disk space into files within a file system.

    A file system enables disk space to be allocated to many files. Each file has a name and is made to appear as a contiguous address space to applications such as Oracle Database. The database can create, read, write, resize, and delete files.

    A file system is commonly built on top of a logical volume constructed by a software package called a logical volume manager (LVM). The LVM enables pieces of multiple physical disks to be combined into a single contiguous address space that appears as one disk to higher layers of software.

  • Raw device

    Raw devices are disk partitions or logical volumes not formatted with a file system. The primary benefit of raw devices is the ability to perform direct I/O and to write larger buffers. In direct I/O, applications write to and read from the storage device directly, bypassing the operating system buffer cache.


    Note:

    Many file systems now support direct I/O for databases and other applications that manage their own caches. Historically, raw devices were the only means of implementing direct I/O.

  • Cluster file system

    A cluster file system is software that enables multiple computers to share file storage while maintaining consistent space allocation and file content. In an Oracle RAC environment, a cluster file system makes shared storage appears as a file system shared by many computers in a clustered environment. With a cluster file system, the failure of a computer in the cluster does not make the file system unavailable. In an operating system file system, however, if a computer sharing files through NFS or other means fails, then the file system is unavailable.

A database employs a combination of the preceding storage mechanisms. For example, a database could store the control files and online redo log files in a traditional file system, some user data files on raw partitions, the remaining data files in Oracle ASM, and archived the redo log files to a cluster file system.


See Also:


Oracle Automatic Storage Management (Oracle ASM)

Oracle ASM is a high-performance, ease-of-management storage solution for Oracle Database files. Oracle ASM is a volume manager and provides a file system designed exclusively for use by the database.

Oracle ASM provides several advantages over conventional file systems and storage managers, including the following:

  • Simplifies storage-related tasks such as creating and laying out databases and managing disk space

  • Distributes data across physical disks to eliminate hot spots and to provide uniform performance across the disks

  • Rebalances data automatically after storage configuration changes

To use Oracle ASM, you allocate partitioned disks for Oracle Database with preferences for striping and mirroring. Oracle ASM manages the disk space, distributing the I/O load across all available resources to optimize performance while removing the need for manual I/O tuning. For example, you can increase the size of the disk for the database or move parts of the database to new devices without having to shut down the database.

Oracle ASM Storage Components

Oracle Database can store a data file as an Oracle ASM file in an Oracle ASM disk group, which is a collection of disks that Oracle ASM manages as a unit. Within a disk group, Oracle ASM exposes a file system interface for database files.

Figure 11-2 shows the relationships between storage components in a database that uses Oracle ASM. The diagram depicts the relationship between an Oracle ASM file and a data file, although Oracle ASM can store other types of files. The crow's foot notation represents a one-to-many relationship.

Figure 11-2 Oracle ASM Components

Description of Figure 11-2 follows
Description of "Figure 11-2 Oracle ASM Components"

Figure 11-2 illustrates the following Oracle ASM concepts:

  • Oracle ASM Disks

    An Oracle ASM disk is a storage device that is provisioned to an Oracle ASM disk group. An Oracle ASM disk can be a physical disk or partition, a Logical Unit Number (LUN) from a storage array, a logical volume, or a network-attached file.

    Oracle ASM disks can be added or dropped from a disk group while the database is running. When you add a disk to a disk group, you either assign a disk name or the disk is given an Oracle ASM disk name automatically.

  • Oracle ASM Disk Groups

    An Oracle ASM disk group is a collection of Oracle ASM disks managed as a logical unit. The data structures in a disk group are self-contained and consume some disk space in a disk group.

    Within a disk group, Oracle ASM exposes a file system interface for Oracle database files. The content of files that are stored in a disk group are evenly distributed, or striped, to eliminate hot spots and to provide uniform performance across the disks. The performance is comparable to the performance of raw devices.

  • Oracle ASM Files

    An Oracle ASM file is a file stored in an Oracle ASM disk group. Oracle Database communicates with Oracle ASM in terms of files. The database can store data files, control files, online redo log files, and other types of files as Oracle ASM files. When requested by the database, Oracle ASM creates an Oracle ASM file and assigns it a fully qualified name beginning with a plus sign (+) followed by a disk group name, as in +DISK1.


    Note:

    Oracle ASM files can coexist with other storage management options such as raw disks and third-party file systems. This capability simplifies the integration of Oracle ASM into pre-existing environments.

  • Oracle ASM Extents

    An Oracle ASM extent is the raw storage used to hold the contents of an Oracle ASM file. An Oracle ASM file consists of one or more file extents. Each Oracle ASM extent consists of one or more allocation units on a specific disk.


    Note:

    An Oracle ASM extent is different from the extent used to store data in a segment.

  • Oracle ASM Allocation Units

    An allocation unit is the fundamental unit of allocation within a disk group. An allocation unit is the smallest contiguous disk space that Oracle ASM allocates. One or more allocation units form an Oracle ASM extent.


See Also:


Oracle ASM Instances

An Oracle ASM instance is a special Oracle instance that manages Oracle ASM disks. Both the ASM and the database instances require shared access to the disks in an ASM disk group. ASM instances manage the metadata of the disk group and provide file layout information to the database instances. Database instances direct I/O to ASM disks without going through an ASM instance.

An ASM instance is built on the same technology as a database instance. For example, an ASM instance has a system global area (SGA) and background processes that are similar to those of a database instance. However, an ASM instance cannot mount a database and performs fewer tasks than a database instance.

Figure 11-3 shows a single-node configuration with one Oracle ASM instance and two database instances, each associated with a different single-instance database. The ASM instance manages the metadata and provides space allocation for the ASM files storing the data for the two databases. One ASM disk group has four ASM disks and the other has two disks. Both database instances can access the disk groups.

Figure 11-3 Oracle ASM Instance and Database Instances

Description of Figure 11-3 follows
Description of "Figure 11-3 Oracle ASM Instance and Database Instances "


See Also:


Oracle Managed Files and User-Managed Files

Oracle Managed Files is a file naming strategy that enables you to specify operations in terms of database objects rather than file names. For example, you can create a tablespace without specifying the names of its data files. In this way, Oracle Managed Files eliminates the need for administrators to directly manage the operating system files in a database. Oracle ASM requires Oracle Managed Files.


Note:

This feature does not affect the creation or naming of administrative files such as trace files, audit files, and alert logs (see "Overview of Diagnostic Files").

With user-managed files, you directly manage the operating system files in the database. You make the decisions regarding file structure and naming. For example, when you create a tablespace you set the name and path of the tablespace data files.

Through initialization parameters, you specify the file system directory for a specific type of file. The Oracle Managed Files feature ensures that the database creates a unique file and deletes it when no longer needed. The database internally uses standard file system interfaces to create and delete files for data files and temp files, control files, and recovery-related files stored in the fast recovery area.

Oracle Managed Files does not eliminate existing functionality. You can create new files while manually administering old files. Thus, a database can have a mixture of Oracle Managed Files and user-managed files.


See Also:

Oracle Database Administrator's Guide to learn how to use Oracle Managed Files

Overview of Data Files

At the operating system level, Oracle Database stores database data in data files. Every database must have at least one data file.

Use of Data Files

Part I, "Oracle Relational Data Structures" explains the logical structures in which users store data, the most important of which are tables. Each nonpartitioned schema object and each partition of an object is stored in its own segment.

For ease of administration, Oracle Database allocates space for user data in tablespaces, which like segments are logical storage structures. Each segment belongs to only one tablespace. For example, the data for a nonpartitioned table is stored in a single segment, which is turn is stored in one tablespace.

Oracle Database physically stores tablespace data in data files. Tablespaces and data files are closely related, but have important differences:

  • Each tablespace consists of one or more data files, which conform to the operating system in which Oracle Database is running.

  • The data for a database is collectively stored in the data files located in each tablespace of the database.

  • A segment can span one or more data files, but it cannot span multiple tablespaces.

  • A database must have the SYSTEM and SYSAUX tablespaces. Oracle Database automatically allocates the first data files of any database for the SYSTEM tablespace during database creation.

    The SYSTEM tablespace contains the data dictionary, a set of tables that contains database metadata. Typically, a database also has an undo tablespace and a temporary tablespace (usually named TEMP).

Figure 11-4 shows the relationship between tablespaces, data files, and segments.

Figure 11-4 Data Files and Tablespaces

Description of Figure 11-4 follows
Description of "Figure 11-4 Data Files and Tablespaces"

Permanent and Temporary Data Files

A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stored in data files.

A temporary tablespace contains schema objects only for the duration of a session. Locally managed temporary tablespaces have temporary files (temp files), which are special files designed to store data in hash, sort, and other operations. Temp files also store result set data when insufficient space exists in memory.

Temp files are similar to permanent data files, with the following exceptions:

  • Permanent database objects such as tables are never stored in temp files.

  • Temp files are always set to NOLOGGING mode, which means that they never have redo generated for them. Media recovery does not recognize temp files.

  • You cannot make a temp file read-only.

  • You cannot create a temp file with the ALTER DATABASE statement.

  • When you create or resize temp files, they are not always guaranteed allocation of disk space for the file size specified. On file systems such as Linux and UNIX, temp files are created as sparse files. In this case, disk blocks are allocated not at file creation or resizing, but as the blocks are accessed for the first time.


    Caution:

    Sparse files enable fast temp file creation and resizing; however, the disk could run out of space later when the temp files are accessed.

  • Temp file information is shown in the data dictionary view DBA_TEMP_FILES and the dynamic performance view V$TEMPFILE, but not in DBA_DATA_FILES or the V$DATAFILE view.


See Also:


Online and Offline Data Files

Every data file is either online (available) or offline (unavailable). You can alter the availability of individual data files or temp files by taking them offline or bringing them online. Offline data files cannot be accessed until they are brought back online.

Administrators may take data files offline for many reasons, including performing offline backups, renaming a data file, or block corruption. The database takes a data file offline automatically if the database cannot write to it.

Like a data file, a tablespace itself is offline or online. When you take a data file offline in an online tablespace, the tablespace itself remains online. You can make all data files of a tablespace temporarily unavailable by taking the tablespace itself offline


See Also:


Data File Structure

Oracle Database creates a data file for a tablespace by allocating the specified amount of disk space plus the overhead for the data file header. The operating system under which Oracle Database runs is responsible for clearing old information and authorizations from a file before allocating it to the database.

The data file header contains metadata about the data file such as its size and checkpoint SCN. Each header contains an absolute file number and a relative file number. The absolute file number uniquely identifies the data file within the database. The relative file number uniquely identifies a data file within a tablespace.

When Oracle Database first creates a data file, the allocated disk space is formatted but contains no user data. However, the database reserves the space to hold the data for future segments of the associated tablespace. As the data grows in a tablespace, Oracle Database uses the free space in the data files to allocate extents for the segment.

Figure 11-5 illustrates the different types of space in a data file. Extents are either used, which means they contain segment data, or free, which means they are available for reuse. Over time, updates and deletions of objects within a tablespace can create pockets of empty space that individually are not large enough to be reused for new data. This type of empty space is referred to as fragmented free space.

Figure 11-5 Space in a Data File

Description of Figure 11-5 follows
Description of "Figure 11-5 Space in a Data File"


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn how to view data file information

O _verview of Control Files

The database control file is a small binary file associated with only one database. Each database has one unique control file, although it may maintain identical copies of it.

Use of Control Files

The control file is the root file that Oracle Database uses to find database files and to manage the state of the database generally. A control file contains information such as the following:

  • The database name and database unique identifier (DBID)

  • The time stamp of database creation

  • Information about data files, online redo log files, and archived redo log files

  • Tablespace information

  • RMAN backups

The control file serves the following purposes:

  • It contains information about data files, online redo log files, and so on that are required to open the database.

    The control file tracks structural changes to the database. For example, when an administrator adds, renames, or drops a data file or online redo log file, the database updates the control file to reflect this change.

  • It contains metadata that must be accessible when the database is not open.

    For example, the control file contains information required to recover the database, including checkpoints. A checkpoint indicates the SCN in the redo stream where instance recovery would be required to begin (see "Overview of Instance Recovery"). Every committed change before a checkpoint SCN is guaranteed to be saved on disk in the data files. At least every three seconds the checkpoint process records information in the control file about the checkpoint position in the online redo log.

Oracle Database reads and writes to the control file continuously during database use and must be available for writing whenever the database is open. For example, recovering a database involves reading from the control file the names of all the data files contained in the database. Other operations, such as adding a data file, update the information stored in the control file.


See Also:


Multiple Control Files

Oracle Database enables multiple, identical control files to be open concurrently and written for the same database. By multiplexing a control file on different disks, the database can achieve redundancy and thereby avoid a single point of failure.


Note:

Oracle recommends that you maintain multiple control file copies, each on a different disk.

If a control file becomes unusable, then the database instance fails when it attempts to access the damaged control file. When other current control file copies exist, the database can be remounted and opened without media recovery. If all control files of a database are lost, however, then the instance fails and media recovery is required. Media recovery is not straightforward if an older backup of a control file must be used because a current copy is not available.


See Also:


Control File Structure

Information about the database is stored in different sections of the control file. Each section is a set of records about an aspect of the database. For example, one section in the control file tracks data files and contains a set of records, one for each data file. Each section is stored in multiple logical control file blocks. Records can span blocks within a section.

The control file contains the following types of records:

  • Circular reuse records

    These records contain noncritical information that is eligible to be overwritten if needed. When all available record slots are full, the database either expands the control file to make room for a new record or overwrites the oldest record. Examples include records about archived redo log files and RMAN backups.

  • Noncircular reuse records

    These records contain critical information that does not change often and cannot be overwritten. Examples of information include tablespaces, data files, online redo log files, and redo threads. Oracle Database never reuses these records unless the corresponding object is dropped from the tablespace.

As explained in "Overview of the Dynamic Performance Views", you can query the dynamic performance views, also known as V$ views, to view the information stored in the control file. For example, you can query V$DATABASE to obtain the database name and DBID. However, only the database can modify the information in the control file.

Reading and writing the control file blocks is different from reading and writing data blocks. For the control file, Oracle Database reads and writes directly from the disk to the program global area (PGA). Each process allocates a certain amount of its PGA memory for control file blocks.


See Also:


Overview of the Online Redo Log

The most crucial structure for recovery is the online redo log, which consists of two or more preallocated files that store changes to the database as they occur. The online redo log records changes to the data files.

Use of the Online Redo Log

The database maintains online redo log files to protect against data loss. Specifically, after an instance failure the online redo log files enable Oracle Database to recover committed data not yet written to the data files.

Oracle Database writes every transaction synchronously to the redo log buffer, which is then written to the online redo logs. The contents of the log include uncommitted transactions, undo data, and schema and object management statements.

Oracle Database uses the online redo log only for recovery. However, administrators can query online redo log files through a SQL interface in the Oracle LogMiner utility (see "Oracle LogMiner"). Redo log files are a useful source of historical information about database activity.

How Oracle Database Writes to the Online Redo Log

The online redo log for a database instance is called a redo thread. In single-instance configurations, only one instance accesses a database, so only one redo thread is present. In an Oracle Real Application Clusters (Oracle RAC) configuration, however, two or more instances concurrently access a database, with each instance having its own redo thread. A separate redo thread for each instance avoids contention for a single set of online redo log files.

An online redo log consists of two or more online redo log files. Oracle Database requires a minimum of two files to guarantee that one is always available for writing while the other is being archived (if the database is in ARCHIVELOG mode).

Online Redo Log Switches

Oracle Database uses only one online redo log file at a time to store records written from the redo log buffer. The online redo log file to which the log writer (LGWR) process is actively writing is called the current online redo log file.

A log switch occurs when the database stops writing to one online redo log file and begins writing to another. Normally, a switch occurs when the current online redo log file is full and writing must continue. However, you can configure log switches to occur at regular intervals, regardless of whether the current online redo log file is filled, and force log switches manually.

Log writer writes to online redo log files circularly. When log writer fills the last available online redo log file, the process writes to the first log file, restarting the cycle. Figure 11-6 illustrates the circular writing of the redo log.

Figure 11-6 Reuse of Online Redo Log Files

Description of Figure 11-6 follows
Description of "Figure 11-6 Reuse of Online Redo Log Files"

The numbers in Figure 11-6 shows the sequence in which LGWR writes to each online redo log file. The database assigns each file a new log sequence number when a log switches and log writers begins writing to it. When the database reuses an online redo log file, this file receives the next available log sequence number.

Filled online redo log files are available for reuse depending on the archiving mode:

  • If archiving is disabled, which means that the database is in NOARCHIVELOG mode, then a filled online redo log file is available after the changes recorded in it have been checkpointed (written) to disk by database writer (DBWn).

  • If archiving is enabled, which means that the database is in ARCHIVELOG mode, then a filled online redo log file is available to log writer after the changes have been written to the data files and the file has been archived.

In some circumstances, log writer may be prevented from reusing an existing online redo log file. For example, an online redo log file may be active (required for instance recovery) rather than inactive (not required for instance recovery). Also, an online redo log file may be in the process of being cleared.

Multiple Copies of Online Redo Log Files

Oracle Database can automatically maintain two or more identical copies of the online redo log in separate locations. An online redo log group consists of an online redo log file and its redundant copies. Each identical copy is a member of the online redo log group. Each group is defined by a number, such as group 1, group 2, and so on.

Maintaining multiple members of an online redo log group protects against the loss of the redo log. Ideally, the locations of the members should be on separate disks so that the failure of one disk does not cause the loss of the entire online redo log.

In Figure 11-7, A_LOG1 and B_LOG1 are identical members of group 1, while A_LOG2 and B_LOG2 are identical members of group 2. Each member in a group must be the same size. LGWR writes concurrently to group 1 (members A_LOG1 and B_LOG1), then writes concurrently to group 2 (members A_LOG2 and B_LOG2), then writes to group 1, and so on. LGWR never writes concurrently to members of different groups.

Figure 11-7 Multiple Copies of Online Redo Log Files

Description of Figure 11-7 follows
Description of "Figure 11-7 Multiple Copies of Online Redo Log Files"


Note:

Oracle recommends that you multiplex the online redo log. The loss of log files can be catastrophic if recovery is required. When you multiplex the online redo log, the database must increase the amount of I/O it performs. Depending on your system, this additional I/O may impact overall database performance.


See Also:

Oracle Database Administrator's Guide to learn how to maintain multiple copies of the online redo log files

Archived Redo Log Files

An archived redo log file is a copy of a filled member of an online redo log group. This file is not considered part of the database, but is an offline copy of an online redo log file created by the database and written to a user-specified location.

Archived redo log files are a crucial part of a backup and recovery strategy. You can use archived redo log files to:

Archiving is the operation of generating an archived redo log file. Archiving is either automatic or manual and is only possible when the database is in ARCHIVELOG mode.

An archived redo log file includes the redo entries and the log sequence number of the identical member of the online redo log group. In Figure 11-7, files A_LOG1 and B_LOG1 are identical members of Group 1. If the database is in ARCHIVELOG mode, and if automatic archiving is enabled, then the archiver process (ARCn) will archive one of these files. If A_LOG1 is corrupted, then the process can archive B_LOG1. The archived redo log contains a copy of every group created since you enabled archiving.


See Also:


Structure of the Online Redo Log

Online redo log files contain redo records. A redo record is made up of a group of change vectors, each of which describes a change to a data block. For example, an update to a salary in the employees table generates a redo record that describes changes to the data segment block for the table, the undo segment data block, and the transaction table of the undo segments.

The redo records have all relevant metadata for the change, including the following:

  • SCN and time stamp of the change

  • Transaction ID of the transaction that generated the change

  • SCN and time stamp when the transaction committed (if it committed)

  • Type of operation that made the change

  • Name and type of the modified data segment

PK+t PKM%AOEBPS/logical.htm Logical Storage Structures

12 Logical Storage Structures

This chapter describes the nature of and relationships among logical storage structures. These structures are created and recognized by Oracle Database and are not known to the operating system.

This chapter contains the following sections:

Introduction to Logical Storage Structures

Oracle Database allocates logical space for all data in the database. The logical units of database space allocation are data blocks, extents, segments, and tablespaces. At a physical level, the data is stored in data files on disk (see Chapter 11, "Physical Storage Structures"). The data in the data files is stored in operating system blocks.

Figure 12-1 is an entity-relationship diagram for physical and logical storage. The crow's foot notation represents a one-to-many relationship.

Figure 12-1 Logical and Physical Storage

Description of Figure 12-1 follows
Description of "Figure 12-1 Logical and Physical Storage"

Logical Storage Hierarchy

Figure 12-2 shows the relationships among data blocks, extents, and segments within a tablespace. In this example, a segment has two extents stored in different data files.

Figure 12-2 Segments, Extents, and Data Blocks Within a Tablespace

Description of Figure 12-2 follows
Description of "Figure 12-2 Segments, Extents, and Data Blocks Within a Tablespace"

At the finest level of granularity, Oracle Database stores data in data blocks. One logical data block corresponds to a specific number of bytes of physical disk space, for example, 2 KB. Data blocks are the smallest units of storage that Oracle Database can use or allocate.

An extent is a set of logically contiguous data blocks allocated for storing a specific type of information. In Figure 12-2, the 24 KB extent has 12 data blocks, while the 72 KB extent has 36 data blocks.

A segment is a set of extents allocated for a specific database object, such as a table. For example, the data for the employees table is stored in its own data segment, whereas each index for employees is stored in its own index segment. Every database object that consumes storage consists of a single segment.

Each segment belongs to one and only one tablespace. Thus, all extents for a segment are stored in the same tablespace. Within a tablespace, a segment can include extents from multiple data files, as shown in Figure 12-2. For example, one extent for a segment may be stored in users01.dbf, while another is stored in users02.dbf. A single extent can never span data files.

Logical Space Management

Oracle Database must use logical space management to track and allocate the extents in a tablespace. When a database object requires an extent, the database must have a method of finding and providing it. Similarly, when an object no longer requires an extent, the database must have a method of making the free extent available.

Oracle Database manages space within a tablespace based on the type that you create. You can create either of the following types of tablespaces:

  • Locally managed tablespaces (default)

    The database uses bitmaps in the tablespaces themselves to manage extents. Thus, locally managed tablespaces have a part of the tablespace set aside for a bitmap. Within a tablespace, the database can manage segments with automatic segment space management (ASSM) or manual segment space management (MSSM).

  • Dictionary-managed tablespaces

    The database uses the data dictionary to manage extents (see "Overview of the Data Dictionary").

Figure 12-3 shows the alternatives for logical space management in a tablespace.

Figure 12-3 Logical Space Management

Description of Figure 12-3 follows
Description of "Figure 12-3 Logical Space Management"

Locally Managed Tablespaces

A locally managed tablespace maintains a bitmap in the data file header to track free and used space in the data file body. Each bit corresponds to a group of blocks. When space is allocated or freed, Oracle Database changes the bitmap values to reflect the new status of the blocks.

The following graphic is a conceptual representation of bitmap-managed storage. A 1 in the header refers to used space, whereas a 0 refers to free space.

Description of cncpt332.gif follows
Description of the illustration cncpt332.gif

A locally managed tablespace has the following advantages:

  • Avoids using the data dictionary to manage extents

    Recursive operations can occur in dictionary-managed tablespaces if consuming or releasing space in an extent results in another operation that consumes or releases space in a data dictionary table or undo segment.

  • Tracks adjacent free space automatically

    In this way, the database eliminates the need to coalesce free extents.

  • Determines the size of locally managed extents automatically

    Alternatively, all extents can have the same size in a locally managed tablespace and override object storage options.


Note:

Oracle strongly recommends the use of locally managed tablespaces with Automatic Segment Space Management.

Segment space management is an attribute inherited from the tablespace that contains the segment. Within a locally managed tablespace, the database can manage segments automatically or manually. For example, segments in tablespace users can be managed automatically while segments in tablespace tools are managed manually.

Automatic Segment Space Management

The ASSM method uses bitmaps to manage space. Bitmaps provide the following advantages:

  • Simplified administration

    ASSM avoids the need to manually determine correct settings for many storage parameters. Only one crucial SQL parameter controls space allocation: PCTFREE. This parameter specifies the percentage of space to be reserved in a block for future updates (see "Percentage of Free Space in Data Blocks").

  • Increased concurrency

    Multiple transactions can search separate lists of free data blocks, thereby reducing contention and waits. For many standard workloads, application performance with ASSM is better than the performance of a well-tuned application that uses MSSM.

  • Dynamic affinity of space to instances in an Oracle Real Application Clusters (Oracle RAC) environment

ASSM is more efficient and is the default for permanent, locally managed tablespaces.


Note:

This chapter assumes the use of ASSM in all of its discussions of logical storage space.

Manual Segment Space Management

The legacy MSSM method uses a linked list called a free list to manage free space in the segment. For a database object that has free space, a free list keeps track of blocks under the high water mark (HWM), which is the dividing line between segment space that is used and not yet used. As blocks are used, the database puts blocks on or removes blocks from the free list as needed.

In addition to PCTFREE, MSSM requires you to control space allocation with SQL parameters such as PCTUSED, FREELISTS, and FREELIST GROUPS. PCTUSED sets the percentage of free space that must exist in a currently used block for the database to put it on the free list. For example, if you set PCTUSED to 40 in a CREATE TABLE statement, then you cannot insert rows into a block in the segment until less than 40% of the block space is used.

As an illustration, suppose you insert a row into a table. The database checks a free list of the table for the first available block. If the row cannot fit in the block, and if the used space in the block is greater than or equal to PCTUSED, then the database takes the block off the list and searches for another block. If you delete rows from the block, then the database checks whether used space in the block is now less than PCTUSED. If so, then the database places the block at the beginning of the free list.

An object may have multiple free lists. In this way, multiple sessions performing DML on a table can use different lists, which can reduce contention. Each database session uses only one free list for the duration of its session.

As shown in Figure 12-4, you can also create an object with one or more free list groups, which are collections of free lists. Each group has a master free list that manages the individual process free lists in the group. Space overhead for free lists, especially for free list groups, can be significant.

Figure 12-4 Free List Groups

Description of Figure 12-4 follows
Description of "Figure 12-4 Free List Groups"

Managing segment space manually can be complex. You must adjust PCTFREE and PCTUSED to reduce row migration (see "Chained and Migrated Rows") and avoid wasting space. For example, if every used block in a segment is half full, and if PCTUSED is 40, then the database does not permit inserts into any of these blocks. Because of the difficulty of fine-tuning space allocation parameters, Oracle strongly recommends ASSM. In ASSM, PCTFREE determines whether a new row can be inserted into a block, but it does not use free lists and ignores PCTUSED.


See Also:


Dictionary-Managed Tablespaces

A dictionary-managed tablespace uses the data dictionary to manage its extents. Oracle Database updates tables in the data dictionary whenever an extent is allocated or freed for reuse. For example, when a table needs an extent, the database queries the data dictionary tables, and searches for free extents. If the database finds space, then it modifies one data dictionary table and inserts a row into another. In this way, the database manages space by modifying and moving data.

The SQL that the database executes in the background to obtain space for database objects is recursive SQL. Frequent use of recursive SQL can have a negative impact on performance because updates to the data dictionary must be serialized. Locally managed tablespaces, which are the default, avoid this performance problem.


See Also:

Oracle Database Administrator's Guide to learn how to migrate tablespaces from dictionary-managed to locally managed

Overview of Data Blocks

Oracle Database manages the logical storage space in the data files of a database in units called data blocks, also called Oracle blocks or pages. A data block is the minimum unit of database I/O.

Data Blocks and Operating System Blocks

At the physical level, database data is stored in disk files made up of operating system blocks. An operating system block is the minimum unit of data that the operating system can read or write. In contrast, an Oracle block is a logical storage structure whose size and structure are not known to the operating system.

Figure 12-5 shows that operating system blocks may differ in size from data blocks. The database requests data in multiples of data blocks, not operating system blocks.

Figure 12-5 Data Blocks and Operating System Blocks

Description of Figure 12-5 follows
Description of "Figure 12-5 Data Blocks and Operating System Blocks"

When the database requests a data block, the operating system translates this operation into a requests for data in permanent storage. The logical separation of data blocks from operating system blocks has the following implications:

  • Applications do not need to determine the physical addresses of data on disk.

  • Database data can be striped or mirrored on multiple physical disks.

Database Block Size

Every database has a database block size. The DB_BLOCK_SIZE initialization parameter sets the data block size for a database when it is created. The size is set for the SYSTEM and SYSAUX tablespaces and is the default for all other tablespaces. The database block size cannot be changed except by re-creating the database.

If DB_BLOCK_SIZE is not set, then the default data block size is operating system-specific. The standard data block size for a database is 4 KB or 8 KB. If the size differs for data blocks and operating system blocks, then the data block size must be a multiple of the operating system block size.


See Also:


Tablespace Block Size

You can create individual tablespaces whose block size differs from the DB_BLOCK_SIZE setting. A nonstandard block size can be useful when moving a transportable tablespace to a different platform.


See Also:

Oracle Database Administrator's Guide to learn how to specify a nonstandard block size for a tablespace

Data Block Format

Every data block has a format or internal structure that enables the database to track the data and free space in the block. This format is similar whether the data block contains table, index, or table cluster data. Figure 12-6 shows the format of an uncompressed data block (see "Data Block Compression" to learn about compressed blocks).

Figure 12-6 Data Block Format

Description of Figure 12-6 follows
Description of "Figure 12-6 Data Block Format"

Data Block Overhead

Oracle Database uses the block overhead to manage the block itself. The block overhead is not available to store user data. As shown in Figure 12-6, the block overhead includes the following parts:

  • Block header

    This part contains general information about the block, including disk address and segment type. For blocks that are transaction-managed, the block header contains active and historical transaction information.

    A transaction entry is required for every transaction that updates the block. Oracle Database initially reserves space in the block header for transaction entries. In data blocks allocated to segments that support transactional changes, free space can also hold transaction entries when the header space is depleted. The space required for transaction entries is operating system dependent. However, transaction entries in most operating systems require approximately 23 bytes.

  • Table directory

    For a heap-organized table, this directory contains metadata about tables whose rows are stored in this block. Multiple tables can store rows in the same block.

  • Row directory

    For a heap-organized table, this directory describes the location of rows in the data portion of the block.

    After space has been allocated in the row directory, the database does not reclaim this space after row deletion. Thus, a block that is currently empty but formerly had up to 50 rows continues to have 100 bytes allocated for the row directory. The database reuses this space only when new rows are inserted in the block.

Some parts of the block overhead are fixed in size, but the total size is variable. On average, the block overhead totals 84 to 107 bytes.

Row Format

The row data part of the block contains the actual data, such as table rows or index key entries. Just as every data block has an internal format, every row has a row format that enables the database to track the data in the row.

Oracle Database stores rows as variable-length records. A row is contained in one or more row pieces. Each row piece has a row header and column data.

Figure 12-7 shows the format of a row.

Figure 12-7 The Format of a Row Piece

Description of Figure 12-7 follows
Description of "Figure 12-7 The Format of a Row Piece"

Row Header

Oracle Database uses the row header to manage the row piece stored in the block. The row header contains information such as the following:

  • Columns in the row piece

  • Pieces of the row located in other data blocks

    If an entire row can be inserted into a single data block, then Oracle Database stores the row as one row piece. However, if all of the row data cannot be inserted into a single block or an update causes an existing row to outgrow its block, then the database stores the row in multiple row pieces (see "Chained and Migrated Rows"). A data block usually contains only one row piece per row.

  • Cluster keys for table clusters (see "Overview of Table Clusters")

A row fully contained in one block has at least 3 bytes of row header.

Column Data

After the row header, the column data section stores the actual data in the row. The row piece usually stores columns in the order listed in the CREATE TABLE statement, but this order is not guaranteed. For example, columns of type LONG are created last.

As shown in Figure 12-7, for each column in a row piece, Oracle Database stores the column length and data separately. The space required depends on the data type. If the data type of a column is variable length, then the space required to hold a value can grow and shrink with updates to the data.

Each row has a slot in the row directory of the data block header. The slot points to the beginning of the row.

Rowid Format

Oracle Database uses a rowid to uniquely identify a row. Internally, the rowid is a structure that holds information that the database needs to access a row. A rowid is not physically stored in the database, but is inferred from the file and block on which the data is stored.

An extended rowid includes a data object number. This rowid type uses a base 64 encoding of the physical address for each row. The encoding characters are A-Z, a-z, 0-9, +, and /.

Example 12-1 queries the ROWID pseudocolumn to show the extended rowid of the row in the employees table for employee 100.

Example 12-1 ROWID Pseudocolumn

SQL> SELECT ROWID FROM employees WHERE employee_id = 100;
 
ROWID
------------------
AAAPecAAFAAAABSAAA

Figure 12-8 illustrates the format of an extended rowid.

An extended rowid is displayed in a four-piece format, OOOOOOFFFBBBBBBRRR, with the format divided into the following components:

  • OOOOOO

    The data object number identifies the segment (data object AAAPec in Example 12-1). A data object number is assigned to every database segment. Schema objects in the same segment, such as a table cluster, have the same data object number.

  • FFF

    The tablespace-relative data file number identifies the data file that contains the row (file AAF in Example 12-1).

  • BBBBBB

    The data block number identifies the block that contains the row (block AAAABS in Example 12-1). Block numbers are relative to their data file, not their tablespace. Thus, two rows with identical block numbers could reside in different data files of the same tablespace.

  • RRR

    The row number identifies the row in the block (row AAA in Example 12-1).

After a rowid is assigned to a row piece, the rowid can change in special circumstances. For example, if row movement is enabled, then the rowid can change because of partition key updates, Flashback Table operations, shrink table operations, and so on. If row movement is disabled, then a rowid can change if the row is exported and imported using Oracle Database utilities.


Note:

Internally, the database performs row movement as if the row were physically deleted and reinserted. However, row movement is considered an update, which has implications for triggers.

Data Block Compression

The database can use table compression to eliminate duplicate values in a data block (see "Table Compression"). This section describes the format of data blocks that use compression.

The format of a data block that uses basic and OLTP table compression is essentially the same as an uncompressed block. The difference is that a symbol table at the beginning of the block stores duplicate values for the rows and columns. The database replaces occurrences of these values with a short reference to the symbol table.

Assume that the rows in Example 12-2 are stored in a data block for the seven-column sales table.

Example 12-2 Rows in sales Table

2190,13770,25-NOV-00,S,9999,23,161
2225,15720,28-NOV-00,S,9999,25,1450
34005,120760,29-NOV-00,P,9999,44,2376
9425,4750,29-NOV-00,I,9999,11,979
1675,46750,29-NOV-00,S,9999,19,1121

When basic or OLTP table compression is applied to this table, the database replaces duplicate values with a symbol reference. Example 12-3 is a conceptual representation of the compression in which the symbol * replaces 29-NOV-00 and % replaces 9999.

Example 12-3 OLTP Compressed Rows in sales Table

2190,13770,25-NOV-00,S,%,23,161
2225,15720,28-NOV-00,S,%,25,1450
34005,120760,*,P,%,44,2376
9425,4750,*,I,%,11,979
1675,46750,*,S,%,19,1121

Table 12-1 conceptually represents the symbol table that maps symbols to values.

Table 12-1 Symbol Table

SymbolValueColumnRows

*


29-NOV-00

3

958-960

%


9999

5

956-960


Space Management in Data Blocks

As the database fills a data block from the bottom up, the amount of free space between the row data and the block header decreases. This free space can also shrink during updates, as when changing a trailing null to a nonnull value. The database manages free space in the data block to optimize performance and avoid wasted space.


Note:

This section assumes the use of automatic segment space management.

Percentage of Free Space in Data Blocks

The PCTFREE storage parameter is essential to how the database manages free space. This SQL parameter sets the minimum percentage of a data block reserved as free space for updates to existing rows. Thus, PCTFREE is important for preventing row migration and avoiding wasted space.

For example, assume that you create a table that will require only occasional updates, most of which will not increase the size of the existing data. You specify the PCTFREE parameter within a CREATE TABLE statement as follows:

CREATE TABLE test_table (n NUMBER) PCTFREE 20;

Figure 12-9 shows how a PCTFREE setting of 20 affects space management. The database adds rows to the block over time, causing the row data to grow upwards toward the block header, which is itself expanding downward toward the row data. The PCTFREE setting ensures that at least 20% of the data block is free. For example, the database prevents an INSERT statement from filling the block so that the row data and header occupy a combined 90% of the total block space, leaving only 10% free.


Note:

This discussion does not apply to LOB data types, which do not use the PCTFREE storage parameter or free lists. See "Overview of LOBs".


See Also:

Oracle Database SQL Language Reference for the syntax and semantics of the PCTFREE parameter

Optimization of Free Space in Data Blocks

While the percentage of free space cannot be less than PCTFREE, the amount of free space can be greater. For example, a PCTFREE setting of 20% prevents the total amount of free space from dropping to 5% of the block, but permits 50% of the block to be free space. The following SQL statements can increase free space:

  • DELETE statements

  • UPDATE statements that either update existing values to smaller values or increase existing values and force a row to migrate

  • INSERT statements on a table that uses OLTP compression

    If inserts fill a block with data, then the database invokes block compression, which may result in the block having more free space.

The space released is available for INSERT statements under the following conditions:

  • If the INSERT statement is in the same transaction and after the statement that frees space, then the statement can use the space.

  • If the INSERT statement is in a separate transaction from the statement that frees space (perhaps run by another user), then the statement can use the space made available only after the other transaction commits and only if the space is needed.


See Also:

Oracle Database Administrator's Guide to learn about OLTP compression

Coalescing Fragmented Space

Released space may or may not be contiguous with the main area of free space in a data block, as shown in Figure 12-10. Noncontiguous free space is called fragmented space.

Figure 12-10 Data Block with Fragmented Space

Description of Figure 12-10 follows
Description of "Figure 12-10 Data Block with Fragmented Space"

Oracle Database automatically and transparently coalesces the free space of a data block only when the following conditions are true:

  • An INSERT or UPDATE statement attempts to use a block that contains sufficient free space to contain a new row piece.

  • The free space is fragmented so that the row piece cannot be inserted in a contiguous section of the block.

After coalescing, the amount of free space is identical to the amount before the operation, but the space is now contiguous. Figure 12-11 shows a data block after space has been coalesced.

Figure 12-11 Data Block After Coalescing Free Space

Description of Figure 12-11 follows
Description of "Figure 12-11 Data Block After Coalescing Free Space"

Oracle Database performs coalescing only in the preceding situations because otherwise performance would decrease because of the continuous coalescing of the free space in data blocks.

Reuse of Index Space

The database can reuse space within an index block. For example, if you insert a value into a column and delete it, and if an index exists on this column, then the database can reuse the index slot when a row requires it.

The database can reuse an index block itself. Unlike a table block, an index block only becomes free when it is empty. The database places the empty block on the free list of the index structure and makes it eligible for reuse. However, Oracle Database does not automatically compact the index: an ALTER INDEX REBUILD or COALESCE statement is required.

Figure 12-12 represents an index of the employees.department_id column before the index is coalesced. The first three leaf blocks are only partially full, as indicated by the gray fill lines.

Figure 12-12 Index Before Coalescing

Description of Figure 12-12 follows
Description of "Figure 12-12 Index Before Coalescing"

Figure 12-13 shows the index in Figure 12-12 after the index has been coalesced. The first two leaf blocks are now full, as indicated by the gray fill lines, and the third leaf block has been freed.

Figure 12-13 Index After Coalescing

Description of Figure 12-13 follows
Description of "Figure 12-13 Index After Coalescing"


See Also:


Chained and Migrated Rows

Oracle Database must manage rows that are too large to fit into a single block. The following situations are possible:

  • The row is too large to fit into one data block when it is first inserted.

    In row chaining, Oracle Database stores the data for the row in a chain of one or more data blocks reserved for the segment. Row chaining most often occurs with large rows. Examples include rows that contain a column of data type LONG or LONG RAW, a VARCHAR2(4000) column in a 2 KB block, or a row with a huge number of columns. Row chaining in these cases is unavoidable.

  • A row that originally fit into one data block is updated so that the overall row length increases, but insufficient free space exists to hold the updated row.

    In row migration, Oracle Database moves the entire row to a new data block, assuming the row can fit in a new block. The original row piece of a migrated row contains a pointer or "forwarding address" to the new block containing the migrated row. The rowid of a migrated row does not change.

  • A row has more than 255 columns.

    Oracle Database can only store 255 columns in a row piece. Thus, if you insert a row into a table that has 1000 columns, then the database creates 4 row pieces, typically chained over multiple blocks.

Figure 12-14 depicts shows the insertion of a large row in a data block. The row is too large for the left block, so the database chains the row by placing the first row piece in the left block and the second row piece in the right block.

Figure 12-14 Row Chaining

Description of Figure 12-14 follows
Description of "Figure 12-14 Row Chaining"

Figure 12-15, the left block contains a row that is updated so that the row is now too large for the block. The database moves the entire row to the right block and leaves a pointer to the migrated row in the left block.

Figure 12-15 Row Migration

Description of Figure 12-15 follows
Description of "Figure 12-15 Row Migration"

When a row is chained or migrated, the I/O needed to retrieve the data increases. This situation results because Oracle Database must scan multiple blocks to retrieve the information for the row. For example, if the database performs one I/O to read an index and one I/O to read a nonmigrated table row, then an additional I/O is required to obtain the data for a migrated row.

The Segment Advisor, which can be run both manually and automatically, is an Oracle Database component that identifies segments that have space available for reclamation. The advisor can offer advice about objects that have significant free space or too many chained rows.


See Also:


Overview of Extents

An extent is a logical unit of database storage space allocation made up of contiguous data blocks. Data blocks in an extent are logically contiguous but can be physically spread out on disk because of RAID striping and file system implementations.

Allocation of Extents

By default, the database allocates an initial extent for a data segment when the segment is created. An extent is always contained in one data file.

Although no data has been added to the segment, the data blocks in the initial extent are reserved for this segment exclusively. The first data block of every segment contains a directory of the extents in the segment. Figure 12-16 shows the initial extent in a segment in a data file that previously contained no data.

Figure 12-16 Initial Extent of a Segment

Description of Figure 12-16 follows
Description of "Figure 12-16 Initial Extent of a Segment"

If the initial extent become full, and if more space is required, then the database automatically allocates an incremental extent for this segment. An incremental extent is a subsequent extent created for the segment.

The allocation algorithm depends on whether the tablespace is locally managed or dictionary-managed. In the locally managed case, the database searches the bitmap of a data file for adjacent free blocks. If the data file has insufficient space, then the database looks in another data file. Extents for a segment are always in the same tablespace but may be in different data files.

Figure 12-17 shows that the database can allocate extents for a segment in any data file in the tablespace. For example, the segment can allocate the initial extent in users01.dbf, allocate the first incremental extent in users02.dbf, and allocate the next extent in users01.dbf.

Figure 12-17 Incremental Extent of a Segment

Description of Figure 12-17 follows
Description of "Figure 12-17 Incremental Extent of a Segment"

The blocks of a newly allocated extent, although they were free, may not be empty of old data. In ASSM, Oracle Database formats the blocks of a newly allocated extent when it starts using the extent, but only as needed (see "Segment Space and the High Water Mark").


Note:

This section applies to serial operations, in which one server process parses and runs a statement. Extents are allocated differently in parallel SQL statements, which entail multiple server processes.


See Also:

Oracle Database Administrator's Guide to learn how to manually allocate extents

Deallocation of Extents

In general, the extents of a user segment do not return to the tablespace unless you drop the object using a DROP command. In Oracle Database 11g Release 2 (11.2.0.2), you can also drop the segment using the DBMS_SPACE_ADMIN package. For example, if you delete all rows in a table, then the database does not reclaim the data blocks for use by other objects in the tablespace.


Note:

In an undo segment, Oracle Database periodically deallocates one or more extents if it has the OPTIMAL size specified or if the database is in automatic undo management mode (see "Undo Tablespaces").

In some circumstances, you can manually deallocate space. The Oracle Segment Advisor helps determine whether an object has space available for reclamation based on the level of fragmentation in the object. The following techniques can free extents:

  • You can use an online segment shrink to reclaim fragmented space in a segment. Segment shrink is an online, in-place operation. In general, data compaction leads to better cache utilization and requires fewer blocks to be read in a full table scan.

  • You can move the data of a nonpartitioned table or table partition into a new segment, and optionally into a different tablespace for which you have quota.

  • You can rebuild or coalesce the index (see "Reuse of Index Space").

  • You can truncate a table or table cluster, which removes all rows. By default, Oracle Database deallocates all space used by the removed rows except that specified by the MINEXTENTS storage parameter. In Oracle Database 11g Release 2 (11.2.0.2), you can also use TRUNCATE with the DROP ALL STORAGE option to drop entire segments.

  • You can deallocate unused space, which frees the unused space at the high water mark end of the database segment and makes the space available for other segments in the tablespace (see "Segment Space and the High Water Mark").

When extents are freed, Oracle Database modifies the bitmap in the data file for locally managed tablespaces to reflect the regained extents as available space. Any data in the blocks of freed extents becomes inaccessible.


See Also:

Oracle Database Administrator's Guide to learn how to reclaim segment space

Storage Parameters for Extents

Every segment is defined by storage parameters expressed in terms of extents. These parameters control how Oracle Database allocates free space for a segment.

The storage settings are determined in the following order of precedence, with setting higher on the list overriding settings lower on the list:

  1. Segment storage clause

  2. Tablespace storage clause

  3. Oracle Database default

A locally managed tablespace can have either uniform extent sizes or variable extent sizes determined automatically by the system:

  • For uniform extents, you can specify an extent size or use the default size of 1 MB. All extents in the tablespace are of this size. Locally managed temporary tablespaces can only use this type of allocation.

  • For automatically allocated extents, Oracle Database determines the optimal size of additional extents.

For locally managed tablespaces, some storage parameters cannot be specified at the tablespace level. However, you can specify these parameters at the segment level. In this case, the databases uses all parameters together to compute the initial size of the segment. Internal algorithms determine the subsequent size of each extent.


See Also:


Overview of Segments

A segment is a set of extents that contains all the data for a logical storage structure within a tablespace. For example, Oracle Database allocates one or more extents to form the data segment for a table. The database also allocates one or more extents to form the index segment for a table.

As explained in "Logical Space Management", Oracle Database manages segment space automatically or manually. This section assumes the use of ASSM.

User Segments

A single data segment in a database stores the data for one user object. There are different types of segments. Examples of user segments include:

  • Table, table partition, or table cluster

  • LOB or LOB partition

  • Index or index partition

Each nonpartitioned object and object partition is stored in its own segment. For example, if an index has five partitions, then five segments contain the index data.

User Segment Creation

By default, the database uses deferred segment creation to update only database metadata when creating tables and indexes. Starting in Oracle Database 11g Release 2 (11.2.0.2), the database also defers segment creation when creating partitions. When a user inserts the first row into a table or partition, the database creates segments for the table or partition, its LOB columns, and its indexes.

Deferred segment creation enables you to avoid using database resources unnecessarily. For example, installation of an application can create thousands of objects, consuming significant disk space. Many of these objects may never be used.

You can use the DBMS_SPACE_ADMIN package to manage segments for empty objects. Starting with Oracle Database 11g Release 2 (11.2.0.2), you can use this PL/SQL package to do the following:

  • Manually materialize segments for empty tables or partitions that do not have segments created

  • Remove segments from empty tables or partitions that currently have an empty segment allocated

To best illustrate the relationship between object creation and segment creation, assume that deferred segment creation is disabled. You create a table as follows:

CREATE TABLE test_table (my_column NUMBER);

As shown in Figure 12-18, the database creates one segment for the table.

Figure 12-18 Creation of a User Segment

Description of Figure 12-18 follows
Description of "Figure 12-18 Creation of a User Segment"

When you create a table with a primary key or unique key, Oracle Database automatically creates an index for this key. Again assume that deferred segment creation is disabled. You create a table as follows:

CREATE TABLE lob_table (my_column NUMBER PRIMARY KEY, clob_column CLOB);

Figure 12-19 shows that the data for lob_table is stored in one segment, while the implicitly created index is in a different segment. Also, the CLOB data is stored in its own segment, as is its associated CLOB index (see "Internal LOBs"). Thus, the CREATE TABLE statement results in the creation of four different segments.

Figure 12-19 Multiple Segments

Description of Figure 12-19 follows
Description of "Figure 12-19 Multiple Segments"


Note:

The segments of a table and the index for this table do not have to occupy the same tablespace.

The database allocates one or more extents when a segment is created. Storage parameters for the object determine how the extents for each segment are allocated (see "Storage Parameters for Extents"). The parameters affect the efficiency of data retrieval and storage for the data segment associated with the object.


See Also:


Temporary Segments

When processing a query, Oracle Database often requires temporary workspace for intermediate stages of SQL statement execution. Typical operations that may require a temporary segment include sorting, hashing, and merging bitmaps. While creating an index, Oracle Database also places index segments into temporary segments and then converts them into permanent segments when the index is complete.

Oracle Database does not create a temporary segment if an operation can be performed in memory. However, if memory use is not possible, then the database automatically allocates a temporary segment on disk.

Allocation of Temporary Segments for Queries

Oracle Database allocates temporary segments for queries as needed during a user session and drops them when the query completes. Changes to temporary segments are not recorded in the online redo log, except for space management operations on the temporary segment (see "Overview of the Online Redo Log").

The database creates temporary segments in the temporary tablespace assigned to the user. The default storage characteristics of the tablespace determine the characteristics of the extents in the temporary segment. Because allocation and deallocation of temporary segments occurs frequently, the best practice is to create at least one special tablespace for temporary segments. The database distributes I/O across disks and avoids fragmenting SYSTEM and other tablespaces with temporary segments.


Note:

When SYSTEM is locally managed, you must define a default temporary tablespace at database creation. A locally managed SYSTEM tablespace cannot be used for default temporary storage.


See Also:


Allocation of Temporary Segments for Temporary Tables and Indexes

Oracle Database can also allocate temporary segments for temporary tables and their indexes. Temporary tables hold data that exists only for the duration of a transaction or session. Each session accesses only the extents allocated for the session and cannot access extents allocated for other sessions.

Oracle Database allocates segments for a temporary table when the first INSERT into that table occurs. The insertion can occur explicitly or because of CREATE TABLE AS SELECT. The first INSERT into a temporary table allocates the segments for the table and its indexes, creates the root page for the indexes, and allocates any LOB segments.

Segments for a temporary table are allocated in a temporary tablespace of the current user. Assume that the temporary tablespace assigned to user1 is temp1 and the temporary tablespace assigned to user2 is temp2. In this case, user1 stores temporary data in the temp1 segments, while user2 stores temporary data in the temp2 segments.


See Also:


Undo Segments

Oracle Database maintains records of the actions of transactions, collectively known as undo data. Oracle Database uses undo to do the following:

Oracle Database stores undo data inside the database rather than in external logs. Undo data is stored in blocks that are updated just like data blocks, with changes to these blocks generating redo. In this way, Oracle Database can efficiently access undo data without needing to read external logs.

Undo data is stored in an undo tablespace. Oracle Database provides a fully automated mechanism, known as automatic undo management mode, for managing undo segments and space in an undo tablespace.

Undo Segments and Transactions

When a transaction starts, the database binds (assigns) the transaction to an undo segment, and therefore to a transaction table, in the current undo tablespace. In rare circumstances, if the database instance does not have a designated undo tablespace, then the transaction binds to the system undo segment.

Multiple active transactions can write concurrently to the same undo segment or to different segments. For example, transactions T1 and T2 can both write to undo segment U1, or T1 can write to U1 while T2 writes to undo segment U2.

Conceptually, the extents in an undo segment form a ring. Transactions write to one undo extent, and then to the next extent in the ring, and so on in cyclical fashion. Figure 12-20 shows two transactions, T1 and T2, which begin writing in the third extent (E3) of an undo segment and continue writing to the fourth extent (E4).

Figure 12-20 Ring of Allocated Extents in an Undo Segment

Description of Figure 12-20 follows
Description of "Figure 12-20 Ring of Allocated Extents in an Undo Segment "

At any given time, a transaction writes sequentially to only one extent in an undo segment, known as the current extent for the transaction. Multiple active transactions can write simultaneously to the same current extent or to different current extents. Figure 12-20 shows transactions T1 and T2 writing simultaneously to extent E3. Within an undo extent, a data block contains data for only one transaction.

As the current undo extent fills, the first transaction needing space checks the availability of the next allocated extent in the ring. If the next extent does not contain data from an active transaction, then this extent becomes the current extent. Now all transactions that need space can write to the new current extent. In Figure 12-21, when E4 is full, T1 and T2 continue writing to E1, overwriting the nonactive undo data in E1.

Figure 12-21 Cyclical Use of Allocated Extents in an Undo Segment

Description of Figure 12-21 follows
Description of "Figure 12-21 Cyclical Use of Allocated Extents in an Undo Segment"

If the next extent does contain data from an active transaction, then the database must allocate a new extent. Figure 12-22 shows a scenario in which T1 and T2 are writing to E4. When E4 fills up, the transactions cannot continue writing to E1 because E1 contains active undo entries. Therefore, the database allocates a new extent (E5) for this undo segment. The transactions continue writing to E5.

Figure 12-22 Allocation of a New Extent for an Undo Segment

Description of Figure 12-22 follows
Description of "Figure 12-22 Allocation of a New Extent for an Undo Segment"


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn how to manage undo segments

Transaction Rollback

When a ROLLBACK statement is issued, the database uses undo records to roll back changes made to the database by the uncommitted transaction. During recovery, the database rolls back any uncommitted changes applied from the online redo log to the data files. Undo records provide read consistency by maintaining the before image of the data for users accessing data at the same time that another user is changing it.

Segment Space and the High Water Mark

To manage space, Oracle Database tracks the state of blocks in the segment. The high water mark (HWM) is the point in a segment beyond which data blocks are unformatted and have never been used.

MSSM uses free lists to manage segment space. At table creation, no blocks in the segment are formatted. When a session first inserts rows into the table, the database searches the free list for usable blocks. If the database finds no usable blocks, then it preformats a group of blocks, places them on the free list, and begins inserting data into the blocks. In MSSM, a full table scan reads all blocks below the HWM.

ASSM does not use free lists and so must manage space differently. When a session first inserts data into a table, the database formats a single bitmap block instead of preformatting a group of blocks as in MSSM. The bitmap tracks the state of blocks in the segment, taking the place of the free list. The database uses the bitmap to find free blocks and then formats each block before filling it with data. ASSM spread out inserts among blocks to avoid concurrency issues.

Every data block in an ASSM segment is in one of the following states:

  • Above the HWM

    These blocks are unformatted and have never been used.

  • Below the HWM

    These blocks are in one of the following states:

    • Allocated, but currently unformatted and unused

    • Formatted and contain data

    • Formatted and empty because the data was deleted

Figure 12-23 depicts an ASSM segment as a horizontal series of blocks. At table creation, the HWM is at the beginning of the segment on the left. Because no data has been inserted yet, all blocks in the segment are unformatted and never used.

Figure 12-23 HWM at Table Creation

Description of Figure 12-23 follows
Description of "Figure 12-23 HWM at Table Creation"

Suppose that a transaction inserts rows into the segment. The database must allocate a group of blocks to hold the rows. The allocated blocks fall below the HWM. The database formats a bitmap block in this group to hold the metadata, but does not preformat the remaining blocks in the group.

In Figure 12-24, the blocks below the HWM are allocated, whereas blocks above the HWM are neither allocated or formatted. As inserts occur, the database can write to any block with available space. The low high water mark (low HWM) marks the point below which all blocks are known to be formatted because they either contain data or formerly contained data.

Figure 12-24 HWM and Low HWM

Description of Figure 12-24 follows
Description of "Figure 12-24 HWM and Low HWM"

In Figure 12-25, the database chooses a block between the HWM and low HWM and writes to it. The database could have just as easily chosen any other block between the HWM and low HWM, or any block below the low HWM that had available space. In Figure 12-25, the blocks to either side of the newly filled block are unformatted.

Figure 12-25 HWM and Low HWM

Description of Figure 12-25 follows
Description of "Figure 12-25 HWM and Low HWM"

The low HWM is important in a full table scan. Because blocks below the HWM are formatted only when used, some blocks could be unformatted, as in Figure 12-25. For this reason, the database reads the bitmap block to obtain the location of the low HWM. The database reads all blocks up to the low HWM because they are known to be formatted, and then carefully reads only the formatted blocks between the low HWM and the HWM.

Assume that a new transaction inserts rows into the table, but the bitmap indicates that insufficient free space exists under the HWM. In Figure 12-26, the database advances the HWM to the right, allocating a new group of unformatted blocks.

Figure 12-26 Advancing HWM and Low HWM

Description of Figure 12-26 follows
Description of "Figure 12-26 Advancing HWM and Low HWM"

When the blocks between the HWM and low HWM are full, the HWM advances to the right and the low HWM advances to the location of the old HWM. As the database inserts data over time, the HWM continues to advance to the right, with the low HWM always trailing behind it. Unless you manually rebuild, truncate, or shrink the object, the HWM never retreats.


See Also:


Overview of Tablespaces

A tablespace is a logical storage container for segments. Segments are database objects, such as tables and indexes, that consume storage space. At the physical level, a tablespace stores data in one or more data files or temp files.

A database must have the SYSTEM and SYSAUX tablespaces. Figure 12-27 shows the tablespaces in a typical database. The following sections describe the tablespace types.

Permanent Tablespaces

A permanent tablespace groups persistent schema objects. The segments for objects in the tablespace are stored physically in data files.

Each database user is assigned a default permanent tablespace. A very small database may need only the default SYSTEM and SYSAUX tablespaces. However, Oracle recommends that you create at least one tablespace to store user and application data. You can use tablespaces to achieve the following goals:

  • Control disk space allocation for database data

  • Assign a quota (space allowance or limit) to a database user

  • Take individual tablespaces online or offline without affecting the availability of the whole database

  • Perform backup and recovery of individual tablespaces

  • Import or export application data by using the Oracle Data Pump utility (see "Oracle Data Pump Export and Import")

  • Create a transportable tablespace that you can copy or move from one database to another, even across platforms

    Moving data by transporting tablespaces can be orders of magnitude faster than either export/import or unload/load of the same data, because transporting a tablespace involves only copying data files and integrating the tablespace metadata. When you transport tablespaces you can also move index data.


See Also:


The SYSTEM Tablespace

The SYSTEM tablespace is a necessary administrative tablespace included with the database when it is created. Oracle Database uses SYSTEM to manage the database.

The SYSTEM tablespace includes the following information, all owned by the SYS user:

  • The data dictionary

  • Tables and views that contain administrative information about the database

  • Compiled stored objects such as triggers, procedures, and packages

The SYSTEM tablespace is managed as any other tablespace, but requires a higher level of privilege and is restricted in some ways. For example, you cannot rename or drop the SYSTEM tablespace.

By default, Oracle Database sets all newly created user tablespaces to be locally managed. In a database with a locally managed SYSTEM tablespace, you cannot create dictionary-managed tablespaces (which are deprecated). However, if you execute the CREATE DATABASE statement manually and accept the defaults, then the SYSTEM tablespace is dictionary managed. You can migrate an existing dictionary-managed SYSTEM tablespace to a locally managed format.


Note:

Oracle strongly recommends that you use Database Configuration Assistant (DBCA) to create new databases so that all tablespaces, including SYSTEM, are locally managed by default.


See Also:


The SYSAUX Tablespace

The SYSAUX tablespace is an auxiliary tablespace to the SYSTEM tablespace. The SYSAUX tablespace provides a centralized location for database metadata that does not reside in the SYSTEM tablespace. It reduces the number of tablespaces created by default, both in the seed database and in user-defined databases.

Several database components, including Oracle Enterprise Manager and Oracle Streams, use the SYSAUX tablespace as their default storage location. Therefore, the SYSAUX tablespace is created automatically during database creation or upgrade.

During normal database operation, the database does not allow the SYSAUX tablespace to be dropped or renamed. If the SYSAUX tablespace becomes unavailable, then core database functionality remains operational. The database features that use the SYSAUX tablespace could fail, or function with limited capability.


See Also:

Oracle Database Administrator's Guide to learn about the SYSAUX tablespace

Undo Tablespaces

An undo tablespace is a locally managed tablespace reserved for system-managed undo data (see "Undo Segments"). Like other permanent tablespaces, undo tablespaces contain data files. Undo blocks in these files are grouped in extents.

Automatic Undo Management Mode

Undo tablespaces require the database to be in the default automatic undo management mode. This mode eliminates the complexities of manually administering undo segments. The database automatically tunes itself to provide the best possible retention of undo data to satisfy long-running queries that may require this data.

An undo tablespace is automatically created with a new installation of Oracle Database. Earlier versions of Oracle Database may not include an undo tablespace and use legacy rollback segments instead, known as manual undo management mode. When upgrading to Oracle Database 11g, you can enable automatic undo management mode and create an undo tablespace. Oracle Database contains an Undo Advisor that provides advice on and helps automate your undo environment.

A database can contain multiple undo tablespaces, but only one can be in use at a time. When an instance attempts to open a database, Oracle Database automatically selects the first available undo tablespace. If no undo tablespace is available, then the instance starts without an undo tablespace and stores undo data in the SYSTEM tablespace. Storing undo data in SYSTEM is not recommended.


See Also:


Automatic Undo Retention

The undo retention period is the minimum amount of time that Oracle Database attempts to retain old undo data before overwriting it. Undo retention is important because long-running queries may require older block images to supply read consistency. Also, some Oracle Flashback features can depend on undo availability.

In general, it is desirable to retain old undo data as long as possible. After a transaction commits, undo data is no longer needed for rollback or transaction recovery. The database can retain old undo data if the undo tablespace has space for new transactions. When available space is low, the database begins to overwrite old undo data for committed transactions.

Oracle Database automatically provides the best possible undo retention for the current undo tablespace. The database collects usage statistics and tunes the retention period based on these statistics and the undo tablespace size. If the undo tablespace is configured with the AUTOEXTEND option, and if the maximum size is not specified, then undo retention tuning is different. In this case, the database tunes the undo retention period to be slightly longer than the longest-running query, if space allows.


See Also:

Oracle Database Administrator's Guide for more details on automatic tuning of undo retention

Temporary Tablespaces

A temporary tablespace contains transient data that persists only for the duration of a session. No permanent schema objects can reside in a temporary tablespace. The database stores temporary tablespace data in temp files.

Temporary tablespaces can improve the concurrency of multiple sort operations that do not fit in memory. These tablespaces also improve the efficiency of space management operations during sorts.

When the SYSTEM tablespace is locally managed, a default temporary tablespace is included in the database by default during database creation. A locally managed SYSTEM tablespace cannot serve as default temporary storage.


Note:

You cannot make a default temporary tablespace permanent.

You can specify a user-named default temporary tablespace when you create a database by using the DEFAULT TEMPORARY TABLESPACE extension to the CREATE DATABASE statement. If SYSTEM is dictionary managed, and if a default temporary tablespace is not defined at database creation, then SYSTEM is the default temporary storage. However, the database writes a warning in the alert log saying that a default temporary tablespace is recommended.


See Also:


Tablespace Modes

The tablespace mode determines the accessibility of the tablespace.

Read/Write and Read-Only Tablespaces

Every tablespace is in a write mode that specifies whether it can be written to. The mutually exclusive modes are as follows:

  • Read/write mode

    Users can read and write to the tablespace. All tablespaces are initially created as read/write. The SYSTEM and SYSAUX tablespaces and temporary tablespaces are permanently read/write, which means that they cannot be made read-only.

  • Read-only mode

    Write operations to the data files in the tablespace are prevented. A read-only tablespace can reside on read-only media such as DVDs or WORM drives.

    Read-only tablespaces eliminate the need to perform backup and recovery of large, static portions of a database. Read-only tablespaces do not change and thus do not require repeated backup. If you recover a database after a media failure, then you do not need to recover read-only tablespaces.


See Also:


Online and Offline Tablespaces

A tablespace can be online (accessible) or offline (not accessible) whenever the database is open. A tablespace is usually online so that its data is available to users. The SYSTEM tablespace and temporary tablespaces cannot be taken offline.

A tablespace can go offline automatically or manually. For example, you can take a tablespace offline for maintenance or backup and recovery. The database automatically takes a tablespace offline when certain errors are encountered, as when the database writer (DBWn) process fails in several attempts to write to a data file. Users trying to access tables in an offline tablespace receive an error.

When a tablespace goes offline, the database does the following:

  • The database does not permit subsequent DML statements to reference objects in the offline tablespace. An offline tablespace cannot be read or edited by any utility other than Oracle Database.

  • Active transactions with completed statements that refer to data in that tablespace are not affected at the transaction level.

  • The database saves undo data corresponding to those completed statements in a deferred undo segment in the SYSTEM tablespace. When the tablespace is brought online, the database applies the undo data to the tablespace, if needed.

Tablespace File Size

A tablespace is either a bigfile tablespace or a smallfile tablespace. These tablespaces are indistinguishable in terms of execution of SQL statements that do not explicitly refer to data files or temp files. The difference is as follows:

  • A smallfile tablespace can contain multiple data files or temp files, but the files cannot be as large as in a bigfile tablespace. This is the default tablespace type.

  • A bigfile tablespace contains one very large data file or temp file. This type of tablespaces can do the following:

    • Increase the storage capacity of a database

      The maximum number of data files in a database is limited (usually to 64 KB files), so increasing the size of each data file increases the overall storage.

    • Reduce the burden of managing many data files and temp files

      Bigfile tablespaces simplify file management with Oracle Managed Files and Automatic Storage Management (Oracle ASM) by eliminating the need for adding new files and dealing with multiple files.

    • Perform operations on tablespaces rather than individual files

      Bigfile tablespaces make the tablespace the main unit of the disk space administration, backup and recovery, and so on.

    Bigfile tablespaces are supported only for locally managed tablespaces with ASSM. However, locally managed undo and temporary tablespaces can be bigfile tablespaces even when segments are manually managed.


See Also:


PK mPKM%AOEBPS/content.opf Oracle® Database Concepts, 11g Release 2 (11.2.0.3) en-US E25789-01 Oracle Corporation Oracle Corporation Oracle® Database Concepts, 11g Release 2 (11.2.0.3) 2011-09-27T14:35:47Z Describes Oracle Database architecture and essential topics for database administrators and developers. PKlЬƬPKM%AOEBPS/part_admdev.htms Oracle Database Administration and Development

Part VI

Oracle Database Administration and Development

This part describes summarizes topics that are essential for database administrators and developers.

This part contains the following chapters:

PK%xsPKM%AOEBPS/process.htm Process Architecture

15 Process Architecture

This chapter discusses the processes in an Oracle database.

This chapter contains the following sections:

Introduction to Processes

A process is a mechanism in an operating system that can run a series of steps. The mechanism depends on the operating system. For example, on Linux an Oracle background process is a Linux process. On Windows, an Oracle background process is a thread of execution within a process.

Code modules are run by processes. All connected Oracle Database users must run the following modules to access a database instance:

  • Application or Oracle Database utility

    A database user runs a database application, such as a precompiler program or a database tool such as SQL*Plus, that issues SQL statements to a database.

  • Oracle database code

    Each user has Oracle database code executing on his or her behalf that interprets and processes the application's SQL statements.

A process normally runs in its own private memory area. Most processes can periodically write to an associated trace file (see "Trace Files").

Multiple-Process Oracle Database Systems

Multiple-process Oracle (also called multiuser Oracle) uses several processes to run different parts of the Oracle Database code and additional processes for the users—either one process for each connected user or one or more processes shared by multiple users. Most databases are multiuser because a primary advantages of a database is managing data needed by multiple users simultaneously.

Each process in a database instance performs a specific job. By dividing the work of the database and applications into several processes, multiple users and applications can connect to an instance simultaneously while the system gives good performance.

Types of Processes

A database instance contains or interacts with the following types of processes:

  • Client processes run the application or Oracle tool code.

  • Oracle processes run the Oracle database code. Oracle processes including the following subtypes:

    • Background processes start with the database instance and perform maintenance tasks such as performing instance recovery, cleaning up processes, writing redo buffers to disk, and so on.

    • Server processes perform work based on a client request.

      For example, these processes parse SQL queries, place them in the shared pool, create and execute a query plan for each query, and read buffers from the database buffer cache or from disk.


      Note:

      Server processes, and the process memory allocated in these processes, run in the instance. The instance continues to function when server processes terminate.

    • Slave processes perform additional tasks for a background or server process.

The process structure varies depending on the operating system and the choice of Oracle Database options. For example, the code for connected users can be configured for dedicated server or shared server connections. In a shared server architecture, each server process that runs database code can serve multiple client processes.

Figure 15-1 shows a system global area (SGA) and background processes using dedicated server connections. For each user connection, the application is run by a client process that is different from the dedicated server process that runs the database code. Each client process is associated with its own server process, which has its own program global area (PGA).

Figure 15-1 Oracle Processes and the SGA

Description of Figure 15-1 follows
Description of "Figure 15-1 Oracle Processes and the SGA"


See Also:


Overview of Client Processes

When a user runs an application such as a Pro*C program or SQL*Plus, the operating system creates a client process (sometimes called a user process) to run the user application. The client application has Oracle Database libraries linked into it that provide the APIs required to communicate with the database.

Client and Server Processes

Client processes differ in important ways from the Oracle processes interacting directly with the instance. The Oracle processes servicing the client process can read from and write to the SGA, whereas the client process cannot. A client process can run on a host other than the database host, whereas Oracle processes cannot.

For example, assume that a user on a client host starts SQL*Plus and connects over the network to database sample on a different host (the database instance is not started):

SQL> CONNECT SYS@inst1 AS SYSDBA
Enter password: *********
Connected to an idle instance.

On the client host, a search of the processes for either sqlplus or sample shows only the sqlplus client process:

% ps -ef | grep -e sample -e sqlplus | grep -v grep
clientuser 29437 29436  0 15:40 pts/1    00:00:00 sqlplus           as sysdba

On the database host, a search of the processes for either sqlplus or sample shows a server process with a nonlocal connection, but no client process:

% ps -ef | grep -e sample -e sqlplus | grep -v grep
serveruser 29441     1  0 15:40 ?        00:00:00 oraclesample (LOCAL=NO)

Connections and Sessions

A connection is a physical communication pathway between a client process and a database instance. A communication pathway is established using available interprocess communication mechanisms or network software. Typically, a connection occurs between a client process and a server process or dispatcher, but it can also occur between a client process and Oracle Connection Manager (CMAN).

A session is a logical entity in the database instance memory that represents the state of a current user login to a database. For example, when a user is authenticated by the database with a password, a session is established for this user. A session lasts from the time the user is authenticated by the database until the time the user disconnects or exits the database application.

A single connection can have 0, 1, or more sessions established on it. The sessions are independent: a commit in one session does not affect transactions in other sessions.


Note:

If Oracle Net connection pooling is configured, then it is possible for a connection to drop but leave the sessions intact.

Multiple sessions can exist concurrently for a single database user. As shown in Figure 15-2, user hr can have multiple connections to a database. In dedicated server connections, the database creates a server process on behalf of each connection. Only the client process that causes the dedicated server to be created uses it. In a shared server connection, many client processes access a single shared server process.

Figure 15-2 One Session for Each Connection

Description of Figure 15-2 follows
Description of "Figure 15-2 One Session for Each Connection"

Figure 15-3 illustrates a case in which user hr has a single connection to a database, but this connection has two sessions.

Figure 15-3 Two Sessions in One Connection

Description of Figure 15-3 follows
Description of "Figure 15-3 Two Sessions in One Connection"

Generating an autotrace report of SQL statement execution statistics re-creates the scenario in Figure 15-3. Example 15-2 connects SQL*Plus to the database as user SYSTEM and enables tracing, thus creating a new session (sample output included).

Example 15-1 One Connection with Two Sessions

SQL> SELECT SID, SERIAL#, PADDR FROM V$SESSION WHERE USERNAME = USER;

SID SERIAL# PADDR
--- ------- --------
 90      91 3BE2E41C
 
SQL> SET AUTOTRACE ON STATISTICS;
SQL> SELECT SID, SERIAL#, PADDR FROM V$SESSION WHERE USERNAME = USER;
 
SID SERIAL# PADDR
--- ------- --------
 88      93 3BE2E41C
 90      91 3BE2E41C
...
SQL> DISCONNECT

The DISCONNECT command in Example 15-1 actually ends the sessions, not the connection. Opening a new terminal and connecting to the instance as a different user, the query in Example 15-2 shows that the connection from Example 15-1 is still active.

Example 15-2 Connection with No Sessions

SQL> CONNECT dba1@inst1
Password: ********
Connected.
SQL> SELECT PROGRAM FROM V$PROCESS WHERE ADDR = HEXTORAW('3BE2E41C');

PROGRAM
------------------------------------------------
oracle@stbcs09-1 (TNS V1-V3)

Overview of Server Processes

Oracle Database creates server processes to handle the requests of client processes connected to the instance. A client process always communicates with a database through a separate server process.

Server processes created on behalf of a database application can perform one or more of the following tasks:

  • Parse and run SQL statements issued through the application, including creating and executing the query plan (see "Stages of SQL Processing")

  • Execute PL/SQL code

  • Read data blocks from data files into the database buffer cache (the DBWn background process has the task of writing modified blocks back to disk)

  • Return results in such a way that the application can process the information

Dedicated Server Processes

In dedicated server connections, the client connection is associated with one and only one server process (see "Dedicated Server Architecture"). On Linux, 20 client processes connected to a database instance are serviced by 20 server processes.

Each client process communicates directly with its server process. This server process is dedicated to its client process for the duration of the session. The server process stores process-specific information and the UGA in its PGA (see "PGA Usage in Dedicated and Shared Server Modes").

Shared Server Processes

In shared server connections, client applications connect over a network to a dispatcher process, not a server process (see "Shared Server Architecture"). For example, 20 client processes can connect to a single dispatcher process.

The dispatcher process receives requests from connected clients and puts them into a request queue in the large pool (see "Large Pool"). The first available shared server process takes the request from the queue and processes it. Afterward, the shared server place the result into the dispatcher response queue. The dispatcher process monitors this queue and transmits the result to the client.

Like a dedicated server process, a shared server process has its own PGA. However, the UGA for a session is in the SGA so that any shared server can access session data.

Overview of Background Processes

A multiprocess Oracle database uses some additional processes called background processes. The background processes perform maintenance tasks required to operate the database and to maximize performance for multiple users.

Each background process has a separate task, but works with the other processes. For example, the LGWR process writes data from the redo log buffer to the online redo log. When a filled log file is ready to be archived, LGWR signals another process to archive the file.

Oracle Database creates background processes automatically when a database instance starts. An instance can have many background processes, not all of which always exist in every database configuration. The following query lists the background processes running on your database:

SELECT PNAME 
FROM   V$PROCESS 
WHERE  PNAME IS NOT NULL 
ORDER BY PNAME;

This section includes the following topics:


See Also:

Oracle Database Reference for descriptions of all the background processes

Mandatory Background Processes

The mandatory background processes are present in all typical database configurations. These processes run by default in a database instance started with a minimally configured initialization parameter file (see Example 13-1).

This section describes the following mandatory background processes:


See Also:


Process Monitor Process (PMON)

The process monitor (PMON) monitors the other background processes and performs process recovery when a server or dispatcher process terminates abnormally. PMON is responsible for cleaning up the database buffer cache and freeing resources that the client process was using. For example, PMON resets the status of the active transaction table, releases locks that are no longer required, and removes the process ID from the list of active processes.

PMON also registers information about the instance and dispatcher processes with the Oracle Net listener (see "The Oracle Net Listener"). When an instance starts, PMON polls the listener to determine whether it is running. If the listener is running, then PMON passes it relevant parameters. If it is not running, then PMON periodically attempts to contact it.

System Monitor Process (SMON)

The system monitor process (SMON) is in charge of a variety of system-level cleanup duties. The duties assigned to SMON include:

  • Performing instance recovery, if necessary, at instance startup. In an Oracle RAC database, the SMON process of one database instance can perform instance recovery for a failed instance.

  • Recovering terminated transactions that were skipped during instance recovery because of file-read or tablespace offline errors. SMON recovers the transactions when the tablespace or file is brought back online.

  • Cleaning up unused temporary segments. For example, Oracle Database allocates extents when creating an index. If the operation fails, then SMON cleans up the temporary space.

  • Coalescing contiguous free extents within dictionary-managed tablespaces.

SMON checks regularly to see whether it is needed. Other processes can call SMON if they detect a need for it.

Database Writer Process (DBWn)

The database writer process (DBWn) writes the contents of database buffers to data files. DBWn processes write modified buffers in the database buffer cache to disk (see "Database Buffer Cache").

Although one database writer process (DBW0) is adequate for most systems, you can configure additional processes—DBW1 through DBW9 and DBWa through DBWj—to improve write performance if your system modifies data heavily. These additional DBWn processes are not useful on uniprocessor systems.

The DBWn process writes dirty buffers to disk under the following conditions:

  • When a server process cannot find a clean reusable buffer after scanning a threshold number of buffers, it signals DBWn to write. DBWn writes dirty buffers to disk asynchronously if possible while performing other processing.

  • DBWn periodically writes buffers to advance the checkpoint, which is the position in the redo thread from which instance recovery begins (see "Overview of Checkpoints"). The log position of the checkpoint is determined by the oldest dirty buffer in the buffer cache.

In many cases the blocks that DBWn writes are scattered throughout the disk. Thus, the writes tend to be slower than the sequential writes performed by LGWR. DBWn performs multiblock writes when possible to improve efficiency. The number of blocks written in a multiblock write varies by operating system.


See Also:

Oracle Database Performance Tuning Guide for advice on configuring, monitoring, and tuning DBWn

Log Writer Process (LGWR)

The log writer process (LGWR) manages the redo log buffer. LGWR writes one contiguous portion of the buffer to the online redo log. By separating the tasks of modifying database buffers, performing scattered writes of dirty buffers to disk, and performing fast sequential writes of redo to disk, the database improves performance.

In the following circumstances, LGWR writes all redo entries that have been copied into the buffer since the last time it wrote:

  • A user commits a transaction (see "Committing Transactions").

  • An online redo log switch occurs.

  • Three seconds have passed since LGWR last wrote.

  • The redo log buffer is one-third full or contains 1 MB of buffered data.

  • DBWn must write modified buffers to disk.

    Before DBWn can write a dirty buffer, redo records associated with changes to the buffer must be written to disk (the write-ahead protocol). If DBWn finds that some redo records have not been written, it signals LGWR to write the records to disk and waits for LGWR to complete before writing the data buffers to disk.

LGWR and Commits

Oracle Database uses a fast commit mechanism to improve performance for committed transactions. When a user issues a COMMIT statement, the transaction is assigned a system change number (SCN). LGWR puts a commit record in the redo log buffer and writes it to disk immediately, along with the commit SCN and transaction's redo entries.

The redo log buffer is circular. When LGWR writes redo entries from the redo log buffer to an online redo log file, server processes can copy new entries over the entries in the redo log buffer that have been written to disk. LGWR normally writes fast enough to ensure that space is always available in the buffer for new entries, even when access to the online redo log is heavy.

The atomic write of the redo entry containing the transaction's commit record is the single event that determines the transaction has committed. Oracle Database returns a success code to the committing transaction although the data buffers have not yet been written to disk. The corresponding changes to data blocks are deferred until it is efficiee'nt for DBWn to write them to the data files.


Note:

LGWR can write redo log entries to disk before a transaction commits. The redo entries become permanent only if the transaction later commits.

When activity is high, LGWR can use group commits. For example, a user commits, causing LGWR to write the transaction's redo entries to disk. During this write other users commit. LGWR cannot write to disk to commit these transactions until its previous write completes. Upon completion, LGWR can write the list of redo entries of waiting transactions (not yet committed) in one operation. In this way, the database minimizes disk I/O and maximizes performance. If commits requests continue at a high rate, then every write by LGWR can contain multiple commit records.

LGWR and Inaccessible Files

LGWR writes synchronously to the active mirrored group of online redo log files. If a log file is inaccessible, then LGWR continues writing to other files in the group and writes an error to the LGWR trace file and the alert log. If all files in a group are damaged, or if the group is unavailable because it has not been archived, then LGWR cannot continue to function.


See Also:


Checkpoint Process (CKPT)

The checkpoint process (CKPT) updates the control file and data file headers with checkpoint information and signals DBWn to write blocks to disk. Checkpoint information includes the checkpoint position, SCN, location in online redo log to begin recovery, and so on. As shown in Figure 15-4, CKPT does not write data blocks to data files or redo blocks to online redo log files.

Figure 15-4 Checkpoint Process

Description of Figure 15-4 follows
Description of "Figure 15-4 Checkpoint Process"

Manageability Monitor Processes (MMON and MMNL)

The manageability monitor process (MMON) performs many tasks related to the Automatic Workload Repository (AWR). For example, MMON writes when a metric violates its threshold value, taking snapshots, and capturing statistics value for recently modified SQL objects.

The manageability monitor lite process (MMNL) writes statistics from the Active Session History (ASH) buffer in the SGA to disk. MMNL writes to disk when the ASH buffer is full.

Recoverer Process (RECO)

In a distributed database, the recoverer process (RECO) automatically resolves failures in distributed transactions. The RECO process of a node automatically connects to other databases involved in an in-doubt distributed transaction. When RECO reestablishes a connection between the databases, it automatically resolves all in-doubt transactions, removing from each database's pending transaction table any rows that correspond to the resolved transactions.


See Also:

Oracle Database Administrator's Guide for more information about transaction recovery in distributed systems

Optional Background Processes

An optional background process is any background process not defined as mandatory. Most optional background processes are specific to tasks or features. For example, background processes that support Oracle Streams Advanced Queuing (AQ) or Oracle Automatic Storage Management (Oracle ASM) are only available when these features are enabled.

This section describes some common optional processes:


See Also:


Archiver Processes (ARCn)

The archiver processes (ARCn) copy online redo log files to offline storage after a redo log switch occurs. These processes can also collect transaction redo data and transmit it to standby database destinations. ARCn processes exist only when the database is in ARCHIVELOG mode and automatic archiving is enabled.


See Also:


Job Queue Processes (CJQ0 and Jnnn)

Oracle Database uses job queue processes to run user jobs, often in batch mode. A job is a user-defined task scheduled to run one or more times. For example, you can use a job queue to schedule a long-running update in the background. Given a start date and a time interval, the job queue processes attempt to run the job at the next occurrence of the interval.

Oracle Database manages job queue processes dynamically, thereby enabling job queue clients to use more job queue processes when required. The database releases resources used by the new processes when they are idle.

Dynamic job queue processes can run a large number of jobs concurrently at a given interval. The sequence of events is as follows:

  1. The job coordinator process (CJQ0) is automatically started and stopped as needed by Oracle Scheduler (see "Oracle Scheduler"). The coordinator process periodically selects jobs that need to be run from the system JOB$ table. New jobs selected are ordered by time.

  2. The coordinator process dynamically spawns job queue slave processes (Jnnn) to run the jobs.

  3. The job queue process runs one of the jobs that was selected by the CJQ0 process for execution. Each job queue process runs one job at a time to completion.

  4. After the process finishes execution of a single job, it polls for more jobs. If no jobs are scheduled for execution, then it enters a sleep state, from which it wakes up at periodic intervals and polls for more jobs. If the process does not find any new jobs, then it terminates after a preset interval.

The initialization parameter JOB_QUEUE_PROCESSES represents the maximum number of job queue processes that can concurrently run on an instance. However, clients should not assume that all job queue processes are available for job execution.


Note:

The coordinator process is not started if the initialization parameter JOB_QUEUE_PROCESSES is set to 0.


See Also:


Flashback Data Archiver Process (FBDA)

The flashback data archiver process (FBDA) archives historical rows of tracked tables into Flashback Data Archives. When a transaction containing DML on a tracked table commits, this process stores the pre-image of the rows into the Flashback Data Archive. It also keeps metadata on the current rows.

FBDA automatically manages the flashback data archive for space, organization, and retention. Additionally, the process keeps track of how far the archiving of tracked transactions has occurred.

Space Management Coordinator Process (SMCO)

The SMCO process coordinates the execution of various space management related tasks, such as proactive space allocation and space reclamation. SMCO dynamically spawns slave processes (Wnnn) to implement the task.


See Also:

Oracle Database Advanced Application Developer's Guide to learn about Flashback Data Archive

Slave Processes

Slave processes are background processes that perform work on behalf of other processes. This section describes some slave processes used by Oracle Database.


See Also:

Oracle Database Reference for descriptions of Oracle Database slave processes

I/O Slave Processes

I/O slave processes (Innn) simulate asynchronous I/O for systems and devices that do not support it. In asynchronous I/O, there is no timing requirement for transmission, enabling other processes to start before the transmission has finished.

For example, assume that an application writes 1000 blocks to a disk on an operating system that does not support asynchronous I/O. Each write occurs sequentially and waits for a confirmation that the write was successful. With asynchronous disk, the application can write the blocks in bulk and perform other work while waiting for a response from the operating system that all blocks were written.

To simulate asynchronous I/O, one process oversees several slave processes. The invoker process assigns work to each of the slave processes, who wait for each write to complete and report back to the invoker when done. In true asynchronous I/O the operating system waits for the I/O to complete and reports back to the process, while in simulated asynchronous I/O the slaves wait and report back to the invoker.

The database supports different types of I/O slaves, including the following:

  • I/O slaves for Recovery Manager (RMAN)

    When using RMAN to back up or restore data, you can make use of I/O slaves for both disk and tape devices.

  • Database writer slaves

    If it is not practical to use multiple database writer processes, such as when the computer has one CPU, then the database can distribute I/O over multiple slave processes. DBWR is the only process that scans the buffer cache LRU list for blocks to be written to disk. However, I/O slaves perform the I/O for these blocks.


See Also:


Parallel Query Slaves

In parallel execution or parallel processing, multiple processes work together simultaneously to run a single SQL statement. By dividing the work among multiple processes, Oracle Database can run the statement more quickly. For example, four processes handle four different quarters in a year instead of one process handling all four quarters by itself.

Parallel execution reduces response time for data-intensive operations on large databases such as data warehouses. Symmetric multiprocessing (SMP) and clustered system gain the largest performance benefits from parallel execution because statement processing can be split up among multiple CPUs. Parallel execution can also benefit certain types of OLTP and hybrid systems.

In Oracle RAC systems, the service placement of a particular service controls parallel execution. Specifically, parallel processes run on the nodes on which you have configured the service. By default, Oracle Database runs the parallel process only on the instance that offers the service used to connect to the database. This does not affect other parallel operations such as parallel recovery or the processing of GV$ queries.


See Also:


Serial Execution

In serial execution, a single server process performs all necessary processing for the sequential execution of a SQL statement. For example, to perform a full table scan such as SELECT * FROM employees, one server process performs all of the work, as shown in Figure 15-5.

Figure 15-5 Serial Full Table Scan

Description of Figure 15-5 follows
Description of "Figure 15-5 Serial Full Table Scan "

Parallel Execution

In parallel execution, the server process acts as the parallel execution coordinator responsible for parsing the query, allocating and controlling the slave processes, and sending output to the user. Given a query plan for a SQL query, the coordinator breaks down each operator in a SQL query into parallel pieces, runs them in the order specified in the query, and integrates the partial results produced by the slave processes executing the operators.

Figure 15-6 shows a parallel scan of the employees table. The table is divided dynamically (dynamic partitioning) into load units called granules. Each granule is a range of data blocks of the table read by a single slave process, called a parallel execution server, which uses Pnnn as a name format.

Figure 15-6 Parallel Full Table Scan

Description of Figure 15-6 follows
Description of "Figure 15-6 Parallel Full Table Scan"

The database maps granules to execution servers at execution time. When an execution server finishes reading the rows corresponding to a granule, and when granules remain, it obtains another granule from the coordinator. This operation continues until the table has been read. The execution servers send results back to the coordinator, which assembles the pieces into the desired full table scan.

The number of parallel execution servers assigned to a single operation is the degree of parallelism for an operation. Multiple operations within the same SQL statement all have the same degree of parallelism.


See Also:


PK "PKM%AOEBPS/dcommon/prodbig.gif GIF87a!!!)))111BBBZZZsss{{ZRRcZZ!!1!91)JB9B9)kkcJJB991ssc絽Zcc!!{祽BZc!9B!c{!)c{9{Z{{cZB1)sJk{{Z{kBsZJ91)Z{!{BcsRsBc{9ZZk甽kBkR!BZ9c)JJc{!))BZks{BcR{JsBk9k)Zck!!BZ1k!ZcRBZcZJkBk1Z9c!R!c9kZRZRBZ9{99!R1{99R{1!1)c1J)1B!BJRkk{ƽ絵ތkk絵RRs{{{{JJsssBBkkk!!9ss{{ZZssccJJZZRRccRRZZ))cBBJJ99JJ!!c11991199Z11!c!!))Z!!!1BRck{)!cJBkZRZ,HP)XRÇEZ֬4jJ0 @ "8pYҴESY3CƊ@*U:lY0_0#  5tX1E: C_xޘeKTV%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((,RmuM. I-nBvskƭON%I4/# WW@|i9Q3|뜨9>h1G`QZX ,m39V8$s@QEQEW|@ֶ>GDu39((:c:u}oc?hn#u˫nPpr=E{Q@Q@Q@Q@Q@Q@Ts  !y$($swZGÝ).{"e pq C&?}Q㝙W}u`_5s^׊<=&[[E2 6q r8QEQEQEQEQEQEQEQEr8ŦI/\`THC8 x?}ak[ImrG!\;̻R+Sƶ^+ѡ i%PbQ~w=;}~tMMϗ8a=:>9/YvykZ3lc~No.i[}xݿ8:=ze?}@?x O|Mywym3͙lBV$e9X۟6'tĖ2\`;vg7fIػ57_xX>[Ea]6/#S1OĺY+ŪxOFO{)XRC!rzXa5-Kbar FV(#ܧp:W|q>2xwV|[\[q#m3gIaY?TU|[9,HPnA8m+O_xz|81J "a<6hc_?Os}';(Ub;7am# pi=Gº/l12|ßIZOǯየ/4pk,"cB}83G,kZG;YE eRxNzעxv>ԚrLKmN ҐH\ 0zp >wg^#^=ZdLvAz0\s׌qjM|v+2)G":_:Ccf;N8q5Ԍb@J)dHuw҈?CM!4yw@.s[U=G>*,aB6@)W^1G?ZmՙHwV?s`.v OO5|Cqo,rdaA9>|B={'|5_vDW,!uEdʄ v@_:$CP~#_jw"GO; 9?GI{ jvR8((vq03@&h"*o4z׈IGdLv p}:>%x_m:%dˏ߽2*YrGNb_|ggxǦ!T0Y 0C OpCuG4I]Mӂ<G_1xyn!򋼌V#c|m~b0عo˻MN? +yd<%Nqx 6_b/A~RG'k>6!J#8w|V&?MYi R\6I+߆ Bj!yZI H/ I;_Ht/x҉+CW?=iQ})EͳYBC;!F:=KKhwm򊍌Dr")#rH'| |6Eݱ@r]9V203\㏉? 45 yiivD[J!z?2^6L{y^]-2$ lvUh((((((((((;IaXTx/ƞ/xׄ|Ux/5 Y'~- lU x'þW?l}$ocnn<]wF|9ǥj^[Q ë!ʜx6>-OO|=᫸MCQq,,$)b2 (09Q%p3xׄ|Ux/5 Y'~- lTw<)wuiZ$O`c?O5 34!#{Q{'qݎ0s^ hӤk$fO5ː9rOEW|o6Zڝyf.(` Iŏ Cm^K?,֗Iܼï(5?]7M|C 7?.[,N@O CIfbIOt6{NK " +U cq z` 8zU֗jp[I%Η2"#'wp R38HϤi_<iv-6L3Ы#6A=A ]DCuo-QRHPF AbSw#yo͓ݜݳnq1xs[\XE8Ь{IhO㌌I m$)b+?>&56lxWEP;nR`N2p $[/f =NK;H.dgHʞ~? 8Fp'X\`9 :w^Mƾ<< z*!rBvstB>\K;v09v̊ 9UQt9dUt{KGST+)m4apI=q|7|Z}[`0Y$@2pv`1j,Xk2_rC1scs^\~xGWX uw ݜvG|NFnxMtg᳂yX8ti::΍c[w Fp}Mrv?Gu y8$rzioop8* +׃48{Idݵ%\8= ^@?'Nj}춷0FRB8'+ wVR4.;݈<*XIZ߆_Ηi|f0lnN*AzW/NnD3:yVr{A@G}Xē'@$:Du_ CL̵q0dһoDӼGϤhoMX0H#DӼ96gw}'O&<Zo5Z}Émʱ ,5ċJ䂁OBWkygh#B#؀3©%թz_t l&vܧ  qнr:M3R,xOZ7j:]fH7@F} y?8_ۏz:>K2II%F',y>Ƨ ֗y/_usc0Xj 5mc$Xb7D>}5h9,4,Wd)71̀2$Z;׆j&e!Ptmѻq`[I|<{'n?u'_[6ibV(nFO,I~)%|9w_<7 Ψ0 x[Ė~.妹aoؓ6!{=wT𽗇6mNDƱ ˘' g=Dž|=oO o Gnb8PQ@Q@Q@Q@Q@Q@Q@Q@Q@_ವ\>7 ڣ6ŒyޥAx"b:mm9?)xLr9T::΍c[w Fp}M\oOO=?qFeߜ}8xG }&~g;cYzvQEQEQEW㯈?k[_M3"#cfs/L?; ??v=#;4}_݁dK|1Wa@Q@W`|?ɶv/=((((((((4]#Y'Ruh.EYwd 89TnOZ?Ε7,XICƀ<>_HͷVqva EPEPEP8G-/7}^LpːȻRO$q]PEPEPEPEPEPEPEPEPEPEPEPEPEP^#Ķ͌w[-qN1Aary ,m>#vKy2 a^^?G<+=O<5`_W?O'UZ(< oy 66A˸̻޶\Hx3OjiO@@W⎛-KB mT0sPrHSqy_>xF|YKS6}1xT-  B1F1֕m^}"(1̨G# SqcYsMҤ6HY/dk)L{z8b8$WW.g~CNO.eTy!U  >(ih52?o6(X;ƾ^mWu4gTѰr,[x$]|7)=~t#li7pXa!|#6@㟋_kk9}v],m6 *`BbxylfTqZh =w4ך̚4Y5Ik\M7 ,bE, uិ?t,I $c,C؁^1◃vYu;Z[SUbBљր:|',w4\ 7M6L?2GQ$a5|S=kMi O1vJG9+|6N%O D7#dKOJ/$ӼE`f`4>Wpz#OIx(Kʾ?9ћfEEeÞ@~*xS7KF2a<"|f=xsayZD̞TCr0!DPljhpDm2 H ?'ŋEi6!­D%ɸ(%`W+?hNIXehh]Æ9ȍ?/sYZx||iqHDqʆ*yC/$WiZ45M'P,8~;rkFm_b>3"X+ Y7"OVap9Dxn⸷9$l]H #㟋_kk9}v],m6 *`Bbx y%ieDvfbY.8VCuo-QRHPF Ab\n+$ Eep$7999⺿?+\hTfuGh܏#H9r8cIKxOPI Ѩkh;S? QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEw?±k@7HON1sҬG7,>4%S?叚'I-&>(keo{5y߆_𱿲o7]~m oHvK.U2-D0rzgW}q, \V 09g*/wM;>[|3g`XyM]"mkN2aQa@`<$St~, 0pWsZ=kgÞ:Dm^E6Eyn%E3u p|UV5`Gi*(>P[ic3eU 1{nk<ZԚE$W3̀o9md97_M˷~ր6>"z_ͱu4A;,rOjgèN_ cK-QdF-%\$dk+]kBƛq>DlV*wpNTŎMzEG$R U(CaS؃޼~>*⦳4I#%eu#gqx+M6w455ӫ0bUF0x84Z;eRݤ! gow,|᫽bH&}ypvƼG\ 5ݎ WYU Jdd & [P[ic3eU 1{n%yY+VZX{yM->om}uIqGWy>cOQEgzy_ڭ/w c8FqP^S Y3h$#`pÃ*A9yԗn`pت!@ {I<vPE~9<յy[].x :sҀ: +B;X|GH)!AO.tyֻH'+yc PTzl(Gw-=S˒[o.C* ! yƇMcıR( .WQx'::l:W/2=\Q79zt{{×ze>u6͗g|Xuc2@#^/oÍoV7WLsfeV@10=1_@WmCۿG@/$:D_WP>#]JI.X`vG,m,2<vL 8[X!70'ZY' _~Ҵ(+> xPkچ&yyzgbDZFpp;zHD8go9rVkVDld8p\q^w?U|_?s%垜=syoy 9`݀AX>9/XanF4 vAcR·ٿ4<id~;I 4QEx}fSմiɩH6 q) 34߄tf.QЬ v%BPg$+?W $dd:[bF*+* Dlz5|M̭oFx@ŔIfQ 5˔F8xIEsx?M5Z*-3=I KM!$w)=\+C/$W1Kd |m.ء*d(10T$=x?߇nȑ2] q! AxK=yr$Iɑ@1(((((((((((((((((((((((+ٯ0\J!tyQRUeۈEDKrwD<<${cJ&5ha/- F|*aEy__A]U|Y$8M2,9,sqWmCۿG]%:5\1Ϩ%k ;8-}ExW?9wGJf0k9Tv ?J  /rC%=eg9"p:^٤}6c. pjo]EʤFdu?S@+p5+JߜH0O^,+|+kMAoQ6bݼXn+}=(_^:IF8=deg O C}m]" PuK$d;Nk|9?j/ݰY"Tkesʥzs@x3_$G#\)8!Jr u' ř~mmⷷ8`GjQ@W|m$q"*1]G_xnvh嵐3w.WicӰZMJO:j}8%BrF>PGû-wO&kWt~gL2\'?)^t'Q+Q,,wA6zpu+|fo[9(gœ<̃Pd1ɱL6Fӻb5(6+·PxK3uv.؀a6g֩>9#>֠?Λw+!b]-o_<~>) S"":1 1SO[!\ *_t  Exr%*_}!#U #4 & ֩3|b]L ]t b+Da&R_2lEٱZ`aC)/яmvUkS r(-iPE Vv_{z GLt\2s!F A#葡JY r|AA,hB}q|B`du }00(䡆<pb,G+oB C0p/x$…– ]7 @2HFc ) @AD \0 LHG',(A` `@SC)_" PH`}Y+_|1.K8pAKMA @?3҄$[JPA)+NH I ,@8G0/@R T,`pF8Ѓ)$^$ DDTDlA@ s;PKPKM%AOEBPS/dcommon/darbbook.cssPKPKM%A!OEBPS/dcommon/O_signature_clr.JPG"(JFIF``C    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (?O '~MQ$Vz;OlJi8L%\]UFjޙ%ԯS;rA]5ފ<׈]j7Ouyq$z'TQuw7Ŀ KX߁M2=S'TQt?.5w'97;~pq=" ~k?`'9q6 E|yayM^Om'fkC&<5x' ?A?Zx'jß={=SßM gVC.5+Hd֪xc^)Җufz{Cީ|D Vkznq|+Xa+{50rx{|OG.OϞ~f/ xxX[2H )c+#jpUOZYX\=SG ߨC|K@;_߆'e?LT?]:?>w ڔ`D^So~xo[Ӡ3i7B:Q8 Vc-ďoi:FM292~y_*_闱YN\Fr=xZ3鳎OwW_QEzW~c]REeaSM}}Hӏ4&.E]u=gMѠ+mF`rNn$w9gMa꺢nTuhf2Xv>އ a(Û6߭?<=>z'TQuw7Ŀ KX߁M2=S'TQt?.5Kko\.8S$TOX߀Gw?Zx汴X)C7~.i6(Щ=+4{mGӭ¸-]&'t_kV*I<1)4thtIsqpQJ+> \m^[aJ5)ny:4o&QEnyAEPEEss 72,PDۢ׃K W{Wjr+wگ iM/;pd?~&?@;7E4gv8 $l'z'TQuw7Ŀ Gֱ=ɿ&G?. iR(5W*$|?w᫼gkmIbHe/_t>tg%y.l}N5[]+Mk0ĠeHdPrsst'UiC,y8`V%9ZIia|ܪvi מYG,o}+kk{YbyIeb*sAtի82zWoEK5z*o-eo;n(P u-I)4Š(HQEQEQEQEhz(X/Đ?}Bk˩ ݏrk0]4>8XzV? }6$}d^F>nU K ?Bտk_9׾x~w'ߞ  uDŽtL ؈5c-E/"|_Oo.IH쐍=i*Iw5(ںw?t5s.)+tQ2dUt5Vĺ.jZ"@IRrZƅY4ߡ_;}ų(KyQf1Aǵt?sZg+?F5_oQR&Dg߿]6FuRD u>ڿxl7?IT8'shj^=.=J1rj1Wl$얲cPx;E,p$֟ˏkw qg"45(ǛkV/=+ũ)bYl~K#˝J_כ5&\F'I#8/|wʾ_Xj Q:os^T1.M_|TO.;?_  jF?g N 8nA2F%i =qW,G=5OU u8]Rq?wr'˻S+۾.ܼ 87Q^elo/T*?L|ۚ<%<,/v_OKs B5f/29n0=zqQq(ª=VX@*J(э(f5qJN_EVǞQEOuoѕOuoa5}gO?:߂8Wא|cڽ~]N&O( (<]>͠@VQ=^~U ̴m&\խ5i:}|}r~9՝f}_>'vVֲ$~^f30^in{\_.O F8to}?${φ|#x^#^n~w=~k~?'KRtO.㌡h![3Zu*ٷճ(ԟ]z_/W1(ԟ]v~g|Yq<ז0 ; b8֮s,w9\?uEyStKaª@\,)) (!EPEPEPEPEPzѧts{v>C/"N6`d*J2gGӧWqBq_1ZuΓ\X]r?=Ey88Mp&pKtO-"wR2 K^-Z< \c>V0^@O7x2WFjs<׻kZ(<Т(OFw/6$1[:ޯԯ#q~4|,LVPem=@=YLUxӃV}AUbcUB.Ds5*kٸAeG>PJxt͝ b88?*$~@ׯD VkraiJs}Q.20x&mXξ,Z]“A-J#`+-E/"<]\a'tZGy.(|lދ~gMK OZdxDŽU9T6ϯ^<Ϡt5CZ]].t۫S=s`ڳ%8iVK:nqe+#<.T6U>zWoy3^I {F?J~=G}k)K$$;$de8*G Uӟ4Ocºw}|]4=ݣ\x$ʠms?q^ipw\"ȿPs^Z Q_0GڼU.t}ROM[G#]8wٞ ӫ87}Cgw vHȩBM55vof =A_٭`Ygx[6 P,5}>蚊(0(+?>+?> k|TuXq6_ +szk :u_ Z߶Ak_U}Jc2u/1[_»ݸG41-bሬ۴}}Eȹפ_c?5gi @cL\L<68hF_Ih>X4K7UТ sMj =J7CKo>Օ5s:߀t ~ηaٿ?|gdL8+gG%o?x`دOqȱwc¨&TW_V_aI=dpG!wu۞սZ1yL50$(l3(:~'ַo A}a3N*[0ǭ HKQV}G@֜$ 9of$ArNqUOgË05#m?D)^_h//5_/<?4}Jį+GkpG4"$ r| >S4Ђ"S 1%R:ȝ 8;PKPz PKM%AOEBPS/dcommon/feedback.gif7GIF89a'%(hp|fdx?AN5:dfeDGHɾTdQc`g*6DC\?ؘ||{;=E6JUՄfeA= >@,4`H.|`a (Q 9:&[|ځ,4p Y&BDb,!2@, $wPA'ܠǃ@CO~/d.`I @8ArHx9H75j L 3B/` P#qD*s 3A:3,H70P,R@ p!(F oԥ D;"0 ,6QBRɄHhI@@VDLCk8@NBBL2&pClA?DAk%$`I2 #Q+l7 "=&dL&PRSLIP)PɼirqМ'N8[_}w;PK-PKM%AOEBPS/dcommon/booklist.gifGIF89a1޵֥΄kZ{Jk1Rs!BZ)B),@I9Z͓Ca % Dz8Ȁ0FZЌ0P !x8!eL8aWȠFD(~@p+rMS|ӛR$ v "Z:]ZJJEc{*=AP  BiA ']j4$*   & 9q sMiO?jQ = , YFg4.778c&$c%9;PKː5PKM%AOEBPS/dcommon/cpyr.htm1 Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2012, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in prerelease status:

This documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PKN61PKM%AOEBPS/dcommon/masterix.gif.GIF89a1ޜΌscJk1Rs!Bc1J),@IS@0"1 Ѿb$b08PbL,acr B@(fDn Jx11+\%1 p { display: none; } /* Class Selectors */ .ProductTitle { font-family: sans-serif; } .BookTitle { font-family: sans-serif; } .VersionNumber { font-family: sans-serif; } .PrintDate { font-family: sans-serif; font-size: small; } .PartNumber { font-family: sans-serif; font-size: small; } PKeӺ1,PKM%AOEBPS/dcommon/larrow.gif#GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШtpHc`  өb[.64ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPKM%AOEBPS/dcommon/index.gifGIF89a1޵ΥΥ{sc{BZs,@IM" AD B0 3.R~[D"0, ]ШpRNC  /& H&[%7TM/`vS+-+ q D go@" 4o'Uxcxcc&k/ qp zUm(UHDDJBGMԃ;PK(PKM%AOEBPS/dcommon/bookbig.gif +GIF89a$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9B!& Imported from GIF image: bookbig.gif,$!!!)))111999BBBJJJRRRZZZccckkksss{{{skkB991)))!!B11))1!JB9B9!!cZ9ƭƽssk{ZZRccZRRJJJBBB9c!!ν)1)k{s絽ƌkssֽZccJRRBJJ{9BB)11)99!!))11!!k!JZ!)RcJccBcs)1c)JZ!BR!)BZ)99J!Rk9!c11B)Z{)9Bkc1kB9BZ!Z{9Rs)Jkksk9kB1s1Jk9Rƥc{k9s)Z{1k91)s1Rk)Jc1J!))BZ!1k{csc{)19B!)Bcsc{ksc{kZs!RkJkJkքc{9Zks{ck9R)Bks9R9R1J!)Z1B!)c)9)99BR19kksBBJcc{ccBBZ))9kk!!199c11ZBB{9!!R!!Z!!c))!!kR!!s!!BcksRZ1c9B)R91c1)Z!R9B9k1)RcZ{)!1B9JB9B)!)J9BH`\Ȑ:pظа"A6DBH,V@Dڹ'G"v Æ ܥ;n;!;>xAܽ[G.\rQC wr}BŊQ A9ᾑ#5Y0VȒj0l-GqF>ZpM rb ;=.ސW-WѻWo ha!}~ْ ; t 53 :\ 4PcD,0 4*_l0K3-`l.j!c Aa|2L4/1C`@@md;(H*80L0L(h*҇҆o#N84pC (xO@ A)J6rVlF r  fry†$r_pl5xhA+@A=F rGU a 1х4s&H Bdzt x#H%Rr (Ѐ7P`#Rщ'x" #0`@~i `HA'Tk?3!$`-A@1l"P LhʖRG&8A`0DcBH sq@AXB4@&yQhPAppxCQ(rBW00@DP1E?@lP1%T` 0 WB~nQ@;PKGC PKM%AOEBPS/dcommon/rarrow.gif/GIF87a絵ƌֵƽ{{ss֜ƔZZ{{{{ZZssZZccJJJJRRBBJJJJ991111))!!{,@pH,Ȥrl:ШLlԸ NCqWEd)#34vwwpN|0yhX!'+-[F 'n5 H $/14w3% C .90" qF 7&E "D mnB|,c96) I @0BW{ᢦdN p!5"D`0 T 0-]ʜ$;PKJV^PKM%AOEBPS/dcommon/mix.gifkGIF89aZZZBBBJJJkkk999sss!!!111cccֽ{{{RRR)))猌ƭ{s{sks!,@@pH,B$ 8 t:<8 *'ntPP DQ@rIBJLNPTVEMOQUWfj^!  hhG H  kCúk_a Ǥ^ h`B BeH mm  #F` I lpǎ,p B J\Y!T\(dǏ!Gdˆ R53ټ R;iʲ)G=@-xn.4Y BuU(*BL0PX v`[D! | >!/;xP` (Jj"M6 ;PK枰pkPKM%AOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PKM%AOEBPS/dcommon/toc.gifGIF89a1ΥΥ{c{Z{JkJk1Rk,@IK% 0| eJB,K-1i']Bt9dz0&pZ1o'q(؟dQ=3S SZC8db f&3v2@VPsuk2Gsiw`"IzE%< C !.hC IQ 3o?39T ҍ;PKv I PKM%AOEBPS/dcommon/topnav.gifGIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)-'KR$&84 SI) XF P8te NRtHPp;Q%Q@'#rR4P fSQ o0MX[) v + `i9gda/&L9i*1$#"%+ ( E' n7Ȇ(,҅(L@(Q$\x 8=6 'נ9tJ&"[Epljt p#ѣHb :f F`A =l|;&9lDP2ncH R `qtp!dȐYH›+?$4mBA9 i@@ ]@ꃤFxAD*^Ŵ#,(ε  $H}F.xf,BD Z;PK1FAPKM%AOEBPS/dcommon/bp_layout.css# @charset "utf-8"; /* bp_layout.css Copyright 2007, Oracle and/or its affiliates. All rights reserved. */ body { margin: 0ex; padding: 0ex; } h1 { display: none; } #FOOTER { border-top: #0d4988 solid 10px; background-color: inherit; color: #e4edf3; clear: both; } #FOOTER p { font-size: 80%; margin-top: 0em; margin-left: 1em; } #FOOTER a { background-color: inherit; color: gray; } #LEFTCOLUMN { float: left; width: 50%; } #RIGHTCOLUMN { float: right; width: 50%; clear: right; /* IE hack */ } #LEFTCOLUMN div.portlet { margin-left: 2ex; margin-right: 1ex; } #RIGHTCOLUMN div.portlet { margin-left: 1ex; margin-right: 2ex; } div.portlet { margin: 2ex 1ex; padding-left: 0.5em; padding-right: 0.5em; border: 1px #bcc solid; background-color: #f6f6ff; color: black; } div.portlet h2 { margin-top: 0.5ex; margin-bottom: 0ex; font-size: 110%; } div.portlet p { margin-top: 0ex; } div.portlet ul { list-style-type: none; padding-left: 0em; margin-left: 0em; /* IE Hack */ } div.portlet li { text-align: right; } div.portlet li cite { font-style: normal; float: left; } div.portlet li a { margin: 0px 0.2ex; padding: 0px 0.2ex; font-size: 95%; } #NAME { margin: 0em; padding: 0em; position: relative; top: 0.6ex; left: 10px; width: 80%; } #PRODUCT { font-size: 180%; } #LIBRARY { color: #0b3d73; background: inherit; font-size: 180%; font-family: serif; } #RELEASE { position: absolute; top: 28px; font-size: 80%; font-weight: bold; } #TOOLS { list-style-type: none; position: absolute; top: 1ex; right: 2em; margin: 0em; padding: 0em; background: inherit; color: black; } #TOOLS a { background: inherit; color: black; } #NAV { float: left; width: 96%; margin: 3ex 0em 0ex 0em; padding: 2ex 0em 0ex 4%; /* Avoiding horizontal scroll bars. */ list-style-type: none; background: transparent url(../gifs/nav_bg.gif) repeat-x bottom; } #NAV li { float: left; margin: 0ex 0.1em 0ex 0em; padding: 0ex 0em 0ex 0em; } #NAV li a { display: block; margin: 0em; padding: 3px 0.7em; border-top: 1px solid gray; border-right: 1px solid gray; border-bottom: none; border-left: 1px solid gray; background-color: #a6b3c8; color: #333; } #SUBNAV { float: right; width: 96%; margin: 0ex 0em 0ex 0em; padding: 0.1ex 4% 0.2ex 0em; /* Avoiding horizontal scroll bars. */ list-style-type: none; background-color: #0d4988; color: #e4edf3; } #SUBNAV li { float: right; } #SUBNAV li a { display: block; margin: 0em; padding: 0ex 0.5em; background-color: inherit; color: #e4edf3; } #SIMPLESEARCH { position: absolute; top: 5ex; right: 1em; } #CONTENT { clear: both; } #NAV a:hover, #PORTAL_1 #OVERVIEW a, #PORTAL_2 #OVERVIEW a, #PORTAL_3 #OVERVIEW a, #PORTAL_4 #ADMINISTRATION a, #PORTAL_5 #DEVELOPMENT a, #PORTAL_6 #DEVELOPMENT a, #PORTAL_7 #DEVELOPMENT a, #PORTAL_11 #INSTALLATION a, #PORTAL_15 #ADMINISTRATION a, #PORTAL_16 #ADMINISTRATION a { background-color: #0d4988; color: #e4edf3; padding-bottom: 4px; border-color: gray; } #SUBNAV a:hover, #PORTAL_2 #SEARCH a, #PORTAL_3 #BOOKS a, #PORTAL_6 #WAREHOUSING a, #PORTAL_7 #UNSTRUCTURED a, #PORTAL_15 #INTEGRATION a, #PORTAL_16 #GRID a { position: relative; top: 2px; background-color: white; color: #0a4e89; } PK3( # PKM%AOEBPS/dcommon/bookicon.gif:GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ޭ{{ZRRcZZRJJJBB)!!skRB9{sν{skskcZRJ1)!֭ƽ{ZZRccZJJBBB999111)JJ9BB1ZZB!!ﭵBJJ9BB!!))Jk{)1!)BRZJ{BsR!RRJsJ!J{s!JsBkks{RsB{J{c1RBs1ZB{9BJ9JZ!1BJRRs!9R!!9Z9!1)J19JJRk19R1Z)!1B9R1RB!)J!J1R)J119!9J91!9BkksBBJ119BBR!))9!!!JB1JJ!)19BJRZckތ1)1J9B,H*\hp >"p`ƒFF "a"E|ժOC&xCRz OBtX>XE*O>tdqAJ +,WxP!CYpQ HQzDHP)T njJM2ꔀJ2T0d#+I:<жk 'ꤱF AB @@nh Wz' H|-7f\A#yNR5 /PM09u UjćT|q~Yq@&0YZAPa`EzI /$AD Al!AAal 2H@$ PVAB&c*ؠ p @% p-`@b`uBa l&`3Ap8槖X~ vX$Eh`.JhAepA\"Bl, :Hk;PKx[?:PKM%AOEBPS/dcommon/conticon.gif^GIF87a!!!)))111999BBBJJJRRRZZZccckkksss{{{ZRR޽{{ssskkkcccZ991ccRZZBBJJZck)19ZcsBJZ19J!k{k)Z1RZs1!B)!J91{k{)J!B!B911)k{cs!1s!9)s!9!B!k)k1c!)Z!R{9BJcckZZcBBJ99B119{{!!)BBRBBZ!))999R99Z!!999c1!9!)19B1)!B9R,  oua\h2SYPa aowwxYi 9SwyyxxyYSd $'^qYȵYvh ч,/?g{н.J5fe{ڶyY#%/}‚e,Z|pAܠ `KYx,ĉ&@iX9|`p ]lR1khٜ'E 6ÅB0J;t X b RP(*MÄ!2cLhPC <0Ⴁ  $4!B 6lHC%<1e H 4p" L`P!/,m*1F`#D0D^!AO@..(``_؅QWK>_*OY0J@pw'tVh;PKp*c^PKM%AOEBPS/dcommon/blafdoc.cssL@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.10.7 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; } h2 { font-size: 152%; font-weight: bold; } h3 { font-size: 139%; font-weight: bold; } h4 { font-size: 126%; font-weight: bold; } h5 { font-size: 113%; font-weight: bold; display: inline; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #e00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #e00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKʍPKM%AOEBPS/dcommon/rightnav.gif&GIF89a1ֽ筽ޭƔkZZk{Bc{,@ ) l)- $CҠҀ ! D1 #:aS( c4B0 AC8 ְ9!%MLj Z * ctypJBa H t>#Sb(clhUԂ̗4DztSԙ9ZQҀEPEPEPEPEPEPEPM=iԍP Gii c*yF 1׆@\&o!QY00_rlgV;)DGhCq7~..p&1c:u֫{fI>fJL$}BBP?JRWc<^j+χ5b[hֿ- 5_j?POkeQ^hֿ1L^ H ?Qi?z?+_xɔŪ\썽O]χ>)xxV/s)e6MI7*ߊޛv֗2J,;~E4yi3[nI`Ѱe9@zXF*W +]7QJ$$=&`a۾?]N T䏟'X)Ɣkf:j |>NBWzYx0t!* _KkoTZ?K Gc+UyڹgNuh^iSo5{\ܹ3Yos}.>if FqR5\/TӮ#]HS0DKu{($"2xִ{SBJ8=}Y=.|Tsц2UЫ%.InaegKo z ݎ3ֹxxwM&2S%';+I',kW&-"_¿_ Vq^ܫ6pfT2RV A^6RKetto^[{w\jPZ@ޢN4/XN#\42j\(z'j =~-I#:q[Eh|X:sp* bifp$TspZ-}NM*B-bb&*xUr#*$M|QWY ~p~- fTED6O.#$m+t$˙H"Gk=t9r娮Y? CzE[/*-{c*[w~o_?%ƔxZ:/5𨴟q}/]22p qD\H"K]ZMKR&\C3zĽ[PJm]AS)Ia^km M@dК)fT[ijW*hnu Ͳiw/bkExG£@f?Zu.s0(<`0ֹoxOaDx\zT-^ѧʧ_1+CP/p[w 9~U^[U<[tĽwPv[yzD1W='u$Oeak[^ |Gk2xv#2?¹TkSݕ| rݞ[Vi _Kz*{\c(Ck_܏|?u jVڔ6f t?3nmZ6f%QAjJf9Rq _j7Z-y.pG$Xb]0')[_k;$̭?&"0FOew7 z-cIX岛;$u=\an$ zmrILu uٞ% _1xcUW%dtÀx885Y^gn;}ӭ)場QEQ@Q@Q@Q@Q@Q@!4xPm3w*]b`F_931˜[ן+(> E ly;<;MF-qst+}DH @YKlLmؤciN<|]IU)Lw(8t9FS(=>og<\Z~u_+X1ylsj'eՃ*U3`C!N9Q_WܱhKc93^ua>H ƕGk=8~e#_?{ǀe-[2ٔ7;=&K挑5zsLdx(e8#{1wS+ΝVkXq9>&yஏh$zq^0~/j@:/«Vnce$$uoPp}MC{$-akH@ɫ1O !8R9s5ԦYmϧ'OUṡ5T,!Ԛ+s#1Veo=[)g>#< s)ƽُA^䠮ωFUj(ǩ|N3Jڷ睁ϱuږZYGOTsI<&drav?A^_f׻B$,O__ԿC`it{6>G׈C~&$y؎v1q9Sc1fH[ѽ>,gG'0'@Vw,BO [#>ﱺg5ΒFVD%Yr:O5 Tu+O멃]ی38Ze}R&ѝ_xzc1DXgس;<,_,{ƽY'AS#oF.M#~cBuEx7G+Y)(5q+GCV;qF+CLQ)qEC&6z𿊘z}?&w=+)??&\g{;V??׻xGœdٿ׼-Nc')3K]N)iLTӿCdb7Q^a N sd>Fz[0S^s'Zi 77D}kWus ab~~H(>.fif9,~|Jk;YN3H8Y(t6Q݉k͇_÷Z+2߄&[ +Tr^藺97~c܎=[f1RrBǓ^kEMhxYVm<[џ6| kqbѱ| YA{G8p?\UM7Z66 g1U1igU69 u5Pƪ:VVZC=[@ҹ¨$kSmɳО\vFz~i3^a Osŧυ9Q}_3 όO{/wgoet39 vO2ea;Ύ7$U#?k+Ek&dpzbӱ+TaB0gN{[N7Gי}U7&@?>Fz~E!a@s ?'67XxO*!?qi]֏TQN@tI+\^s8l0)2k!!iW8F$(yOּT.k,/#1:}8uT˾+5=O/`IW G֯b.-<= HOm;~so~hW5+kS8s.zwE| ?4ӿw/K N 9?j(#0UT` Wzw}:_*9m>󑓀F?ELzv=8q:=WgJ`nDr Zе<ֹ](Q@Q@Q@Q@Q@Q@Q@Q@ 'IdC0EYJVcMty_~u+Sw-aO n<[YJgL#6i g5ЖDZ14cʝ!!\/M}/_AYR__>oC? _?7_G#RERW쏞KB}JxGSkǕA pƱơP m]hwB7U$Zq M95"3q1ioATߚ{g.t uu2k=;h#YB= fgS :TdLԃ!44mFK{Hrd^7oz|BVr<{)6AXգV»|>*/hS܏z͆OM=Εq (s|s׊LKQI :9NJ)P+!ʣoAF>+=@I}"x/}۠1aנc¹4emC:>p_xWKX` >R3_S½èųp3޺u3N e یbmͺ<_ mnݮ1Op?Gm)Qb%N585'%Ahs\6yw!"&Ɨ._wk)}GP;Z!#\"< *oƾ\)}N>"լ/~]Lg}pBG X?<zZ#x69S=6) jzx=y9O&>+e!!? ?s~k5Gʏ)?*ce7Ox~k5􇔾Q/e7/Ԑ#3OgNC0] ;_FiRl>Q.g>!%k#ú:Kn'&}?U@\pџPtp)v<{_i}Oվֲ3XIYIx~b<D?(=_JXH=bbi=Oh?_ C_O)}oW쏜? %Ƶ;-RYFi`wۭ{ϖZMtQ$"c_+ԃx1*0b;ԕ݋ESQEQEQEQEQEQEQEQEQEQZ(1F)h1K@XLRE&9P (bf{RӨ&)PEPEPbԴPGKZ(iإbn(:A%S0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((PKje88PKM%AOEBPS/dcommon/help.gif!GIF89a1εֵ֜֜{kZsBc{,@ )sƠTQ$8(4ʔ%ŌCK$A HP`$h8ŒSd+ɡ\ H@%' 6M HO3SJM /:Zi[7 \( R9r ERI%  N=aq   qƦs *q-n/Sqj D XZ;PKއ{&!PKM%A OEBPS/toc.htm>w Table of Contents

Contents

Title and Copyright Information

Preface

1 Introduction to Oracle Database

Part I Oracle Relational Data Structures

2 Tables and Table Clusters

3 Indexes and Index-Organized Tables

4 Partitions, Views, and Other Schema Objects

5 Data Integrity

6 Data Dictionary and Dynamic Performance Views

Part II Oracle Data Access

7 SQL

8 Server-Side Programming: PL/SQL and Java

Part III Oracle Transaction Management

9 Data Concurrency and Consistency

10 Transactions

Part IV Oracle Database Storage Structures

11 Physical Storage Structures

12 Logical Storage Structures

Part V Oracle Instance Architecture

13 Oracle Database Instance

14 Memory Architecture

15 Process Architecture

16 Application and Networking Architecture

Part VI Oracle Database Administration and Development

17 Topics for Database Administrators and Developers

18 Concepts for Database Administrators

19 Concepts for Database Developers

Glossary

Index

PKV|rCw>wPKM%AOEBPS/tablecls.htm Tables and Table Clusters

2 Tables and Table Clusters

This chapter provides an introduction to schema objects and discusses tables, which are the most common types of schema objects.

This chapter contains the following sections:

Introduction to Schema Objects

A database schema is a logical container for data structures, called schema objects. Examples of schema objects are tables and indexes. Schema objects are created and manipulated with SQL.

A database user has a password and various database privileges. Each user owns a single schema, which has the same name as the user. The schema contains the data for the user owning the schema. For example, the hr user owns the hr schema, which contains schema objects such as the employees table. In a production database, the schema owner usually represents a database application rather than a person.

Within a schema, each schema object of a particular type has a unique name. For example, hr.employees refers to the table employees in the hr schema. Figure 2-1 depicts a schema owner named hr and schema objects within the hr schema.


See Also:

"Overview of Database Security" to learn more about users and privileges

Schema Object Types

The most important schema objects in a relational database are tables. A table stores data in rows.

Oracle SQL enables you to create and manipulate many other types of schema objects, including the following:

  • Indexes

    Indexes are schema objects that contains an entry for each indexed row of the table or table cluster and provide direct, fast access to rows. Oracle Database supports several types of index. An index-organized table is a table in which the data is stored in an index structure. See Chapter 3, "Indexes and Index-Organized Tables".

  • Partitions

    Partitions are pieces of large tables and indexes. Each partition has its own name and may optionally have its own storage characteristics. See "Overview of Partitions".

  • Views

    Views are customized presentations of data in one or more tables or other views. You can think of them as stored queries. Views do not actually contain data. See "Overview of Views".

  • Sequences

    A sequence is a user-created object that can be shared by multiple users to generate integers. Typically, sequences are used to generate primary key values. See "Overview of Sequences".

  • Dimensions

    A dimension defines a parent-child relationship between pairs of column sets, where all the columns of a column set must come from the same table. Dimensions are commonly used to categorize data such as customers, products, and time. See "Overview of Dimensions".

  • Synonyms

    A synonym is an alias for another schema object. Because a synonym is simply an alias, it requires no storage other than its definition in the data dictionary. See "Overview of Synonyms".

  • PL/SQL subprograms and packages

    PL/SQL is the Oracle procedural extension of SQL. A PL/SQL subprogram is a named PL/SQL block that can be invoked with a set of parameters. A PL/SQL package groups logically related PL/SQL types, variables, and subprograms. See "PL/SQL Subprograms" and "PL/SQL Packages".

Other types of objects are also stored in the database and can be created and manipulated with SQL statements but are not contained in a schema. These objects include database users, roles, contexts, and directory objects.


See Also:


Schema Object Storage

Some schema objects store data in logical storage structures called segments. For example, a nonpartitioned heap-organized table or an index creates a segment. Other schema objects, such as views and sequences, consist of metadata only. This section describes only schema objects that have segments.

Oracle Database stores a schema object logically within a tablespace. There is no relationship between schemas and tablespaces: a tablespace can contain objects from different schemas, and the objects for a schema can be contained in different tablespaces. The data of each object is physically contained in one or more data files.

Figure 2-2 shows a possible configuration of table and index segments, tablespaces, and data files. The data segment for one table spans two data files, which are both part of the same tablespace. A segment cannot span multiple tablespaces.

Figure 2-2 Segments, Tablespaces, and Data Files

Description of Figure 2-2 follows
Description of "Figure 2-2 Segments, Tablespaces, and Data Files"


See Also:


Schema Object Dependencies

Some schema objects reference other objects, creating schema object dependencies. For example, a view contains a query that references tables or other views, while a PL/SQL subprogram invokes other subprograms. If the definition of object A references object B, then A is a dependent object with respect to B and B is a referenced object with respect to A.

Oracle Database provides an automatic mechanism to ensure that a dependent object is always up to date with respect to its referenced objects. When a dependent object is created, the database tracks dependencies between the dependent object and its referenced objects. When a referenced object changes in a way that might affect a dependent object, the dependent object is marked invalid. For example, if a user drops a table, no view based on the dropped table is usable.

An invalid dependent object must be recompiled against the new definition of a referenced object before the dependent object is usable. Recompilation occurs automatically when the invalid dependent object is referenced.

As an illustration of how schema objects can create dependencies, the following sample script creates a table test_table and then a procedure that queries this table:

CREATE TABLE test_table ( col1 INTEGER, col2 INTEGER );

CREATE OR REPLACE PROCEDURE test_proc
AS
BEGIN
 FOR x IN ( SELECT col1, col2 FROM test_table )
 LOOP
   -- process data
   NULL;
 END LOOP;
END;
/

The following query of the status of procedure test_proc shows that it is valid:

SQL> SELECT OBJECT_NAME, STATUS FROM USER_OBJECTS WHERE OBJECT_NAME = 'TEST_PROC';
 
OBJECT_NAME STATUS
----------- -------
TEST_PROC   VALID

After adding the col3 column to test_table, the procedure is still valid because the procedure has no dependencies on this column:

SQL> ALTER TABLE test_table ADD col3 NUMBER;
 
Table altered.
 
SQL> SELECT OBJECT_NAME, STATUS FROM USER_OBJECTS WHERE OBJECT_NAME = 'TEST_PROC';
 
OBJECT_NAME STATUS
----------- -------
TEST_PROC   VALID

However, changing the data type of the col1 column, which the test_proc procedure depends on in, invalidates the procedure:

SQL> ALTER TABLE test_table MODIFY col1 VARCHAR2(20);
 
Table altered.
 
SQL> SELECT OBJECT_NAME, STATUS FROM USER_OBJECTS WHERE OBJECT_NAME = 'TEST_PROC';
 
OBJECT_NAME STATUS
----------- -------
TEST_PROC   INVALID

Running or recompiling the procedure makes it valid again, as shown in the following example:

SQL> EXECUTE test_proc
 
PL/SQL procedure successfully completed.
 
SQL> SELECT OBJECT_NAME, STATUS FROM USER_OBJECTS WHERE OBJECT_NAME = 'TEST_PROC';
 
OBJECT_NAME STATUS
----------- -------
TEST_PROC   VALID

See Also:

Oracle Database Administrator's Guide and Oracle Database Advanced Application Developer's Guide to learn how to manage schema object dependencies

SYS and SYSTEM Schemas

All Oracle databases include default administrative accounts. Administrative accounts are highly privileged and are intended only for DBAs authorized to perform tasks such as starting and stopping the database, managing memory and storage, creating and managing database users, and so on.

The administrative account SYS is automatically created when a database is created. This account can perform all database administrative functions. The SYS schema stores the base tables and views for the data dictionary. These base tables and views are critical for the operation of Oracle Database. Tables in the SYS schema are manipulated only by the database and must never be modified by any user.

The SYSTEM account is also automatically created when a database is created. The SYSTEM schema stores additional tables and views that display administrative information, and internal tables and views used by various Oracle Database options and tools. Never use the SYSTEM schema to store tables of interest to nonadministrative users.


See Also:


Sample Schemas

An Oracle database may include sample schemas, which are a set of interlinked schemas that enable Oracle documentation and Oracle instructional materials to illustrate common database tasks. The hr schema is a sample schema that contains information about employees, departments and locations, work histories, and so on.

Figure 2-3 is an entity-relationship diagram of the tables in the hr schema. Most examples in this manual use objects from this schema.

Overview of Tables

A table is the basic unit of data organization in an Oracle database. A table describes an entity, which is something of significance about which information must be recorded. For example, an employee could be an entity.

Oracle Database tables fall into the following basic categories:

  • Relational tables

    Relational tables have simple columns and are the most common table type. Example 2-1 shows a CREATE TABLE statement for a relational table.

  • Object tables

    The columns correspond to the top-level attributes of an object type. See "Object Tables".

You can create a relational table with the following organizational characteristics:

  • A heap-organized table does not store rows in any particular order. The CREATE TABLE statement creates a heap-organized table by default.

  • An index-organized table orders rows according to the primary key values. For some applications, index-organized tables enhance performance and use disk space more efficiently. See "Overview of Index-Organized Tables".

  • An external table is a read-only table whose metadata is stored in the database but whose data in stored outside the database. See "External Tables".

A table is either permanent or temporary. A permanent table definition and data persist across sessions. A temporary table definition persists in the same way as a permanent table definition, but the data exists only for the duration of a transaction or session. Temporary tables are useful in applications where a result set must be held temporarily, perhaps because the result is constructed by running multiple operations.

This section contains the following topics:


See Also:

Oracle Database 2 Day DBA and Oracle Database Administrator's Guide to learn how to manage tables

Columns and Rows

A table definition includes a table name and set of columns. A column identifies an attribute of the entity described by the table. For example, the column employee_id in the employees table refers to the employee ID attribute of an employee entity.

In general, you give each column a column name, a data type, and a width when you create a table. For example, the data type for employee_id is NUMBER(6), indicating that this column can only contain numeric data up to 6 digits in width. The width can be predetermined by the data type, as with DATE.

A table can contain a virtual column, which unlike a nonvirtual column does not consume disk space. The database derives the values in a virtual column on demand by computing a set of user-specified expressions or functions. For example, the virtual column income could be a function of the salary and commission_pct columns.

After you create a table, you can insert, query, delete, and update rows using SQL. A row is a collection of column information corresponding to a record in a table. For example, a row in the employees table describes the attributes of a specific employee.


See Also:

Oracle Database Administrator's Guide to learn how to manage virtual columns

Example: CREATE TABLE and ALTER TABLE Statements

The Oracle SQL command to create a table is CREATE TABLE. Example 2-1 shows the CREATE TABLE statement for the employees table in the hr sample schema. The statement specifies columns such as employee_id, first_name, and so on, specifying a data type such as NUMBER or DATE for each column.

Example 2-1 CREATE TABLE employees

CREATE TABLE employees
    ( employee_id    NUMBER(6)
    , first_name     VARCHAR2(20)
    , last_name      VARCHAR2(25)
         CONSTRAINT     emp_last_name_nn  NOT NULL
    , email          VARCHAR2(25)
        CONSTRAINT     emp_email_nn  NOT NULL
    , phone_number   VARCHAR2(20)
    , hire_date      DATE
        CONSTRAINT     emp_hire_date_nn  NOT NULL
    , job_id         VARCHAR2(10)
        CONSTRAINT     emp_job_nn  NOT NULL
    , salary         NUMBER(8,2)
    , commission_pct NUMBER(2,2)
    , manager_id     NUMBER(6)
    , department_id  NUMBER(4)
    , CONSTRAINT     emp_salary_min
                     CHECK (salary > 0)
    , CONSTRAINT     emp_email_uk
                     UNIQUE (email)
    ) ;

Example 2-2 shows an ALTER TABLE statement that adds integrity constraints to the employees table. Integrity constraints enforce business rules and prevent the entry of invalid information into tables.

Example 2-2 ALTER TABLE employees

ALTER TABLE employees
ADD ( CONSTRAINT     emp_emp_id_pk
                       PRIMARY KEY (employee_id)
    , CONSTRAINT     emp_dept_fk
                       FOREIGN KEY (department_id)
                         REFERENCES departments
    , CONSTRAINT     emp_job_fk
                       FOREIGN KEY (job_id)
                         REFERENCES jobs (job_id)
    , CONSTRAINT     emp_manager_fk
                       FOREIGN KEY (manager_id)
                         REFERENCES employees
    ) ;

Example 2-3 shows 8 rows and 6 columns of the hr.employees table.

Example 2-3 Rows in the employees Table

EMPLOYEE_ID FIRST_NAME  LAST_NAME      SALARY COMMISSION_PCT DEPARTMENT_ID
----------- ----------- ------------- ------- -------------- -------------
        100 Steven      King            24000                           90
        101 Neena       Kochhar         17000                           90
        102 Lex         De Haan         17000                           90
        103 Alexander   Hunold           9000                           60
        107 Diana       Lorentz          4200                           60
        149 Eleni       Zlotkey         10500             .2            80
        174 Ellen       Abel            11000             .3            80
        178 Kimberely   Grant            7000            .15

The output in Example 2-3 illustrates some of the following important characteristics of tables, columns, and rows:

  • A row of the table describes the attributes of one employee: name, salary, department, and so on. For example, the first row in the output shows the record for the employee named Steven King.

  • A column describes an attribute of the employee. In the example, the employee_id column is the primary key, which means that every employee is uniquely identified by employee ID. Any two employees are guaranteed not to have the same employee ID.

  • A non-key column can contain rows with identical values. In the example, the salary value for employees 101 and 102 is the same: 17000.

  • A foreign key column refers to a primary or unique key in the same table or a different table. In this example, the value of 90 in department_id corresponds to the department_id column of the departments table.

  • A field is the intersection of a row and column. It can contain only one value. For example, the field for the department ID of employee 104 contains the value 60.

  • A field can lack a value. In this case, the field is said to contain a null value. The value of the commission_pct column for employee 100 is null, whereas the value in the field for employee 149 is .2. A column allows nulls unless a NOT NULL or primary key integrity constraint has been defined on this column, in which case no row can be inserted without a value for this column.


See Also:

Oracle Database SQL Language Reference for CREATE TABLE syntax and semantics

Oracle Data Types

Each column has a data type, which is associated with a specific storage format, constraints, and valid range of values. The data type of a value associates a fixed set of properties with the value. These properties cause Oracle Database to treat values of one data type differently from values of another. For example, you can multiply values of the NUMBER data type, but not values of the RAW data type.

When you create a table, you must specify a data type for each of its columns. Each value subsequently inserted in a column assumes the column data type.

Oracle Database provides several built-in data types. The most commonly used data types fall into the following categories:

Other important categories of built-in types include raw, large objects (LOBs), and collections. PL/SQL has data types for constants and variables, which include BOOLEAN, reference types, composite types (records), and user-defined types.


See Also:


Character Data Types

Character data types store character (alphanumeric) data in strings. The most commonly used character data type is VARCHAR2, which is the most efficient option for storing character data.

The byte values correspond to the character encoding scheme, generally called a character set or code page. The database character set is established at database creation. Examples of character sets are 7-bit ASCII, EBCDIC, and Unicode UTF-8.

The length semantics of character data types can be measured in bytes or characters. Byte semantics treat strings as a sequence of bytes. This is the default for character data types. Character semantics treat strings as a sequence of characters. A character is technically a code point of the database character set.

VARCHAR2 and CHAR Data Types

The VARCHAR2 data type stores variable-length character literals. The terms literal and constant value are synonymous and refer to a fixed data value. For example, 'LILA', 'St. George Island', and '101' are all character literals; 5001 is a numeric literal. Character literals are enclosed in single quotation marks so that the database can distinguish them from schema object names.


Note:

This manual uses the terms text literal, character literal, and string interchangeably.

When you create a table with a VARCHAR2 column, you specify a maximum string length. In Example 2-1, the last_name column has a data type of VARCHAR2(25), which means that any name stored in the column can have a maximum of 25 bytes.

For each row, Oracle Database stores each value in the column as a variable-length field unless a value exceeds the maximum length, in which case the database returns an error. For example, in a single-byte character set, if you enter 10 characters for the last_name column value in a row, then the column in the row piece stores only 10 characters (10 bytes), not 25. Using VARCHAR2 reduces space consumption.

In contrast to VARCHAR2, CHAR stores fixed-length character strings. When you create a table with a CHAR column, the column requires a string length. The default is 1 byte. The database uses blanks to pad the value to the specified length.

Oracle Database compares VARCHAR2 values using nonpadded comparison semantics and compares CHAR values using blank-padded comparison semantics.


See Also:

Oracle Database SQL Language Reference for details about blank-padded and nonpadded comparison semantics

NCHAR and NVARCHAR2 Data Types

The NCHAR and NVARCHAR2 data types store Unicode character data. Unicode is a universal encoded character set that can store information in any language using a single character set. NCHAR stores fixed-length character strings that correspond to the national character set, whereas NVARCHAR2 stores variable length character strings.

You specify a national character set when creating a database. The character set of NCHAR and NVARCHAR2 data types must be either AL16UTF16 or UTF8. Both character sets use Unicode encoding.

When you create a table with an NCHAR or NVARCHAR2 column, the maximum size is always in character length semantics. Character length semantics is the default and only length semantics for NCHAR or NVARCHAR2.


See Also:

Oracle Database Globalization Support Guide for information about Oracle's globalization support feature

Numeric Data Types

The Oracle Database numeric data types store fixed and floating-point numbers, zero, and infinity. Some numeric types also store values that are the undefined result of an operation, which is known as "not a number" or NAN.

Oracle Database stores numeric data in variable-length format. Each value is stored in scientific notation, with 1 byte used to store the exponent. The database uses up to 20 bytes to store the mantissa, which is the part of a floating-point number that contains its significant digits. Oracle Database does not store leading and trailing zeros.

NUMBER Data Type

The NUMBER data type stores fixed and floating-point numbers. The database can store numbers of virtually any magnitude. This data is guaranteed to be portable among different operating systems running Oracle Database. The NUMBER data type is recommended for most cases in which you must store numeric data.

You specify a fixed-point number in the form NUMBER(p,s), where p and s refer to the following characteristics:

  • Precision

    The precision specifies the total number of digits. If a precision is not specified, then the column stores the values exactly as provided by the application without any rounding.

  • Scale

    The scale specifies the number of digits from the decimal point to the least significant digit. Positive scale counts digits to the right of the decimal point up to and including the least significant digit. Negative scale counts digits to the left of the decimal point up to but not including the least significant digit. If you specify a precision without a scale, as in NUMBER(6), then the scale is 0.

In Example 2-1, the salary column is type NUMBER(8,2), so the precision is 8 and the scale is 2. Thus, the database stores a salary of 100,000 as 100000.00.

Floating-Point Numbers

Oracle Database provides two numeric data types exclusively for floating-point numbers: BINARY_FLOAT and BINARY_DOUBLE. These types support all of the basic functionality provided by the NUMBER data type. However, while NUMBER uses decimal precision, BINARY_FLOAT and BINARY_DOUBLE use binary precision, which enables faster arithmetic calculations and usually reduces storage requirements.

BINARY_FLOAT and BINARY_DOUBLE are approximate numeric data types. They store approximate representations of decimal values, rather than exact representations. For example, the value 0.1 cannot be exactly represented by either BINARY_DOUBLE or BINARY_FLOAT. They are frequently used for scientific computations. Their behavior is similar to the data types FLOAT and DOUBLE in Java and XMLSchema.


See Also:

Oracle Database SQL Language Reference to learn about precision, scale, and other characteristics of numeric types

Datetime Data Types

The datetime data types are DATE and TIMESTAMP. Oracle Database provides comprehensive time zone support for time stamps.

DATE Data Type

The DATE data type stores date and time. Although datetimes can be represented in character or number data types, DATE has special associated properties. The hire_date column in Example 2-1 has a DATE data type.

The database stores dates internally as numbers. Dates are stored in fixed-length fields of 7 bytes each, corresponding to century, year, month, day, hour, minute, and second.


Note:

Dates fully support arithmetic operations, so you add to and subtract from dates just as you can with numbers. See Oracle Database Advanced Application Developer's Guide.

The database displays dates according to the specified format model. A format model is a character literal that describes the format of a datetime in a character string. The standard date format is DD-MON-RR, which displays dates in the form 01-JAN-09.

RR is similar to YY (the last two digits of the year), but the century of the return value varies according to the specified two-digit year and the last two digits of the current year. Assume that in 1999 the database displays 01-JAN-09. If the date format uses RR, then 09 specifies 2009, whereas if the format uses YY, then 09 specifies 1909. You can change the default date format at both the instance and the session level.

Oracle Database stores time in 24-hour format—HH:MI:SS. If no time portion is entered, then by default the time in a date field is 00:00:00 A.M. In a time-only entry, the date portion defaults to the first day of the current month.


See Also:


TIMESTAMP Data Type

The TIMESTAMP data type is an extension of the DATE data type. It stores fractional seconds in addition to the information stored in the DATE data type. The TIMESTAMP data type is useful for storing precise time values, such as in applications that must track event order.

The DATETIME data types TIMESTAMP WITH TIME ZONE and TIMESTAMP WITH LOCAL TIME ZONE are time-zone aware. When a user selects the data, the value is adjusted to the time zone of the user session. This data type is useful for collecting and evaluating date information across geographic regions.


See Also:

Oracle Database SQL Language Reference for details about the syntax of creating and entering data in time stamp columns

Rowid Data Types

Every row stored in the database has an address. Oracle Database uses a ROWID data type to store the address (rowid) of every row in the database. Rowids fall into the following categories:

  • Physical rowids store the addresses of rows in heap-organized tables, table clusters, and table and index partitions.

  • Logical rowids store the addresses of rows in index-organized tables.

  • Foreign rowids are identifiers in foreign tables, such as DB2 tables accessed through a gateway. They are not standard Oracle Database rowids.

A data type called the universal rowid, or UROWID, supports all kinds of rowids.

Use of Rowids

Oracle Database uses rowids internally for the construction of indexes. A B-tree index, which is the most common type, contains an ordered list of keys divided into ranges. Each key is associated with a rowid that points to the associated row's address for fast access. End users and application developers can also use rowids for several important functions:

  • Rowids are the fastest means of accessing particular rows.

  • Rowids provide the ability to see how a table is organized.

  • Rowids are unique identifiers for rows in a given table.

You can also create tables with columns defined using the ROWID data type. For example, you can define an exception table with a column of data type ROWID to store the rowids of rows that violate integrity constraints. Columns defined using the ROWID data type behave like other table columns: values can be updated, and so on.

ROWID Pseudocolumn

Every table in an Oracle database has a pseudocolumn named ROWID. A pseudocolumn behaves like a table column, but is not actually stored in the table. You can select from pseudocolumns, but you cannot insert, update, or delete their values. A pseudocolumn is also similar to a SQL function without arguments. Functions without arguments typically return the same value for every row in the result set, whereas pseudocolumns typically return a different value for each row.

Values of the ROWID pseudocolumn are strings representing the address of each row. These strings have the data type ROWID. This pseudocolumn is not evident when listing the structure of a table by executing SELECT or DESCRIBE, nor does the pseudocolumn consume space. However, the rowid of each row can be retrieved with a SQL query using the reserved word ROWID as a column name.

Example 2-4 queries the ROWID pseudocolumn to show the rowid of the row in the employees table for employee 100.

Example 2-4 ROWID Pseudocolumn

SQL> SELECT ROWID FROM employees WHERE employee_id = 100;
 
ROWID
------------------
AAAPecAAFAAAABSAAA

See Also:


Format Models and Data Types

A format model is a character literal that describes the format of datetime or numeric data stored in a character string. A format model does not change the internal representation of the value in the database.

When you convert a character string into a date or number, a format model determines how the database interprets the string. In SQL, you can use a format model as an argument of the TO_CHAR and TO_DATE functions to format a value to be returned from the database or to format a value to be stored in the database.

The following statement selects the salaries of the employees in Department 80 and uses the TO_CHAR function to convert these salaries into character values with the format specified by the number format model '$99,990.99':

SQL> SELECT last_name employee, TO_CHAR(salary, '$99,990.99')
  2  FROM   employees
  3  WHERE  department_id = 80 AND last_name = 'Russell';
 
EMPLOYEE                  TO_CHAR(SAL
------------------------- -----------
Russell                    $14,000.00

The following example updates a hire date using the TO_DATE function with the format mask 'YYYY MM DD' to convert the string '1998 05 20' to a DATE value:

SQL> UPDATE employees
  2  SET hire_date = TO_DATE('1998 05 20','YYYY MM DD')
  3  WHERE last_name = 'Hunold';

See Also:

Oracle Database SQL Language Reference to learn more about format models

Integrity Constraints

Integrity constraints are named rules that restrict the values for one or more columns in a table. These rules prevent invalid data entry into tables. Also, constraints can prevent the deletion of a table when certain dependencies exist.

If a constraint is enabled, then the database checks data as it is entered or updated. Data that does not conform to the constraint is prevented from being entered. If a constraint is disabled, then data that does not conform to the constraint can be allowed to enter the database.

In Example 2-1, the CREATE TABLE statement specifies NOT NULL constraints for the last_name, email, hire_date, and job_id columns. The constraint clauses identify the columns and the conditions of the constraint. These constraints ensure that the specified columns contain no null values. For example, an attempt to insert a new employee without a job ID generates an error.

You can create a constraint when or after you create a table. Constraints can be temporarily disabled if needed. The database stores constraints in the data dictionary.


See Also:


Object Tables

An Oracle object type is a user-defined type with a name, attributes, and methods. Object types make it possible to model real-world entities such as customers and purchase orders as objects in the database.

An object type defines a logical structure, but does not create storage. Example 2-5 creates an object type named department_typ.

Example 2-5 Object Type

CREATE TYPE department_typ AS OBJECT
   ( d_name     VARCHAR2(100),
     d_address  VARCHAR2(200) );
/

An object table is a special kind of table in which each row represents an object. The CREATE TABLE statement in Example 2-6 creates an object table named departments_obj_t of the object type department_typ. The attributes (columns) of this table are derived from the definition of the object type. The INSERT statement inserts a row into this table.

Example 2-6 Object Table

CREATE TABLE departments_obj_t OF department_typ;
INSERT INTO departments_obj_t 
  VALUES ('hr', '10 Main St, Sometown, CA');

Like a relational column, an object table can contain rows of just one kind of thing, namely, object instances of the same declared type as the table. By default, every row object in an object table has an associated logical object identifier (OID) that uniquely identifies it in an object table. The OID column of an object table is a hidden column.


See Also:


Temporary Tables

Oracle Database temporary tables hold data that exists only for the duration of a transaction or session. Data in a temporary table is private to the session, which means that each session can only see and modify its own data.

Temporary tables are useful in applications where a result set must be buffered. For example, a scheduling application enables college students to create optional semester course schedules. Each schedule is represented by a row in a temporary table. During the session, the schedule data is private. When the student decides on a schedule, the application moves the row for the chosen schedule to a permanent table. At the end of the session, the schedule data in the temporary data is automatically dropped.

Temporary Table Creation

The CREATE GLOBAL TEMPORARY TABLE statement creates a temporary table. The ON COMMIT clause specifies whether the table data is transaction-specific (default) or session-specific.

Unlike temporary tables in some other relational databases, when you create a temporary table in an Oracle database, you create a static table definition. The temporary table is a persistent object described in the data dictionary, but appears empty until your session inserts data into the table. You create a temporary table for the database itself, not for every PL/SQL stored procedure.

Because temporary tables are statically defined, you can create indexes for them with the CREATE INDEX statement. Indexes created on temporary tables are also temporary. The data in the index has the same session or transaction scope as the data in the temporary table. You can also create a view or trigger on a temporary table.


See Also:


Segment Allocation in Temporary Tables

Like permanent tables, temporary tables are defined in the data dictionary. Temporary segments are allocated when data is first inserted. Until data is loaded in a session the table appears empty. Temporary segments are deallocated at the end of the transaction for transaction-specific temporary tables and at the end of the session for session-specific temporary tables.

External Tables

An external table accesses data in external sources as if this data were in a table in the database. You can use SQL, PL/SQL, and Java to query the external data.

External tables are useful for querying flat files. For example, a SQL-based application may need to access records in a text file. The records are in the following form:

100,Steven,King,SKING,515.123.4567,17-JUN-03,AD_PRES,31944,150,90
101,Neena,Kochhar,NKOCHHAR,515.123.4568,21-SEP-05,AD_VP,17000,100,90 
102,Lex,De Haan,LDEHAAN,515.123.4569,13-JAN-01,AD_VP,17000,100,90

You could create an external table, copy the file to the location specified in the external table definition, and use SQL to query the records in the text file.

External tables are also valuable for performing ETL tasks common in data warehouse environments. For example, external tables enable the pipelining of the data loading phase with the transformation phase, eliminating the need to stage data inside the database in preparation for further processing inside the database. See "Overview of Data Warehousing and Business Intelligence".

External Table Creation

Internally, creating an external table means creating metadata in the data dictionary. Unlike an ordinary table, an external table does not describe data stored in the database, nor does it describe how data is stored externally. Rather, external table metadata describes how the external table layer must present data to the database.

A CREATE TABLE ... ORGANIZATION EXTERNAL statement has two parts. The external table definition describes the column types. This definition is like a view that enables SQL to query external data without loading it into the database. The second part of the statement maps the external data to the columns.

External tables are read-only unless created with CREATE TABLE AS SELECT with the ORACLE_DATAPUMP access driver. Restrictions for external tables include no support for indexed columns, virtual columns, and column objects.

External Table Access Drivers

An access driver is an API that interprets the external data for the database. The access driver runs inside the database, which uses the driver to read the data in the external table. The access driver and the external table layer are responsible for performing the transformations required on the data in the data file so that it matches the external table definition. Figure 2-4 represents how external data is accessed.

Figure 2-4 External Tables

Description of Figure 2-4 follows
Description of "Figure 2-4 External Tables"

Oracle provides the ORACLE_LOADER (default) and ORACLE_DATAPUMP access drivers for external tables. For both drivers, the external files are not Oracle data files.

ORACLE_LOADER enables read-only access to external files using SQL*Loader. You cannot create, update, or append to an external file using the ORACLE_LOADER driver.

The ORACLE_DATAPUMP driver enables you to unload external data. This operation involves reading data from the database and inserting the data into an external table, represented by one or more external files. After external files are created, the database cannot update or append data to them. The driver also enables you to load external data, which involves reading an external table and loading its data into a database.


See Also:


Table Storage

Oracle Database uses a data segment in a tablespace to hold table data. As explained in "User Segments", a segment contains extents made up of data blocks.

The data segment for a table (or cluster data segment, when dealing with a table cluster) is located in either the default tablespace of the table owner or in a tablespace named in the CREATE TABLE statement.

Table Organization

By default, a table is organized as a heap, which means that the database places rows where they fit best rather than in a user-specified order. Thus, a heap-organized table is an unordered collection of rows. As users add rows, the database places the rows in the first available free space in the data segment. Rows are not guaranteed to be retrieved in the order in which they were inserted.


Note:

Index-organized tables use a different principle of organization. See "Overview of Index-Organized Tables".

The hr.departments table is a heap-organized table. It has columns for department ID, name, manager ID, and location ID. As rows are inserted, the database stores them wherever they fit. A data block in the table segment might contain the unordered rows shown in Example 2-7.

Example 2-7 Rows in Departments Table

50,Shipping,121,1500
120,Treasury,,1700
70,Public Relations,204,2700
30,Purchasing,114,1700
130,Corporate Tax,,1700
10,Administration,200,1700
110,Accounting,205,1700

The column order is the same for all rows in a table. The database usually stores columns in the order in which they were listed in the CREATE TABLE statement, but this order is not guaranteed. For example, if a table has a column of type LONG, then Oracle Database always stores this column last in the row. Also, if you add a new column to a table, then the new column becomes the last column stored.

A table can contain a virtual column, which unlike normal columns does not consume space on disk. The database derives the values in a virtual column on demand by computing a set of user-specified expressions or functions. You can index virtual columns, collect statistics on them, and create integrity constraints. Thus, virtual columns are much like nonvirtual columns.


See Also:

Oracle Database SQL Language Reference to learn about virtual columns

Row Storage

The database stores rows in data blocks. Each row of a table containing data for less than 256 columns is contained in one or more row pieces.

If possible, Oracle Database stores each row as one row piece. However, if all of the row data cannot be inserted into a single data block, or if an update to an existing row causes the row to outgrow its data block, then the database stores the row using multiple row pieces (see "Data Block Format").

Rows in a table cluster contain the same information as rows in nonclustered tables. Additionally, rows in a table cluster contain information that references the cluster key to which they belong.

Rowids of Row Pieces

A rowid is effectively a 10-byte physical address of a row. As explained in "Rowid Data Types", every row in a heap-organized table has a rowid unique to this table that corresponds to the physical address of a row piece. For table clusters, rows in different tables that are in the same data block can have the same rowid.

Oracle Database uses rowids internally for the construction of indexes. For example, each key in a B-tree index is associated with a rowid that points to the address of the associated row for fast access (see "B-Tree Indexes"). Physical rowids provide the fastest possible access to a table row, enabling the database to retrieve a row in as little as a single I/O.


See Also:

"Rowid Format"

Storage of Null Values

A null is the absence of a value in a column. Nulls indicate missing, unknown, or inapplicable data.

Nulls are stored in the database if they fall between columns with data values. In these cases, they require 1 byte to store the length of the column (zero). Trailing nulls in a row require no storage because a new row header signals that the remaining columns in the previous row are null. For example, if the last three columns of a table are null, then no data is stored for these columns.


See Also:

Oracle Database SQL Language Reference to learn more about null values

Table Compression

The database can use table compression to reduce the amount of storage required for the table. Compression saves disk space, reduces memory use in the database buffer cache, and in some cases speeds query execution. Table compression is transparent to database applications.

Basic and OLTP Table Compression

Dictionary-based table compression provides good compression ratios for heap-organized tables. Oracle Database supports the following types of dictionary-based table compression:

  • Basic table compression

    This type of compression is intended for bulk load operations. The database does not compress data modified using conventional DML. You must use direct path loads, ALTER TABLE . . . MOVE operations, or online table redefinition to achieve basic compression.

  • OLTP table compression

    This type of compression is intended for OLTP applications and compresses data manipulated by any SQL operation.

For basic and OLTP table compression, the database stores compressed rows in row-major format. All columns of one row are stored together, followed by all columns of the next row, and so on (see Figure 12-7). Duplicate values are replaced with a short reference to a symbol table stored at the beginning of the block. Thus, information needed to re-create the uncompressed data is stored in the data block itself.

Compressed data blocks look much like normal data blocks. Most database features and functions that work on regular data blocks also work on compressed blocks.

You can declare compression at the tablespace, table, partition, or subpartition level. If specified at the tablespace level, then all tables created in the tablespace are compressed by default.

The following statement applies OLTP compression to the orders table:

ALTER TABLE oe.orders COMPRESS FOR OLTP;

The following example of a partial CREATE TABLE statement specifies OLTP compression for one partition and basic compression for the other partition:

CREATE TABLE sales (
    prod_id     NUMBER     NOT NULL,
    cust_id     NUMBER     NOT NULL, ... )
 PCTFREE 5 NOLOGGING NOCOMPRESS
 PARTITION BY RANGE (time_id)
 ( partition sales_2008 VALUES LESS THAN(TO_DATE(...)) COMPRESS BASIC,
   partition sales_2009 VALUES LESS THAN (MAXVALUE) COMPRESS FOR OLTP );

See Also:


Hybrid Columnar Compression

With Hybrid Columnar Compression, the database stores the same column for a group of rows together. The data block does not store data in row-major format, but uses a combination of both row and columnar methods.

Storing column data together, with the same data type and similar characteristics, dramatically increases the storage savings achieved from compression. The database compresses data manipulated by any SQL operation, although compression levels are higher for direct path loads. Database operations work transparently against compressed objects, so no application changes are required.

Types of Hybrid Columnar Compression

If your underlying storage supports Hybrid Columnar Compression, then you can specify the following compression types, depending on your requirements:

  • Warehouse compression

    This type of compression is optimized to save storage space, and is intended for data warehouse applications.

  • Online archival compression

    This type of compression is optimized for maximum compression levels, and is intended for historical data and data that does not change.

To achieve warehouse or online archival compression, you must use direct path loads, ALTER TABLE . . . MOVE operations, or online table redefinition.

Hybrid Columnar Compression is optimized for Data Warehousing and decision support applications on Exadata storage. Exadata maximizes the performance of queries on tables that are compressed using Hybrid Columnar Compression, taking advantage of the processing power, memory, and Infiniband network bandwidth that are integral to the Exadata storage server.

Other Oracle storage systems support Hybrid Columnar Compression, and deliver the same space savings as on Exadata storage, but do not deliver the same level of query performance. For these storage systems, Hybrid Columnar Compression is ideal for in-database archiving of older data that is infrequently accessed.

Compression Units

Hybrid Columnar Compression uses a logical construct called a compression unit to store a set of rows. When you load data into a table, the database stores groups of rows in columnar format, with the values for each column stored and compressed together. After the database has compressed the column data for a set of rows, the database fits the data into the compression unit.

For example, you apply Hybrid Columnar Compression to a daily_sales table. At the end of every day, you populate the table with items and the number sold, with the item ID and date forming a composite primary key. Table 2-1 shows a subset of the rows in daily_sales.

Table 2-1 Sample Table daily_sales

Item_IDDateNum_SoldShipped_FromRestock

1000

01-JUN-11

2

WAREHOUSE1

Y

1001

01-JUN-11

0

WAREHOUSE3

N

1002

01-JUN-11

1

WAREHOUSE3

N

1003

01-JUN-11

0

WAREHOUSE2

N

1004

01-JUN-11

2

WAREHOUSE1

N

1005

01-JUN-11

1

WAREHOUSE2

N


Assume that the rows in Table 2-1 are stored in one compression unit. Hybrid Columnar Compression stores the values for each column together, and then uses multiple algorithms to compress each column. The database chooses the algorithms based on a variety of factors, including the data type of the column, the cardinality of the actual values in the column, and the compression level chosen by the user.

As shown in Figure 2-5, each compression unit can span multiple data blocks. The values for a particular column may or may not span multiple blocks.

Figure 2-5 Compression Unit

Description of Figure 2-5 follows
Description of "Figure 2-5 Compression Unit"

Hybrid Columnar Compression has implications for row locking (see "Row Locks (TX)"). When an update occurs for a row in an uncompressed data block, only the updated row is locked. In contrast, the database must lock all rows in the compression unit if an update is made to any row in the unit. Updates to rows using Hybrid Columnar Compression cause rowids to change.


Note:

When tables use Hybrid Columnar Compression, Oracle DML locks larger blocks of data (compression units), which may reduce concurrency.


See Also:


Overview of Table Clusters

A table cluster is a group of tables that share common columns and store related data in the same blocks. When tables are clustered, a single data block can contain rows from multiple tables. For example, a block can store rows from both the employees and departments tables rather than from only a single table.

The cluster key is the column or columns that the clustered tables have in common. For example, the employees and departments tables share the department_id column. You specify the cluster key when creating the table cluster and when creating every table added to the table cluster.

The cluster key value is the value of the cluster key columns for a particular set of rows. All data that contains the same cluster key value, such as department_id=20, is physically stored together. Each cluster key value is stored only once in the cluster and the cluster index, no matter how many rows of different tables contain the value.

For an analogy, suppose an HR manager has two book cases: one with boxes of employees folders and the other with boxes of departments folders. Users often ask for the folders for all employees in a particular department. To make retrieval easier, the manager rearranges all the boxes in a single book case. She divides the boxes by department ID. Thus, all folders for employees in department 20 and the folder for department 20 itself are in one box; the folders for employees in department 100 and the folder for department 100 are in a different box, and so on.

You can consider clustering tables when they are primarily queried (but not modified) and records from the tables are frequently queried together or joined. Because table clusters store related rows of different tables in the same data blocks, properly used table clusters offer the following benefits over nonclustered tables:

  • Disk I/O is reduced for joins of clustered tables.

  • Access time improves for joins of clustered tables.

  • Less storage is required to store related table and index data because the cluster key value is not stored repeatedly for each row.

Typically, clustering tables is not appropriate in the following situations:

  • The tables are frequently updated.

  • The tables frequently require a full table scan.

  • The tables require truncating.


See Also:

Oracle Database Performance Tuning Guide for guidelines on when to use table clusters

Overview of Indexed Clusters

An indexed cluster is a table cluster that uses an index to locate data. The cluster index is a B-tree index on the cluster key. A cluster index must be created before any rows can be inserted into clustered tables.

Assume that you create the cluster employees_departments_cluster with the cluster key department_id, as shown in Example 2-8. Because the HASHKEYS clause is not specified, this cluster is an indexed cluster. Afterward, you create an index named idx_emp_dept_cluster on this cluster key.

Example 2-8 Indexed Cluster

CREATE CLUSTER employees_departments_cluster
   (department_id NUMBER(4))
SIZE 512;

CREATE INDEX idx_emp_dept_cluster ON CLUSTER employees_departments_cluster;

You then create the employees and departments tables in the cluster, specifying the department_id column as the cluster key, as follows (the ellipses mark the place where the column specification goes):

CREATE TABLE employees ( ... )
   CLUSTER employees_departments_cluster (department_id);
 
CREATE TABLE departments ( ... )
   CLUSTER employees_departments_cluster (department_id);

Finally, you add rows to the employees and departments tables. The database physically stores all rows for each department from the employees and departments tables in the same data blocks. The database stores the rows in a heap and locates them with the index.

Figure 2-6 shows the employees_departments_cluster table cluster, which contains employees and departments. The database stores rows for employees in department 20 together, department 110 together, and so on. If the tables are not clustered, then the database does not ensure that the related rows are stored together.

Figure 2-6 Clustered Table Data

Description of Figure 2-6 follows
Description of "Figure 2-6 Clustered Table Data"

The B-tree cluster index associates the cluster key value with the database block address (DBA) of the block containing the data. For example, the index entry for key 20 shows the address of the block that contains data for employees in department 20:

20,AADAAAA9d

The cluster index is separately managed, just like an index on a nonclustered table, and can exist in a separate tablespace from the table cluster.


See Also:


Overview of Hash Clusters

A hash cluster is like an indexed cluster, except the index key is replaced with a hash function. No separate cluster index exists. In a hash cluster, the data is the index.

With an indexed table or indexed cluster, Oracle Database locates table rows using key values stored in a separate index. To find or store a row in an indexed table or table cluster, the database must perform at least two I/Os:

  • One or more I/Os to find or store the key value in the index

  • Another I/O to read or write the row in the table or table cluster

To find or store a row in a hash cluster, Oracle Database applies the hash function to the cluster key value of the row. The resulting hash value corresponds to a data block in the cluster, which the database reads or writes on behalf of the issued statement.

Hashing is an optional way of storing table data to improve the performance of data retrieval. Hash clusters may be beneficial when the following conditions are met:

  • A table is queried much more often than modified.

  • The hash key column is queried frequently with equality conditions, for example, WHERE department_id=20. For such queries, the cluster key value is hashed. The hash key value points directly to the disk area that stores the rows.

  • You can reasonably guess the number of hash keys and the size of the data stored with each key value.

Hash Cluster Creation

The cluster key, like the key of an indexed cluster, is a single column or composite key shared by the tables in the cluster. The hash key values are actual or possible values inserted into the cluster key column. For example, if the cluster key is department_id, then hash key values could be 10, 20, 30, and so on.

Oracle Database uses a hash function that accepts an infinite number of hash key values as input and sorts them into a finite number of buckets. Each bucket has a unique numeric ID known as a hash value. Each hash value maps to the database block address for the block that stores the rows corresponding to the hash key value (department 10, 20, 30, and so on).

To create a hash cluster, you use the same CREATE CLUSTER statement as for an indexed cluster, with the addition of a hash key. The number of hash values for the cluster depends on the hash key. In Example 2-9, the number of departments that are likely to exist is 100, so HASHKEYS is set to 100.

Example 2-9 Hash Cluster

CREATE CLUSTER employees_departments_cluster
   (department_id NUMBER(4))
SIZE 8192 HASHKEYS 100;

After you create employees_departments_cluster, you can create the employees and departments tables in the cluster. You can then load data into the hash cluster just as in the indexed cluster described in Example 2-8.


See Also:

Oracle Database Administrator's Guide to learn how to create and manage hash clusters

Hash Cluster Queries

The database, not the user, determines how to hash the key values input by the user. For example, assume that users frequently execute queries such as the following, entering different department ID numbers for p_id:

SELECT *
FROM   employees
WHERE  department_id = :p_id;
 
SELECT * 
FROM   departments 
WHERE  department_id = :p_id;

SELECT * 
FROM   employees e, departments d 
WHERE  e.department_id = d.department_id
AND    d.department_id = :p_id;

If a user queries employees in department_id=20, then the database might hash this value to bucket 77. If a user queries employees in department_id=10, then the database might hash this value to bucket 15. The database uses the internally generated hash value to locate the block that contains the employee rows for the requested department.

Figure 2-7 depicts a hash cluster segment as a horizontal row of blocks. As shown in the graphic, a query can retrieve data in a single I/O.

Figure 2-7 Retrieving Data from a Hash Cluster

Description of Figure 2-7 follows
Description of "Figure 2-7 Retrieving Data from a Hash Cluster"

A limitation of hash clusters is the unavailability of range scans on nonindexed cluster keys (see "Index Range Scan"). Assume that no separate index exists for the hash cluster created in Example 2-9. A query for departments with IDs between 20 and 100 cannot use the hashing algorithm because it cannot hash every possible value between 20 and 100. Because no index exists, the database must perform a full scan.

Hash Cluster Variations

A single-table hash cluster is an optimized version of a hash cluster that supports only one table at a time. A one-to-one mapping exists between hash keys and rows. A single-table hash cluster can be beneficial when users require rapid access to a table by primary key. For example, users often look up an employee record in the employees table by employee_id.

A sorted hash cluster stores the rows corresponding to each value of the hash function in such a way that the database can efficiently return them in sorted order. The database performs the optimized sort internally. For applications that always consume data in sorted order, this technique can mean faster retrieval of data. For example, an application might always sort on the order_date column of the orders table.


See Also:

Oracle Database Administrator's Guide to learn how to create single-table and sorted hash clusters

Hash Cluster Storage

Oracle Database allocates space for a hash cluster differently from an indexed cluster. In Example 2-9, HASHKEYS specifies the number of departments likely to exist, whereas SIZE specifies the size of the data associated with each department. The database computes a storage space value based on the following formula:

HASHKEYS * SIZE / database_block_size

Thus, if the block size is 4096 bytes in Example 2-9, then the database allocates at least 200 blocks to the hash cluster.

Oracle Database does not limit the number of hash key values that you can insert into the cluster. For example, even though HASHKEYS is 100, nothing prevents you from inserting 200 unique departments in the departments table. However, the efficiency of the hash cluster retrieval diminishes when the number of hash values exceeds the number of hash keys.

To illustrate the retrieval issues, assume that block 100 in Figure 2-7 is completely full with rows for department 20. A user inserts a new department with department_id 43 into the departments table. The number of departments exceeds the HASHKEYS value, so the database hashes department_id 43 to hash value 77, which is the same hash value used for department_id 20. Hashing multiple input values to the same output value is called a hash collision.

When users insert rows into the cluster for department 43, the database cannot store these rows in block 100, which is full. The database links block 100 to a new overflow block, say block 200, and stores the inserted rows in the new block. Both block 100 and 200 are now eligible to store data for either department. As shown in Figure 2-8, a query of either department 20 or 43 now requires two I/Os to retrieve the data: block 100 and its associated block 200. You can solve this problem by re-creating the cluster with a different HASHKEYS value.

Figure 2-8 Retrieving Data from a Hash Cluster When a Hash Collision Occurs

Description of Figure 2-8 follows
Description of "Figure 2-8 Retrieving Data from a Hash Cluster When a Hash Collision Occurs"


See Also:

Oracle Database Administrator's Guide to learn how to manage space in hash clusters

PKyPKM%AOEBPS/consist.htm Data Concurrency and Consistency

9 Data Concurrency and Consistency

This chapter explains how Oracle Database maintains consistent data in a multiuser database environment.

This chapter contains the following sections:

Introduction to Data Concurrency and Consistency

In a single-user database, a user can modify data without concern for other users modifying the same data at the same time. However, in a multiuser database, statements within multiple simultaneous transactions can update the same data. Transactions executing simultaneously must produce meaningful and consistent results. Therefore, a multiuser database must provide the following:

  • Data concurrency, which ensures that users can access data at the same time

  • Data consistency, which ensures that each user sees a consistent view of the data, including visible changes made by the user's own transactions and committed transactions of other users

To describe consistent transaction behavior when transactions run concurrently, database researchers have defined a transaction isolation model called serializability. A serializable transaction operates in an environment that makes it appear as if no other users were modifying data in the database.

While this degree of isolation between transactions is generally desirable, running many applications in serializable mode can seriously compromise application throughput. Complete isolation of concurrently running transactions could mean that one transaction cannot perform an insertion into a table being queried by another transaction. In short, real-world considerations usually require a compromise between perfect transaction isolation and performance.

Oracle Database maintains data consistency by using a multiversion consistency model and various types of locks and transactions. In this way, the database can present a view of data to multiple concurrent users, with each view consistent to a point in time. Because different versions of data blocks can exist simultaneously, transactions can read the version of data committed at the point in time required by a query and return results that are consistent to a single point in time.

Multiversion Read Consistency

In Oracle Database, multiversioning is the ability to simultaneously materialize multiple versions of data. Oracle Database maintains multiversion read consistency, which means that database queries have the following characteristics:

  • Read-consistent queries

    The data returned by a query is committed and consistent with respect to a single point in time.


    Important:

    Oracle Database never permits dirty reads, which occur when a transaction reads uncommitted data in another transaction.

    To illustrate the problem with dirty reads, suppose one transaction updates a column value without committing. A second transaction reads the updated and dirty (uncommitted) value. The first session rolls back the transaction so that the column has its old value, but the second transaction proceeds using the updated value, corrupting the database. Dirty reads compromise data integrity, violate foreign keys, and ignore unique constraints.

  • Nonblocking queries

    Readers and writers of data do not block one another (see "Summary of Locking Behavior").

Statement-Level Read Consistency

Oracle Database always enforces statement-level read consistency, which guarantees that data returned by a single query is committed and consistent with respect to a single point in time. The point in time to which a single SQL statement is consistent depends on the transaction isolation level and the nature of the query:

  • In the read committed isolation level, this point is the time at which the statement was opened. For example, if a SELECT statement opens at SCN 1000, then this statement is consistent to SCN 1000.

  • In a serializable or read-only transaction this point is the time the transaction began. For example, if a transaction begins at SCN 1000, and if multiple SELECT statements occur in this transaction, then each statement is consistent to SCN 1000.

  • In a Flashback Query operation (SELECT ... AS OF), the SELECT statement explicitly specifies the point in time. For example, you can query a table as it appeared last Thursday at 2 p.m.


See Also:

Oracle Database Advanced Application Developer's Guide to learn about Flashback Query

Transaction-Level Read Consistency

Oracle Database can also provide read consistency to all queries in a transaction, known as transaction-level read consistency. In this case, each statement in a transaction sees data from the same point in time, which is the time at which the transaction began.

Queries made by a serializable transaction see changes made by the transaction itself. For example, a transaction that updates employees and then queries employees will see the updates. Transaction-level read consistency produces repeatable reads and does not expose a query to phantom reads.

Read Consistency and Undo Segments

To manage the multiversion read consistency model, the database must create a read-consistent set of data when a table is simultaneously queried and updated. Oracle Database achieves this goal through undo data.

Whenever a user modifies data, Oracle Database creates undo entries, which it writes to undo segments ("Undo Segments"). The undo segments contain the old values of data that have been changed by uncommitted or recently committed transactions. Thus, multiple versions of the same data, all at different points in time, can exist in the database. The database can use snapshots of data at different points in time to provide read-consistent views of the data and enable nonblocking queries.

Read consistency is guaranteed in single-instance and Oracle Real Application Clusters (Oracle RAC) environments. Oracle RAC uses a cache-to-cache block transfer mechanism known as Cache Fusion to transfer read-consistent images of data blocks from one database instance to another.


See Also:


Read Consistency: Example

Figure 9-1 shows a query that uses undo data to provide statement-level read consistency in the read committed isolation level.

Figure 9-1 Read Consistency in the Read Committed Isolation Level

Description of Figure 9-1 follows
Description of "Figure 9-1 Read Consistency in the Read Committed Isolation Level"

As the database retrieves data blocks on behalf of a query, the database ensures that the data in each block reflects the contents of the block when the query began. The database rolls back changes to the block as needed to reconstruct the block to the point in time the query started processing.

The database uses a mechanism called an SCN to guarantee the order of transactions. As the SELECT statement enters the execution phase, the database determines the SCN recorded at the time the query began executing. In Figure 9-1, this SCN is 10023. The query only sees committed data with respect to SCN 10023.

In Figure 9-1, blocks with SCNs after 10023 indicate changed data, as shown by the two blocks with SCN 10024. The SELECT statement requires a version of the block that is consistent with committed changes. The database copies current data blocks to a new buffer and applies undo data to reconstruct previous versions of the blocks. These reconstructed data blocks are called consistent read (CR) clones.

In Figure 9-1, the database creates two CR clones: one block consistent to SCN 10006 and the other block consistent to SCN 10021. The database returns the reconstructed data for the query. In this way, Oracle Database prevents dirty reads.

Read Consistency and Transaction Tables

The database uses a transaction table, also called an interested transaction list (ITL), to determine if a transaction was uncommitted when the database began modifying the block. The block header of every segment block contains a transaction table.

Entries in the transaction table describe which transactions have rows locked and which rows in the block contain committed and uncommitted changes. The transaction table points to the undo segment, which provides information about the timing of changes made to the database.

In a sense, the block header contains a recent history of transactions that affected each row in the block. The INITRANS parameter of the CREATE TABLE and ALTER TABLE statements controls the amount of transaction history that is kept.


See Also:

Oracle Database SQL Language Reference to learn about the INITRANS parameter

Locking Mechanisms

In general, multiuser databases use some form of data locking to solve the problems associated with data concurrency, consistency, and integrity. Locks are mechanisms that prevent destructive interaction between transactions accessing the same resource.

ANSI/ISO Transaction Isolation Levels

The SQL standard, which has been adopted by both ANSI and ISO/IEC, defines four levels of transaction isolation. These levels have differing degrees of impact on transaction processing throughput.

These isolation levels are defined in terms of phenomena that must be prevented between concurrently executing transactions. The preventable phenomena are:

  • Dirty reads

    A transaction reads data that has been written by another transaction that has not been committed yet.

  • Nonrepeatable (fuzzy) reads

    A transaction rereads data it has previously read and finds that another committed transaction has modified or deleted the data. For example, a user queries a row and then later queries the same row, only to discover that the data has changed.

  • Phantom reads

    A transaction reruns a query returning a set of rows that satisfies a search condition and finds that another committed transaction has inserted additional rows that satisfy the condition.

    For example, a transaction queries the number of employees. Five minutes later it performs the same query, but now the number has increased by one because another user inserted a record for a new hire. More data satisfies the query criteria than before, but unlike in a fuzzy read the previously read data is unchanged.

The SQL standard defines four levels of isolation in terms of the phenomena that a transaction running at a particular isolation level is permitted to experience. Table 9-1 shows the levels.

Table 9-1 Preventable Read Phenomena by Isolation Level

Isolation LevelDirty ReadNonrepeatable ReadPhantom Read

Read uncommitted

Possible

Possible

Possible

Read committed

Not possible

Possible

Possible

Repeatable read

Not possible

Not possible

Possible

Serializable

Not possible

Not possible

Not possible


Oracle Database offers the read committed (default) and serializable isolation levels. Also, the database offers a read-only mode.


See Also:


Overview of Oracle Database Transaction Isolation Levels

Table 9-1 summarizes the ANSI standard for transaction isolation levels. The standard is defined in terms of the phenomena that are either permitted or prevented for each isolation level. Oracle Database provides the transaction isolation levels:


See Also:


Read Committed Isolation Level

In the read committed isolation level, which is the default, every query executed by a transaction sees only data committed before the query—not the transaction—began. This level of isolation is appropriate for database environments in which few transactions are likely to conflict.

A query in a read committed transaction avoids reading data that commits while the query is in progress. For example, if a query is halfway through a scan of a million-row table, and if a different transaction commits an update to row 950,000, then the query does not see this change when it reads row 950,000. However, because the database does not prevent other transactions from modifying data read by a query, other transactions may change data between query executions. Thus, a transaction that runs the same query twice may experience fuzzy reads and phantoms.

Read Consistency in the Read Committed Isolation Level

A consistent result set is provided for every query, guaranteeing data consistency, with no action by the user. An implicit query, such as a query implied by a WHERE clause in an UPDATE statement, is guaranteed a consistent set of results. However, each statement in an implicit query does not see the changes made by the DML statement itself, but sees the data as it existed before changes were made.

If a SELECT list contains a PL/SQL function, then the database applies statement-level read consistency at the statement level for SQL run within the PL/SQL function code, rather than at the parent SQL level. For example, a function could access a table whose data is changed and committed by another user. For each execution of the SELECT in the function, a new read-consistent snapshot is established.

Conflicting Writes in Read Committed Transactions

In a read committed transaction, a conflicting write occurs when the transaction attempts to change a row updated by an uncommitted concurrent transaction, sometimes called a blocking transaction. The read committed transaction waits for the blocking transaction to end and release its row lock. The options are as follows:

  • If the blocking transaction rolls back, then the waiting transaction proceeds to change the previously locked row as if the other transaction never existed.

  • If the blocking transaction commits and releases its locks, then the waiting transaction proceeds with its intended update to the newly changed row.

Table 9-2 shows how transaction 1, which can be either serializable or read committed, interacts with read committed transaction 2. Table 9-2 shows a classic situation known as a lost update (see "Use of Locks"). The update made by transaction 1 is not in the table even though transaction 1 committed it. Devising a strategy to handle lost updates is an important part of application development.

Table 9-2 Conflicting Writes and Lost Updates in a READ COMMITTED Transaction

Session 1Session 2Explanation
SQL> SELECT last_name, salary
FROM employees WHERE last_name
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9500


Session 1 queries the salaries for Banda, Greene, and Hintz. No employee named Hintz is found.

SQL> UPDATE employees SET salary
= 7000 WHERE last_name = 'Banda';


Session 1 begins a transaction by updating the Banda salary. The default isolation level for transaction 1 is READ COMMITTED.



SQL> SET TRANSACTION ISOLATION
LEVEL READ COMMITTED;

Session 2 begins transaction 2 and sets the isolation level explicitly to READ COMMITTED.



SQL> SELECT last_name, salary
FROM employees WHERE last_name IN
('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9500

Transaction 2 queries the salaries for Banda, Greene, and Hintz. Oracle Database uses read consistency to show the salary for Banda before the uncommitted update made by transaction 1.



SQL> UPDATE employees SET salary =
9900 WHERE last_name = 'Greene';

Transaction 2 updates the salary for Greene successfully because transaction 1 locked only the Banda row (see "Row Locks (TX)").

SQL> INSERT INTO employees
(employee_id, last_name, email,
hire_date, job_id) VALUES (210,
'Hintz', 'JHINTZ', SYSDATE,
'SH_CLERK');


Transaction 1 inserts a row for employee Hintz, but does not commit.



SQL> SELECT last_name, salary
FROM employees WHERE last_name IN 
('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9900

Transaction 2 queries the salaries for employees Banda, Greene, and Hintz.

Transaction 2 sees its own update to the salary for Greene. Transaction 2 does not see the uncommitted update to the salary for Banda or the insertion for Hintz made by transaction 1.



SQL> UPDATE employees SET salary =
6300 WHERE last_name = 'Banda';

-- prompt does not return 

Transaction 2 attempts to update the row for Banda, which is currently locked by transaction 1, creating a conflicting write. Transaction 2 waits until transaction 1 ends.

SQL> COMMIT;


Transaction 1 commits its work, ending the transaction.



1 row updated.
 
SQL>

The lock on the Banda row is now released, so transaction 2 proceeds with its update to the salary for Banda.



SQL> SELECT last_name, salary
FROM employees WHERE last_name IN
('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6300
Greene              9900
Hintz

Transaction 2 queries the salaries for employees Banda, Greene, and Hintz. The Hintz insert committed by transaction 1 is now visible to transaction 2. Transaction 2 sees its own update to the Banda salary.



COMMIT;

Transaction 2 commits its work, ending the transaction.

SQL> SELECT last_name, salary
FROM employees WHERE last_name
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6300
Greene              9900
Hintz


Session 1 queries the rows for Banda, Greene, and Hintz. The salary for Banda is 6300, which is the update made by transaction 2. The update of Banda's salary to 7000 made by transaction 1 is now "lost."


Serializable Isolation Level

In the serialization isolation level, a transaction sees only changes committed at the time the transaction—not the query—began and changes made by the transaction itself. A serializable transaction operates in an environment that makes it appear as if no other users were modifying data in the database.

Serializable isolation is suitable for environments:

  • With large databases and short transactions that update only a few rows

  • Where the chance that two concurrent transactions will modify the same rows is relatively low

  • Where relatively long-running transactions are primarily read only

In serializable isolation, the read consistency normally obtained at the statement level extends to the entire transaction. Any row read by the transaction is assured to be the same when reread. Any query is guaranteed to return the same results for the duration of the transaction, so changes made by other transactions are not visible to the query regardless of how long it has been running. Serializable transactions do not experience dirty reads, fuzzy reads, or phantom reads.

Oracle Database permits a serializable transaction to modify a row only if changes to the row made by other transactions were already committed when the serializable transaction began. The database generates an error when a serializable transaction tries to update or delete data changed by a different transaction that committed after the serializable transaction began:

ORA-08177: Cannot serialize access for this transaction

When a serializable transaction fails with the ORA-08177 error, an application can take several actions, including the following:

  • Commit the work executed to that point

  • Execute additional (but different) statements, perhaps after rolling back to a savepoint established earlier in the transaction

  • Roll back the entire transaction

Table 9-3 shows how a serializable transaction interacts with other transactions. If the serializable transaction does not try to change a row committed by another transaction after the serializable transaction began, then a serialized access problem is avoided.

Table 9-3 Read Consistency and Serialized Access Problems in Serializable Transactions

Session 1Session 2Explanation
SQL> SELECT last_name, salary
FROM employees WHERE last_name 
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9500


Session 1 queries the salaries for Banda, Greene, and Hintz. No employee named Hintz is found.

SQL> UPDATE employees SET salary
= 7000 WHERE last_name = 'Banda';


Session 1 begins transaction 1 by updating the Banda salary. The default isolation level for is READ COMMITTED.



SQL> SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE;

Session 2 begins transaction 2 and sets it to the SERIALIZABLE isolation level.



SQL> SELECT last_name, salary
FROM employees WHERE last_name 
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9500

Transaction 2 queries the salaries for Banda, Greene, and Hintz. Oracle Database uses read consistency to show the salary for Banda before the uncommitted update made by transaction 1.



SQL> UPDATE employees SET salary =
9900 WHERE last_name = 'Greene';

Transaction 2 updates the Greene salary successfully because only the Banda row is locked.

SQL> INSERT INTO employees
(employee_id, last_name, email,
hire_date, job_id) VALUES (210,
'Hintz', 'JHINTZ', SYSDATE,
'SH_CLERK');


Transaction 1 inserts a row for employee Hintz.

SQL> COMMIT;


Transaction 1 commits its work, ending the transaction.

SQL> SELECT last_name, salary
FROM employees WHERE last_name 
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               7000
Greene              9500
Hintz
SQL> SELECT last_name, salary
FROM employees WHERE last_name IN
('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               6200
Greene              9900

Session 1 queries the salaries for employees Banda, Greene, and Hintz and sees changes committed by transaction 1. Session 1 does not see the uncommitted Greene update made by transaction 2.

Transaction 2 queries the salaries for employees Banda, Greene, and Hintz. Oracle Database read consistency ensures that the Hintz insert and Banda update committed by transaction 1 are not visible to transaction 2. Transaction 2 sees its own update to the Banda salary.



COMMIT;

Transaction 2 commits its work, ending the transaction.

SQL> SELECT last_name, salary
FROM employees WHERE last_name
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               7000
Greene              9900
Hintz
SQL> SELECT last_name, salary 
FROM employees WHERE last_name 
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               7000
Greene              9900
Hintz

Both sessions query the salaries for Banda, Greene, and Hintz. Each session sees all committed changes made by transaction 1 and transaction 2.

SQL> UPDATE employees SET salary
= 7100 WHERE last_name = 'Hintz';


Session 1 begins transaction 3 by updating the Hintz salary. The default isolation level for transaction 3 is READ COMMITTED.



SQL> SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE;

Session 2 begins transaction 4 and sets it to the SERIALIZABLE isolation level.



SQL> UPDATE employees SET salary =
7200 WHERE last_name = 'Hintz';

-- prompt does not return

Transaction 4 attempts to update the salary for Hintz, but is blocked because transaction 3 locked the Hintz row (see "Row Locks (TX)"). Transaction 4 queues behind transaction 3.

SQL> COMMIT;


Transaction 3 commits its update of the Hintz salary, ending the transaction.



UPDATE employees SET salary = 7200
WHERE last_name = 'Hintz'
*
ERROR at line 1:
ORA-08177: can't serialize access
for this transaction

The commit that ends transaction 3 causes the Hintz update in transaction 4 to fail with the ORA-08177 error. The problem error occurs because transaction 3 committed the Hintz update after transaction 4 began.



SQL> ROLLBACK;

Session 2 rolls back transaction 4, which ends the transaction.



SQL> SET TRANSACTION ISOLATION
LEVEL SERIALIZABLE;

Session 2 begins transaction 5 and sets it to the SERIALIZABLE isolation level.



SQL> SELECT last_name, salary 
FROM employees WHERE last_name 
IN ('Banda','Greene','Hintz');
 
LAST_NAME         SALARY
------------- ----------
Banda               7100
Greene              9500
Hintz               7100

Transaction 5 queries the salaries for Banda, Greene, and Hintz. The Hintz salary update committed by transaction 3 is visible.



SQL> UPDATE employees SET salary =
7200 WHERE last_name = 'Hintz';

1 row updated.

Transaction 5 updates the Hintz salary to a different value. Because the Hintz update made by transaction 3 committed before the start of transaction 5, the serialized access problem is avoided.

Note: If a different transaction updated and committed the Hintz row after transaction transaction 5 began, then the serialized access problem would occur again.



SQL> COMMIT;

Session 2 commits the update without any problems, ending the transaction.


Read-Only Isolation Level

The read-only isolation level is similar to the serializable isolation level, but read-only transactions do not permit data to be modified in the transaction unless the user is SYS. Thus, read-only transactions are not susceptible to the ORA-08177 error. Read-only transactions are useful for generating reports in which the contents must be consistent with respect to the time when the transaction began.

Oracle Database achieves read consistency by reconstructing data as needed from the undo segments. Because undo segments are used in a circular fashion, the database can overwrite undo data. Long-running reports run the risk that undo data required for read consistency may have been reused by a different transaction, raising a snapshot too old error. Setting an undo retention period, which is the minimum amount of time that the database attempts to retain old undo data before overwriting it, appropriately avoids this problem.


See Also:


Overview of the Oracle Database Locking Mechanism

A lock is a mechanism that prevents destructive interactions, which are interactions that incorrectly update data or incorrectly alter underlying data structures, between transactions accessing shared data. Locks play a crucial row in maintaining database concurrency and consistency.

Summary of Locking Behavior

The database maintains several different types of locks, depending on the operation that acquired the lock. In general, the database uses two types of locks: exclusive locks and share locks. Only one exclusive lock can be obtained on a resource such as a row or a table, but many share locks can be obtained on a single resource.

Locks affect the interaction of readers and writers. A reader is a query of a resource, whereas a writer is a statement modifying a resource. The following rules summarize the locking behavior of Oracle Database for readers and writers:

  • A row is locked only when modified by a writer.

    When a statement updates one row, the transaction acquires a lock for this row only. By locking table data at the row level, the database minimizes contention for the same data. Under normal circumstancesFoot 1  the database does not escalate a row lock to the block or table level.

  • A writer of a row blocks a concurrent writer of the same row.

    If one transaction is modifying a row, then a row lock prevents a different transaction from modifying the same row simultaneously.

  • A reader never blocks a writer.

    Because a reader of a row does not lock it, a writer can modify this row. The only exception is a SELECT ... FOR UPDATE statement, which is a special type of SELECT statement that does lock the row that it is reading.

  • A writer never blocks a reader.

    When a row is being changed by a writer, the database uses undo data data to provide readers with a consistent view of the row.


    Note:

    Readers of data may have to wait for writers of the same data blocks in very special cases of pending distributed transactions.


See Also:


Use of Locks

In a single-user database, locks are not necessary because only one user is modifying information. However, when multiple users are accessing and modifying data, the database must provide a way to prevent concurrent modification of the same data. Locks achieve the following important database requirements:

  • Consistency

    The data a session is viewing or changing must not be changed by other sessions until the user is finished.

  • Integrity

    The data and structures must reflect all changes made to them in the correct sequence.

Oracle Database provides data concurrency, consistency, and integrity among transactions through its locking mechanisms. Locking is performed automatically and requires no user action.

The need for locks can be illustrated by a concurrent update of a single row. In the following example, a simple web-based application presents the end user with an employee email and phone number. The application uses an UPDATE statement such as the following to modify the data:

UPDATE employees
SET    email = ?, phone_number = ?
WHERE  employee_id = ?
AND    email = ?
AND    phone_number = ?

In the preceding UPDATE statement, the email and phone number values in the WHERE clause are the original, unmodified values for the specified employee. This update ensures that the row that the application modifies was not changed after the application last read and displayed it to the user. In this way, the application avoids the lost update database problem in which one user overwrites changes made by another user, effectively losing the update by the second user (Table 9-2 shows an example of a lost update).

Table 9-4 shows the sequence of events when two sessions attempt to modify the same row in the employees table at roughly the same time.

Table 9-4 Row Locking Example

TimeSession 1Session 2Explanation

t0

SELECT employee_id, email, 
       phone_number 
FROM   hr.employees 
WHERE  last_name = 'Himuro';

EMPLOYEE_ID EMAIL   PHONE_NUMBER
----------- ------- ------------
        118 GHIMURO 515.127.4565


In session 1, the hr1 user queries hr.employees for the Himuro record and displays the employee_id (118), email (GHIMURO), and phone number (515.127.4565) attributes.

t1



SELECT employee_id, email, 
       phone_number 
FROM   hr.employees 
WHERE  last_name = 'Himuro';

EMPLOYEE_ID EMAIL   PHONE_NUMBER
----------- ------- ------------
        118 GHIMURO 515.127.4565

In session 2, the hr2 user queries hr.employees for the Himuro record and displays the employee_id (118), email (GHIMURO), and phone number (515.127.4565) attributes.

t2

UPDATE hr.employees 
SET phone_number='515.555.1234' 
WHERE employee_id=118
AND email='GHIMURO'
AND phone_number='515.127.4565';

1 row updated.


In session 1, the hr1 user updates the phone number in the row to 515.555.1234, which acquires a lock on the GHIMURO row.

t3


UPDATE hr.employees 
SET phone_number='515.555.1235' 
WHERE employee_id=118
AND email='GHIMURO'
AND phone_number='515.127.4565';

-- SQL*Plus does not show
-- a row updated message or
-- return the prompt.

In session 2, the hr2 user attempts to update the same row, but is blocked because hr1 is currently processing the row.

The attempted update by hr2 occurs almost simultaneously with the hr1 update.

t4

COMMIT;

Commit complete.


In session 1, the hr1 user commits the transaction.

The commit makes the change for Himuro permanent and unblocks session 2, which has been waiting.

t5



0 rows updated.

In session 2, the hr2 user discovers that the GHIMURO row was modified in such a way that it no longer matches its predicate.

Because the predicates do not match, session 2 updates no records.

t6

UPDATE hr.employees 
SET phone_number='515.555.1235' 
WHERE employee_id=118
AND email='GHIMURO'
AND phone_number='515.555.1234';

1 row updated.


In session 1, the hr1 user realizes that it updated the GHIMURO row with the wrong phone number. The user starts a new transaction and updates the phone number in the row to 515.555.1235, which locks the GHIMURO row.

t7



SELECT employee_id, email, 
       phone_number 
FROM   hr.employees 
WHERE  last_name = 'Himuro';

EMPLOYEE_ID EMAIL   PHONE_NUMBER
----------- ------- ------------
        118 GHIMURO 515.555.1234

In session 2, the hr2 user queries hr.employees for the Himuro record. The record shows the phone number update committed by session 1 at t4. Oracle Database read consistency ensures that session 2 does not see the uncommitted change made at t6.

t8


UPDATE hr.employees 
SET phone_number='515.555.1235' 
WHERE employee_id=118
AND email='GHIMURO'
AND phone_number='515.555.1234';

-- SQL*Plus does not show
-- a row updated message or
-- return the prompt.

In session 2, the hr2 user attempts to update the same row, but is blocked because hr1 is currently processing the row.

t9

ROLLBACK;

Rollback complete.


In session 1, the hr1 user rolls back the transaction, which ends it.

t10



1 row updated.

In session 2, the update of the phone number succeeds because the session 1 update was rolled back. The GHIMURO row matches its predicate, so the update succeeds.

t11



COMMIT;

Commit complete.

Session 2 commits the update, ending the transaction.


Oracle Database automatically obtains necessary locks when executing SQL statements. For example, before the database permits a session to modify data, the session must first lock the data. The lock gives the session exclusive control over the data so that no other transaction can modify the locked data until the lock is released.

Because the locking mechanisms of Oracle Database are tied closely to transaction control, application designers need only define transactions properly, and Oracle Database automatically manages locking. Users never need to lock any resource explicitly, although Oracle Database also enables users to lock data manually.

The following sections explain concepts that are important for understanding how Oracle Database achieves data concurrency.


See Also:

Oracle Database PL/SQL Packages and Types Reference to learn about the OWA_OPT_LOCK package, which contains subprograms that can help prevent lost updates

Lock Modes

Oracle Database automatically uses the lowest applicable level of restrictiveness to provide the highest degree of data concurrency yet also provide fail-safe data integrity. The less restrictive the level, the more available the data is for access by other users. Conversely, the more restrictive the level, the more limited other transactions are in the types of locks that they can acquire.

Oracle Database uses two modes of locking in a multiuser database:

  • Exclusive lock mode

    This mode prevents the associated resource from being shared. A transaction obtains an exclusive lock when it modifies data. The first transaction to lock a resource exclusively is the only transaction that can alter the resource until the exclusive lock is released.

  • Share lock mode

    This mode allows the associated resource to be shared, depending on the operations involved. Multiple users reading data can share the data, holding share locks to prevent concurrent access by a writer who needs an exclusive lock. Several transactions can acquire share locks on the same resource.

Assume that a transaction uses a SELECT ... FOR UPDATE statement to select a single table row. The transaction acquires an exclusive row lock and a row share table lock. The row lock allows other sessions to modify any rows other than the locked row, while the table lock prevents sessions from altering the structure of the table. Thus, the database permits as many statements as possible to execute.

Lock Conversion and Escalation

Oracle Database performs lock conversion as necessary. In lock conversion, the database automatically converts a table lock of lower restrictiveness to one of higher restrictiveness.

For example, suppose a transaction issues a SELECT ... FOR UPDATE for an employee and later updates the locked row. In this case, the database automatically converts the row share table lock to a row exclusive table lock. A transaction holds exclusive row locks for all rows inserted, updated, or deleted within the transaction. Because row locks are acquired at the highest degree of restrictiveness, no lock conversion is required or performed.

Lock conversion is different from lock escalation, which occurs when numerous locks are held at one level of granularity (for example, rows) and a database raises the locks to a higher level of granularity (for example, table). If a user locks many rows in a table, then some databases automatically escalate the row locks to a single table. The number of locks decreases, but the restrictiveness of what is locked increases.

Oracle Database never escalates locks. Lock escalation greatly increases the likelihood of deadlocks. Assume that a system is trying to escalate locks on behalf of transaction 1 but cannot because of the locks held by transaction 2. A deadlock is created if transaction 2 also requires lock escalation of the same data before it can proceed.

Lock Duration

Oracle Database automatically releases a lock when some event occurs so that the transaction no longer requires the resource. In most cases, the database holds locks acquired by statements within a transaction for the duration of the transaction. These locks prevent destructive interference such as dirty reads, lost updates, and destructive DDL from concurrent transactions.


Note:

A table lock taken on a child table because of an unindexed foreign key is held for the duration of the statement, not the transaction. Also, as explained in "Overview of User-Defined Locks", the DBMS_LOCK package enables user-defined locks to be released and allocated at will and even held over transaction boundaries.

Oracle Database releases all locks acquired by the statements within a transaction when it commits or rolls back. Oracle Database also releases locks acquired after a savepoint when rolling back to the savepoint. However, only transactions not waiting for the previously locked resources can acquire locks on the now available resources. Waiting transactions continue to wait until after the original transaction commits or rolls back completely (see Table 10-2 for an example).

Locks and Deadlocks

A deadlock is a situation in which two or more users are waiting for data locked by each other. Deadlocks prevent some transactions from continuing to work.

Oracle Database automatically detects deadlocks and resolves them by rolling back one statement involved in the deadlock, releasing one set of the conflicting row locks. The database returns a corresponding message to the transaction that undergoes statement-level rollback. The statement rolled back belongs to the transaction that detects the deadlock. Usually, the signalled transaction should be rolled back explicitly, but it can retry the rolled-back statement after waiting.

Table 9-5 illustrates two transactions in a deadlock.

Table 9-5 Deadlock Example

TimeSession 1Session 2Explanation

t0

SQL> UPDATE employees 
  SET salary = salary*1.1
  WHERE employee_id = 100;

1 row updated.
SQL> UPDATE employees
  SET  salary = salary*1.1
  WHERE employee_id = 200;

1 row updated.

Session 1 starts transaction 1 and updates the salary for employee 100. Session 2 starts transaction 2 and updates the salary for employee 200. No problem exists because each transaction locks only the row that it attempts to update.

t1

SQL> UPDATE employees 
  SET salary = salary*1.1
  WHERE employee_id = 200;

-- prompt does not return
SQL> UPDATE employees
   salary = salary*1.1
  WHERE employee_id = 100;

-- prompt does not return

Transaction 1 attempts to update the employee 200 row, which is currently locked by transaction 2. Transaction 2 attempts to update the employee 100 row, which is currently locked by transaction 1.

A deadlock results because neither transaction can obtain the resource it needs to proceed or terminate. No matter how long each transaction waits, the conflicting locks are held.

t2

UPDATE employees
       *
ERROR at line 1:
ORA-00060: deadlock detected
while waiting for resource

SQL>


Transaction 1 signals the deadlock and rolls back the UPDATE statement issued at t1. However, the update made at t0 is not rolled back. The prompt is returned in session 1.

Note: Only one session in the deadlock actually gets the deadlock error, but either session could get the error.

t3

SQL> COMMIT;

Commit complete.


Session 1 commits the update made at t0, ending transaction 1. The update unsuccessfully attempted at t1 is not committed.

t4



1 row updated.

SQL>

The update at t1 in transaction 2, which was being blocked by transaction 1, is executed. The prompt is returned.

t5



SQL> COMMIT;

Commit complete.

Session 2 commits the updates made at t0 and t1, which ends transaction 2.


Deadlocks most often occur when transactions explicitly override the default locking of Oracle Database. Because Oracle Database does not escalate locks and does not use read locks for queries, but does use row-level (rather than page-level) locking, deadlocks occur infrequently.


See Also:


Overview of Automatic Locks

Oracle Database automatically locks a resource on behalf of a transaction to prevent other transactions from doing something that requires exclusive access to the same resource. The database automatically acquires different types of locks at different levels of restrictiveness depending on the resource and the operation being performed.


Note:

The database never locks rows when performing simple reads.

Oracle Database locks are divided into the following categories.

LockDescription
DML LocksProtect data. For example, table locks lock entire tables, while row locks lock selected rows. See "DML Locks".
DDL LocksProtect the structure of schema objects—for example, the dictionary definitions of tables and views. See "DDL Locks".
System LocksProtect internal database structures such as data files. Latches, mutexes, and internal locks are entirely automatic. See "System Locks".

DML Locks

A DML lock, also called a data lock, guarantees the integrity of data accessed concurrently by multiple users. For example, a DML lock prevents two customers from buying the last copy of a book available from an online bookseller. DML locks prevent destructive interference of simultaneous conflicting DML or DDL operations.

DML statements automatically acquire the following types of locks:

In the following sections, the acronym in parentheses after each type of lock or lock mode is the abbreviation used in the Locks Monitor of Oracle Enterprise Manager (Enterprise Manager). Enterprise Manager might display TM for any table lock, rather than indicate the mode of table lock (such as RS or SRX).

Row Locks (TX)

A row lock, also called a TX lock, is a lock on a single row of table. A transaction acquires a row lock for each row modified by an INSERT, UPDATE, DELETE, MERGE, or SELECT ... FOR UPDATE statement. The row lock exists until the transaction commits or rolls back.

Row locks primarily serve as a queuing mechanism to prevent two transactions from modifying the same row. The database always locks a modified row in exclusive mode so that other transactions cannot modify the row until the transaction holding the lock commits or rolls back. Row locking provides the finest grain locking possible and so provides the best possible concurrency and throughput.


Note:

If a transaction terminates because of database instance failure, then block-level recovery makes a row available before the entire transaction is recovered.

If a transaction obtains a lock for a row, then the transaction also acquires a lock for the table containing the row. The table lock prevents conflicting DDL operations that would override data changes in a current transaction. Figure 9-2 illustrates an update of the third row in a table. Oracle Database automatically places an exclusive lock on the updated row and a subexclusive lock on the table.

Figure 9-2 Row and Table Locks

Description of Figure 9-2 follows
Description of "Figure 9-2 Row and Table Locks"

Row Locks and Concurrency

Table 9-6 illustrates how Oracle Database uses row locks for concurrency. Three sessions query the same rows simultaneously. Session 1 and 2 proceed to make uncommitted updates to different rows, while session 3 makes no updates. Each session sees its own uncommitted updates but not the uncommitted updates of any other session.

Table 9-6 Data Concurrency Example

TimeSession 1Session 2Session 3Explanation

t0

SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600
SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600
SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600

Three different sessions simultaneously query the ID and salary of employees 100 and 101. The results returned by each query are identical.

t1

UPDATE hr.employees
SET salary=salary+100  
WHERE employee_id=100;


Session 1 updates the salary of employee 100, but does not commit. In the update, the writer acquires a row-level lock for the updated row only, thereby preventing other writers from modifying this row.

t2

SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          612
101          600
SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600
SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600

Each session simultaneously issues the original query. Session 1 shows the salary of 612 resulting from the t1 update. The readers in session 2 and 3 return rows immediately and do not wait for session 1 to end its transaction. The database uses multiversion read consistency to show the salary as it existed before the update in session 1.

t3


UPDATE hr.employees  
SET salary=salary+100  
WHERE employee_id=101;

Session 2 updates the salary of employee 101, but does not commit the transaction. In the update, the writer acquires a row-level lock for the updated row only, preventing other writers from modifying this row.

t4

SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          612
101          600
SELECT employee_id, 
salaryFROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          700
SELECT employee_id, 
salary FROM employees 
WHERE  employee_id
IN ( 100, 101 );

EMPLOYEE_ID  SALARY
-----------  ------
100          512
101          600

Each session simultaneously issues the original query. Session 1 shows the salary of 612 resulting from the t1 update, but not the salary update for employee 101 made in session 2. The reader in session 2 shows the salary update made in session 2, but not the salary update made in session 1. The reader in session 3 uses read consistency to show the salaries before modification by session 1 and 2.


Storage of Row Locks

Unlike some databases, which use a lock manager to maintain a list of locks in memory, Oracle Database stores lock information in the data block that contains the locked row.

The database uses a queuing mechanism for acquisition of row locks. If a transaction requires a lock for an unlocked row, then the transaction places a lock in the data block. Each row modified by this transaction points to a copy of the transaction ID stored in the block header (see "Overview of Data Blocks").

When a transaction ends, the transaction ID remains in the block header. If a different transaction wants to modify a row, then it uses the transaction ID to determine whether the lock is active. If the lock is active, then the session asks to be notified when the lock is released. Otherwise, the transaction acquires the lock.


See Also:

Oracle Database Reference to learn about V$TRANSACTION

Table Locks (TM)

A table lock, also called a TM lock, is acquired by a transaction when a table is modified by an INSERT, UPDATE, DELETE, MERGE, SELECT with the FOR UPDATE clause, or LOCK TABLE statement. DML operations require table locks to reserve DML access to the table on behalf of a transaction and to prevent DDL operations that would conflict with the transaction.

A table lock can be held in any of the following modes:

  • Row Share (RS)

    This lock, also called a subshare table lock (SS), indicates that the transaction holding the lock on the table has locked rows in the table and intends to update them. A row share lock is the least restrictive mode of table lock, offering the highest degree of concurrency for a table.

  • Row Exclusive Table Lock (RX)

    This lock, also called a subexclusive table lock (SX), generally indicates that the transaction holding the lock has updated table rows or issued SELECT ... FOR UPDATE. An SX lock allows other transactions to query, insert, update, delete, or lock rows concurrently in the same table. Therefore, SX locks allow multiple transactions to obtain simultaneous SX and subshare table locks for the same table.

  • Share Table Lock (S)

    A share table lock held by a transaction allows other transactions to query the table (without using SELECT ... FOR UPDATE), but updates are allowed only if a single transaction holds the share table lock. Because multiple transactions may hold a share table lock concurrently, holding this lock is not sufficient to ensure that a transaction can modify the table.

  • Share Row Exclusive Table Lock (SRX)

    This lock, also called a share-subexclusive table lock (SSX), is more restrictive than a share table lock. Only one transaction at a time can acquire an SSX lock on a given table. An SSX lock held by a transaction allows other transactions to query the table (except for SELECT ... FOR UPDATE) but not to update the table.

  • Exclusive Table Lock (X)

    This lock is the most restrictive, prohibiting other transactions from performing any type of DML statement or placing any type of lock on the table.

Locks and Foreign Keys

Oracle Database maximizes the concurrency control of parent keys in relation to dependent foreign keys. Locking behavior depends on whether foreign key columns are indexed. If foreign keys are not indexed, then the child table will probably be locked more frequently, deadlocks will occur, and concurrency will be decreased. For this reason foreign keys should almost always be indexed. The only exception is when the matching unique or primary key is never updated or deleted.

Locks and Unindexed Foreign Keys

When both of the following conditions are true, the database acquires a full table lock on the child table:

  • No index exists on the foreign key column of the child table.

  • A session modifies a primary key in the parent table (for example, deletes a row or modifies primary key attributes) or merges rows into the parent table. Inserts into the parent table do not acquire table locks on the child table.

    Suppose that hr.departments table is a parent of hr.employees, which contains the unindexed foreign key department_id. Figure 9-3 shows a session modifying the primary key attributes of department 60 in the departments table.

Figure 9-3 Locking Mechanisms with Unindexed Foreign Key

Description of Figure 9-3 follows
Description of "Figure 9-3 Locking Mechanisms with Unindexed Foreign Key"

In Figure 9-3, the database acquires a full table lock on employees during the primary key modification of department 60. This lock enables other sessions to query but not update the employees table. For example, employee phone numbers cannot be updated. The table lock on employees releases immediately after the primary key modification on the departments table completes. If multiple rows in departments undergo primary key modifications, then a table lock on employees is obtained and released once for each row that is modified in departments.


Note:

DML on a child table does not acquire a table lock on the parent table.

Locks and Indexed Foreign Keys

When both of the following conditions are true, the database does not acquire a full table lock on the child table:

  • A foreign key column in the child table is indexed.

  • A session modifies a primary key in the parent table (for example, deletes a row or modifies primary key attributes) or merges rows into the parent table.

A lock on the parent table prevents transactions from acquiring exclusive table locks, but does not prevent DML on the parent or child table during the primary key modification. This situation is preferable if primary key modifications occur on the parent table while updates occur on the child table.

Figure 9-4 shows child table employees with an indexed department_id column. A transaction deletes department 280 from departments. This deletion does not cause the database to acquire a full table lock on the employees table as in the scenario described in "Locks and Unindexed Foreign Keys".

Figure 9-4 Locking Mechanisms with Indexed Foreign Key

Description of Figure 9-4 follows
Description of "Figure 9-4 Locking Mechanisms with Indexed Foreign Key"

If the child table specifies ON DELETE CASCADE, then deletions from the parent table can result in deletions from the child table. For example, the deletion of department 280 can cause the deletion of records from employees for employees in the deleted department. In this case, waiting and locking rules are the same as if you deleted rows from the child table after deleting rows from the parent table.

DDL Locks

A data dictionary (DDL) lock protects the definition of a schema object while an ongoing DDL operation acts on or refers to the object. Only individual schema objects that are modified or referenced are locked during DDL operations. The database never locks the whole data dictionary.

Oracle Database acquires a DDL lock automatically on behalf of any DDL transaction requiring it. Users cannot explicitly request DDL locks. For example, if a user creates a stored procedure, then Oracle Database automatically acquires DDL locks for all schema objects referenced in the procedure definition. The DDL locks prevent these objects from being altered or dropped before procedure compilation is complete.

Exclusive DDL Locks

An exclusive DDL lock prevents other sessions from obtaining a DDL or DML lock. Most DDL operations, except for those described in "Share DDL Locks", require exclusive DDL locks for a resource to prevent destructive interference with other DDL operations that might modify or reference the same schema object. For example, DROP TABLE is not allowed to drop a table while ALTER TABLE is adding a column to it, and vice versa.

Exclusive DDL locks last for the duration of DDL statement execution and automatic commit. During the acquisition of an exclusive DDL lock, if another DDL lock is held on the schema object by another operation, then the acquisition waits until the older DDL lock is released and then proceeds.

Share DDL Locks

A share DDL lock for a resource prevents destructive interference with conflicting DDL operations, but allows data concurrency for similar DDL operations.

For example, when a CREATE PROCEDURE statement is run, the containing transaction acquires share DDL locks for all referenced tables. Other transactions can concurrently create procedures that reference the same tables and acquire concurrent share DDL locks on the same tables, but no transaction can acquire an exclusive DDL lock on any referenced table.

A share DDL lock lasts for the duration of DDL statement execution and automatic commit. Thus, a transaction holding a share DDL lock is guaranteed that the definition of the referenced schema object remains constant during the transaction.

Breakable Parse Locks

A parse lock is held by a SQL statement or PL/SQL program unit for each schema object that it references. Parse locks are acquired so that the associated shared SQL area can be invalidated if a referenced object is altered or dropped. A parse lock is called a breakable parse lock because it does not disallow any DDL operation and can be broken to allow conflicting DDL operations.

A parse lock is acquired in the shared pool during the parse phase of SQL statement execution. The lock is held as long as the shared SQL area for that statement remains in the shared pool.


See Also:

"Shared Pool"

System Locks

Oracle Database uses various types of system locks to protect internal database and memory structures. These mechanisms are inaccessible to users because users have no control over their occurrence or duration.

Latches

Latches are simple, low-level serialization mechanisms that coordinate multiuser access to shared data structures, objects, and files. Latches protect shared memory resources from corruption when accessed by multiple processes. Specifically, latches protect data structures from the following situations:

  • Concurrent modification by multiple sessions

  • Being read by one session while being modified by another session

  • Deallocation (aging out) of memory while being accessed

Typically, a single latch protects multiple objects in the SGA. For example, background processes such as DBWn and LGWR allocate memory from the shared pool to create data structures. To allocate this memory, these processes use a shared pool latch that serializes access to prevent two processes from trying to inspect or modify the shared pool simultaneously. After the memory is allocated, other processes may need to access shared pool areas such as the library cache, which is required for parsing. In this case, processes latch only the library cache, not the entire shared pool.

Unlike enqueue latches such as row locks, latches do not permit sessions to queue. When a latch becomes available, the first session to request the latch obtains exclusive access to it. Latch spinning occurs when a process repeatedly requests a latch in a loop, whereas latch sleeping occurs when a process releases the CPU before renewing the latch request.

Typically, an Oracle process acquires a latch for an extremely short time while manipulating or looking at a data structure. For example, while processing a salary update of a single employee, the database may obtain and release thousands of latches. The implementation of latches is operating system-dependent, especially in respect to whether and how long a process waits for a latch.

An increase in latching means a decrease in concurrency. For example, excessive hard parse operations create contention for the library cache latch. The V$LATCH view contains detailed latch usage statistics for each latch, including the number of times each latch was requested and waited for.


See Also:


Mutexes

A mutual exclusion object (mutex) is a low-level mechanism that prevents an object in memory from aging out or from being corrupted when accessed by concurrent processes. A mutex is similar to a latch, but whereas a latch typically protects a group of objects, a mutex protects a single object.

Mutexes provide several benefits:

  • A mutex can reduce the possibility of contention.

    Because a latch protects multiple objects, it can become a bottleneck when processes attempt to access any of these objects concurrently. By serializing access to an individual object rather than a group, a mutex increases availability.

  • A mutex consumes less memory than a latch.

  • When in shared mode, a mutex permits concurrent reference by multiple sessions.

Internal Locks

Internal locks are higher-level, more complex mechanisms than latches and mutexes and serve various purposes. The database uses the following types of internal locks:

  • Dictionary cache locks

    These locks are of very short duration and are held on entries in dictionary caches while the entries are being modified or used. They guarantee that statements being parsed do not see inconsistent object definitions. Dictionary cache locks can be shared or exclusive. Shared locks are released when the parse is complete, whereas exclusive locks are released when the DDL operation is complete.

  • File and log management locks

    These locks protect various files. For example, an internal lock protects the control file so that only one process at a time can change it. Another lock coordinates the use and archiving of the online redo log files. Data files are locked to ensure that multiple instances mount a database in shared mode or that one instance mounts it in exclusive mode. Because file and log locks indicate the status of files, these locks are necessarily held for a long time.

  • Tablespace and undo segment locks

    These locks protect tablespaces and undo segments. For example, all instances accessing a database must agree on whether a tablespace is online or offline. Undo segments are locked so that only one database instance can write to a segment.

Overview of Manual Data Locks

Oracle Database performs locking automatically to ensure data concurrency, data integrity, and statement-level read consistency. However, you can manually override the Oracle Database default locking mechanisms. Overriding the default locking is useful in situations such as the following:

  • Applications require transaction-level read consistency or repeatable reads.

    In this case, queries must produce consistent data for the duration of the transaction, not reflecting changes by other transactions. You can achieve transaction-level read consistency by using explicit locking, read-only transactions, serializable transactions, or by overriding default locking.

  • Applications require that a transaction have exclusive access to a resource so that the transaction does not have to wait for other transactions to complete.

You can override Oracle Database automatic locking at the session or transaction level. At the session level, a session can set the required transaction isolation level with the ALTER SESSION statement. At the transaction level, transactions that include the following SQL statements override Oracle Database default locking:

  • The SET TRANSACTION ISOLATION LEVEL statement

  • The LOCK TABLE statement (which locks either a table or, when used with views, the base tables)

  • The SELECT ... FOR UPDATE statement

Locks acquired by the preceding statements are released after the transaction ends or a rollback to savepoint releases them.

If Oracle Database default locking is overridden at any level, then the database administrator or application developer should ensure that the overriding locking procedures operate correctly. The locking procedures must satisfy the following criteria: data integrity is guaranteed, data concurrency is acceptable, and deadlocks are not possible or are appropriately handled.


See Also:


Overview of User-Defined Locks

With Oracle Database Lock Management services, you can define your own locks for a specific application. For example, you might create a lock to serialize access to a message log on the file system. Because a reserved user lock is the same as an Oracle Database lock, it has all the Oracle Database lock functionality including deadlock detection. User locks never conflict with Oracle Database locks, because they are identified with the prefix UL.

The Oracle Database Lock Management services are available through procedures in the DBMS_LOCK package. You can include statements in PL/SQL blocks that:

  • Request a lock of a specific type

  • Give the lock a unique name recognizable in another procedure in the same or in another instance

  • Change the lock type

  • Release the lock


See Also:




Footnote Legend

Footnote 1: When processing a distributed two-phase commit, the database may briefly prevent read access in special circumstances. Specifically, if a query starts between the prepare and commit phases and attempts to read the data before the commit, then the database may escalate a lock from row-level to block-level to guarantee read consistency.
PK6>S?PKM%AOEBPS/transact.htm Transactions

10 Transactions

This chapter defines a transaction and describes how the database processes transactions.

This chapter contains the following sections:

Introduction to Transactions

A transaction is a logical, atomic unit of work that contains one or more SQL statements. A transaction groups SQL statements so that they are either all committed, which means they are applied to the database, or all rolled back, which means they are undone from the database. Oracle Database assigns every transaction a unique identifier called a transaction ID.

All Oracle transactions comply with the basic properties of a database transaction, known as ACID properties. ACID is an acronym for the following:

  • Atomicity

    All tasks of a transaction are performed or none of them are. There are no partial transactions. For example, if a transaction starts updating 100 rows, but the system fails after 20 updates, then the database rolls back the changes to these 20 rows.

  • Consistency

    The transaction takes the database from one consistent state to another consistent state. For example, in a banking transaction that debits a savings account and credits a checking account, a failure must not cause the database to credit only one account, which would lead to inconsistent data.

  • Isolation

    The effect of a transaction is not visible to other transactions until the transaction is committed. For example, one user updating the hr.employees table does not see the uncommitted changes to employees made concurrently by another user. Thus, it appears to users as if transactions are executing serially.

  • Durability

    Changes made by committed transactions are permanent. After a transaction completes, the database ensures through its recovery mechanisms that changes from the transaction are not lost.

The use of transactions is one of the most important ways that a database management system differs from a file system.

Sample Transaction: Account Debit and Credit

To illustrate the concept of a transaction, consider a banking database. When a customer transfers money from a savings account to a checking account, the transaction must consist of three separate operations:

  • Decrement the savings account

  • Increment the checking account

  • Record the transaction in the transaction journal

Oracle Database must allow for two situations. If all three SQL statements maintain the accounts in proper balance, then the effects of the transaction can be applied to the database. However, if a problem such as insufficient funds, invalid account number, or a hardware failure prevents one or two of the statements in the transaction from completing, then the database must roll back the entire transaction so that the balance of all accounts is correct.

Figure 10-1 illustrates a banking transaction. The first statement subtracts $500 from savings account 3209. The second statement adds $500 to checking account 3208. The third statement inserts a record of the transfer into the journal table. The final statement commits the transaction.

Figure 10-1 A Banking Transaction

Description of Figure 10-1 follows
Description of "Figure 10-1 A Banking Transaction"

Structure of a Transaction

A database transaction consists of one or more statements. Specifically, a transaction consists of one of the following:

  • One or more data manipulation language (DML) statements that together constitute an atomic change to the database

  • One data definition language (DDL) statement

A transaction has a beginning and an end.

Beginning of a Transaction

A transaction begins when the first executable SQL statement is encountered. An executable SQL statement is a SQL statement that generates calls to a database instance, including DML and DDL statements and the SET TRANSACTION statement.

When a transaction begins, Oracle Database assigns the transaction to an available undo data segment to record the undo entries for the new transaction. A transaction ID is not allocated until an undo segment and transaction table slot are allocated, which occurs during the first DML statement. A transaction ID is unique to a transaction and represents the undo segment number, slot, and sequence number.

The following example execute an UPDATE statement to begin a transaction and queries V$TRANSACTION for details about the transaction:

SQL> UPDATE hr.employees SET salary=salary; 

107 rows updated.
 
SQL> SELECT XID AS "txn id", XIDUSN AS "undo seg", XIDSLOT AS "slot", 
  2  XIDSQN AS "seq", STATUS AS "txn status"
  3  FROM V$TRANSACTION;
 
txn id             undo seg       slot        seq txn status
---------------- ---------- ---------- ---------- ----------------
0600060037000000          6          6         55 ACTIVE

See Also:

"Undo Segments"

End of a Transaction

A transaction ends when any of the following actions occurs:

  • A user issues a COMMIT or ROLLBACK statement without a SAVEPOINT clause.

    In a commit, a user explicitly or implicitly requested that the changes in the transaction be made permanent. Changes made by the transaction are permanent and visible to other users only after a transaction commits. The transaction shown in Figure 10-1 ends with a commit.

  • A user runs a DDL command such as CREATE, DROP, RENAME, or ALTER.

    The database issues an implicit COMMIT statement before and after every DDL statement. If the current transaction contains DML statements, then Oracle Database first commits the transaction and then runs and commits the DDL statement as a new, single-statement transaction.

  • A user exits normally from most Oracle Database utilities and tools, causing the current transaction to be implicitly committed. The commit behavior when a user disconnects is application-dependent and configurable.


    Note:

    Applications should always explicitly commit or undo transactions before program termination.

  • A client process terminates abnormally, causing the transaction to be implicitly rolled back using metadata stored in the transaction table and the undo segment.

After one transaction ends, the next executable SQL statement automatically starts the following transaction. The following example executes an UPDATE to start a transaction, ends the transaction with a ROLLBACK statement, and then executes an UPDATE to start a new transaction (note that the transaction IDs are different):

SQL> UPDATE hr.employees SET salary=salary; 
107 rows updated.
 
SQL> SELECT XID, STATUS FROM V$TRANSACTION;
 
XID              STATUS
---------------- ----------------
0800090033000000 ACTIVE
 
SQL> ROLLBACK;
 
Rollback complete.
 
SQL> SELECT XID FROM V$TRANSACTION;
 
no rows selected
 
SQL> UPDATE hr.employees SET last_name=last_name;
 
107 rows updated.
 
SQL> SELECT XID, STATUS FROM V$TRANSACTION;
 
XID              STATUS
---------------- ----------------
0900050033000000 ACTIVE

Statement-Level Atomicity

Oracle Database supports statement-level atomicity, which means that a SQL statement is an atomic unit of work and either completely succeeds or completely fails.

A successful statement is different from a committed transaction. A single SQL statement executes successfully if the database parses and runs it without error as an atomic unit, as when all rows are changed in a multirow update.

If a SQL statement causes an error during execution, then it is not successful and so all effects of the statement are rolled back. This operation is a statement-level rollback. This operation has the following characteristics:

  • A SQL statement that does not succeed causes the loss only of work it would have performed itself.

    The unsuccessful statement does not cause the loss of any work that preceded it in the current transaction. For example, if the execution of the second UPDATE statement in Figure 10-1 causes an error and is rolled back, then the work performed by the first UPDATE statement is not rolled back. The first UPDATE statement can be committed or rolled back explicitly by the user.

  • The effect of the rollback is as if the statement had never been run.

    Any side effects of an atomic statement, for example, triggers invoked upon execution of the statement, are considered part of the atomic statement. Either all work generated as part of the atomic statement succeeds or none does.

An example of an error causing a statement-level rollback is an attempt to insert a duplicate primary key. Single SQL statements involved in a deadlock, which is competition for the same data, can also cause a statement-level rollback. However, errors discovered during SQL statement parsing, such as a syntax error, have not yet been run and so do not cause a statement-level rollback.

System Change Numbers (SCNs)

A system change number (SCN) is a logical, internal time stamp used by Oracle Database. SCNs order events that occur within the database, which is necessary to satisfy the ACID properties of a transaction. Oracle Database uses SCNs to mark the SCN before which all changes are known to be on disk so that recovery avoids applying unnecessary redo. The database also uses SCNs to mark the point at which no redo exists for a set of data so that recovery can stop.

SCNs occur in a monotonically increasing sequence. Oracle Database can use an SCN like a clock because an observed SCN indicates a logical point in time and repeated observations return equal or greater values. If one event has a lower SCN than another event, then it occurred at an earlier time with respect to the database. Several events may share the same SCN, which means that they occurred at the same time with respect to the database.

Every transaction has an SCN. For example, if a transaction updates a row, then the database records the SCN at which this update occurred. Other modifications in this transaction have the same SCN. When a transaction commits, the database records an SCN for this commit.

Oracle Database increments SCNs in the system global area (SGA). When a transaction modifies data, the database writes a new SCN to the undo data segment assigned to the transaction. The log writer process then writes the commit record of the transaction immediately to the online redo log. The commit record has the unique SCN of the transaction. Oracle Database also uses SCNs as part of its instance recovery and media recovery mechanisms.

Overview of Transaction Control

Transaction control is the management of changes made by DML statements and the grouping of DML statements into transactions. In general, application designers are concerned with transaction control so that work is accomplished in logical units and data is kept consistent.

Transaction control involves using the following statements, as described in "Transaction Control Statements":

  • The COMMIT statement ends the current transaction and makes all changes performed in the transaction permanent. COMMIT also erases all savepoints in the transaction and releases transaction locks.

  • The ROLLBACK statement reverses the work done in the current transaction; it causes all data changes since the last COMMIT or ROLLBACK to be discarded. The ROLLBACK TO SAVEPOINT statement undoes the changes since the last savepoint but does not end the entire transaction.

  • The SAVEPOINT statement identifies a point in a transaction to which you can later roll back.

The session in Table 10-1 illustrates the basic concepts of transaction control.

Table 10-1 Transaction Control

TimeSessionExplanation

t0

COMMIT;

This statement ends any existing transaction in the session.

t1

SET TRANSACTION NAME 'sal_update';

This statement begins a transaction and names it sal_update.

t2

UPDATE employees
    SET salary = 7000 
    WHERE last_name = 'Banda';

This statement updates the salary for Banda to 7000.

t3

SAVEPOINT after_banda_sal;

This statement creates a savepoint named after_banda_sal, enabling changes in this transaction to be rolled back to this point.

t4

UPDATE employees
    SET salary = 12000 
    WHERE last_name = 'Greene';

This statement updates the salary for Greene to 12000.

t5

SAVEPOINT after_greene_sal;

This statement creates a savepoint named after_greene_sal, enabling changes in this transaction to be rolled back to this point.

t6

ROLLBACK TO SAVEPOINT
    after_banda_sal;

This statement rolls back the transaction to t3, undoing the update to Greene's salary at t4. The sal_update transaction has not ended.

t7

UPDATE employees
    SET salary = 11000 
    WHERE last_name = 'Greene';

This statement updates the salary for Greene to 11000 in transaction sal_update.

t8

ROLLBACK;

This statement rolls back all changes in transaction sal_update, ending the transaction.

t9

SET TRANSACTION NAME 'sal_update2';

This statement begins a new transaction in the session and names it sal_update2.

t10

UPDATE employees
    SET salary = 7050 
    WHERE last_name = 'Banda';

This statement updates the salary for Banda to 7050.

t11

UPDATE employees
    SET salary = 10950 
    WHERE last_name = 'Greene';

This statement updates the salary for Greene to 10950.

t12

COMMIT;

This statement commits all changes made in transaction sal_update2, ending the transaction. The commit guarantees that the changes are saved in the online redo log files.



See Also:

Oracle Database SQL Language Reference to learn about transaction control statements

Transaction Names

A transaction name is an optional, user-specified tag that serves as a reminder of the work that the transaction is performing. You name a transaction with the SET TRANSACTION ... NAME statement, which if used must be first statement of the transaction. In Table 10-1, the first transaction was named sal_update and the second was named sal_update2.

Transaction names provide the following advantages:

  • It is easier to monitor long-running transactions and to resolve in-doubt distributed transactions.

  • You can view transaction names along with transaction IDs in applications. For example, a database administrator can view transaction names in Oracle Enterprise Manager (Enterprise Manager) when monitoring system activity.

  • The database writes transaction names to the transaction auditing redo record, so you can use LogMiner to search for a specific transaction in the redo log.

  • You can use transaction names to find a specific transaction in data dictionary views such as V$TRANSACTION.


See Also:


Active Transactions

An active transaction has started but not yet committed or rolled back. In Table 10-1, the first statement to modify data in the sal_update transaction is the update to Banda's salary. From the successful execution of this update until the ROLLBACK statement ends the transaction, the sal_update transaction is active.

Data changes made by a transaction are temporary until the transaction is committed or rolled back. Before the transaction ends, the state of the data is as follows:

Savepoints

A savepoint is a user-declared intermediate marker within the context of a transaction. Internally, this marker resolves to an SCN. Savepoints divide a long transaction into smaller parts.

If you use savepoints in a long transaction, then you have the option later of rolling back work performed before the current point in the transaction but after a declared savepoint within the transaction. Thus, if you make an error, you do not need to resubmit every statement. Table 10-1 creates savepoint after_banda_sal so that the update to the Greene salary can be rolled back to this savepoint.

Rollback to Savepoint

A rollback to a savepoint in an uncommitted transaction means undoing any changes made after the specified savepoint, but it does not mean a rollback of the transaction itself. When a transaction is rolled back to a savepoint, as when the ROLLBACK TO SAVEPOINT after_banda_sal is run in Table 10-1, the following occurs:

  1. Oracle Database rolls back only the statements run after the savepoint.

    In Table 10-1, the ROLLBACK TO SAVEPOINT causes the UPDATE for Greene to be rolled back, but not the UPDATE for Banda.

  2. Oracle Database preserves the savepoint specified in the ROLLBACK TO SAVEPOINT statement, but all subsequent savepoints are lost.

    In Table 10-1, the ROLLBACK TO SAVEPOINT causes the after_greene_sal savepoint to be lost.

  3. Oracle Database releases all table and row locks acquired after the specified savepoint but retains all data locks acquired previous to the savepoint.

The transaction remains active and can be continued.


See Also:


Enqueued Transactions

Depending on the scenario, transactions waiting for previously locked resources may still be blocked after a rollback to savepoint. When a transaction is blocked by another transaction it enqueues on the blocking transaction itself, so that the entire blocking transaction must commit or roll back for the blocked transaction to continue.

In the scenario shown in Table 10-2, session 1 rolls back to a savepoint created before it executed a DML statement. However, session 2 is still blocked because it is waiting for the session 1 transaction to complete.

Table 10-2 Rollback to Savepoint Example

TimeSession 1Session 2Session 3Explanation

t0

UPDATE employees 
 SET salary = 7000 
 WHERE last_name = 
 'Banda';




Session 1 begins a transaction. The session places an exclusive lock on the Banda row (TX) and a subexclusive table lock (SX) on the table.

t1

SAVEPOINT 
 after_banda_sal;


Session 1 creates a savepoint named after_banda_sal.

t2

UPDATE employees 
 SET salary = 12000 
 WHERE last_name =  
 'Greene';




Session 1 locks the Greene row.

t3



UPDATE employees 
 SET salary = 14000 
 WHERE last_name = 
 'Greene';


Session 2 attempts to update the Greene row, but fails to acquire a lock because session 1 has a lock on this row. No transaction has begun in session 2.

t4

ROLLBACK
 TO SAVEPOINT 
 after_banda_sal;




Session 1 rolls back the update to the salary for Greene, which releases the row lock for Greene. The table lock acquired at t0 is not released.

At this point, session 2 is still blocked by session 1 because session 2 enqueues on the session 1 transaction, which has not yet completed.

t5





UPDATE employees 
 SET salary = 11000 
 WHERE last_name =
 'Greene';

The Greene row is currently unlocked, so session 3 acquires a lock for an update to the Greene row. This statement begins a transaction in session 3.

t6

COMMIT;




Session 1 commits, ending its transaction. Session 2 is now enqueued for its update to the Greene row behind the transaction in session 3.



See Also:

"Lock Duration" to learn more about when Oracle Database releases locks

Rollback of Transactions

A rollback of an uncommitted transaction undoes any changes to data that have been performed by SQL statements within the transaction. After a transaction has been rolled back, the effects of the work done in the transaction no longer exist.

In rolling back an entire transaction, without referencing any savepoints, Oracle Database performs the following actions:

  • Undoes all changes made by all the SQL statements in the transaction by using the corresponding undo segments

    The transaction table entry for every active transaction contains a pointer to all the undo data (in reverse order of application) for the transaction. The database reads the data from the undo segment, reverses the operation, and then marks the undo entry as applied. Thus, if a transaction inserts a row, then a rollback deletes it. If a transaction updates a row, then a rollback reverses the update. If a transaction deletes a row, then a rollback reinserts it. In Table 10-1, the ROLLBACK reverses the updates to the salaries of Greene and Banda.

  • Releases all the locks of data held by the transaction

  • Erases all savepoints in the transaction

    In Table 10-1, the ROLLBACK deletes the savepoint after_banda_sal. The after_greene_sal savepoint was removed by the ROLLBACK TO SAVEPOINT statement.

  • Ends the transaction

    In Table 10-1, the ROLLBACK leaves the database in the same state as it was after the initial COMMIT was executed.

The duration of a rollback is a function of the amount of data modified.


See Also:

"Undo Segments"

Committing Transactions

A commit ends the current transaction and makes permanent all changes performed in the transaction. In Table 10-1, a second transaction begins with sal_update2 and ends with an explicit COMMIT statement. The changes that resulted from the two UPDATE statements are now made permanent.

When a transaction commits, the following actions occur:

  • A system change number (SCN) is generated for the COMMIT.

    The internal transaction table for the associated undo tablespace records that the transaction has committed. The corresponding unique SCN of the transaction is assigned and recorded in the transaction table. See "Serializable Isolation Level".

  • The log writer (LGWR) process writes remaining redo log entries in the redo log buffers to the online redo log and writes the transaction SCN to the online redo log. This atomic event constitutes the commit of the transaction.

  • Oracle Database releases locks held on rows and tables.

    Users who were enqueued waiting on locks held by the uncommitted transaction are allowed to proceed with their work.

  • Oracle Database deletes savepoints.

    In Table 10-1, no savepoints existed in the sal_update transaction so no savepoints were erased.

  • Oracle Database performs a commit cleanout.

    If modified blocks containing data from the committed transaction are still in the SGA, and if no other session is modifying them, then the database removes lock-related transaction information from the blocks. Ideally, the COMMIT cleans out the blocks so that a subsequent SELECT does not have to perform this task.


    Note:

    Because a block cleanout generates redo, a query may generate redo and thus cause blocks to be written during the next checkpoint.

  • Oracle Database marks the transaction complete.

After a transaction commits, users can view the changes.

Typically, a commit is a fast operation, regardless of the transaction size. The speed of a commit does not increase with the size of the data modified in the transaction. The lengthiest part of the commit is the physical disk I/O performed by LGWR. However, the amount of time spent by LGWR is reduced because it has been incrementally writing the contents of the redo log buffer in the background.

The default behavior is for LGWR to write redo to the online redo log synchronously and for transactions to wait for the buffered redo to be on disk before returning a commit to the user. However, for lower transaction commit latency, application developers can specify that redo be written asynchronously so that transactions need not wait for the redo to be on disk and can return from the COMMIT call immediately.


See Also:


Overview of Autonomous Transactions

An autonomous transaction is an independent transaction that can be called from another transaction, called the main transaction. You can suspend the calling transaction, perform SQL operations and commit or undo them in the autonomous transaction, and then resume the calling transaction.

Autonomous transactions are useful for actions that must be performed independently, regardless of whether the calling transaction commits or rolls back. For example, in a stock purchase transaction, you want to commit customer data regardless of whether the overall stock purchase goes through. Additionally, you want to log error messages to a debug table even if the overall transaction rolls back.

Autonomous transactions have the following characteristics:

  • The autonomous transaction does not see uncommitted changes made by the main transaction and does not share locks or resources with the main transaction.

  • Changes in an autonomous transaction are visible to other transactions upon commit of the autonomous transactions. Thus, users can access the updated information without having to wait for the main transaction to commit.

  • Autonomous transactions can start other autonomous transactions. There are no limits, other than resource limits, on how many levels of autonomous transactions can be called.

In PL/SQL, an autonomous transaction executes within an autonomous scope, which is a routine marked with the pragma AUTONOMOUS_TRANSACTION. In this context, routines include top-level anonymous PL/SQL blocks and PL/SQL subprograms and triggers. A pragma is a directive that instructs the compiler to perform a compilation option. The pragma AUTONOMOUS_TRANSACTION instructs the database that this procedure, when executed, is to be executed as a new autonomous transaction that is independent of its parent transaction.

Figure 10-2 shows how control flows from the main routine (MT) to an autonomous routine and back again. The main routine is proc1 and the autonomous routine is proc2. The autonomous routine can commit multiple transactions (AT1 and AT2) before control returns to the main routine.

Figure 10-2 Transaction Control Flow

Description of Figure 10-2 follows
Description of "Figure 10-2 Transaction Control Flow"

When you enter the executable section of an autonomous routine, the main routine suspends. When you exit the autonomous routine, the main routine resumes.

In Figure 10-2, the COMMIT inside proc1 makes permanent not only its own work but any outstanding work performed in its session. However, a COMMIT in proc2 makes permanent only the work performed in the proc2 transaction. Thus, the COMMIT statements in transactions AT1 and AT2 have no effect on the MT transaction.

Overview of Distributed Transactions

A distributed database is a set of databases in a distributed system that can appear to applications as a single data source. A distributed transaction is a transaction that includes one or more statements that update data on two or more distinct nodes of a distributed database, using a schema object called a database link. A database link describes how one database instance can log in to another database instance.

Unlike a transaction on a local database, a distributed transaction alters data on multiple databases. Consequently, distributed transaction processing is more complicated because the database must coordinate the committing or rolling back of the changes in a transaction as an atomic unit. The entire transaction must commit or roll back. Oracle Database must coordinate transaction control over a network and maintain data consistency, even if a network or system failure occurs.

Two-Phase Commit

The two-phase commit mechanism guarantees that all databases participating in a distributed transaction either all commit or all undo the statements in the transaction. The mechanism also protects implicit DML performed by integrity constraints, remote procedure calls, and triggers.

In a two-phase commit among multiple databases, one database coordinates the distributed transaction. The initiating node is called the global coordinator. The coordinator asks the other databases if they are prepared to commit. If any database responds with a no, then the entire transaction is rolled back. If all databases vote yes, then the coordinator broadcasts a message to make the commit permanent on each of the databases.

The two-phase commit mechanism is transparent to users who issue distributed transactions. In fact, users need not even know the transaction is distributed. A COMMIT statement denoting the end of a transaction automatically triggers the two-phase commit mechanism. No coding or complex statement syntax is required to include distributed transactions within the body of a database application.


See Also:

Oracle Database Administrator's Guide to learn about the two-phase commit mechanism

In-Doubt Transactions

An in-doubt distributed transaction occurs when a two-phase commit was interrupted by any type of system or network failure. For example, two databases report to the coordinating database that they were prepared to commit, but the coordinating database instance fails immediately after receiving the messages. The two databases who are prepared to commit are now left hanging while they await notification of the outcome.

The recoverer (RECO) background process automatically resolves the outcome of in-doubt distributed transactions. After the failure is repaired and communication is reestablished, the RECO process of each local Oracle database automatically commits or rolls back any in-doubt distributed transactions consistently on all involved nodes.

In the event of a long-term failure, Oracle Database enables each local administrator to manually commit or undo any distributed transactions that are in doubt because of the failure. This option enables the local database administrator to free any locked resources that are held indefinitely because of the long-term failure.

If a database must be recovered to a past time, then database recovery facilities enable database administrators at other sites to return their databases to the earlier point in time. This operation ensures that the global database remains consistent.


See Also:


PK,ݩPKM%AOEBPS/datadict.htmXo Data Dictionary and Dynamic Performance Views

6 Data Dictionary and Dynamic Performance Views

This chapter describes the central set of read-only reference tables and views of each Oracle database, known collectively as the data dictionary. The chapter also describes the dynamic performance views, which are special views that are continuously updated while a database is open and in use.

This chapter contains the following sections:

Overview of the Data Dictionary

An important part of an Oracle database is its data dictionary, which is a read-only set of tables that provides administrative metadata about the database. A data dictionary contains information such as the following:

  • The definitions of every schema object in the database, including default values for columns and integrity constraint information

  • The amount of space allocated for and currently used by the schema objects

  • The names of Oracle Database users, privileges and roles granted to users, and auditing information related to users (see "User Accounts")

The data dictionary is a central part of data management for every Oracle database. For example, the database performs the following actions:

  • Accesses the data dictionary to find information about users, schema objects, and storage structures

  • Modifies the data dictionary every time that a DDL statement is issued (see "Data Definition Language (DDL) Statements")

Because Oracle Database stores data dictionary data in tables, just like other data, users can query the data with SQL. For example, users can run SELECT statements to determine their privileges, which tables exist in their schema, which columns are in these tables, whether indexes are built on these columns, and so on.

Contents of the Data Dictionary

The data dictionary consists of the following types of objects:

  • Base tables

    These underlying tables store information about the database. Only Oracle Database should write to and read these tables. Users rarely access the base tables directly because they are normalized and most data is stored in a cryptic format.

  • Views

    These views decode the base table data into useful information, such as user or table names, using joins and WHERE clauses to simplify the information. These views contain the names and description of all objects in the data dictionary. Some views are accessible to all database users, whereas others are intended for administrators only.

Typically, data dictionary views are grouped in sets. In many cases, a set consists of three views containing similar information and distinguished from each other by their prefixes, as shown in Table 6-1. By querying the appropriate views, you can access only the information relevant for you.

Table 6-1 Data Dictionary View Sets

PrefixUser AccessContentsNotes

DBA_

Database administrators

All objects

Some DBA_ views have additional columns containing information useful to the administrator.

ALL_

All users

Objects to which user has privileges

Includes objects owned by user. These views obey the current set of enabled roles.

USER_

All users

Objects owned by user

Views with the prefix USER_ usually exclude the column OWNER. This column is implied in the USER_ views to be the user issuing the query.


Not all views sets have three members. For example, the data dictionary contains a DBA_LOCK view but no ALL_LOCK view.

The system-supplied DICTIONARY view contains the names and abbreviated descriptions of all data dictionary views. The following query of this view includes partial sample output:

SQL> SELECT * FROM DICTIONARY
  2  ORDER BY TABLE_NAME;

TABLE_NAME                     COMMENTS
------------------------------ ----------------------------------------
ALL_ALL_TABLES                 Description of all object and relational
                               tables accessible to the user
 
ALL_APPLY                      Details about each apply process that
                               dequeues from the queue visible to the
                               current user
.
.
.

See Also:


Views with the Prefix DBA_

Views with the prefix DBA_ show all relevant information in the entire database. DBA_ views are intended only for administrators.

For example, the following query shows information about all objects in the database:

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE
FROM   DBA_OBJECTS
ORDER BY OWNER, OBJECT_NAME;

See Also:

Oracle Database Administrator's Guide for detailed information on administrative privileges

Views with the Prefix ALL_

Views with the prefix ALL_ refer to the user's overall perspective of the database. These views return information about schema objects to which the user has access through public or explicit grants of privileges and roles, in addition to schema objects that the user owns.

For example, the following query returns information about all the objects to which you have access:

SELECT OWNER, OBJECT_NAME, OBJECT_TYPE 
FROM   ALL_OBJECTS
ORDER BY OWNER, OBJECT_NAME; 

Because the ALL_ views obey the current set of enabled roles, query results depend on which roles are enabled, as shown in the following example:

SQL> SET ROLE ALL;
 
Role set.
 
SQL> SELECT COUNT(*) FROM ALL_OBJECTS;
 
COUNT(*)
----------
68295
 
SQL> SET ROLE NONE;
 
Role set.
 
SQL> SELECT COUNT(*) FROM ALL_OBJECTS;
 
COUNT(*)
----------
53771

Application developers should be cognizant of the effect of roles when using ALL_ views in a stored procedure, where roles are not enabled by default.

Views with the Prefix USER_

The views most likely to be of interest to typical database users are those with the prefix USER_. These views:

  • Refer to the user's private environment in the database, including metadata about schema objects created by the user, grants made by the user, and so on

  • Display only rows pertinent to the user, returning a subset of the information in the ALL_ views

  • Has columns identical to the other views, except that the column OWNER is implied

  • Can have abbreviated PUBLIC synonyms for convenience

For example, the following query returns all the objects contained in your schema:

SELECT OBJECT_NAME, OBJECT_TYPE 
FROM   USER_OBJECTS
ORDER BY OBJECT_NAME;

The DUAL Table

DUAL is a small table in the data dictionary that Oracle Database and user-written programs can reference to guarantee a known result. The dual table is useful when a value must be returned only once, for example, the current date and time. All database users have access to DUAL.

The DUAL table has one column called DUMMY and one row containing the value X. The following example queries DUAL to perform an arithmetical operation:

SQL> SELECT ((3*4)+5)/3 FROM DUAL;
 
((3*4)+5)/3
-----------
 5.66666667

See Also:

Oracle Database SQL Language Reference for more information about the DUAL table

Storage of the Data Dictionary

The data dictionary base tables are the first objects created in any Oracle database. All data dictionary tables and views for a database are stored in the SYSTEM tablespace. Because the SYSTEM tablespace is always online when the database is open, the data dictionary is always available when the database is open.


See Also:

"The SYSTEM Tablespace" for more information about the SYSTEM tablespace

How Oracle Database Uses the Data Dictionary

The Oracle Database user SYS owns all base tables and user-accessible views of the data dictionary. Data in the base tables of the data dictionary is necessary for Oracle Database to function. Therefore, only Oracle Database should write or change data dictionary information. No Oracle Database user should ever alter rows or schema objects contained in the SYS schema because such activity can compromise data integrity. The security administrator must keep strict control of this central account.


Caution:

Altering or manipulating the data in data dictionary tables can permanently and detrimentally affect database operation.


During database operation, Oracle Database reads the data dictionary to ascertain that schema objects exist and that users have proper access to them. Oracle Database also updates the data dictionary continuously to reflect changes in database structures, auditing, grants, and data.

For example, if user hr creates a table named interns, then new rows are added to the data dictionary that reflect the new table, columns, segment, extents, and the privileges that hr has on the table. This new information is visible the next time the dictionary views are queried.

Public Synonyms for Data Dictionary Views

Oracle Database creates public synonyms for many data dictionary views so users can access them conveniently. The security administrator can also create additional public synonyms for schema objects that are used systemwide. Users should avoid naming their own schema objects with the same names as those used for public synonyms.

Cache the Data Dictionary for Fast Access

Much of the data dictionary information is in the data dictionary cache because the database constantly requires the information to validate user access and verify the state of schema objects. Parsing information is typically kept in the caches. The COMMENTS columns describing the tables and their columns are not cached in the dictionary cache, but may be cached in the database buffer cache.

Other Programs and the Data Dictionary

Other Oracle Database products can reference existing views and create additional data dictionary tables or views of their own. Application developers who write programs that refer to the data dictionary should refer to the public synonyms rather than the underlying tables. Synonyms are less likely to change between releases.

Overview of the Dynamic Performance Views

Throughout its operation, Oracle Database maintains a set of virtual tables that record current database activity. These views are called dynamic performance views because they are continuously updated while a database is open and in use. The views, also sometimes called V$ views, contain information such as the following:

  • System and session parameters

  • Memory usage and allocation

  • File states (including RMAN backup files)

  • Progress of jobs and tasks

  • SQL execution

  • Statistics and metrics

The dynamic performance views have the following primary uses:


See Also:

Oracle Database Reference for a complete list of the dynamic performance views

Contents of the Dynamic Performance Views

Dynamic performance views are sometimes called fixed views because they cannot be altered or removed by a database administrator. However, database administrators can query and create views on the tables and grant access to these views to other users.

SYS owns the dynamic performance tables, whose names begin with V_$. Views are created on these tables, and then public synonyms prefixed with V$. For example, the V$DATAFILE view contains information about data files. The V$FIXED_TABLE view contains information about all of the dynamic performance tables and views.

For almost every V$ view, a corresponding GV$ view exists. In Oracle Real Application Clusters (Oracle RAC), querying a GV$ view retrieves the V$ view information from all qualified database instances (see "Database Server Grid").

When you use the Database Configuration Assistant (DBCA) to create a database, Oracle automatically creates the data dictionary. Oracle Database automatically runs the catalog.sql script, which contains definitions of the views and public synonyms for the dynamic performance views. You must run catalog.sql to create these views and synonyms.


See Also:


Storage of the Dynamic Performance Views

Dynamic performance views are based on virtual tables built from database memory structures. Thus, they are not conventional tables stored in the database. Read consistency is not guaranteed for the views because the data is updated dynamically.

Because the dynamic performance views are not true tables, the data is dependent on the state of the database and instance. For example, you can query V$INSTANCE and V$BGPROCESS when the database is started but not mounted. However, you cannot query V$DATAFILE until the database has been mounted.

Database Object Metadata

The DBMS_METADATA package provides interfaces for extracting complete definitions of database objects. The definitions can be expressed either as XML or as SQL DDL. Two styles of interface are provided: a flexible, sophisticated interface for programmatic control, and a simplified interface for ad hoc querying.


See Also:

Oracle Database PL/SQL Packages and Types Reference for more information about DBMS_METADATA

PKd˷]oXoPK M%Aoa,mimetypePKM%AϋGB:iTunesMetadata.plistPKM%AYuMETA-INF/container.xmlPKM%ASOEBPS/cmntopc.htmPKM%Au FOEBPS/cncptdev.htmPKM%A0 [GOEBPS/indexiot.htmPKM%A[pTO7%OEBPS/cover.htmPKM%A\\'OEBPS/sqllangu.htmPKM%A"e|΄OEBPS/part_dbarch.htmPKM%A-50OEBPS/title.htmPKM%A mOEBPS/intro.htmPKM%AH<;OEBPS/schemaob.htmPKM%AƔccOEBPS/glossary.htmPKM%Ax^SS OEBPS/srvrside.htmPKM%AGSNt OEBPS/part_inarch.htmPKM%A!SvS| OEBPS/startup.htmPKM%A%JO OEBPS/preface.htmPKM%A(<4lXSXU OEBPS/index.htmPKM%A`44AOEBPS/img/cncpt305.gifPKM%A`x'2wOEBPS/img/cncpt121.gifPKM%A:ȫ+'&'OEBPS/img/cncpt240.gifPKM%AN<< OEBPS/img/cncpt319.gifPKM%Ah^^h[OEBPS/img/cncpt239.gifPKM%A55AOEBPS/img/cncpt025.gifPKM%AqO--OEBPS/img/cncpt282.gifPKM%Ac'lPbO]OzOEBPS/img/cncpt296.gifPKM%A0P<#HH mOEBPS/img/cncpt236.gifPKM%AgZ"M1H1OEBPS/img/cncpt043.gifPKM%AU)""OEBPS/img/sagug004.gifPKM%AU U OEBPS/img/cncpt231.gifPKM%Api8%i ir_OEBPS/img/cncpt252.gifPKM%AKc&&OEBPS/img/cncpt277.gifPKM%AI_*YY OEBPS/img/cncpt247.gifPKM%APGGNJOEBPS/img/cncpt059.gifPKM%AeJ@*OEBPS/img/cncpt023.gifPKM%AUN OEBPS/img/cncpt200.gifPKM%AUk ++OEBPS/img/cncpt017.gifPKM%A0";;KOEBPS/img/admin054.gifPKM%A\-'('OEBPS/img/admin062.gifPKM%AH&C&mOEBPS/img/cncpt276.gifPKM%Aɨ_D&&OEBPS/img/cncpt281.gifPKM%A6zQR6M6OEBPS/img/cncpt314.gifPKM%Aq<)00a2OEBPS/img/cncpt226.gifPKM%A2ʹ##scOEBPS/img/cncpt220.gifPKM%Ag#_ZkOEBPS/img/cncpt242.gifPKM%Ay-'('OEBPS/img/cncpt254.gifPKM%AE:255OEBPS/img/cncpt328.gifPKM%ABHOEBPS/img/cncpt310.gifPKM%A+L&LV"OEBPS/img/cncpt272.gifPKM%A-nOEBPS/img/cncpt302.gifPKM%AA33OEBPS/img/admin078.gifPKM%Aio<-($OEBPS/img/cncpt275.gifPKM%A:66@OEBPS/img/cncpt253.gifPKM%AFJJivOEBPS/img/cncpt067.gifPKM%A{(4#46OEBPS/img/cncpt082.gifPKM%AֽOEBPS/img/ccapp017.gifPKM%A~|,,OEBPS/img/cncpt256.gifPKM%A >OEBPS/img/cncpt211.gifPKM%AK9a++nXOEBPS/img/cncpt228.gifPKM%A+/* oOEBPS/img/cncpt284.gifPKM%AismnmNOEBPS/img/cncpt251.gifPKM%A%rJ/E/~OEBPS/img/cncpt219.gifPKM%AExQsQ OEBPS/img/cncpt261.gifPKM%A61=OEBPS/img/cncpt313.gifPKM%AzzBTOEBPS/img/cncpt196.gifPKM%A< >c9c[OEBPS/img/cncpt172.gifPKM%A%@#;#2OEBPS/img/cncpt223.gifPKM%AChRcRaVOEBPS/img/cncpt027.gifPKM%AdxBHH OEBPS/img/cncpt312.gifPKM%A%$RRpOEBPS/img/cncpt288.gifPKM%A3:֖s5n5DOEBPS/img/cncpt327.gifPKM%A{8 3 fzOEBPS/img/cncpt058.gifPKM%AIYdOEBPS/img/cncpt083.gifPKM%AӦəPPOEBPS/img/cncpt295.gifPKM%A3OEBPS/img/cncpt301.gifPKM%Aw8##EOEBPS/img/cncpt212.gifPKM%AÖOO\)OEBPS/img/cncpt171.gifPKM%AxRc"?:xOEBPS/img/cncpt324.gifPKM%A5Ê$$@OEBPS/img/cncpt246.gifPKM%ADEEOEBPS/img/cncpt292.gifPKM%A;dl_lWOEBPS/img/cncpt037.gifPKM%AAy[VhOEBPS/img/cncpt317.gifPKM%A|OEBPS/img/cncpt273.gifPKM%A jOEBPS/img/cncpt233.gifPKM%A"B79QLkrOEBPS/img/cncpt206.gifPKM%AEɻ6`1`OEBPS/img/cncpt303.gifPKM%AšNE@zOEBPS/img/admin077.gifPKM%AhcOEBPS/img/cncpt028.gifPKM%A3;363OEBPS/img/cncpt306.gifPKM%A yL;G;.ROEBPS/img/cncpt271.gifPKM%A,"LLOEBPS/img/cncpt270.gifPKM%A DD$OEBPS/img/cncpt070.gifPKM%AK2/-/! OEBPS/img/cncpt245.gifPKM%AQ~11N OEBPS/img/cncpt311.gifPKM%AU== OEBPS/img/cncpt073.gifPKM%A)K !! OEBPS/img/cncpt227.gifPKM%ANឰ O OEBPS/img/cncpt222.gifPKM%AgW88 OEBPS/img/cncpt331.gifPKM%A_y_t_"!OEBPS/img/cncpt075.gifPKM%Aޢ,##V!OEBPS/img/cncpt029.gifPKM%A  ++!OEBPS/img/cncpt320.gifPKM%A4 wF'"!OEBPS/img/cncpt267.gifPKM%A]~̫..G!OEBPS/img/cncpt332.gifPKM%A=N(I(6"OEBPS/img/cncpt230.gifPKM%Au+txxA"OEBPS/img/cncpt308.gifPKM%A*(t "OEBPS/img/cncpt249.gifPKM%A󚘟H"OEBPS/img/cncpt283.gifPKM%A!&gBbB$i#OEBPS/img/cncpt076.gifPKM%A@6ϫ#OEBPS/img/cncpt309.gifPKM%As~~S+$OEBPS/img/haovw004.gifPKM%Ab޻NN}$OEBPS/img/cncpt299.gifPKM%AZ)UAAp$OEBPS/img/cncpt238.gifPKM%A%6$SS;%OEBPS/img/cncpt294.gifPKM%A]|ni%OEBPS/img/cncpt221.gifPKM%A4f/fU%OEBPS/img/cncpt265.gifPKM%AA4\R &OEBPS/img/cncpt298.gifPKM%A4_GZGm&OEBPS/img/cncpt045.gifPKM%A &OEBPS/img/cncpt297.gifPKM%AصBB'OEBPS/img/cncpt069.gifPKM%AweQQ (OEBPS/img/cncpt237.gifPKM%Af::\(OEBPS/img/cncpt330.gifPKM%A?2JL(OEBPS/img/cncpt056.gifPKM%AIh^K#)OEBPS/img/cncpt300.gifPKM%Au?:)OEBPS/img/cncpt293.gifPKM%AVpv2KVFVz)OEBPS/img/cncpt266.gifPKM%A"33 0*OEBPS/img/cncpt287.gifPKM%A>Pz<u<c*OEBPS/img/cncpt225.gifPKM%A$jAeA*OEBPS/img/cncpt260.gifPKM%Auj))L*OEBPS/img/cncpt329.gifPKM%ACd܈::N +OEBPS/img/cncpt326.gifPKM%Aݟ##CG+OEBPS/img/cncpt278.gifPKM%AS+1,&k+OEBPS/img/cncpt210.gifPKM%A*vv]%%+OEBPS/img/cncpt001.gifPKM%AmS-)@$@+OEBPS/img/cncpt315.gifPKM%Ay3k//+OEBPS/img/cncpt250.gifPKM%AUWii ,OEBPS/img/cncpt199.gifPKM%A3?>;,OEBPS/img/cncpt307.gifPKM%A<,OEBPS/img/cncpt274.gifPKM%AWfnt,OEBPS/img/cncpt016.gifPKM%A޹ކff,OEBPS/img/cncpt325.gifPKM%Awv_-OEBPS/img/cncpt217.gifPKM%AtJJ-OEBPS/img/cncpt244.gifPKM%A"ZP).OEBPS/img/cncpt290.gifPKM%A<"KoBY=YV.OEBPS/img/cncpt057.gifPKM%A@d |'w'/OEBPS/img/cncpt333.gifPKM%Az=o5j5?/OEBPS/img/cncpt279.gifPKM%A+L&LOu/OEBPS/img/cncpt170.gifPKM%Aݾ33/OEBPS/img/cncpt316.gifPKM%AƣcP^P/OEBPS/img/cncpt318.gifPKM%AͲGFBFgF0OEBPS/img/cncpt243.gifPKM%AlyRR0OEBPS/img/cncpt304.gifPKM%Aƕ/0OEBPS/img/cncpt268.gifPKM%A22"0OEBPS/img/cncpt218.gifPKM%A|_p$++5$1OEBPS/img/cncpt334.gifPKM%AtNDO1OEBPS/img/homepage_small.gifPKM%Aߤ[V51OEBPS/img_text/cncpt017.htmPKM%A+4b" 1OEBPS/img_text/cncpt297.htmPKM%AZU-1OEBPS/img_text/cncpt275.htmPKM%A}Be`1OEBPS/img_text/cncpt210.htmPKM%A! $~1OEBPS/img_text/cncpt228.htmPKM%AvFGB1OEBPS/img_text/cncpt236.htmPKM%AF  {1OEBPS/img_text/haovw004.htmPKM%Au%?1OEBPS/img_text/cncpt254.htmPKM%AN氶FA61OEBPS/img_text/cncpt253.htmPKM%A]1OEBPS/img_text/cncpt239.htmPKM%A5.1,1OEBPS/img_text/cncpt172.htmPKM%A/@;z2OEBPS/img_text/cncpt282.htmPKM%Ap%'TO2OEBPS/img_text/cncpt075.htmPKM%Ak 2OEBPS/img_text/cncpt238.htmPKM%AM˩!y 2OEBPS/img_text/cncpt226.htmPKM%A&~y 2OEBPS/img_text/cncpt206.htmPKM%AHɳmh2OEBPS/img_text/cncpt279.htmPKM%A7> id`2OEBPS/img_text/cncpt274.htmPKM%AǠ2OEBPS/img_text/cncpt301.htmPKM%AuL2OEBPS/img_text/cncpt067.htmPKM%AaIxs2OEBPS/img_text/cncpt196.htmPKM%Aτni2OEBPS/img_text/cncpt290.htmPKM%A9Cp %2OEBPS/img_text/cncpt256.htmPKM%As\(2OEBPS/img_text/cncpt212.htmPKM%AҀ{J,2OEBPS/img_text/cncpt237.htmPKM%AӍwr/2OEBPS/img_text/cncpt250.htmPKM%AjY]b]22OEBPS/img_text/cncpt261.htmPKM%AD861~72OEBPS/img_text/admin078.htmPKM%Arv@D?:2OEBPS/img_text/cncpt200.htmPKM%A̙q=2OEBPS/img_text/cncpt260.htmPKM%A3A2OEBPS/img_text/cncpt332.htmPKM%AoD2OEBPS/img_text/cncpt307.htmPKM%A FG2OEBPS/img_text/cncpt029.htmPKM%Am7rJ2OEBPS/img_text/cncpt252.htmPKM%AVN2OEBPS/img_text/cncpt069.htmPKM%AQT S2OEBPS/img_text/cncpt059.htmPKM%AUW2OEBPS/img_text/cncpt312.htmPKM%AH)#aZ2OEBPS/img_text/cncpt296.htmPKM%A7SKF]2OEBPS/img_text/cncpt037.htmPKM%A#`aa2OEBPS/img_text/cncpt227.htmPKM%AjF Se2OEBPS/img_text/cncpt246.htmPKM%A*2OEBPS/img_text/cncpt027.htmPKM%Ak2T2OEBPS/img_text/cncpt251.htmPKM%Avq_2OEBPS/img_text/cncpt298.htmPKM%Amid2OEBPS/img_text/cncpt223.htmPKM%A(Dw Д2OEBPS/img_text/cncpt271.htmPKM%AT"_Z*2OEBPS/img_text/cncpt082.htmPKM%A?Ҝ2OEBPS/img_text/cncpt233.htmPKM%ASΠ2OEBPS/img_text/cncpt315.htmPKM%Ap*%!ڣ2OEBPS/img_text/homepage_small.htmPKM%A>S2OEBPS/img_text/cncpt249.htmPKM%A"p.{2OEBPS/img_text/cncpt265.htmPKM%A,Ody2OEBPS/img_text/cncpt277.htmPKM%AIS:2OEBPS/img_text/cncpt314.htmPKM%AJk2OEBPS/img_text/cncpt221.htmPKM%A0ɸ2OEBPS/img_text/cncpt240.htmPKM%ADҡ2OEBPS/img_text/cncpt230.htmPKM%A$2OEBPS/img_text/cncpt292.htmPKM%A&*2OEBPS/img_text/cncpt171.htmPKM%AvR2OEBPS/img_text/cncpt327.htmPKM%AvP2OEBPS/img_text/cncpt326.htmPKM%AX]_a3.p2OEBPS/img_text/cncpt001.htmPKM%AnA'"2OEBPS/img_text/cncpt057.htmPKM%A(\2OEBPS/img_text/cncpt309.htmPKM%Aind_2OEBPS/img_text/admin077.htmPKM%Aw!E2OEBPS/img_text/admin054.htmPKM%AE[]#2OEBPS/img_text/cncpt045.htmPKM%AEՓ2OEBPS/img_text/ccapp017.htmPKM%Aˍ6WR2OEBPS/img_text/cncpt023.htmPKM%Az'"2OEBPS/img_text/cncpt083.htmPKM%A 嬐2OEBPS/img_text/cncpt316.htmPKM%A)bLPK2OEBPS/img_text/cncpt025.htmPKM%Ac{vy2OEBPS/img_text/cncpt324.htmPKM%A9E=2OEBPS/img_text/cncpt287.htmPKM%Aov3OEBPS/img_text/cncpt266.htmPKM%A W943OEBPS/img_text/cncpt300.htmPKM%AvZU# 3OEBPS/img_text/cncpt056.htmPKM%A.WR3OEBPS/img_text/cncpt313.htmPKM%Af3OEBPS/img_text/cncpt295.htmPKM%Agr&}x3OEBPS/img_text/cncpt305.htmPKM%A2f3OEBPS/img_text/cncpt267.htmPKM%A<_)z3OEBPS/img_text/cncpt284.htmPKM%A6r!3OEBPS/img_text/cncpt273.htmPKM%A.. $3OEBPS/img_text/cncpt219.htmPKM%Az'3OEBPS/img_text/cncpt217.htmPKM%Aݳ72+3OEBPS/img_text/admin062.htmPKM%A2%/3OEBPS/img_text/cncpt303.htmPKM%A~TUP13OEBPS/img_text/cncpt293.htmPKM%A5I43OEBPS/img_text/cncpt331.htmPKM%AC|2HC83OEBPS/img_text/cncpt222.htmPKM%AXWxs!;3OEBPS/img_text/cncpt294.htmPKM%Agd;6A3OEBPS/img_text/sagug004.htmPKM%AfE3OEBPS/img_text/cncpt278.htmPKM%ASNI3OEBPS/img_text/cncpt231.htmPKM%A#%M3OEBPS/img_text/cncpt330.htmPKM%ACemP3OEBPS/img_text/cncpt318.htmPKM%A~yUT3OEBPS/img_text/cncpt311.htmPKM%A ojX3OEBPS/img_text/cncpt220.htmPKM%AirZ3OEBPS/img_text/cncpt329.htmPKM%A94]3OEBPS/img_text/cncpt076.htmPKM%AZ_^a3OEBPS/img_text/cncpt276.htmPKM%ANd3OEBPS/img_text/cncpt317.htmPKM%A>ع=g3OEBPS/img_text/cncpt070.htmPKM%A)$k3OEBPS/img_text/cncpt283.htmPKM%A[H-(n3OEBPS/img_text/cncpt333.htmPKM%A`B=mr3OEBPS/img_text/cncpt243.htmPKM%AuNIu3OEBPS/img_text/cncpt310.htmPKM%An c^y3OEBPS/img_text/cncpt308.htmPKM%AI!;~3OEBPS/img_text/cncpt319.htmPKM%AZ3OEBPS/img_text/cncpt272.htmPKM%Ae,Z>O5OEBPS/memory.htmPKM%AR 6OEBPS/toc.ncxPKM%AX.Egg6OEBPS/cncptdba.htmPKM%A#HC=8OEBPS/part_txn.htmPKM%A+t ;D8OEBPS/physical.htmPKM%A m#9OEBPS/logical.htmPKM%AlЬƬ|:OEBPS/content.opfPKM%A%xs;OEBPS/part_admdev.htmPKM%A "F;OEBPS/process.htmPKM%A_ gw<OEBPS/dcommon/prodbig.gifPKM%AY@ }<OEBPS/dcommon/doclib.gifPKM%AJ]dl_l<OEBPS/dcommon/oracle-logo.jpgPKM%A<OEBPS/dcommon/contbig.gifPKM%A<OEBPS/dcommon/darbbook.cssPKM%AMά""!<OEBPS/dcommon/O_signature_clr.JPGPKM%APz #=OEBPS/dcommon/feedbck2.gifPKM%A-{=OEBPS/dcommon/feedback.gifPKM%Aː5=OEBPS/dcommon/booklist.gifPKM%AN61=OEBPS/dcommon/cpyr.htmPKM%A!:3.m1=OEBPS/dcommon/masterix.gifPKM%AeӺ1,2=OEBPS/dcommon/doccd.cssPKM%A7 ^5=OEBPS/dcommon/larrow.gifPKM%A#7=OEBPS/dcommon/indxicon.gifPKM%AS'"9=OEBPS/dcommon/leftnav.gifPKM%Ahu,^;=OEBPS/dcommon/uarrow.gifPKM%Al-OJy>=OEBPS/dcommon/oracle.gifPKM%A(G=OEBPS/dcommon/index.gifPKM%AGC TH=OEBPS/dcommon/bookbig.gifPKM%AJV^tR=OEBPS/dcommon/rarrow.gifPKM%A枰pkT=OEBPS/dcommon/mix.gifPKM%Ao"nR M BW=OEBPS/dcommon/doccd_epub.jsPKM%Av I a=OEBPS/dcommon/toc.gifPKM%A r~$*c=OEBPS/dcommon/topnav.gifPKM%A1FAd=OEBPS/dcommon/prodicon.gifPKM%A3( # "h=OEBPS/dcommon/bp_layout.cssPKM%Ax[?:u=OEBPS/dcommon/bookicon.gifPKM%Ap*c^{=OEBPS/dcommon/conticon.gifPKM%Aʍ~=OEBPS/dcommon/blafdoc.cssPKM%A+&ĕ=OEBPS/dcommon/rightnav.gifPKM%Aje887=OEBPS/dcommon/oracle-small.JPGPKM%Aއ{&!x=OEBPS/dcommon/help.gifPKM%AV|rCw>w =OEBPS/toc.htmPKM%Ay`I>OEBPS/tablecls.htmPKM%A6>S?6@OEBPS/consist.htmPKM%A,ݩBOEBPS/transact.htmPKM%Ad˷]oXoBOEBPS/datadict.htmPKVVS]N^C