Skip to Content.
Sympa Menu

notify-dpml - svn commit: r2265 - in development/planet/users/niclas/installer: . art

notify-dpml AT lists.ibiblio.org

Subject: DPML Notify

List archive

Chronological Thread  
  • From: niclas AT hedhman.org
  • To: notify-dpml AT lists.ibiblio.org
  • Subject: svn commit: r2265 - in development/planet/users/niclas/installer: . art
  • Date: Mon, 11 Apr 2005 18:05:04 -0400

Author: niclas AT hedhman.org
Date: Mon Apr 11 18:05:01 2005
New Revision: 2265

Added:
development/planet/users/niclas/installer/
development/planet/users/niclas/installer/art/
development/planet/users/niclas/installer/art/globe.png (contents, props
changed)
development/planet/users/niclas/installer/art/globe.xcf (contents, props
changed)
development/planet/users/niclas/installer/dpml-installer.kmdr
development/planet/users/niclas/installer/install.sh (contents, props
changed)
Log:
Installer for KDE, using Kommander.

Added: development/planet/users/niclas/installer/art/globe.png
==============================================================================
Binary file. No diff available.

Added: development/planet/users/niclas/installer/art/globe.xcf
==============================================================================
Binary file. No diff available.

Added: development/planet/users/niclas/installer/dpml-installer.kmdr
==============================================================================
--- (empty file)
+++ development/planet/users/niclas/installer/dpml-installer.kmdr Mon
Apr 11 18:05:01 2005
@@ -0,0 +1,1424 @@
+<!DOCTYPE UI><UI version="3.0" stdsetdef="1">
+<class>InstallerMain</class>
+<widget class="Dialog">
+ <property name="name">
+ <cstring>InstallerMain</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>756</width>
+ <height>459</height>
+ </rect>
+ </property>
+ <property name="caption">
+ <string>DPML Installer</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string>@Array.fromString(Revisions, @File.read(kommander.dpml))
+@setGlobal( METRO_LATEST_PRODUCT, @Array.value(Revisions,
METRO_LATEST_PRODUCT) )
+@setGlobal( MAGIC_LATEST_PRODUCT, @Array.value(Revisions,
MAGIC_LATEST_PRODUCT) )
+@setGlobal( TRANSIT_LATEST_PRODUCT, @Array.value(Revisions,
TRANSIT_LATEST_PRODUCT) )
+@setGlobal( METRO_LATEST_MILESTONE, @Array.value(Revisions,
METRO_LATEST_MILESTONE) )
+@setGlobal( MAGIC_LATEST_MILESTONE, @Array.value(Revisions,
MAGIC_LATEST_MILESTONE) )
+@setGlobal( TRANSIT_LATEST_MILESTONE, @Array.value(Revisions,
TRANSIT_LATEST_MILESTONE) )
+
+@if( @env( USER ) == 'root' )
+ @RadioButtonMultiUser.setEnabled( true ) )
+@endif
+
+@setGlobal(Page, 1)
+@ButtonGroupLicense.setVisible(true)
+@GroupBoxDirectories.setVisible(false)
+@GroupBoxOptions.setVisible(false)
+@GroupBoxSummary.setVisible(false)
+@ExecButtonFinish.setEnabled(false)
+@ExecButtonNext.setEnabled(false)
+@ExecButtonBack.setEnabled(false)
+@FileSelectorDPMLHOME.setText( @env(HOME)/.dpml )
+@FileSelectorDPMLSYSTEM.setText( @env(HOME)/.dpml/share )
+
+@CheckBoxInstallTransit.setText( Trensit - Resource Management System [
@global( TRANSIT_LATEST_PRODUCT ) ] )
+
+@CheckBoxInstallMagic.setText( Magic - Development Build System [ @global(
MAGIC_LATEST_PRODUCT ) ] )
+
+@CheckBoxInstallMetro.setText( Metro - Runtime Platform [ @global(
METRO_LATEST_PRODUCT ) ] )
+</string>
+ <string></string>
+ </stringlist>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>4</number>
+ </property>
+ <property name="spacing">
+ <number>0</number>
+ </property>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBoxMain</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>200</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>800</width>
+ <height>500</height>
+ </size>
+ </property>
+ <property name="frameShadow">
+ <enum>Plain</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <widget class="PixmapLabel">
+ <property name="name">
+ <cstring>PixmapDPML</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>150</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>150</width>
+ <height>400</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>NoFrame</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>Sunken</enum>
+ </property>
+ <property name="lineWidth">
+ <number>1</number>
+ </property>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <property name="midLineWidth">
+ <number>0</number>
+ </property>
+ <property name="pixmap">
+ <pixmap>image0</pixmap>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <property name="indent">
+ <number>0</number>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBoxDirectories</cstring>
+ </property>
+ <property name="title">
+ <string>Directories</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBox8_2_3</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string> Choose DPML Home Directory </string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="FileSelector">
+ <property name="name">
+
<cstring>FileSelectorDPMLHOME</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1300</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>$HOME/.dpml</string>
+ </stringlist>
+ </property>
+ <property name="selectionType">
+ <enum>Directory</enum>
+ </property>
+ <property name="selectionCaption">
+ <string>Select DPML Home
Directory</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBox8_2_2_2</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string> Choose DPML System Directory
</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="FileSelector">
+ <property name="name">
+
<cstring>FileSelectorDPMLSYSTEM</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1300</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="acceptDrops">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>default</string>
+ </stringlist>
+ </property>
+ <property name="selectionType">
+ <enum>Directory</enum>
+ </property>
+ <property name="selectionCaption">
+ <string>Select DPML System
directory</string>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="ButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroup4_2</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string>Installation Type</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string></string>
+ </stringlist>
+ </property>
+ <widget class="RadioButton">
+ <property name="name">
+ <cstring>RadioButtonSingleUser</cstring>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>11</x>
+ <y>22</y>
+ <width>216</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Single-User Installation</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="RadioButton">
+ <property name="name">
+ <cstring>RadioButtonMultiUser</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="geometry">
+ <rect>
+ <x>11</x>
+ <y>49</y>
+ <width>216</width>
+ <height>21</height>
+ </rect>
+ </property>
+ <property name="text">
+ <string>Multi-User Installation</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ </widget>
+ <widget class="ScriptObject">
+ <property name="name">
+ <cstring>ScriptSetDirs</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@if( @RadioButtonSingleUser ==
"yes" )
+ @FileSelectorDPMLHOME.setText( @env( HOME )/.dpml )
+ @FileSelectorDPMLSYSTEM.setText( @env( HOME )/.dpml/share )
+@endif
+
+@if( @RadioButtonMultiUser == "yes" )
+ @FileSelectorDPMLHOME.setText( @env( HOME )/.dpml )
+ @FileSelectorDPMLSYSTEM.setText( /usr/share/dpml )
+@endif</string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBoxOptions</cstring>
+ </property>
+ <property name="title">
+ <string>Options</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBox8_4</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string> Products to Install / Upgrade
</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="CheckBox">
+ <property name="name">
+
<cstring>CheckBoxInstallTransit</cstring>
+ </property>
+ <property name="text">
+ <string>Transit - Resource
Management System</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string></string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="CheckBox">
+ <property name="name">
+
<cstring>CheckBoxInstallMagic</cstring>
+ </property>
+ <property name="text">
+ <string>Magic - Development Build
System</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string></string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="CheckBox">
+ <property name="name">
+
<cstring>CheckBoxInstallMetro</cstring>
+ </property>
+ <property name="text">
+ <string>Metro - Runtime
Platform</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string></string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="ButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroup1_2</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string> Versions </string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string></string>
+ </stringlist>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="RadioButton">
+ <property name="name">
+
<cstring>RadioButtonInstallLatest</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Install Latest Production
Version</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="RadioButton">
+ <property name="name">
+
<cstring>RadioButtonInstallMilestone</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32767</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Install Latest
Milestone</string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="RadioButton">
+ <property name="name">
+
<cstring>RadioButtonInstallRevision</cstring>
+ </property>
+ <property name="text">
+ <string>Install Particular
Revision</string>
+ </property>
+ <property name="autoRepeat">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="ButtonGroup">
+ <property name="name">
+ <cstring>GroupRevision_2</cstring>
+ </property>
+ <property name="enabled">
+ <bool>false</bool>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="title">
+ <string> Revision </string>
+ </property>
+ <property name="alignment">
+ <set>AlignLeft</set>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <property name="checkable">
+ <bool>false</bool>
+ </property>
+ <property name="checked">
+ <bool>false</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string></string>
+ </stringlist>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="Label">
+ <property name="name">
+ <cstring>Label1_2</cstring>
+ </property>
+ <property name="text">
+ <string>Revision to Install:</string>
+ </property>
+ <property name="alignment">
+ <set>AlignVCenter|AlignLeft</set>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="LineEdit">
+ <property name="name">
+ <cstring>LineEditRevision</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>100</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>latest</string>
+ </stringlist>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer1_2</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>362</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ <widget class="ScriptObject">
+ <property name="name">
+ <cstring>ScriptRevisonSettings</cstring>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@if( @RadioButtonInstallLatest
== "yes" )
+ @setGlobal( TRANSIT_REVISION, @global( TRANSIT_LATEST_PRODUCT ) )
+ @setGlobal( MAGIC_REVISION, @global( MAGIC_LATEST_PRODUCT ) )
+ @setGlobal( METRO_REVISION, @global( METRO_LATEST_PRODUCT ) )
+@endif
+
+@if( @RadioButtonInstallMilestone == "yes" )
+ @setGlobal( TRANSIT_REVISION, @global( TRANSIT_LATEST_MILESTONE ) )
+ @setGlobal( MAGIC_REVISION, @global( MAGIC_LATEST_MILESTONE ) )
+ @setGlobal( METRO_REVISION, @global( METRO_LATEST_MILESTONE ) )
+@endif
+
+@if( @RadioButtonInstallRevision == "yes" )
+ @setGlobal( TRANSIT_REVISION, @LineEditRevision.text )
+ @setGlobal( MAGIC_REVISION, @LineEditRevision.text )
+ @setGlobal( METRO_REVISION, @LineEditRevision.text )
+@endif
+
+@CheckBoxInstallTransit.setText( Transit - Resource Management System [
@global( TRANSIT_REVISION ) ] )
+@CheckBoxInstallMetro.setText( Metro - Runtime platform [ @global(
METRO_REVISION ) ] )
+@CheckBoxInstallMagic.setText( Magic - Development Build System [ @global(
MAGIC_REVISION ) ] )
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBoxSummary</cstring>
+ </property>
+ <property name="title">
+ <string>Summary</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="TextBrowser">
+ <property name="name">
+ <cstring>TextBrowserSummary</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>1</horstretch>
+ <verstretch>1</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>300</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>1500</width>
+ <height>1500</height>
+ </size>
+ </property>
+ <property name="font">
+ <font>
+ <family>Courier New</family>
+ </font>
+ </property>
+ <property name="source">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget class="GroupBox">
+ <property name="name">
+ <cstring>GroupBoxLicense</cstring>
+ </property>
+ <property name="title">
+ <string>License</string>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="TextBrowser">
+ <property name="name">
+ <cstring>TextBrowser2_2</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>5</hsizetype>
+ <vsizetype>5</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>280</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+</string>
+ </property>
+ <property name="source">
+ <string></string>
+ </property>
+ <property name="populationText">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroupLicense</cstring>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ <string></string>
+ </stringlist>
+ </property>
+ <vbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="RadioButton">
+ <property name="name">
+
<cstring>RadioButtonLicenseAccept</cstring>
+ </property>
+ <property name="text">
+ <string>I ACCEPT this
license.</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="RadioButton">
+ <property name="name">
+
<cstring>RadioButtonLicenseNotAccept</cstring>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32000</width>
+ <height>32767</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>I can NOT accept this
license.</string>
+ </property>
+ <property name="checked">
+ <bool>true</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>no</string>
+ <string>yes</string>
+ </stringlist>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget class="ButtonGroup">
+ <property name="name">
+ <cstring>ButtonGroupNavigation</cstring>
+ </property>
+ <property name="sizePolicy">
+ <sizepolicy>
+ <hsizetype>1</hsizetype>
+ <vsizetype>1</vsizetype>
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="title">
+ <string></string>
+ </property>
+ <property name="alignment">
+ <set>AlignCenter</set>
+ </property>
+ <hbox>
+ <property name="name">
+ <cstring>unnamed</cstring>
+ </property>
+ <property name="margin">
+ <number>11</number>
+ </property>
+ <property name="spacing">
+ <number>6</number>
+ </property>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>ExecButtonHelp</cstring>
+ </property>
+ <property name="text">
+ <string>Help</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string></string>
+ </stringlist>
+ </property>
+ </widget>
+ <spacer>
+ <property name="name">
+ <cstring>Spacer6</cstring>
+ </property>
+ <property name="orientation">
+ <enum>Horizontal</enum>
+ </property>
+ <property name="sizeType">
+ <enum>Expanding</enum>
+ </property>
+ <property name="sizeHint">
+ <size>
+ <width>549</width>
+ <height>0</height>
+ </size>
+ </property>
+ </spacer>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>ExecButtonBack</cstring>
+ </property>
+ <property name="text">
+ <string>Back</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@ExecButtonFinish.setEnabled( false )
+@ExecButtonNext.setEnabled( true )
+
+@if( @global(Page) == 2 )
+ @GroupBoxLicense.setVisible( true )
+ @GroupBoxOptions.setVisible( false )
+ @GroupBoxDirectories.setVisible( false )
+ @GroupBoxSummary.setVisible( false )
+ @ExecButtonBack.setEnabled( false )
+ @setGlobal(Page, 1)
+@endif
+
+@if( @global(Page) == 3 )
+ @GroupBoxLicense.setVisible( false )
+ @GroupBoxOptions.setVisible( true )
+ @GroupBoxDirectories.setVisible( false )
+ @GroupBoxSummary.setVisible( false )
+ @setGlobal(Page, 2)
+@endif
+
+@if( @global(Page) == 4 )
+ @GroupBoxLicense.setVisible( false )
+ @GroupBoxOptions.setVisible( false )
+ @GroupBoxDirectories.setVisible( true )
+ @GroupBoxSummary.setVisible( false )
+ @setGlobal(Page, 3)
+@endif
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>ExecButtonNext</cstring>
+ </property>
+ <property name="text">
+ <string>Next</string>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>@ExecButtonBack.setEnabled( true )
+
+@setGlobal( DPMLHOME, @FileSelectorDPMLHOME.text )
+@if( @String.isEmpty(@FileSelectorDPMLHOME.text) )
+ @setGlobal( DPMLHOME, $HOME/.dpml )
+@endif
+
+@setGlobal( DPMLSYSTEM, @FileSelectorDPMLSYSTEM.text )
+@if( @String.isEmpty( @FileSelectorDPMLHOME.text ) )
+ @setGlobal( DPMLHOME, $DPMLHOME/share )
+@endif
+
+@if( @RadioButtonInstallLatest == "yes" )
+ @setGlobal( REVISION, "latest production" )
+@endif
+
+@if( @RadioButtonInstallMilestone == "yes" )
+ @setGlobal( REVISION, "latest milestone" )
+@endif
+
+@if( @RadioButtonInstallRevision == "yes" )
+ @setGlobal( REVISION, @LineEditRevision )
+@endif
+
+@if( @global(Page) == 3 )
+ @GroupBoxLicense.setVisible( false )
+ @GroupBoxOptions.setVisible( false )
+ @GroupBoxDirectories.setVisible( false )
+ @GroupBoxSummary.setVisible( true )
+ @ExecButtonNext.setEnabled( false )
+ @ExecButtonFinish.setEnabled( true )
+ @setGlobal(Page, 4)
+
+ @TextBrowserSummary.setText(
+Install Transit : @CheckBoxInstallTransit - @global( TRANSIT_REVISION )
+Install Magic : @CheckBoxInstallMagic - @global( MAGIC_REVISION )
+Install Metro : @CheckBoxInstallMetro - @global( METRO_REVISION )
+
+Multi User : @RadioButtonMultiUser
+
+DPML_HOME : @global( DPMLHOME )
+DPML_SYSTEM : @global( DPMLSYSTEM )
+)
+
+@endif
+
+@if( @global(Page) == 2 )
+ @GroupBoxLicense.setVisible( false )
+ @GroupBoxOptions.setVisible( false )
+ @GroupBoxDirectories.setVisible( true )
+ @GroupBoxSummary.setVisible( false )
+ @setGlobal(Page, 3)
+@endif
+
+@if( @global(Page) == 1 )
+ @GroupBoxLicense.setVisible( false )
+ @GroupBoxOptions.setVisible( true )
+ @GroupBoxDirectories.setVisible( false )
+ @GroupBoxSummary.setVisible( false )
+ @setGlobal(Page, 2)
+@endif
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ <widget class="ExecButton">
+ <property name="name">
+ <cstring>ExecButtonFinish</cstring>
+ </property>
+ <property name="text">
+ <string>Finish</string>
+ </property>
+ <property name="accel">
+ <number>0</number>
+ </property>
+ <property name="toggleButton">
+ <bool>false</bool>
+ </property>
+ <property name="on">
+ <bool>false</bool>
+ </property>
+ <property name="associations" stdset="0">
+ <stringlist>
+ <string>echo "" &gt;dpml-install-phase2.sh
+echo "DPML_HOME= AT FileSelectorDPMLHOME.text" &gt;&gt;dpml-install-phase2.sh
+echo "DPML_SYSTEM= AT FileSelectorDPMLSYSTEM.text"
&gt;&gt;dpml-install-phase2.sh
+
+echo "CWD=\`pwd\`" &gt;&gt;dpml-install-phase2.sh
+echo "mkdir \$HOME/tmp3h8934jkh3298" &gt;&gt;dpml-install-phase2.sh
+echo "cd \$HOME/tmp3h8934jkh3298" &gt;&gt;dpml-install-phase2.sh
+
+@if( @RadioButtonInstallLatest == "yes" )
+ TYPE=products
+@endif
+
+@if( @RadioButtonInstallMilestone == "yes" )
+ TYPE=milestones
+@endif
+
+@if( @CheckBoxInstallTransit == "yes" )
+ echo "wget
http://store.dpml.net/$TYPE/transit/@global(TRANSIT_REVISION)/dpml-transit-linux-@global(TRANSIT_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+@endif
+
+@if( @CheckBoxInstallMetro == "yes" )
+ echo "wget
http://store.dpml.net/$TYPE/metro/@global(METRO_REVISION)/dpml-metro-linux-@global(METRO_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+@endif
+
+@if( @CheckBoxInstallMagic == "yes" )
+ echo "wget
http://store.dpml.net/$TYPE/magic/@global(MAGIC_REVISION)/dpml-magic-linux-@global(MAGIC_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+@endif
+
+echo "mkdir -p \$DPML_HOME" &gt;&gt;dpml-install-phase2.sh
+echo "echo \"share\" &gt;\$HOME/tmp3h8934jkh3298/excludes"
&gt;&gt;dpml-install-phase2.sh
+@if( @CheckBoxInstallTransit == "yes" )
+ echo "cd \$DPML_HOME" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz -X \$HOME/tmp3h8934jkh3298/excludes
\$HOME/tmp3h8934jkh3298/dpml-transit-linux-@global(TRANSIT_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+ echo "cd \$DPML_SYSTEM" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz
\$HOME/tmp3h8934jkh3298/dpml-transit-linux-@global(TRANSIT_REVISION).tar.gz
share" &gt;&gt;dpml-install-phase2.sh
+ echo "rm \$CWD/dpml-transit-linux-@global(TRANSIT_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+@endif
+
+@if( @CheckBoxInstallMetro == "yes" )
+ echo "cd \$DPML_HOME" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz -X \$HOME/tmp3h8934jkh3298/excludes
\$HOME/tmp3h8934jkh3298/dpml-metro-linux-@global(METRO_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+ echo "cd \$DPML_SYSTEM" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz
\$HOME/tmp3h8934jkh3298/dpml-metro-linux-@global(METRO_REVISION).tar.gz
share" &gt;&gt;dpml-install-phase2.sh
+ echo "rm \$CWD/dpml-metro-linux-@global(METRO_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+@endif
+
+@if( @CheckBoxInstallMagic == "yes" )
+ echo "cd \$DPML_HOME" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz -X \$HOME/tmp3h8934jkh3298/excludes
\$HOME/tmp3h8934jkh3298/dpml-magic-linux-@global(MAGIC_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+ echo "cd \$DPML_SYSTEM" &gt;&gt;dpml-install-phase2.sh
+ echo "tar xfz
\$HOME/tmp3h8934jkh3298/dpml-magic-linux-@global(MAGIC_REVISION).tar.gz
share" &gt;&gt;dpml-install-phase2.sh
+ echo "rm \$CWD/dpml-magic-linux-@global(MAGIC_REVISION).tar.gz"
&gt;&gt;dpml-install-phase2.sh
+ echo "rm \$HOME/.ant/lib/dpml-transit*.jar" &gt;&gt;dpml-install-phase2.sh
+ echo "rm \$HOME/.ant/lib/junit*.jar" &gt;&gt;dpml-install-phase2.sh
+ echo "cp \$DPML_SYSTEM/local/junit/jars/junit-3.8.1.jar $HOME/.ant/lib"
&gt;&gt;dpml-install-phase2.sh
+ echo "cp
\$DPML_SYSTEM/local/dpml/transit/jars/dpml-transit-main-@global(TRANSIT_REVISION).jar
$HOME/.ant/lib" &gt;&gt;dpml-install-phase2.sh
+ echo "cp
\$DPML_SYSTEM/local/dpml/transit/jars/dpml-transit-plugin-@global($TRANSIT_REVISION).jar
$HOME/.ant/lib" &gt;&gt;dpml-install-phase2.sh
+@endif
+
+echo "cd \$CWD" &gt;&gt;dpml-install-phase2.sh
+echo "rm -rf \$HOME/tmp3h8934jkh3298" &gt;&gt;dpml-install-phase2.sh
+
+mkdir $HOME/tmp3h8934jkh3298
+
+# Commenting out the second phase for the time being, to save time in
debugging.
+# Enable the following line later.
+# sh dpml-install-phase2.sh
+</string>
+ </stringlist>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </vbox>
+</widget>
+<images>
+ <image name="image0">
+ <data format="XPM.GZ"
length="285284">789c44ddc7563349bbb5ebfe3a8a6facecadb18796bc69ec065e7884873d7643e9408040484286ffe47fa1e79ef32d3a5557a50b1f191911fadffff9cfe3d5f97ffee77fff6b361fce47d97fb2d7e1f43fff93ff8cc7ebffefffff7fffcf7ffd77ad55fd4fb35afd4fbbda6bffa7f1dfffcf7ffd77e5ecfa3fd97f926aaf96b7aa5bb87e038a1647ccb730ac95adf616ceab01f56aabbb85ab0ba0d64ab7f078b68574738dda166ecb807a9d23ce9f0d45400568b4e394818e68b69bf160ef5bc8eaed76272e7a0374dabdb8c629d06d67f1e803a0d72ee3a2dd2de49b278dc05dee0375c272f10b0c3bf52ddcbc0369a715773903b24e3cc7d3f9160a5f74f009d45bf1e88fdf8688c29b3ad0547c4c81bc33dcc22a078a4ebe85871f43c4d8532443596f70979b17a0e8c4451f16863865d5034a2e7a5333c411d7db28ac55ebed56c4d8aa0be888e74f034714018d2a473c9c1ae288ebeda3d76a9b8b46e0ae1b404a42dd3f0025c1bf3909f03556f7404d61e918e2888733413772f2ea6e0bf57f479c0b38e2719be96a8dcd7344eaaf6e031a75ddb62de094870743e4d3d50dd0e088dba32d34eb9d5664cb8b7b20239f9e450435377789e09f9c18225d56e7802efaf06888dbde449cb6ea5dee727d0b949d38e22952aeb5097e04eef01168108507b78608edc14aa0c05d034de0e1c910c5637f9be96aed46936bdc9d0838e5746988535603a0a5b09c1ae28887dd2d74360f168fbef30de894db7b439cf2981aa210aeae80b68e480c71c44d3c5877134171d1b314a853f6ef1640a31391bc7b0ab448979d1b435ce3f219682b0a2f0d3cc7d010cfb1ae001d8eb8893cd66bb4280de737409b0cb3bb147097e737a0a3db6686b8e8edda10b77d9c1aa2fe585d005d8e78d8d6fcb5613da7327888581f6e1e2ce2e3e90968ab76b835c429f7df4097075b8f0c24c3c210cf3188829cd68b16b5d46bc0268f516e67804e79aa19a2925e7d003d8e38dc37c4110f5360c883ed3c1ae294cb6da355cbea659bf8780f685481e72f407739e91a780e9da28bee1c18e288935f43b40d3b199072c453c4475e2f692b9f22f5f3cd73447c3cbd009bb631623d0786a4fed39b212efa786e8853563a42b77dbc30c411d7cd2d148d06b5e5631568b523a1eede8194b4bdfe30d0f01d0299226864882306db36aa56366a04ee7a6e88b05c9f01a92a836740d778bc344413bd7a05728ea8de1ae288b36d11ab573751c86deb86b8edfd1190a91e7b01748dc79a81e6a4040a8ea86ef347bdd6e875e819dc1a223eae17404ad97f3c3544ab5e3b0772b2d463d340bad48142b0adc6eb75c34169a0627b044a8eb8b836d08a6deb8f7a6393d81196e71130ec50a134009d727d6088b0d4d380669564b87d32c46defbe0ddc362eda6cb4c974831c1812634f1f404aadfdf46c88bb3c9d021951f83809f0733cbd1ae2b627378678f48b12a871c4ed369fd65b8d0e0f76dd01d451bcd11139add8f50550aa2988386df9a24f2303ddc03150e788e71d431cb13e031add08dcf3b601aeb737a18dbb340f033661a167500235b2e55d6a8827bdf934c445afcf01ddf66a60882356674043796ccf40af6fdbbba8779a557a39e77da0ce294fbf86b8e8d30250e0ee86866809775e8126475c6edba87a777397809b26505363b102748d550b68f2a4776d03cfb136c429d531d0022e23f57b8d21c5e37216d0549f6ebf0e34ba01b511d0a4b6dc7f30c435767b86b8cbcdc410d778fe05f41c8f0b431c71bd04da1c3188a41c363265dc88d3e126c6e2b68307a049ba0c76005db47a638826a99a03bacbce04e800b7dbd7847abab92de9520239705d0968aae738a801bacbd305d0e6394e0a03af914f86e87ffce6809ee3f7da10d7788c64c836c18f64e83781b65ac202e87097d3c4107759df035d2e3a8827cd1b057dfe9b3343e4b1c10028db71d17e043fdfdc362aa5d601d051ed7069d89e927c9d03baed53dd1017bd7a33f02e96003dc5e9b69f5c2f9a75de91ef7b02e2a3f90834556ef78076f48293ef7d80e748deae0ddca56188bbdcb405bdb8c6f21ee8296b3f18e21af71503af1a73415ca372b1030c39e23e9eb4dca46d1c71ff0334a2924ec61580db26a353038fde31c4459f9a026ebb7f6fd866dce42307862a1e1f06aed116708dda0e9072c4e5f6d11bd5a6de4eeece8126cddae012e892611acf402ff27a32ed0343605e1822b4df434364a9f2c0c093b6043ce9cd3f8807abeaa229473cbd1b38e208c83862b0ed38376acd1a03005755a04e5772303110857da011f934593e0084a5b25b0229a1fdd835902d0f0c11da9f274384b6b616f0a4cfef8608cb63c710cdebe00a50e0aaa5214eb98f08aa37f53e77fa010ca3e64fbe32208d1628f9ec19a8b50f04dcf6796d886bbcef0319819b340c11b867dd560f767d63888b567f819c2306db76aed1d8941742db019a8239d0e58d6ff003e895a759008af5ef5d208be63559ac0d3ca98fe0399ec7867ae4e40590c729c9e44ea064e81848b95f03a15d0105b03b024ae06adb026d02dba272bcaa036d2ac7ab36d051a9fc06723a13838521423b7d3744b69c7404ca747b062279061484f6e348a053f60dbc25bd1ae249774f0005ae1a19b7d5e45d2c991e03390568dc3044113bbe01f442f37c20e02e1785a11945ac0294ca52530339f9d8409cc66ddb9b078bac3d7f040aa2f0b334c4932eff1d114fda5e18a2fed87b13f422b4efef40499c2efa02aaf1d19381273d343000706488bcfe503544df61a71bd0aa2ad6ef0c718dda9b81210282dfaa71c4ef1aa8f7e84c448c7536992e22f96b04942a407d01173dc90ded88c2084ba755d5298f024eb93b35c429cb5ba046217c7931c49356d706c27202d495b651e6ba9bea8211c54b60085cad0d51a22e0f803cfa85c93cc2d2dd3c7a14a0cf7b03617912f01ccf770682df066af43f462d03e3520d03d778363074d3334469b86a0275357c6d435ca37a6f886b5ce9b60d8e68c56d7bcd2c86d49259e4b19e425b391c023505bf10a832a81a22afbf64405d39b966a08fdb3644ac9fde020dda97d1c0405e5f1be22ef9a921aeb17e039a0a5c94b96153afe66751af0f5b7a39bbfa357423709706aacf1343047fce455b75a57e5d40e04ee7866d4225afba684385f0d7407ce48678d29aeed254686f0c71c4ef21d0e288e9f62dba916e522e6efb550178df4fbe75445d61591922f55733a0a1fae3c540425d1be26dad560378d24af5d5c0938e80968e783070c413d026e59af11cd9e6c1a2c67d5f010d9e747e2e20f31fbe1822b4cb16d05475f10f18961b19a244ed3d1b08dc07a027ad550dbc782f81b61af11d03154aa45cdecc19b5be8c4a3a6fe96bd3530e307691bc9f1a1842ea030c1124b31d81cafe9b81d7eaba212e3af9025a4adb7703e3853b8608fee50ba0b0541f0d7c158dec5034f90a98cc228f159b6bf0608786b8e8c9a5211eec650d28f56b63030fb66b205dbe810e701fcf5136f59df0e24ea061db2873654be30e371f80c6a51e3a805eef2f7b86b868754fc06d1fbb86e87e9d5c19223e5eef810eb970951a280d4f86b86875df100d70b3027439a2becd52cdcd1b4ebcde275f83804d7989b6f2eb026891a57eae0cf160cb27c0813b0074db6a66602c5817d5733cfe18e294ab0ad0e388c6368f356b4d0dbbdc4d0336b554b41eed0650d3c7d801e021c615a09189ea33a0db5e56801eddc0f820b30532cca7214e799c1be2b6fd1360c8118da5218e686c336eb3de2c084be7346013a751e3be4d01466a92a98e60202279af082884f74da0472f673c37d088570df11c359ec34f7a7b6ce0882f20059adb719866c38f7e1551d868d5d5ee1f008ae4d60ae8ea8d6f06f4547f340d7c38dc3544fbf2be070c4997972b0399bf66886b54eb0646580f81943aa83e3110da2b03d31bce814c49d93390a5e21acd56951181f6d21065ffae0634d42f1c1b2873674087d45f9680c6a5a6df006339c9f7b5806ee0fb0d30549c360cf1a4f7a78648a8f131901285b5a9214eb95d1a18c7ed18e2c17e74db4c51383110eb47404e259db70d71d1b50257c4452b977144aba52fef837d033dd839a0f1a0690130cc902cdf0cb4b7330375d0ca10cf71f16360e0ee13c8e8188d770d51d1df770c5c746e888bd6eb40ae230686e890e46706821ff1d16e698ec0dd0ce8a82bf9066804adf603e8b6773b40ce93d616061eec0b28f41cb786788eab5da0e4d15b5180362f450c76dd9e00faaedefd047a0c22342f0dbc01d7818c56acf900e8c16a4b03df1bae8142473c1be2881d3d584931fd8d08eab46be4d3afb868779361a27bfe7e00688c6d7107641a987913f07672bc07e4bd38e26d06e8d57cf16288e7a8dd19485bc390f1d31ba0e488eb1d03539bf60c8cb0be06b4ab2a40ef86b8c6596487dea635896b5c7400beab273f3a22a547ffb103309693cc1e81427da97b03e9f26488bbd41e003d7a3ddafddee6c108cbb521a2705c0235f2d8fac310e9528c0d4c6de22eed3ad7986e7be3cd614b33220e1f8062c8449d8a214ad4d107c08048f2f36b20b48f06ba702b415c23f98c0234dc8485ced5818108ba3530967368e06bc28d6048acf3a40a7e653d06ea828921aaf18faa802c75d2019adcf6362aa5b4a54914f7fb06caed3d90f2e5acfd0e14549f775580e0575a51905307ae3e36f0c9e65e4032d473a0c629376f8648ca975fa0aeacfd65e02e9f063e61091a1cd18c47dfbcbef145f3e208187618843c063499e3e1c4c0113f8006ee96912e59bbaae1c16ba0a6cec4c840580680c2d2b8301096c21061a9bf0948cad517d0a0344ca289ce372f5a516ebfc640a98f1811b8bccd6057a5fe0ee8a2f51da0a1db7e0874db4fa049a6ab5f0b38e2eec0c0bcad53a0c529e78921eeb2bf2be0946adc65f32ec6a7c5c71ed0a5ebf4f0013055239947a62b36c9c0d7b76740a35f3d4e71acb70d14b1f12fd06050e5e7d840d37822508c9d1af800b16f88072bde81a6e2b414708dfbae2146032797408becb07b67a0a2ef0bb8c6ce0268c76d2b47d74087239a91d7376f8dcca8ea8d818ccaf1e219c8f97a7ff50230e29c4ca3375eb6abfa5c7b0f68cc71f20d108595fa9580083a7f34447d5a3f0394611e4f0c914fcfbf8096926157a064783110161dd1e688f6f6d15b9b174dcafee30e90ea436a0b50683f3f8092cae0f23ca0cddc9ee4eb18d00062bf100ca3dd7fbd00180f4a264b03117429e0d1ef9e0c71d1831780c18c4abd2150f5796e60ba69cf104959df03dae4b14277e97097df0c180eb9cb36295b9b57624dc13b0352cadccf3ca0cd6860a5756b883ae82703349079fe01680a4dfd02d0a3d75f813670d335308a7f077438e272047415b873439c723b057a912e954e8465f3c2abd21017ad6f1e3d3abd5ffb405d3344164083a6e0672950e67f019a54b08d125058eabaa81ebd3e3044429dd7801e9d89e2d640ff635bd3b5366fc0cc76e97d02436acbde3d903127ef7e37c0c5747e0d68a87379056838ec742018465d3829018dd434320135dd471fe8aa156b0a085c2337902eef8648978b1760a8ce445c63f36e4ab9ed7e01194d41f7c1c0b05c64a9e6267064dcb6218ee87c004d46e13a3a8271cb64fa0868bcf0a10f683ca87e2050e00a439cd238079472173c693b25c6269172ad768def40951f40c5a3550198b894fce8940edd8de99921a2f0ee19e80ee394971ed0539b7d28e0c13a63435ca37e0c0ce388a4e8023c7ae5740564aa3f0640398c8e5112a572f35ec9f486ca02d09288eba8fada6dcd0ebb3e31f076b202da3c7a4747f0a4c9cb1418aa793d1270c4f71cd0db7ce34d406807bb86788edf069013b866d4969d561a4b7792a40d6464cbf60a60103249a21edbbc6832c7a87d0168b8f4bd0930fa5539b8110c238fddf7811e65eeeed0c082870701a7b47f0005ffe5184889a0c68b80e037e78668a3de0640a6d6a36f60c1541d5004fd3e0205b04e0c71d1fcdc10d5d6d9102839e529daa8cdeb2c0366ddd3804da9a4821d029ac7767529a0af3de01a9b3865d6cd2140b396bc34016587b6ae41f02b8fa521d2b691020a7e6305e4c0fdc8c09b859ea32019c601bd7683050fbd1c6833047dd1023a7415a633c093b03e0c517f4c8f80940eebf2c6c0acdf1d01f9a3d30114969b7b032db29e43816b8c0c11b8f51d502a6d6b86a8722611c99bb7d7f8049e242d4314a0e500d04066650e64d4fcc7bb06deb4a680c6c7563f06b2f6ab80476f5f19e86db58102d88df81876aa84a5681b22c6d65cb45357c516a76cde80e93b74226b6f5e56c9b8bd53a0a9effb3740279aa4247901349db0b100346d6dda15f0fa56af01a95e450702ea8fce31e05c981bf8bc300414fceed8c0671f02e7a47c89ba30557c24c53350e394f503d01812fc80cd2b3195e3530fa8313cd86e014db2c3ac0fb43a4cf4ab035adc73790df4c8ebd30ec0f071a55708789ffbf80534e8d6e90a78f4460210dacad38e8106381a8b6c13fc38e2982336c18fe7f8e64937c1277fc429f926f87ce6f8006aea6c7e1922b43f03a0474bd83b136822e808d094b3e5ccc060d713c09874a55d0714b8f6d8401f26e22377e03a7d4324f6a802d4e808e47780425b895ef0e63d3b429b244d402bb90e6b4031644eef095092615a910c859fa37b67e0497b80325da362e063dbd2c0179a19d02027bfeaa24d02378e3257b635b2f9d50798fb952425a011d6c763c1906f389150e5e6491964da07f4609d2303f9f4d6c097f71b434450630dd4b946e3cc10d7b83d005a44e14e0e74086db24ddb4d1e6ca8359d004dbecfdd5681ae9aa40ce869167403d0f4b9af1aa0497ae79cd2a9f211f43c37f0b16d29184614367f0085e5e1d740074dd050b5d537b034a309b448cad731d026195adb58df64ca16c17fa801dd98e699240d604899bb5a021ad9bca81ba2eff0ba08e8684cbad105f4a4ed9a218e68de034d8565c7403e4d8136597b6769e0cbd9b6256c6fde2b29629fdf40871966dd134003999f0d802555c97862a0d3bb0498805969bf0125f1711a915cef3082962cab409de0f74a40a13d3f11a454c157405363d26b0163178daa810a6566203b10fc4d6293711706b2a5aed1a6bc9c0f810ebdbe42d0251776b71dd64de168531a7a2740cad7eaca3ba0f1b14e0bc8995670760f30c29a7ccc0336999ff5b77780a6ad8d7e004d4a3ba9031a30eb9d0be8c3f45e006598c629a0f8681c1b88b13da00ddc760d7c171b015d62fd751fe871c473e4a0cd1bb046151e01cd73bc4f802123cef30740996eb20ae830285bb9de053414fe9302f51ed556dd10b73d58028d94e99505d04ca3a3d8fd0014fce75701a7ec34010d2135f60d7c152d0c74254f800e479cbc18e8b046e036efd931109124ef8218514c929e81d7fb3760c8fca0560b48e9074d1b00ab1693b748ec5647d34d2f0b433c698fdb6e821f713ae7b61d8d3a350e001ebd72f600304450b9eb19a2fa3cbb057a14a04a4472bbc3acdfe46707a8d121797f03eafa4cfa0e3434dbf614d0d4b7fb39d022293b8780f269e753909283ba06be150c0c84b60328b4bd57035fbd56026aa9970740c3508d43037b558c0ccc00b8057a6498b3476048a5b4d429694af77c3b00b079d042f5473c47a7c34cc824a91958342160ba69b22c0cf1a4676b039fe33e0d24f612d074b1ca584069389d0952ba3dba8b62ecc94024f7088be3a37104f480c72b012977770d0cd5a9a919e84b750d2c75d36d5392e1f700c828849378f4cdfb3e4de3d735d00386274046a99cd4809c578d7144d0a6d4d23476de811a70de02348a3fcd8116a5b2ab53141fdd5b01c1eff40c1185670b40a370edaa8155251d4083a18dba8195298f024ac34906e454065ff1a4bdf69071a9e13190b6a9c7e2a2bd8ee6f4ce1240ab495b4ba0c9b0fee727d0d237cf05d021d375cf802e0f76363330e67800a8005dde0ac885235d74a85abb61a0ccfd021ea9690a28d99348b9e1bfe0f7818c57afe129503058defd06ca0e4d5234f3c30e6b78934a03509bdd7802b456f46109f41841bbee09a80cba6f80c272b327207fdc3d1a1860262c0edcf204c868a3ce76809c1c54ec03651a19f72b4a54ba097ea4fef00c20b4957654289bd7fb18b74c923b01f9a33202ea34f3d331d0a6349c658086b2661f40975aaabf2f48a9c74a80a1ce64726f88c09d4f049c72fd6060ea7d0e0c35074d0fa61cd4bb14902d7b370666eb5f1b9801706c6038ac0d900c95d610c880666988767f189563e64cf77d60209223f36fea28468b7b4f00bb0325932ba0c1449d8f1aa059e10f5d80274da6e780e6e425550119e6f85940689b0b8047afdc3e1a180a7f01728ed87d034ab2e5301acffcef2faa8ba9812e4b2465be092dbd8b3550a32b39ac18e288e139a0c5e7ed36d0a6a7347e013a74be9b39a089b13f2702b265f260e07bf61da01c54690aa8612e1320253b746f802ca511cf0d4c3c1819f880f9ef0862fd15509cde65068a8702a791aba62e5aa8822d008d5c55a3ca29fefe2207cd81920f32f3b86dd1613fa5a452333094f501d4950c17803658aaff021a84bcab0878d28b6f402b1f4fd682342a949715a0af09dd91405dfc6b0377e91b789dad1a225d9a6f8022a8b36f60af8a9581acbd044abd3770db6e0d68c66d4b47e1a42d601641334a54b989424636bf00adce3fbd07527ac1a77706366b6809f4e1f0cc106f7ca74f8066755eb4051c717764e075760a28c6fa5d032f01095070c4cd9721cacbeb2750ead3d1954011b432b055472476d9ad523cf20ba091d2786eafb1a90ab4a2bdfb04b05756b29a03fa56303b0134c779fc0fa2c67d6d02fa3470f125a07b5ef90494fabd2b03bdbe6f03a392af40492e6cfe06287095e68e812376811a9d9af706d04ca3a69b6e536e935d58159f8cf70d71cae70c60fb8224b931b061cc18d06cdbd63f8872bbc8810e5dda5e0a68417fef58a038fd017246cf1f5e04b41ef52150d00f3a280404eeeb0a28f9e29d3c1a225bbe1e0474ab7c28abb40444e1e933a0e1d2e69e802306a98105640f8046149b0301c9f0f10e305055599f02ad9471ba6dd5b78962b64e4be625d0d2768503a0cdbe2ced7320a31b783a05888fcac1bb81862f52bfeed0760706daa8ccc002e57b0363f4095023922b1d812ab63ba0ae6c796d6019e3086800ab21d0a4649f3e022da2f07bdbcc6f0a69836cf97503e8a3cef8c04037f00ad05e6acfdf009bbc25c34b80bdd492cf77401b3e2cdb027d14de03b4e3c1e92f50304c79ba0f6826f5f9a581dae154a031836b0129771a25bbb1c9a734f3a980562c191ad863a630302a796ca0797d0648a8a4d235f02a3a35f0adf1db407678013489b37d2de0a2c9938195a03e856bdc97404363f43702e58f57030b50155ab243e5b00a74f46011a74d6787f927c09e7fc96c1fd08e7e8f7740572bfd520147748f016d9230db15500735a7004bdc93efc830cd2e93e293e58b815d57f60444e145d5c00aaa4303e5b607902e49e5cbc0acac812152fff8c9c0d22edd56e9d27d3150f61303eb1aaf0decbbb1061aea17de0ab868ebcec0b0be6eab2f123744e126292327e7f740975a6a1a816bfdfd4599fb01da94ecef1d439c32d7295d06bb5a7d401f976699218afa621fd0761f9f5520a78dbae3a29b9a2eaeb1b805eaccfc4b2a02b5d9570626b4ff3b82656a3706c68275517dd5385c031a816fa50245726660fbb55d032de11ed022a14e0f800e05687d6e88489e6ddf92fea29848fe383144c7683a023ac4faec1260eb9264ba00b402e2f222a0ab0fba15eeb2c91f04ee055058ba97067a1739d0527bbb0be86d7ebf06f438e5b76ea00045da6eff890c3306943fbe12809d1693a120d340d58581078ba4ec74b56bc2690e6862fd6926200755be05a47ef51a68009d2f031df80ad024c6aa29a0e9d9a7a58049252f970606fe0b0151783d36900c6ba0cd11add2c0f7ca73031f85ef800e997ff508a43438c5d2c054c0a82dbb7f7f91c74e819eb65cde03d8ad3199bf0828b7b321c0669549e5d7c02c13dda5a46457a239d9d40d0c63779a80d626742e0dec9ad002f4a5683a01b458e1e05a40e00625d004f6f70c64870250ba7474512543bf67886bb4089c93e121073a349ead7d818e7836b0f5e200d0d7c85d3d87866ee6d158f43a5acdf13333c435ee1f01a5cbe7dc10eddce70b9051194c0e0414b1e115906b76e933a0d52d932e40ca550e23e57a8ec2837da005742f8036996e710c7434a766474004b5e786c8b8ad5da00b3c5c18225d0ed6404ffdd31418aafa8cdb0efffe224eef0c3cd81870d6be37300ba9666065ec838149580d20d36ed1a5405b72bf017c364ee64d43345ad31f030bc89e0d74e1f4a4051b1bcd72401b91f69e0d7c3c88081a6eca4b3cc7c107a084eabd19e2d10f47401b385e014c2aa93cec0894507b8012aa458c6dd225b2d49cc0753dae3d31f06d7e17d020e4e98b212afa42a7e42981db8e6efca51b29f7730164cafc4f0606219b0692f2d0405bf92a20a13e8700bb6a241f4d034bed3b02355a5f06d6f28c0d91b6b328fb69570b0d265540ab8ee64ba0c98bf719b7ed6afdcbc9bd80491497bb80be8a5edc1a5844f26820b1eb4007e81f003df5721e0434e2d723031f8674d12147dcdf19225b9e910c5d06999262061424e53c9e3473cafd5c1a22e5c66f80627dfc0e142a841381262edd1a7809c88092e984bd68f7b3aef6833d3c00141f1737828c17ab01d0a52938d235ba1c7172070c798d6c4f04ea3a3d19a80b9f8114b8db37c4839d3c00fa9a50d6000d759e1e1ad8bc227261fef7b73d65b93030d07d0b380a758aa2f0e3cc10b7fd9e00a5926124e094f7ae8158cf0d0c119c1a98211271ba292da44bab0de863dbf8cec004bb0b8039df49ec28bc05f6333800f4a9f5b02120a1fa821e5023b45d2d23b8d14587648756155042b589c24dbab02f8b8031836416a7141d7ead2259fe18d8f1b123200a2729a0489e3c0b4886af8981c68253ba6c869c7c7c1b38a26f886418df1b48867da046176ede30508d7f182270ef4b40cba1a602ed857475046841ccd10da058ef9e1ba2da3a9a0243a0adb028926f1f0cccba895e5fe9189b4669d8644a65cb330351f8ef0876b259015a87f375608823de3343c4d867d710b5f67b1ba813855f75431cf1b167887cda7d06d88526f9d05df8909a7ce6405735bf1e4c1f964ff60d7c159d01434636fba58038bdd05d5292e1f4d840ac4f01c5fa2a5ebdca9e86b24eab061af10b03fbb06e5f56ff12816458fd0366105501c5fa646460442033b0c7dd23a03d88a69981f1f585818d041b06ae5101d88339193d03da94a87f0a283e6e3203e3411320a30abefb3130bfb014a86d1818e21aed199053d1770b032b536e0cbc7bdc1be22e277b01bd9a128a07eb31dc915422703547f2fbb98171dc2f40713acf0c2c537b3590f913a001bce7063e3d570d2c1f3c34507fa48056b60d07408b0a653e01da1aeb2b004d2b98778121a5a1f306682b975e5f40f138a9002443f27e0de45a417527205ddaf74091b251dc09c047ae64427cf4348a7fb20b6890e97edb65f98b6245f29521223996c96f21e2f4bb0934b46768cb10477c7c1a18209a024de0bd30b068626ee02dfac5c040d5a7214af6471d6869d3ee7da0a33d980f057c7d9b9f015a8773f96160b713055f5f238f2b028ac7c5c21071da7e060a158f2f031d921d405f23db0f06c672760dcc838d5c5857422593edfbfe5f9c13ebd303a0a9b6f2c940857205b404634344e1770ab435b2b93490d775972e1fc9dbbfc090b782d18981d9b6cf80164cb5478036143a7913300c35fa00589457394c0444f2c93ba00f21ed470131f6a8db96aac7880fd5fc95eb3b01d5e7fd0ca8f1e6f97b03342951e58b810d52a2626b3ad657c7867803fef936b0b23e03940cef170686905e014d19f9be31b014a10268bfadf1a3811999470632ff9b8177d33b012fde0f57405705a86260c2b240dfb3e7478628519fba0b930692d9b581018021a015989703016df6be1e4c89dd9d015a20745c1570c4cd9181991951d1373789cdf6d123817290409f9f0a92b2c70073f213b554cb09357b06da2a409981b93daf4047ad4769a0963a37c45dde87066aed1ed0e588efc2c0464f3a45ab278feb80164ced8f051953df228fb57a5ab974520a146384a557a32370b134d068ad803a5ddaf75da0c1fb0b5da7564fa39227af064637b6a33dddb6a3707668602f9333c05bc9cd0d64a915403e4dc61f0622796620925b06767b6d033d6dd9fe61a092d65d94d72b4f803ee8ce3a80f681afec189881f802b08c31194593d4ee6915e70f77e969d2c071cdc0d0ef8f8084ea10854a864a676960f1d79780943b6e00fa4cfa98014daabeb35da04ddabedc039d8c921d4fda71bafc3c005d65fe23039339f60cac7f59036cae964cef0d24d48f214e79fb30f04b0263401be7cd7a06b66fec0aa89426d7807f7ce015d08e7ef38e219ee34b4768b3a82677e9696bac6e1fa8a98d7a13647cbee61a4e86ab2b0313da6f0ccc64e2497b0d4e39d36d9b9a8346e0fef63d8bb46d021dfa0eeb5b035f23237f749d508b0f0383f61340e9326e1a1871be34909425305452a60692f2c540cadd1818a61c03dac1ee63618823dede0d0c641e0a98d1bd3e32447bbb9e02993adffb40ce29b336a0e940179172dd4d016286ea4c40dfe1ecc4c0fe1fc4d826a1e8069e1b223becf1603d2dff791c0848fd8b39a0a4dc7902ba14e4d537c0b84392770c2cd78fde78efef2fd2f6ca40caad0125d4e783815fff393490b64780d265fc6d205d3e0df40b2b40c629efaf06b61adc136811eb8981578dbe819f35db05b4eef56ddfc029a921b2763a03581b99fcbc18e8297d19683c096d4f9fd1079980b43d5d18226d1fee0025e5cdad81fde9760c648712d03c948e2edaa2a81f5d026dcda5250a7b1a86ba8e4eded049b9d83530262d48d5773836505bee0988d3ef6f80c960c9f7ca40a9ac18d816ef53a0a46c024aa8e4d31009954e01ad581e5e1b180050e04a6d24186df6a6b5a54e4ee78678d2d1b58009653f2380edf9922961e9d579f1bee43936e942acbf1bd83264c7c0a7d65f4009d54d0cb4a62d0373f14b435c74b70bb072a972fb26a0207f7d002aea450fc832be78476853a7ed7c6020e55a8092723d13902e9f3a2557b7e7d140053b12d0784e9f0d11c96f5f40a13d883e0c8cd4fc1aa8930f0176374dbe2317a64aa84aaf0a28a1da1da0c97ccb9fc4c0be2c0da045427587409b74697f1ae288e33ed0a37f7a7c6888185bf4004d3cd8d917d0533abd02f4ee4183f307fcbc5a3c69e664988d01fdecccdbad219261716920190c24c358d72880b75d03eb2c5a802694bd4d0c0c11948688d3e1d0c0d0efbe8157d148864dfea13e5ddf181833b80754e6466d407bcbbd2c01ad59edcc052a73ef065ae44fa0a34eef8f8181cc0f037303bf0c6c73fe0a74d5b53e005215b11590718d5f60d8c8998f1b77c99d72cbba814f255d035312ab80b6e75b0c0c2c866b00fab59b8fc8309bca5345ecdbc058ce91819fd0f9774aa44baa536a5c7456029a32725c00de7a60017418733cd6291dad059c0988a0a35b031b71ec005dd574f780163bdd5e012a40eb2150644c3aea1bf88c3e37d0613d32b08b7784b67024af0b035facbe047a5bab01fad1a1348ac7e6ff73c4f4ce40d5f760205dde809a3e81ef017575476f0d2ced2a012d2e5e5f1be2d1d31fa0492bb678075a8c901c9f019ab973930b940c0da0cb44f26e2a20e54efb06de1b748da15e245e007dd0bdbb17d046cd89c29ec6a4c7f160a5e374910a88d39fb84be9489ead016dd6f0911a182d1e0275e5f5b98119669f807e88a55b05b433e9ac09b0976bb2381010a72709a075af1787063679ab1998cab310648cc013fc9e36353bff157044e70ad0dac8fb3701473cfd0029afe6c7af404e7939ce0086c392e20e2849dbbbede0ce5f1413c98b1d039fb04e01fd7ed4db9d81aed3978149f109a01f501a1c01fa59a2796288847adb31b0e55009e87757be6700bb7926e9c2c02aac0ad05537f00660857fe56e2c200a1f9f002d853cef0938e2e6cec027f00f40e363af0d03fb6d3d040c6b5c63670af00a98a4116335d7b8f35fa0ae1dfc970662ecc2c0e7a721d050ac7f1a181ffb06b4a4fba36da00e3a36446d399a185878f1ef1a4cbfd583b538e2ed4c40acafbf0d7437468036aaed4d0dccbbe81bf835d701c017dee4e7d6c01ebb0b03ab167301cdc9d5ab819f37191af8ad926b40db17f4af0c9171f71b024e79542467547d7b55a064f64f7e19b049ece806de6cfbc97f29ab1255002a0d8b7b031f747f01fd6cd5b805f0034ac9a86f60dcb267882efe680a684f84f72381f660be01b4dd69eb18d0eea6b76d40d3d6ceaf05c4c7a51e2cd3a8d3b18148d65df8ba9294046e1341ccd87d3344a7378d486e3882960d03eb2c76006f1af169e0d7082e0ceccc910364dccae005d0249bf1d410713afa3210a77303a31b6b039b76d7818e0ad0b18117ab03016df6e70850b5b5ae1bd87ae00dd08ea0950740ebb32f4e007547fb2f06aabe63033f4d920239f07c03685d633f727263a851c935713aacebd3c03ed0cae3396ea30a6e3a5de207c6b740a55407f47b6bf35dc0c9d03750291d1978525dd4913c33f07bc09f06469d7e0145f2f006606b8a64360758069d54760dfcf6939e83a5e5c9f703906b7f87aa80383d3e07f481eabc2be088bb5d033b94e92ea53e1c46116b0eab8ce5fc1296618374a947e5d8729cfeec018ad38f0ba0a3d67409b0d76f327e32505d5c1918fe69005a383e9b1aa20b977c09c8dab305902a927f808c378bfe07a055cffd77406b566f0f05746a066f060621bf0d4c695e0325d7e88f0dfc225b26d05b01a1dd447224d45d13d027ac5d2e3a64242f59ac0cac8e8b46abed589fde025d62fdeddec06ca80ea09f7a1a1d1a5881f909a4d4daf3a181f786868135233380fd4f937409e47a7dbb064ab65079b91050f62fd70222e88ae7d84410fb6d8d00f572fa3a42639ffd3740439deb17a0934752c6a666bd765a2b49ecc80edb35005139fe005d7d147e02f805b264f26060dc720a0cb5c3d0b5812577bf067e20a765e017d8174049113b885abbe3e00f4e0c6ca3500235867f2ec6023a02773ce9a6fae47b7602681d4e7f04685caa1ab576d7c15f5c1b5823710e283ee6df8002f7d10552ed4f5718f8e1445d549b13b43a803e3e7e4563b1a93c29517b0d40811b0c011af1ca45d3c070d82dd0a02077e70083a1c95b0fe8e691834e2e8021d788c5d69bd7aa0619e62e9a939e83bfec19f822f102e8a7d1ae6e0176474ee627404604bdaf819c7a6c3436f0a27960e05bc121a0fd823f804d8c45ad7df40868996bff1bd012d5ab2f81e2f4d4c09c9a3ba0413d76f464605b4ddda5a96f052380958f95fe05d0a1dc7e3d07a4f59217bc28954317a0756e609be20cd0ae2be321a07d69277d4053359ea7007b77246fe7062a94a83e870eed7717608e40327b31b013e79b204ea90c7e81265178f4006860f7e819605c2a79e7c1861adda847f599f6986097ac4b039b32f70d8cd4ec0399c60cce0dcc3d5f02c447323a00d81a3c19a6067e57e3c7c084d4c8a7e950df1a8fbb4083a991973581e2e3c9c09c4d1dd1e494415b40f04fdf0dd4851303fb06f26043ad6d7a7a34448b7c740f30dc91a45180b21e9b79243f3520d76ffbe440a11fc77a06b4afc25b94a86c58d526e6f7408d181bdd1808fe3ba047bf6d012d423bb837442ebcfc35b040e818e8526b778f801e9f5a77be0484367f00b23c0a614c79dfbc33b64abee1c4fb4beee02fc7003f2796fc1c18223e465501456c9a00a5deb39f0d515e6213f32d30881095c1a6901263eb9a81ed4f66404dbbce9e1be805bf03da2bfcfbc7106159370df1e8ab2701cb3b26b780d6671fad05f4938f7e01ed55715917902e57df409b778fa6806c99bc2e0dac072a8194537e8f80421d9278e5c99550c93222b970ba2c278062fd2732ff2655940c0f067e51fa06a8912e5fdf068690e606ba2cc7405de9726aa0bf5e071ac07bdf10b1fe9b02cc2248d215d0e26dfee80250145e95400738d2295d7d177b05b4c8f95bc1f7fa861d43046e7168609c5fb7cd737eff25078a9c8f29ef40a902140d4e91b64b561e44cd5ff6d8de225944efb31ceac7e4de6a068629eb408d845a5e1a9885d406eaea5a0f0cecaf3d3590500ba0414f693c3370ca8981127566886b241380aff7c9db93810d736b065e236f017d6ee93f18a8c7760424e565c3100975a5b07481aae283b4add4abc050f5fa124819ba996c83ff17e70ced5dbd037c8c4d9617064ae531a0e07fbf00da1df9f5dbc0fe85b7408bf996d34b401ba2deac808ed6ad55008dc0f7cf0484f6280198229154ee0dfc047921e094073dc750c3e97ad2829cbcdcf6a4ff7218796cd431c411ab7303833b0d40bfa6f6b563a0abd035b050e914682ae3568196325ddf1051f83a01f405afadbb68b3caab3340a13d3c34f04ed80486c0610f48a91d9a0a5c46acff3e007a35ff0aa8fffd45f0878082bf4c0dd41f37003f16967c2f0cf4b52f016d3cf1b00fb43962f10a689de77929e0d1fb3fc090a96fb73301c30c5706823ff80052d5631d8051b864fa0be4547d875da0e0adf17b1c9036f23882d4afa7c332c2721b89dd70042d0a40d31b4635032f234da0c511ef1f007b4127d36b409b87bf1e19d8b4ea01e8b25cfff302d0f69efd4740cb07cf755b8dc0dfdd18e288a3124889e4ab5c4014ce6e818c827c7f02e439f3d85a01693d6751cdb6a7f4973b54a2ee01a5fe470974a861de0706f6c7ad017c044dde7f0db4a6430135eed91930d45eaeb786c86387a700ebf82ac7898066edbc03e439695b010a5eceea6ba064f06fffd5c0cf1211b8948188caefbe216e7b7268e025a00ed488f552473472e6a045685bce418b07403bf8df3f011d0d11b4017d477e7c077ac469ba0652166ebd5d18f8e1a273806d132b27358008aa5c9d1a22f8877a0e3ef8571ede04aaa574177d9f3b3c33f0dbb5512a5ba946583b7503e5f6d210813b5a1822926372cb066abcbd1609d0249f7ec4116d67cbf75b40bf67b13833447c2ccf0d6c80a16b68cff2716a607ed011c087b2643a00b4a5eeeb9781fee915e0dd3c670686f61680562edde60676e0fe10902e5773a000cef7017d07fae9099812b0480c4c7e8abcde4e19624c2a85406d141194d6c9dabd43812a9477a09373db38a5e38cbb6c1a981af90674818f15a038fd3c01526a87514f4065f0b200726d8e3434b039e39e81cab1000aadc07c05d40bbe7a303098d133f07b38919337bd42ae717862889cbcaa008ab1af5da028193e8e22b69d1aba857566e05dec01f09791968121b5a98115cb1540df4ede1e05c4e97a1fd01e00a33320d7d69c3aa5a06d38fc024ade3daed7067a17d10fdad4d91cb17b66a0fe981af8b1b0aa8136ea4740241fdc011aeaac2700134193f216d0cb6a7cd0dd40c1fbcb3872e1764c6d0bab23035bb8d500b6d44ddeea06e67d4e815cafd5c700df4e92d743439c12bb256d40cdc94924762ff562a74c4068af386553e6020e27409deaf3fe58a03af91b681041d51f4011f43d10f076d2ff323025e009d0a7c5af0ba08c7c5a895fded8023da588b1a1b3657c6fd8fe37e396df009bed27a33a90a920a7008b36936106284e7f3e0cc4c76740aa5536c7ff20b2d4fe4aa028fc07fca6df1aa803f73cfaa64526f54f00cd2d6efd009a28bc6a0888b1c3998155f1af067ee2a00274808337a09bb3a919f19166059b13ec037919178d5ffbddc4609574a9c511e9909d7c9349ddc0e0df1a6053f764f1658874798962baa91b34ccf06aa00b776ce0e73c9e81bafaeb2702e2f4a66f605a630ab4a8609f97802693ee2e0444d05764cb34e38b55f219253b73587eda40aefdf90ba0501e8ba6204bf934908c3203fda01fa0466391fe1af86473006811fccbdc40875517d57aa0838681fd729a0636683b16a87fba36b0fb6d176831187ad032f0f3481702aed119001dead3a3aa804eef7407e8513c765e0c6c1ba0f84881db6fa02899789002651177899ff1dabc89d569d6bea3a6cb87accf4e168f404132c492990d940c208ea37bbe49483a4647c780be018fee002ddeb8ea1b58163e1150390e56063efb3c19a21e3b68036daacf433d47976b741b405930a812c950fcfd45e02600ebc493e599818188683d368127b4ef63807d2593b739c0e785e4ad6f6050e516e0e341f2ab6be803e6e5a78002745637f022710fb4898fdb0ed051a61374c9527ef4945a2a06983790e5ac298a3c560e4bcdcc88b06c024ff03f4f01f60c4d3e5e0cfc4e6202f0a92479df31441df4726ae007a5740afb8f25af4f02cd82ce0d345ab70636cefb00da44d0f58b8155472da04776e8eba229af1a65d3100955d3936614c27e47c0299f0706260a477dbae95a15910b635de3df7b67c90f186c2bfabf5a4c05680db0977cb2ba3030b6b50b34d4a9a9005ae53b3a374414fe7e006dba7007c78628846f978026f81f9d1822c66efb06a68c4c05c4e9c129d0a5cc9de82e6a098ff4e8436aa9a33b03738b07404e24770f8142ad7a84a5e6084aae0065cbc5b781ee46c7c0dc9e3ba0419cae5b060ab28e503efdee012d5da30b68ffc2516e602c470fa69ec1c90c507c9c8f014daf3c3811e44cbf1d0139a7745e818282fc1b2957cbeaaab5d7408b3edddd36f3ff458f22e81460f3df643231b05756c5c0cae98681858e23402b635713030df009a0f8781800ec0a98249700fb6d252f33032b74c706e6077d1b28fb3f06a68b750c4ca2e80b54d497408f231e560222f9ba3430b4a7f8185249bf2640aa45131f025ae44a0e144594b93951b829fbfc4c53c447c3b9f0e3d640c7e81c501efb3c03f84a9ca43b408fcaf1f6c5c08ffd1c0ae8c1de140666da570d7c4cb900865ce3f8db40d5d73290b6af02b2e5e0cec04ebefb40aab793e780acc6a842792328e8281296ac4d4e7ee918786d5a039d920d74ea066644ec19685f52a05bd287d9f60b37d9b6a937beb68181bb29a095c20f09a0cfa4e3ccc034e013a047b376f00db8a8cf0c44f2c4c0e8b92e4a14562e8e0d349e8f00df922a075303c3a55f06b66fac0bb8c6f70860966b92eaa28cb026af4340c383bfaf02eae42a47645552bf7700d40b06654b03eb9278302543e53933c4a33f6f1be0bffa9664f8bc05f4ddf46b6660e0ae2160ec623d0186d430af5706768bbe3344baf4e6404aba9cff08a83f6e7c0405e8b461a00ed29366c4fad99b8008eaef19e2948b14c8f5a1ecdbc03cfa35a00fed8f47863862e7142879b09fa8b65a9ba68017cd1ce8d2a3df1b1be2392643a0c7d7fbbd8a81f7860b03456c62e0fb7e5ca39d6a4feab34f401fb98ec780fb52f706ba4e97024550cdc0fbdc03909350d76d0147bc3e0305ade94b6988f878ca0ca44b6260b6adee52d288df0f0cecbe7f6ea07ffa63609151b440ed4df16033f53ba046db507b0178a149a6bb02eac2fb2ba04352c68f0c6fa0475772b76160a2df0a1802d3962162bd1669db713d163f62ffd740ab997f3230b03b33902e5d401fb81ff7005650259313030df09d8101b363012937ba07f401e2f2d2c09eb2ba6da9d7c8a8b63a9b48e6270e32a0492dd57e31d066a78282b5c4ba460b980b8664fe75cf10cf11bfcbb38588d3d840f8af97ac58bf35f01b9891f9b72bc723d65303039987063ee77780a1f696fb0472cdfbfc313001e2d810d972bf6b20922f007d28db5d19e2d1af3a8678f4fd9e81e940d70206ccee6f0cd1c5bf3c33442b76de3650c18e0cb49515a0e4a2273f06562ead0c51f3a7914fbb9bce04e3522303ddd157a0ce833d9780b2435915502a1b0f805e233b3503ebe6178282568c48ded4a7718de74b03d3d6043da6df4ef4e8fa5afd4cac6f324cc4d8746588bbccde0ccc70bf37c4cbfbb001645ce36b64e01aef06f6ed8984da4ec98ca27e02e873fef339a03c362a00f50c0e260606fe0f81920cb3772a20b12fe2397a9b721b49f99a023575cfdb403d679c6e04f0c13ff97e3344eaeff1e8ae3e9b3c9893b23a057af4c67b4b03bb237f03c3f8de50290f0d91615241cab0ed6f05c8a81dd6bb06627dcf10b1be3707724ea90d0db4a6f166b11dfb0d78079801902c9e0176154de6330155f0aa09141a43c9004a54f2160ddfa69fa4e9a6bb067e37a12fd0d878d3c0ef250d0cec62f504d4685e8ff70dbc9df40dfc70c03150a7ddeffd00cd8246fc0d6851afefbe0ae86c96474087d46fcc812e17fd7d36f039bf07f48aa81d62c6cc1f903faa67c010a078fc4104ae3a3344c98e55475b888bc62f9fa77f43ac51f3efbd002ea6a5212ae964698848fed46d956166fb06dafdc2c00e54517f6cff891cf40f985dfa0528072de6023acea3265068eba32ea0ef84c3e85ba6199f05938f5703a30a6d03abd296803e4ebf0e0cfc14c78921126aff54402ebc783290a5de0dacf0bf07b466e4f24ba04c97020df2477b17d004eea3b180d7a652d0d2db6b1f20d32554d269d68d2c957c57815ec1571edd563968d10052c1da10592abe6a6c21ae31275d36f92320e6d36d2142fba98be6c04bdb40a766cf105118f383fe5e22a90bbfce0d71ca4bdfc0e7c95303f9f4dd1051187bddfcbd88527d0ee3b6d9df5fe48f5f40bfdf109fe3fef22019e66b0e6839e5edab40897d07d439e5ed4a405772ffccc0a6005343b40dfbfb0636013c32900bcf014df6d9bf00f44562ffd2c045af0cf4b6fe1d1151f8db045afa42f30ff8a4f70e6800717d2228f8d143058ecf3e49aedbf60a96663c034362ec5b171dd2ed59340d11daf8f9ac0da4c0bc27209f966d43e4d35a0bc854171e1822c66a8786a81df67444ae9c3c35c4a317d786087efce0c716a269dcfb35d07a282ccab8d38e819ff11a1822b15f8e8112a84796ca53f6d74e563d403f4eb1ba14505b2eaa061ae0c4103176c129191ba226ab1650535fea0ca86be06e6460edcad4c0ac8a818171872ba0a1532e0c7c187a32b06684c06daa3e6abab62067386c09b480d8b7670b51c3ec0f0c11ebb12def06dac0fea38185b04472c627ce2451f0559f566e8161e4f5a492094af652fb00522ad8d87dee0f4a2672ed0119e565a938cdc8c9b523030b837f809c9c7c3f36b01345cb10b75d28b4cc54a92c5606aabeba21622c6f1ae8a12406ba92fb86a860f303a0e488d71f4364dc39a99f57b9682d33c429f3dcc0cbea9b21ae31ab1b28fb64dcbcc629f3cc10a7dcc74b51e1e2f119c5b4f8d711e8024cf748561da0ae155475a0414d77563544584edf0cccfd3a04c8a795f3a581d27024a02bf9ab23f4a17df7c91081ebbf1a9822d102da8ce5bceac13a3cd84eddc0b6cdd740ca35daa7029ea33c36c445cb04c8f8701833bab71061592af8195fefe37be5dfabbb329d6e5b904ff7f60d11c9e5d010b970a1472fb94671636041ffb1813d117e0db46291e98abccaa3d7da0255d2df06fa1f078688f5f58e814195534304ff9347ff970b5f0cbc7b4442957f7fdb23ae236dcb4c3354af8f0c246517a07791acea003dc7e4ab0334e85dbcdf03ea28ee4f055a23716060e2d2d810917c5215901de673a0c50cf7d74c403e3da81bd8c2ed555030c759d768f38efcfb69600a6f1be8902def1b4097e7280a60c8a07d53c1cf38a57a21504eae18683d86065ad31590d3dd88adc2b61009f5a2472fd5fb8c5abbdca43e33aa8686c863c59721ee520c809a3aac5d03598aec90d7d561dd3350f5ed1aa2698c956d7ff947cd7c0d5086f9b833f06ded0b508619958026941de40252eeac66a0eff000b433761ab81630f07fd23030e7bb2fe0a2e72f06f6516c017c9c4e469706dea23b06865d9e0d34493aa54b6d79f268602b9723a0c76d7bfb80261d750f80b260b3fd9a81eab327d0384c12a00aa592ef1a22b1f39a211e2cbe486ca0c635f2b62162ece5d1c0c2ad85818b360c34c075033d4742bbc930914fc75786b8462ca7dc4204ee73df403df66520178e0c34c0ba4b433d835f439c32ee1bf89812c1affdfd454efe015abc788f73a0cd3bf2d9814069fb2c20299f6e0056c725e99e8121f90743c4c7debb806c793235c483656b80379c24d56d7b64bafd1f033156078aa83f92f20460665765d11290e9de2b86e816c772fd2d44051bdb9dfe0d32e8c57b6188c0edf60c11b8098fee2cb5981aa2bd8dd18d2d4476987d18a8c766409d7c3a3e36f04bacc4e9266d23a1e6af06b2546a8853c62d03f9636088fc11fb8d6fa0a99c5c181820dad6da9b76b0ae85067540d3d6be160039282977041a62d4115a4e79dc1390a51e1a80d6893f7d19e2395eaf05b4a6a72301d738f936c493667af49ede4e740dbd01570e048c171ebc1af82c7808a41cd1d6a367fa149f0239d3095f3e8082bab03517a8e19b00250d5f2c3eff03f269ecc8b58538e5fdd5100f165bd96edef7aa3a223144c68d49cf7f2f91c0cfa721f2e967ddc02ede478688b1064f9a3311b4521e1998cab33030eaf466a001ce0165dc970703bb36ad0cd1edd9691b22825ec91f9b6c19d7f81818e21ae37f47d0cc3f1ae839ee022da01a11d4c898e49b8c2f0cbc9d1c009a90fa3006b401467a6ba0995f01da8665af678864b84e0d71d1e36b01796c7f06684eefe1bd80ac3d3905982e56d94f0d4ce599024c6bacacaf0deccdb0165027f7ea061608fd021963e31daeb1e9e24758e2a7d1b6c0dbc9bb806c193b2f6c818cfb09d47835df3b37c411b124730b7197f789219ee3fdcbc04abf0aa05926f7ba469d537a0d0373592e0c54c124e526d3c529cb57435cf4f5dd10b78de5d85b20afb70c54c12786c896b1d3f316e8f41e024d8ad8ead71017fd9818a8e89f0d7448f60ddca56960db916fa0a5d66369a017bc36d0581c19e87f2c803647dc441e6b66ec5195c416c35be03dea13600a6fb25c1bd842a509b4b5e7f08f8175f3a74097ac4dea37b39eda97a681cdb3260666fd0e0414b1e3a52132dde92ba0a6e0e4c81047ece7006ff349d93530389c019a49fd5205723e50bd29f8340549b103942c119965864897d8d769f3cee8127502d4e8c38c4e0d6cdafd02d419faed2e0c71516aa9a68a47921d1922afc7f6f35b60002035c44597a52122b97c03545e466b03adc7be21aef13336d0d7ee00cc93ae8c468688a0d70f03a71c1922703199740b7c8050f05b44d0626988bbe48786b8e8f8d44089fa36d09cdc022a0d1f23036f8dd102b5b2964ac38e21e2343efbfcfd2743aeab9a81ed607e8121a34e544a7f40ebb110288f0d8154c30c130147bce640a629123706a69de839c8b895a73950d0143c8e0dec6314adfae6edb6601d5f0a3434a1ecc2100fd6b8059aaa710706f2d89d811ab7666018eaca1095634c14de42a4cb42176da97bde37d03daf1b78afdc3150e366066adc3d43dca51c019ab25a5e1998309418e21aaf73435ce3756c60e5230995773435f21ff0821725aa9d693eff7a64604ad110e830fbe7b5077419b9ba9802cc1c4ee2b3e05f7f5e33fe0b01d9e1f807204b5506898121b51590910b2ff4a499faeb5f06f6a4ae0239f5e9c5a3803af9e80ad0d29d3c6aa9f6a60e8a8bb638226fd011a8ce0dd1be6437022a83f50268b22a6daf6f880c539f1b988e9c02aa505efb067ac15503439d878648fdf20260579ecacfdc401fb761886bccff9d12d7987c1ac8ebdf80a645c74e475b20e38e0c545bd7069af901d0a5cc7dde189867f063886bc4cfdc6f8115cb91c73aee27ffe68026e70ffa00fb4927eb3590d2e9ddbb32f065b56260e77c1f410efaea02192313310d670bfce4c3c81019776f60888bf66706a6670f057a27ac19e8f6ec009ab1bb77676043a1370139f92a3570ca2d5090f94f74db8253f6ae815243ae53033b5110eb9bde389f057f0dacc3990035e0213330d53c01f46971fa24606037391550e696ba46833d108b43030bfac7405313754e0d51e5147d014d41a70ab478b3e87605bc3714478688c2af8181493633035fcd97409b539689216e5bbe1ba2542e0b434450f1638822968c0cbc8a9e19789dbd3030ca42da6eca5cdc65de37c45d466f06cafec4c05d760d5406630343e11706ba2c2b4005393e626c8161fd89214e999e033dcd1cee186881227f6c7f76271a9c2ba047a766f96b60ce7715a000558e5e809c2193feae8023fae706fa1f0f0013b893d18b813dba8f05148f911eaca49793e9a294a8cade8d21f258ec71b779f3507999a5807ad23b05d0a27d290e0464feca8d811db817409b32f7fe2d5093b43244cfb13836f08defd7109563e3cb10f5d867cd40d7e9da40fbb267e05be3d8c0afec9e001d86e45f3201456cd834f0fe72608848de7934c445e35766b63fb9c480ea93811e7d69605ad2ab8106e7ce10b990d6a3fbb75d633c69cfc0a39706de6f0f0dbc892bb49ed14d1ecb35b99691deed569cdb23ee2f00b5623185660bfce8d02b90d1f0ed77809c7c7af22920af1fcf0d6c34b9040a0da757042a405d033f633e064af5f92317f6724dd14c6b004b11927266e0f7a374449d7c7aff6b60e3ef03a001fc10da4d5e8f32b7776360e8660490d793ddba210217bf80ba85b86dbb04940bdff7047a37ed1ba8a4ef802eb7cd46863862fc0f9873f569a0cf7f60a0ebf46288b42d2f811e8530ef1b9855b13444964ad686c852bb19a0b51a9399214ec9df0c71dbf8b9b9bf895e9c721badd8f05f2e5c005a72b7dc01d40fa286196e7221cba10a400b628e6702b2d4e11ca072ac1c750c71447fc7c02f4c019b4cc746e87b020dbb9c0235864c86a5805e4e76666011fc39a0b94e3b4702d5da87064ad423d0e065f5f0d9104d74a6276d2aafaf0ccc71be0334272fd7455b0cda2f7c04b576726288f8c88842d7da6f19d0a13424c7062ad89a211e2c3eb46f21e2b4fc0094d763f2f5165846f06ea0cbf26aa023b06b602b2825544f53f0ae0cf42e3e0d9406a58ba7cd8f0dbc67af0c4c08f934507fcc0cf160d98381a94dbf86b8ed640a684944ec18bb05ea75e531cda4aec58b55faf7b77d8ed5be21ae7190005aac70fc21d0348bd2405f7b6c60217d64cb7493f999a7341770cad1b981fcf10b900b37ff6aa0cbb26b60c9ccbd211e3db6e9f97b8b0a48b23d4314b12c13307d2e3d33d0a35f18a2f5c8ae8136f57a56033a1c915e18c8fc4706bab47540ed7ef60f98b53734d081df33c46046d2374404ed1c1af8267e64e0a705ae0d0cdb2ab43de263af146820b36188f212bf4eb9052ae90f0317559c6ac67f6c34b9051a9c4b435c343627d8020d4e6ee02ec786b8cbee3f88472f4e00d61554925f03173d33f0be3f35506e5f814c2b41bf0df494ae0df4b6ba80161abcbc18e288fa122878d234622c733fe8ea0ed002a1eb68d6323716c7ef02cadcd199818d8c7b007b4325e3c240219c092895fd6743f41dde9600eb4e1246adff209e63ef5e405f6aa2e768689780b521e2636f47403b77a2539a1a1d9d1b98645331c42bf1e402607e5032d45d546e7ffb008bd092bd3343c4e96c28e0a5393d3750b273a0a3923d34f08bc17303bf88521a98d43a3330acff0574b9683a30d0ac4d0dec87f26da0d11a1a187738343087b50b6841dde21fc435566b039b214f0c1163c981816d47f60115e4970343042e76cfde02af1aff4e8927dd3d31f069f1dec067c173032fde09a099f60b0335ddee8d218a29f57ae6a21efbb06e81fae3c4c0184a1350515f4c0c34c04b039ddeae81eee8bb81065869abca607c60e08703a269cc3336bc4c56bb02c6e9a81cf38cf5d9c92a05d8be3159ee1af8c98788d3dc65ffe31ff0833053813aac6d03b5c39b81d57123a04eedc0a7e73c67f671f2fe60e0a5b907786cab6e60eb4501430495f87dc2bfae37e5b67268a049ba063af42d1f0f0dcc97da37506e0b0311d43330c8a408ea6a9649d5c008fc8b810dfc16065e137e0c4c80a8189843921898c85518e8f5dd023d5de3cac04e149706763bc90d1163c32f03b37e3f812123352f8ae421ad7afcb0d516a2dcd297cadd22bffb1aaa1df60d7ce53903526a87c9b3212e9a4c0d71d1cf4303a3810d43148fd36f4033656ba540439da78688d3e2cc4095333444b65c540d54067d0305f9c3c0241b25a5d6d03023f30fe21abc9de42eeaefa706aed104b4a8a61c1898501659aac858299cacf60494fd58a6b601568127abaa814d455a0636cd8cbb149b721b2f89771d0347b40c91e92615400b620efb02f50c744a93567da7276084e42d053463f7f5d6c07cfe1fa0437f7d9d1ae2a2e79f409776ffa52ea098f6870666cb4d0cacc05c1968b397064af6ab810ffea5214a767e0df454a1740c7c9dfd3150d48706bebd2a4ef58297a60696eb6786087e5347a8e1fb52f0b5d0f1ae61d85e7430ef19a83e07062efa0568d144e35e409cb64f0cac7d3b32b0246261a0889d1ae85a17068ac7c4c0c4837fa7f01c332067eec6edd0c00befbd819ef41350303d6a3231f01df9c440149e015a0f545e1be88d4767a254e73b61467799d73440b400b41cfba806342862fd5f0305e8cec05a1e9dd2d411b706f6533a00b4a26c7d666027ceb580d674720eb479ad5e5f09346e796b60efb019d0e11a433d7a9752d96f1b7847567c500893ec02e809ae0ccccb991ad83e3a3344cacdfe1d11a532167f6d218ad8d3113054337f688823628fdd2d44e03285d64bcb0f0d7cf5ea1b683c3f0dcc509d005ab4193f11bb053e1edc18683cdf0c0c43ed19e2a22325a5961f7fd40d348d4786b8c6e41fc435bebf0c748b95a5b4946971658827fdc80c748b770c7c797f31504cdb86b8cbbbe2d405e8d340a68bcab12cb4eea4961be8f46e7b179b9759764d48967b80de4dfb6b405313d6e78016065f1d0878033ef83244963a3c32447c3c7e002dbe15f457023abd874b039fd12f0dbc8aead13b746947af86c885bf3b06de09eb06f654f904b4407935037aea7dae0c0cdbde19d84157c11f52b233054ec5235ecdb740a3f56960d6de938196f0dac0289c4ed112e6db73039dbc070313db3203bb695d1a22d693374364fed63790a97bfe616063b48681ac7d6aa0077b646096c9c8c054d12f43e4a0a6ae9113ebf1abe55b60b02b3530e7fbc64037f0d3c02ca4025093d46c1818c65e19586efb626092ded41017cdee0c4c25ae005a0d16fb5a6f814d55e7063eb78c0c5cf4c0c0b71352aed012a2ef7b030df09181afe60950a3f18c09ed7f2da5daca37808d0592d5c0c0cec61f803632be3810a8ec5f00dada77ff5bc0dbebfeb18139ac6f063e923f19e21a87ef8628d91f3a857d8c92d847e00f74d17f409bbd30b006ef05a0ec57f60b03e3413aa247d91fed1b98ee513530be7e070cb59647b755518f81880da414f597c440c91e1998bbf10c50a2929da121c2b29c1b28a66780167d7f1e1bd887b504b4c63bfafc5b88589f8f0c0c522f0d0cbb3c1b22f869c3c028fecc10b9b0d906b472a9353330ee901b22e55e13433cc7706ce043ea8e81ef400f061abed210cfd1e1d15d803e5b06baa39f065e34ab0686a1f6002d87caaa06baa351f6ebb97e89649d1878056c1b5876d301f43e77f40a90f92b87ba283939599f025a8674343444529eed1bd8d1ef10d0bac69b1930642ca7a81998209302a9265feb146d4e907d1958e53b32b0d5e01cd0eb4aec0db505c6719f0cfca2c1be8169af8ab15cc32e0a3eb576a5bb34f0b17edfb08d8fc1bc66a0c75600ce746b43c4d8fb99810f981d43a47e716e88085a3c19a8c66f0d2cdde19482457995977fc09c9a9a816ee0af8101914303dfe6fb86b8cb8fae413e4df65e0dcce9ad18b8c68d81af2ba46da1559c6b92a1f0a2bc7d431c518bb6a1913734f6b90f688f99c30f4075f25113e86820b36560d7d96703355d0fd01adec32b01c563f40bf43487e41ff05b032b033bd80d81a1c63fee0c6c34f9646010a161600ba63d80599d95d34f037bfd5e1af8faf665e0bb585d4079b956f0337df07f37f0c6571570cafe8781bee5d8408dbb3430c8b4638864982580b60cc91e0d9171bf5303a77c1b68b47444a1657b7d037d98ba814d88cf819207fbd835f099f4d8c02e569c5268f9e0ebd040f7ebd91077a1cfdff857a2de0d74140780565fc7067e5b6094e5c2c0355a065e010f0d140f326ea18528b1c1e3166870fe1d4199d34555e6e20bde1658084ba62bb460ea368e68bac776ff0ce89715f61381dec57e0c11b8e353a04ba93cb832f0a3102b40cb90624bff0d90d793d702e0376492973b0329d730c4a3df6702fafc877b86e83b7474975cf30cde0c6cbff62bd09cde8621e223c671b7c0f0600d507312fbe26f215ab1ca918181991f035b1fed18f82cd8054a4dceff30d0857b32305d2c326e533939490f0c7c8a7f3530b4d73744f1c8fe1d410eaa025a63d5ba3490b52f0cf1e83b4d039f17da06de5f32036bf04a03997f62e0631b99aee0f7e62bbf1f06d69d9c1a58413534f03e971b981ab932c4737c1f1868d6fe1dc1b4353da9d6f0c68f526d8141d9a18146bc66a0201f035acb13bbf26c81dee7c440d68ebab0e5f1c25506b4f9143fbb07ba8ca11c5c0a289587370646367551b5620747061acf4303bfdc7361886becde02fafcf4340458389ec424df2d3000b003649a2db767881c94b5056ac5fa40aeb23f116840e4d91077c91203a3a34303cbc31640a1eee8c0c02f4dd40c8c5bbe1a98cdb0324414aefe9dc217ab35a0d795a26988cab17f64886b1c0d0c11a7776f068a3a29f7afd1ba33c435a6ff80f56223039fe22f0c91e9d63cba8a7a92ec1ae88def19e8c3f40df1a43fa5216e1bbf6dbc0526a5111617d3f2d6402d5535306e593750a2f60dd40e3a454bed2757066a987303d77834c435dac7804ae5cfb981be4366e01acf86b846f10468b1644d11a4b5913168bf29b5daa568f56c606d6407d0a633bb2f803aac978f00ab7c93f58f81697c068ae9410d185290f73f0dd114fc2e8094db8e6e00edc875f605e45a51f60db0b54d12d33db640899a18a2d6be16b0ca37f93d13e81a0f86282f3b898181081eac60617032be35f0234c33439cb23837d073fc3544049db5012d2e6e1f1a2862bf0682df37b046a261601a4ed5c058f09e611ba78398cab305764a3b02ea6a6fa7063a131786788ecaa58125ee278634ee5235d0d97c33d0e0282c5ae15f4e0d71d15ecbf07fd93bafe5c6955e0b3f0cef514eb2ad4b49ce4996a3ac3b52249573d6d39f46f702a8e8349e706affb5bba666be2d512457038d4e68f45ed30a107d460a3064220006e4e53c05b0ec4705585cdb5280f8630f40f6ac96460ab0f0e04a01ce7dcb2ac0455f15c02ae5c6640348f75601c63e519323d94274e00ce848a2606f720a20edad4bf266802f0b63870a60843b0ab0dff41220c088e2e9ad027ca5adc07dc59dd3ccbe010707cc76146064b32440b2f07a0adc2bccd4156074f41500a95ca876aa0007af1e0244f88a5bc06d01d29ebd2880d8050590e154019a828e00c4eb851480e400e8cad34a7e98da9b021719f47c05d872878b1acbc66ec19e02a74b6fa6007958230548e4239f903c46d39102346b4505486c74abc0558723bc20356497e5dd026c984a2970179dc50ab0c4ea4601da28b9a8ec24c730c391daed38af0043ae670a3074d351005d50839286afa8008173a40041ef8902c4eb3d05ae9d230280997a74af00ab08ee14c019f414a0793d530023843544b24366bfaf000b0ec70a306026f721bb06f68a0ab030e54001763f651460f1828b618ef93f6784f700d2004f4305ae596bc927642ce7e4420162edb202acda1b02c8a1a9e7fb0ae00c02057006390049b3d1280244f8957a5d01d249650062d8adcb3361016c2ea700499aee0488115614e064961305d8fdd450806df2ced31d473bf8159779818124bfd14f88bdc40ab017b0a8c0d96d9407908c3a6e8baa05ced4ab450598c0ac2ac0b0ed8e02bc3188adfdcaf24401fa95450598dfbf578066bea40019eb6f1460f7e400601faff02854806e755e016645330adc7df4ee15a0f7baafc0d5e4392a5d24fbf7e381021ca1132a405ffd5101faea6905986bbc5200ffd154803d3472a79a73e74d013ade9e0284e74d0558589f5300d727cf22b67fe02bc0e69e270570062505b8d39902442822a5ec36de7f5680987f5f01ae31558060e21840f668b649017a2730a048760c3db9a0269df88f0705082686006519d73e518000fe4001f657a61460b54b162044bf213712200b200e15b8c7cfbd29c094cd134024f1ba5c4376fb606a312d0e8522b90f71172e1d8c0538a3ddd58fb47106482577a2005b656301b806bae66989f9a97ba0c0c5ebdd170009e0ddb9b316380fd308156013fc890244060d05382f69ae00bdf93180e485f33c05f01f2f0ab082e85c016668a60ad0441715b8104e1f5f6cbfd653e0ae517f55803c9b6f0ad0b31829081d0814a0ab21b77e202ea7a1c0fd6ca3afc03dcb30ab00969d538009ee9a02fcec5081fbd9b740018c50de18760bd2d1ab02ecc1db558034f81905e8042400c702b414c0e5ec28c0f8c74c01a69e1380e95a515f53dba4152043c8a1020ccc840ab0d4aba5c0bd20f214c0c41280be58a400f7210f273bca0eae14b85f397a5300039a2b402cd5568081ff3a80b8ad514e81fb44e91e40b688748f14b8600241af3d1edb0297b6c802a440385380658d6900398d71de51e02abfdbcc62405992134c15e07cf5148074577233059816cc2980737c52803194118024abcc4d04c0c1e6c60a107ef90adc350aa400d798034826df57e7d7fd087b78bd7a5581bb68a1a600239baf0224da1a2a70ae0f638ebe7abace85021c4e51528071cba602174b21b8f223c96582096e5fc7d7eb2905d8c975a00079368f152029514f01ba4d4305709ff7009220655e52e05c70abaf00698abb0ae060f30adc45ddc61c0be01cdf14c0399e2a40dff4400166de5f00e0fabc938602ac21d951808b5615605149ac000b422a0ab06b60a600418ddc98b8be83030578da5d05ee69e956015cf08302ac658914b89fed1c2b804391fb90edd895b902b4514505e835f615200cbc5400bf9e7c0283a11ec091ece4da5180b34ab20adcafa4ee1420d5f1b502a40a4b80fb95b95cf458f6e03d29405390528084fd2d05ee579a870a309475a900abb2e4c624e3c161a400716151016e0cfe239215ffbd0b05e8573a9f1ca82f9c3514e07ca04880ecbe3e05101f944b80739ffe2b80e676292b40e4f8a8c07dc5656de2df90d48b3501b2e1f21640b225d51b026411f8b902e472956becc93a839200e935460adc571a290598484d3e8100ad0e20bda44653c1910b37f61460cfd99902749bb20ab0b57c1f406c3faa284008575200f3483e81438702058883ca0a903561a400cdfc0b809afab30278cbaa022c394b000676cf1520ca49ae0129030591fb8aaf00e1977c4252ec44590588728e1460f4fc410172dd249f4057b4a5c03ded91dc986cca0b6f1560b1605a0126a7f30a70dc4b47010611660a9002a1ac00e3b830b14876d756f61420c54e4f0142275280aee88102cc013f01c8ae7877c6b205d86b9e52e0eec3db01908db0580e14a877280d156033cb0440b6cb95dc45cb3af48b812abb9dd4b98b182094e35e4e0124cab97a1300db7739fef9241f89a58e156096784f0162a943055833315180481ad788e44494933305ee13f96b05880b094002a3c99102cc47a505c07f144f0064679bcb7563013aab970a3094752e4042a781022c6daa022042a1f64881f341f5ac02acb6cd2bc08acc2ec001ae31bc55808369ae1560c03da7c0f9a06c418133c2faa502a495b8508080e40540520e4d720ae0613a0a305dfba8004d74720d38b6820227437357011cdb85027898e42b580a3804907e543d54e07e367c5380c1e18a028c4a9e2a80553e2940502315e648b6220c14a0dbb4a7c0bd3197bcc202ecac9f2a8033b8518044931d0588727c00c91a19f615e0672f1560b342a000c3e9c957105cb515c0b1bd2a800f6a00c816c47e4e0136b0df2840849257e06e1dcb2ccaea94aa7d0558fef2a000418d5883eca02abf29c070988bfa421975f2e60500f8206ffa28005e6a365480ac4de70a5cb7699e0788b1f7ed412e2a2ee7c4e912aa8739e92a705f79f50124efd7dc538031fab102f73e268700e250303ec600936d450588725202d07dbb966bc848af4b1269013c4c4101c29e0705d845f102708067290d0460482d2e2ac02a938202778de944817339ad9e02acb78c01248d933b8ed002e7d84e7c05d87297569076b6ffa0008b39060a30c0dc528049ae2c80841b83ae02e472ad284094d353802ecf5c8153df9d816901cc740f40f34b5515c007ed28c0aed68a02446c570a105da05aaaa9a73a0ae0618e156035764901daca0b05eea2e11d8064e5491f2ac016c46b05985e282a4047f35881bb68f308404cbdf9a8c07d253850e0be32949a2c5935aa470ad0174b3e814df0b700b215329a28709f78766f3dd280e4dc3d7ea4669aed03ec62903adb53e01eff21548061970305b84617409255dee414c07fdc0b901ece1dc03e9cc124a500ed9c2f005f7169f10c10237419532c70d14573470156b93615e028f4ac0267a6cde4a22eba787b02902c5635f98ae483ad870a900eb7a600179d2bc034d84881b3ec6ca4008b5b4e1520d58ffcac64d471995a2dc0845d4681f31f2e41bd054ecade8e024ca54d1460c5cc9e02c41f6305aeaed7730ab0a05d9e45dafdab5b05b0ec2b05ce2afb8102645c7a5100b12f15c0a14c14b81a742315469278751a0a3061375000c776a600de21ab001e6647013ccc3180a41e7079142d701775d90a2c80772005d864d457e0fa0dd9ac02f4d6720ae00c6e15c029c9b348521177eab005e8ad7514c0295d2a403071aec05df46a0a207b455b0d05481576ad00d1e7a9025cb4a400114a1b40921334870af070c70af092c53cb0d9daebb9d0299670c39b5604c84935ee59e2c4e508909ca12e07b305f0522905ee2bb943010815eed200e283f04e19c09fca57c47f602746ac3d8bc61b80a4b46bc50a70ae575b81f30eeda102ac87b95780763f04389499f70705aef2f76a0a902cea480196abdf2b70dadeb7008e643ca8ac00fd9750014e74ac29c0f6e3ac02671eee00030b903323b9a8fbd9ceab023894230578c9390031e493ba028c180d142007c04c01dacae42bb0ec8c026ce8f701c46edde1f1162030ea2bc08cd554012e3a57803183130031d3f28d026c42bb5480f9fd2b0598be964a275bba33b1027412eb0a60fb2d0518a9e9294037e15101fa2f5d00d9c13dbf528051da4b0530e48102c41f370ae050c43cf458f76b0530f56700d95eba673dbf893e906bcf9b3e29c014c51e80a4d8c91d0980dd66cf00f6651abd2840b6fc1f001cc890ebbe026cb9eb0248ab1e1c2840e5af0348aeaca6fc8ab4c8f31705c80b375480fc1f470ad009785580a5b3721f47f8954c4500a28bf9b502e7724e924fb85fc9e415e054c8a1022c9f3b5700f57b00c7e2a5ee1560c6aaa200314cacc0d97e5c57809f8d142098482b80ed1715600ddaae028c8f6515c0c41e00d2325bfda4004b8a5e156081ee8d02c41f170ad0796f2ac070474d010655ce14a0431300f8d27d3b5680c6b3a90033cdfb0a303174a9c0899df301c4f6830b05b0fd99020c55b414a079bd5180be87dcba266b785280a13d52806bdc29c0354600928ac17b538008452aaee4db8a457dc9fde38e78e4eebf0c335c287075cc9d9467feb98f7964975792010cf9a6a6009b257d0031e4dcab007cc51df36601b226c827e48487fbb40031e406806cd89e0f15b8b73e953b95f31b6691028c4a3e2940139d0790e6b5ee29705f69fa0adc571a3b0a3070d75280838afb0a709a893c8b64e472bb492d4076b18a029869570132609e2940fb5253e0c273375c6a8064c0ac341560b7cf9902842ca4004d74f209b4fbc70a3033222fc897ec40670a30f75a578065c02f0ad0df9f28c0af1c29c0289cfcacd89ccb596e0116b7741420e7ce8102547ed15652a8043305585b3c508035bdb102b4d9c70a30d479aa0046780e201953262f0a90cea1a700ed7e02dc358229809aa9dcbaec6dea9d2bc04a1554a9187b12bd8eb3fd3d6991bd5953815bef307f00d897467c1fe0408eaeb950e0de7ae14980d8ed9d0258e52e400a0bfcb36d05b0fd1301f00e8f1905683c77000eb187662e3f8b1cff5e20d79034b42ee7b005ee67dd5ca305c8604700d256c60f0a30a577ae00967da000f17aa000e90b0a0a3000900310137303dd1660aaf55a01eac7a90257c7dca1ba166084750f00798c28ffa600a7ba450ad0bc6615601072a6c0794b77968d0568b44a0ad002b51560edc6950274899b0a60b7c927d0568e0002d9f79a52003ff6a200bdd7bc0244f4c935f02b970af02bf29225738b3b70dd02f8a09e0238b6b40218a10720763bba54801ded7505ee4ed36905cee366fb0ad0001714c0b24300d98cdf1c2b70170df20adc576ecf00242346794f01465970ebb166b3385600ef7004202954dca00a5b3e6c7ffaac007b67ab0a9c79640700295955d11400433e4d2b70f5d4e51de52b4827e05081fb4aaea5008be28b00477266ecbe005c63de0790ec9527550558a8f3a000e374f2094928e40e946220538bcf0ab0aaf35e01a6167d05d8157fa0001dde89022c6c934f602b13e57615b8c0792eef542cdb2d6cb3005eea4d81bb8fd29d022c09182b40956a2980dd5e2ac04cc04481aba7992180a4d57487405a8071baba02acbb682b70f6323850e09cb43b4cce0218f258010c39f9049af95b0031e4d1b102f72b375d05e826249fc0a292470588e85b0a10381714a0cd966b88ed374e156032655701ae910058b6544bc9eb947d56007731578091895001ae910210cbaee12b8921c380c490a983771acbeea767e7e80fb4119f5c2ac066da1780145633dcbe2ac0b05c1f40ecd665b0b30076db56e02aeedd3d80a4b7c89e2a7037d69b0a906b440adc351ee70a90a8b608204967424f00ae01033ad02e313a0107d200d3c98e02e7c75c6a5f0b70cccaa1022ce5192840bc7e0420590133af0ab050e741015663571460d26fac00d96f938b62062f54e06a72a60a10489eefa202ac721d2970ee22430a9cd88d9202acff7856808d8e470ab066e24501121b5d29c0a8f5b50238948602cc043c2a70ea4fa53a4806aa4a41010ea7682840a2c97305d8715852004f9751803e720260fb6d0558b45854805e81541864d4a1e3940218725101844a00c61d4a0a60a6f2f892f1a03c5080499dae02fcca5401b688341460242faf00c383725149e1969d2bc024c644817b1fc7870a10f63414e07de059b42311c3b263d9b4e9321d5900afdd0190fc1f6e1a9dbb007246590b4092ee6646009292caed7a66006790eb2870d382d9138063f944a8002b889e01248968cf53800d312305c8ca13294092a62c8074674f320a10d1870ad0b3682970cf12450ab0e1416e5dec367c5480f5304f0a30cbf3a200753d568061b98202ccf1a515a079dd0728e3d6113aa5d4083ba70a5c3d0d5f152039e3ad028c3877152096aa2ac012de270568a3e43e9054c46bbe2940c4d65280d1c02b05704a1d05ce2945097075dd9d746501b6cb8d15201a3f568076ff0240ccb4dd5580a1bd1705c899b1ab0083192d058872de14c0c4220518c6be0350bbcd29c056fb8e022ce422055845803bd5c820c41b53abbcce036842900b05f804ee23965c042fce6e0ff93f57610e002479e7b4a6c0bda087b20031d3070049507f3b5400bbf5152079857c4232eae40201b8e8e34c81b3cacc0e80a4f6cd250003ee2d05aeaebfb601247956a6a6c0bda09bbe0031f59c02770dcf578040b1a4003b75b2003031af555080c5d7fb0a3073d6508095d43905ae8eb9653816a09d3b53e02a9d3b20c7020cc94f14386df36300c9c8e552a858e0b4ad5615a08773ac001310b70ab07cee59014cbd092016d54c2b40bef150817b85fe91020cba651460c1614301161d4d14a0011e284093243f2bf983dcf92f166053ef8102f4f74f14c0b2cf15c0a13c28402720a70001bc8bb54dd82c967daac05d6370a100d7282b4087770ea05923cf14609d34de981a72ef11605fda6c776347dabc62d8e5c844d298073a51e0eed4adccb000e6310010ab7479d018486ffe40019ad7670518002829c081da5d0518627c01f071d1ccae02778ddb48013ccc8e023803b93149fe1b460adc57fa5505706c0224f9ef3c56801679a2002d7247018e8b3a54809650dea964d37289d02dc045a70ab01d3bad007df50b054efd8bb2022c142e028889a58f14c0c44a0a9cb6b58602cc15dc28c034faa302f7b3fe9d02345a72ebb18c28060a60511505c8703857807ec3ab02f7c63a2f0a600dbe02f7b37700b1a44068df2b40689d7c026d7643018cf04e01164e4f14a057f0a200eba4f1b4f1ae0ceddd2bc057e60a60fb3500b1ca2aea8736af216a502cf93fdc221bb64949779a56803def7500c92d97bf122069f0f715c01a9e0130c844fda202f7b3ee046506d213cf2a8089ed2ac0229b00402c2a3b52e00cb97da2c0b52f770300c93cd98f04a035cdd514382fd51d2a8055561420e99d00d9a25a3a14809f3dcd2ac0b6f03b0530e44001fa736505985896172459bc6b0505b8684a81ab63989b3fd656cc7f5480716d4f01daec5d05b0b9530598be961b8ba57b1f29706fcc2542b700eded440186c21b0adc9d62bef258dbb9c9ab02acb4af2a40339fdc87bbd35af2b3ae4ab9932539e693f1c2580162ba3d0518ffa82bc0547ca400995b5e1560714bf215b80b4f01da7d881d4bfe314c3f31c0ccd9b30284c55305685eaf01241741d0558021f91700d97f8bf9a86335f5003288a9531915264e49132d2f4892def9eee1d2d2de7ab3b602f7c6f00acd3f65043e2740b630cb353062e461c4392d4d23c18fa5c56e29bba70075ac01203933061901b8c6f442010e1d7a528039e09102b4b7910244c18f00d205ec671560c65b1e5f3b677d0518928f1420944c3ee1aa54f7410102e75705d8d33c528009dd9c028ce5b400b4e19b2a8089450ae00cba0ab0b5aba400091f520ab0cae45a016cdf055769b5a8565301c6c6e70a90fcb7a7c035f36ed59e0558c776aec03dfe75f2090c32dd29c062b034805894dbf26f01b6106515c0c3ec2a4062b45801dafd43058871f30a6040102a960c21c15c81133bba568016395400132b00c806f64a46017e45de879869204f2bdbb206a88562a634200059e3fcec6edd8f9035d29b36146007f7310072fc7be826f8daf374c7773290c831052046d8ef09409cdcbf51e01af141558133d3e14c01daec9c02d87e43016cbf0e20cdebf0548084e7f70adc35f20d05e878070a90f1a00d2029caeb5d0558bbb1ab0076fba8005d40795ac98089d881c1a1b3a80b05f00ed70ab0caf540017ee55881fb95b350011abe820278871305987b75d5c1f45e24057547010eb2be548026baa9006b59924f60956ba80069cf924fc07f6414a007fca200c126848a25abd7554a019ac6330530b14801a616cb0a10186514c06e0f14604c5a7e45d25b8cf6146089444d01d69fbe2940ab7eaa0091631a40b2f278f70a60b70f0062c823d4c258f67857f615b84fb873ac7878482cfb0a40772f1c01c8b2c6432776a04348b38e02842c8f00927dae2c5f81dd7a2dfd04ecd66d62b50046d807903ccecd92002cb2f11b0a9c654fcf15c0b2e70ab00ce75201d69f3601242f0b16a41a806bf4d20a60d99e028c7c9f2840022e791f128ed6f71560de23af0013baceb1056240543b56e02a6e3bf9040c88146019ce9d0204023505ced45d2a7d0b108d9714a083375680e6c45780e1d25b00c98475e42bc042614f01daece4132ea6c3f847a0e168634f017a051305a8ebaf0a701f720dc900e132d75a80ecb7d70a70bacb8d02f45fb20a104cd414b81bebf414604cbaaa00773a558048e91940b2488c12e02efa9600f8b12305e803351520707e00d026fa1e400cb9265f11432ea3d2a9210f0e01c49053ee059593e635a3000d5fac00cbd62e00c42a4fe413681a3d97ccc30267d9fd030508bef715c02a330a701a741300b9a03d77208c05582a5a57e0d47fbc53808b7a0a60ea3d8058f2085c09c08d65ee14c0d4230530f5810234e2787c3542ff4d01aa76a00046b8a7001dcd4b05e8e04d01c4801a6905181fab2b400d6a2a400d2a2bc0ea3001300f2a0f15a0251c29401ea39202f7b3ee24780bd0dede2bc05cd22b80e45409060adc455b0f0a108d3f2bc0e0704a017ec55380ca0fe562c978d0cd2b407776a600c350721f622fa17c42ed455ea1da8b4829f6d293879355bf39370e13aa35b87d5a166016f04081fbcab00d205956b14584b3ae3a03822f6480a671a800dd48f91549bbda2301d2129e2980353415601d5b5601e6a25d07cf983162dcc14001cce35601ace154018e27b850808a7bae001975928b6220a2a80003ee270092a9d56d61b6c03d9ccbe16e01d66e8c14c008cf14c008df14606b79f215570b33870ab098c357e0e6925cde40f662b2f7adae00b32b6f0ad0f09102dcd8b10234d1be02d86da0c069fb2acf223900c2910284d66305880c8a0ab0f4fe49019ab5ae02f7d6db3905eef1470d05b8b1990274cd43004901397e5580c0f95c810b03ab750598c21a2b40d03b52e07ee5ad072011ac9752e03ee1cb7d88217bf2f862c835791631e41b914116d6f7dd35220903bdf931809898cb4dc9407a9e0f0a9c79f44a0a5c1b15ee294038da5200230c1560e3850b7b8c2b90b34a520ab0e66aa6000bb9d20a7064dd9502f43d7a00bbd2789615c090a70ab0e63baf00116c720dd4e427054e6c748a223131af535280855c3900c9a833b952e0da5b04ac91b651e38602dcc74c01ee8314c0a11c29c044eaa102a43bbd518014084305e8bec9576464b3430ab006fe4c01a67d860a60d92f0a10c1ee2bc02c31aa831a50c7538065e23305b0db9402cc9c3515e0e1928ba2590b0024b34ff154011673ec2bc00c5e5d016c7fae000db0682b3617cacf8acd79f20a3557451b406ceef61c4016c7f59d538a139beb0b90954c2e408bd53c16800b14d112c63251e661822ad68e55b6ac0027b1be01488383dd4fb1f6705cee740b90c8b8a0c0d58ffb6305d8618767d1ba7e3551e0ea3a2697626d3d7a4305e89ddc2b405d1f28c0ae8104c0c4b200682c0a580c16275d8d860254fe5b0518814f01485a89e6a502d4d38e02f470f20a30941528402fe95001aa83089512137b5480c831a300ad98af00bf325480095d4f011a8b58016af2ab0218611b00bb5abd6a43019aa4b10258945429a9eb8d3300a9eb53b975d92f369487d38c29270052f907b60671f08530b03b5780dc1dc927b050f856018e451c024862c5fea902670d2e35a705a8c9390548984b0a9c0c33b9a8d4d3c99d02f8e4130518dd38548040a00d20b95c5d0a040bd08fba5180babea70075fd440196bc0f15b8caef92dc5be0d4cfde2a70ad7a46dea9e444089a0af02bf70ad025ce2b80015d2b40953a5180883e04d02409e70a10a05d2940d53e50803776aac0ddc728b9282cea41011a2da91fb23fdb8d2a5880d07aaa00eee25e017a5a870a30809806905d9cbd8a027763e3b602bc8f8202d84b0c20e611c88d6976b14b00dde828ef43db06a7dc6ee2a46f1560bb5cf20978fe2ec09eac87192ac04ad98102571dae0205cef30fd20a602f7305585274a3c0bdf57b4f0136e41e014800df1b2bc0f9a62305b8e8a502f4a3f615601dfd930257715f760050b53db750d80298695f0166acf614a0f21714a0f2ef2ac00eee3b05aed265320092082c7ba400957fa200a65e55006bb85680879b2bc01691370518fc135d245b41ee52013a23150568a3de1420d54f59012c3bab00b5300f207b9ac3b1021ca1935580a5e681028c086414c0c46e15a083f70820db29bdb602b4401d053020115b0c2890ea200634915fd1f6c53dcb9e06240f7305d855d20190dc7297af0a9c355c040adc5b3f2105a8b85905e89a9714b8879bcbaf1c48dfe34c0136a11d2938766f2c5480b6a1ae0015774f0126ca9e00b45af614609f564501d4af2bc082a11d05a8743700b26f3e282a40a56b2ac01456f215ac1d4d00bc6545012cea02e0481eff5501469d2e0164bb6de64d01ea584e01fac82d00ad30f2d6d5e35e014885090e0164e96cdf99e9befab1fe5801d65cbd284032425f01d4976ba8fa33058882af14c06d1d28c0c1124d0558b2fa0020598aea0305b8c6a902ccf1c50a501d660ab0dc63a2006b043a00e272f0821860f867a60049bc9e15602ded5401e2d31705ae3a0c6205581cd700903c4608d018607d725f01a41c01c8c6cff99b0204020505e8357614a0165e02c86e30b7e7cc022c277c5580a4003505a8416d00a9637e04a01b1dbb0052c7d0aa1f682be6ce9eb4c0693b1a297032b8c9030bd0009f284052c41980d48f5146011ae03705183249be82c446c95750e90a00e20cea7305e8bf0c15c06d9d2b40a54bbe82b55f6305a8854f0a3021430a5c8519d51540b90e8064e6e85614609cbfaa00f771a4c0fd4a39a300d53252e07e05eee240eb58f945019ac640010644ba0a70a722b6d4b1d1be02f795715501d62acc1520fa0c15c0f5b515e057e44e7587ff83024ca624002d720a4036f6f91905a8c931405982ef2680ac4feebbb79ed24ae712c5598090e5588113aaf0a80075ec1440ead8e84a81fbcae84c01d2265e2b4030f1ac00173d5700a7b4ab005d8d57802359a576a5c07dc21f2b40fd785400db97fb3896566ca60015b7af006f3d0090ea30b8538076ee4101eeb4ac00ade9ad0278987b00dd275e52800af3a60015461e5ff69c8d5b0a300d365280d8e144011e5fd417c716c80b92fae152dbb0b2a2ed8d02c4c9670aa0edb102f782fafb0a9cb68507057028f700e20cfab102f42cc60ae0a53c05481a1128701775c70258002fb5a3009307590510fb05407288042d05f8d9bc02fc6cf209887da1005679af00b570ac00ea9701a44aa17f7b2835a830ac29c0354205ee1a6302906d8cf5b102ec49bc5500f3c8294095ba06d02c78b70ad013df51809a9c52806b48fd908d17994705aeabe1f68c58806ba415e01a7b00ba7f9f14a05aba46eb28a930230530e48902348d2d0598e0be0550dbbf5400b1f715b877ea56db5a803a1629c0805909202d9dc4a90228f7a000f1fa31802817040a503fc60062eadd3d0558297ba000af30041019e6450588e95a0a20c38d0254a91a80644cc93c29c05c41a8003ffb0ca0abe40f144039d7461dab8935ca0af0d6870adcfb70f3c816b8c7c738ddb1da5c90051003724b022cc035520a708da602f4c53c05f0856f00be2c49ac2a8094230518611d008883bdc903c85ec0a0aa00cd49072014277da700eff40540f7cf1515a09997f721eb1cebeec6d2fa3e5ca6010b60fbd70052e930fc934ebcc38e02372a597e05905ae89d28c0fb2828c0b0dc01803cbedb116201ea4751014625e557647b87ffac00fdca2a80d431afac20762fa80720efc37355dbd7e6d525a9b600d5c153809dd36905682c7600e4f15d9e2b0bf0956305b8f54b0558ee1102c8fbf0ee14e015de2bc080480940dfc7950298691940eb475f01dec72980bc0fdfb55141f22c2f0ae01d7200ba93fc590196bf7414a0f14c01c89d7a9102882d5fd11beb02c402dc57cafab3b382023c7e43017ef610407e763652e03ed1bc03d0179407d0fae19a823031c28a02fc4a09401d5b16406fdd852c917ec26d2eb6006f7d04a05f7156192f80ff76f10a43bf300c0ac37261189aca605eaae515e37b4d0c5418d60bc34661d82c0c5ba6075518764c0d32d6feb76f3b29ff53d1947e6138280c8785e1a8301c9b40cc0a69249c9ade556138b712660ac36c6198335d122be1e9dfbee7a5f23f155d31e67566cdf1bc30bc30e1b1e9615b09af0bc31b2ba1f9c0ad0958ac09e6fff6ddae96ffa9e88a31affbc2b060857c280c1f0bc3a7c2f0d94af85218be5a098d7ec5bf7d9f9bcbff54d4f25618960ac39dc270b730dc2b0cf70bc383c23065adf0d0eaf78f4a58f89f8a0bc598e35161785c18a6c923f23cf27cf28c69664d3fc674a8fff6edbd57fea7228ae9da9017935721af4a5e8dbc3a790df29ae4b5fe71090bff53510a47a4e4b5c9eb90d725af475e9fbc017943f2467ffbde3e2eff53916cefd0f40b67e48dc99b9067e4347f9f939721cfb8d39c741fffddf23f158d2f3db15d7b23db297967e49d937741de257957e45d937743deed5fbfc9f7cb7f5d45f2ee6cef9e4767c8cb93774f5e81bc07f21ec97bb2b668fa1bd13f2ee47f5c45d71cbe58094da7d0b34216c97b23af44de0e79bbe4ed1973b4a3397ffd6eb796ffb28a680edd182979fbe41d9097b22a1e927744de317969f2897c6f6170f55f2cff5d15a539bc26df273f20bfccb6e887e447e4c7e41b337d21bf4a7e8dfcfa3fde3afe475524bf9134877ed9a85818de93df24bf457e9bfc0ef95d4b7ae4f7c91f903ffc97cd1173575afefa0dfd91c2be94fcb19570c2bed49f923f237f4e7e86fcac2d39f24fc83fb54ef58cfc73f22ffe5973c4a4e54219fd4af9ebcff39942fee5822f9dd9b8a665856c1586a7f641cc7bb8324ed5fc2fe3540bc3038e71fceb7fd61c317dedcab29c5f2e7ffd613e57e2242ee5b6f0de0a79600df1c66a3cb2cfd225ffd6b69777e254f3ff6c9703ab346ce97ebbfcff9190831af2ef93b8d49f4248bf609f4555cc5ba7fac04ed57f24ffc939d57fd31cb13ac94e5e7fb3fc7f71a4b6b819fc3af92f2c5ee24bcd5f4e5c5d94d6c17897223b5513fb70d3f8c691aa5ffa37cd112beaec14e8b7cbdf7f8c4f16f2775c07911b3c6fdf5aa191706e9762dc2d7ccc99635f22d55d6e1a7dd334eeff9b310e56a3927ff0edf2d79fe1d3c519e25c831aeb48d910c94f2daec35876aa8785a169148fc83f66a78a719c7fcba93a8f6a9af13405f4cdf2ffa451b4a1e94c3b882c61e051e0dbb826bdfc49176fe72930fdc8430aca1484144414c4ffa653751eb54d41e557ca5f7f8c4f94585a44ed5d7876e9dbc0368da97515b9690caa56c51a05750a1a14342968fd83c3aa6eb57afb17cb5f7f8c0f8b3144094def9d213a09c516538beda20869039ca0434197821e057d0acce787ffa053751eb5f58be5af3fc6270af7114d68ea06db6c805ae0f1ee6044c1d84437b6a791ac8f4a021c567142c19402e381e7146428c8fe6b318eb3c5ceaf97bffe24eb451b6c1935bde63ea2df6409831c4f0807277604dc68736af9ad86dcd2341a15cdc7cead8a17145c527045c1b58ce3fcfd675c50d12ffc48f9eb0fb3561076da9efe18ee34b8a1e096823b0a4cf0622cd284a0b73cad18142878a0e0d17d4b543ca5e049547ca6e08582570a8c9b7dfbf7540c4a3f5476fefaf3ac95aec435b683e1ed53b04bc11e05e62f0714a42830c1cb114f2806c73c391ca4ad906e34cac8d9135bcc5399a8ec51d9a77240e53295c37f676cd9edc68aecece84f94f23fd4e6bb42e58a1dfb6e488bd8a27295ca352ad759c87283252c37a96c789bd76a943b54d6c145b1c5728fca7d6e1acb032a0fa93ca2f258c79fb7953fd607732a4ea83ca5f2ec87cafcaf2bb7a4a271a7e5cc828af76c82e52c95735436ffeb94ca671cbff0e4be91f09cb52c5f50f9d28d4c51d934842756c56b2adf50f996ca775436a679ffef0c2fbbfee298ca051ebcb78dfc0f94a0f4d7c55b286e36b8e986dc58c5b251eb91ca4f547ea6f20b955fa95ca4f21b954b54dea1f2ae15728fcafb3c38553625c5ceb66c4cf688cac7544e5348147a9f1864fe43fb7292b97e0a7d0a030acbdcd487e1af166f633f5a9b8a3fb9ed686aa712ed6c3e0be9713863cc318c288c29ac5058a5b046619dc206854db64eef9185346d61d8a2b04d6187c22e853d0afb140e281c5238a270fc8911e63fb4416e7dc586b9e9098553ee0eb39bfd95f2b070d95b2db65b726b2752fe8c8a76d42de8ead83785330ae7ac5398a1304b618ec2130a4f293ca3f09cc20b6ba0e6ef973c6a135eb1b30daf29bca1f096c23b0a8dbaf71ce3fc3383cc1bd6dd5058a0f081c2470a9f287c6639c3976f16feeeabbd5471a5589be8fe8127e4ce7ef8c663a16189979b72143ab131a7b9ab1d0a7729dca3709fc2030a8d811e5268343ba6306d839d375b1e38828d88228f229fa280a23245e1e70699ff548cbafad85144516cbdeb0397a86282581972fc72e10038aadaded842896afcbfbcf29f5031aa53d4a0a8692352dbe0792596d0fc19b5286a53d4a1a84b518fa23e45038a86148d58e0684cd184a2294533b6cb684e5186a22c45398a4cbc33b4fb8a3f2c7fc2a96e53f1d496338ace29bab0a653fa9542d1e55ab9fa0303053c161a5d537443d12d4577569b16f7fa8d8a519eff6e9c67744f91a958a6be1af844d1b315d2f0578a8a14b9a8c7bc0af314e6ebbb14ed51b44fd1c167c7997fbf396e5ec9c8be1442a6283a34a6b36a4c5f2dd1d15a39b6add46f8cc55942de7a684c2d4d3151ec51ec531c505c66071b87144714c7145728ae525ca3b84e7183e2260b19b7286eb38471c7962ec53d8afb140f281e523ca278fcef8c336f5d8fcac1643c8196f194e2d9267bfa7489e76b254381b73293f0a3128eb8b7675e629ca53847f109c5e641ce283ea7f882e24b1e4a75421ad71a5f517c4df10dc5b714dfb190719ee27b8a0b143fb09ca607123f52fc44b111f885e2578a8b5f1967febda35a1fac2aa6f84d8cd2bc8212bffa0d56f58912ef6c2abbb6e5f84dcf766a672a4c75d9a3789fe2038a53141f5a39cdfd1c539ca60a718f3eb877738d54f1a8e2532560212b65aa845489a81253a5c27256aa54a951a54e9506559a5431de78fe85f23b270c3eb5369c2a6d0859e950c5f8962b9b91e20bc556f6b552e9d979bedf24e1899dac30aaf4a962141a5265449531552654995265c6dd86ca9c2a191e4ae5ddc22754c952254715f317f3a4675439a7ca05552ea9626ef59a2a3754315f3102e7a9724f95c297c7997fdbf0e46757f853e52131cacaa34d0de35b31361ad95aa93c6d2acf368efde128ceb6b5772ca177c02d7ae5852aafdc97a814a9f24695125576385eadecf2a05a658ff766f09cfe1daf5ba8988f1dd891b967aaa4a872489523aa1c53254d55a2aa47559faa0155cb540dbf35cefc5b8627bfb04f83aa51226435b64945ccf354584e23c9466b9362933bad16aa56799eb65afbe9a7eada356d1e4b58ad53b541d5260b596d51b5cdd166b5c353c4d52ef720ab3daaf6a93ab05f314eaf63fece9cdbcb47aa0ea93aa2ea98aa13aa4ead8a33aacea99aa16af6df1967fe928ab905154f9c8a8bc5290a51574ab5b2a99cf208c0cfab58b4d3f703aa1ac1cea97a41d54b16d2442bd52baa5e53f586e31a1efe3eb243336f54bdb5cb324eeda47193aa7754cd53f5de46347688ae6a547fa0aad1d53ccb33555fa8fa6ab7ac7eabfcf438f35754540959c5e2ba8acb65b828d822d742d537d309b146f063cf6343d313bb0ec3bc77636a3b54dda5ea1e55f779d4b47a40d51455ed822863703c405ae218b56ac7d88229ab5b8eac84c649a4b9d4886a1ed56c17a5664a996a21d522aac5bf34ce5cfec980e0ebed62ad42e5c947127eaab08aa6efffc3c15bd718b735a63396b056e5a0b456a35a9dad8abbf98f546b50ad69e79b5a3c09c593fe295691272e7abc508a25b42ad65ab6b4a9d6a15a976a3daaf5a936a0da906a23aa8d792de4b7c799831f0b083e5691578c7dc104bfa862bc6bbddfcf49c8a397630e4d6ba6258bb9d4a6549bb121f2a8cd1d8f839b589467f0ef7934ce78545ea8f140b53954e42633bda0a2913043e1b430bca05a966a39aa996a6107b66a675845f7fde2f1b8c496ad6a9f9ff9f9a8bf583b4f24ac557e50425b4656c5d10f8de07439c8343d33d3b099e6b6665eba690ecd1bbfa2da358fcbd46e6ce37764fae0769f628abb196c8b259ec9317187f1ae4e45e35483dc828ab754bba35a9e6af7542b50cd486e0cfa896acf547be100cd7cfedb25c8d92d06b72be54b333fefa948b5d7a5b6b056fd691503ee4a06a39f98dcc8dbe5ed63eba64a7cd99a899b8c966f542b51cdb8d65daaed516ddfae81eedb3d1859bbfabbc3dfaa1dc802e253d33fe1bde06ed978a2628a37dcd40ea97644b563aaa5a94e6c8e758feafe0f8c33afcdf97c69e6e75d1517256477faf6e32a523db0edfc2faa689739f905d6c004357186addca8681ac5ca63a262bd4cf5f5e9eb2c6f706009f3d68fe538f19b7fc87d4dd3b89a96cfa86882f37a44f59837dc1815eb15aa57a95ea37a9dea0daa37a9dee251c65f1c6ade30f8fcd9999f77c65153cb86f8e3ee54848c8e7eb1e3cf4d4b39b6f294ac8441a2a271aaf5f6828a1d5ec960779b2e0b79952c5ead195b7cb542beb2511a21c329d5bb54ef51bd4ff501d587541f517d6cbb5e292ea6275d1bb103f895a1e6cde553333fdb558ca2dfef4ead8aa62b12fccadccd29ba163c9179c9830cf5c9072a720f756be0e02cd2ee5c1421eb536e14ebc66784549f533da35b35f863081d62aa67a99ea3786ee5fcd668f377677ede51f1b7bbd3444836a06f9b639187288d361c29182f74f9812d9a10ff5d156de92742fa6551f184eaa7543f5b5411a65cb742b283bda0faa50c4c6636cde47cb57c6ae667cbfca2ffbc24210f9cfe2e09f1d2bdef2d51e9b2219af0927346e56da4e06f56b17e95a8c8137eefa9681d6ccea6286ef1e2b9fa35378af51bde6a53bf65778aade10b5fa94b305fbfa37a1e0358f57b8c41d6279f1d70fed6cccf1615eb056b7cc6fb3f585f3afacd2a069c98747913e1678af40ec7ec76ea8fd6974ab548547c5a50f15954dc1a4f598f5ab4b9fab376cd5c937b8aae51f49ed5105776dbb0f04ec84a87bb37f597cde391465795f693e513333fdb3cea6f976d55c5faab751d5f9190bb16b69fc7cbda8a542fdadec51b54acbff1241aab58a2baaab8cb5d887755b4dd8f2af95d9befc6dcd81ed5f7b9a7583f20df5b30c49569a62ecfc5d6532ca1098c79b4a1685fa38c44d6838d530236597961cb9ccf67677edc6e1b53770eedaebe91bd9bcc1f96b0e0c671ea473679f727553cb52a9e62e0dbc472b51e2f721721d91799d0a06e4a9a1a440d6f59c577a21be74e3bdc28367c6a04893b6d94b71862d636a5af543ba34668c78c8aecc6968289e1cad8324a2372658bc69f9af9b12a2e4531f19f97104236629bb7e47df1f276b56ed72e4c2ad975e87606aa5161fd78ab0284e4008fa3d6631e816b5459c5460d2af2fa89cdb6e8dca94dca607b8d8dba8d6bd49d8e5654c4ee381e61b9e51d208d06359aecc9ab3b7c27f5d7edcfbb45d46fcdfc2cab58e9fc265fbaed1617a738ec27072b9db9b5d2e5debd97b2cda11d89364fd868d956b09808c92a5ef282582364a34d8d0e35bad4e851a32f2a6eb345f3b18175a74642637ca3c49d36c69cd30ffb4f9d3beddbe102d7b9dce7b5bb8d899d45d9e13b694c7f21b0ffdacccfb28af587df6667b3d5b259d4d2bb2bc6ec301bcfb2966c8fc28e5d35e6ecbb9c09aa909567ee75f05685176a64a891e529c6468e1a27d438a5c6d9465b1443cc3961ec96d5376a9c6f71a7791eb7e3bc47e6e92ea861ae6f9ade3cffbad18fadf067ece133333f0b2afeb6d1195b363bfdd536c034e61ce36c0cacad8432ccc68f67279f3990e1a9e09d4448f34f0e564baefbc1ab6c1ad79c0a3c8ca971c36b6d821ccf696c5826da97b8e6811ab76c888d3b6ae4b9b3efdce9425c63ad30cbbdc9c63d350a3cd761da42731bbf64825b54fc68e66741c51f36c465bfff5e0c8662a3359f03719e7b4b02071b3b1867f8e0245c1866d3b22c64fdc85aeac0a6a9cd53e3911a4fd430eeced8e52b358abc00ae92213fb36c9179e960580fc916f666e31adbd9b7ee540c3166ab3586c89f31ce604782d2ea476de1f7cac7333fa2e20fb4880bb2599fb96464daf9e5feefa65e91eb483945cd3f3d374751b16bab5b3cf3c06da1c7c26c0ea14548a3a2896bec2721a491adb1cbb668540c7778c546643769f02c63c98e9ae66d73bb189a1a43dcb3eed454827d4e5624ee545b44fb496388a6bd4c4145f7ebbf6590eb83991f51f1fbee34516e837bd4c2c3511b8b1d9e70ea2e69bc633da72b9ef581390c932226da2224f7d2cef0452724dbe221efc7681cd9f5c1e62fc7bc4a23b8b333c34776d020673b391debb85a9c34b591a62699b886dde9b2213a77caddb3a6474ddf4e615eaa3bfd1de1e187333f0b1eb57afeb54b6f10afb06d9062fb3a55192d5cd7956d4e3e66fe292e97eb870d8e366939b2fdce89919cd74119214d8cda0ca859665bacda45fb71c4cb18dd869bea0d7645055deeedf190fa8cbfd50ca919b1216e8a6b6c1074c3eeb41953b3c22afe46772a6ffbdd999f4515372c6b7bc7f83688b738b694d8965565fb98fdbbbaee2c19a8b85ce90e57b6d9a535e51c16b4354d18b2cb8b4b9b350e73a29955f1dc66e92ff19636a725a709ebf29fcd3a351bd46cda99fd2336441bd72c74304e6d233da366cb2ea3bafccdee546c66fbcc8f3bc3b8feb90067b86c7c6be225b22dda9655e59df9b3356997155d90f32b5a5a213d6e4d9b6d6a76a8d9a5668f9a7dde400315cf793d9c11b239b06548cd1135c7bc4aaa39a1e6945bc4e64c53862586c80bc90fb9e536375f752b0aaadcdbf93dee74e189b6cefcb8b377e710726bebb8a4df47e2cd57cd8bc38d0d13d90b65b3aeefc9b959cb851be631ad339eb26f66a899a5668e9a27bced9b0f207a4031618ef9b37a44cd532be41935cfa979c1bbda8c21362fa97945cd6b6ade50f3969a77364a2cf29a1d5ee8cd7116b7c4186738ff7dee54cad6991fe7518fedb283fac6d9e0adfa6d176fcdbcaeb6ad2be1b2415d55745dce0d5aa28b228da51b9cc4dd9a9f6ee6a979cf1b6e9a056ada2c1a2e4cad1cf09f55a3d6a315f2899acf9c08a5f9c286d87ca566919a6f7c9e46ddfcb3c49d485e235943ae2a73ab3c4e3d42636ca7807eb38a5b677e9c8a473c21d0dce1c5074b5d8ee1eaf48aeab726deb26c8bb665ad8dbb6e9bcbea22a25563dd20e7162d758a60e16ecd079abbfc969b7bd434421e58a7daa2668a5534a57968853ce25c36cd636aa6d9105b442d8f5a3e87a9ad805a650e645a218fb1f1c9296e22f3ecdf99f911154d6945d48a79e5012f3a5d74a1858dfaad59ded5926ccb16f6f1ae715716444d144db4bcdaa0e5b60e6872b7596a55a855a5568db7f01b7334bd46d3df3016d9aadb7dde46aa067c69abc949895a2dab5f9b1730b63adc296c75a9d5a3569f5a03fc7af5b70e756d5171cbcccf828a2ce490b534822d9ae016fdd62c4f946b8da835e6524df3dfbd0eb526bc2490f908444b6b4aad19b5e6d4ca502bcb7baf63f3be729c7486f7f176ed3f4f50aa57d43ae5b6ad75c662b4cea975c11b9a5a97d432ffcba872c3dbbb5bb79c20ac75c775d1ab58bd67ec545b796a993fcd1d3ed81dde73bb74dfe36d53e51b6a3d7250d37aa2d6b30d500bbceeadf5c2036cad578e45dd7c130f769fffd6f52b1f08b969e66759c54495a33517baae9f189fda9c2ccbb46b38dbd42af2ee3253f8ef6fb6146d29516b875abbd4daa3d6be2da6b2a76c39b409bc3a76edbdfca575648b512bcde912ca6fd426d6d888ddf65857d39d37bd08a368dba77640ed325fb91d523ba276cc4ea56d4a95da356ad7a9ddb0ade30eb59bb6b4a8dda67687da5d6af7a86ef47ee3c9fd769fd78fb507d41e527b948cced8c1ee1f19e7fafce4d487333f2b2a2ea982eeb62c045ad3afb62a9eac92869f6c8f59393e977242ed096ffc3406d79e527bb65ac213c8c903988776b50b8a9d3498d912b8cc51485b63fa76de91d5f898da736a67ac1ddb019a7696da46e01396b37d4aed336a9f53db0873c94d63fb8adad7d4bea1f62db5ef38f9493bcf296cdaf7dc1c72fe930c378ab53b4ec9c51216564667be65889fd3ecbb333f8b2a26124215d6a3b4d6feadeab72a1e8f96c93e84f68388f748eda7adc5384327279f5ff1e0b45c94d31ec8a67242545712698dae6523d533b55fac99be52bb68add3d86e89dac6f876a96d6cd40879607f2e45ed436a1bd58f39bb5b3b4d1da28ec7e9883a3eaf41ed049cd9a07ec71b8cbe393ab36d7e7f75b4f24b657de6475554097717241449dc52cf454b5dd06f55bcd02e8f378d62c779362b4f27dc5c8c6f0c4d549cb5e5d015d1329173c540570a347632bbbf0427ec9c8d81c6b6f9ec44d48959bff88c3a15ea54a953a34e9df3d7741a9cdaadd3e4e6b0d3a24e9b3a1dea74a9d3a34e9f3a0399b6bbfc628bb826de06e5de5f6ef385991fab22e75cb85c3441ec025149ec4e2dab5669937e0be241bf21c46323b3d6d6197169bc7083d419db4582af760ea8a245b44ce45c1375a5bc6ed33849dc175e5167c2cd67c50869cccbd4a739758c7859eae4785770e7843aa71c9ab28467dcd33786c8129e738bd0b91015dfd8163f6e11d78c6fdb38f33bebe1be3ef3e3d6c099fbbedc2aa19b6b75b3047ed3fe3db7a49f13cf94ce958d59ae1357c93baa876c73d1d8edb75e2e399573bd2c0abcacf1aacc0b621faeaae8167777ae79bcb473439d5beadc51274f9d7b2b67813a0f9cf3c4f42ed8041fa9f3c4a7bb778c5dbeb0cbe9bc52a7b8608eef4c18aceab7799c7965c06b759dea37677e9c8af6678c392e7ad14d12f2f8328ffa8f70f82b8cef8e0351b6bf65e54c299f73ea3c96a1fbf9b249ec55bdd7d45d12d22ee05c50d1dc211f1775ca87d4564c957da34e893ac62b98dbdea3ce3eb788c135750ea893b28678c86fc0c5019d2319d57adbb2347759bfcef1eadc9c8ab724dbda50f3dac8e5e7677eac4775e6c9133a855509d5041724e451441e852af1cc5c641e3e9de86794e32c9526a69f2fbff4dc7ab1bdd7a4d8c3596eed6c7b52de1538a78a2e08b94945638bace21def8fe912753deafad40da85ba66e48dd88ba31752b541eb32176abb6766abeac63de36ec84e41d58c56deddfd6499e0d93046b43cd9d4bead638d3198f1d0ea95ba76e837bbd953e795dea3639b740b745dd362f5ae0d52775eef5860d9ea5693db876517b84766192b3b0650937e8674ab743dd2e47eddd1e75fbd41d708e9fd6a18897bc715edfb0b1f829291b645e115b355e56548574b6f8bad9a3e2e8367393e61d8d78c75ad7dcff84ba53eadab419b179a237eacea99b490c5185ec66a96b6ac0891dd81a6dd36fc33cc167c6998d7eddd325fdba67d43da7ee05758dba57d4bde6110f9702cbb8b7d8bcf61b2ea6d3dcbda5ee9d9b999a2cf508dd7295352f2a123afdf2d4bd877ea179c80297f292246a5efcd283ea670b4fc0deacc99c5bbce62621b39b3d6ae843c5ee03751fed06b67dea3e51f799ba2fd47da56e91bae65d94a8bb43dd5deaee51779fdfc0ca8bae17b9efd83db0ddfff34d1216b619df26f164c0c4e957b7530eac5f8af533f6c7fa1ddad3e6a77618ab6513449a0a7764732abf711682569ad72af0b468d9f5342e173af557ae815c95900f80992f9920db5f0ffa45457ed778ef37ebdac8118f49b1eb5cb43c27655d575c76c53461944ec5055b5c52d148c82a768fb9d4f2584ad34d538fa8e751cfa75e40bd322751e985d48ba81753af42bdeaa62468bbd4ab51af4ebd060f836dd3efbd79828519825e93c7b07a2d1e808cf7ac7e0deab5a9d7a15e977a3dabdc8c47edab290ecdda731ec0e2d42ea11df728db63eb5e9db37167be1d4b3370851e2177270676c5834868bd28bfa95e7fc904cb3bbc6bc9bde80de2dd396d96b36977e52f1ba5757216570d1476b9a865a2e2465be4470d7d9e5732c5e8d71b506fc88b307a23ea8da937a1de947a33eacd79dea352e5ac8bed26aff0e8657871293754cb4256cfa865fcde03f5b25ba67a361adfe5d25073cbfc7a8e4dd048d83ba1de29ecaf77c6f9cbe288c5f31ed8da8c72bd734eea628ffadc58ecc967659cc420e9686b3a7623f1ea69d2103a2faa26e85d52ef62b37e8bb6e55f2d1fb4ea4e2958cf787fba59ce2d46b94d4519b40bf084bd4bde2e63f4f39f8c8485a1f9f38a7ad7d4335ade52ef8e7a76f6b1776fabef3184ec15a8f7c03321ab42ba79952bb64bd76f5b3541e7d28e97f54b86baec7c40c94431ec938d091a091bafec36ab76294994e79c3b46b9d098e3a3ed08ec2f8d69ac0d46ba6255ec3d25232f766e482474e48055ec3d53ef25314196f07583ff5c154fcb07474f6c9453b42c2e09f99e8a870b2a36799745af680fa3253641dffcf38d25747b10eb19dea1df338fb68346ce3c6cef518434fe736f59c86593e225af6712f4affbcf25fdec0c418b2770bc0a0f49f6f611c518fd8ccf0c2fd96dd6ace5955b143c7c76a04ac6209d8a077c68ab0ebe04fe528fde443aec04524b12ae9be006f1d47faa09e6e5cc980fe55cd47241c80d2ae65c4f2371a78d211f63d33bb4f6774435039f7841224b786cc51bc98e8b1b2b649a1a2d7848d37cd49a2c649fa8ef51dfa77e60855c1a804c26416d4bb441bf957982d698bd68ab644df0d15ae119f5cb76bdc1849563091f6de375b8ad6c55d49f39156fa91f523fe2de3177f30f921e3d4b58e2b16cd3116cbc7077c2044e2b26b859bf2517ba7c8cfcc6f3c5b76ab9514517faae8736768bcc902534faf9039860fd804db01fbb3da46ea1be5d0d15f13ffb15ea57edfe421ba79816a47c41fd1a37fffd3af51b2c64bfb968584be3cc76ce606925d1e238b3297d9b69b7df6609fb1d0e645c6a5dcfa64a3212861d1b3c6e1b68d472b24d54d7d318d927e952bfc742725b38b59bca4ea9dfb7a3a0b62f6f548c1f6c889f5b9170937e2b67f56c38746939d5d2ba9cdd776d71c99d8a84469867ea0fa83fe4ac26de5ee245fba33509edfa60cf7ad7fe985310c9388b8dccdfa83fe1d1c4fe94fa331e8a6b8d3462581ae45a7460b25c01f33ced3167d83156e8029928cd2e9457e03db0f334c667aa0ba706d930a0b8658871b12472ba18f516bea53fa77e86fa59f431fa391ec276633146c2b66797b5bb8eda9b7da1cfb2852cbf5dbfecfb29229cb4aae52615af121511a6baee7f4786e25c3d3d61f1b89c40bffa80f5e305a519dd7ab828a12d3113f381bea9b267d2dbbb67794cb7bab5cfe6d831429e53ff82dbb68d5305ae7bcd67c1e455d444c2fe25f5afd88b72f059b22a1ef1047825bb3c38fcc9b261e6073bc25948d34ef0c35c5bef7ac34db151ae7f6b532ec7542e2d48d8b6bd6fe7d9d4bcbaebe2a9177d47c535ebcc2ea8780a15371ba2953036467347fd3cf5efa95f807e418c567083175d4d182ccf6e2af103079fe8ed5db16fec3f72aee2fe134f49f68d95bff05a8577a60ab434eb3601d93e0faa991ea18945fbaf1cc2d8e0d36d2bb02e444783b7ce0a7c66e667e18422d74ec0bb16a96fde4e89f5338e257a5dd06f51c267b1a4ac7427f272eafd97f5db24a4b95ac70a595c6911f154fd1deaefb2787d2b9ed3af6e3cca3ef49340669b84899068200f96b615f0ce8288fa29ea1f52ff88379df78f79e9c28a84b6014a4648fa691e18a9ecb2219a88d4c44abcf6fc98fda791704076e3f1ba5ab94dd33e9f9af959c9ce10db470d69e0d1c0a7414083322fc915fd24d35676c5d4248160f7dbb9c036a523848a89471d84acdf20a241cc773fb0a52fc6e79ff39e0ab8d0db45137c5fc225214da037a82601a7cb953da8d1a04e83060d9adce51fb496255c1867e6d99e235ee1d07ae3a0c6a8683a8281ed050eda3c42d938fbd2f4ce27677e56736cd0a043832e0f670c7a34e8f34a85c18006436bcb6a82c535b7b99a1bf27d91b687398b314e1712b27ee605992a35868483090dcc7b99b17e83f9927e2e8ad9da0abe53627145d734c8689f8115355d82419606391a9cd0e09406673438df3855c0120e2ef8289d9a799397ec45c32bcedf39b8e2c2c770bfadcde42c0ef77f73e6675dc56b5e2e37b8a1c12def7018dc71da33aea179d6d2d47d5c3d65b5ecae69b939d5e7c6dec53bdd0c166f704f8302ebc7e5c14af8688b318e67363ed5cff756f45b76a19fcf9caf918e11b29a74fba22b1e92e635570d3e54ac6aeee18506af2b5305d60a272ca1b1c24191f7d7f1418fc682dfec218099ad133b1f968f667e9654a4662959f7686e7d50e2a7e2967f647bc7a2255b40c8590c10375e6d0a6a56a29baddd7c6b701dc8663c272bb7229e961d1aec1686572c9ef7ccc667f433eddf9a7e5f31c12d42f29356936e3be7af3677b8c7c14ed378f57d1a1cf064b28e330f522ca13a5248d8e253560787982ad8344ff0cdb23cf3b310dd0c8e16263fcf2483a8443dab5a1ed3204de6ff3a2d39a9c1d5ca48dbb296c5a502a96c315780662332557b4539ff9e86be9480c316137926c637fc39fd36096962f5b088dea189504cc83a2c93891b5a356e204da4c37e7504098d2fe50cc73d9690cf4e6df176e5c19b3dd9634dbfad4395df99f9919e86690e2b3d91d0b72e38bfd2f82f6839e4708e1f720e39b9b91ab91f933b58ee7898efbe5f54b325d9443915cf59dea2f12db47fbfacdf26d7cabbf87b1892e47d1d0f34acd0b04ac31a0deb346cb0451afd4c505ab5c334bca7eecda63d4eb12ff5e365f18aef8af7cd991f55f17ac1106fb79d8c9c68c9a3049965d33ce68ef3b0c9627028bb3808d75d1666bdb46c09b818a958ad459b53e5868be22d1adfcfe9b751487bb228f7114b7cf66db347a6eb3cb4c9e09b191af66c9ef11e3b52eed1bfd95cf21d76a4e5ee9af15dadc9b6f14ce3afcdfcd8b19b41b271c42e57fde0706b796b761032991cb84dacb36f64eb93a9bff5038e414c78593f63558c24e6cf9562a0292258613859932df39178bfe9e41f895acda30d8734b449fbf92c0e638e6332f769c29c28cb21ebd01e79643a156ea379d8b1a91f0e612bb0bff7c6993f5d36cffcb8d553f0a576037effc331337d48a725e454ebecab81aacb3d067fbfd4b5bc27de6f33beed42ba0101f314c3991d816bd370ce4bc56ac6a31a5bccd230670fa83a60216b73ee5d705b585c7cd1ef8f33af0f5b7e69e6c7795431449bfed505965f7ad4444e385b67a043a8d2bb5d5065b8a5649694fb40bc3fa0dfd2d325e3cc43d36a9cf1c44e6b8f86e734bca0e12599b079788d998ab0cbfd8aa02deb547440f8749b785bba6a5f98f94954545ffa7515372b9a88aa93799f2c0bcafd3df196cad238f3f08686c6c7de11476d26162bf0e64813b2f248f7940f3d1e3e62da67a10fb63649f74edffacb333faaa2afbef4e74e6075b5f87651d74f96852ffe35e5d6854433397ca2e1330d5f68f84ac3229f86db3476f9c6a78e79472c61d2932eda71e0fcf2986276a35a1ffcfabb333f50d12ee34c7ee0afbfb27fb5d87a392cd1708786bb3434e2edd3f0808f8867a79a6243f433da81b6052aaa90bf6e27eb333f4ec5b39ff0a5ff9542c3431a1ef1996f4313efa4694434f268e4f3698ea380873a13153b2b839422e4374d65dbcc8f8d5135a8e10338f2dfb8fa7fa9c4342ad328a45144a398f7ebc4a734aad0a8ca87328e6a3492e1c964f1dfd610e61b2a6e9cf971b6e842db9c6d1dbf96bcfbbf56c83b2998fec6c80ed98c9a9c9b6cd4a2519b461d1a7569d4e3745583196b39ea7347196393dba6d0df8b713e3ff3e3f28667edcfb8330ceefefa9bfa874ba5309c168676ec3b38e5c31afb97341ad068c85b76e257ee229b6ed568c4ab5efd731a8d594b639a3c3ca93ef6c39ec697677e54c5819dc740726a7ba4d65f7f65ff5c217f870dd17fb139a03c3e0430caf3f29cd184e23e8da6ac1fbac83756cb371acd78f48a67d3c676a07f04457902e7cacde77c66d4e6fd991fa7e2334bc8f97defecede6ec622fbdf50f2cfd3f53c4107d1fdb37f9ecdb1beeec978b9cab6334b74718c9a80506268d9c1996d398e660ced36aa3ec92a2285695efcefcb8e8e6cee65322eb57cf9ca21fcdee6e75e59f297f5b8fef14f22f8d2116860df2cb765dbdc7fb95bc375edc3dca71d29c915b7b57c21c75326760c7b046a756d1339e16f59e6974ced300a30b2eaac777677e64e71b2fa774b79b7759b9ed88d1d651be5f297f5d8f6f95d81a629d579d730e88576b8876414d7067f7571cd0e892b712f8f98569cef55149192b1e5d59458f31efe62673be3bf3b33802e72fdc7481caf1f200607761e2f09be5ffad846c88a6fa1b43b49b780216d21d425d6ef0b21a3e0af78c46c6c8b2ec399324f1f1e2d0d5b29ca2a8b1d1d10d447596ba3af3730db87de6677934dc668ab37f06bc586f61d3daa60d6c5f2bff4f1da99429792f1cd724fb95dc3aff073e71dcb48ee55d1a99e8f48e46c65795d6cebf79474ef3ad7baba529051a3dbc57b6ccfc2ca9b85868f4e83620daa3f1f0177baeccb7cb5f57e2db86d8b0eef49af761d9bde63cd1c867051ad77acfa36e519193b1c4c6b09e6864aafbbee4365eb954bc79b6c0bfa620cb85157db1e57543d93ef3b35d45ce78dbb4ab745258f4e685e41f7cbbfc7531beafa27742fe18ee945bc4191670f0c9106df28abcef82d30c366854e454c72313915eb348a3d296c86ec9d99297e332dae162146551df968a21efcefc6c5691536545a79c68930f22492fecd04fdbc3f2be55febf368ab176306088bca1d3eeade1cdd945bbb2a6c60b00c23a8d76a97c442313afeed3c8c43ba98f237ca3f4e810c5c9694a39d4f299999f2d2ad62e5d026abb8bb8620f1069dbb5e1955f297f5b8f6f19e2c0f4ca6bb683e15ac496dd562689d57855719b2afb6c8efd471a1dd9eeff318dd2342623e4171764accff87fea2637aa38d293a7ecd914ed9f2a7f5d92efa868dc6939b3a0a2eb297a10b273495e8137ae9a48b55ce27c34638fc63ea7771c079cb1635cfe0321fd0615391dfdc271c4dc80fbad1f297f5d92efa838363eadae718d4dfe387242b2538de7bcabcdedc70fd39c43681cf14a9c714ce30a8dab34aed9c8ee54fefc52f9ecfc92cb94525b52b1f2b8707ed888f74997e77c46d04f94bfaeca069d3657f9bcfb5f56c523a47b60218d78b74e487be2d50e6fd2ef9ddadc341714dd71aac7f889c6751a3768dca471cbc6f628c6fd7e25aa3ffd828a054c3fe630266e9a43a76219c7fcb2df30f1d80f95bf2edb46c1d64adb6ef07ca671dba6852b4bde8e3967b6e36a3de20dc3e30eabd8bea57197c63d4ec43aeef396d5f180938f9bbe6377ceb1bd96df13d86f3c97d854c0e1ca994514ecda48e747cacedf966dbdac6ed8e3ce55d3b470230adf383f63e8b23c9d5090e66e7ed9c438362b657d621366dcd3784ce3098da7349ed1784ee30ce75c6d16699cb52bfcd3df0cef3f3754b2ed7469e74c727c3eab5a246f5a4ffd4c29ff2b6ba2169f77958c4fec916e539b71f292c6a7761b5bcb8e9d1edb4c5e0d78d4f1198d8dfd5dd0d87cec8a4fcf1d5f53d5bc40d3b11bf271467ca251c66617fe6af99453ddaae252adec66b9efc187b84c79c0e267cafcaf2bf7d183a738fbfbf8d6ea74c789bd8c7ebc25bfc79318518bcf17307169bf43e33c8d8d391668fc40e3471a9b76d1b8e2173e9a63fc8ab354be1ddb7fc21c3f5671a1aa8ea95ce0fc942b7bd8bf5d82d25f97eaa3477ea5b1f18a6f34360dde0ecf23f24e9a2b7bc698cd93d83ae33440ace22e675e1d9bae8591dc8897a2f1218d8f7825ceef8fed3fab62f26ca14f614061d99efa1bfe6ae1cd9b8b2f6e7d75d0dfd5d21e1a3f36514c9aca2fdc91e8ded833e28e783f86113534116981f39f4c88261e4d7cdb2e1ed024a049992621e7b2fe81d8fe8348e2cb2a4ab1db88c2a91dc298fe5a7958b8ecad16db2db9b513297f52b6d385d1ce3c0f3ab6663489681253d86421c30627fc324ed5c438c11d4f48996e6270c0731a930a4daa34a9b1479dd469d2a0499393929b80f6d7cb87a74b7fef81292c50f840e123854f7c00934b1ef2bdc2df7db5975a3d4bcc76cbbe99f1e1eba56b47ffd3d6979eda759daf367ff02b4d5a145658453e87b3c3e6c8f1ea39675e60a3b4538cd12b77192b2f3469d3a443932e4d7ae4793f16db6f0f097f41c528e243a9d8bb3e70892a9ad5ff1bc56684acae9fff6637f196ff8884792be1abcd44e3d9f472afdc659cf4395be964c03983237bb231db5f97b365040f5cd8bb3ed8d835cf5b35fa573419d2644493314d263499da3c623f15db6f0e097f514537507746d1394517ba0bfedb65f3319bbf7fa0c01adf9d4d2314f04b376ec0fc2ee7a93ee48309825b0a8d539db1db440ab0230a8c78b1d5ef814f1cafda73544d033199d32443932c4d72543395e084676acd355d2a8edf13db7f5f457e78e34b21648aa2c3f5a3debe5c361d796b7302fdc6592d59147f6b73551ab33ba5c9992de79c61d5f4148d8a930b6e0b39e7ac4d9b111acbdbb1a5c32ab2a88ebf70daf1c9251f19673a8b932b6af7781aa4f76427960fe4d8ebfb5f2a6bb1fd2fa9587051653c8196f1944f57db7a78ed278a9c49b0503276dcf9eeb7496802999e8de65bdcba4faef96c3077d470abcf424e6e58451eef3ee7b87f724b65639d4f3c39ec7a0246c5d06e5b341eb5427cbeb851b161be7867175864ec0fddb17336c6cdbb91ef90fbf257627b3e32fce754c4bb88df926990b8640fcbd9769cf4bb65e988102dbb8b672afd7439b54de09c23acc6254df27c3618cf04447c8ee1e49e26059a3cb021d64c1f37c5115050e1bf1b73648bb4b668dc69f588039c382c0c339b5474e5958f82f04d1cfbc8dd6ea3a89c1bf49d1224c33a3fa322b4acb42164a54395ee3b07bc6f3ffe63d3b13c959e5d24f19b243c8184c69fd7eff9182263885dd3e17ba2c135352654356ddb33073841da863fd6768d219a189555bce700c7a9d834aed804a8afd4b8dba22271e2b3da3397d60bd5ce16b2097faf78a62d302dc24faa68855c989bac3c6262cb9da5f399c2194af9a0489ea99e1469f24693124d7668627a637b34d9a78979bf299a1cd2e48826c7b6a4694a34f568ead334b0a54cd390a6114d639a56685aa5698da6759a3668dab4a545d3364d3b34edd2b447d33e4d07341dd274c48917a7639a4ef8c0b796b9c894a633aaeed174ce7946a7193b429db62da2eb699cb33b358d229f4f3de4c38dfda37755cc7276e1a6b9d5ac95f3454fccfb6609d891fcb08a7ca3d568619239968c011564bcdf76faac2d7ae037ab38b8a1698e859c9eb0654f4f697a46d3739a5ed0f492a65734bda6e98d156c5bb9a5e91d4df334bda769c196075b0c7f94f24453a3dc8b95f695a6459abe712671638826cc319d1fd3c7e875383165b7c082f15aa9432e6c8527f6448bbc9c326e550c5eec790f9b55b4a54f8d927d4b6754f7a8eeff7a6cff3b54cc2da878b26151cfca89d58b65e9b4ad114d4b34dda1e92e4df72830b6b54fd3039aa6de556ea518910ead4e47f2a72b912dc752d24bdf9a11cd3c9af9340bf804ce4adf9e2b734eb332ef93aada033cb99bd8e0b6b0dae753c69d8abd9866214eedd8aaa2157216f1a947f5863d9dbdb574a4ecd7cb6f50512564158beb2a6e3ba769f9bc66393c7466de4b8566559ad5be20deac4eb306cd9a346bd1ac6d4b87665d5b3a5cbe70a91ecdfa54299337e7d960774a3c0fb93df2084ef57e49c5d9805534865837df1a6e5791384ae2ea9ee262ecb236b2e93cbf19dbafe647c552c991b153f3ee4636d166c7ae6fb7c53bd182f57dcd12cfa6d68b1c237829ceab351bd36c42b329cd6654b942e1e3c466349b73d6a6598673e275229a656996a3d909cd4e6960a23e53d9cf6866febca0d925cdae68764db3f77d6668a5baa5d91dcdf234bba75981cbe7d272f08b9e3dd0ec91664f347ba6d9cbf61f32577ea5599157630caf7987cdec8dc2351547e6b64beeec0e3e7ba5fe8e8aae9934c1ceb9adf131d5b354cf2d9f1cfcd9b26e8b899089962a6739c3875498883c491aa78b01ccdbdfa1d9ae2d7b34dbb7e560a198273fa4d91155cddf8f21adb9be517460ec264d73a2b947739fe601cdcb5b5fe8dc9488e631cd2b7ab70be5d71c89d1755e6551e75b4c7f5ea77983e64d9ab756559cb759c5e6848fa836ee74deb12a7e303bc8f14edd0ac90ef682ea97120c6636f59e37976d1e355eb6cb39cdbbebca2d6c073002f468dea7f980e6430e0a36965a8b53de993a3b1fd17ccc32cf277cb865b7c7c704f4cd0b9ad27cb6e5f5d5686e6e2383bbc2ccc3c27dae6fb19b6737c9bca12c5e6ae1eb399a9fd0fcd4c6b72b377346f3739a5fd0fc7241c52b6a9aa733eef1deaa786dd7e47f6ac90584642defa89e47d0b07a76dcd6f24ebb682afb0dcd6fa9f2fc7edb467373c779ab9f2d5165ab8a5ba5bda5f93dcd0b9bc47ba0f923f72be64f4961b7693dc4fcd99267fc73b1cc5f96bef25eb15ff71b9baf637e8b7fe595e6c5b57b7ba37989e63bbc79d1a958eb7297bf76c8bbfb471997f5fa532afa5710d274b5ab27547fd91c036e390477838adcec99d66ebbe5c9329c999b334af473a576fb3515e7bb34dfdba49fb1d4039aa76c39c48e3d53e646d1635bd2bcaf2543f2cf63abdc0b653cbbdfc5fb4249aeb9bd981fcaf8940928b3eced33a64414a729137337a3497c948751d1368a9f5491839df88dea2996900f078ced719da324fae3435b361e195e30653957b1d16f7ebb55360e6ad72a51505d5671bb3bdd583215ca5457f5cbd42853e7979b69f09fe68d68f19e29d3b4a5c5ff0c86f24f29e6031b3fb9527a57bce3de143e30659f7f68e53a49692f97167f2bd3a14c77e1867b94e953664019733f26a8e9f3511ed69dda3d311f1a62d626fe7aa5da19354296b05ae4b5dd4be7916f3b343e32455534add1748b78efe54ee1e3b81655fcbc3b35269819afe937a1cc94eaa7ac8179b9fcbe16cb1c3b693319215910de5e7bce2dd9fa878d668b17319fa91f24dffa4c71bb765d3137668ab9c38cf9ad13ca9c2edcfc1965ce297341994b3e0d028618bdabdfc81dde639737b4a8d1e04587b52a9f2a5f3651d2eb3b3db44551eddaf04df6b798a0e1bdfbf89e3b5d37c1cc1565ae2973c3afd8146728995b79fb77f6cf8c943c65eeb94ccf84144092728737bef4bf0a808b25b9ecbbc5dd9229ee0e4d3121cce490320f0b4ff1489927ca986bbe7c42c5bedd186acfabf7f6794685876d77b8d48abc8272c916df2b9bf6697c7a1d3eb7c98b12665e3fd66f70bdda0a668a9479b322dd702de692a54c6963e12416fcc99da44c4ddddf5d229bcb1d5f410578b7d85fd97c03f6deb2f6266f507aa645dca3ccfec2131d5026c5896fde5331cf89dbed2183d4b8e0ce5bc30438793641a31f5be1fa61e49f53f1ab9bd32873c8c6673a219923f6a5e62f5ff5a2191335a4f98859b6185bb2b454b8bedba26f2deb51d6ff4a09acf72b49155929371f14f7eb2b77c517d41b2e5336e4838eb351f25cd998b29c18769b8ad60ab33c0bddb8a746816a396e0b8d157ec5045755b42b97bfa09fb8d38f645b2c595396bbd2d93a651b946d4a69f1ebe037924e0abfa3e5625e5c6f6ae56953b6b356ba94ed51b66fcbc05e96be5096b459284bb7144ad13b1fda32a2ecd8ce99b8a79b5076ba5148ee8cf2c10c010f8b37762428ad7ed4167ea0e2e7341b443ccecb071bf14a519eb9fe92843cbdb028e1cc4a389792b1c593325c28ee4d656d099392bc56f3f99c2d27943da5ec1965cf297bb1a106ace8b15e16afcf3fb7a2d370e10e3d7bc3970b8f30e77b30d159f64a9ef19ab23734c8af09d9b747af95ed0e82145474cde1d70df10b2a52f676a909e4456f9f97f06e5942235e9eb2f70ba5b15c0acbaf6645e075a59b9bcac316be5e865b44f2e4a7e7cba5b07cb78fcbcf62ca13659f17eaeb0be71ce736325677cae70c363d9e68341d445e200277faa5e67049c50f77027086c19558f493bed4c432d9d765132c52f68db225293b94dd5d288bef626f4ddd75814dd9df24f30165539b84df28d2feda35d7a5726aed2ddfe1e29d9796cb21658f169efa98cf43b442dae1bd1b76a7cd989a1556f1d7dce9a754e424722b12722cf33d09d39423ca7952fc85127c4eda6deaaac656e65c99e6954ddabc23d227d5dab5b727b76a6e3b798470e1d1a255217331e52a9c1b2357b55ba866d46cf1ea1eb752eb17dce9e754ccd5be393a935d6e087375ca3528d7e4629e30d7a25cdb167df2ce6651735dcaf528d74fde636e40b9a12d23ca8d2937b17f9fb2fde566949bf314552e43b9ec1691d67da0945c6e5530f3eb5b35eb249ae1595af6d1ec33e64e28774ab9b38537704eb90bca5d9217f31ab8e8ca3ad2221b62fde1dbee3451719b901ccb7ccf1073574b6d214b784db91b5b6e297767cb893c706b41d408afc6842a785f79cadddbe053dfa6f77fc49dd572234bd3ae2f26cfdf10c3a12d66c63331b364bafa9d99d5ddea16d89e99f5fd3b22c3214b8df55452a17c93a8215147a2814453ff6569e9bf2c6dad07f79c2e2afe27e2bb358c1e6be155b5c7d8cafa761d7dcdae4a0f89beab1cb85a702d0cc8709be90be6199d4ff82e1ffed69c3a149f2e178e41e36f3ce24d442a0883488490605de1778eda6f58d4172e7989aebd44596248c491049284a4c395bf192239b2853f8f5dff4e9e7352f532f203b387d8949c07db3db988be69585f3984e4544ac014457286e41cc905924bed2cbac8c094794f6de95f2aa287e23d48dd70b38de4eacfcc6972edc90bf905921b24b748ee90dc5b2f661135501da22517d1e4d5f0260f481e5d72b23f9c91bc3c97b7bb88c3b18a432fb06746f25fc8edf57d59de553ebc203f91fcc2dbd38e87bfa6f8501ddb46907cb982dcb47f886892af5e8409249348a6c44958af94f6104d66bc3aaa0a9accda924332ff44f85e45244b2a65242b485691acd952d7427f48cb5135b7b67d4feea1b58cdaf0425e78e6351bf2d6224d951692f6889024bf6017c91e4ec5ff8ea22c527eaf8e3b17c5fe9562d2f72d42ff156132a0088348f2eb85ed9731381bf6ab7a15341941328a64ec9f258e1490222fa48732f138b92bb9bf85975072a981bc2c3b457ef7d410a9115263a426484dadc249cd909a23b5f84f409aacbffd481ddb6ec122fc738093728d6ce0c74dad905a23b5416aabaf31f4e0e4f7bc6aa7e24cb1ec913afc477244ea24da6c71ba1737b97bb57b6833bf859778088fdffd2c0e257541ea0da977a43eec22fa44ea0ba9973fc776be8e11bcf64c4d4cffc8551db5adb67d0b32f5fa9d776477984ad8cff7a18f9b448a5f2c2d2f90d49771e39457b5b53395412a8b54ee3f953c5205a48a2e0bb9f50496463cf01ccd2bdd695e442dffbdd9b495cf7a97b0cd8fdfb464c32b235541aa8a540da93a520dbb94b82ab7906ae3f0f54b6c0f7a89dd14a5734b969477dbd55b8a02d2c91d6f7a836fdc61aaa308bb48f590eaeb0b54f4650c4e9fb21ce90bfb910a2015fcb5f02961d7bffc39f244a248c5a4725cb58dad425ce4d666bae13db29c8ff9359e584eb7f295f5ddab520869a89080741c647a80f410e9d113bbfaac7ffff366dc864d91853a6ebbaa7b8cdf514c8f719c203db94d39d2d32bc2f40c69fe6681f412e9953efada665975b1ac22bd417a8bf4ee4f648ff4c1f5ef11e9d31339bb68ad1f91735bce929dcbfe35bfad485245de51f9a52f36bf372d8a77a43f2456100769dbd5f427d25f48dfd8d53b7877e46455707b549589512d1837765517afbb03b98fd5ce0da45fad06f1019769e26a4bd349cb1da65348a791cee8a3afac9a6858a6b348e790ce235df87329225d9271c0f2a18c7445fe7d2c552fb07b78dfe85fe42e67e077a9215dbf869d37fae7285fbae1e5077d7d2e8726d22da4db6aa5ea48db6d93e92ed23da4fb6a57ef94cf03aff66c3c9c527cf9b2546aac9b4f3bcbb0cae7d40390e46796fc93201445f4b914d12f4f990e201d443a8474581fdd6119413a8a740ce93832f87321195128a7ff423283e7f01ef27b127c6686c88c9019233341668acccce5ffdcf6b3ac11808b5f66eee517466681cc129995d82a7190b601cbac91d920b3d5160067b2c31d3cf730c6e5bb25ce7854192192d9d9ead876ef2ea74bd83d7090cab2237f33fb5b5bcaee307340e688cc491e5a9efe8ccc05993764de553e90f9fc9d7c21f3629ff547f28a4cc28b4d25934426854c1a99cc1d42af0a66b2572b9ac9219347a6205efc990a7ea77f599b5f1199123265b1556c57d3aeac2c5341a68a4c0dbb98c3ef169e0b9b8e1c7744c7864b43fb25257695756ba0f3d0af7675afdfdcf253845599fd9ca9bbe252db96661ac83425c7908766962d64dab67490e9fe4e7ac8f45d27fe5e7cb6aa953cca97f16bb570aecf6517f8560b83c884ac28f481177454b062c52f99b0cdef5d113afc2236bf28326c24e262ab8c5d75c29c2c90256407da0ee7523e0fbc2bb69bd9bb265fd42d3eb3435944808daac4ab7bd7f2d6756447f7088562d6d565919d5c6d69768aec4c9f388aec1cd9852d4b6457c8ae7f920db25bd7597f2abb3b846564f78f6e7440f67845983d5d1166cfc85eecc3de907d47f6e33b846e15cc7e22fba546c8d6bfec8b8530fb8a6c426c95447f5c32495701a6904d239bb91bd87f4beef16c9beba6bbd92c28a6eb9ab79c061d31b0b2d047f90e610e597b68029b7831110bcb96660bc816f589f905b8042bb6f059b56f856b4cc375fc5fc9eb9b4b175538fdffe6a616c2a6fedb42b6add2f11ed67d84d09d4570edec795430dbf7a8a094860f593fb2016483aa8e6b5147a77d351b42961f2382b5dfcdef11bcbc77e6dbc25ee5d6d9067b59308b0fe9b4f1b9d9304ee02d3632d0c646a814a30f829a2c3f6e1c392047c80d901b2237b2658cdce4b94c919b2137771dff77b27035acbb35d2fd8d2615b925722be4d64231b779f4485be476c8ed913b2077fc560b57b62374a29893f0639f923b217756847ee42ec8bd21f72e159d2d16071037ea98fb40ee537a8c5dcae78277c576b3288d33eec6de98fec277fab2d683922d2392b2beed3c86795c17ba250be12a80dccbb5bdd42488b957996f9d4b486e2b1493c8a56c492397792caf31e4b2ae23ff5a72c8e59f20bc01e94d2d7205e48a770f5642ae6cb9438e48ad70c6f71861aef200a1a5822551c15cd5465843ae2eb68a43070e206ed431d740ae895c0bb9b68b9f0b9e43ce3b89fc3a7acade03fb05b98e2e50af321d6301a14835a1c8ffcaee704ca8eb55c435723d9d32cf8fd247ce2714d9b8c97061951cd7c4c09d04910b5d8ff917c985bddd5bf708bf01c9ba18911422c74463224ed39a87a26944745a64fad29a710d475bb6233c598e90b55010faaf5ac8c92223ccc59187840e8e3aba83d53c213f90750caefc1637e47449b2987b59879bd936b683cc0fad25b1863a937d74508a159dd55ec1a185fce85611f3e62126a288f929f233e4e7b6f0afcb3b59b90ef8175923bfb179745cf0becff7ef327dd34c632518a68d46295a71a93bafb8b1a599db7442629918f25b31a4f91df27b4b0bf307e48fc89fc4e3dca8a3933be6cfc85f907fc3e6dde1e781e75d6ccf6c08713b92d176907cad775952425672d15595c6ba522f7f188691ffb05723b19b4cf33a7534ff652962fe45e61de65f5512c8f30129af24f5fbd77f96b40e89e87ac782b8b13d6c7b7bd6c76b28eeae144d76e198538f229a76353ba970101a5f285a68fbc27c46b4d04298453ea715ddab8e597b5c793e8f7c01f922f2258ff2d9f0ac7d3c1c91152de9e18cf08915e96c48108ef3a0b42e09f2214b486eb896d9a331d2492b34cd5790af22cfd58de1699bfd0ba36aaab0e2b6efa463fffab7f2d540beeb1d2ad0f16ae1c3465477df5347c54bd1c9f4f33dbba7c26d4e6fb2fb1b5b5a7485333ed14231a4ef36c2be7431e6f97bbf7a1c55c76bb0ea6a59cd07900f221fc262ebf0f3c2a3abe862640f47153b910e5309eb92e759950d366cd323c8dbd169ba6385a679466b42531f0a4081e4d7c20085210a2314f8f344bad3e403cb1485d93f097b5ce9decab8281a5b6af3b3fa2edc83b2ec3e8d2b48c7413a59bf491677defe263bc1b866177d6feb4cf62ea2512d64435a988b232c2cae080b4b1456e2718c3a4a0b97e68eac0c4e8c5358a3b041618b53c8cbcf2647155b426685c06fe6f54f64abb1c20e853d463ba1282bbcf0bf87ab2b2e1ca51e154ef6bf67a57841e10d8577143e5060725f28bca0f08a42423f275148e9bf7f2769695db3860784ed411ef743b0368fba1555ae7d8a370ed2768dc62f5e29865d4ef18e2267f70f113a86d48d30d543218342568ac8a8632167ab63527cd3b560f32814b0983a3653768398ac2453a01d361f386e657b72913ca681efe6f50b4836ca85220a2551c44219850a0ad5eb981ad36a5a70cdc72f70d56b5863f70a4d145a28f09b7450e0c37afab9af9fff4eb88af85d833cc22e457410baf97dd3bfef1e0ad5b933aaee0055439b6b5c637bc442e0d696ba119a7046101ebd08835ac52f57a3ea89716ca35a08a1104621824214eba56c05b1b908bf4302b34f91ed1ad306f393855b6789eb78d40762f6922bc45088a30809768a84e2c013d7703dcab9fa87dd521ca23842913f4c509cea8799ccd9fc6b29ceadb11d566ba79ad3e2e20ee1e43aa8d51ad74a0fc6245ad6b5ecead9775134d18d15a03e51c4e2f24e11fd9ebcd00a678c21e5e35728aea54f832bba63549d18c76d548b1b14b728ee50dc8b0a32c5f9411666617e0b527e13593c89fab29b00f5dc63e01ec9ba2cbb00be41411e503c5ad1a9b47dd7adb6efe2e909c5338a1714df507c47f103c54f14bf507cf90779bd522c266c736adb523195ae41c932beed7ee8dbce0572e352c7e2d5350ac5b4a58b5680eaeab82826af414d91df3dadcd6cb62d75109a8894b5b098112d4c2651cccab8ea624e2816f33f18d5221f5944b18462599b5c0e38e504e1bc206b5e0d7573328e370f0d8cc2386d8d45fd76ffb837d6a78a6824a71fc53b736adabe1f20aca1c8dad340b1a9c2efdc56e9a0d8fd5be9b974d18c7c2c5a418d28968df03aa87cf864d0b0a3941b5b1d3b5ed798961b5d296a938d74ffbae31a0d6a8a6c9f7c9a5ad8118da38545bf654805e14a1106a4aba7688caaad8e6ea3ca71c6b500b9a686518c585a382fea5ababab98e908ba01845318655bd76ee198a3f6d0c7de95bfd1e457bd5bb54c36e380d4a8e714fb104a5784689501aa034446984d2583fff830845b753348ab87669a17232d84a1391579ffdc13dd7627c9d1363d4512cb3635477d6b00ca1389271506ea728adde4ddb2396509a7a6ca934d0c4519aa134bf1ad27408a5054a4b096d4aab0746d5895493f674f9d21aa50d4a5b693b1b2e24ba9c05716ee09cc4788bc18bcc63b5c550fccdc6d053a158b2d7c12bed2d735a3a3c427854842aaf5d944eff99188aa2312e4534082d151c7a665d251296dc4cc6e0234b6705694c6bd215e3d8c986457168e7fb8e537cb7e39a930435252e96376d2975229abe202cbdcba0370be1074a9f3234b7f425ea587a7960544dfa5fb2838c5202a5244a5cc269cc5e31e28b64308c4817c59d18bff8abfde3c4a296b2d786b7524e6a5029ff8862e14ab15444a92473c0fe132995b57925632ba2e30ec716c2923343c3cc916bb824604d6393b9544629c736486357bb2ed7e8b6a8675768b37235d6d81eb15441a92aa985d54c9abdbac3524d1066133253a554b728169f45aac96b9b6aa98112f36ea1d416fd1bed3de4062d5bf2b5f3d18c0dffd5c6d0287927237ed4b51f6a8a126b5bcf4bb16f23f4895e7e4450f2a314f86f2437b493fd926d4bc9b2a2a5a08b9f7b4663cd9eb0e86269408a064f3ceac855c40a5353b714a5f9db718a6a4e8d472cb1a284eda0a6efb1a5ec0e4bfcfa5cff6212da94e28f8daa49ff6f5c63192813ca0317bcae1b9e2386e26f36869ea23cbcd3b983d423d364531ea1cc379ed8d1a9d1453b952cf3e9b3ff4ee64ad128e244556aa873a0fcaef9e55f3ae9fee56e0ebef9d50139b853c7b0aabb19eeed585443d184362d2bc148ba3c627981f2d24a2d8c2232c2f24adc61798df206e52dca3b94f7578a6c541fbac6b4dde3583ea07c44f9e4523e0f3c8d5a240235147fb17f1c95503e7b10962f62079862f94d9e866b165b09b615e577943f50fe148ae52fd7f12f28bffe47924039697b445b11854ac0c58fbc53fe9d39fb395b2f1d90633bcc31298731aa2e5db49245758ae5944d5173446932f58b472ca751cea09c154574dbd2720ee5bc98d3b27a9972f16a54cb258f6b745ac69d00a75c46b98272f58e5fca9544c86ee2c62ffe62ff382aa2ec6aa329f30335c40ee46175453145ae5f5ccba4aec565dc4db989720be5f655235ff3f6cac1ff2ce50eca5d2ba8b945488aed7ed195b18df3e50a928df0551d8d51b5c3d4c4238af7e6d434b6957b28f751f689223ab6b4ec47398032030ba11c568a91a7aed1c91a9d00a71c45398672dc8530e586e788d1c55f6c1e970fa3023bcdf84085ac21360e45b60f0ec5ca0095212a23b12495312a1354a69a7bd45099a132ff8f6481ca5219ec6d436a10be5a0be5c8ca350997d46c96aa97155b1d6546ea402df35a2946af14655690697eabb8429bb08ca9b19adc4c825193a0a6b24685df778bca4ee2d2ca1e95c335ca3352395aaed19d35b231f3043876fc5139a17246e5e2e257b9176b27865fed0a5d7943e5ddbefac735dfcfc36a01678a1c404b18fd2521b550fcd4c06c89ca172a2fa8bca2924025894a0a95342a99ff42b8c6e46c45ac595a6856b2baae5865af3125ff26aca5a244295f2c75ace42d8a62544bea1a99414129866d8a1ada48a668720c8d4ead56d3372bcdaf145129a152165b5aa9a0c257aec9e8d38a83b02126ca1de0549ad2ff536949a79e0cc6d1dcdf09532b6d543aa87495d6de61e612abadd4e8e22fb68dabf450d1366ef6bd4eab0d5bf39c4d91ad3cd7af2b459f50644b52f1a3124085bf09c9308e0aeb740495282a3154e2a8e25fe5732f7dfdc223284ae620ac92ac1a561d58abbb59abb81996355de7eaacbadb50751c6aa34fc40e706cbf6875685cacd046c6d7d8e69415b13ab4149143534ef34d4b0ddb527687d511aa635427a84ea512b351658ad59954eeea5c285617a83a1305eb9e5e2a8762b180ea0ad5b5bda1a843f1e29a8521624632fe62cfb8eac68e4b5f758886b6dab8299ad0c65094909a5f728bea0ed53daa07548fa89e8462f58cea05d53754df51e5b7fd44f50bd5977f93575413a2880e42b3705f35296b295653a8a651cda09a15a8b2921c5423d70a7e651bd5dd95a2241b8662c81ba0aa5334e6d4896ba413f878cd2eaa3954f3a8169462518d10bf600955ae5815a1c855bc5a45d5bb3073b52e86addab0c2d4ebf74d545bae9d612b0f677d2bc5df6c18576d5f293a6d6f4e9ae104a842316e514ca5ae14b3459b6207d5aebe670f55d6151faa7e5403a8f2bb71b987ff56f8dc885eea99f02da2c2d580acc6d4ae92aa63d58e54b9dac56d5d4ca306d5459fdd82aa4ed124fb664c468da41fd834d68822d66c8417a9acfcb2b5016a4335457e6909118a3ed446a8ddb593d426a84da5b3fd86626d86dadc31a136c8db45188c5ffcc54ed0b5c52d459366304527cd700254a6585b5a146b2bf10d4cb1b696c10a8662e9539a866b1bd4b6625d6b3b953d6a07d48e7f2ba7276bf65c507bd303de75815ab5ae9f6a7b2da3aa14a541ce84a98e456d5ac92253cc842da7e89853471139ae91d9de3de93bac7da0f66951ac7da1f682daab4591932e36aab5046a49d14b37c27c438ab1a60be6d6d262eaae1433a865efdce1edf47da5f89bade26a392fc59445f1599ac1146b79d40a1645f6100f291ab75f63c65cb5cba85550abfecfa4861adfaba1208bb651cd6964e4b374b1d6f4527439452bc73859710d2b222718c6237276586b4976cf148d2ed6daa869a859eb8a29aaf550eb4b638814a0cf4b911f49938d9abac35ac04b916b46e8263abd276a2cea2ff689ab855d14ed29351c597d4391d30c43913dfc638a11d4a236c8186a71d4813afdcf6480faf04a51621ce31a03e217eb23d545cd17eb636dbbe9593d8be98b0e77d31cc352441fea13db23d664d07e7d8afaec4ab16e93a82f342ce0eb2f2d78f5957ca8db0b70d63756ca6828a6a61e8af52dea3b9c2edaf696c760f73cd3f8cdc6d0f5fd9f51ac1f6e29b2b7bfa1583f4a15ae9f50b75beceafcfe6fa8bfff6fe403f54f5c3238af51ffb229aa452d4d24ba914eca92f632eebca14ddf6e785b4a5c23997e5506b7b12fe4d49e7da145f16851acbf481f009b501643b1feaa35b58f7a428306fe5e9bd938cd7012ffbabd04b987621af50c4e4d9cde70aa0b4e43f45435500d573323fce78da151cffeaf286613a8e750cf5f53e37a01f522eaa5ff5a58032ae21a99a2e4210ec58bbd2ad95acc69bd8a7a4d87140fed4c11b6229e64c4b078c4ba44a4a681e68662bdeee90fa837506fda9f57a8b73c14ebed2bc52b3957af439d9fa787434fd6b63f7dd5ce795c5e3d44550cc59f378646bdffaf14ef2d2abf76dd271439472ef31bfa510fd82fbc443d28ebfeca4a9cff9dd443a887350921577473d1ac7feb4d169b6a4ecb624e65567053a3d3a8268876386328d623578a66ed3e77f7ea87d361ce2fa53d1ba67faa1e5348f107141beecf84c640c6065f5238147149cbd6115c11c5a20c70c98a9cde0cc55f6c0cdd18ba28dad14d6374a5d8183ff58bcfa21ba13895d0ce50e464ab314163eaea9beca331d3e91f6bdd09f39fa531476321cbb74bcaf8aaa18dc9fa07da3955d215191c737a968637a388129ac6ae8d6da6c9db24f80ec5869dc5bbbb571bea05adcf6ba168fa8a1b1b34b668ec6c8aae15ff1aaee9d98d031a471de47d91991732a94de59257a231b33f84a1f88b8da11ba70714dd1d1afc64371439d370283ecc341c8a6c949822170a9ba9c6198dcbb5146aceebc574f7cb2a1a6fff20ef687cb802d42f096d1a9f6870b1be688746c8ea1f96e8b4ec4218b50747d5ac1cdf4db1cce5e31d08c881e8d5412cb546aa863512d71effa2a6ff4c9163d48fbae7740fc5a42e583d912934579c6ea2459be28f1b43375268a41fe78b8d8c50ac0cb485f72e5fe4f0cc50e4acdfa1d8c8de5294c1454a918d5523772d829bd4ca7ab7bcee8dc9b5bbf067929ca15144a3242d708db22cf32dfdfe49bb053522fdc316c2cb35a891f9a4364513979a1cbf9895eec346050d7be4116b1e33e39ac71fae9dacfc9c6cccf86f431fa379a5d868a1f17cbbc046070d2eab9e74ee5a7b113ec479b667a17ebb3134f62b34fad241f8a1a3df1eb4dd5cc4dcffb6054edb6e3810e0048b298a398a48a5668a5cc11bae5a6c2282672f69bdaa5f763515ae66b7d396027e2e8d80ad852bdb969a643faa5dfc0d4d305cb6f4daf6ed347cf7adee27195013518a41db1d9e2d2b7a554aae3421e9124830333b5be334a3c127b26ec4be7db5389a40935ce3bca70ecb2b4e2abae62f3edb18ba3990fd119b438ba299ea96eadeb6a3b2a160d7682832d18a4f289ad67043d1b4865beda836c5fc09cd911404576aaedacd319a131be1f9da31f997127f20cd299a331be1d0ee902a6adb695a15f13e347535d698349f2936e7e205d8a337ed56ad9ac6a5ec143dcf50457329149bf7d5b1a49b5f7f4f718de6e6d1b07d8f767ae72fde6d0c8de616cd1d9a7b340f681e3d144dcf949ba235c0cbd5a7c115d0ead37891a66187625ac784198a26d96832cef31fa8e05f0b9be8e6c5eee5273ba889ea288d863d74d19b23ba9de24d80cabea069eff3226d6c77d5aef92e9141f3e3c193343f7fa0d8fc42f305cdd76fd60337386f287a3686c6a48d66c296249a765a6a66bb39fd8b69b2280ac895ab7f7174ed5fbc4919931f9e00a7994633e332a4e7efdeed1f85e3de66d685d0955d184514735abd33a7f74ed10e6d9a39d7c50b524b4a47cf1d5fe34f1e66f91345368405347fdefbcf4bd1bd3174b38466d945914d87edc30bc7eb721a4e5f3f0735ac7ff72963b3f638d97007384d6f8778b3f1ddbbfda3b096379b1e84624b77f6289bed9d223e32a78e536cdafb66b0165e47fe15ae4445f559193a68de6dc2d9eca1d9ffee519b3e34fd6806fe80e2d52f2e6668063d08cf3ba459b543d6d5cd44fe9bc49f6d296363d7f8304cf5744e795d63337c3baca1f4d38ed2ff4a31721df166216cb806673c5144c79c9a569b66144d576cc2e6d4c92e1827ffcb6eb219470b68917a964fb406f26aad215a23b4c6684d24f9f9e6515b53b46668cd7f455176e870edcd8ed642367a76211407d95acadaba2d7557cee4537798da5a0bc5d6e61ae09830f5daddffe20970d2b6516d6dbd087d7f4fe897145b3bcb177a10dab6f499229ae8d498d3d61eadbb41f1a6efc92dada37893923680b07f699dc459b4ce96df695dbea3d87a43eb1dad0fb43e7f47d141b89829b02f8f164ee2f2e5a9280bebb6ec64e33e4ccd70e9bc8a517d36f4e6596baad33ff57f604e4d59b712f670c5b41761d93344eaa122b69232b6564a398556faf6ca3714ad9477a70d204bf132ad0c5a3ae8a69593f2693923eb1979012d97116a95d02a4bc34dabf2a71459dbaa5784ad9a41684456d56d691383339ddf1de014f382d06d54efdbe1ee8d6aabf17f6a4ead026adecdc4387bc72a86ad4cff46115bea05590b5b5c149ddbcb3ea3c8d6886d9233369c6bb9f13e42912d5f0fadbe3500aee5b2432d3f5a014e3370dcff21c556f08a7037c12185e3ee4a31cd36c1768d66b6cd4d80c38fc50fc7b6d4718d4eee6f8cea4dd6c846b5e5758aa56fbdfd7f46318256d43b4fb8e24278634b2f56877e4bbd602b6ec5356ddc5ef61945e314b98a3bc958a325768bcbe76630aabb05b54d680fd01ee258f8138aed113ee336c53da633b722aa2e2e24c069eb3d9cb5fb9c76387e2026c71459eeb3c66746b53dd1e9384789e8d896dec4e8ff3b694f352f3cbb2643adee10be5e87b8b56792deb5e7d664d2f6e2c1359f5174cca933865114d187f6f2763ab133239c9d627b85f69a431b2ccf7f44717355c46d9111ba15d10a70d25f686fe536c9f683dcbfbdb38caa79dceafcda2cee34a8ba9be2dafbff3b6cb71419ccd165451d5f7883d0654b590bcdd48bf693b9d34ffde2d633d5860340634e19a77baa4ddb9525b72fd227d56696efbfd965dca6d8fe40fbd342b809de23b4029cf6972c7862ee945add668ded17cba8d696b746d544aaed57b4136827d1e63ba6d1cefcff41689554d685b0f51ce111ed9c443426476ce7b5cd45af7053059f51e4e8d40c60b4dab66252445c328537cfb4b7b6abe9aecd455d42bb2cbb8b5dfa4f175eb0075029c576056d3ba839368d3bbca768b9c6764d96bafe3046757deda23283e1f8e1a4a2d9332e9d461c8e71dade77abfd9fb8c06fa4c15ad5702d3be45a27c38d90e3d27613ed96d8d276dbe30e65f88caba5f019458f398d5be6d438458f39b527d6b73b68b3afe9a1dd47dbf77054bf196ee3d5c5366b49c0a24839a38838041f503cb1e207d1d618c78cf3b931aa4cce1855062959a346aa5cfbdade28a6befcff664b3dea1871a960f431c25a0beda8d56adaf67641dcb4f73ed5459fd5bfcf1499a8654ebf3ce6b442aea78aa30374089d013ac3a7eb2ddc5274dca16d4b9f532ca13342c7be5f67726b543b76a4ca14859faa636776974e14fea9f4ff2b6165eacc6f571b729657302b647416e82cd51d7a111a666e8aacdc9d95b4d7dcbcec5511ebda30a2d1297b1f7774eace313a6b194cdcd9a0b34567f77cbd85ca438a7bc7963e446881ececd139a0a39a74dfd7688caa51470e6af8e93b2774cede17fb5f3676772ee8bc49a7e3bdf0f7fcabfb6066d079b7d6bff42c72d2b7116ad0d8f97cd052c3e7deb75174bed079913aea8cb5912aab8ac8c2056214916b767eea5dd02f695fe1159d043a497452e8a4bf5d6c21f588e2f1ddb1a5df5164a3dae1d7b387c475729ef953d2bf91bdaa234b27ff3f54440758a7201dc5463a45744a8fe57a4c418680f089d5da75c12f6b56be3da55b5ada9e7447c810c5a53ddfdd8db6858e3d38e1fabe71753423290d2baec97ae21a77934da7824e159d1a3a75741abf596fc1459173fc6f6da9c7a872a4da695a771575f4c6383261232776839fb8c36fd5fe8f3da21b9b61f31141a7834e574452aeba48a7772b1fba4497398c8f375dff7cba7be5cbeb9a7b99a7083fc6f680a89bdec4aa34fa77eca84d48af542fbfa45abb1551e682ab221a73da719b537e35fe86dd50089df04feb2d5cbc149da06636bf49f61f804c72a1f0fbdb2b337662b7ea28bd54aa8e9db80c04edbacdcbdf3676cbc88c9845cec16668350adafbd34697d01d58c2f9c08d583ff131433998cf2abccb152a151d10a52bd4c894fc1aba2374bf7d186330ddf3dd45111bd6f4a89b83bb1374a7e8ced09d5b59a3c435b50769627781ee12dd15ba6b144ab573f22749b9286a7ba9201cc7c43b8e173f50e4f4bfbb41776bdd3bd9be55c78e7ac7eece1acedbdda3eb9a557bf3f23fda4c0f3c25c7a52fcc8616adeed11ae226732b5564a5cf3b717eed9ee4603e4b6420f308bb67950bba6f96821aabdbf03f7e2a4bcfbc4dbedd77c989bb37ddfa51743faf239bbb5f327a316faf7193eb5d130cb9c20bbaafe826d0e5874cfd6abd055547337f312708b7251d99c10e123f50e4f4bf9b463783aeed1dbbb9dbd9c55ce3ba79d7d317d02dda6d198f86b53d543ef15ed13b78030b1bc330c0ba25159dfcc0d2ad7c27d6317aca4bcae26a41554d651d1515ef5e71ca935c7e78da6e551aa7ba3579c2ebf7fc6c75cff87426dad5ba6e1431efbe4213dd16bafc821d74bba0edafd65b186c9cb61b55c4f34e10cead3d8ef119fd6e2339d31ad7b597b9913d33bdead8eddf0eb0effaae20bf0f700c3f47f96ee071a173e9330386d1ec0b980f3656ac0401155d83bb5c4737e891b27ecf621d16d2b36cae0e514b4d07a2e80ecedfb0ec86a5adb81bf90e218b7428f2b3b182aa79f05c218e1ed023f406b28ac26f165bb0c46753dc8705e1696914514ceb7179bb85636f885dcc88fc9b1da03742cf7e889bc9febd89c792b0f4a6e8cd6c904f920d879f441f3adc9495836de60d3c8b9c3233c07a739905d85b5c85efc8f1a723f200f64f72e4dca26b71f55f89f69652be8e76720592e0c8c5f2e193b33b2c87d05b7d87900be4e3c9d0c51edf7783de16bd1d7a7bf40e187dfd5e94a278c424b69fc28fed2ac7ab4ad4823759e3fdd31246d83bda72428fd15e64c1f20f5d7883c31c5647a7ebb8f7f660be4befdd02799b69bdddf1b395cfd84ccb54aace1972069ba1c5f712f940ef53462b1969ec2d71bee15ff998d6400ffeb2d0f275381d14a875b9b8a5a3654b3b8d6afec8b2f782deab5cfc19424b119fa8722f815e12bd147a695c3e7eb5d2824b6c8aac859bb0654ba70d9c67328071d2c12c21c2fca6131186372f881c473870ddc9a09745cf1e04c6e5e5dea4a8977ff0323dfebe885ec9937248f2a0c3bdb92a38fc2ce52b5f358fe1b10e1972cc404828330e496a5c886591fc446342955ec512e79bbc0a1f26b37c5f2cae06aa548585ada3754b3b8db175b3141bdbd1da567862609f206cf69e23aca2c777e7b7e37ad944aff5ab95165c62282eec16b890b373237a6d4c3976fdc428ad7fb72286e53887594865895e07bd2e7af623b67cd70dc3d8ae36c20fdea7d79775537b3e09f3ae2654fd9fa401ace57ee177553e97e609bc0f297d83cd30eb0524ceec05a5a9ba17b225ec9588fd7d540e93e30316570355887e5c71b276965535dd2c8d8de57a265969e49152366ffd88231f7719888590cd5b1c7da04fe80f30dbfc6a9905af98b9c41df487a27cfd11d60b41d81fe31896bf8c5044114e3e2d84932ed6619508fa13f4a7e8dbe32af9f5380132610edbd5fe5c6af1fd2bf517c2b2bfbcceb89084efd3b69faa7f1c807039726972991a9be9c033e4181b2331c0fa2b95b52d1b89e96f84bfb47ed5832db451bd8e12f5e0fc72a9a6cdd28a808e12fb3806b6bfb595b2fa74ea647ff75411fb7bf40fe81f913ca17fc22e02aafea9d89906f39334632ff04422d245358be070c0e40d930fb1abfcf79210842cfdb32d17f4dfd07f47dfce93ea2949831cbbdaff7c6c61984a9f4bf6455ede31a19200d8fa77e5672bdf159e438e91bc2aa104fa49f4532a69958c4ad6fe60beccd9c7246db46b9b68c8d25183b3abe65a8cb63a4e472fb98659b18f2aa5939008e62708f95d9e0535fd3cfa5c4445f43948fe40bf2cfb63e81619bf5a6cc116b33a43fc961fbbc9139751059b92506475149c9f42711f1539642de957d1afa15f47bf817ed3cad0fb2d2b5e6590fdf66de62b603e05e1575da6dbf73b5246c6845a9167f0ca8f7dad513eb181d12b3c8b5cca06c615ab873eebb70f7dbf2d015b9c6f7c724c23a8c767f55c9ba81ba754948aa59a0e4bd64b09684d346b1b583621fce4fc2ee6b007083fc5cc3e44d866131894d9c2fd10fafc5e118c9bb297e97b038332166fb201c36f965c187d9851c5835b7e272ea028fa31f4e3962e8a775c8b463aeae880f4013e826f00df505aa2ad24af66f7754ce11bc9903d3742df189f6de1e79bc037954264e3665c11577cc77e5ac6d3513e03cfe89c2167b005a4c1cc37836f0edf426509dfca2b4bfba7b91e39b3e9f65d44dd38757c94a8becdd2f84bc7c0b2527e2c849f6f2d87718df46d1e80fc78b41cb711df16be9d0c916abee238d63950332c5a229b3616697bffc49f4575d1b7f7f03b69e3b8ef00df11be13b6842db07d51a3fa69e9e20d48b6abbe337cfcf7cdca133854f1bd5b894736ae5fbe5951a541587eb110fa3ec4d0f93ea54c7d5f56d869eca7e85fc8a57c46f30c3cbf4d6ea190f86aaff025e04baaa4b439cd25fc8d48528fe123d37a960d5588fa549b337a97c4553585a5eaa5d42a85c44a29d6be2cd4f9817d992bc8fe9707e437eed097155beae317cfcbe09ae58b0ccf1fbc8282580ff0f1aa38dbee8dddbe1113a31a84363f415810846f0df88ad86404a111564a210ad148c7bab26cb8a697e02bc357814ffd9c04356bf86a02d2c7f5b421e19caf2908f985f9b5e5e555b17c2df8dad287e763d5ec8a302ab16c5197fe19e5ebd9f08cce19723d85d49786509f4f856f14b025e8faccdf87e40039b2af6719a8866858713ada9953a57fb5f492ed01d72a939fd4aaf045e499a5e63186a87eb316efe006f9b17c8e30065f5cc647f9013fe138d3c96ca69be988555f27afa5b1242c073f2eb960edbf68a9a07f20fcb62b9520def2f00ff116847f04fff8314503d2e8a57f02ff14fe19fc73f81776f3664536121345d48c902d6d79ea41e85f4a71f857f0afe1df0812ff16fe1dfc7bf80f5a9a869f2adf55f35e55b11c7201f88ff09fe03fc37f81ff4de5fd4edef4573ee6438eb7b8fae43a7235837361aba6c352f5d2ff2938fd5ffa841b7dda953e9282e47ac646c5ff7205d90d3e45d879859f850b9c5f3fa5838627de316d477c4eb05c62b9c2728de54666e47fbbea82529c6eb13e5c11ce72f0a7859f2064451c6053833f6b513420ef29f2073f9fc8ec0bf017e12f59d982b47abc59198564840335aa5fb2a497b1a20e427f19fe0afc55f8f97675f81bf037e16fa9d2189796b6344fe08544cf84dcc566d6829f2b4447a5abe7de88f9a9a747f6f51403f5e8c299d42ab2bab2e450c8ef93e96df2547bfdb095c7e063fc7e3121122b7941f6b463e4615b1d4734fe80b8c326975210ad0ae8e1c4b6bdce420c8bb05e2e2eba35ead35517ec558bd8bcfa4318f5315ee2b8c434856904fe30fc116c75b6863ffa98a213ec08c518fc710480002130406068452b32f4cf46c89696833a31aa0e429fa58252407b45d2476084c01881090253046608cce53397beb196163c43ce66d65822b04080ffae6c59dbe27ca3c7c8911b9b6bcb56d3b39a5f473593aadf7504b6f22472700301351281bd0db22b5ec08064bf6040b22ef26b5a6d757eab35c769e8091c103822701277d8fa5477387d445167b149b093d1d1c2532c5fb14c98cd8a9fec116e47b4ba401183642a1b04ce085c107813849bb048e0fdea208d5d35381defe838c8c007029f087c0942f610ad815a571ba1e868400d945f6bbdcb8a4a31a90a0abf17045e11482090442085401a810c025904720a752d302c728c278f400181a24a49a5ec15f365450fa8eaf10a95afe0c1d954ea25bd634d6fc475a8aecf33d6c3faaa9455d91f9d8dc70d480e792403b15349b3da8021ca20030d8968027c8b16026daf3b7c0692e1294831b0592c73ba09bcb5fdb42326ebd7cdfc862991c15a3f2724cc9d57f0ce7ff96d3b323c8ec53848c73bde87392c812e023d04589f7c08f825e7930cba2cc92f2394be24cd0825845b5b08b97607025a401d970a0665447620e4e2c735298200df2286401c412048080e101cea011929f7e048658ce0e44ef4273966aa784ad6977c627086e05caec6d70f2ee45ec1a5de37a57528a1cff3a2cf36ba8214fb5f5677ae20399a35a964f72420d9f6747a76d36b17c115826b990615dc20b8d5d91793ef115e591a90c2b28c654532c35913cbaa12cd63f96e53b411caced1a34f0c2ff241be373b371611dc21b847f0804de26a576f1ca423c123822704cf085e1054846c42f925a5e5da4eea992ec77b1ce005dfb5501c842f5a648e0ae6b4883faefc04de27825f08be20f88a6002c124822904d332ea3098d17f132ec9ea91fc21a7f2aa7ff9f8bc1e59d05ff96a45b9b25cdfc552009794b4514a3eb26c796b31c22e909290ccad54b2b7bcaeb0238345da085610accae23541ae43759c62bf47a81a99b740ce7632537fd9c69cf57860e19c358d454d9945501d84d2523ef8d25e8f37fe2cdf0b66a6d840b009fa90a6801bef786d935309b610e4a7ef20c8d5b08760df4a1ba495ab6621948c3e2a51281787e5088d159d6bc1d92a28057ac3cfa7246c7842ce8f6000c120822104c3b6445c62be09e93101151d6b1a8cea45124a37766529778c48edb19432a486c1b6ae0ec8601c216852649a056c901f0babdd9541864811924c0c963950fbdf4cbdb80d76a63d2cc38270d6c07c8a45571741b13aed5dabdcdef363d1a5df6be792f429f367f9e64b3aaa9a41e9c0729b56aadf4a6880d010a191800c8d119ad86d6609ab2f8289b2779474302d618b209c5dad28179f5141518eb88b5fc205cf452e34456886d01ca185cad22be6cbb91e33b5b9065d38535a2dee585a4a99f35a571b24fbc5de4a2c8d69df9126b7a0d5bef331938928a195a486a1b5206c1691986950fa833bbc718d927b0c3a58a4b11a0bc27917cb3ae63d6718866981bb51c15b7eb573c21ae5315f588376f8c33c027a416823dd1d4c71d4bb95cf1e425b847608ed113a207444e8746d7931499820cc693a1f90e0502abb5ad1d0d9a382a18bdabd9c9a41879f81f766937b47e803a14f84be10e2077b452861cbabca97ca878ae16a8886f56a7e9b6542eb0a1f997419d8a1655d1d90a1946623096d160849fb8e80fcb836d485d20831c5ac68211b52d6c23f44a823a3985f8b29d4ce1bac5658ad65a6f0dc87d13b961d0f450b21f3f322b48675b8f9adea22831733920ec70dc6258c194f0e734e6ede3dc2dfccf9a73c4205848a0895102a2354d1c697b044a79290a56d840bcdbbfb52cd450b1d8446055f55515cfc2ccd631255256798d510621bd050697ac57cc9bfb6f4b0579be8522b81c3d2d14bae496d4b29ef41863af2c0521dd336c8a8d5b8634c6b88cd0f57e23e423e998618f2e338fe432d3c6238af9d3b1844a4596edcc2ea5df8b12cba587ddceaa28550ad68ed1cb95541173f672424067191500021ae742101c93859ff0cbf61cc0592d58525825014a11842718461e5ef5666165684affaaf5fd3f0a658d4300942294a0d46a470955f78a0fc96cae04be1d52d6ce121c22384c7084f54a6b6987ff9fb991c2347ce115ed8383f558fbd2cc55f264529c50c00e1a5e5263951915602cdfab93a5a2037da4a17b040865708af11de20bc95fe0a36a4a7d81f22acc8c68a0c6f30c42a8b550e2b0e702aa282cc4fb4f0e21ed866fca2ed086f54f08e9f058f85c622e11dc27b840f081f45267ee93aa6be88e1e708830c9f103e237c41f80de177843f94d951d3ed800b614b292e351318d85ed0a860d8c5ef551938f0f8613e11fe42980bf155257127affa6bd2e66a881a054d688550965c4bc45ffa55f58da7fc528d9c498ac9118d2fa88d473de927119069bbe99c6b580a61ae7f1984b308e710ce8b1686ff20a9b06ca968e12b0623acaa58d5b048882f642df4aaa097a2ecf9de7710deaaa0da4fd9f9cdcd8fc6b573b976ee62d842b8a852c2a71f5ffcf465895139ba71531c86f0c575b3827015e11ac275841b0837ad961aab6dacaf08bb8ab020a9ba6478332dc400c27ca3b60090e276f8cd145ed2c6d641b88b704fa58fb0cf96be4a4f7fe563fc7af08b521fbb58be6afd5888af354a290620a116752e08c3017dc28b5ded56b62e26056438883083e4fa1a41388a700ce13822d0ecfe4f100e2ea288a2857dac7c76503abff185f7142b0292c21e84f72ae88227fc68e4ccdfc15b1b11426480c810911122636b3c00b364336b4256fe3732c1d71a9129223344e6882c105922b2d22698a5b4a7444c6b998d90edaa0973221bd91930b24564a796d0f09b2a098517d95bc02207448e2aa73b39eaaf073db2a73813889cbd2c6bb652ced40000918b360e4cb5d16765e718477501a60fa487c81b22ef887c20f289c817222f88bc22c2174fe25032bd4e7f22c7da79a78a18c22a6c5134eef09122ba755153467190350ba151c13b7e0ccfe6e74ca4b3264522924224ad9241242b49a41967650dd2b187ea44728830b08234b7468a889410292bb98a56796d7f31c946a482485554a191d021f105446a62f42275e5c7c5d7d0bf4d1b5b0b11ae4f1d952e223d5bbaf6977d3dc6262a38bba29a16cb99c6414c826b037f19d0bb9ba066a2cf56548a476da0b71bcd23414442888411e1578b221243248e2810254407ac887f4a51775b4c624dd2d1c809e222e798d31b777813ddd8ad3626d91007b9b94378cfcfb305a04e336f213a4474a432c63682c9978064617eac9de6f3bc80e804d129a23344e7882e105d22ba4274ad26947fda20ba457427e3cd65e4474037600aeac0f320a27b440f881e752dc83751d0d217a22744cf885e107d43f41dd10f954ffdcc7ff980174b2ca87d445f15a761c90724104d229a42342df114538c6610cd229a1390d1bcf86931fb76a339838cf28b14112d215a46b4826815d11aa275441b8836b16e6374fe538a5a8c4531a7eb29d633a1f89339bde68b57849a6c48a4ca010e6ba4f033abe654eef87936e9a89926063e2bda12eb1a6d23da41b48b28278e41514126ca7f652c9d36fd4cf955b9287d8872790510653c2144c388464405a351446388c611834e745d28ced415a70ccd9a5a0aeaac4557cccb1cdd4e4bb61c8d11620395a13509d42c8e101b2136466c22ab3df3293196196273c4d41dc69688ad24408dad2d90b18d2ae25ab5b0ad2de667c4b688ed10e3bb1c103b2276428cbfbc20c65778c7b6824b0cdb3dde8a7fae8b2935849f586fb098a822fe604e5d31aa2376b261f948b6aed79d70525ee5bbd93f4e9b185669c43e10fb1484b12fc45e243a657e0b92bf2c4c74d2c7945ffe159f5ca009c49288a510e313b9c8b288e510cb23561043caaac09e2956946d98640d81b58dd3d6ceac128d95ae500d57234cd72d8dd1f527396caafbc81ee522b1326215c4aa88d510ab23c6d764de2d6d022cab47cc8be76690b13662fc6a5dc47a88f511f321e6472c805850ba8062219c7b423116168a1bfa238a528ca236118954267935a45d51c465fd1b73ea50ec9864dfe2e746c8e654292aa4ae994e6e6d36eddded48cce9d087f106b10862514ce362511d8a227d6129389522eb225364997de08d8b2f86581c71204e880f101f223e427c8cf804f129e233c4e7882f4435056712f1e595a8a3a386ab416bc400e6bff2c1fed21c233a7dd01353ba0969572fb856d5e75bd4115fd99d1e7ceb35e21bc4b788ef10df237e40fc88f809f133e217c4df107f47fc03fbac45711dc36e2dba18ff7c46510bb0a5e168cbb6675d0e4774b8774cfa9ee61931a42cfce1b939b5292e03577e83f0b3ad1a550553eee9e49e671a69d24969c4bf107f11090db0e5377fbd527464bb168a2cdb922e2600ecb8381288339e14e27c910ce259c47388e7112f20cec55142bc2ce62e5e41bc8a784d0ada10353a7a851ab0d03e9680c5cc608b2fafe4920985c7d240bc29869d7531de42bc8d7807f12ee23dc4fb88fb10f7231b463c80f777bc33c220e221cc62323e3bcedfb332f1734625ba794a51f3fac15e9a66d80b0eeadaa8b9507398927118b3962adf850da9dad2a78a68530c7331c5e45a572b5a3496f321cefb9de384e2890b3d8ef736ab20015a25d9a0d055ff989cc03bd8d2200c04e13e2c530cf619103b92b8f6848d08633e873025cc0873bdc492b02209dd36da762acda7323a2f5623ec087bd9f94e3686345c9316dd5bb17f32472a36c2812d36db3eb6a204f6702d02870917c21be19df041f8247c115e7477ea0421494891b8e20cdeb81672a89d25e46432effc8cc500a3a8ac8132e5d30bb8d41e51ac6809efa4ccdf92d2ccbd194b1b9be47b151d1095fe1edb238a9cd39c6216cb97885529649e6ad131a1dfe0344228124a241bcc57f0c66f58c5217915a379d20dc296b624fc18de3e8d6150f8ed33841a36257b5faf06163e0297690baf5c166d92d55fba2493fbfa24835ffd24690a7bce10425cb8611589a948a21a31cac4552956e5bf2aa4a4774403a221d148f1d789fd456c45c466334a34259a11cd8916444b22fe7e4db421da12f1897ba203d191e8447426ba98d5f145570e5f788b11bd11715cc317ff20e2d8841fe08be845f6a4595eee10b6a48194828cb0767ec3863de8019b2336276bd304e93efc2d42275f2c62c9317141babe0ccb55866f533bf74cbea199e2c37d71af50895e891232ff66ef9344c2c1666ca6d1b9fd0aab8e9063396c31e57a5d234ada92224a136588b24439a23c5101a7115191a8445426aa1055d12c10d550ef12d5852835889a442da2365147a5ab698308518fa8af7499715862d11097329fe5270a100589424461a20811836418711a40580f063418d2604483310d263498d26086af032e1c2bbcebf817eda45d56b19de1fd8cb95f060efa47acc0349833456c363458e0d2b9a36892fa3a7605193dbcd458d4f437496377e69b58f47b8ab2a0ff95a5ea250d963458d5ce2c3d4d1c592fcb9a2fdee61822a70e0dd6dae9a89571b0b15019991d8599c136d87ac80d76c4bee1c84576d0bf471a9c687026ae1683371abcd3e043e593065f347821be57b388468f067c293e3d258b88b6cab2ac6f7b2563cb024719db12acd2204d83cc23c9d22047833c0df81d8b3428d1a04c830a0df8941a0dea3468d0a04983160dda34e0f7ead2a087211fdc977c4cd280b8a6d77dd9d64922492e281f0dfc3408d020488310262ff8ec73804a034ebe0bee516ea6754dda48dff8e1233488627bb9b6ce6863f71fd95277bea83770b3641b7bfc92fe30f6d38a535a13062555cab2ddfc764d3c6810a3419c861073351cd07048c3d1ad3030c6361cb35cb10d2716b9e1d482379cd170cefc703ad270818fa4acb0d35a625da5e192862ba967fc60ed7731ab6dbed15ac7937d6837ac5f3475c8e557a3e196387915c057a1e19e86071af295f98e671af2edde68f84ec30f1a7ed2f08b862f347ca56102b93c0d93ead226a62f4263c88e36496a1387440f6b71e29b776cf89953625487691a666898c5e75802d4421c97b697e2ab68857456f8a58d74ff7ad33af3178a583b9faf14ef58ea4e464635b9d45a15c139ccd1302f23ec2494b51a01f05e22aeaac3220df94359d5e8702bc30a0dab0a8c4bb0a632bdea9c4d4ed46e58bfc24bbd083f763ca792c87e6147c853d9d6c5f102ad8a8c0a6ccdd10cb0a6d2b02168d9ab367a3742c3260d5b346cd3b0831c7feed2b08724d78f3e0d7d34f423c11403340cd230a47147c853382637b0176013bd1c5e04e4718d1597d527def8dc30de0a1895b0eed03082d108179fa388d2e62c1e8aef18955b2ccbb2d6fe2f5a671ec2f38cd8789036e8be295a52172dac194e150ba7d1ce618c86711a017bfecbe1c28046431a8d6834a6d144f4d292b3ca9b8a0d6c347563639d53b57b0eef5464e1e796271edec6c6f62e2f5aed8e5aedd88a305a7e54afd088654ea3058d96345ad1684da30d8db634da21c99ff7343a5c976d7e6f8ad11b1dddcbaddd27e91cd28b99ddb5697442ef44a333deead8fa6974a1d11bf6331462a0847db0094d139c4e1033db9dec85be737fe811ed35326c794cd15d40d67e46cece71ee62e25088a18e3e68f449237eb2171abdd228a1381f084e03161a250d3c25f7089e8bdfcd0b702efc2c61fd857435a3adc8106a4ec82639bde6451ab75815b828173d0fc55de17b8a5add4716c833578b148dd25830c20c8db234cad1288f61cfee5cdcab334a6a33b50cfdc52e6b53ecc903fcec11cfb7fc74d637cbf7141fe1b4761b3b0bd1438946fcaa451af187328d2a34aadaf1c8ad189d73d4ee7b78f7fc6cb97052f55708f75282a34f33f85673b2c18f14d5117ebf847e59b3b28b04ae9b3333a5519d460d1a3569d4a211eb286714099d0c35d29ebe84e6f524d568d7c1aeeb52c7cceff919782a356b24e31f16c7d4b385dca643a32e8d3893e30ad8c561286c9e09333362c8fd013c973ad24c5dcb9f51d485d3cc90a20f2c1b58be5fabc5238a123d5a149f2ea16ff73fd4e49a8332de5917fb34f2d188d53140a32076215c58227a70d1d53433b006e7efa232e8db56c747bae8e5276bd40cdc235125d5599a19e1770d317f40f4bd6b31303c580c9e67e21c66917b60367fa0b8e48c93fee8392537186e4511b910c75d2cbbae2e02b62b3dd9acf09ee25be27b8aeae7c2d20a2d73b863340a61cd08c3348ad028ca159a4631142b5897edf6cb92150d893d37532c62585c2c909c6fc828d3c7feef46f9ae63c397eff6d8f05f53947c6369dafd2e3ad4f5e5cfc3e27f1569575c46b545e29714534a31a5cdfd27c9f0160709086d9032ed814b7319d30dd2ee297e6351cb967a2dde6814c772a05db14463f6fd7bb63d341ed278e46aed2a8ad63a8ae880e47c639fc03ec9f986ad8e0ff879e0197ed6848d973fa088b78b673b31dddaefff8b6035d500e1fb07361da27b1d40dbb7723bced33925607ea6af40414a5172bc6340ce76bfd44543457b11d63207ff54c02a44e3318d27349ed27846e3393e7c345ed85d1617fd5b93fe8a9b494f6c1bb667ec439afe671e21acdd289fc3cfb4d859147f048955c98370b6fb8b26867b8bff20ee7a22eee3f5f49316e237cfbcd722d3a10b665218dbd2d546bd60f70a5228e6306e5f417202b74ffe421753daaa25e61dd991b4a54d32482c64a3dc639dc64b69576377234f4ef658888b0e9c083dd83078eac76181037b9c95d4d167fc6c78660a9c330bce507cfd89e2d1835026efd4ff1adb0fc0569fb7f2186adf2c47f8dc63c531fad276b29cb559fdea4bba5b8d0a3a20672df152b232890592c62bf691345ecb988941fda12eda8a98103fc78ab85a61c2cab7a1f1165f091aef68bc978d56657ed35023a984471d656ee11dc8791a1b8e19eb38bc3e30a182f0aa7cae598cce2cd49f28625bf3205cfc518bfb137276aef37722af27314ef22942e9eb968e3a29473e58c05f34b3f65d414aefebbb003673ff14a47629f4687c9051a0d99102b8eb86933431298ac88a3548316f1a1f719cd3f884979c363e30d4332659562c5d4b2f274ed48094e14b9547934973e2b359582f99dc0315345350636e7ee223ac19e1de5efbbb7af7f9b78a7807ef01393be2fa13e1b3acfe04b69343e7394d77f9411bac05a1e0b98dbfbc2097512ddf93f82a1ba4e918a2312b5996c66f127f4a9ee76e6ad85b09862a228ddf659d9a3d7fdfa0f1078d3fb57944526a1a7fd1f8c57af7e1c01a29a82d3e5cfa5e903937157daab492f3dddb4fcf91524dfb0ec5a7ea88cdec0f3de2d3268607d834ddb1822eb7583efcee7bf9a96a555516fe9754f38633ed10ddc8f02df18564063d3c7a3c1be442cd9a1ee90129e1c6d0b93e8d5fb54290b234a31dca56f2ce80591139ae1173ca863489f7322eda2ac299b469e93dc4d9195bf66378b1ab5a59d3d6f75b843615cb056842f2809f5994c15e7b839fdc64fde567ea28a1019fbc5affce9cfed0c4708bcda0b22c86232f4f447f754eb932f65953684538154b884c74e6b415133d0129c959da3ad1809496b994d834a78aa837b25646186a762f2d353b8d9852568221714d96e31a1aa7689c164594162ebb5341aceb9cab85550232442dac7d0925b920dfe24eb1048c18f693bc887c30381796d8fcb4dac5cc916605b1ee33753455405e63e4728d8fdb8a7e6e62f006ca37c0ac29ea8ef7be11fb80475cdd3e9fffb54daedc5d83a3472c753c0b1f3c4c58736c19a198538986dc082d3195469c714d7c216b21a77d87a68cb49004232171cde71997bcf6094f94a2762ab05e1edf640922bb10f4766f964f35b7702134ab105908655d2933977b605532a96d7d079e7398d1457eabedbd3a4ac5b986c29f5613836e1ffe2087fb45138397dc2d30ec720f22375776fc2d579f47416d936bb1bce62a778f2daaac2025a11c68cb4ef516a1b9b87335b1c33551d9d5bb0cc25745c44b4915f12cfa2708cdf4a8a91095ce96148e69bb1caa2e3ca6b6a5dd082d7e1c6a9904c9ccd71f8f5d13f45dcb87e9610ec5f4bd3ade94238d3357901ae098964f4b1c4564a7b21cd2388b7d4a84e37b62b7c1b13b5bb957cc975e43ef96fcfd4a2e966cde2510df2f6e65beb464fa6add8266724773ebdfb19453766decd929becb15f499ada735b5c451c4e5d05c415f302f19de246379c4af042edaed237dc2a663796a5194fe03b6ab75093ead6a9117fd93eee5777dcea17eeeaaf4ae086f56cd70c4f2022133da8ac5a138b47defc51e801abfa538d2c5bfbe9328fa6b1a17685ca431d7cd328d2b34aed2b826219211d669160190964777c766b6dda771fda71b056425c07e92c61c163669dca2719bc61d1a7769cc49025f81ab76066b3fa783529f345a312c69dc7f7acd605c7aeda5d98cafd0d3cf3e61cc05ada73b839a3811a4b1ff9bc7a371c07418385dee340e3e3f986df210c72c8e31ac5f70da48ad5a2f2d84d2d4ee5d7241c2b78b886795dbf95c1f6e7013e6dce962f8e7c27dfc94111af3e9312c7758707dcfd3e844e3384d3800be88388b61b141631213fabb1bc9bd26039a0c716960dee75481594a0131cbc94815e84293efea224d2632626e32250e3b2773ac04aa34a6f0b95cc39422e6299a2cbfbdc84a7bee34df6084da3b4b93f593833712302feb5a335e68b2a5c90e0766d991156fdd4b2edcccf7768952945c47ab18eb84cbae723ce6367d34d9ff75e12acb064d0e382c697294ae704ea43613ac2b228b8d8809ba284693d3bfdc884d024dce34e1827bc3c759701a18f339b3a4c9fbb7003e68f269cd8e387c92cc4de8625dc5475f44ba5ff8b22fb2fcd9771779d5bef4820eef9f19a234493c39384913ae166962e33cc9d22447933c4d0a3429621bd6ad863a3ab9a56bcd1ee4bfc318c605916d0be33d3671a598ebf07b3eb4ab1ab329c5fd8226a57f2b5cf3d0659a546852a5498d2675198a795ee2d8a64903db37233469fe173762fde3cb7698077111484d5f29c8deb767b10673b1fa68e2a709ff1ba4494886624cc2f89c4a3f9a686ae4a75b476528505847799d6232d8e5c854624f0e8ed3143218763a403c49d3214d47341dcbc216d404f9b03ed374824d0485324df91980531e8b152882d114c3a8bd9f06ebfe87933c0c34a1714026d51547a537c7f7d826fc71f94e67a867c1566b3aa7e982a64b9aaec41fac5f68ba6635fd6f6ee48bd27443d32d4d7734ddd3f4205dc127fae1e27cd6b04fd3234d4f34e5e2bbd0f48da6ef34fd40a646d34fe278e7e7177c91a15c813671cc354dc8a09629e3493d39384dd30c4db334cdd1344fd3024d8b342dd1949955685aa529e7366fceaa190f975c306d375969f79b3aed6a69575b11c4cacdb9a01bff0942917e87a64d9ab668caefc99fbb88f2bf3d9af6d9251087f5ffd18d68eaa7a19fa601651994f151d3d02fce0ad3344253ae04319ac639b891912833a2d98066c3ef6da99c3e1bc920bcd958c6cd06d906866936a1d9f4c9c1339acd69b6a0d992662b9aad69b6a1d996663b9aedf172a6d901bb03d80dbb965cb899ef8dc18b35aa58dceff82c7d6f76a39f4b1d53ec1258f19f3cc79166279af1fd2e347b93819db3779af1dfcf6f5ff58b662f347ba5598266499aa56896c61bbf498666d927a7e450e4d7cbd3ac40b322cd4a342bd38ccbb7fafc2e359ad569d6c00b5fb6491ce3ccda3f539c7590cad1ac4bb31ecdfa34f3d1cc4fb300da239a3d8d335da7876816466380c6114d661fa15994664fcce92c4e73c8ac82f980e6439a8f683ec63b7f39217604f319b10b982f88b568be7ab6e4028bc9344c727aa6f9dad5e619b976529f3a34df3c7e8ef996e63b9aef697ea0f991e62715bed485e66fdfbdedfc9de61f34ffa4f917cd5f68fe4af384d4be79f2c9f1299aa7699ea17996e6399ae7695ea07991e6259a979f9c52a17995e6359ad769dea07993e6ad9f31ccdb34e7f7edd2bc47f33ecd7d34f7d39cbfff19a19e1ea27918ed35cd23348fd23c46f3382df0f8e005d162408b212d46b418d362428b292d66b498d362418ba5d46c7681bd96a8a377e113f7920bd6e8296b4827c754c917d36ca68d587683cea9cf11e693e758d362438b2d2d76b4d8ab1c6871a4c58916675a5c9ebeede28d38eb587cd0e293165fb478a1c52b2d12b29af4e3e393b448d1224d8b8c7da3acde34478bfc93530ab428d2a2448b322d2ab4a8d2a2f62b128b3a2d1ab468d2a2458b362d3ab4e8d2e2bbb0c8756e1f4d7e171f2dfcb4e07f83b408d1e27192468b08da4c314a8b182de2c429e2926839204e6c96235a8e6939c1204acba9b846718a0907a1f6abc8cc0bd0d833c25f1bfd0ac4c1b169486417a5910e2d1f97ac78b8e582964b9958b45cd1724dcb0d2df9f38e967b5a1ef4eff1f10b2c4fc4dacf967cf946cb775a7ef05d68f9c40ecb8dbe88e3f5e5ab5e7fa392b06ff4447d97295aa66999a1659696395a3e86fde8442e84222d4bb42c1307b7cb2a2d7f877f59a76583964d5ab668d9a6253f7697968ff14b255b0a72b4f8441f2dfdb4e40f415a866819a665047d2e22d64e2ed868ed1cd564d10629f0cc320b5dcef2dd2319ad463f5ac664a4b3d52cf98239bfc913a7c8e1ee8a6835a0d59056235a8d6935a1d594383f5bcd69b590425f3d4e9069b5a2d59a561b5a6d69b5a3d59e56075a3d41be3ad1ea4cab8bdee2ed7a23ae3772a3c72920ad3e4465579fb4faa2d50bad5e1f1d93a0d56d25a0558a56695a656895a5558e56bfc6bf2ad0aa48ab12adcab4aad0aa4aab1ab1037b7c7043a60a35ba329f24d094e925ab26ad5ab46ad3aa43ab2ead7ab4ead3ca472b3f4ef6127d6611145935c3cc7c4af107cf78547b543f33085cdb82392e583d7609b40ad12a4cab08ada22a312ddf38ad2173ffd6035a0f693d7a7cee7a4ceb09ada7b49ed17a4eeb05ad97b45e3d39784deb0dadb7b4ded17a4feb03ad8fb43ed9373a3f39eb42eb37d1e0f53bad3f68fd40d169fd459ce4dc7ef94aeb04ad93b44ed13a4deb8ce700ff27ad9f8460eb1cadf3b42ed0ba48eb12adcbb4aed0fa71fc45eb1af3a3759d45260305f8751ab46ed2ba45eb36ad3bb4eed29a23ac030dd83daf744dbf849926ac4eb16ccf5fdb3f986d631c24adfb4eb703ad1f47ffb4f6d33a20fcd6415a87541d994a98d6115af39731e5f4448f3790299e9b016d86b419d1664c9b096d9e44e49b196de6b459d066499b95a8e3664d9b0d6db6b4d9a1f6b8ad87367ba9559b036d8eb439d1e6016cda5c68f3200aa3cd3b6d3e68f3499bdb0491362fb479a0d6fa53823649daa46893a64d863659b47bb4c93d3938af8ba6f28d0ab4298a2e6e4a08f2df326d2ab4a9e2b2a74d8d367513a30a3ff1886652695807fe1ccdb8ac0763c32d077928d1a62108374d697a7efc1c2ddab469d3518a5c585d31a11b7eee3e6d7cb4f1a3bba2cd13e3b309d226449b306d22b489d226469bf8d31b6d21537a19e17640db216d47a805a5a66fc7b49d3c39654adb993cd5762efaba5d3c398caff9c000d0764ddb0d6db777dfef68fbb42592b67cbb236d4fb43d0bc5ed85b66c0cea4f0e7ea7ed07fc09da7eeaac3cbedd170d12b2b67f9bdff185b6af487374c3174c38146d7e6595a366f68f28da0e52239d6d92b64f1a1db669daf283661561504d1c04e13647db3c6df9dc226d4bb47d92066c2bb4add2b646db3a6d1bb46dd2f6711a40db366d3bb4edd2b62760b67ddafa68eba7ede3a2b4cf0ad236a416e24d1e6cfb204aa46d84b651dac6687b6b30680799077ee33239c8da0d68377c7cc7dd887663da4d94628f7653dacd68f724e4de2d74579404da2b8be26e4983a4249acd5704b7347d45fb9d762b7c64b1a880829cfba9454dda148fce7cfd67f334eceecd5385764f1ae3771bda6d69b71384bbbd7aa908ed0eb43bd2ee44bb33ed2eb47b7bca66c78ff841bb4fda7dd1ee8576afb47bdc5efc1742bb24ed52aab85ce869da6568f7c093d12e47bb3ced0ab42bdefd54a2dd6dfd93d68c1d17c8133fb7abd1ae2e14770dda35657d624e3976cf5ebf2dfb84b5574af143e6ccee3a08f215baa288bb1e0d96d20c7b1cb3709822c341767dac4af64cfdb26b2270e59bd93676c8ba7be214777eda05d09ab2d08e41866817a65d44547017a55d8c7671da83f68fbb99683fa0fd90f62399dfbb1fd37e42fbc74ef18f11ee6712d4ece7ea4497b45f08c5fd835099f62bdaaf69bfa1fdade57c74f08ef67bf8f98d0e4f0e38d2fe44fb33ed2f84bea8d79e1fe349fcbcff10787c1883649c4dc8b66172f14f994bdb7e577eda2b226b675468ff25fdcc7b2ed21719e13ded4936af6be530cb1fe62fd2fef569c6ba4fd03e49fb94a8e33e4d7b2ea92ced73b4cfd3be40fb22ed4bb4e737a93c39bd2a4abcafd1be4efb06ed9bb4ffb961e587829ea668dfa67d87f65ddaf768df9750881d2ae77077e9843e834f9c823cff775dbe76ad9dd33c4c7b3eeb49c4be0fd19e0f88c8da026c2a194c93cb21fae46036e39fb2640883e118d59793d0a6f581a6ecd3208a78fcd25ead8b3d73d44c9cfea203f0f2894515c713b3a4d11183d20f33dfe8f044930e033a0ce93012453c8ce930a1037f98d1614e87051d967458d1614d8727ed76872d1d7674d8ebdf031d8e74f8c73e45bee6990e173abcd1e19d0e1f42516c694aa29bc3a31c435ee18b43187d85173a3c0e3b2d89b2b3e8d020458727dd8487a438c5031f90a64346568b6030876709091f9993b8e69017de8d838436878234c0365fe950948e2d66c6e464b5ff896b22b02cb94022653a54f052c3224287ea8f141fb759d0a14e87061d9a52049c2f1e5a7468d3a143872e1d7a74e8d3c147073f1d9e9578900e5c7387e2150e61b4f9b17ee8b47b0a6f36a243940e313ac4e9085991e638a0e350281e47ca3243c707fdfb749cd0714a9c531de7745cd0f169f73d1d57745c0b95a58f8e4feae591eb650aa12c1d3928aa73e422608e8fa3593a1e64a517d6c243de096d6479715f5ed625d8f5a46f521656bd0ea7b326be7be7e8932ca291a2e3f1078a28cc9e3cc7898e673a5ee8f826abc31cdfe9f841c74f62953fbed0f1958e093a3e69185badc4c4c9edd3c2f2109688fc987978f0f52c0e378e5c46393ae68983e76391fe5f7bd7d1dbbad264f7f333a6f60de7805989947390e56cef9473642630ff7dea5493222991b26cebbe8b6ff0808221db1245f6e9cad55573fecb3dcd2b347fa07995e68f34e7cb3ed3fc0546130c60fefb2bcddf68fe9ef7080cf327cd77e0efce77695efcd5739958fa34c372cff3735b343f447b9639c429e424fb7f6c73ce0bc4e9fc046ea2cc93c60b366d6a67eaf380e6a7e850fd128852ec64cbe9d402cb4cfb0cd19a5ff1a255108cb788ac1a5975b21a6435c96a91d526ab435697ac1e597db206aa54a03fac213adb8b3c0196d60816b9956f5f903581d8912e3664b104bec016e68f5833b2e6645964d9643964b131ccdfeb215ac4de0ba368f990ab16bf08c95a8ecec8950db24c8405a03ef9860bf69c75861b107f80ac73b2f2771b59972c4be526aff04e0186baf98930b2c082fab2d27ea94a167ff0963d45b2ee9058b64e52e274b567fcd201fdd23a14957f5eb83dad7b628eb61e0445be8947b29ec87a26eb85ac57b2de30092cff83ef647d300c91ab64c9b6ed4d8a59704cd68ee0772ea3b6e6b06cd9bab376c9da8342b5f8c90fc83a24eb88ac63b24ec83a25de7f6ce0d8040831b53eefca761d22613886fab41bb096ed65c14b768bd8c4e3adc3f7c092c3ce974cf2ce2e64a9e25bdd81527c1e929d1f679037f7a34d3cc52c4d16d498c5b8f742f527f5d285696355348a2bbcb88ca586733d8a05a1237b4036dfe588ec31d913b2a764cfc89e936d916d935d587241b68b9e6a2c3fd92ae3c7e067d0f2c42e30c76d31c7d958d0eda4e647093bda0180b419a412d906d926d965b2cfc8e6b5be20fb92ec2bb2afc9be217bd917942bdf917d4f76058ad37e0093d955b21f57def644f633d8cb7e21fb95ec82d092fd2ef3f878053ec061ecceeff152e4974c62f5868f5a29621146b7702bed1df6f75121b0f78a86f1318aa9d2d64279c9ff5d8722d905fc6433ed930df384ec43b28fc83e26fb84ec5372f225b0d2891887c8a98187ec000fc08cc8cfc3f2c4298886380dbccdfed028aafda146118288f73bef62a7494e0b40e29a2572dae474c8e992d323a74fce809c213939f60839637226e44cc99991338758ab4f98819027e235652b86f796acb5da990045c7028a4e41d8dd710469de10cf1a182845273f494e8e1729456dda3cb199e3a271166a0362d3461ba852a01cb3e33a2cd7f2e2dd6fadff843edfc8f1c909b04668ece541318c6ea2f8a1935f92444e09fa9ff738cc77d13abc52f408f81d4322c80c8609e666cdea94c9398381e39c9373419d7b75119273494e8e4421e79a9c1b41f1161be2e51e2628afe66b8d9c3b8451f62cacefe8066beddc935381ee740aa2364e356259be3709c4c053749639fbbb44ce933e7b952a50ce17b085282ab63077f24dac6fdfcdf4859c6772f8e72baf389b36e4bc81d83a0523be93539047753eb5690395c35c089ed8c1fe3d188205193c67971c7edb3e390748ce3987e41c91734cce0939a7e42a7209a39f57afecd6c8ad03245e74e63904c0fac08ffd7a166ecfbbba4f20360abf81b526eb4eb741a3025bcf6d427132907cb7da5a715b450ff50df26b52cb6a2faa9363383740515913c52693bba57898db21b74b6e8fdc3ed88535198307140dbc6618dc829ce2a04cee5038ef0a40ba238408581dda21fc4b97b9f05555dec89d903b2577462ebfc722d746a98beb90eb92eb91ebe7dd5220b1925b4909212b846c2d7321e3f7798030981bd238c4e86006d22d916b906b925b60c4c2026ac0a8d99940d48bb5426e7e0ae19b4b772e6dbe6ef4e1e4059c5fa3a81a25d59955d97e73bf70e036b8894b72afc8bd2697f7c42db9bcf4f7e45620c7dc077279c33e92fb446e7e0d31b92f009b552fe30799b60308dd57884d97c17b97cb7e90fb492eaf1aef06fec83eb907e41e927b44ee31b90c674e76933cc528c2ff63be613b8b2527eba9dd327935188a938a7a75f93582295e9dbc06794da1821498d7862ee4dd468f89b5e2155ab3df5840af9ba94e8e8acded2f5054c3cfc54922f20a0de50dbebeafae07e4310dd1c594259537226f4cde04f801c50a10f5a6e4cdc89b175cc422cf26cf21cf85958fd71eaa9298a7a7fc411fc87901792179bc6a067926798cc41979fce60bf22ec9bb222fa7d882bc1b18324f338170869eb9cc76af4381906d8d00de375b8cd62d794c7cf37cab15f20a94a2578d5084b5e2cb9e7824efb7e5bbe43d93f742b35beab4d40b3ba0d24c1aac9933ef28ae8113299a390fb6bfee3c83d2c114ef95bc37f2f8be3fc8fb246f475df7c9db552f3e9680e5126fe7e113f626af141b32529d401edfe23ea4ab7720781444dbbd23b801de31082f4ec83b054ffb0a4d9dfd1af975947afa0df29be4b7c86f93df01787e97fc1ef97df207e4e7f83ce48f10aa3e184aaafd1e0290350833e2ce35d5876cee4b4df088fc31f913f2a7e4cfc89f935f5051e0db51443476e1219c0bdefc0d147d877c1777f25a472880e1f43d995a1516a1e8ab76903dd5f79e11b3bb67e4fba2f64b1044087e5ec0c3d51623acb2095c5736cc7839c6000f06c2c2d8631798ed52fe205b2510380a76e9f089fc80fc90fc12f906f926f965f2f98bcec9bf20ff12b0f957e45f937f832cb1cf8f7147fe3df915f21fc8af92ff483e5fe499fc17f25f17c8a979493273539142d2435b5ae292cf177927ff439dced9cdc0fd30f1cdb05dc337cc8c3865ffe74c3def61d5fc4ff277c8df259f17749ffc03f20fc93f229ff70ddfd829728143297fe28762834b0777f8e9f0bcbb1821cd9ec3ee3eb60573366f6b5e96fa086f661f83cdb478f5c4639e440bc2b7c1976561ee8960e8f037fae8ecfa3cc210cecf430089097279284ad3ff34842b8e236fcf4905c5b28c226fe11845b8baec4ee9dccad33b940df2a27d8894495fd7e861b0b92ef382533106a2fc060bb78b1b9d9f62c7058a029217350aea1434286852d0c2ba3090ec92b33d19b429e850d0a5a047419f820105430a46148c299888b469c6c84928199162dd07740a71b44b481704cc581f14cc28985360e1aed8cc617394d78eb769fd0910f2ae6ff33b6d0a1c0af8963c0a7c0a020a420a4a14f0bf4c2ceee701b62cef5de9771d394ee2fc61bbefbd44abcff454062a88ce58b9ab27a1f33144027fb67686c561252da5c9b0b67807f0d7e9320ebeb75abf881763298ae62f795e073f3fef0b4111db6dd78c7c61b61ef9056f2ed6071050efa8c8839a19022d7e8102bd31c0632c79bd78333edf683b0246c433badd23fefbcc3b7a57f6cabb940fdde181753770edddb3ed8ec45099ed0e599a3d1c7e689b02de14dac2aa44b02127574a7272329e0028a293b1016d17942938a3e09c820b1ad6e589ee84753ef432a14ea27e4ac12535f729b842a16c704dc10d05b714dc51704f41059b0f61cfb208a7f74853b0d1cba0bed6b0f44f35ac3baf1b6f4d7e33db07307a8b570fc9a9311e13222de60428a35d9499b37ae295d1951c7e0e466914cf0b83382c9df9b6f872ec17b308e24dc71b4aacb22843c69b511e43d84e30438e54e1b6a011f7e4cedeb05e7c11de988853301b3dc848855790340107ae35134e9bf7a855a994f83d4b4865170fc3d289dfb6f70a60cc4e045e7c4630f2abf4c1cfa88f6b0718bf54c44c90a760b60b981e2978a2e0998217661d915dae5e2374beaf5f51f04ac11b05efca3b52ac98fb2c1e98893f29d891dbde8720818ab91173f75d8b22dc364b45e61e468e399b3511bef423792886aa78f5445661d170cd3d4b2a71ce208a5967f3fe431bed3d961385284a9b9cc2481db4c5d31c0cc4cc8ee0cb189cf7f81e11f30aee6092be09ec296888126e9d6f6574876766578c25331b812c4259f74c3eb0f16b7de62a549a401bb9906c6c16f1fb5926f315f861b07576f9b3b03e78513e0fa1e73484f34e725e579ce2a85776d262d9c6dbd85ee78d82e6ff656c055ed06097823d0a98db0e2838e4bfe3bfbc3990649f5270a4a6cfaaccf2f39882130a4ea9db565393424521e106982df8667871796f798f51dc8eb729331cb335ff8bf704ef3688995bac3e63c00f65a1333df0ceae5e94f35aac1e4b3268222b12b0318a5a08b1bd5a84a2b50642a088bb21c87ae624d82c7d61fc61c46abc71e45b0533c277ebb438ab6b06037bb303fc7092a82ccaef01917bdef5c86837753b72000969568789c15fc45a93052f3ff648e229a9c7407158142feee8fe4079a1a9454e55842ab3177f6aff512f2836043f4858a3b08ec3186183c226aeeceb6a9747550a286c51d8a6b0436197c29e9cb37ca7b04fe1806a6f5a6cc0add47638cb188693350e5f59330dbf617f2c78ef416b083b8a6cbc595ebde7617ad347e2141bf72692a8bc149ab9f93a6ce0b4cd8d62373928f2dd801d3f2277185c254b9c22619732360e2f3a2b30468ed5036f4c963c3e6e2231b498ed58a5999d383071134d7dd0c315580a31904f62a7b18e64f5c35fca6e9c363d180cd685cb21ffd57b8e3370a8c784bd8a6f846abc85d0666381f52b5f36642c47ea6a42e198c209a434df4968aa4b86ff464d4f289c523853a3298eca86730a2d0a6d0a1d0a5d7d9f102d729ffa4921b1d828154d01cdcd4fca5b1393050cd1052e6ca2bcd5d3fb205943de19fcb6974e1c88780773f3e3b3f47ac9e911b9118ab291c70092f501df2873155fda13ad0bd77828e32c84c0af2e3080895cc6736a0f8c1f8cb50e3bb0af5e6c92dcc4fa4cc24bbc7c47f11761adc5dc6041c73fd95ee76da82d1ae4de4eb4205d131d4ed8311af51246ec08695c178d253e000b86d0a3d057a77b1406f02fc310cd876a1faa365783bebabc52219bbb2594d987250a0d9cd0ebf10b96aee5c57d4a94e0433f29381e853301a40bdf2d3f2f84b970247f29e3b1b47ab2809ad2cb983d0489cbcae1649397eea7bcc8d6012f413cb0025a816d13961b0c6a4c7806bd2efa242d43ae15032f1ccbcff86c74845f2a2a18db2032b8432663c012b1ee60b5060f801fca40ae204a2b5b56b426f1962a54994b048b7789ef6189b151f640bcb1c2330acf29bca0f092c22b0aaf159bfe83baaab129585274863e036d1c074113f0110be11b0a6f29bca3f09ec28ac0f31051c854a5f011f8854fba94349a12b4583df8a3c5ab9726309f81f7eb03c989002bf017bf4651cf2ce29be3bbd1f6242f042f01db2331456a406336bb8d4eb5f3aa419455962281e9087d6c4f46957a62229ee0837cdf9af8b58e3fe92bc410ae65c4052fc6da51b33b2b60cd1f98a212e0cabcc4e1330eef872fe8c510bea217184e0dd6aaf6834c6cae01c8f08d42d68b1fea9881fcc4415ffe54b843e12e857b31f1c70f283ca4f0886a1f141e839a2c9359323fe15fb27a8cb4ec9ed3f4ea659631bb92ba483c620051253f45719e1a72138da0ea47b6e582f4a814f93bbe92490750b43f97e6bf057eb131999a72158f5fe15dace77544f5d1612c818bcc9942201363353d3345334a7c6fc45c57222ad5a85457ae0d710a5e1c49bf373302b2d4a05253914da51695da54ea50a94ba51e95fa541ac8cf219546541a2bfb994a9305c9af532acda83497775a54b2859c8480b199a1ba48a66419c3c502fe1445ed44ebfc88b64760e587cb649d24064be28377d219b218b9769a52755da92f4ae22f9d28cdb67c852f6e3b03643206c48e1fa493f4a3b1eea9c43879ca3dc1a088161ba8ac7e74e73d8a809cf6d4b042259f4a811a0d55af8d23ec3777540a854a40ab3ec024944643b92aa1b73ac66301cb12950c21934ae50cb1264e2f63b49261aa6f8e9d6a4ff62314b3f3504a914992437692d55c505a7826f8e5af75b4dcc917958a2fb209846b2eee2c399a543a533e2feeb9b2ced016a6e9c3b4c1402492a6c87a32227fea9d4a17ca7b53c12746650e99ff2e63baa2d2359598b36f996b53c47fb9518d072adda98603446f6e9709c3368bd6b3b4e410ff9417e35548345931a5df99129b5f9700a5977b9536beceb72f1ea94fb741cd1ea6d295ee5583d9a5c25051e94103b9687bacd8a46c8ae1ea9d01cb09cbc92a951e99943b62a2d2931073de0b955e95db63125c17f49647375faee79ac7df7cb64dfb17f4ed15fff545be75f1c57f8fd5b8ada68cc4bb1a5f32abe104a800299d8fafe31ea21f68293379a3e6a96ab2b2fca0d2a7d00e957699a4517f53d50e1644a5bd2fe937cbf8830945ff6f093d65460cc63e03a91c46f4186e62b7af6a6fe8271b0d35723025116dc7bbaa5f512357d542ddb424ddba4406227d937e3e61e85f1453a4a88d0ea58d17d5ecaa315b31cc438768fd34398275a3252a26764bdb71ccbd7c57230b93186a234c68d79da052cd84be493f9e65f72f8a19bac1a4f3299b2147aad953835de5d6d0e282bd7ef4123eafea29579a113183568609fbbeb4bd1c831683b97f463f65c77f514cd3404dd9c33b56a33d35be5143d67927cae951ed53f5c6112f328afdc7881135909da9f4ef96c650bfa67f51dc068ae4a9b9a91a676a78a0c6019558c38564283248a0aa4a1ba04a3cd2fb5d0fa345336634829e6c8376fe45f157a46a35747b9e318ae76a70a3ba23326a6ac8ecf8a1a67b64d4c5cc019ce8b23ceb2753a15953b6a58b70631b84ae7dffa2f8731ab2752313a94e54e35375afc96890d154ce9eaab1dbde445b12e63b994a5bb55f3121da68a123f262ea58fd733bd4f89e67f52f8a09a9e1a74cae6007bf0920d1eaf98c8c36191d32bae9148a9821f7557b22a328f93d32109039121db30fb7438d9c8ac57f51dc844a92c490e93874acea07aa15a8e39672ae103b8d4ef66681af19320d9edfff860104ce1380d4fddab7409b02f92f8a6948ea329bf60023483afbaace6ec3a1b26fc8e8b38da36afb6b339a15694333c2c01bf620b11bf4d48b875f51fd735314e379abce26e334ff1f13f313728a0d5f75d91cdd51bd2180a40b3206aa7e051b273adcbbfe3af7aaf6a82637c092f704b64505dbe2c7d4c82997ca45d1c892f31bfaeb60fc0645107c864f552b913104908d3d35acb350552effebe6ab028305bda9aea96a5de53d617c782f9ec7fa33aa7f11d6d112b5b2a01544bf477f1d896da0e88bdfd6c128c7fab16a5e43410ecfc552ad14e58672ae56eb604818d3e855f5cec5ddacfd82086d6d0b784ca33895d6707379f143fa4f8770094539a9a227539faac61319ec3b8e953bdca0de6781a2a1685f0d6bca3704ce573dabede7543725f27eb7447cb75aa2bee876623fa6ff68419a8ba2f4caaba0b173936dc5011913e5dc2b87fff2b9393b629ef380fdce966a9dab3ea97e6d31faf2c7a487382d51344553b6deec17f4f731d8228ae239088a2cc406e710aa5d96ae4d55b7d852ddccc6490119b4302baf3f50fda1ea8f9261a6db23cd8b874b59cdefd25f07e00fa12842f55cd52f54fd5e0596a8c68bd46cbe0daf3c85a5d33a04315ff69c68b8eaf648a37827f4a3dc6694e1fc8f578aab28ca4355902f84cb7148c694552319b36f0ad5f8e230762e647a655bf50dd537e399df6b06876e4a5aa28ed16c13039a7f4e7f1d833f81a2d0a9aa35215487cff01aeb8ce8a8a816ed2b20193c011202f652f5afa27117a981be3f23e1c51f673553f4d731d81a8a70ce4ce8b308c55ba8c67a8f8c39191619b69add7c5fa8a6be4503092cef55bf128d6e4e4fdcceccdade88b444fd6be9cdbf4d4b27575e735064a684fbc8aaf150d5194847f5cfa259eedf14aa118ab5eb08c8ce4475cbaaffba98e71c4d725e1da6fe15695edc4a7af3db59b17f800a147625fe5745bce4f8cdcdaa14839fa524aa033859d8341e55f393518481d39faf29f0dd80a6aafda1fa8780b0f324796676109c64c87abf9e1ad29da66a32b33b4b9a17abdba2bf0e5b2e602b3446a8132ef25c7edeebbf93e1aa7a4335fc2c8ae2fbb3d788200e3b1b2d3561e7effcc7aa51bef44df5ced5a019d50ca004e423d557c14e104dd3a0a5691560cd8bbb5b4b6ffea8e0e00fd3f251315533d59094ebc0c5aa7711bfc64f36413d6416bbece98f044547169d3ffe010307aad157e69e1ab16e0bf5d1bbefe0e7c49be60ea98fc1400d865285b5832473ff6d750afd17a0a6283e11de686d2fbdb9ad0ae0add1aa5c556e590d0ed468022091206475704f46a0e60dd5bc4204bcfe940a0e7fc806651443a0d833c890d30788c66d780f73d9286c001f212cd77c51034f4a3d7630f778e06779f15b048c85177b57d80e089f6f25b7f98df4e6dfc3f5508d2dc4a96bbc1023acefe0910c4335ca8a9e54e349d57941aee3f4c0ada0c8cc6aaafa00a7188d72ac1a37f9ba0a46263078b5ba1a5caac1951a5ca3048bd79cf103173a3f8530a2283355b55dd5a822878201f1c32dd066e9cdbf87a201e45c1389c05a206551a6ea906aeea06eaac37af103e9fec6558422e638338a678c2219e7645cc4fd4b37f82e70215fa4a1060f6a50553d33aab9fa150baea0987c5fb3a69a75d56cfc36b1a9890eb30bb79486ccb53bfe49fa6008a9e4f24f614752832735be55d32360d96e01c8ba14edd73b82e2a34611c7dedc813e4cb9c176716476491d61f1c14e6c9476bfd285bf40312636c93c1cfdaad77e9ed88ce83175d94c32053fa1eaff49d8ce5279ec8a041d7d3579037fb09bd865bd7849b5111957aa790a145dc6ac02979fde65b2f3a39abd88753354c30fdd1e69832f9d4b9155036a787018a1a8d5e19618b10845f19c9aec213da9e6335431c3d97cfd21e1b36f72a9e57c8ad476e6f41af833348d47c01a7af2a4d81a6f8a0e50c1c6cfc8e49b645c0b2f9eaae12122e054157f9f3d81a304c5a1a038df084516a7aa5686493cacc1415c94b00efcdfabc3af506cb510b485747d04b558a4b4e424e64f080670abbb9c4f69f5f02face63f00a1640a1933d491924cda66081fc5341d2164337bc6710ba07803145b81ea1c48b0a622f81d8acb3ffd2e8ac2fab710a7c3b61a7680e21f10a7eb5194585feb5cb52e54eb720be9cd9c94caf53f102810e6bb17fba28e6c3b8b01fe5e18354792067813ebe691ff45bc6b87869ad8aac5eeff09206403a73b558d99aafbf0fa1728b25edc8817cfe40855a08623d56b09236e5f9c16a2888767591a0179a85a4728b6fc65323327a57202cdf427b35a3a102a3a98a19ac901e073a10bd65532058fd9d1108f7042c62d4e5c0c8e50e14f8faa71a9e81c58b2e3d1bd05477e074530220ac98f602af2bed1e73a70eaf171bbe2741d8ad17db4bd08cb367aa8fe2a9999935229c991f9fb3f06a1830a2844ea47507bde8d1a3b11438ce600b2591308df24aae290714706db3815d56e43a2b2144596ff163a7270c2262b190f82a25a45511c92173d4a2f8e15bce3502322212732a4fb429c720f2fb62a4ebf4031babff647cc948c258eb7ff3099999f55d99503987f881725ae8dd1da35f8da5e059a899f8285dbc856de038e58c0cd186b230ba7fb2787ca79579d5b18386cdd30ff318ae32140a50b9c6e644f83519cd95914c5afaf4d119a41cdff637490115f7d0639840eb40ece21e310ebc77619712314232c3be308c8ce4475a672c8fdfc5b949f55e930af7c5d35fb5308cb118438b1f60069c68c383d50deb3b26ed4c023837d0c92ccf0a946918c4775c8a2f50987df70e0e63642b147643c93f19287624546ccca990db78c30f7a809d62706be2236c1f9d661fb218a02e463c2949d27b9b35a9cadde80f2522ab249addf1c862e90a586d46887584ad6e88391e600c60ccd33fa35d5afc22e0590af38588afc7e19bd158c3732de897c1c0a6f8f55834da10a506cb1cffe8ed29bfa15f462826245bcde3704d8dc324260a3a91acd20b14756b47d913efc83107e0f45ac4eb79500d96deb4be8242720599bc9cccd99a96e176a0303e8b7cb8853c9f41220ecf661138a59889b9c0d25187d859f0c24300e9134601b84519fb0563b56f635191f6ad8c3e137c53b7506204f0dd5b8155e8c51745e63a75e4afa47af287163711d9d5195738d5bb545b785a29942b1bc7ab9fcb4b5a6fcacca194cffeda3f82eaea1a5bae7584a8da206b2ef45ae6ae4b09e40def23e1bb47027bd31199f8ca21ab3f060a4cb6ac0c09753285ea9eb43e5dd03c56947f221067321d58e88e167eb69119d9160f7af65a9bda02f33531ba3b8801028be7f7907e96f2ab8b30f697c90d3b9f517e2d491e0a70378ba9f114fc0d1d626be2d69b88a0495de51708d3ecdb548a2f4ebd8581e33e2bee2adf052558d3735be6376246307280e5f251abe8b8e60487a7c48b2621731d2a9b1149df911237e8d99648c8334fd482ff63abc285b11057204f77adbd51e533111ef851177c4a841b8849a03d53f161b5bacc79a1f193ee0c592345fd072de51f31732f6d4789f8c7db063770c144ba78c221907641c927144c631192762163de05071fd00d550bc323f8cce14e5f78382ea8d955cff06bbbbfe1d16fc268aed5d917edb831025b22e10ea79511b8cde15b51c78f48c5fcf950e354329cb38102fa827f15e5d200aa654fe2735d8223d2553a9498bd9914c368bf8d71a9975a06836c86caac9447b32c4984dac788b5f7d5323ae8097835c7eb94da6eee60b087b170984bdad9b5b8ea0e86c298233952c5288042794dca5ac6959045d8735165c0b38369257193c4a29c63d781139d1aab4260a353b92d922b34d66473d4fd48861ebaae69d628373e8b15e24b347665f0da17dc5beb5d4e4325ea20ff0e2d71a7185f932e065612baa8743c30f2faa815b0be15b4617f6badb46b10e5b1c1df37e9fdca84879bb2b456cf0d2c49c79c7b2c6f74fe6801aa7aa76a8cf8845d5dfd23943029ea7c2a39fb063fd3d3287aabb4be648590332c78c225a51997b82e2841a57644ec51f25ec83c99b9abca7d8f16273fc72c04bc3a6a15aae532da5e92b14d310429c6edf6e864181e3b2bf44b122c1b66a142b819273c42eedc2684c3f023b03b49fd5178604e1ca82a8233197a1b259894e54c72373a63eeb6af440aa42e65c392c3f5d8da21a0ee4eb6a51706a728ca2ef981df378318bdfe424f1b896c0cbc096062c0a5e2e4554d6c7510fb38cf8a7bc575e825f3afe28596bb4a5ba206a8199a0c89c916247046e106139580252c73fa35f992fad436a7f523b20d322d3569f0c529f4c96b4aea0c8e8fac476a966c44570bfe74440f2d6e92d1910f617cc97012f816d390436b92a3aa751c488ad3f2f4e05457eb6fa6f4e409e45ae051299577a39d6a3488df99a9211f1554cb4983603f5bc4ff50b3243fea9fa2f6a5453c32b34249eb0b17a9b30e20248f637a6a69a96c50c748af0cb809714f62f23971791bece3f33f517c569022418e8c7ecf88e1a35760171e0b62afedf5a5e9cdcac475133379925b4f2330d324d32cb64b25a857543e685aadfa89b13342da693e555eebfabb18d682ddcff8b3c08ab45cc9707de1266bd8856cf2f16ecc7970c84089cfe2908a345a79f9d839c82111b01508ca2cfb52f511445b8be7ceb1e0a72daa5f6809a6c7392721fc9bc541e837aa51a0d62f7c3788c7d95a5eccdae9af5d0626c36508376217e2bcc97ba4816b6a54c6dc159e23c14fbd52882dc7f2cd0d5db6647eae8dcc2b728f60e61f1abfe53dc8bb61045c4c922140beda9b8d2a2aaa62532afc9bc21f396cc3b32efc9aca8d1881951359aca39c47b503cb00264f75c8d5a55fb51cd8c1c110a0873992f055e0ab34cc904da5b2dd31a89fac7615b46b1ff2649e3ef4008d7620c46648b9f57b3ff9e2a86e0fdf78124da2a8aaeb91e4531560f519bd3bd473371f381cc2a99cc8b4f643212150cd6008a9fb0aa2000561598d4a330315f3272392ca88fa09e64f1eb2d21974015f768c8ad6c8a27dad6caaaaf339c72be2432f3fe591411aa3e960e4e1ba27826289e45816f5eb2de4c5ad0464062bd7899fa2751727819c53512f53ecaf1f65cf897ac1d9b1d325fc87c55d33735ab2beb80ccb7f8388e2981f5027918e9e973416e274f7e66f0cb8097c52c1a089147521bee3a592ba6fdcf431801c95a04a190f5e055a41f846e63f22975e892811a74809fae8ad0e90b5e2358ad026467b2212f6a718a7a19be72cf453e795853e19ccc77323fc8fc541755e57fb2ca8c2b33ee45987bcb10a6500130e290e4e0b7ca7c3178cbb0214c48b9242866ac98c91f92a545e1f9748a43de69c922ae3367a08de850d4a1347462593a1825e9a7a8bc455a5df2932f80ec75d801d88017cf243207f1ae2e1bc81ab6d8d360637597cc3d32f7d5077b9007085620a47e2891a0bb28bd95cb58820a20c10b0d67cad414fcd2cc97052f85966e4696472b28f61fff189f05cb940feae7da93c91266c3699e4f9154b24c8310269866c105909d17ac118e2a444022a7d1bba2e610d5a12846cde1c598114d789fcc8883816a75a839a2e698cc433563ebe6488dda90191267919929aeae4e8e6c9614840b4d1603a3f1a84535ba7452cc7c31720954074987c015caa2f8c7a233425f6758225b0e364e6e4995401887d9b03324f92c554917516236ca065f88b1fa192d810029c5131fd49ce1bccb6543d211cba106297b2c47a8d4ce186f6aced5bc4b4d0b13fd303189edd563145f45dede436ad1abf208e769082360b43064b181bce6991c62a92c40cd919969f0345428f9d49473b6298be29619311b365c9b5bd124879e6b581ab4b05bf087563f3309585775b07bc5feca02d93f164e95547e0ca42e81a12633d92535a56122d21ae950c334723084110987559ed594fffe444d9f9a413435687647833d189f91b7772de2f12a0a1bf183f08b5508f56d4490a40f97e9069c07bada2a835c04de5062f4a42973c2109970875fa450dc82464cc1263233c364d9644a5e9ee52132ca75090fe91c454746148ca4abd7a12cc74981091d03d913074ede9901128195fae2fad43464439060591138efa3ca4706981991ed1a8853939a65946838b7c9c0484c1a3b48bc3dfd504944db13a19a07a1a01281819139726e3706234d0960fabf69e28fd4c234a550fcb9384d90cb118f0bca2653522491fb45fe25c1782725fa296a21acf77b641315008930f479bcc74f2225c4af5bd7c916111d16f580427ed1973918139dd88a1c0cd83597caec51f38c9ae7faf07032410e33e4bb89c1a98bfc3484daa340546509c261d4c65883a131d0218b5f109bd35989ba2e2b9667b0ac4f6f66739bc575aa719df82aaee9e8866c762d72b13fc438cac3d2894aa4ea5203c76bc710429cca4191148411e94d03655c8528438f8d1a6ae3464d353810461c43233ad7d919ba7ae2f18db24a0b9f21ba498150a32bdad1cf48d1050b02bf4fb18c74578bbb0d5a9898e9d76912147532a5a0ac6d0df315665872d39b8565e3276b71ddc930682c72e342c84e115f0a2b0b90d03d5228958d7e25175f5c0d72b80a961d78386e288ca84a77c28876dc375c772dd0409604c86ee2f6215813663c425da9b52445172ca87b932c4062c5a147e32c861d6d4640919a1709905f18387696f956c0cbc990c5b9cdc2231cd7abd066114dadf877b0142049144f2d32432208e35db260c4beaec1b4f905e16c540f3ea2d688814de6495e9ba218480c6fed266e7b926e5c38fe96888460598ac62c98835f3ca92a9a3df61569897aac86619ca72ed28e19fcbe026f25b7a9b7f9ca11c614e5e3ba0ece7c2c53373c10ef42660bc7e22e0e60e26a3b1ac2b88c51eb884f324f31d4b6bcc3a6a92a055456f111fed596612920e7b76077ed1dea04d9c26b44c9ab2972d58920cc65c122fcf41c401cbfba9706a83914a388e8c6300672391b5c885f317839b9cdbcf6ac11e5a0bb407415ce1c2c2317255696bac74f74b7adeba80c27036129b12a072d8da2ea9e9151a5d6238e6cb28f5826d188ebfb85a544abdd56b559d2593a76ea63775e94b40e390984cb2cb88cdfed2a78127c6f88539b6e4e7bb64051d29bc31d9c56ccb81cf672b9f746e9b1e32c6f09b7e5a554342df7e25d66d61c380bb05c74da4a57b2788920958fa765698a111d62bfa25c53c31a359b54ae53b9213ee292465c0fa4b444580ad32c023750907e1c3b9ca421cce097052f055b6ea368b4fb4ea1c8346a21bcd46a4bb5415a84e6a7375738ef3a035b96c3be3e35ae29056a826882e5750e96450e6872b7616c34ae400896b5b52c55fd09959b306ae62d2ab754298c1b697cd90d35b65ad9fde075b3257ab788bfa4c33191b11a8a52341710c63d076e97f0cb8257d8b43d8b624b624b8c25039666c102fc56382f93db4ca7374537acef516f8a49990235c5a62bc236c172c54b499b5489a848bd7927e5a16ba3a64eb51dc8524028b294bd8b525539a5948ff86543ad76e4476258fd89b20334d341184fc2663a3a235e7f64aca68104789ae1de358459fcd2805596481763aea098a072bc263dbdcc7c2b89e9d5dc6651562522dd8d23056a1ace02d6ccf35b162562f26271ab1975188bdf441db22c6dcdb52cddc0a82904520655df8283e72195dbaadf9232144a5362ac6a058944e6a9c0368d9b7fccb2e0ad9993a19b0719ab286650497bb2594fe8ba30379d4d492771fa82ac4a4470b7d3b866e04c0bdb656b68710f4971d1aa3373bce45aacaa432a77d82e45a48665e9ccc91a35dfe86c0720f953919ab4951192e14afcc189826d68ef5195fa7438ec725eac2c2ca8019bc61056f200cb9f41b384e2727a53a7c4f2ca4332f82d8197c99025b9cdfcac4a2a1c5c59d625099ce6b2fa8c45ee9271b490c029efed0a7cc928e6a8438150642995bb915dba90a55f1835eb808c833b1d9a3253f6547f1f8d8b10785b788aa63e62204af150d261735dd61c63594983b7fe1b05c5f67516c2dde5f4269a50b596b2d869fc96c15bca4a6b60d6f58df313fd1181ba0a27256d90b2da7449a1a65ec428b68e17ae4564c16a59ea9d27eaf0760e75189a2a9c2c64e9cfba1167a5abad9992ca7d35a84b4dccdb02c518bf7ba1b9245516edd52a7145c8d75fa7eb6e6c496f5ea55930273786f6af9696692bf8ad80b79a21cb26531651fc8cce5880ba9e531784286516e3086633bad5342f6665299507387c33e6f51d52799452879d9fc9d2f54c094d39d883b81e3872c4e048246a3946712e823491a231901b8dee125ed40730275785102ee5c6f0dacce0b70cde5286cc8fcdeb155ae46556290b700ae315989bcd4cea5580cca098e1451de5815f8182fc614d954b80d018c2b5803adcdc2efd265322c91caaf9239224934f35b893c2910f54eec0a8c95587c6a61235f108257a9bc8c63c081756165e2c24dea2246419b9547a339b4c4179d29a84cb2ad869bcb34c9c4db756226d9a92a8b1817a2d3516ac143b649e224603087724e47d2fa9fcdb5443f06df6ea4df2592260595932966a7a4ad31263a9da1fe8a028bd7252d6e91aa3347f5a583549d9aca63753899595c0bce45670c68552f80d3326754c4bc994c8425b4ebec8c9c2e55ee44785006b68754e7501643e8a112fb2575db51f194216a489515a62ed38de863afc8a2961be3a91b264193b532cc655ef41cd2dc6921a73748a8ce09c6fe06944f4dffffb3ffff57fbfd8301b</data>
+ </image>
+</images>
+<connections>
+ <connection>
+ <sender>RadioButtonLicenseAccept</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>ExecButtonNext</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>RadioButtonInstallRevision</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>GroupRevision_2</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ <connection>
+ <sender>RadioButtonSingleUser</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>ScriptSetDirs</receiver>
+ <slot>execute()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButtonInstallMilestone</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>ScriptRevisonSettings</receiver>
+ <slot>execute()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButtonInstallLatest</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>ScriptRevisonSettings</receiver>
+ <slot>execute()</slot>
+ </connection>
+ <connection>
+ <sender>RadioButtonInstallRevision</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>ScriptRevisonSettings</receiver>
+ <slot>execute()</slot>
+ </connection>
+ <connection>
+ <sender>LineEditRevision</sender>
+ <signal>textChanged(const QString&amp;)</signal>
+ <receiver>ScriptRevisonSettings</receiver>
+ <slot>execute()</slot>
+ </connection>
+</connections>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>

Added: development/planet/users/niclas/installer/install.sh
==============================================================================
--- (empty file)
+++ development/planet/users/niclas/installer/install.sh Mon Apr 11
18:05:01 2005
@@ -0,0 +1,10 @@
+#!/bin/sh
+#
+# Install script
+
+wget "http://store.dpml.net/revisions.dpml";
+cat revisions.dpml | sed 's/=/\t/' | sed 's/\"//g' >kommander.dpml
+kmdr-executor dpml-installer.kmdr
+rm revisions.dpml
+rm kommander.dpml
+



  • svn commit: r2265 - in development/planet/users/niclas/installer: . art, niclas, 04/11/2005

Archive powered by MHonArc 2.6.24.

Top of Page