diff options
250 files changed, 9249 insertions, 12414 deletions
diff --git a/app/app.gyp b/app/app.gyp index 23e31c3..86afe36 100644 --- a/app/app.gyp +++ b/app/app.gyp @@ -45,7 +45,6 @@ 'l10n_util_unittest.cc', 'os_exchange_data_win_unittest.cc', 'run_all_unittests.cc', - 'slide_animation_unittest.cc', 'system_monitor_unittest.cc', 'test_suite.h', 'text_elider_unittest.cc', diff --git a/app/resource_bundle.cc b/app/resource_bundle.cc index a2058ec..1793073 100644 --- a/app/resource_bundle.cc +++ b/app/resource_bundle.cc @@ -16,9 +16,9 @@ ResourceBundle* ResourceBundle::g_shared_instance_ = NULL; // TODO(glen): Finish moving these into theme provider (dialogs still // depend on these colors). const SkColor ResourceBundle::frame_color = - SkColorSetRGB(66, 116, 201); + SkColorSetRGB(77, 139, 217); const SkColor ResourceBundle::frame_color_inactive = - SkColorSetRGB(161, 182, 228); + SkColorSetRGB(184, 209, 240); const SkColor ResourceBundle::frame_color_app_panel = SK_ColorWHITE; const SkColor ResourceBundle::frame_color_app_panel_inactive = diff --git a/app/resources/frame_default.png b/app/resources/frame_default.png Binary files differindex ca9bcb2..3f4f7e9 100644 --- a/app/resources/frame_default.png +++ b/app/resources/frame_default.png diff --git a/app/resources/frame_default_inactive.png b/app/resources/frame_default_inactive.png Binary files differindex 348e2ce..a1eff41 100644 --- a/app/resources/frame_default_inactive.png +++ b/app/resources/frame_default_inactive.png diff --git a/app/resources/window_bottom_left_corner.png b/app/resources/window_bottom_left_corner.png Binary files differindex 88c420c..1d3c066 100644 --- a/app/resources/window_bottom_left_corner.png +++ b/app/resources/window_bottom_left_corner.png diff --git a/app/resources/window_bottom_right_corner.png b/app/resources/window_bottom_right_corner.png Binary files differindex 2595f0c..83cf5b9 100644 --- a/app/resources/window_bottom_right_corner.png +++ b/app/resources/window_bottom_right_corner.png diff --git a/app/slide_animation_unittest.cc b/app/slide_animation_unittest.cc deleted file mode 100644 index 8bc947f..0000000 --- a/app/slide_animation_unittest.cc +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "app/slide_animation.h" -#include "app/test_animation_delegate.h" -#include "testing/gtest/include/gtest/gtest.h" - -class SlideAnimationTest: public testing::Test { - private: - MessageLoopForUI message_loop_; -}; - -// Tests that delegate is not notified when animation is running and is deleted. -// (Such a scenario would cause problems for BoundsAnimator). -TEST_F(SlideAnimationTest, DontNotifyOnDelete) { - TestAnimationDelegate delegate; - scoped_ptr<SlideAnimation> animation(new SlideAnimation(&delegate)); - - // Start the animation. - animation->Show(); - - // Delete the animation. - animation.reset(); - - // Make sure the delegate wasn't notified. - EXPECT_FALSE(delegate.finished()); - EXPECT_FALSE(delegate.canceled()); -} diff --git a/app/text_elider.cc b/app/text_elider.cc index ccdb3e33..1098f82 100644 --- a/app/text_elider.cc +++ b/app/text_elider.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -37,8 +37,8 @@ std::wstring ElideUrl(const GURL& url, const std::wstring& languages) { // Get a formatted string and corresponding parsing of the url. url_parse::Parsed parsed; - std::wstring url_string = net::FormatUrl(url, languages, - net::kFormatUrlOmitAll, UnescapeRule::SPACES, &parsed, NULL, NULL); + std::wstring url_string = net::FormatUrl(url, languages, true, + UnescapeRule::SPACES, &parsed, NULL, NULL); if (available_pixel_width <= 0) return url_string; @@ -363,8 +363,7 @@ SortedDisplayURL::SortedDisplayURL(const GURL& url, string16 host_minus_www = WideToUTF16Hack(net::StripWWW(host)); url_parse::Parsed parsed; display_url_ = WideToUTF16Hack(net::FormatUrl(url, languages, - net::kFormatUrlOmitAll, UnescapeRule::SPACES, &parsed, &prefix_end_, - NULL)); + true, UnescapeRule::SPACES, &parsed, &prefix_end_, NULL)); if (sort_host_.length() > host_minus_www.length()) { prefix_end_ += sort_host_.length() - host_minus_www.length(); sort_host_.swap(host_minus_www); diff --git a/app/text_elider_unittest.cc b/app/text_elider_unittest.cc index caf619d..d976333 100644 --- a/app/text_elider_unittest.cc +++ b/app/text_elider_unittest.cc @@ -55,7 +55,7 @@ TEST(TextEliderTest, TestGeneralEliding) { const std::wstring kEllipsisStr(kEllipsis); Testcase testcases[] = { {"http://www.google.com/intl/en/ads/", - L"www.google.com/intl/en/ads/"}, + L"http://www.google.com/intl/en/ads/"}, {"http://www.google.com/intl/en/ads/", L"www.google.com/intl/en/ads/"}, // TODO(port): make this test case work on mac. #if !defined(OS_MACOSX) @@ -73,7 +73,7 @@ TEST(TextEliderTest, TestGeneralEliding) { {"http://subdomain.foo.com/bar/filename.html", kEllipsisStr + L"foo.com/" + kEllipsisStr + L"/filename.html"}, {"http://www.google.com/intl/en/ads/?aLongQueryWhichIsNotRequired", - L"www.google.com/intl/en/ads/?aLongQ" + kEllipsisStr}, + L"http://www.google.com/intl/en/ads/?aLongQ" + kEllipsisStr}, }; RunTest(testcases, arraysize(testcases)); @@ -83,7 +83,7 @@ TEST(TextEliderTest, TestGeneralEliding) { TEST(TextEliderTest, TestMoreEliding) { const std::wstring kEllipsisStr(kEllipsis); Testcase testcases[] = { - {"http://www.google.com/foo?bar", L"www.google.com/foo?bar"}, + {"http://www.google.com/foo?bar", L"http://www.google.com/foo?bar"}, {"http://xyz.google.com/foo?bar", L"xyz.google.com/foo?" + kEllipsisStr}, {"http://xyz.google.com/foo?bar", L"xyz.google.com/foo" + kEllipsisStr}, {"http://xyz.google.com/foo?bar", L"xyz.google.com/fo" + kEllipsisStr}, @@ -91,11 +91,11 @@ TEST(TextEliderTest, TestMoreEliding) { {"", L""}, {"http://foo.bar..example.com...hello/test/filename.html", L"foo.bar..example.com...hello/" + kEllipsisStr + L"/filename.html"}, - {"http://foo.bar../", L"foo.bar../"}, - {"http://xn--1lq90i.cn/foo", L"\x5317\x4eac.cn/foo"}, + {"http://foo.bar../", L"http://foo.bar../"}, + {"http://xn--1lq90i.cn/foo", L"http://\x5317\x4eac.cn/foo"}, {"http://me:mypass@secrethost.com:99/foo?bar#baz", - L"secrethost.com:99/foo?bar#baz"}, - {"http://me:mypass@ss%xxfdsf.com/foo", L"ss%25xxfdsf.com/foo"}, + L"http://secrethost.com:99/foo?bar#baz"}, + {"http://me:mypass@ss%xxfdsf.com/foo", L"http://ss%25xxfdsf.com/foo"}, {"mailto:elgoato@elgoato.com", L"mailto:elgoato@elgoato.com"}, {"javascript:click(0)", L"javascript:click(0)"}, {"https://chess.eecs.berkeley.edu:4430/login/arbitfilename", @@ -105,13 +105,13 @@ TEST(TextEliderTest, TestMoreEliding) { // Unescaping. {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", - L"www/\x4f60\x597d?q=\x4f60\x597d#\x4f60"}, + L"http://www/\x4f60\x597d?q=\x4f60\x597d#\x4f60"}, // Invalid unescaping for path. The ref will always be valid UTF-8. We don't // bother to do too many edge cases, since these are handled by the escaper // unittest. {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", - L"www/%E4%A0%E5%A5%BD?q=\x4f60\x597d#\x4f60"}, + L"http://www/%E4%A0%E5%A5%BD?q=\x4f60\x597d#\x4f60"}, }; RunTest(testcases, arraysize(testcases)); @@ -229,7 +229,7 @@ TEST(TextEliderTest, ElideTextLongStrings) { // Verifies display_url is set correctly. TEST(TextEliderTest, SortedDisplayURL) { gfx::SortedDisplayURL d_url(GURL("http://www.google.com/"), std::wstring()); - EXPECT_EQ("www.google.com/", UTF16ToASCII(d_url.display_url())); + EXPECT_EQ("http://www.google.com/", UTF16ToASCII(d_url.display_url())); } // Verifies DisplayURL::Compare works correctly. diff --git a/chrome/app/chrome_dll.rc b/chrome/app/chrome_dll.rc index c9322d3..794bb1d 100644 --- a/chrome/app/chrome_dll.rc +++ b/chrome/app/chrome_dll.rc @@ -120,7 +120,8 @@ BEGIN VK_NUMPAD7, IDC_SELECT_TAB_6, VIRTKEY, CONTROL "8", IDC_SELECT_TAB_7, VIRTKEY, CONTROL VK_NUMPAD8, IDC_SELECT_TAB_7, VIRTKEY, CONTROL - "B", IDC_SHOW_BOOKMARK_BAR, VIRTKEY, CONTROL, SHIFT + "B", IDC_SHOW_BOOKMARK_BAR, VIRTKEY, CONTROL + "B", IDC_SHOW_BOOKMARK_MANAGER, VIRTKEY, CONTROL, SHIFT "J", IDC_SHOW_DOWNLOADS, VIRTKEY, CONTROL "H", IDC_SHOW_HISTORY, VIRTKEY, CONTROL "F", IDC_SHOW_APP_MENU, VIRTKEY, ALT diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index 1329f1b..dd7d155 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -3780,6 +3780,9 @@ Keep your key file in a safe place. You will need it to create new versions of y Pa&ste and Search </message> </if> + <message name="IDS_OMNIBOX_EMPTY_TEXT" desc="Text shown if omnibox is empty"> + Type to search + </message> <message name="IDS_OMNIBOX_KEYWORD_HINT" desc="Shown to the user when the url in the omnibox has a keyword associated with it. $1 is replaced with an image showing the tab key and is labelled with IDS_OMNIBOX_KEYWORD_HINT_KEY. $2 is replaced with the description of the keyword."> Press <ph name="SEARCH_KEY">$1<ex>Tab</ex></ph> to search <ph name="SITE_NAME">$2<ex>google.com</ex></ph> </message> @@ -4979,10 +4982,14 @@ Keep your key file in a safe place. You will need it to create new versions of y Secure connection to <ph name="DOMAIN">$1<ex>paypal.com</ex></ph> </message> - <message name="IDS_SECURE_CONNECTION_EV" desc="Short text shown in the location bar when the connection is secure with an EV cert."> + <message name="IDS_SECURE_CONNECTION_EV" desc="Short text shown in the location when the connection is secure with an EV cert."> <ph name="ORGANIZATION">$1<ex>Paypal Inc.</ex></ph> [<ph name="COUNTRY">$2<ex>US</ex></ph>] </message> + <message name="IDS_SECURE_CONNECTION_EV_CA" desc="Info popup text showing the certification authority's name when hovering the mouse over the EV label ie., we have a secure connection to the site with an EV cert."> + Verified by <ph name="ISSUER">$1<ex>VeriSign</ex></ph> + </message> + <!-- Page Information Window --> <message name="IDS_PAGEINFO_WINDOW_TITLE" desc="Title of the page info window."> Security Information diff --git a/chrome/app/nibs/BookmarkBubble.xib b/chrome/app/nibs/BookmarkBubble.xib index 1574949..87e4b56 100644 --- a/chrome/app/nibs/BookmarkBubble.xib +++ b/chrome/app/nibs/BookmarkBubble.xib @@ -8,7 +8,7 @@ <string key="IBDocument.HIToolboxVersion">353.00</string> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> - <integer value="34"/> + <integer value="50"/> </object> <object class="NSArray" key="IBDocument.PluginDependencies"> <bool key="EncodedWithXMLCoder">YES</bool> @@ -956,6 +956,13 @@ <string key="className">NSObject</string> <object class="IBClassDescriptionSource" key="sourceIdentifier"> <string key="majorKey">IBProjectSource</string> + <string key="minorKey">../third_party/GTM/Foundation/GTMNSObject+KeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBProjectSource</string> <string key="minorKey">browser/cocoa/status_bubble_mac.h</string> </object> </object> diff --git a/chrome/app/nibs/Toolbar.xib b/chrome/app/nibs/Toolbar.xib index 4acd5df..2525a8c 100644 --- a/chrome/app/nibs/Toolbar.xib +++ b/chrome/app/nibs/Toolbar.xib @@ -1,11 +1,15 @@ <?xml version="1.0" encoding="UTF-8"?> -<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.03"> +<archive type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="7.10"> <data> <int key="IBDocument.SystemTarget">1050</int> - <string key="IBDocument.SystemVersion">9L31a</string> - <string key="IBDocument.InterfaceBuilderVersion">677</string> - <string key="IBDocument.AppKitVersion">949.54</string> - <string key="IBDocument.HIToolboxVersion">353.00</string> + <string key="IBDocument.SystemVersion">10C540</string> + <string key="IBDocument.InterfaceBuilderVersion">761</string> + <string key="IBDocument.AppKitVersion">1038.25</string> + <string key="IBDocument.HIToolboxVersion">458.00</string> + <object class="NSMutableDictionary" key="IBDocument.PluginVersions"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin</string> + <string key="NS.object.0">761</string> + </object> <object class="NSMutableArray" key="IBDocument.EditedObjectIDs"> <bool key="EncodedWithXMLCoder">YES</bool> <integer value="1"/> @@ -16,7 +20,7 @@ </object> <object class="NSMutableDictionary" key="IBDocument.Metadata"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys" id="0"> <bool key="EncodedWithXMLCoder">YES</bool> </object> <object class="NSMutableArray" key="dict.values"> @@ -49,7 +53,7 @@ <object class="NSTextField" id="535508469"> <reference key="NSNextResponder" ref="928520650"/> <int key="NSvFlags">266</int> - <string key="NSFrame">{{130, 5}, {376, 27}}</string> + <string key="NSFrame">{{165, 5}, {341, 27}}</string> <reference key="NSSuperview" ref="928520650"/> <int key="NSTag">33004</int> <bool key="NSEnabled">YES</bool> @@ -59,7 +63,7 @@ <string key="NSContents">chromium.org</string> <object class="NSFont" key="NSSupport"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.300000e+01</double> + <double key="NSSize">13</double> <int key="NSfFlags">16</int> </object> <reference key="NSControlView" ref="535508469"/> @@ -87,7 +91,7 @@ <object class="NSButton" id="368496192"> <reference key="NSNextResponder" ref="928520650"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{66, 5}, {31, 27}}</string> + <string key="NSFrame">{{101, 5}, {31, 27}}</string> <reference key="NSSuperview" ref="928520650"/> <int key="NSTag">33003</int> <bool key="NSEnabled">YES</bool> @@ -97,7 +101,7 @@ <string key="NSContents"/> <object class="NSFont" key="NSSupport" id="64724822"> <string key="NSName">LucidaGrande</string> - <double key="NSSize">1.300000e+01</double> + <double key="NSSize">13</double> <int key="NSfFlags">1044</int> </object> <reference key="NSControlView" ref="368496192"/> @@ -113,21 +117,50 @@ <int key="NSPeriodicInterval">75</int> </object> </object> + <object class="NSButton" id="559273956"> + <reference key="NSNextResponder" ref="928520650"/> + <int key="NSvFlags">268</int> + <string key="NSFrame">{{136, 5}, {29, 27}}</string> + <reference key="NSSuperview" ref="928520650"/> + <int key="NSTag">35000</int> + <bool key="NSEnabled">YES</bool> + <object class="NSButtonCell" key="NSCell" id="960568152"> + <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags2">134250496</int> + <string key="NSContents"/> + <reference key="NSSupport" ref="64724822"/> + <reference key="NSControlView" ref="559273956"/> + <int key="NSTag">-1</int> + <int key="NSButtonFlags">-2030812929</int> + <int key="NSButtonFlags2">6</int> + <object class="NSCustomResource" key="NSNormalImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">star_Template</string> + </object> + <object class="NSCustomResource" key="NSAlternateImage"> + <string key="NSClassName">NSImage</string> + <string key="NSResourceName">starred</string> + </object> + <string key="NSAlternateContents"/> + <string key="NSKeyEquivalent"/> + <int key="NSPeriodicDelay">400</int> + <int key="NSPeriodicInterval">75</int> + </object> + </object> <object class="NSButton" id="458854861"> <reference key="NSNextResponder" ref="928520650"/> <int key="NSvFlags">268</int> - <string key="NSFrame">{{101, 5}, {31, 27}}</string> + <string key="NSFrame">{{66, 5}, {31, 27}}</string> <reference key="NSSuperview" ref="928520650"/> <int key="NSTag">33002</int> <bool key="NSEnabled">YES</bool> <object class="NSButtonCell" key="NSCell" id="386107000"> - <int key="NSCellFlags">67239424</int> + <int key="NSCellFlags">-2080244224</int> <int key="NSCellFlags2">134250496</int> <string key="NSContents"/> <reference key="NSSupport" ref="64724822"/> - <int key="NSTag">-1</int> <reference key="NSControlView" ref="458854861"/> - <int key="NSButtonFlags">-2033434369</int> + <int key="NSButtonFlags">-2033958657</int> <int key="NSButtonFlags2">6</int> <object class="NSCustomResource" key="NSNormalImage"> <string key="NSClassName">NSImage</string> @@ -151,8 +184,8 @@ <int key="NSCellFlags2">134250496</int> <string key="NSContents"/> <reference key="NSSupport" ref="64724822"/> - <int key="NSTag">1</int> <reference key="NSControlView" ref="781044416"/> + <int key="NSTag">1</int> <int key="NSButtonFlags">-2031861505</int> <int key="NSButtonFlags2">6</int> <object class="NSCustomResource" key="NSNormalImage"> @@ -177,8 +210,8 @@ <int key="NSCellFlags2">134250496</int> <string key="NSContents"/> <reference key="NSSupport" ref="64724822"/> - <int key="NSTag">-2</int> <reference key="NSControlView" ref="634265909"/> + <int key="NSTag">-2</int> <int key="NSButtonFlags">-2030812929</int> <int key="NSButtonFlags2">6</int> <object class="NSCustomResource" key="NSNormalImage"> @@ -203,8 +236,8 @@ <int key="NSCellFlags2">134250496</int> <string key="NSContents"/> <reference key="NSSupport" ref="64724822"/> - <int key="NSTag">1</int> <reference key="NSControlView" ref="480525277"/> + <int key="NSTag">1</int> <int key="NSButtonFlags">-2031861505</int> <int key="NSButtonFlags2">6</int> <object class="NSCustomResource" key="NSNormalImage"> @@ -356,6 +389,14 @@ </object> <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> + <string key="label">starButton_</string> + <reference key="source" ref="1001"/> + <reference key="destination" ref="559273956"/> + </object> + <int key="connectionID">34</int> + </object> + <object class="IBConnectionRecord"> + <object class="IBOutletConnection" key="connection"> <string key="label">homeButton_</string> <reference key="source" ref="1001"/> <reference key="destination" ref="368496192"/> @@ -379,6 +420,14 @@ <int key="connectionID">41</int> </object> <object class="IBConnectionRecord"> + <object class="IBActionConnection" key="connection"> + <string key="label">commandDispatch:</string> + <reference key="source" ref="1003"/> + <reference key="destination" ref="559273956"/> + </object> + <int key="connectionID">121</int> + </object> + <object class="IBConnectionRecord"> <object class="IBOutletConnection" key="connection"> <string key="label">owner_</string> <reference key="source" ref="1044322163"/> @@ -424,28 +473,26 @@ <bool key="EncodedWithXMLCoder">YES</bool> <object class="IBObjectRecord"> <int key="objectID">0</int> - <object class="NSArray" key="object" id="349743695"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="object" ref="0"/> <reference key="children" ref="1000"/> <nil key="parent"/> </object> <object class="IBObjectRecord"> <int key="objectID">-2</int> <reference key="object" ref="1001"/> - <reference key="parent" ref="349743695"/> - <string type="base64-UTF8" key="objectName">RmlsZSdzIE93bmVyA</string> + <reference key="parent" ref="0"/> + <string key="objectName">File's Owner</string> </object> <object class="IBObjectRecord"> <int key="objectID">-1</int> <reference key="object" ref="1003"/> - <reference key="parent" ref="349743695"/> + <reference key="parent" ref="0"/> <string key="objectName">First Responder</string> </object> <object class="IBObjectRecord"> <int key="objectID">-3</int> <reference key="object" ref="1004"/> - <reference key="parent" ref="349743695"/> + <reference key="parent" ref="0"/> <string key="objectName">Application</string> </object> <object class="IBObjectRecord"> @@ -459,11 +506,12 @@ <reference ref="781044416"/> <reference ref="368496192"/> <reference ref="480525277"/> + <reference ref="559273956"/> <reference ref="602421009"/> <reference ref="571076484"/> <reference ref="421615633"/> </object> - <reference key="parent" ref="349743695"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">2</int> @@ -550,6 +598,20 @@ <reference key="parent" ref="634265909"/> </object> <object class="IBObjectRecord"> + <int key="objectID">32</int> + <reference key="object" ref="559273956"/> + <object class="NSMutableArray" key="children"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference ref="960568152"/> + </object> + <reference key="parent" ref="928520650"/> + </object> + <object class="IBObjectRecord"> + <int key="objectID">33</int> + <reference key="object" ref="960568152"/> + <reference key="parent" ref="559273956"/> + </object> + <object class="IBObjectRecord"> <int key="objectID">36</int> <reference key="object" ref="571076484"/> <object class="NSMutableArray" key="children"> @@ -580,12 +642,12 @@ <object class="IBObjectRecord"> <int key="objectID">122</int> <reference key="object" ref="1044322163"/> - <reference key="parent" ref="349743695"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">130</int> <reference key="object" ref="306232897"/> - <reference key="parent" ref="349743695"/> + <reference key="parent" ref="0"/> </object> <object class="IBObjectRecord"> <int key="objectID">144</int> @@ -597,7 +659,7 @@ </object> <object class="NSMutableDictionary" key="flattenedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>-1.IBPluginDependency</string> <string>-2.IBPluginDependency</string> @@ -623,6 +685,10 @@ <string>2.IBPluginDependency</string> <string>3.IBAttributePlaceholdersKey</string> <string>3.IBPluginDependency</string> + <string>32.IBAttributePlaceholdersKey</string> + <string>32.IBPluginDependency</string> + <string>33.CustomClassName</string> + <string>33.IBPluginDependency</string> <string>36.CustomClassName</string> <string>36.IBAttributePlaceholdersKey</string> <string>36.IBPluginDependency</string> @@ -649,7 +715,7 @@ <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> - <string>{{322, 542}, {618, 36}}</string> + <string>{{196, 720}, {618, 36}}</string> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <boolean value="YES"/> <string>ClickHoldButtonCell</string> @@ -684,6 +750,16 @@ </object> </object> <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <object class="NSMutableDictionary"> + <bool key="EncodedWithXMLCoder">YES</bool> + <reference key="dict.sortedKeys" ref="0"/> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + </object> + </object> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> + <string>ToolbarButtonCell</string> + <string>com.apple.InterfaceBuilder.CocoaPlugin</string> <string>MenuButton</string> <object class="NSMutableDictionary"> <string key="NS.key.0">ToolTip</string> @@ -736,9 +812,7 @@ </object> <object class="NSMutableDictionary" key="unlocalizedProperties"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="0"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -746,9 +820,7 @@ <nil key="activeLocalization"/> <object class="NSMutableDictionary" key="localizations"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSArray" key="dict.sortedKeys"> - <bool key="EncodedWithXMLCoder">YES</bool> - </object> + <reference key="dict.sortedKeys" ref="0"/> <object class="NSMutableArray" key="dict.values"> <bool key="EncodedWithXMLCoder">YES</bool> </object> @@ -824,7 +896,7 @@ <string key="superclassName">NSObject</string> <object class="NSMutableDictionary" key="actions"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>commandDispatch:</string> <string>commandDispatchUsingKeyModifiers:</string> @@ -845,7 +917,7 @@ <string key="superclassName">NSObject</string> <object class="NSMutableDictionary" key="outlets"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>otherObjectToLocalize_</string> <string>owner_</string> @@ -934,7 +1006,7 @@ <string key="superclassName">NSViewController</string> <object class="NSMutableDictionary" key="outlets"> <bool key="EncodedWithXMLCoder">YES</bool> - <object class="NSMutableArray" key="dict.sortedKeys"> + <object class="NSArray" key="dict.sortedKeys"> <bool key="EncodedWithXMLCoder">YES</bool> <string>backButton_</string> <string>browserActionsContainerView_</string> @@ -945,6 +1017,7 @@ <string>pageButton_</string> <string>reloadButton_</string> <string>resizeDelegate_</string> + <string>starButton_</string> <string>wrenchButton_</string> </object> <object class="NSMutableArray" key="dict.values"> @@ -958,6 +1031,7 @@ <string>MenuButton</string> <string>NSButton</string> <string>id</string> + <string>NSButton</string> <string>MenuButton</string> </object> </object> @@ -983,9 +1057,705 @@ </object> </object> </object> + <object class="NSMutableArray" key="referencedPartialClassDescriptionsV3.2+"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="IBPartialClassDescription"> + <string key="className">NSActionCell</string> + <string key="superclassName">NSCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSActionCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <string key="superclassName">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="680097003"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSApplication.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="214330444"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSApplicationScripting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="568897720"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSColorPanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSHelpManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSApplication</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPageLayout.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButton</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButton.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSButtonCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSButtonCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSCell</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSControl</string> + <string key="superclassName">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="636973055"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSControl.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSController</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSFormatter</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFormatter.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSMenu</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="662735041"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenu.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AddressBook.framework/Headers/ABActions.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSAccessibility.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSAlert.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSAnimation.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="680097003"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="214330444"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSBrowser.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="568897720"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSComboBox.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSComboBoxCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="636973055"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDatePickerCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDictionaryController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDragging.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSDrawer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSFontManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSFontPanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSImage.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSKeyValueBinding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <reference key="sourceIdentifier" ref="662735041"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSNibLoading.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSOutlineView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSPasteboard.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSRuleEditor.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSavePanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSound.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSpeechRecognizer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSpeechSynthesizer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSSplitView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTabView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTableView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSText.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextStorage.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTokenField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTokenFieldCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSToolbar.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSToolbarItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier" id="1021231619"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSWindow.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSClassDescription.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSError.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSFileManager.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyValueObserving.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSKeyedArchiver.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSMetadata.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSNetServices.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObject.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSObjectScripting.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSPort.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSPortCoder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSRunLoop.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptClassDescription.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptKeyValueCoding.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptObjectSpecifiers.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSScriptWhoseTests.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSSpellServer.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSStream.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSThread.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURL.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLConnection.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSURLDownload.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Foundation.framework/Headers/NSXMLParser.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">Print.framework/Headers/PDEPluginInterface.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">SecurityInterface.framework/Headers/SFAuthorizationView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">SecurityInterface.framework/Headers/SFCertificatePanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">SecurityInterface.framework/Headers/SFChooseIdentityPanel.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSResponder</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSInterfaceStyle.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSResponder</string> + <string key="superclassName">NSObject</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSResponder.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextField</string> + <string key="superclassName">NSControl</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextField.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSTextFieldCell</string> + <string key="superclassName">NSActionCell</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSTextFieldCell.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSUserDefaultsController</string> + <string key="superclassName">NSController</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSUserDefaultsController.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSClipView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSMenuItem.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSRulerView.h</string> + </object> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSView</string> + <string key="superclassName">NSResponder</string> + <reference key="sourceIdentifier" ref="1021231619"/> + </object> + <object class="IBPartialClassDescription"> + <string key="className">NSViewController</string> + <string key="superclassName">NSResponder</string> + <object class="NSMutableDictionary" key="outlets"> + <string key="NS.key.0">view</string> + <string key="NS.object.0">NSView</string> + </object> + <object class="IBClassDescriptionSource" key="sourceIdentifier"> + <string key="majorKey">IBFrameworkSource</string> + <string key="minorKey">AppKit.framework/Headers/NSViewController.h</string> + </object> + </object> + </object> </object> <int key="IBDocument.localizationMode">0</int> + <string key="IBDocument.TargetRuntimeIdentifier">IBCocoaFramework</string> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <integer value="1050" key="NS.object.0"/> + </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.macosx</string> + <integer value="1050" key="NS.object.0"/> + </object> + <object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies"> + <string key="NS.key.0">com.apple.InterfaceBuilder.CocoaPlugin.InterfaceBuilder3</string> + <integer value="3000" key="NS.object.0"/> + </object> + <bool key="IBDocument.PluginDeclaredDependenciesTrackSystemTargetVersion">YES</bool> <string key="IBDocument.LastKnownRelativeProjectPath">../../chrome.xcodeproj</string> <int key="IBDocument.defaultPropertyAccessControl">3</int> + <object class="NSMutableDictionary" key="IBDocument.LastKnownImageSizes"> + <bool key="EncodedWithXMLCoder">YES</bool> + <object class="NSArray" key="dict.sortedKeys"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>back_Template</string> + <string>forward_Template</string> + <string>go_Template</string> + <string>home_Template</string> + <string>menu_chrome_Template</string> + <string>menu_page_Template</string> + <string>reload_Template</string> + <string>star_Template</string> + <string>starred</string> + </object> + <object class="NSMutableArray" key="dict.values"> + <bool key="EncodedWithXMLCoder">YES</bool> + <string>{19, 19}</string> + <string>{19, 19}</string> + <string>{19, 19}</string> + <string>{19, 19}</string> + <string>{30, 19}</string> + <string>{30, 19}</string> + <string>{19, 19}</string> + <string>{19, 19}</string> + <string>{30, 29}</string> + </object> + </object> </data> </archive> diff --git a/chrome/app/theme/content_top_left_corner.png b/chrome/app/theme/content_top_left_corner.png Binary files differindex c5659fb..2baaf4e 100644 --- a/chrome/app/theme/content_top_left_corner.png +++ b/chrome/app/theme/content_top_left_corner.png diff --git a/chrome/app/theme/content_top_left_corner_mask.png b/chrome/app/theme/content_top_left_corner_mask.png Binary files differdeleted file mode 100644 index 3506317..0000000 --- a/chrome/app/theme/content_top_left_corner_mask.png +++ /dev/null diff --git a/chrome/app/theme/content_top_right_corner.png b/chrome/app/theme/content_top_right_corner.png Binary files differindex b5eafce..25fd15a 100644 --- a/chrome/app/theme/content_top_right_corner.png +++ b/chrome/app/theme/content_top_right_corner.png diff --git a/chrome/app/theme/content_top_right_corner_mask.png b/chrome/app/theme/content_top_right_corner_mask.png Binary files differdeleted file mode 100644 index b2091e8..0000000 --- a/chrome/app/theme/content_top_right_corner_mask.png +++ /dev/null diff --git a/chrome/app/theme/ev_secure.png b/chrome/app/theme/ev_secure.png Binary files differnew file mode 100644 index 0000000..f504dff --- /dev/null +++ b/chrome/app/theme/ev_secure.png diff --git a/chrome/app/theme/geolocation_allowed_locationbar_icon.png b/chrome/app/theme/geolocation_allowed_locationbar_icon.png Binary files differindex ce795ac..f2d500b 100644 --- a/chrome/app/theme/geolocation_allowed_locationbar_icon.png +++ b/chrome/app/theme/geolocation_allowed_locationbar_icon.png diff --git a/chrome/app/theme/geolocation_denied_locationbar_icon.png b/chrome/app/theme/geolocation_denied_locationbar_icon.png Binary files differindex 8758205..c8a6c44 100644 --- a/chrome/app/theme/geolocation_denied_locationbar_icon.png +++ b/chrome/app/theme/geolocation_denied_locationbar_icon.png diff --git a/chrome/app/theme/location_bar_keyword_search_c.png b/chrome/app/theme/location_bar_keyword_search_c.png Binary files differindex 9ab374c..7ee83e2 100644 --- a/chrome/app/theme/location_bar_keyword_search_c.png +++ b/chrome/app/theme/location_bar_keyword_search_c.png diff --git a/chrome/app/theme/location_bar_keyword_search_l.png b/chrome/app/theme/location_bar_keyword_search_l.png Binary files differindex 39e640c..841d7c8 100644 --- a/chrome/app/theme/location_bar_keyword_search_l.png +++ b/chrome/app/theme/location_bar_keyword_search_l.png diff --git a/chrome/app/theme/location_bar_keyword_search_r.png b/chrome/app/theme/location_bar_keyword_search_r.png Binary files differindex 5428e06..2646a30 100644 --- a/chrome/app/theme/location_bar_keyword_search_r.png +++ b/chrome/app/theme/location_bar_keyword_search_r.png diff --git a/chrome/app/theme/lock_small.png b/chrome/app/theme/lock_small.png Binary files differnew file mode 100644 index 0000000..02646d9 --- /dev/null +++ b/chrome/app/theme/lock_small.png diff --git a/chrome/app/theme/o2_globe.png b/chrome/app/theme/o2_globe.png Binary files differnew file mode 100644 index 0000000..0fc4331 --- /dev/null +++ b/chrome/app/theme/o2_globe.png diff --git a/chrome/app/theme/o2_globe_selected.png b/chrome/app/theme/o2_globe_selected.png Binary files differnew file mode 100644 index 0000000..70617cd --- /dev/null +++ b/chrome/app/theme/o2_globe_selected.png diff --git a/chrome/app/theme/o2_globe_selected_dark.png b/chrome/app/theme/o2_globe_selected_dark.png Binary files differnew file mode 100644 index 0000000..cf28c10 --- /dev/null +++ b/chrome/app/theme/o2_globe_selected_dark.png diff --git a/chrome/app/theme/o2_history.png b/chrome/app/theme/o2_history.png Binary files differnew file mode 100644 index 0000000..72af696 --- /dev/null +++ b/chrome/app/theme/o2_history.png diff --git a/chrome/app/theme/o2_history_selected.png b/chrome/app/theme/o2_history_selected.png Binary files differnew file mode 100644 index 0000000..9a2502b --- /dev/null +++ b/chrome/app/theme/o2_history_selected.png diff --git a/chrome/app/theme/o2_history_selected_dark.png b/chrome/app/theme/o2_history_selected_dark.png Binary files differnew file mode 100644 index 0000000..54c2073 --- /dev/null +++ b/chrome/app/theme/o2_history_selected_dark.png diff --git a/chrome/app/theme/o2_more.png b/chrome/app/theme/o2_more.png Binary files differnew file mode 100644 index 0000000..61dfd29 --- /dev/null +++ b/chrome/app/theme/o2_more.png diff --git a/chrome/app/theme/o2_more_selected.png b/chrome/app/theme/o2_more_selected.png Binary files differnew file mode 100644 index 0000000..bb9616c --- /dev/null +++ b/chrome/app/theme/o2_more_selected.png diff --git a/chrome/app/theme/o2_more_selected_dark.png b/chrome/app/theme/o2_more_selected_dark.png Binary files differnew file mode 100644 index 0000000..30989eb --- /dev/null +++ b/chrome/app/theme/o2_more_selected_dark.png diff --git a/chrome/app/theme/o2_search.png b/chrome/app/theme/o2_search.png Binary files differnew file mode 100644 index 0000000..441001e --- /dev/null +++ b/chrome/app/theme/o2_search.png diff --git a/chrome/app/theme/o2_search_selected.png b/chrome/app/theme/o2_search_selected.png Binary files differnew file mode 100644 index 0000000..4727ab6e --- /dev/null +++ b/chrome/app/theme/o2_search_selected.png diff --git a/chrome/app/theme/o2_search_selected_dark.png b/chrome/app/theme/o2_search_selected_dark.png Binary files differnew file mode 100644 index 0000000..51bdca5 --- /dev/null +++ b/chrome/app/theme/o2_search_selected_dark.png diff --git a/chrome/app/theme/o2_star.png b/chrome/app/theme/o2_star.png Binary files differnew file mode 100644 index 0000000..5919bb7b --- /dev/null +++ b/chrome/app/theme/o2_star.png diff --git a/chrome/app/theme/o2_star_selected.png b/chrome/app/theme/o2_star_selected.png Binary files differnew file mode 100644 index 0000000..3e84497 --- /dev/null +++ b/chrome/app/theme/o2_star_selected.png diff --git a/chrome/app/theme/o2_star_selected_dark.png b/chrome/app/theme/o2_star_selected_dark.png Binary files differnew file mode 100644 index 0000000..c68cf4d1 --- /dev/null +++ b/chrome/app/theme/o2_star_selected_dark.png diff --git a/chrome/app/theme/omnibox_ev_bubble_background_c.png b/chrome/app/theme/omnibox_ev_bubble_background_c.png Binary files differdeleted file mode 100644 index 9210180..0000000 --- a/chrome/app/theme/omnibox_ev_bubble_background_c.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_ev_bubble_background_l.png b/chrome/app/theme/omnibox_ev_bubble_background_l.png Binary files differdeleted file mode 100644 index f393ea7..0000000 --- a/chrome/app/theme/omnibox_ev_bubble_background_l.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_ev_bubble_background_r.png b/chrome/app/theme/omnibox_ev_bubble_background_r.png Binary files differdeleted file mode 100644 index addddaf..0000000 --- a/chrome/app/theme/omnibox_ev_bubble_background_r.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_history.pdf b/chrome/app/theme/omnibox_history.pdf deleted file mode 100755 index 9b7e3f6..0000000 --- a/chrome/app/theme/omnibox_history.pdf +++ /dev/null @@ -1,1301 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 63 0 R 93 0 R]/Order 94 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 63 0 R 93 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 47877/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:ModifyDate>2010-04-05T10:47:43-07:00</xmp:ModifyDate> - <xmp:CreateDate>2009-11-11T14:17:05-08:00</xmp:CreateDate> - <xmp:MetadataDate>2010-04-05T10:47:43-07:00</xmp:MetadataDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>256</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FUBquvaNpMXq6leRWq0qokYBm/1U+030DJwxylyCDIDmwnVvzs8v2xZNNtpr9x0dv3MZ+RY
M/8AwmZUNDI8zTSc46MS1H86fNdxVbSO3sl7MqGRx9MhZf8AhcyY6KA57tRzyY9eefPON2T62r3I
r1ET+iPuj4DLhp4DowOSR6pVPqWoz1M91NKTWvORm69epywRA6MbKGySHAkGo2I6HFUXBrGrW5rb
3txCfGOV1/URkDCJ5hIkU4svzE862ZHpatM4HaYiav8AyND5XLTYz0ZjLIdWR6b+d3mGAgX9pb3i
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
FLsVdirsVdirsVdirsVdirsVf//Z</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:DocumentID>xmp.did:F77F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:3774efba-f592-5340-898c-c1bd3d17e978</xmpMM:InstanceID> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:OriginalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:cb58d661-cdc7-e34a-aa9f-b935d8a59714</stRef:instanceID> - <stRef:documentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:documentID> - <stRef:originalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:F77F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-11T14:16:58-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_mag</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Pixels</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>White</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>255</xmpG:green> - <xmpG:blue>255</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>Black</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Red</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>242</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Green</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>62</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>160</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Blue</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>35</xmpG:red> - <xmpG:green>28</xmpG:green> - <xmpG:blue>129</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>120</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>199</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>26</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>16</xmpG:green> - <xmpG:blue>29</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>55</xmpG:green> - <xmpG:blue>10</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>123</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>32</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>251</xmpG:red> - <xmpG:green>237</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>202</xmpG:red> - <xmpG:green>221</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>101</xmpG:red> - <xmpG:green>192</xmpG:green> - <xmpG:blue>39</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>54</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>136</xmpG:green> - <xmpG:blue>51</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>89</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>94</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>155</xmpG:green> - <xmpG:blue>140</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>154</xmpG:green> - <xmpG:blue>221</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>96</xmpG:green> - <xmpG:blue>176</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>29</xmpG:red> - <xmpG:green>36</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>30</xmpG:red> - <xmpG:green>21</xmpG:green> - <xmpG:blue>80</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>91</xmpG:red> - <xmpG:green>18</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>141</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>126</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>158</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>79</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>235</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>101</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>184</xmpG:red> - <xmpG:green>165</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>142</xmpG:red> - <xmpG:green>113</xmpG:green> - <xmpG:blue>100</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>97</xmpG:red> - <xmpG:green>82</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>75</xmpG:red> - <xmpG:green>57</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>192</xmpG:red> - <xmpG:green>134</xmpG:green> - <xmpG:blue>85</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>162</xmpG:red> - <xmpG:green>103</xmpG:green> - <xmpG:blue>58</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>73</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>105</xmpG:red> - <xmpG:green>58</xmpG:green> - <xmpG:blue>27</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>84</xmpG:red> - <xmpG:green>41</xmpG:green> - <xmpG:blue>11</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>26</xmpG:green> - <xmpG:blue>15</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>R=104 G=127 B=173 1</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>104</xmpG:red> - <xmpG:green>127</xmpG:green> - <xmpG:blue>173</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Grays</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>49</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>70</xmpG:red> - <xmpG:green>71</xmpG:green> - <xmpG:blue>73</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>89</xmpG:red> - <xmpG:green>91</xmpG:green> - <xmpG:blue>93</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>109</xmpG:red> - <xmpG:green>111</xmpG:green> - <xmpG:blue>114</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>130</xmpG:green> - <xmpG:blue>133</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>149</xmpG:red> - <xmpG:green>152</xmpG:green> - <xmpG:blue>155</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>173</xmpG:red> - <xmpG:green>176</xmpG:green> - <xmpG:blue>178</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>197</xmpG:red> - <xmpG:green>200</xmpG:green> - <xmpG:blue>202</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>224</xmpG:red> - <xmpG:green>225</xmpG:green> - <xmpG:blue>226</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>237</xmpG:red> - <xmpG:green>238</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Brights</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>68</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>216</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>151</xmpG:green> - <xmpG:blue>56</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>17</xmpG:red> - <xmpG:green>43</xmpG:green> - <xmpG:blue>137</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>118</xmpG:red> - <xmpG:green>35</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[95 0 R]/Type/Pages>>
endobj
95 0 obj
<</ArtBox[2.07227 2.0332 16.9282 16.9668]/BleedBox[0.0 0.0 19.0 19.0]/Contents 96 0 R/LastModified(D:20100405104742-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 97 0 R>>/Resources<</ExtGState<</GS0 98 0 R/GS1 99 0 R>>/Properties<</MC0 93 0 R>>/XObject<</Fm0 100 0 R/Fm1 101 0 R>>>>/Thumb 102 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
96 0 obj
<</Filter/FlateDecode/Length 310>>stream
-H‰lRKRÃ0Ý뺀˿Ú[ZèªÃ”.8@ºiaZî?ƒ”Ø™¸0NIÎ{Ò³4¼nq8l->í¶7°ÈE#ïýÞñuÝÏ0ìOÏ?p×Êb,ÑQôÞáx]ÁxÊN,“¨¸ŒžØ¥æÈž2ŽP]¶”äšì©ø ´³1Â:Üz²užš[ןpKÊ^„šÒ&ª^ -Ù’T†‚PK}>.Ž|RR
Õg¦˜VáPe4k„þ¤‡=®¶*f1J(µyŠQÔ~Ì%6§‘¤%ƒõ+Â/eµëpe ˜fHM—qÁNŒõ®uz¦)a’áåjq÷ý_œçøßÞ¼í!àW
’jRðª×åÄ«9³—æn¤8 ÷óAÆù¿ -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
103 0 obj
[/Indexed/DeviceRGB 255 104 0 R]
endobj
104 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
100 0 obj
<</BBox[6.82129 3.875 6.82129 3.875]/Group 105 0 R/Length 0/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<<>>/Subtype/Form>>stream
-
endstream
endobj
101 0 obj
<</BBox[9.23193 8.42871 9.23193 8.42871]/Group 106 0 R/Length 0/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<<>>/Subtype/Form>>stream
-
endstream
endobj
106 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
105 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
93 0 obj
<</Intent 107 0 R/Name(Layer 1)/Type/OCG/Usage 108 0 R>>
endobj
107 0 obj
[/View/Design]
endobj
108 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
98 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
99 0 obj
<</AIS false/BM/Normal/CA 0.539993/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 0.539993/op false>>
endobj
97 0 obj
<</LastModified(D:20100405104742-07'00')/Private 109 0 R>>
endobj
109 0 obj
<</AIMetaData 110 0 R/AIPDFPrivateData1 111 0 R/AIPDFPrivateData10 112 0 R/AIPDFPrivateData11 113 0 R/AIPDFPrivateData2 114 0 R/AIPDFPrivateData3 115 0 R/AIPDFPrivateData4 116 0 R/AIPDFPrivateData5 117 0 R/AIPDFPrivateData6 118 0 R/AIPDFPrivateData7 119 0 R/AIPDFPrivateData8 120 0 R/AIPDFPrivateData9 121 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
110 0 obj
<</Length 945>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (o2_history.pdf)
%%CreationDate: 4/5/10 10:47 AM
%%Canvassize: 16383
%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.92773 -6.9668 7.92822 7.9668
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 32.5 15.5 32.5 15.5
%AI3_TileBox: -305.5 -395.5 306.5 396.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -14 19 24 1283 726 90 0 1 113 121 0 0 0 0 0 0 1 1 1
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
111 0 obj
<</Length 12160>>stream
-%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.92773 -6.9668 7.92822 7.9668
%AI7_Thumbnail: 128 128 8
%%BeginData: 12018 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD35FFA9A97E847E7E535A535A535A535A537E5A847EA9A8FD66FF
%A8A87E5A535A2F532F5A5353535A5353535A53532F5A2F532F5A535A59A8
%A8FD5EFF8484535A2F5A535A535A535A535A535A535A535A535A535A535A
%535A535A535A2F5A537E7EFD58FF7E7E53532F5453532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A2F532F7E7EA9FD51
%FFA884535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A537EA8FD4DFFA853542F53535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A53532F535384A8FD48FF7E7E535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A7EFD44FFA9A853532F5A53532F5A
%53532F5A53532F5A53532F5A53532F542F532F532F532F532F532F535353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F84A8FD40FFA87E535A
%535A535A535A535A535A535A535A535A535A535A535A597E7E847EA87EA9
%FD047E5A5A535A535A535A535A535A535A535A535A535A535A535A535A7E
%FD3EFF7E532F5A5353535A5353535A5353535A53532F53535A598484A9A8
%FD0DFFA9A984A87E5A53542F53535A5353535A5353535A5353535A535353
%A9FD3AFFA9535A535A535A535A535A535A535A535A2F5A537E7EFD1BFF84
%84595A2F5A535A535A535A535A535A535A535A5384FD37FFA87E2F532F5A
%53532F5A53532F5A53532F53537E7EFD21FFA87E53532F532F5A53532F5A
%53532F5A53532F5AA8FD34FFA87E535A535A535A535A535A535A535A537E
%84FD27FFA87E535A535A535A535A535A535A535A535A7EFD32FF7E532F5A
%5353535A5353535A53532F5A59A9FD2BFFAF7E5A2F53535A5353535A5353
%535A535359FD30FF7E5A535A535A535A535A535A535A537EA8FD2FFFA984
%5354535A535A535A535A535A535453FD2EFF53532F5A53532F5A53532F5A
%2F5353A9FD34FF7E532F5A53532F5A53532F5A53532FA9FD2BFF595A535A
%535A535A535A535A535A84FD37FFA87E535A535A535A535A535A535A53A9
%FD28FFA953545353535A5353535A53532F7EA9FD3AFFA85353535A535353
%5A5353535A2FA8FD27FF535A535A535A535A535A535A53A9FD3EFF5A5453
%5A535A535A535A535A53A8FD24FFA92F5353532F5A53532F5A535353FD41
%FF7E532F5A53532F5A53532F5A2F84FD23FF535A535A535A535A535A535A
%7EFD43FFA85A535A535A535A535A535A53A9FD21FF5353535A5353535A53
%592F5A84FD45FFA85A2F53535A5353535A53532FA9FD1FFF595A535A535A
%535A535A535AA8FD47FFAF7E535A535A535A535A535A53FD1EFF7E532F5A
%53532F5A53532F5AA8FD49FFA87E2F532F5A53532F5A535353FD1CFF845A
%535A535A535A535A535AA9FD4CFF7E2F5A535A535A535A535A5AFD1AFFA8
%5A5353535A5353535A5359A8FD4EFF7E2F5A5353535AFD04537EFD19FF5A
%535A535A535A535A535AA9FD50FF7E2F5A535A535A535A535AA8FD17FF7E
%2F532F5A53532F5A535384FD22FF7E597E597E597E59A8FD26FFA95A2F5A
%53532F5A53532F5AA8FD15FFA9535A535A535A535A535A84FD23FF535A53
%5A535A53547EFD27FFA95A535A535A535A535A5384FD15FF535A5353535A
%FD04537EFD24FF5A2F5A5353535A2F7EFD28FFA8545353535A5353535A2F
%A8FD13FF7E54535A535A535A535A59FD25FF535A535A535A535A7EFD29FF
%7E5A535A535A535A535A59FD12FFA85353532F5A53532F5353FD25FFA85A
%53532F5A53532F84FD2AFFFD04532F5A53532F537EFD11FF7E535A535A53
%5A535A53A9FD26FF595A535A535A535A7EFD2BFF535A535A535A535A535A
%A9FD0FFFA82F5A5353535A53532F7EFD26FFA95A5353535A53532F84FD2B
%FFA92F53535A5353535A2F7EFD0FFF595A535A535A535A535AA9FD27FF53
%5A535A535A53547EFD2CFF7E535A535A535A535A53AFFD0DFF7E5353532F
%5A53532F537EFD27FFAF5A2F5A53532F5A2F7EFD2CFFA85A53532F5A5353
%2F5359FD0DFF7E535A535A535A535A5AFD29FF535A535A535A535A7EFD2D
%FF7E5A535A535A535A535AA8FD0BFFA82F5A5353535A53532FA9FD29FF5A
%2F5A5353535A2F7EFD2EFF5353535A5353535A2F7EFD0BFF5A5A535A535A
%535A537EFD2AFF535A535A535A535A7EFD2EFFA9535A535A535A535A53FD
%0AFFA85353532F5A53532F53A8FD29FFA85A53532F5A53532F84FD2EFFA8
%5A2F532F5A53532F537EFD09FF84535A535A535A535A5AFD2BFF595A535A
%535A535A7EFD2FFF845A535A535A535A537EFD09FF535A5353535A53532F
%A9FD2AFFA95A5353535A53532F84FD30FF5353535A5353535A2FA8FD07FF
%A854535A535A535A537EFD2CFF535A535A535A53547EFD30FF84535A535A
%535A535A7EFD07FF7E2F532F5A53532F537EFD2BFFAF5A2F5A53532F5A2F
%7EFD30FFA85353532F5A53532F5AA8FD06FF535A535A535A535A53FD2DFF
%535A535A535A535A7EFD31FF7E5A535A535A535A53A9FD05FF8454535353
%5A53532F7EFD2DFF5A2F5A5353535A2F7EFD31FFA82F53535A535353547E
%FD05FF842F5A535A535A535484FD2DFF535A535A535A535A7EFD31FFA95A
%535A535A535A537EFD05FF53532F5A53532F5A53FD2DFFA85A53532F5A53
%532F84FD32FF595353532F5A53532FA9FFFFFFA95A535A535A535A537EFD
%2EFF595A535A535A535A7EFD32FFA9535A535A535A535A84FFFFFFA92F53
%535AFD04537EFD2DFFA95A5353535A53532F84FD32FFA85A5353535A5353
%2F7EFFFFFF7E5A535A535A535A53AFFD2EFF535A535A535A53547EFD33FF
%535A535A535A535A53FFFFFF7E2F5A53532F5A5359A8FD2DFFAF5A2F5A53
%532F5A2F7EFD33FF7E2F5A53532F5A5353A8FFFF535A535A535A535A5AFD
%2FFF535A535A535A535A7EFD33FF845A535A535A535A53A9FFA853535A53
%53535A2F7EFD2FFF5A2F5A5353535A2F7EFD33FFA92F5A5353535A53537E
%FFA9535A535A535A535AA8FD2FFF535A535A535A535A7EFD33FFAF5A535A
%535A535A537EFF7E5353532F5A53532FA9FD2EFFA85A53532F5A53532F84
%FD34FF53532F5A53532F5359FFA8535A535A535A535AAFFD2FFF595A535A
%535A535A7EFD34FF7E535A535A535A537EFF595A5353535A535353FD2FFF
%A95A5353535A53532F84FD34FF7E53535A5353535A53FF7E535A535A535A
%537EFD30FF535A535A535A53547EFD34FFA9535A535A535A535AA953532F
%5A53532F5359FD2FFFAF5A2F5A53532F5A2F7EFD34FF7E5353532F5A5353
%2FA95A535A535A535A537EFD30FF535A535A535A535A7EFD34FFA9535A53
%5A535A535AA85353535A535353547EFD30FF5A2F5A5353535A2F7EFD34FF
%84545353535A53532FA95A535A535A535A2FA8FD30FF535A535A535A535A
%7EFD34FFA9535A535A535A535AA82F5A53532F5A53537EFD2FFFA85A5353
%2F5A53532F84FD34FFA8532F5A53532F5A2FA85A535A535A535A53A9FD30
%FF595A535A535A535A7EFD35FF535A535A535A535AA8535A5353535A5353
%7EFD2FFFA95A5353535A53532F84FD34FFA853535A5353535A2FA85A535A
%535A535A537EFD30FF535A535A535A53547EFD34FFA9535A535A535A535A
%A853532F5A53532F5359FD2FFFAF5A2F5A53532F5A2F7EFD34FF7E535353
%2F5A53532FA97E535A535A535A537EFD30FF535A535A535A535A7EFD34FF
%A9535A535A535A535AA95953535A5353535A53FD30FF5A2F5A5353535A2F
%7EFD34FF7EFD04535A535353FF7E535A535A535A535AFD30FF535A535A53
%5A535A7EFD34FF842F5A535A535A535AA97E5353532F5A535353FD2FFFA8
%5A53532F5A53532F7EA8FD33FF59532F5A53532F5453FFA9535A535A535A
%535AA8FD2FFF595A535A535A535A535AA9FD32FF7E535A535A535A537EFF
%84545353535A53532FA9FD2EFFA95A5353535A5353535A2F53A8FD31FF53
%53535A535353547EFFFF535A535A535A53547EFD2FFF535A535A535A535A
%535A535AA8FD2FFFA85A535A535A535A2FA9FFA9592F5A53532F5A2F7EFD
%2FFF842F5453532F5A53532F5A2F537EFD2EFFA82F5A53532F5A53537EFF
%FF595A535A535A535A53FD30FFA9535A535A535A535A535A535A7EFD2DFF
%7E5A535A535A535A53FFFFFF7E2F5A5353535A5353A8FD30FFA95353535A
%5353535AFD04537EFD2CFF5A2F5A5353535A535AA9FFFFA854535A535A53
%5A53A8FD32FF535A535A535A535A535A535A7EFD2BFF535A535A535A535A
%7EFD04FF53532F5A53532F5359FD33FF53532F5A53532F5A53532F5353FD
%29FF7E5353532F5A53532FA8FD04FF7E535A535A535A535AA9FD33FF5A5A
%535A535A535A535A535A53FD28FF7E535A535A535A535AA9FD04FF7E5353
%5A5353535A2FA8FD34FF59FD04535A5353535A535353A9FD26FF535A5353
%535A535353FD05FFA9535A535A535A535A7EFD35FF7E5A535A535A535A53
%5A535A53A9FD24FF8454535A535A535A537EFD05FFA85A53532F5A53532F
%5AA8FD35FF7E532F532F5A53532F5A53532FA8FD23FF7E2F532F5A53532F
%5384FD06FF7E5A535A535A535A53A8FD36FFA85A535A535A535A535A535A
%5384FD22FF535A535A535A535A53FD07FFA92F53535A5353535A53FD37FF
%A8532F5A5353535A5353535A2F7EFD20FF7EFD04535A53532F7EFD08FF7E
%535A535A535A535AA8FD37FFA95A2F5A535A535A535A535A537EFD1FFF5A
%535A535A535A5354A8FD08FF7D5353532F5A53532F7EFD38FFA85A2F5A53
%532F5A53532F5A2F5AA8FD1CFFA82F532F5A53532F5353FD0AFF535A535A
%535A535A53AFFD39FF7E535A535A535A535A535A2F84FD1CFF595A535A53
%5A535A53A8FD0AFF7E2F53535A5353535459FD3AFF7E2F53535A5353535A
%2F5AA8FD1BFF7EFD04535A53532F5AA8FD0AFFA85A535A535A535A535AA8
%FD3AFF84535A535A535A535AAFFD1CFF5A535A535A535A53547EFD0CFFFD
%04532F5A53532F7EFD3BFF842F532F5A2F53A8FD1CFF842F532F5A53532F
%5A2FA9FD0CFFA9535A535A535A535A53A9FD3BFFA9535A535AA8FD1DFF53
%5A535A535A535A537EFD0EFF7E5353535A5353535A53FD3CFFA92F5384FD
%1DFF59545353535A5353535AA8FD0EFFA85A535A535A535A535A7EFD3CFF
%A97EFD1DFFA854535A535A535A53547EFD10FFFD04532F5A53532F537EFD
%59FFA85A2F532F5A53532F5A53AFFD11FF535A535A535A535A535AA9FD58
%FF7E535A535A535A535A53A8FD12FF842F53535A5353535A2F7EFD57FF84
%2F5A5353535A53532F5AFD13FFAF5A535A535A535A535A5384FD55FFAF53
%5A535A535A535A5354A8FD14FF845353532F5A53532F5A2FA8FD54FFFD04
%532F5A53532F537EFD16FF7E5A535A535A535A535A53AFFD52FF595A535A
%535A535A535A53FD18FF5353535A5353535A53532FAFFD50FF5953535A53
%53535A53532FA9FD19FF535A535A535A535A535A53FD4FFF5A5A535A535A
%535A535A5384FD1AFFA82F532F5A53532F5A53532FAFFD4CFF59532F5A53
%532F5A53532F7EFD1CFF842F5A535A535A535A535A53FD4BFF7E5A535A53
%5A535A535A537EFD1EFF7E2F5A5353535A5353535A53A9FD48FFFD05535A
%5353535A5353A8FD1FFF5A535A535A535A535A535A53A9FD46FF5954535A
%535A535A535A535AA8FD20FFA8532F5A53532F5A53532F542F7EFD43FFA8
%2F5353532F5A53532F5A53537EFD22FFA85A535A535A535A535A535A2F7E
%FD41FFA8535A535A535A535A535A535A7EFD24FFA85A2F53535A5353535A
%53532F5AA8FD3DFFA87E2F53535A5353535A53532F537EFD26FFA85A535A
%535A535A535A535A535A7EFD3BFF845A2F5A535A535A535A535A535A7EFD
%28FFA85A2F532F5A53532F5A53532F5353A8FD37FFA9FD04532F5A53532F
%5A53532F5384FD2BFF7E2F5A535A535A535A535A535A537EA8FD33FFAF84
%535A535A535A535A535A535A535AA8FD2DFF7E2F5A5353535A5353535A53
%532F545AA9FD30FF7E5A2F53535A5353535A5353535A2F5AA8FD2FFFA853
%5A535A535A535A535A535A535A537EA8FD2BFFA8845354535A535A535A53
%5A535A535A2F7EFD32FFA9FD04532F5A53532F5A53532F5A2F5353A8A8FD
%25FFA8A959532F5A53532F5A53532F5A53532F532F84FD35FF7E5A535A53
%5A535A535A535A535A535A535A7EA9FD21FFAF7E7E535A535A535A535A53
%5A535A535A535A59AFFD37FF845A2F5A5353535A5353535A5353535A5353
%2F5A59A8A8FD19FFA8A87E5A53532F5A5353535A5353535A5353535A2F53
%7EFD3BFF7E2F5A535A535A535A535A535A535A535A535A535A537E7EA9A8
%FD0FFFA8A9847E535A5354535A535A535A535A535A535A535A535A2F7EA8
%FD3DFFA953532F532F5A53532F5A53532F5A53532F5A53532F532F53535A
%537E59FD047E84597E535A53532F532F532F5A53532F5A53532F5A53532F
%5A53532F535384A9FD40FFA87E535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A7EFD45FFA853532F53535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A53532F53537EA8FD48FF847E5354535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A7EFD4DFFA97E532F5353532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F532F5353
%A8A9FD50FFA9A97E5A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A5AA8A8FD56FFA8A8595A53532F
%5A5353535A5353535A5353535A5353535A5353535A53532F5A2F532F5A59
%84A8FD5EFF8484535A53542F5A535A535A535A535A535A535A535A2F5A53
%5A537E7EA9A9FD64FFA8A98484597E535A2F5A53532F5A5359537E7D7E7E
%A9A8FD34FFFF
%%EndData
endstream
endobj
112 0 obj
<</Filter[/FlateDecode]/Length 15493>>stream
-H‰ÔW‰RÛÈýþ¡SlÎ -r*,À˳V¿géºW-·„q¸¾ºçEþ\§`å
1-ûQ^ÙBƒHô·XÀͪ`]²1Të,‹°~7ˆ~þ WZùj\ë~ f sÃßnä2°ökÛ–8Ï
ùY¡L%ꪧ¨ðŽŠŸùì‘Da©” -¦ÉòŠÅáÙ0ÑD1*cKwý–ÊžÝQ\`3¨¬E—¢\—Œ¡<T4zB]¬ÅVmôürtãžP"–¬
‰
²YÁ56Ù¶: -Û¶z¡Îòs8dSó”Mò‰Æ»˜…›µâZ‡¢'Þ]©¸E‚å6ÈÔ•§õ•â`ƒ'…0ƼÇرU9™Ïò\<é ‘´1#Ù6)fÔz“džȫz(%±n<¯*q/ñ¼¾äÛX[x~¤ÉÖL„d‚—£{
H¡† F2F/I’ÆžÉñ‰Ÿb•°ÀŠEI67ç‘qD=šùè -¦<æâ—9ÊrÆTeät#³Q¦šùr'mþ‰ø6ƒ!¢Ía]ŽG5C<Pxœ•0k$[N°„‰ë`G¶ÀHœt<†Í5uvF`+•ÓP%\›xUnGvbGÔ2T¾>G>0PÀë^¶q˜41Ç Œ#¡†EÄûºñ
ì"EÈU'#}Á>Ò±2KÀÚÓ\á‹SžàtJÙ?¾2ŽE™”k1»åÊ«`¡ŽÍtáâô=k‰!•q¶îq†³Ý>Ëlf9)šðóŸ/ÅV½„BCËÝ#¬ãM7¡A4cœ0{l˜\y`mKI”ãÕ)aÆ“:ÞW1ÐM©ôû‘ËB27
¤‰êZø³[¼$¶tlÀêè Õ±kLÈG‹Xäìµ+¡‹uh²1(®˜Éæ’AxrY€Þ"",¦li'cX”JGk“,Ô%µ—Ã\‚<Šdæ2œ`t–&…B+Å>²ôz‘!$lA”ùS_.TL=õÐ@¹V¿TB×’qQ˃£®¦D†”
ƒì[s \4$Â2Ñ -žÉŸ´½³ñ`ê¼\*pi[ßëÚ×µo¿Ù=`{÷Vk0Üù!íÙl\L+ÛÕÆí—fËPvç{¯.…Úüþ•V«ø¸ÒbJ¿´7«—ü•î¿…°ÕvIí®RTëZ§€!¿¥ËW¹ƒÿr_]ë©#Iø ü˜Œƒ„@e‚09ËLÈÉðþ[ê °=sfg¯ö†¯QWWø+gš®n°½’›¬³#™Äø¥ QÎ-îÛžj©ØØùØf¶n0(Cœ¦K4ªCÕ¶&Naå§BVh¶§%2úá|“"Ÿ¬Gqý£)…2/ˆ"yr“ãçB‰ŒÂZ'¶#«˜\Ê#Ì,Ö‹ t»$‘ÉÈÁ˜”5^->W6=]–È“W…_EHXR€H(^ø¸)õ½ÖM¢Y}K8iˆ –f_Ù8Õ§–¾)- I¨ùóÓë¨q«ÆTÝÝ_…ª¤7îð‘2žÜB¼×b0ûÔ´/£D[ˆwùŠ"-;Cq±¤"i}ã6QDÀ̈¦ëÓÝM^²qب|¥PÉ?U16 qìƒ÷Oûpȶ?Ø •üäÒÍÓ3ß,žÎßM{@Ö†ÃÅݣ㪙SOOn¹?u±›•Hå{A!ÀŽXE‚è aÇ}u¬Ý±GàÈÉοÎ%°ÅŽS±”ã‡Å(Š–اGŠOWÃ<É6û1¿kÀbEîá Îuf¦ø<{¿8§ê+™(…•[¤Bôvf…iÈS3B9HªLsúEc.ÑéI«ÎÓýXçÑÕüº}Çû9'‡‚cæ'—0«™*>¹ùæÛ”€ -“a$¡Ô[ý¤-¢´Ñåz´I#ÇÈX.þö=rNUÅ_]§)Ñ™Ü(ôä¾ÙVMtE–´@…*mTpÂÑ|;ˆ„J‘Ñ> ,OÓ°Þ¶w|sÞu•¸2ØËÁ]9¦xB´Æ×õ¹ž}xŠ(ÍqµôKº7O¶»9®‚r»›¿”p ~4_Îxíš~$ãóßrO¾îé<|½©“ËuˆEíÖ@Êí~W$YaåÛ/6õÙj{¿ø´c½ÄV¬£äø,û^[§y¸…HöhÔ›5¾Ý'GDºð¥CÅž8Bô¼Öøƨ(Z·?âؼ’Qª@É#Dûç!ß87ã·[Du>l¸ã$åÁÞ²çg¤Çf+â–¦ÕO'Y<i©ú62üLRNy|*ö^8u3ð퓳‹zR씟ÖCÕgˆ—‡K8ù™*~c½¾À|0³½tÙ:œ–&±ˆ÷XÊU=“ÈÎIÙH,lÊ__WSÉÒ«d*‡¸€¦l&âh*åø›ÅY…¤˜¯!ºªü(´ÄZØ -õßÆ‚¼‹M»ÅØÕñ·78
ñ¿ -CäË\„ÊdS¶Ÿª\NÈ Ól©÷ý~ôðͶºU8ï¬ “¾³7†ßB¯4JÊè—R0t1r6N%/Ý>ä‚ÉEZqg˃!'OVne¶q"qªþ¾ÎØÇ¢ƒÖØÅd„üY<úUþ÷[»Û¶H'×öúq~®÷%U=vƒ„ጯo¥ -×Ç0Á®¹Mô^ -v‡T™\ÙÐHÙ=ÞFžý,¡í½< 6#Œ…l{cTÒ, ço³•9)ÏÌ
k -{OVl«›}ˆ€ÕÔÜm™µ²ÓñxöA7ÏB»È[ý7õ‚I ¦õDÿß,'°š˜“Ò¿\Nþ`5±¦¾k„†LÓÆxþuÑŒN·kÚ;ß«Û†’\‡yË-÷ÊšºE±7œn¬þ¿6ú¸p.ûTþ]RÊüc¡Æi¡æþ8¡q˜,æ¢ô8ÙwöJ
K…%ýyƒ
68~~›§ÛëR“¯´TwÈNœ7E~[*0žŠ -\ '¬)CCÓÿ“û6ÿWtV‘r+÷Ò«6·žÀ)xÊíŸÇC¤ãå{¶¥_–Ö‹+LŽo¬9^‡è¤žÄ¸–ƒ±6Õf``âfáÒ~Ï«XåçïŽ(<^¼ÿsÃûÂê€E¤ªÇ¯ ’2ƒ°Š½:n×`'SÓÍš4ÝT´íg•%(¬ü¾r¡•ÁGÀ©ÈÛ3deÌÍl’8²‚®ˆ–¤'¥¢P«rÕ˜¿·)[Šž{n¾Vn´É?½\t–/Æ;I¯Îã*Yڇ׹¯Êìø ÙÊÊÙÿkÉOîkH*Üñ8oÅSo,&³é‘¹Ý‰¤ÎˆïÊ^Èñ³@Fƒ/ǴϤÕÐõ¢?„<ÚÅä w|.æ•€?‡rÕý&8ÝBwª+ÊÐ–¾pìx°å:5“š4?f‰âÜV+¥€jš¦âLÍPùT<F8ƾGŒCÎ`ÊkþÞ1û³ìQ¼u@ˆ±¿ÍßI'‹ã?È^›"föÂ*¸ÓÅÅׂ‚Ü×CÌòA|àȬfªhK´\ÖÁf9FÆrñ·G¶5tîKö¾Ds¢ºF$©hÒQ†Ü÷÷ª'^íE§Ø¯jy*M7Lð|¾gI÷fIIÌ;q3 -í™p8šoQ‹2•K¤f#ÏÌÂ)_ëp= -L[4v<¹±Är+ù!n
”7ÜAø®k~;¨º”Ë
H0³çò8Ò_ÜÏ0¨bkT¿ø´úuÉ€I‰î¼í÷½SÒì‹<“•ñf“´Ypt¿<!Èw>îcjPþ:I<Xâ_œ›my¤Âf¡ ‰v7Ì×Uƒ¯7 òÅû …Utz´*¸¡¼F¤‚V -˜ÃF‘@uf?)Ÿlz\
eèôô$ðÖIWP*úü>4Ü\sM†{1Á<§uWcþƒÐ84Ñú—L(ÝÞÞL_í‡Â€k»N§«ä¸ØpP§’Ÿh†CwW^YÐr¬ÅâÚ_M•SoK]O-¼µ7邼"õòŸL»£KOîôÇN{ÿ+¢v€.OÒ•’ôlà_‰Æ\þJ•ôBþ‡ó*ÛNTm¢Ow0g8³ €5FE&‘AQeè³ú\üÏþ8aÚ¤ûôM–ªúªvíÚ¥NâÀŒé8ÑOÓÓÚÖùsëÃü‚"³¤½:™2úZ«>W‡åOØ@=9|P+i÷o ›÷=(2¾w¨Ã£)äÒ;ÚÝysKåþéF
¡?›(Z¤÷õ)·Ò|,âÌsOŠý¹Z•Üi -3kU0×Ð>|çE’¡@0“Öò#PEµ5щW’3,oðBiçqöâIÁ/>æÈ"¢G&hi¢ˆt´Ùµˆ"þ«ûèŒN07g’›n)—VÀsô1x#Y~ë·i¨Áø…P 1pÛd¾™ùÊD -ö‡º|ü‡lN™$#41£H¢LwTs„âÆZšÄë»ýépDµz -ÚÓ!úCŽ¡À‘¨Œc¯KŠÈÔt£Í¬£tà):¬Æ[=/ä|[¸s/èô\Úomiqr™®ÙÒ$2‹ÝÒ1lÂtÙ:h=É‹¦ }¦^5DÆ_¤í 4w^tÏöAo÷i_Èû&Ãÿ¿¨½ôÚy°ö€6Àg” -?Êb©Ÿ¹íÊâ,±µg`Nš=ñÙ[ö_›‚x™À±hk^Þ06"˜Æ\r—ÝàëÜ|;rˆÒC–ç#Q;D'ÂóîÒš‡dUü†I1®7+D&Ò°ìù$¸‹Ý«gAôUæOÅ9*< -ÄT…#:Í:p9¶ò¸ -©ë†á ¼åÙ‘º†í5F½4•U%jöº -xÂõ¤.\!©Šî"Yƒ
º"ðð´+ÖPŒ§úÒ¿ÂáTŒ”8ë«ýtå\±gÕè œªño¿FŽb¬ahÒÂ4=&)Y79ÕTŒƒ‘C qWCÙ¸Z’n¸,£duÅz+_;°l½ôGGuÁ 5uKhÆ?ª¶éIËÕÑn"‘¾Úé˪*«©þ£èìv'-»ˆ…úãxéøï>ªÛ&è:Þ5YY2~þ‰×šÆþü;§/àLÐ~§©Öh±?M?|ºbEâT^èÃwÊò ;W¦±3
p (Æ‹¦Š’,<³Û£ëÔ7®Ûª¢r+ȱà¸tSRøà_ˆQwß^6q¸¬^CádÓrö¢Ê÷óÛï—(ÃA4—j²¤.ÝÐÔ ÿM˜Õ0ÔíïËbô+($ä¶Ï¬ëPWÕ
A“þe-ü»z‚®Ê¦õó÷~/5¹ÀéR’xúVW~ýÏní°ÿ“ãÏ°/ZÀY#;zô‡ÀªæZ°2«pß·Áw v俺%ˆ†#i·ËÕôÕß+á å´ì'4ÞÚ/™[‡½éoÛÙ¾ }H%¼·©áÿœ—ézªÊ†¯À{g
âlâ<DM2hœP1àÞ{Ýý©FDÚd?<‰ýVUW]%ëÎòÍÝGøפ߹Ån#X<úú?«È~¢ëâœù_‹¦V¬%_Ååe©¾„ -ج6¬ø›’¿Ô]ãÞ¹?ê;YdP-–ØsØÉ?lÂßíXåÞÒS(Pî™í¯û9Çlv'ñî¯a÷¬ŒÈZå5k]áVØP˜’õß5ËY%æä -UÌ¢dÂÊ}\î“ÙpÖÍÈoØùSŽ…‹YæÑÖº‘ÑËŒuÇ€M¶2‚ -q9ÝãtôÖB%Ž³Zc†‘«ãë…ì“NÜnŠzï0GªÈsríÝÏ™„8]ÞLaDÙ~¡x¢^-7“± -µU>ãŽîž~2ƒZHª2W0±Æìä–kqP†ªúg¯æÐ*•w±îø@ZHc‚e»?§B·!Á¹v$£¦·<ÚV. Ã4ÕŒBê5@-¤d«±|¬ËhÀÆcý6?†³Ç·ËÊ-Q-ï8©@Qb§¾Äv×Ú»w…±ÐG¶¦Ì Hù#ª7õØÌb•l5¶ý1ô¸M¡¯.îí;³¹µ×±~T©×G!mm†É—ÊC:c63(h2¾N«6“à'ê-÷X2‡¶²åé¤3›BÇOÛºE÷Ëu¬_ƒè²‚ŽÔXÚÌ¡í/aÿ”L„
P (Øi=Àa,’=^¨òfß0…&Úñ0€Ž6õm<4‡i|ªBçaáÐx†MÆ«@iWÖ]»Œ´Iͼ©<‚ú5(P–ýú>‰~F4B%Þ™Q¡rÎgˆ”1ž#´0Õ/…Ð/J/Y(€
^«R= Ä -Т|%…5[ìÍ…!ô‘öñ¦ ;RÅGŠ(*Ö!ŠÌœCPÊ -ê8Z™FÒSà¥öñ¯£eš0‹D ‘À„ùÕG úBøKÝ"z¼)óÛyz;j„Êcº…“ò‰6Ú•y¨zsÎE?–µ‡]ðac¯œ
4éèNÄ]+Á¹`Ž}?€´ÚœÀ[¥Ï<ûÝ&3÷€:ÙÊâa\Èh³V™t0ИÍ9æÐÈ`ˆ…Â%ò2ôcúX•IEWÞ]ê¡‘žÃBê°‰v¡§ƒ.N»Uºÿ34lH/êþÏ‘VwPÏ@™^õØ‹gh,Téþ1P˜¡ûŸhPˆå"Ö1 - –"x(êþ±P‰úÿµy¬i"xÚta¡JO¡AÑÙ¿À¢ž¢±«lò„WþR7ÂS.÷¿yorØsú³y3fÿž”ߟ~|/ºVëNU‹Ä<Ê«jyutgî=ÊN÷\ý ᕃ¨Š‹³÷`8ñw{ʯ=²‚{ —•p5 %ÕBfOZ8¯èV–È&kŽ/Å‹l²úQábʈ֤IÅgˤúð·x ´À'À¹· ¸Œp|é´}–½ÂÝš-‘çGWß1Ã:ºƒ/—¥ªwÖÈ)ʯ¸üò?8QC{ðž²sìÛU9ÖEðì¼L`i«%jDIRy ‚|»œ’ÌœÚ&ë§ô.M.(Ý–Ÿvå¨:ʧû¼JG+%å –ãCáñ§¤£‡ê|„ÇÄç"°ñYþÇzµn%®4Ñ'ÈCpI -b1˜pÎ1lÝ5Äçü1£äÆMN›rú,™ê @-ûSâ«ôb•=v&›ä§J†L—
Æ -…p‡>Ù.ãÀ¿w³¶ìÞ‰·hå,>Þ {™ÐsC=?·Öùô¬MšŒ± -ñÀ኉p‚1‡aÒgAÎŶCQÃ$•Ø“ -¬ÆÝG¯êEOXQ€V†‹SKßp6G`É]wAã¯a¿§µÔ—…î‚TCðÛ|
é,~eF¾øÆXþž¥…Š¬†Bù{–z—ÝßßYZVÅ`×Äþ^NÅ`œ(þ‹âjáþ*†â0ü=+Š{½râȪ¡XÃÜ#«!¡…Ó
¥…èðÛ¨jhW_K—Xmkeq±Êƒ8œõ òÓ %8”Võp’©úñ…Ën·x·'ƒ`Q·Ë‹±ÛÞîr-‰˜”Ýu: _á]D —©=GÁ8¾à9Â\Ÿå‰‰`©TJ܉€µ¯-LBÞ'KBQê®”¦r}ü¼ã¹§³Ò|;,ÿ—¨åÐÇ«ÞUdªþF¡,¥Är=™˜ŠqúKÓß¹ÁÊ÷»z×oXàÇv¸â«$ÿéý”§#!bßÂYŒY|kp:9-&™ÆYö :qÄ¡¨öLH%%9¾å²ÙZ]OÏN¾ôß™—…݃ŸæfS6ÿÆòï—ÓXnôЊåTbùnµÛ€?Mb¹ÅëoøˆÁ߶c¹æU~þ*?«I·¡•²ýÓt+<Èg¯¾.6¦®npKTRàߺËBÑ<êÆ˵*쾃r±ôž*Ç»Íæ{\ï½|wßK@P3à؉·6»ÇBŸâÑì÷òßKêQÄÉèÙ¯‰Äðã¿[ö£‡“î£f¼ýªs-µ_~]“×+Vëׄ¦w§ÿò}Æ=¼Nbýª_c>kZî¾ó¬™XÌ=›P¡ -pRí$_=?vÛ$lÙ/eýU°^7³'ƒT›å¶Ñ+L_wÀ¡úÛ¦w—Ȧdï‹/©§J‡sX¾õ@Âœƒ®µMÇõ9©”ÝW€ZÌ› ÷ž°N¦ ”(÷K§ -+ÌSî[¸w'Â}‘½>%K+ýI5 -·{âDrMEµ8lB<´H®aØf®iÁ—
/MÐ}ö
™ÑÐt°Íò$·[RŠZ¡‡!ÈëAënã9SDªû¹²J;øñÔb•ÆÓ†--Ÿ—æÜbóAAã] -QšÏ¦Cñ ¨v§Ù¶Ëõ{ÄMKÁúâXöZlOÌÀÝï¯5 -uJðG€> -ä„ß/0©²,¤D.s°Š p:”MɺøDI5 -·{âd³Ž«bç¤ÚI¾:!–]Ò™1n:bÆZwomÆŒu¡¤ÄŒ¹¥ƒŸÑÐà3)8á¤ø(Dæ\Q%ΆJ²VÐðvwÈÙhÕý\±ÖÇqJ¨8×£G(-Í*
é>qñÎ0o¶Z -(í”zíV{â½æð=´fÒÍ˺vŒTý³©«+%v裷f4Z4ô:vä»[‹âÖF·WJŠQòQÒª)t‘1Ù„¿‰ƒ¶É$èËWÅüJ‹e–eÇ°kÌÃ0<ÊT1ç,3ÀÇ”o—ÊÏ÷”J¯.ðñ'%Áözj^fôü,±Z,%šø{‡¼¯I]eqí¸Í0 ×ÔË¢nûsKÀòHh¬´½gŸ‡ýÙ°–4@èFìdüª¯h'&—9vrÉ*/QIùÁ(}°ì"ÿ„Ã"YøL=®ëÁEϾl÷J±cþæSf ýÂŒáC˜1\6{g츂S~1zö˜p;cÕ1”°qˆw0½Èm4óù˜]ž”— -ý"éx9¬œl.;õ·é´…»ÇÊJ 6S&/nÔ MÆ%ÇG¬“™‡ÖÐøú T(˜";Ï›ZêïžÉMfØçBžŒ’óM-«+H‰Â{+ØS‘øÇܬøÛ Ôœ&þ -à!£”j9sCùp¸;fˆ!øõ½ÏÒÇÄ©Wšâ² 0M¹¹ºÁÑÊÉ
¸û«oÑ3ƹ ~õEw<rƒ¶¥êr]‚ÕÛ -p´wq‚ªD„ŒG£Ò@3%jOÖÙ÷49…ˆ)ÓÓ¾åËùõó¶%YÁ©³Ž7ÒSöî‡2&§ƒZ@cëu<1_Á¢—SìM!&'†¾ˆ¹4oÙhÅz»“…{é5ñ Sª°RšKîÐdu² îdÕÛýEpæ‰
€\oT÷×00ŒÈ
-uþ÷gŠøc1?œùÎ>ÌÆF¤ -¾ -”c¨¤SV -—õ<Y'ì"‚¢ÕVœh…é»a$8_u;ÐÊ„WŒVD5ãlÆ(¢ÒveLÝ}Ï?Â_c®í®¤+ß[¹˜h'ŸA©pJüÖ›hG%¹ËE‘’ŸÑˆ•Vóß
cØñð©Õª×ÎoA]èä(F’Œ9C*älA° +ËŽiQá5Ÿ7P+«3¦·åJï8‹2ænKQ™ØCÎES†žY0xÝöJIÄa :; -è0÷ÜËoL¢ýz´€!ÝЦz½%w€)üuJ€Ýئ—g‰òB·ƒ¸j÷†¼ˆº‘¹72ðyb(·;/¸'l–tó[œOº™Ô0åv¬¸Óe©$Uû“àcl(,ó^cpAÅTý³IèÊõŠ–ZS“®½r+×ܱ
¼|T~À@š#'К@;Y0¿4ÿÏzæréeÕ -§ÕÊj}çN^Éåæwªš*ë·Ôx+4•Ç¦SântøÈù&4Vßc
g÷…ì±ö-ÌàÚCY¹ÕW´Ó¯
VIŽÐèX¡%¬·-;ºwKÒ2c4[å‡äšr÷eŒ šÿ0 -H‰¬WëZÚJ}‚<„@„ÐVZ RA±\>ñXi ¼ÿ™™\g˜É$Æ?ó¡âÚ×µ÷ÚÅœ\nÞ¼)ÙÂÍ@®Œ–Y%+wûèw9©¢\Â?äßûżû¯eM”Ëi-m<µÓTM•§¸úvvRKöz>Ö'ÁÕŽ˜ý@0 -z!=° -qõ…nÏ’~™¬~Ö*ÝÖ×jšmßÕ£«ö Ö+òÍmi3—ÏÁ§fïGv/Õãiã)'•#ucñ´æQÉåžõ) -™šÇGDÓ¿þªÜFg»p½w*—ç/‚¨GG“ž+£åh^ØíÀ©¯r±ö0qZ)Ûýú&)ÙÒø°Û’ãLþêù;Íèî0/ªøLÆÌ*
%Õe=ƾ’£“)Ó(ˆ%ÒØæ™±*ÍèýiTº\fþ³Œ6ÿº~?I:FA, 1bî÷Îr.£OñxÔ1ªK_â;Ûh3zö’LTþÒŒ -"Lð£;VÜh¤±È0*Î÷ÃèyT,üªÏ‘QSá žymÆÎÙF›ýè=ͨ ¢V¯ÿtô&¶Ñ¯¿:#¶QM6Qk#³1ø÷´ýÉøæî*eñê3¾—¯)Ìï!î[¶ç©âOˆrq³×œ5 bžHÑi}’PnàLv/Ïšs@$kÑ1Ï'üdI=K¹ùË¥aêän&¯R»`—¶n!wsT¥„ž¡$´éºAëuRózº;™íTmG8…»ÅFù—-}ïõ⺠2oBëz+]àÒÕé’ Ró”ú¹Ô¨y"6»ÏÒ™sê&ò)yÚ8+ݪ>¹Ô?.1ÉnæÍ›§KF–ýÔmÂÄ'¿¡ª=êMúù,>\wSøâ;éøŒà¸$ˆ^N-õÏé0-ÕÝ)ÓŸò›=®´i9…Æ•íƒF+GõWÚôrÇ¿Å⨹˜šÿ·æ1Ì{Mg×—'§'Ä„¡ß¬è1CëI#´I„škÂÁ1Có¥ô›¸Y5̨úW겟¨V½Lœ%òµ#öZŒQªÅHy–ÞÇÜ“*G#Ì)¬¾«PéljÀMŒ…HàþÇ®¦2sL@ "
Ì̼F -A`*dÑPž¤…æÕçþ&LC.¯/.=j0;Hæ…eò*Á(ç¢ANF!àcf§°¡“o™{gòªpøÙgŸã™Ìô’Œ ¯ûjz¨¦íçÁÊØ"²oÚˆ[ìT,¼C{·Ë믻àzô¥@TcæÐÿAóÔ)Õm"Ýf^,Eâ³¾OMœfäR×õÅ /YÖ2"\‚ÃœÊUï/ÚŒ¥ÆUã˜KQÇ%”1·SNñ|(JÏuÌ{i£úóQÁJ±ß
S?3”,eµ˜
?§”Õëj„íýP`úú·_ðâãƒ[%\ÆžÕÈä“2ö\LÜZƈ‰2cW…)ìz@LZš:43–«Ž'§¸>l}Î1ŸÖ®ä*aêŽ/'> -Ÿ¹'[PÃ$´ŽGbñó~K2ê÷_+ûÖ¹¢Í@A$Õ -WOETO•D}ï]5,2¼^ú.Š4õs©9‘ºb¹„’¼åp1n¿Ü£¾²3æR|-phdÀê{å‰94|äÉq Î1ž@ñ™§—,³‘¢ -Ù¡ñåÕ%Ë‘S¹ BÕÃ%{Øwå‡óTðá’kï{9Å—à3:g:e¦èxlãWnæøÊý×FW®ÑÉ~î\Ö•ÛFwÇ•HƒôX2Ž¸C=*j'†i§ÍëÄ£g,+fâî±`ÓÐ -¢ý<؆~]¡9 -ÖœÐޡϪ½¶&» e¹ÙûÇ*nDEïJPsœ½ c”jqjðEpÜ9èivâ¨+á]y̶|ìâ½<1Çi19œ0‰‰Úœ•ÙÙ!8ËèdH]š.°%;úŸ|åv¯à‚½C -vÒ€5,5Î’ìùÊPŽ†l†mÇ5ÇX@K®úFïˆb_bVÒÜ/Îã=„AhÅDðÐ`aÁᢛӡGD•ˆÊÞ/þ;Ö|´ Á}²Zʳô>önNq‹ýu“ZÈC)}01ç>ˆ‹Vš–lÕ³³ÔùÙa°·`ÚÎHRÿ¢ßÁUvÑÕÐË«åq%Ç7ry}qɬ¤1a$¸ÔÓvÔ 6¡[émqtêÒz‚ï»`=³íPïÃ=ïݤí2‡Â Ç<qÔTõµf A´ôØÞؤ¡¾qx³ÛjlsÜ.óI -›c;aƒáRSM“N ½çºÅà¨(í<™ã÷RƒPµ½åR°ÁËe|3Û]XüîT¾®R¾R Š„°;Ùb%ÔkI0½jn+úZæ‰e÷å”"†‡£`ÇCâËøц֋°.•{<T;~ˆlaÃËǾu®ÂqV_ç1¬Pü–òFüâ¤Ãxb±pN?%**}Ì[,N–}å¾lä’ÕCî!D¿,ApæÜ…OWæv-u³>”<ˆh¯ICð;N!¼ih“p„Hh*¥Óp²õ!çÑ
X$´o1,<
A¶Ékñj¼Ä]3< çèP2Î…“õ·Å¸8 -“†„´g -{k -bØÓåÞ]ï9%ð'ÕôŠÎa˜yçÂÑ×w!ç&@ÃeLCA=GL‚{CLKˆSLÜ»I<oW,œë¾Ý@Îy(³VþŸõ*ï/ßk¢¯ /"b !+ŠÚjWKÑR[© õ«5ÁûæÞ¬ÔömŸ|’{cî3gfÎä¥-»åÁ|’›îš,ûñÞ˜†¾£4D§´Í$ÔkòoÓ0Bqgë˜)ŽºØAï¶B9T.L[VpJ¤.¬`‚›ópñbq£ÎÅ¥M'¨lé"b*YÐs_0Æ—Ê׳Åà:bb¢õZùÌ•KƸüUcg -*àÙ:.ÌÖSÎJÃsôbnd{wrB;žÏ>ÓŒï‡0L3Wš±)Õéõ¬4ì\šÏ¬¥Àl(:²jψs=à ÀÏ5(ÓŒxMý0–'œçŒnSª†ÑŒÕ\®sÆ‚7»IéŽÍy½k’×+1D2_[™ÄÎ;“ŸÒöRË;Ý,êâÄ¥úòMŒ¸ÚԾϞhÝKí¹‰W=ÀrM¿·a)ñül.×8ê•°:q²gÒY5K㩦°v -›s -þ¯=¹˜“x$Ý{!nËÂyÄÞ»ñW?ào•ü-H¹×WgŸN/ÚúP²oŽÒ\«¥
¢¹ðwj¯´¸eíñ #½¿sdº¹i;CNöÙô{¾ÑVÓ[’ÝEŸ’ìvò“óZö-) -òÊK"÷+x½÷ .(8Å
¼Æ¼¸Â.èb=ÒŒþÇ›Ë -•˜-ptÆëØç¨B±È{]³ev<—ÿw㋢˽óž4ÿþoÄò°£-#{:vçзÒ>sKHu› }£Èš¢ýáëQßxæ[>æ1×Ì“Qßϧ½–-t¶f'YHxÀÓ>|vïÛo(€ù_ÅD“€×ZÒ´=„ø×°–ó¢O<|¶?MaŽeæ¨ -†P˜Ï€]í™”^8@†ªSkb³Ñ^îàµ'²•—¹ÿ}¥é8%Ñ.
0KŽí”MX>ÌS> -Jp›~÷Šg¥BO%„o‚àNw'¸Uúe‚á«n@Ðkîca—Ï‚ A0ŠVMÄÞ‚™@‰’cÚ±šà}¿Æä~›X³Y%Õéâä‹Á„ä^'öž0A üÛžÓ -Ú ezllø¬ƒû©±Á‚/Ãî—±Å[6ò)¹QõXך”¤\õZ7¾ücƒÁ8ÀüR°'9Œ#_ðåD´ÅcøB¢^ëVÛÒ€©«8ñcû}D··‚ù”âǾšJê,žœøq¢ÂóK]3;®7±Yø!£$ -
#îÿX¯²ä•&ú¼ƒ$Ì|2OaT¢L2D"*ÈÌZÿÕÿ짺3êQ?•s“ÕJª««ö®aG±¤"2¤n\Ž©l.‰NIJÙ›C«°dçt^}x¬/kD\dñŒõe‡˜Âz¯ eäÛGØF‘ª–SßÐø‘>Ï'¯ëi[c!zPýzå¾›çÛGÿs©?Syt+ÁFÑD¼?Žr&†z#ÉÂÐŒ/î!«³ç6Xî"ØbñZáЖ³À~ºµ{ -°w"²{V’½’
¥äëØö1_Ћñ|ßæKŸ·W.´‰qôlYÓ—Ü‚âÂ_zXlã<·x‰wA¾Ay#jgĬY€ ˜‡¬+þ"J’hì£
Óm}Æ…Éñ)Ã^”Ç -¤ì]iŠ -ÒÐôG•–€·R¶CÀVÍ9ºÇð‡yE-cŠÓBi¨0иç´qAÝNL˜z›ZµÉ¡œ†¶~Øv°ZÚ§$®Ñ^ œ|øÊä,À¾Bµ¨GìC'Ö)ì(£¹i*˜¯‚rª$¿ØäâîÊÊ^vb³²ö5²0®GãGúÐ$÷b0ã-Z©‹Øu<V)ç‚úM±6K&›z]Á®â›H-Ç>^½©l_}ꆗ֌à’N=_Á¶Ã™°×º¼ Õk¬‚Yi´‘˜‰×Dˆ•6•PF7Ö3«0C»hapz2õ¢Ë™/¼µ9hÓÄ`¶ž1YÌ$—`DHc¸nZ'-‰ïbz%.%B+ü,8P¬ìE.ÝiÆÎO3([B¢AÙ$…Vè‘5rMx»i~œfì<öÍí!Y¢T Æ~U¢T =ä/Kô -4ÎÉß,ÑrF.¹ÝrÍFHšÙP)r[z††ø¶Ïrð4Ö•Ý.ͽ`ºâ¢ÇëÞ(ÔÜ7œBHÊWÅk~F®ŠðñŽq—S¬ •mcÒPQ†Ù·*ž21]²ÆÐ} -ôcê
V÷>x;5>Ð/\ó"zÇ—RMC‡DŸ_ÿ[ÅñŠj ꦊÜZõÚU,|%BzÌ <U´bíw~}¬µá6DúÚiŠcÿÝTŠïG“)b8÷–vÇIZÄÜÀ‚æo
!oÊì›V$„:SÃ'2uo4-Èx&•|m¡N îf|† ¹ì\¹ƒ™cÄ¥@]âûáܳޗØÏ”áP÷òÐ`{¨Pv°t‚ƒ.I“ΛžKwÈ•:ÔkúÐl Š{-k¿7hÇ’ì$ÍrBBpœ@)ýÙÈr Ûíyk»`äv8¿¶]Ðw\ -1Ç¢4Ö}(¸ -Œ¸|©BÛŸF©ÊÓÑfå/£¡7ßÀ4dK—Šw˜VÇŸÐâ»®Tõ½“-?½íw©È*Ûõkâï6®„èlÅÎk©è½:*øj£÷àþ®7´ñÛsž/ßW[ï0¦¾žˆ±öêdŒé‡mX'cìvu2Æzë¥Þ+Ðv6ƾ€Hÿ«k<}Û•Ÿblq<-½±‹®†Ç>òÄ—*´Ÿe>TÅÞ«Ðw§E£÷´)ÓcßUoñ`{È7*Vǯ±#>bÌ/ß¿ÆÑûKì>¹ïóýŸâ~è¨ ‚·Om·
šöy
pUä¯<¡éÛSl@ÙR{:TÚbj¶ÔV‡¿¦º/ë¶=ºúäQ|cN˜‡,
_ýݲqËÆë‡\wŒxHóxLsMrSÿë«0ñõ¢xÄ…QqŒ§Àˆ9zF‡{´…±!SBv5h¯àäòq‰f[Ú™má.0Ýâa7l» -‹ZÈ*kÿÈ1¥ÛnY3”²·›‚5Ê!{š¼7®:<±zHgfuDb0[ÏX‚2ëÜG9KPçûøJ‚Âã“s2ŠK%Ç8#.>Ûú¼qàÀ`±Rçø‹(‰~kòÐ'GÉ€T:"ÒMóÕé!n*P}†YŒÎŸC½Skkî<Òæ`§ÖYüЬª-5ô<fhÛ5ÔJÙèÃqü(?KñºÊøz5I8E’¶ÇzMŸ"bR,©¨GåéO¹YXÆ|1„ÑÄ% -í,8PeøVö#³¡RÖèÙkqŽ>ù_hìðŽÆ?tBÉwɉòt~¹ÉßäWwÇ -à U¤ŒÕÔ{Á+ NoÓx-úR5³ Íz -……ô*”ò¨¦HVPr’ŒEJÑ1±˜©U£Œm¤ØŽ x„vµ -®B‹S±êX³ò>Qc¤ÕÃä)›_Ã"ïyY‰ S
G—~󘓼&$ õ½}ÔbN[hø˜!µøAõ.+àßÔoþª`.øˆjþGÞD-’¡ðõV6Ï(Ež¦ãgôà»DO+˜’ëÁã—«Pq-!—‡0"0<Ið*ÑÈÀÕ%àˆÇ½p÷B]„߈]¬Aéª0à C2l›éYžÏXÇÁ`“LÓ£E2»À,Ÿ.“ï)M²l¾JVé(tºH—«ù"¥Ë³ùF R²ã«°¿K~ 0 -H‰ÌWÛnÜÈýþó Àz–ÝMv7… -ciwج›Í}ÚýëÂ?3ôg}‹‰¿6WõîxVŸÇÒÅZ[ß໕’þã+žÉ»ÛÃc½Ù_öÝm½Ûe]Ûõ»?ûRmü·Õ=f*ÿïuÛv¿ûi[Ý~òà†hU6m7~¬öX,½òFÈUzhÚõ»ÃãǾPÚаZ±É_w°³tMÃfõæ#×õ~µ‚|xõ:].ƒŒW®êû†÷žúÇé`¶ï¶Uÿ ÏžÅôÇŽss7õ㶅GÙJžG¾ˆpš®†»ðÎK* é3ó]¦s¬ÇûfÕŸ›ú÷ÿ]·©’~íö&ƒÀÝÌÕ¡û_7ÍëÓ4;G¼íÖu‹û§ç˶â÷gˆùìn¸©úûzmíÚÞ#ÎŽpô/Õ—švK8‚÷ÛzsÓýÆk<¡/b_â,òÔ~ìl¡0&Æ‘WŒK"#db´]<¹ÄV½ï›ûfs1¬Ì¬^÷ÍzÞ>#ç?6}nŸxü¸uâ•÷ûz3¬“½]BpþöœÅfuä÷Å<"`ƒàh»{77]ó?lÝúùû -[tÙ7²é½ã»ºl˜zÝw‡í›Í]ç½rÉ~ÓW·¸ÍÿñŸõí;ÌWׇf_ŸWÍöô«†ðZ}í»I<Ì_Çÿß~:¯ïPóãn´Ø|®Ûn»0;T›µÿ·ªß~Ûôe[mªÞçñÉò/ÍgÌTðÑl{û/ŒVûHB½Yï&›îë±=7öm{×·½Ÿö‡ÝƒÓuídöxj²>ó(Ýÿcp\ò›÷ç çLÃ
O™ ?îþcLþÈÖ³ªm›û¾Ú>4·/¼0?1¹¹ÿ%°¾<~ìÚf÷8ÇÓbä²ê÷Ím[_ÙíëǯY#oÜ5›5‘Eg^m÷¸¥Âî_?TÛšmîJ¾óz2 ŒKé;;ûŠ&*í§›Åüë¾Z7[ô)Y·Ýb W¨ÚSïÉw|è§kïƒ÷g/ C -¶‹J%…B†‘08kaH)9£ - ”Eï/ô#£˜"0À2CÆ€U÷–lΙ"#VÆ@"S™É\ø”!ˆN)ªHtnVÅ*Q©ÊT¡rUÂA"T¡;thBÆ@¦aæa”pˆðxyQéÈD6J¢È¢<*áSr…ÔJ‡ü /™7d^ý„7³ã•ÌWOÜ3óÄK¬xm3/±ÌJœJGZk£Žu¢3ëB—Øca” 6ÆX›Äd&7…)±óÂÃrBYmµ6±©ÍlnK„ƒŒ^?r»ñÿ¿A~’ŽÈ2 fXÀ04!C’AqŒØ$3Ntä@ÆHˆ0lDEv½@dœ”\¼ñrwd@ -$ŒÀ¦äØ5~‰1˜ìÄN–g‘¥““ë!“‡¹Ê%“²¼ô°ò<£#Í’,Îl†Étea¦2är-€› -ZRš¥iš¤qŠPIMªûaŠ`N%2>€#‹$÷°ê,I“$‰ÄTbDI˜ ê qp»AôØâθgæ™wdXœIæMŒ3³a_¼~†§“8ŽmlbGn… q€=/àßo”Øi`‘
)7$T-@8p~fR$OŒ$2H¦ÈPŠ‡þÉ*í)ÓI»KXá)9ÿIyĤ<ôq:`X bV§k©Bá‘4°8,Âéä P¢A,œ`8ăh9¤ŒŒÎþÈ((—àMi -)Š…¦¤Gª"YW"V–Q[fupÞR\b’Ž¦¼X(@b°11¶(£Hņ•Ø: ÇÐ{hصØÚ[œa¯‹¤D™ˆ€Ð#ñE@X„F‚ É,EZf‚GŸ!‚Is@[X’¥üZà$FâL˜±<bŒ8„ˆsd,NIœLxDê9Ö#^b9¨„wŽ@/‘oûò'B6ZdfŠø/ò’2Z ±÷t)m‘Ú)§z ÍQÐ"…¤çÙ1ê´8‚œ ÀÜ,€±ôç\ñ¹úz(¿®ÜÏ%x,ò)÷‚‹º«äç€]”Þrˆ~5F½Ç!ŸÅoYúæ¢GáYò% -+É–dk.ïgº5«Ç¨K™”Ë[ˆÈ$#³,´Ë<×.•¥ž@Q¼AR¢r$+KaqÒB¯µP¦¯kÓ‹êô\œ¼cuBrJ$)v¥¬€3¤o‰lÒR[¡m:@™+P2dR‚—°hk4ÚŒÐCË!Ñxƒ»B:’`,kiÂî‰0€RQ•ñk
ÌÌ=0?å~Êþ”Z-ÀVðÒ^ZÖøJg$±š%—‰@H’=Df†M¸M´Ôs"vCD°D°(ðT—sOŠ8…]êüšÔ9pëÊ=!U9Í0jÙbnÛ\ÃHÍÚ7Ê1µC÷(§..õ–½Šðu"’2"BÁņ˻$%çËG>4<Áƒ6ÁÉh5÷'ÑÔ—¨¡/Ì=Ó×ê¦\e§ŽIóY@¦4+)7(‘kQ¼±CÁ‚2,•ÒZ"sNâ)ì~ -C6„Gèe0Œè^hAÈ'fî„ÐÏkýî–y½J@›È¨(V¸÷UR#Ž‰A\\HDcL¯Ä¡“ßØó -ýƒ@¿bK& -Là•Á -gî·Ìá„o-@®c''£Œ:õ1ýYÅ4î é ù'yâ¤Ùp(/qãÈ>œØ‘ûXÎfòüGÐQªjÈZÆ‘Ð|gj)xW²Z*Y/i-—´F|3n¢ÚÀ›JTyj@*ŠnhˆÐŸ„HËßȲ¡‹}×|ð[/óâ²g—Û寖0–0± -Šý+(X-F0ø2%e g(*6ä’1TGSä™1ÛÊ%l$”_9Ÿ(Ÿ9Ÿ!_0ß½Àü±`¾€~, Ϩ¯ -ëí£¯”^˜Ÿãc»Á~"vbö -ÿ•ÜÁîŠWr@Ïí@ æåjËä’ºO×2À%XÙãJÅIJ2Kåñš*»l™\¨\f%ó–éùÀ³YÙ"3½púT[•œå’ØCgìùˆ9Pí"Õzı„¡—¼ïr¸õhÓr¨õ0=ŸR='CÚ,6ñ‰Åä2Ÿ]I•¤#”RW@žÓ—ƒåk›À_÷Š—yœF6~;áa3èm¶3nAÞÝag}ñ–ɉ£.¦Ÿ9(Ó‡å[özW -ÎÅÁ‰ø“’N$¬DŸ8Gd´Kâ|A¸N©Ã3gN#ƒ{‚ÀÉZªí`¹â7ÜhÛ6“&ó»þ’Âç]ÑQpiÀ -èxPDn¼ž¬¾Œ‘uƒ…ŠÌ29ë+l«²œ-ö%~Ù£rñ%ò#v!¶Ÿ–í¦ç˜1J$†•bq¹`€dùë@'wOû‘ÎcÝpØÛúd¾ê™•L²‡x[ˆ•Æ§†<d„öHo¥¦žq$$¿¯VÉb§±„éJs{ÏÈbã4 õ86Êd-¿È`Ì¢ÀRÊM1‹ÁŠ½ŠÁ’½ŠÁ†b°V–’`? ä…*ø„‰šÀÙ¥ -µ™¡ÇºÌFe£ºm]³V7ª+W•ŠªnYU*ªzeU75•’ª?^SxÀü^Ù¯¸²·Ê¢æÖYÔœeQš«Ž¾sõF®KÁó|÷KRæ?q÷ða›2Ïßáµï)óž2ï)óž2ï)óž2o±à=eÞSæ=eÞ³ÈW“Eî•ýZ+»I™4¹þÚ÷÷N¶Ÿ2ßþúŸç&xøù—æßOïOÇçç#’æ¥wñNÒ&6„í´-nÚè@u¼Q£é&zOÕÅÆÀ>ÐGy;¾étHµj7YdÝKS–iê2M]¦©Ë4u™¦.ƒcÓ8¶6@†¾éÜÐi7¹ùÒ"œ×-‹‹lg±Õ®‰ñÐ9›n¶ñë¿p“ý§pIü7\ôKà_§ÓÃÍûòVc ÿo¢œ^äÿ½¢QÀ“–EQÎòÃæq«q(¶üÏD³«OáIZD²„<«OߣGˆŒ@äø-œ7Ö˜®
ÛïÁ©L‡´å{øp’ß3ôÃgßú‰¿‡hEgŠ|…Ô°¥yÆÓà÷: 4ÙŒ5–¿šH‚jo×â¼v!–<}SŸþÿì—ÉŽô¶…Ÿ€ïPɦÁy¼!5YYeaø
Ëü'ïœ{H©¤ªê¶Ý]1Œ y ¡4Ü¢(ñÜïŽ òô=Ÿþ²=Ç5H´/ű7ô±Þ˜$Ðô„ÞŒ@£7ò†/ÛAä
¸ =¢ýxoˆM“NFh·M™¶(μTE<Äú²×™P?t®[9ë, À³ˆ„xà‚P<TQ˜‚†®Ó}Aºöèøç6ÍÛ»Óöÿé³¹N-1õAŠÔ©’¬‹6ÉàBêa“øè"¯Èmy<Š‘¹Wxàiù‰à?€¬TŒô=šsœÝNš|#@Äq7ô±î%YLùpìã3£ö~>ã©Ÿ=Šž$åñ$)2I†U7ßÚéÚÃÿú†oê §ê3àAþ}Rï½ñ÷ ˆBOÉê7Èþ’ÔØ1oH¿¦y½—Âj9éܦƒÚ®º«ìÊ] -«4©0$™É
¡ÂÍžõ´-ü§Þ$)JBDfe(Qq -Ÿe'é¶Rº'wJ«PiJ-B¡yÈ©f›t]ë‚g˜p]J5ÖP}uÕJ^+kYðdSi8YJ.©Ä/¶˜¢ó‚§m¹ä¬rÊ1ûì²Í&xò)50MN)…ä’‡¬qA*à¥m„G5¾ý9´PC - üà‚ñ+F©)_<2ƒ÷HîÚ°ê -|8 X§…¶mµÅFÉÉVã¥OHÄÙãŒA¢[tÓEã_‘Ëqz¤ð'O–å3à4àüM¯I~´7U_Q9K|§t§ø†Â&Åͱ¹ƒÈ‡=‘Ùµ!¶Ì²uÛ*Yly>iØŽkT¥¦gå$e -¬“r‘ -P_vNZ_[ -Ó×¾±+f9à|¸¾Øå„¥a
ó²UqúW›±†éØ4 -Ÿ‘…ɺQ°N¥3,.I% -†7乌‘?ÉҰκV!ë“ÛgÀÏ€”€Ó ²JµµÅ5Q@ƒ5¬´&8CŸÈÒV@¸i©àg•,eIjIP§kñ0O#é¸ð6¸«³ -XpѼX"yð—X&à§Õ`¯i°W&{9$°ÉKØKÈ+ÈK¸k…„¼*Ntð"v©îò0^3Èk{ y’—…³ƒ¼ -ØË“½,,if’ËÌ<^‘¾Z}¡•ûÁ_+}¸ÀlÅhÅVçn£ôLW\ᆕ6æüsõð]²G©óÏKdþÅ”ÿPêðãí -qzEí,5vÊPÝ•ï”N -'íL¥r\eìµéMfÝu-Y÷RÐLC(¿IdJmÊTŠCÚxnã -sGq]•n”oTNªéª¸™vÍ»–]ë¦},¶f‡6ï…}(¬ÂPw—Ímº÷tªTcå$êƵ°ª‚8„=¶U,¿1O»Œ,Ñmu³Ýƺnb•'¾Jõ'U oí5¢gåkÊÌ*³²þœX“.£|5£Øõ‚4`˜–ɾø -ªi`›Ù/€Hy#½qÁ«¨”BH4Œ–°â
tÖ˜BŒ@§K¬À¨ €¸€I5ÆŲBŠÀìjÀ¯Y;W–E7=à,åLky²x‘]÷% -ó—o¾k?«*sÑý’Ò%^‚¾åÄßÕ7ßÝŸhÿWÇЦò“vç;nOžï²ù¥àK¹Äð‚n½½b»§\~‘¡¿x\‚bâtóƒÓ¸S¿äCl§å‹¸àÚY%Xþ£÷˜× ;&cÏ_¬ìFÄÊ8¸ÅÿXô¢Íê›ú·ðÝòõË_þþËO?|ýO?Ð~øñ§¯Û¡¿\þô¯_¿ÿ×_.?ŽCT2V#4÷^á·ª×[óJ-Ý·éu1³Á8ÃǨpq—Dòt±îsôÃK/·B(ƒ`¨Ë&$ù -ÚH˜¤2×}¿—e ‹ÂQ$^ÈéV¦lŸ…ÛÌ{ÚcØ}«þo¹ï#ÿ}¨ë4úVq·ÖÇžo£¿™Î¨.™E$ˆ¥÷2rê%ä1<ïøÀç‹1ÂÇ„QK¬{¥â]ÆHg[ð´ž½bF$`dFÈô'Üzy~²ñÜGÀ×õ…߯ñÅðóÖ>Ã=ùyØ»ŽòÉ“0E-.¸5‹é5eêX9VÀÀ×½ëtÈÙŽ‰gí`ÝK²9K kO>¨÷æó„ù°e„Ç–Ä2ÂfZšINHrDÞ?=ùð>¼ŒO>»,¬ÅÄȲÙ6;Ù™df9…"<¢ªñ)¯$¡„H¨Lÿ}Oð‰]Rz¹|a×{gWLá™é»KRøľ§q¦rÍTÞZÇåZ'jE5ŠÃžì{éP"Æñ«·Û¢1î׎ò¶æ<צ½×šuûnŠÛÞc¢ˆã7d[_·ö´Ýdö;¬ºîîÛó-îÁÛ•~td~«S·ÃÅ -éQã9õðÔ¹å;½vRD¸£^öë¥öÝò©gú¿È̵“§1Iή0¦…Æä™3òa•|[20&©’^Öڒ£-I9Ôli¶$åE/Q¤YiJÝ2+ŒÖ‹ -XÑfCçâ¿ì—͎丄Ÿ ß¡.Ø—†HQ¢dÌE)ÃgÃ'Ì`±÷aí÷‡#3IŠR©ºgªË‹A»è*–~(JÍü!Ô¡-Ú42 0Èß*f¥¶+Ë4–1Ù•X‚CCUzWÑIˆÐ1¦(¡abAœ`+‚…MÑBâ’¤•—´Áyc@â‘9ø“GVà2ŹÑOI#Y-r‰I„tQ:‰)}úìW¼„ýæa³ÜAbç- Ô°L°¾‰V?å[ÚÙô!û˜¢v±"mç_¶$ZËiû©'¤ÐYö¹u§{e™¡[*uW’Ipu^êðx›¨4ëûðäzs‡Ò»é°“Ð4a¦Fx&6ë]°À’K~‰±Äû›âü1!9j€’”à¥ÙEqJMòICòH!ù#F’K¶(Û¡UhÄ<r$˯—•ŠGŠÀˆq´¡H“Ó,©I!”ù#¾LØò g’ON#pð±5SW(3 -efP†©2ƒ*‹™*˜´IxÚÄ’£°cHÔ˜)¡ÆœQeB…”½+åÝ˧OÅÅ妵 51-#¾z£ô>-ºÍ‹Ä7´"¥fLZU[:
¦´,Ú*›ÚºwÛÑÕ[G¢r‹ê¢Ðn*Òóè¸;Ø.È¿+ÉÓ\_É¢«vþã¢CGñø6ïïðAz7n`zàö=š$+j…‰N¸Øs “<É|äÊÄþM¢¥‘pé–ñR}Ü"ÀT/§Ðôvd¶ iàè\‚g6#n™ãf„jàdo—Ý-3;¼-prÜT ö”l;šÐs¼Œ•ËÓT£!€Qw
×VÔm€%!ì”ÌS6™=–YË´eÞºÂÛÚíÍIì÷Xð{þBà/xSmüº"%ò¦ñ l„¿¹(ÁZñDŠò£L†ûkj¯än‹Ò -qT¯¨4ýcDêèÝu(`Z×5 -”†Œ¤¤!áˆ=y”¬ (* -0ÄêP@PãGá£èÉà™uúDåM¦†h3MBŒ²%“¥ª0SšD“L’Q"üt -–äR˜>ž*ølè‰ÉcÌÉJ(t2q”7m”5‰3”0“!£ˆ©Ù’¸R1%ód#Ibム-;6bÔœP:Ô@Ø—þ±²K•ËÉõEÅ‘íìJ[ ÷¦ -RûÙ«Y¯ÏDM¸©åD:ßÝL÷ŠnïÝ{á»ï`r—O_æß©yj°µæ¥†ê»àŸØþ´cižü`ÜhÐLã¬å=0O¦EÃ:ÔŠG£17À›Ñ]ø,Ó_úK×\P ÜëßéÓ—÷:ÿ›ÐÔ_pagpÁ0æ{Éç?õô手ùÒº'Áí®;?c½G¯í/¶yjíèO®?žQ®÷^¢Ù_´íÆ™s OÓߺ/ñùë_ÿåëoßžÿ£;æo¿þöœwýåò§<?ÿò¯o_/¿¦]cû?ÓùntÝ^æ¯ø&¬"NV‘698SV“ÍÏ·Ôë÷¹7-3²ÔP—ãe[dw2'jn‹nàEKY'd‰NïŸXd±”Hu¬ã’9ø3„BúŽÒÖo¸ƒØ6¸ éZc«¶‰Å*§Ð³ß·?Ñ´$Çû˜*!ñ *Ÿb¥káR:x•yMZóåW,{¶#+Þnv(ÃOgÞ{ \·f¸õ8ìr¬º˜œ“£6‡Žf.žMŽàw4QðRÝ°àz¢8Õœ4U®ä³hkî%ÃÇij˜žó¶—9=b–Ϙñs/¿oPVjÃÉ4ïq)÷gÅ}y0†2.ãJýªƒ–áëƒhsI©jvC¹Þ†,Úš{ÉðÅåy)î¨Ä§lY¶mK`®Ò®0©Šq›ü^Ý<ÀÃ×7ÕEÛºX{Ž½©9:¢Ê=mÆêÔwítíÕND7”Uû³ÒÉÈL²;'ó©*ê{(3+Ϙæ–I/Yg˜ë{…B+ -2È‘``¡8
äBã=bð -½Â°ŽÝ|XÒÇL¤A¦8`ùÎÌcP2ŠÑAü2Œe¨ïç3ÐD¦™*@r÷x #ŸDÄ -3Ñd(d~&žÛÓ‚Ü…œ•c¡Hè<ênÃ40ÈdO‰n&Ðá)!®!ã‰T)+ÂáûŒ4”A²³xlEu_Aö£dÙ!
Y¡A.tè
ºìˆJ©±–&àä}•U!RR°t計´™kAòlñ¾É¦I-®Ç½&Ô-H®
²‘]ulëÐ¥¿+E°˜÷p§f
zöùªÉò¾|÷ëÛ›
íôKˆÕ?×¾¶—³Òù¢ 1ÿaÌ ö·b-˜p ÎüJƒ| ê
:3fZ2óÕ,‹Ú -‹Ql;†¥ -IÕsüíš¿™Eßfq³£5{˜¼X±™•J"ݶ§fa:Vdb1’;‹P³=›/±ñ`»á¹Ùp³ÛHkPš>#—‘ÇÈbd0Íö"se²tB²U€¬ -‰ -¯¢ÆíÍŠ*¬'Õ€›ÈLZ")ÜU`!5Ö‘>”/âw¡&9É]“Ÿœœ””´ãWñðá|Gùsíݼ1¤Òœ¶Øî<m¥ã.áñLÞíÐAþBÓíK{ì2qGÝ9Y‚sÒøÂn´”;‰oŠGí(]´v±;)Ñ´
Ï#J‹c‚vŽvY¼†aÒXU%c˜ò.µpMøø<ä_܇þüøó—ŸŸžÿš7”§OŸŸ—M?M?üöüüñ§ÇéÓØ4)—7£4ºú”® W¥ðÅÁ+á3K_jšÐ4…GB3kð6¨c+jÇ#ã†Mçi½CgÚÉå=ZŸôøÉŒôÑ</ÆE;NPp¢´.t¼~êgíƒJ£Ÿy0ÂqÃÿnßÚ[ϯʡ¥#‡n[꫹CKmvð[¤ -ÎýÊ -›ó¿ðÊßr×o~ÓåW1Ñ«è6¯âWVf¶¯Ñ7k€i˜~_î¿×‚W&r/C¼ù¥‚ï¼ÜþR’Ü¿ór/x/øï.ØÏhê²!‹}FæYˆƒ -b`*¡x„B[LQyŸ;*×\â£È‘wÛ-K -š6™$qß14#Œz^‹ˆ*q)¡5"ÀZDY‰þ¨È¸y×zã•ëHY¸ä¼³NcÒÞ0e§pæ±wZM6Ñ8£Â=W5²6ø46UTDH°JË.‹L2 @|¨î -»ü?+¸˜£T°xãfq¹Å²YÔ°Ûaè$1³L0òX$¦+ÑÕ(OÇV†\ÁìhD
•@Q œ -|DF -R"-i´‚˜ë©¨Eå!)j§hMÆ—ð-~2¤Y[Î8¦üË,ìݧv÷‚÷‚÷‚÷‚ÿLARX¯ï˽à÷Z°½ñ¶æ— -¾ï²çô%ÌòâÂFõô5ÄX1_Á^Å#ø¿@¸@<#mû¼¡œP7´NºuLÞï³°o\P݆øêný*!æ?W°WqñÒúµ"lˆÒ yE™ü§húã@_úbYôÀp~¹g 2‰Ée™ÊÌ1°ƒÙÔ…sm-ƒ -Ð?øp'¬$ílâsJ£¶“ƪò(Ãtè‚[ã¼¥‰‡ü‹ûПþòññóÓó_ó†òôéóó²é§é‡ßžŸ?þñô8}›&e~·¢°Ê#]‰Ä€ÂJBW9ˆê¸
«ôÛÇSþö
Ž5-MF—ñ¶ùñÎM&êN~CRÜA“~ÝÛ7VOú•½Æ“Tæ
ç_*Üx~µƒCÂ[Î?*Üv~ù†3¿ù-——_sIï¹ù§Þó›^Û•#ol}ÃãÒf‡¯n¤ -7ž{UáïuqßG/‹;{Y®®Ìœ¿,ߨÁ>¶ïÊ÷R°(S–··ˆóMƒtBü*á€{¿Ám°Ì^oP+¤˜CPßX–v ȃÄD&<‚,˜<›Æ´œR€$¸·çŠUPLM1$0·ÅÔÒc‚é0þ/ùå’Û0Ñè.ÔߺÑǾÿ‘úH»vÐEÙU+ -éaÞ(‘+Ü{u -í/yê\+T -ñB§eHU1^L¡;{OXÊ
°àrxÁij¡;ô;¹ßaað*ÎÐq„‘}º²s´ =·V!i@¦!¡'‹ïPw…¿ð{´ó&ÿ’Ì^`÷Ç]ÚaûãW˜?ÂþB¡Çé„JTHÄÉBÝfê©9˜´:bÉ"¢tK!Œ„(´p‘~™¨QB¹¿:yúcÉ.›TÝU‚# -$þá¬òoÔÙðYÃ]oî{ÄKèôòµ_U¹×æ©ïJ?¿É¿Ê-ydNüÒ³Ævk»U.©S‘3»ª¼ê¡çœ¶O7m¦bʦh:=¬ÒÚL§#¡ë:\ÌÎ;G‹½¸Á†––ŠÐšÙzÃØ Eä›ÇØ:ÒôÀÝáîÓßeK\-®†:¬¨³vLÞÌ昵ÆËèŵécØ=_†÷ùpxþÀõÓ|ßÌù9§O -H‰ì—I¯ä¶…ÿCmp6âL -Ê+«ŒRJÊš, É(½Ä?H
°-}© /øÅ-øïC-R,ØÄ_Äg±¤÷åcÀg oE¼ý«÷2âðÑó\x
{b̈ËaË“Ë<ÜwD3§ÏbîÖ‡Ãêði¼§A×=Ç÷fbûp<›q)_×aΟÜÐñ[žKî*ÿxŽü·=þðnTãsó°?|)ì\‡
»Üé»,v÷ÎMµ»ÝeÚC5É
VäÆÜv.ñÎÛÇ€~ø4 »„’ïËeÀÝ&Ôÿ¶é3âºkb^Ä>ƒÊðÂx íÈ„/nu£MúÊ–äd\̺B 6ŽñL`"“˜ -SAcºî¼8J†ê@ã„nA2PAC®ï3$—JÓO¬µx@´ d[„ ÙÎ˵D5o:ç]p$—]qÕ5×±ÂK”•.Äxë÷>øè“Ͼøæ{XD¨´Æ‰Ùà‚1¤C 54d‰ºëh1ª!¦˜c‰-vdR…JØä’O1¥TRM=/¸Zd›]9æœKneAƒ¡‹-®„’J.µô*q‡Lu5ÔTsµ7‰"Úæ[l¹ÕÖÑšèn»ï±gÑkïì/Ï»ßÎo@-Œ~G̘áoÙ싸;bÿEs&\ˆ'ÒÁZ[);êFÛè+»ð/'ÓÈ„61Ï~ÝܬŸ¢%ÙÆ)]/Q˜Ê&:)YL1KvÅá>CÔ$k6I{7É›>$‘³Ì‡Ð§ÔŸ©}è}(ž4_ëáߥïCØäÏúj‚ëºú@œNP§HvÃnØ2;Bƒ#HòÞáÿWS¨¹ ö…»0œ! -{ÃoÐì¾FøC©ýAáî‡H´6=ÂàêCO{—ˆï¼}øì–ÞŠxûW'ùeÄeWy•úM`._éW0ßÏÈœPÄVôŽ£5Ù
·Ão„ WDð˺åI™ÔI›tú[Xƒƒ—8¿ -<
[bG!ƒ€DË” ñÇVX´-Ós‡zI¿’SE!öSÁîæ -|†„«žxÑÏ¥°¼¡ÜÒY䇀!uC~È‚÷ˆ‘eOÿW²Acý/€<€Âù -O+ØÍÙ'ø®{ðÓó7ÖßãOäÐ7ƒ¯,R~üà0~¹<Ÿ¸¨0xpF)‹7‹Gñf‘ÁÑ!©¢‘ôFÙ”¡3¹ñ~‡Qƒ¿m5y¯ápf¹ŠOéoöKûþõ¯¿üøõçoßÿ=väo?ýü}ÝõçÛÿøþýÇ}ûzûiîºIÿ'ñp/!ÅMý,úqk¸÷s b.8̃ù¡ú‚ùÒ0o2fPÀlr˜WsLÖŽ9W1¦¢ÇÄ´óTU‰¹Û0æµÇ<7˜øª,D…H$ã!#u©,¡¿†ÉŸ Ù -v|`MLqØŽtuk‡=’!{énE~EŽEžUFò™†«`¯\,Ë.F¿Wìep3ö³.7àju8›`sƒ}ÃàÂ(0ltdudv°;^§¤²pÀ¡ŒÄ,±Â©Mã{gÅì-wÅ™¨‰|†çÌòmžzrWü‘ÄukÔÀ¢U‰¨PFÅ*ª×qBÅÑ(³EÑ=nBÄMɸ]•î"Nœæ€Æ"bI«C“‰õD2ê,År°<óÏ÷̳sš§±â~×r§¸Çͳ»íb6¶hjgGf7[¶Nvô±k{ïaìÚ¾ŠúW{í`9C¯=¬ÝºØ´ö±¹¯¬ž½¬ŸÝlž·Ï¨«9æºq)àN·}K¶#×z1cíj/‘vhgžý,xbü…‡*¿`öˆmvŸQ®ÛuÖviœiê…ò -»^¶þíð¾Õ†_®V:,v˜ï0å²¹øp÷.h%€åI~¬ë‡æ•Æð"4–&ÇË-f‘SWâü•9Œ5žóˈ.b¦üB=ià„—g‚A†áÓ—š6Ëá1p¬¤&·qEå¸PÚV?>—n—î—¯—.øê˵ƒùO붖a0níº*;õb.åaVe˜<)L4¦è‚øB¡±€”ä–t§0ÚÓhPbT M‡´eP.…ÿ\\‡UD²Œh¡eE[èZ“wK¬b¯|†ð#2ž‡
X˜Fö“h—ϬÌí^àÖβv¸]àf`t -ŒK0ÀÚ!ì¨7Ô™ÕÆ£äŒÏÕg…ÙFPh - ªÈ ˜?AMDg QI¯ƒú2ŽŽÀë¤UZÕE‹Æå±FO?êá¼n~† §ÿ»²j»ÁŠ »À<Y[";E×ÚàæK)•ç`³È¬÷h”f˜e°>—³!œÞ[§Eë¤U2X¦ë"½ºD¯¬P»>iZÌ×/Vèº>íêÔõ1¯,Ðe‰ë -ÈÒñGÁߊ8½ -À(ú@¤ÐdJbST/HÒ²jURzÙ¹Ú¾u¤ˆI°ÝövÃÿ€×í [s^zÔ½š/Óô,s§jÝÖTzVÜ -ÛÚJ«2m¡ªý2Öu@óè—' (2€…J(9›YÐeß6ˆÁ²%䯨6!ƒÊÛV©zSPNʾA™ÖAk@×"5ìÊfj6hÐ -–3šIwhÜ -Kн¨´6)¯
¸
2ïJm¤s†„HéT*PoØÔ~ÖÒ|rë™JãaßÉ]g-5çAQ4ßÚEƒÍé¾+¾]Í×tEIVŽtÊr’½µhc”ŽNÒZ\›ï´Ýìl… -T“¶ÙÕ²uÔªZ¥jk:ÑQ~jÍ1ò'4Œò ^˜°J“»f:ˆE&†}–¥ÅËèf41ù QÝ ;DÏVÊØ"GD±”"'!Š˜…«A‹eÈ4 -¹Ø¡•Œ²øç
hAÇR®H/;„Ô‚¨2Žm=ÈAá"¯PkAî$w ºG@Š ~BôZ!»êZh -¯,l9XYhîÑPéçÊÃ{Ll¹x°1˜BÈLɃ”™–™˜™š '¸Ivf~f†’£™¥˜ -®Ñ•„%eIZÒ–Ä%u£’J‘x‘9rÇѬ¦çFžC±ÛÙUÐôMš.GC“+GýäëŒ~åŒéJ¾œJÂÌ)3¿ç¼JÞŒ%kÎ%k6G¦ žkIš[Éš]~/™Ó–¼Ù+“8¼Ox÷9eâ'ÚÁpëo"|VYêû*įZ©Èú;%Y¾òû .
4©É€¤‰Aj̢nj½NJO«ˆ²Ñ5™¨´p9÷¢ÉCú@¤ÐdðF&±‰|¢Ã¥Â*úÜF‹nÔÊÊõè{t>Ò„#åHº`À»¨$öÔ£ÞÈ×Õ¶•ï«4ÕÉ4½éDóµ?©n…m-I¥™¦ùŒÒ¤'4÷Ç'¦%LA ôR.V¶t Üfu_{ÏÑzÎÎSÏýÂc UáEãÙkç™›Ö36½g+Ígf÷”NGù1xÈá™
h)(¨¹Òƒ¬šÐ¦.” âbîÕˆFu"«V´©%?U#¯r4ªY¤
ª¹À@Ø‘‚Z’+=ɪ)m¥+ÍjK–ärc2Ø–¦Mµ)©8U'§òÔ«>í*P‹*TT‰šT£l‘U“Ú¤‰»!,T[7HW:ÕªUJ4cëƒ$ËIÊz¬]8ÊÚ¥£ÓQ´LiZ?š¦Üõ–}TÜ^ (–ª»É,mþQy£Œ…ã¼Æ
£<¨&,q]ºÕ&t‹Lû,KŠ—Ñ.Ìh(bòA¢ºvˆžMNI-rÎYH"–ˆ&âi’ÅŽšAÈ"¶¬!ÓTÐ6Œ0[5‚p#à‚ü{ì<BC²f0Hn†Àûç×G£@IX˜„&ÁIx ½Ò„%õUó6•p%`“áׂ°Kô¿Dð(ï…c›uDMp¢‰i¢:ñöùí<Ù -nV6u O¡Í4çAˆ–4¸ù2ØFXÎÕv0ÙLêò +Ã…ZÀG2+~ÕBbE`g¡6ˆë„í1QAuAÅ%ØY,©då„ÛþÈÒ±ƒïP·§n×rž/ÖŽ[±Ó¿¹Í”\Ae]›©°”3ªÂ:¨Å;™O™p),I 6Gês(t«ô;j„L9Ö#uÈÌ–ëeÓè’ì'Òpíp-ôXapêwœ¿ t¸L!õ‡ª^æ3ðŒŒ:ù&3׬L4SŒc~ñÜŒ‰[má^Ú¹o,÷É_àÏ’ -Ïð+zl÷ªmÑs#:Ï£ÿ",£Wt嬇EçŒØØÖ0²Ö3k)E“òXÃÙOœ\äÃÏÐﵧKkÑ”#úÖÃDÌ*Ã,ð lÃå· úÜàçÐÓ5‰L'‘ô„…%Wr©°ìA*¶$i%vqmâÞd=Ý,IœÖ¾|gÇÞ?DeEËD/„_À -\iìàY\˜BX}ïxŸn>tp¹8²4².+×Är=×b‘•À:È*È -dTÃãZ=°à(6=¢ÈÑ Æ‹T—•`ÞxjE)PÅGáwÌÓ‚Û&p\Ù- ½[ÓÁ¬zV>£ÚRéðȋYV)éÆJö5¬\Y½Ç‰NÿXήœåÝò½ž-7~9kŸg^ñlú?ô¬[b<úê{š&W~vœôðº}LÙA±¯|/•.U-U®ú"Ô_º›‡|æ+§ô–±ZÅ«A<Œ°'
áp1ƒ_Õúùbü½ÞÌ×—䣽ù7«<?’ü=UjfK
Ö®j”ËLvÄøK -ÙYQ{髉¾Úç«q¾˜æ›[æÔM3Ê· -ôæø抯Žøê…£¹Øà«ÿ½:ß«çíü.'Ê™>&æ˼±3i,Ì {3€%'”Ëá7(ûNm_À§{9bG{ìë18ƒ§üQ„~ÁÆÏP‡ðEð-ÐÆ^›i§"}ÙÄ=cÙØ;4`…Ìc6X¡ðhê‚a¡™°:XË«:ÓÈJ{®ºCáTÙ7ê¹4KâD[Ô;cž†<Ù÷5ßÙN“æ:Mug¢cž3%Îi–;sœ/•k‚ëÒÛZjªUÕºJeY[SÊ«ÖK‘µÌZh-µ›ål©8jÞ«Ìw×Ë 31‹zÝÁ¶Ž
´§¶1€ -%"Xzÿö1Ó€{út(êÍY×õŠ¹zç%ƒ‚Œäˆ-gçVrgT5±üRxË’£Ø†uÅSZºÊ
•búÊÚŒR8-™¶¡£¹”ú\а ÷ö»5ŸXîÒ~Ú|Ï[oí[OïÞvµéjËÕ†ƒÆ’ƒÑ!Ò®ô‚ÉÐ -0«)‚×c.ȉt¤TD…Ò“£6 -„^#)@mÏJÖZÈ\3Ù+3Ür˜J§ˆ§£óÈgý‚z0›!¹QOµežIuŽÎeCGg£.G jP m’¬7ÅAuÅ)pö
¼E–ãÔ»ªo¤iô¨FDU2-£Æ)`ø¶œj¾T?”S—šTÍG¢ê·$Uó~T…=IPì™Ñjƒ‚X@‹ÞAž!+Açgèý -ÕGÜ2Xe‹“Ì噺ìÁŒäµJöBjÐD’¿¦’Às¯f^Í»–Y·D1Ã;—4¶—dûN"ãJ/œ¨Àw<Ýå˜z˜ÖÝw¸<]{˜j÷;ìØ°>AK'æä'Hˆ'L¹ðOð„Þî0m3÷xgKs%ñ?Ç;Ôü&eËéqNÄGEãîã0Oåë[10ý_…ÿ:ÌÓÛïgù‡^emGû2¼fo_ä²ÜÃ¥üáâ„û†;òÝ¿™Ÿ~ù®ï.ÿ–ߎ—ÏvCM~ÈI.,b—ÇWÚ·]ÿÓß=Ÿ å!¤ q *ù}.Ÿ{’:E¹—õñüþÔ=ÂŒ¡Ï0B®eP±9PðƒÍœ -†qÆË0‡×ÀIµQBÿ$?:žGk8xTùžó'òjåJÊ“µrc„ºn:©=È¡}ÑV0ÅÉIíðÈP×{[MçWÁPÏúñ›¾ß^6óÓüWÿËþåÓ_þõë§ß?ùÞX>ÿöû—zëÏ/úû—/¿þóó§—ßÊ÷³yv¿3½,Ÿ°Åš'uŨ©Àã‘ZE^Ä—¨¬¼DkåÅŇ,>Ö¹õ8:f`°€¹áXp+\Ä7Õ‡µ˜`2ÌƾñCÅ–Ò”>q¤³J÷[ÊZŽ“K0Íš]$ÓÔ”ÓÇ%ÉrŒÅŒ:u®Ný¼ê_¡”ž-‚î&¸8Ý;àëV>EâojúiéW:w¸uþæ;®ìâÉzK¦¶4шæbØÒ•¦tcw)gQYK‹ê´”§ªÞ{q›¡éË[\ndÜÈ û@üîFÏ»k†¡ä×~Sÿëû~Ó(jZ --I³®El5ïW —•É5óÓ{3[6׳iÿ*]]®±úû«»ï½}ïì—WßzK¾Ðêæéå9ÈÁ"óÇÚ`›Øça§=æ=b
-üØ'”Msnß4èÅ Q2&¢q<Ê7êNº†¾‰Áolᯋe¯Õý¦;n+
Ô’ iQ°ÄÁëV|Ûì~Íú^s·zW_à¢ô¾p©ëHí.OÁÉ…÷¸T½›`J…_Uí¯æô:Ú)œÜüGÀ2»‘c
»[DzةÂôˆên¨?ÃÕ„‡g°c÷hÈpúd0Bv¤õ@{DL2ɽØ%CÒ½1HÝXö2vöÇŒ§Ï6äàuš1»âWœKƒx‚»tâ6ÿ8ÍNft ÓÛá©à?ÓæÅ-™5Ö›˜‰°xˆT´fD²éí ÛNH˜Y4Ùlg»ØØì^8jt“)$¥µv$5ÞHjíhj,RÒÔ}:ð4Ψ<©*ûÙ/~ó;#c\ð!bIs˜ÃÖ°Að@?3‚¾}1Æ„Åã׸hãÐhEž(n½¼]7PäªÌU¡«R'b·Š‰Þ>òÁÌj©w";¢xd0h -äXˆØ -yçCKˆ#¤Dk„-Þ7‚k"Ü™½Ü1Âfƒ¾ÚàlµÁa„bƒÍoXa3Æ’
&›Ö“ -O¬) -•p2D>Âì¦8láª-ΦH²»â@M·ÛâjÛØã°HciÜrvLõÌÙ -ßéøOØF¶¾ªÖjçÍÐ'ºÉ¸Ýîz°sešYyVL¬.VûÖ4.C®»œVíªÔZI,Íà¥ö\aÌÚ&øÏÀyž›à´
p–“ÀIþà—DÔ‡±ÌV.a1Ø.,<:ÿà}ì›GxÛƒ/3¶‚SÌà¸A!³á« -'Xx•'XÚÃÚX„0NXHL -?¬ðà -?¬p±Â¨½÷w´JT[‹Í…ÖáI†/:|^LqãKGíEŸ×ÏþC~úù›>»üß©;þ |ø¢hÿdóßðY|ç’ä§ùïöçüúåo¿ÿòå·¯¯ÿ)o,_ýíu{ë//úçëë/ÿúúåå×úÖKoþ,wßʼníËòñÿ:yýONxõ i9å¿¡I‚ö®Ü=Éå-_!?,¹ù•D
”'I‹,‰ªLUª’«$ëJº*_•°ÊØBÙÂY_X+;n ܊ܺsoånCÞ{úzÙ\,l^*‚}Ep00 -§Já©RØ“Âà°°Átì6ˆC±#ˆÖ¤ŽOFQYa8ìظ´(]}j> qÙv&V6G$[ y`¥ëˆeU"š#[’~ÿÔé1RƒbZ@꾬¸åj°NƪR¶Ø߬¯r»Æ]Ã!Ùaáͱ²«žüDé
aEÿ÷@Ë›š¯’Ë[Ó»InÞð’»Jî½y#ûÉÿMró«ÿµhšµVÍeÓ±nN,œZ9KgWkçÈâéu04ó°†4!¬¬ 82ÃÈ"ê17˜-àÂBšõ"@>?´«…y=ÒˆÚzF6Ñ’šQeÅàB1GÄbX¼Ž"ÆgFÊY0N ™'£Ã*
NoÄ`ètyŽäÄñ\„“šˆ«UGƒŒ;Äè`[Ž¸þ}P"`è !•eu -ÉiÅ(¸+½ffOŽè¡Ô›@—Æ$²&«#g$Ä@C
”B©µRÁYEâ]Ó¬ÇR©ÂÑ\µÅÒí2‡dé[qáïo8U÷·¨§Æ³Ïèf§”;›ç[ºÝ~ûç»ó[2Ï%oýÁ;õÉãæ„GjÆàkä>¤á»hØÕ7*ºRù"ìÜÒÅ]›çª‰qåP‰0Ùîø@êzÞ}Rßáa|þøãNX&¶cÚ,RàŒGœºŒc°Z#Q>ã -qC€+¾Þ -nÅvOd{…uE5AVD+žÎ+±\¬@.0V+ƒ•¿Ê^åna®òÖ -P«˜]À×ÂV¥ª5 -ÇôÄ %÷fR.Í«c=BÝÈ{xBà‹+lfÄB‹4åAè \\2äŠ4i*¤K‹Äå‘7§4 ¹ †&ÄQX×0¦â) ´Zì º-²zfºÕ”«éUD€a&ÖlÌ-Uwämƒ×lPâÅmÀ27êŸjxªë^~Òó\ñ ›Hsõ0NU5ÑK;Á®ÑóPø4SÆ7"éÝ +ûË›ƒãVKÛÛŒ©Mfë1G‡ÙLÓ_¶ö²U—^´¹àF¶æ2×æâjsékkɵµÌµµ8¶–b@Òõ¨,‚*Ų³ô%ÚX2Ë‚‘›0xãgÙXzm,XÄ̲²ÔªâYTF)‚à¤-%³¡,ì'ÝIJ—ôØ(´ŽdV‘…$°zX–Ðè`À€D¤¼YÀ“ -X•„]Ò`µ4 -MXÅÄR×c‹°Ø,&,,òOM?#Ó¬™FŸ„]Poù=S›w˜v†šrBM8‘Ùf©¦ ö&Úl35›õ¶óÞÝF›
ußW›HÔìÎ×Ja.ê/ÎƸ[Ù‹ÜEþ¢ ’ò£jºh¾h¹(¶’=Nžu=.aeí.Â>Xc%mŠqÔér0Y`Ÿ1¬ÅáƒÇ;ø®g(9٨Ǫ5¢'Ü«.r'´eIëŠMìÕÔ>#Ä’Ýë:X¶¯^S¼#x‚þaMóÈó‚'´ÒÍfOõêj·g{u·æûˆˆ”÷”_rþ–ô·¬´/ú—5ð—È¿…þmJðuÊ$l³P²ÿÐfÿ²àSè%o}.nÉ5o}.nÉ5o}.nÉ5o=Š[¤=Aº¤‘(Uú -ÒAãNè¾Ó“OWuûÏ“N ¢TÅ£X@ÓöÌÄ™;0w{z…û9©Â]ÒOá¥A¼DñÆ5Ža"/™¼¤ò6—Ÿ“ù“l~xE.f¹µÊ£\^\²ydwˆÀ"›AÎöPs”$¾ù¢¸B=Qaꆺ¹^Za3–ºÕ‡Êúëêcí98[‘½‘?iº+·{UÃiÁ–øx0ø´9³ÛEÐ)“pÓEBÑy#5Gõ†¢~Z@MÑÑ+ŽÀ -j¶žî4T•‡Uˆ«ÌUêN=Z¹[É[þ*}{!‚‹ÊƒqUübâ¸Er,+9WÝ®Õy%C#OÊ´jÖI˜ÞκÄñFjÉ¢²§ªXµÜºl÷UQ¨:^¹]¶Rî8”w””pü!MÛÏ¢D,nšé¾èwÁ]ÒÛ]#uþý8Lɦ*S6ï\!«f•µW…KÁ¨…+ùmô#}õ3Ž–ÎÚ¿Ypßy…†ÿµªOø‰îx_îþÃ'ŽŸ°¬dÇ›°Zl§Ûê„íuÁ6›°Ý®¸R#
¬«ZÌ1ÑNʈò\ÖàêD×{&8w““:O×` ŒˆÅ°xŽÒŒ1‹˜¼ŒÐÁT=&wÄ4;ŽÿD(ºp½ -AÝЖHÄñ‚½H!¼¢N){rל¬]þË~¹ìÈm3Qø øÚˆ7ï—À ddå…a`†™…“÷GN)µ¤éîLÏÁŸ?Õ’H‰—úês6£šLWÃtVÅêY§Õ¯ªÕ«V§šV—ššjµ§~µ¦ãbKEs¥fu¤qEßLV”hµ¡nµ ՀΫùÔ«ñä2+q¡U-gYíæRnÅ}ÁÅ+ÉZ³ØKnUóÀF»Òƒmy“`»¹×¸ÓpPÚéxÁ©i‘ßÉ´Kñ€Þ–ö´h'ê ¹U(;°y+¦ƒÆ†ƒÒN»á>D8~'wPË}µ"x6³gõìs.Iüí#þ6‰+7Ýk$.Ü°¯•xvɼMbóC¿D§b䣽4AÚÔÉÞh ÃÝ)œƒ
$‡08ñ)Jƒ§:|çd‡ôAü*Þ}z['ãbûp -µ‚ ?7*_“¸~û‚Êe‰k7_£{‡ÿ‹þ´ LbóÀØ€xœä,P¦•Ý¢LÀLkk²à,i4ÍW¤ 3™ª)PÍ‚j´‘ü³“HÊ`ó - –wN - Ѻ@k˜6Ææ…-9>Œ;zæ¦ZAiX¯ -+C=‹ÐW½]µ‘ìAÁú*&2,t•Èžºªõ–£¥YVø±rON«F9 -úÃںʹS<(ä·üŸ;+{Qæ²D;Ñ7I]–¸vóªnNößÝ=üÿvxGØaw„Ýö/îðŽ°;Âî»#ì_ÜáOÂvï>ß„ìé·Q×Nªþ±q=8©U'{@(Ã'Ñ“$•·dÑoå;ß9Ùa¿Pó_Å»O¯m>þ!ßð2S½n—NÏÜYžï½Ã
¯z¢Bgl„Ø]»óOìÛôê´ï´ìNáLûãkûê ä¾Ñé2žgñnøÅ}ÊO?ûüðõñéÏza|üòõi¹ôc÷ÃoOOŸ|è¾´KIþ½8¹S˜Äñ—ì«\¯wWNª4Ï|µ=²‹=-ô«{ÀŒÜÔºÇz=ßg¯íàMëaφ}Úº'ÜÜ„ÌاdFééñOK²ñ€¼<Q<D·òx@NìÈ^‡íÇÜHÂÎ÷Í‚èjBðÄcÏä!Qž óA r~u–]ƒa× Z–ªÞ¡ -Z?š=‰c;¢š™š
¡îL³¹™²<R€WJq€kšàžr,Hº -ƒ±”‡»Šâ€¡NrNËàNYþY¢:Ë4èí€aPè 1â³ÙùÀŽÁ¥¶ -´3x¸€WŠðM|ÔOU݉ãoH›ÅWÇåǼfaÜ„ÂW[Lzp‘§vÕ²aUð2…MëĶ5±qõl]
™Wø›“}Ml`û‹0ö±Ãêdݲ©ÌFú‚.gL…8X¶rZ$"¦+Ë1‹ÉZ)t½‘³F/1ŸÖ! Uæ{£¬?!áÕ=0‘´• -Øn•Oœ´¼†ñNµu.ÆSk¯û¤‘“Nïmõý˜{ßc'`#ÐÇkå|kŒ¦Ún«Fؼþ•ðÛUÂ󮵆‹ž²rlS‡‰S§¶ßÜòMvçìvž3ê¿ çQ zc%YĸhSÈ¡ÄVUª\¸’¸’´(‚äœ+„-Â&"„¦”V!‡¡EɆt±ÕT¨§¸ÝZë,uW8[4qy¤Á‹RÕá3#ÊÖ„OYsû -Ž²’¢ jP'N -x>t›ò‰ŠxQ¹k1Û&&f<8fGéؤ\íÔñ;¼1»â¦|íÚ\É’» /cyŸÁ
º¤ï€úåÍþE™Ÿâ(>‚ï»È½iu¥0~£ºB„6²Ã?í æ|»]´ŠÀ$N:ím“ùó?ê6oÝW>uÔ¿Uçhœ«µN5×Tâ‚çywvfEò5q‰«ô^;4pàA˜â yGy8×TÛ´ -ö‰~>Õ(ô¨>H¸¯±]®”"tâóp?íÔR{²`Ý‘•}ïÓØ¡ëüK…Ú~"¹Î{ÎJ€$*gkÑÒ³Ss1A(P¯t™ò•QFaø0½oÍÚÊ3›ð0 ŽJõG;´”~HJ9²Ô¾B›‘TugYó2ÕoÍÚ®3@¸·[ÇCPF‹Î·Î÷”$ -‡êæ¡ljW5Nš#IuŒÂc¦ô(Ú³‡Œ°„Ö°À"R†,‚Û>°“¶²À^r™%LVIZÐ@=™f-Ȩ23Ž˜ç¹JÁ®óVñ -p_€U®rÅ…-SëLxiYêV×ÅÖ
âm±ÒÄ^z.IÕRSÙ6}<KáR/RºÐºP»TˆM-ŒAú@]“Á&Cs…äÒJÑ6A¼µÀ©µîËF¢w—êzø#¢Ñ -h:Øn½è”À'º®éÅu5F
¤”µÈ9!ŠkƒÔ4Î;¦ [(^:§©ŠXEûÔHV‰TF* U„U¬vTV+`µÖ`VÐÅxJ8°*‚U ´j1*äšë -n±Š‚þÇ+‚°ÕÀ•MgW½fñ«Ê·r!%ɯÚ^#ÖÂõ‘$cÄ>Šf0jkîÁ´×=ZÄ+â]‹ó§Éà€ñ@á÷±’×Xz<}g4¬ÇO/ôß?-õœðžå¸óÄú[–»®ðïLøì8º ‘þ¡¢šDPrRCÔC£Ãä$Œ„#•Q„6LçÒ¤IÅêßí]ÜéFà‰‚©bB°[æ^¨J -X´€&¥Kìâ -H‰ä—ËŽ#¹E¿€ÿ Mö¦À÷Ãh “¤áµáÕ,tc0÷bìÿ‡o™)¦JêW &ow•JJ1ùˆ8q£ùö£ËË¿‹÷B>ùúöÕ"}È°,ËI/½Š2AYh“j²ã›tie”Uò*¨¨”UQTUSã*M—ÑV[¡PÔ *zƒªîºñ£•¡ËB -P4*P…ši<9<‘n²ÎZa=+@ *PµÔls’¥œv<¢—‡‚‹PfmPš«® -/]wÝ«)iú?'@t%Yyj;4Ï7È]"èEv‘_O*'Õ³Dĉ„N?黲µ<Mð/žBL7Š¯ÞYUV‰˜Ÿ¢m—¸¾|ŽþÜ2|zïµ—žz@¸›®Zoµ•–Zh‰¦j¯µ–šj¬¾Úª«ÜúV·²%Œà‘azS¥—Z¶’K*A …lÑEåž[ÞrÉ gè‘`&ë,SO-m©¤„p É!Y
`!c
s*8îÄQèœ&ªˆÄé¡!à7¤@BD¤‰CÚ¤‘ -ÒwäYEÆäå#e&e)å+e.å1¥4%7¥yÈøÀÙïœ
À"°AÚµIb3”8G“ÁE¸Ñi°[„"S˜´1ˆRXx™[„
"}.Í+‰sàˆÇ¶27°[ÅhL3ƒ6<‹'L…æˆz\jjr\õ©&€à¡:µ*‡ò¢´(. -Cb¾ð7r¯dïÊÜJÌú+úæKà¿|¦„’²?Sâ¹ÃýÁü&ø4Y[Ýj|Š²AäÊmÛ–Ÿ€‚Mø‘WüÔÉ{ø H|‹œR -«d‰n½¦×k†Ý§Ù”XÑöP·¬û‚ľIâ!IPâ¹ÃýÁ¼Âgë¹Çî~ºlm(¼‚4Dˆ ” -bòÉBMFÕƒRÄ©a•†YÒÌ’ýÒ¬¬ ˜[ƒ\ƒ]ƒ^›•ÊKaŠÇÉv–Æg´AÓXy)¨Gb´qÓt´PÓi±ç´\~6_–™g&÷û 1z5öbõ Ã:Ù6±¸£qàq×Þ×ÍÕÞúƒ»ÖËœ¤Oº #ÁçؾV{¨z•Xÿ8´}—Ê*qþó‡•w‰ëËçèÏ= àc/ï>”ß„|‘¸ŒúÒ‹¡ßí?áý”*ú/Œ‘Áâ…ÅoCï8
x!]Œš>’!Z£ðBë`ºÐ]Ê_üÅÉ3ú/ñîÓG-ÿøòe.N½HàpÖOöû_¼Ã^½P‹p1ö-‹=}ïþçïŒê´¿hùbt -w¾{ÇñýÆ"äùK×·qg©â]þ§ûÐ>üÇo?üõÓçÿ7ʧ_~ý¼¿õ·Ë_þýùóÏÿùôñòË|Óþ«¸û.6—òÇ«¨òIöZšë`¾ýÀø¤.ÕB»ÈŸ¯wÙëßâôç½[¿I\•gÑÓI
ë<*Ë6kÊîœý¬#vñÏêðгxˆ5äZEn«É]¹Uƈrh0«Š*—¦ƒ§:†çâ14pæä¹²PåáÊu¢ -Í€£GEdÐ>Œ6/AÇHózÂpûÌÞ°À§íÔn¸Wo•[{-·m\uÑ64Ù2¸².ºê†Óœ`Þ@ÉMVÙ ®$¤Qã;Û¢¾j¾±ê¢6Ä/=$u{÷ˆÞñ ÖO×þ»ÔH.xwÉD,ÆqU“ºc›8{g*«™˜Um*CD‹…âZ4VÓ° UŽ
›Eq¯û%‡Ž
À†àvœ=¢™ú^ t -D¹•çd— æמƒ™D‚]¹ƒOñ{äOÈxûh;ÅP˜,Ê‚€4‚õAÊ&É õ9Æe(¯1t)ëÄž0Ü13ïѨ[8bú&š©0Ú+jª–¡ìü:”zÁa„óÌÞ>Ü>3‰Œ£¡”´ð_4‚JÎk^nnœƒ«ôt -â7r$à DÅfXíQ,Ë-•k©[\|Ôâf(R -GÊ(•Ô:1«å•¾x£¸×In>"ƒšŠˆÎ±`‘ÏŸz…w8Å$|Æ7LˆØE§šqž
g©qŠÅ)£P5YøEFL9m©aâ:[IÌ9$B/ª˜b‹e´¸r½Ôé‡2·Ë¾–{ ÿ@X¯àS¸U| ô@ù*´òl°7*ËÔa‹*v«`Ïv.`ÿveô+6@ŸŒç@j¤£ôñWq|‡8ú¶G][Zû6q¯qC¸ÀÄ¡o5 ÅŽµ<k`çcÙïçÚØÙ¡ÇÊqG`t둆K:û¤³Sê“݇[bÇWHÊS‰§ÂÒðÞkyÍ©åå¦WÜt½Ü÷²É*¬ÿ“_.;Žãf~¾ƒ7
L6‘"E*hu ²²Ê¢1@7³H/fòþÈ9‡ÔÅ.¹º«Ê`::°,ËÖo]ø<g¨ê%A
ýXÔI¡ÊêG_Ö<%à¹ÕÜŠKëé¤säÔŒ€ƒŒ€¥·²€wsˆŠ÷Ú£Ëb–g˜kY½Ôàþ]X«a`¶nžºµ˜³t 'nãÞç2úS—ÑÓe´«ËÐãtc+ùúâÔ7¡ Çþ áVF+uwéí?cWGt4Õj°4êêE¡h:h¼/£•*/~mŸS8ò³ì¦ æµ…—x^×Qô¬´ÑêoÅsÁ‘”Ä#WB3ŽY×ÆëåïyBJ¹MÍŒV¢üï1ô;d´’[r5Çu[’ê|8•<'ÕÔæ.K»ÉßÊh¥s~)øß}Oe´Ú(ðÑ視ÚÕ[z†ŽƒSg¢ÇÄñ1§7ÎbŒ¨~›cíàôCü®ÓƒÁÃÀP˜0(z“€Cf-å‡ÆGИæ8ÎxÒó¸Ô¼k1JŒýž)N?N ÑFÔ$+Q1ŠƒÀ’uësÛ
Ó¬7w½ÕøÿkVF”?¦Ë
òÊ1¢D[ñŽN8*Ïx¦A‘tÇ þgGÒãJŠ‘˜2P†‰›Å8ǶNô
}Ò¡ˆ§%f•Œ¥M¿Örí¬}bÍýW³œãC.ùá÷ð”OþŒòØ‹Âa¥|õ–¬^qÔÌݼúèâ¢3™QóVÀTEkÒrJZþ¦70:ŒY‹<´¯éŠÉ -¹J™Šyê:Q]ç)«<Õ–<ÕuFy*)Oñ••©&e*å*&+¥«f5ÅÕÐHÉ蕵—🦼ÕÆuÔzý¼·òzíZK¦n¸j*÷3pÊå%纞uÕ¼‡£·éd½jܶÖýóáó~ļ\ÖÍ3ígwütªz‡MÝ8Þt{sûŸËßUgê
¿V8l§ÅÓ½ToàöªR0?Næ‘Å~‚{ìµJªDR£„¹oRŽ&X[a£ (²@‘:"ÂV‡fPÈÏ¥C>dË`ÈC]àCð8A‡KeÈõK%‰¯cGŒœ"åLøþ=€Nü.!€¢ãÁŒ8Ø‘V涫¦$ÖL°¾ÔÒ/´'CkÄëù·C”úa²^ã0á5Þ—Ü ËñÕâåa\|që:¹Ý·‹—É\F½Æ<Óúì¯Õ«Ý,½—3ê´^í|¿z\Ã:r¼c]¼¬Z½q}wrË®¾·’¯ïd½7øÊf}§V¬ÅÃÖª=·ÓÔ™ºÛ´îªŸ®÷\+ÝUg¦î -¯’.ù¡*ÛÇÉ<²ØRðˆ$·A) K·>‰®~¼ASšÆê“,|ÀÓ&º¤Ìòä“ç³<
| rIV.‰) R™¦ìTU´C£¡%¨Ó±Û˜4o’Y==°EpµÉ×5Fˆ€iÍ`5C;Ëøb¼"Ó<ˆæ´ºJ6¶•Ø•%Ä/±naë#Ü5ÀëœÔV\9®rãN -ŽCUAã(û!&R¶2Ñ
~S0Š]…bªh,VJ
2iÃt¥å(Q2ë†Py+GÝ]EsêãÓAý«ë:<V¥àíònÆ=šê‚BÒ²,¢À€^ˆð*~qK3/ó4˜©{tR7û¹íÜLó4adæ;™X75Èó8¢Ú€®ŠcgGZe•F“'–Asv™Ó[ÎûÝÅÐ(Ð4DtKP ¢Õhè?Ðjt%ƒ‘Q¡i 204306hÞbuFŒWvXöŽjõ€¦Ðþ–ˆ -·—ü÷£Ñ²›ÚëÙ£$Ûg™vÓ1ÔÖiÅ<Kµ{®Ý“íÆû2w¿àd>'LÜ2Å4/à§ÃßLì=&øiyÃbÞrЛ -êôÇaá-°Úá>tpã4cªláFàpaŒKƒÔëR3.‹Ëµº»0¸à¸À},³áþ?îô13tÍ]¡kõ7®º›I+Éß0v9ͺKµ849&‡É6ÇÀéxÉ)€qZÖÂóMUãAù™úUfß¼–Nc¶Å(Ùg×cÄgŒü °t
dÑ-ý?—ˆ^áápwøþ7Ï…çŇ -sû¦9 -¤]¯K -UŽA¢@Èúº= ¥¾×ÿ]ÌöÄÉpDªÅ(~£Œ“‘¹VŠÌ¹ -!ÿBÖW%þZüS%þ:æ¬Jm«„šë†‚Ò½_‚€š¢{•)*ÌU¥é~)öj]¦E÷¾ŠBÑ$; Ͳ“>Ñ4›òDóì%¨áz/ˆ»ˆê=Æm’…Ò¢9D_5¶J“ÀÚÕz˜E—¸HY¡ -µáKÓNª6Äa‰®’$ÃýðÑ´‰îîII‘Ôö_ôˆø{ÛÒ䈜—¡MU#Œ»bXĶꑪEdœÇX¤êô)'-Bæ§Ê]UŠ3‹òšJDÇ«™¶¡C?íÅe -¥ø“ -™¶&
Eê".ú®$§þ4sÝGÄý±ƒŽE0mC6̆®˜§,âcz¢sÔOÝãÑ]®¡<Ð…1‘ -€+’0ša -RÍ9–]”Ô'¤ƒt!«KT‘ ®.Á–QÞo¸”I¯§}ž£ ¤«€g² -ƒãÞõa¬N†‰d—¡Kc~.$ ˆwOeàô+Co3†qN€Š}§7âb¬ôR• -&ùQäV4/ñ¨ÊÖq;‚j3&M›Ä4¸to ˆ{qtØ€FºÊ›÷p÷“HðBWbÃPý<~½‹ÓŽ…'sëkW,jŠ¢àj"Ò‰G¹5e{ |·ð¥ 9"0<èÜCÇ㘑PÝ)[þÏ= -utƒ¤XiSè[ÆUIiÆÉ"ŸÕQ -C654˜(³Q<8˜(DôØi˜—§/O¿øå¯è›/^}õíÛ·¯xï&ßß¼øûÃWË[DæÙ3ƒ¿xýý_ö?œ^üCþ2ì/_üðîŸ=Ÿ½|xøöÍëW(ÁÏOþ}ýãéþOÖ<…ÝÞãã×øñW@?ÞÔ›ßÜüñOéæ•Èþîô‹.DU’SZê3ÔYA@ï?à»s«P§J -‡†kØqüþö‚MCÂfeÄMŠ^“"æEBë\hUºÊãø²Þ4Kµ·¢ö©¬Ñ¤™J#ÁÜv°Oao·‚0PÃTÇ ]í°ì^΃9£½),‚™¥¹Í]ð=32¢!Œ%˜òcÁ‰«Ð9—º_žÐ¹g¦~fåîjÑóÓ™,Z%6S°”Š¯g£s" -YyØæÕÆÍÿ‡µõüôÝéåiÞ|öùÍ׿Ç/ÍiÁYFÿ§DWô06½³”ÿè„Å;d/BæŒÔÑZ*‚¦ÈÝ’ñ€2È`=u‰Ø)Ïí›ïOÙî%a\„ -ÀªS™ÀQì¹"‹q\| -…pÕuYÓ‚nè®…)¬ZÐH÷Ìâ
YŒ^
)??‡µ+mÙƒÔñŒ
¼÷ û¶€5žÜÌ#YKv`{íñ -/ëàþzyüíÑ<¥³Ï«Sªë|¾Ê²þŒ!«æcÈÚ&¥5HMûÐ"Þ?b ²î¥w>ÁÖ DO—*ù²l!‡ySÆàâÈvôð~þüÝexÞùÃÐÜ0‹g%wqB_•s`ÒwáÚ|ùŠ!Ó¹÷qdmÛ°» -Õ<¶íð®áü/Iøäsj éƒÓ¬A•³ÌÕW^¢ÌñÆ+µmØÝŽ±-—/¹ -ï®ÁW^òô5Dÿ_5”ÿ«òÉב³¢ÉŸ¨^òE©Ì‹B™õ¯#gÅ‘?Q]ä‹’˜1/ò>_GΊ ÿïó¿žåÿÏHý†ñ`Û˜õÜóFW7L(•çß=‚±¦pó¨mJ> -£˜Û:ïÉUeß[穵)›ã|Ÿv^¶ÝcÔÄ@Fõ›dT <Xs~H,2
ENÃÁQ;»¯õ¥ -"Þp:ÒR@´§6°7æpì1XEí. -ÛJ/AQÇZû_O!x«~÷¤Î«å¢B`Љ-Ù’ÀœZªƒÞ0x‹°‹~®]õfÓ$ÁS:|*îYšÍ(3|5Æ̹Vûè ‚
7uuŒ -ðJ]´òjµÔ׳cíÑås‰Úà“«‹5ÃÎÖ矧ÁÚEk€gÖòC3Õw°Nž˜á-<˜h44äÝS©À|p:þ0À¶\‹5¦ÕN‚°i´sîã -°ŒÖ±“kAZù±‰;J´Ì@°àÈd„ím•©v»:g‚ã¨òf/¾o³ñîÕ'(ìƒw£vˆyÛ0 -Hzð•¥I×Ý2À$äå¶û‡°DsàmF\—µõ½… -àó6×8sØEðµ`ƒÑÔ~' -~š[ÉîòùŸ+Üîã_òc7Å_: Ø¥Ãw´PG;ôsuZEi²D÷$À¥Z\©;Á}š±¸éI¶WÞçäÁ¦—õüS‰.ýž"±l§†“>ÚÊ^œy½%ð³s -8áÆüz´œ‹†@òbJ.†ÿn<XRÿ¢0\rŒ…cÔ´Qv0Ûs®!¹ÒÆ/Û G4ÏÜ÷¼þÜ+f½MÅç’ -tz^5VÚfî¤Ø—‘$¿óÂ($lÝFtÐ8Ãêì#Á‘™~šËÑV•™oýYê‡ -;,>kÖü²hFëØYï¸ì{Vée§à·þ¹ª€¹Jãú<˜kÇHpÄ»“Ƹ¿¸”VžÎÕK8ƒ®ÓkÌ EKw_ßúIôS®öPÊœ¸oß;º -m˜ ¶nõeµ|Ì‹„Û¸G->Ë!à9ô£÷ŸÒT¯~.µ*Í*7|h”·DeÖ÷6V‚*‹¸åìP„™>Q¼ ¬n“þ±¶ »+§*€´,ŒøpJ{™-@–`·¼T¬ë)¥ÿg;ì ?5¿¿W~^ -¥…“•Þ¬r‚úŠNOã·Æ¡I„Y› Î"…O#@•Ì%¨ -¤³u«
NxˆAÚ|À -ª£Žó÷²¦-¹ƒ²¤±²Ç>¸ƒJ_™F=Jl‡âxªØUlÐõ¦Âæ6ú¬éë€Ü£+»à³uJU²½œÓæV#WÜ® -pG5zs{lõ!l:Ûg0Eíg‹I’ -òÔÝ0f/My¸½{Ïúgc¼Íg²©/]Êæâ×Ð5ÃÊeù%u±_]^ò-7ÒÂjÊ°kµüýÒÙÍáBZ”d~r”à>Ò>æ:$îåâ}G -õ€…°hmœS7ƒâï/ufØ&ò,+\©¹°Ë7¯¦êBÇ+@©O -•Q]s+×-=ëÓ(þkú™VUÓ˜qgtK<OyÝ¥uÁª¸Ïäá±dkŸêr«>Œy%¬‘¢ÕPá{>¬5.¶ ŽÔ=t[@îX#8»6{ p[…Ÿ'"tP^ŽR}wøªó®aDœ;‹ê½còÖÐŒÇn
-L<yµDpÓ·²
L¿ØG[ήá²S÷ꓺa@ÎÕy^p€×û]pAÞ,ÍT-ŸÁ Ÿ=|¦ƒ0|æŠ<×±€Vo¬UÑ4–ví¡Ôoe»½Æ*mA%Ø xØA”nw^ÁÝN„õ‰]LaùÜDØžV·˜¡”ûͼ«MaAº -;:0ØuÞø¶WÓHé„3ãÅÆÖÎ\ñcf±ˆlÆ*raw<Íœ¬×Cë€% -òrE t@[·:|Mk¼kÛâUÀ6·`3¶2à{uÞ7ìÂ7ãÊxÜ£lÈ -PLq—[1ñOSâàìZø¦éje'Z*ÚxÚ˜ à÷MMÜSÏÕöO_ë¼hÃA×Ð µ^´œwV¹«Ê~=׎γY×CEƒgª‰ jþþ:Œh8.V[Ó
¨s¤N÷µ>Ÿ -i®nW¯”y\|³8· úج7GÜ -0+Íb<Ûv£AÔDÿÌàS«(PH]ýLϱ±C‚”BÁY¥bKµq¨n€× -cR®2V#F%é`I¢à†ÿc¹RC -¦Äd»”úüsFwqÛø—ôj[±«¢_pþa¿ÉËЗêîêÇ$ø Œ(‘à€ˆ3Áf˜ü{WÝzïsfâKã>+ÝÕÕÕU«V I½s8¨f²ÍKÊ-•á ˜Ìy†I¡¿ -³jT½IJ1Úƒ`˜‰·'°7JƒØÉ@…ù»€g\03¸ý:`Èc@FóÜás#rï7§¯^|ÿ~ýpÿòýÇ~ÿáöÇ·ï|ùö·?Îàgonß½½ßÝ -!Aç#ðò‘Ш EʯèÇ`’¿* ”æÍ‹S¾’§ùt`J̽=r×á¿N?âО©“ -}`<),Q•'EŽB'ëEX -"¶ -´Š‚ÄßÛþ¿lÿ¡±µÙ1äD3˜¸8® ¥]†h’°ñl£î€N"oÄ„kûIºÙðÇ€d¯¾–Sñˆøx‰¡x†ƒZÔ
dhzò@å©c«€P(~ÛœR€ž«Z¨(‡Ú4¨”äG5©
©4_§0¶Ï6ü^]nhB³¶ˆÀ¨•B©r¤€>CÎ%t9¤e@˜”Ñ*Þ°‹232«”€É£0•ïÝÙAè—v™€¹¯dd-¹ÕV:9È5H=äÞô7èš·,ÂXlÌ1°«ìUp@^‡öø=È×6Ä9RcYí2s¸Ç@Dk¼B©#F±’›Õ’™c«¦ -yy^Ì"=FöÃr¯ÙAjÄ"õ{ç2¥¹kKË• ÃÁ²RYˆï•ï'š^KT¦-Í [ŠDtí# 󌌋<¬CŒÁݸVgŠÊO•ã,!òŒ«û
Ð:Zx°œ3 -·õÜ܃’ƒ¸ZŠGÍ?ª¯%²LÈ}z"F‰Œ†%Ù‰G¶ ÓVå#ös9¯c6w@5Y80׋À -ˆã`gçÀ9÷È㙋¯Í%¹[ê ¨ÁNñtÈ¢5èk[‰gâR4ŠÙ‰—Öm-\ä¸A<,]9‰SN{Àhö†þ1ب_ Þ]ý°¬4°×ÂŽÜxmU@àûÁîmºtâýY¦¯,½íç'b·[†û_D×9È%ˆzBËÒhœLHbyºàÚ\£ -ö+4¯e@ç9LîQ#–†®ï™%ulÙÒ@ « -£¡¦´²¶äQmSl§ä Qk{ww‹Š¿AÓXGÄùy„d¨mQ¡«@ÀcÑfÃÓ¢»°’•3⪥ñê;ÖyÁ¨p´ð€DT(¢ÙÁÉ‹Ì[3"k¦=dËŒvås¤`y¸§9Q[T¬¥°zâ}ß»Y†;èç´r`rdƒ?õ½¨ÐðW2G½`){?ž9ž0ÊM;gÜŸg °û퇆½æptîÚ"RÆŒ²Ê/ÔóÚšFöc"ÿEPö͘ÚäÄn SÙåLPX“1®„™ÕÁ¥µe²ˆ•*iTÀ¹…R‹ƒ}dé -H‰¤—ß -%·
ÆŸà¼Ã¹)´…lɲåË
íEË––”@ ”’í?ºKI“
yû~¶$gfÛ›–œýÆ–eYúTô•ªêSs———ç×_h.í¥¢Å0³<uî2XyõÚ›CåPéø¾RóïS’g2H…)`.Õ`V®kªÅmáaq[&ͶYk&¡f°öåA}ioîVªOƒø*¼å²`YçâÔÖµ±:¦Öž•*§°V_ Q©Çp×p©©‡mªÅ ÷^mnÉíp ©„©ø%à–*ù^¤…fMj!(ë€k²°ý4ÈæÇšÐ`'™ÌyB¤˜Âù"kÕ¾Ó¾%ü%ÎT‹„-õîPÅOŸ‘8â)˜ 1µ2.0yb€’Ûj²ð3lÜb©¼*ÝSHÅM‹¨8cŽE‰Rä~ØçéÕs$P÷N¯B-,ÞÁLÅ×Ì#Óæ÷ÜqÓì™2m…j¼+²ëL½5?éº>V¤sçB} -R£_meÔFKÒ•‹§›Uc çÝ1:ÓÊ$ÆÅr9Þ‰¦~‹wg[À‰Ü8Á•†'ÚK*ѯù±ÖóÞ¡¤U%w\yi8k·§¸„\ºÄ0¤ðÉo¦ÚãB“—Î"Kˆ!pÚUŒÉÀ“.–ˆà&r¶D£ò'›PÊ<‹«sìKÖÚÔ0qí-®Ûs`Ì8DYúWŸÑ.7[ƒ£i/rƒv¹,0p%—AuMNˆ´zrkÁ%¤Õäáa+„b¥q³ª}m®øgÕ߇ŽÌCP±Û -WŸ‘ ÙÖ’êc¦zµÅÛyjN2%¸Á] nÁðZmÖd’Z´.5µàЀFàh^›mˆ>ÀjEzƒ]0õµÀUl°Û%ÀAWÀ‰Ãªq‹ð6çâG`V—€#DÙ’ë:ÒZàÀdÜØÂL‡ÑºÆØÊa¡'æ‹mYÒ§QshÓ”;>g6±1=gÏ¢.aÛÐÝ76±Æ²ÄòZ¡²m…†âû£6âO†¹Æ%Î÷B¢"^Ÿ²M)€óæhß*oÝ{³Å¶|)çˆ`j™·F»òx$êô†<e9‡³1*Y?HÛD*ÍóÑlQ¡RÔ²˜ O°åŒF0ÄcØì§ÎñhÌYú…Ió:ÆWÜr¼¤¨ÑK¬lŒ6Ý~Â39m¯²â5~„ ðÞ<ã¥I¾Ø*¢±zj¤æ>E…ϯœB0àÔƒ‚Ù9Œb’ÉF¢ÍOQ”üžg‚ödyÀ˜]lÎAñŽ§ÌAqã©š6C"š@_0^7Ê7[šEò¿BÊ«íXÈ”
<H%â5SæêV;Þ"C¯X[G&§¶’oJø - p-pàAŒ‡?a ÔÒDá¾P–“Cº -
ž2 ðz_o¾§ErQ‡J¯DÐðõRF!Š¢'Ú¼T<úh'%ÀÄAëDŸkhƒÖÓGfA:k¡˜ÒØXA.Éö˜«õ¾ªTŸç¼DD"U²·ÎÊvì?¾š\ý°ë„ì‹îpÝXàÀ"Zq@Åa‰bÕnU;`<¢báÞmë¨_ÿêšð€g\T‡ØŠŠa·:¢ûñq†EZ¼kß{?hTÆ#Ң锡_K7X{o7ÈZt•›C9D¹á2Ã÷U[»Aˆ>Jö˜>WyïqþíÔˆTÁèr<™‚B})ƒœ§"$òÜaâÄkÀ¨ÉÕ{¬Ž©°l\ú9ãú¶Ë$ÙºÂ+ø÷ð6`‡@ÒØÞ‰#jTžV„w_‰ -¬íè~¾$}««0קáeíhýy¤Œ{-'Œ˜Æ¿Ä.x¬z@:|¾c=B‰q•Jó""Ÿ,“¥0ô¥7ÒL¾²–Ú—Ér‡'ë;æ°Ÿ!%ƼBƒGÑð'6k¶¤“Wªñ&#æÒ½‰>‡›™r¿éçýÿBrœ¦SÍq.;1NÅ]> ZÍ™aó2Ý_Á0ž¥ÔÙ«ÎXä+Õl«–˜`5³ÅáZßêÕÙa¬â)`Y¸fŒ¢z¯ØÒ©ùÇB‹/H¼œqçkÚÜ ÿºÌt -ÙŸ0^§pëO,R¡%~z /Ø×陈yb]VëZÚíQUëz„)ÕLf&k¡„Îy˜EöXOaëýZS"õ[Åq1%”œÝæÂzU‡xƒjp"ÅBýÀ©DF,µ0¨9Œö;
¾í ´ö¬ÅxHÄ–uþ/>ÆÃÇ‚)T¾±4k\ˆÊí‚:lÔ1h×1f•Q^MžENU³;Ðþ_ðLÌO,*ŒõÅçø¥÷B<G\׉ç¹mUÂíè¦ì{?aì U“¡+Ö´iN›ž1'ÛãÖ…©sl`PóR`ý -Šæô†¶€¶/ΟØ
Kó‡9¡N°÷ÿõ -‰Ö üKcØiþÄz'ë>;xnJúfÁš.€ëðñÞŠ’CŽä^<`, -Í1Sp.PqY¾ÀÛþ§Ø¦.Qië栗ªÇV’¶)¸ÀX³N´PiЫŠKtŸê‚ce౶Ap6À É3ð‚¼šñ›ùW…% ¤¼è턱€›å;v°Ù†¨„îÒ-‡ý\öˆIS7’C–ÇvñE%íYö)øþFQŠX\{(G¨ä(í^¬
\úسáÆ¡úººžwh=ko'\iЧ‡=c›6¢h°¦1«ê¹|ŽžU5÷†6»ÙÕ/¥"\iLÌŸX4·X•Ì(\p¶¼X 0T¬rä!:Ýõ}\ÁÙ ´¾Æ(ŸØn㥮šé…¸ƒšv%l\Å&É¢m—§¾`¥Rëë;Þýšû"½Ù’½jrò‹9aW—¼^Á1™(.‘0 Zƒ8Ò@ª”F"GÎîXM.odž›cê-<½7>U©ËjgLÅœ½w¢öL·áÄÜ›È -0åÈdt÷Z£j˜ªÇÖ܇–ñB‚‹,{ÛòØ•2(Çì 30¡så'v)Yݲކ8Äèq¸ƒÆò…寡í·A?0ŽàûØ#û|±EÍ¡- -G:a,€ÇïO, Pö¤§!:‹–ŽÆÅodCÕ:óÜ<àõùWiå9«hêäìÛÛl¬ú6Uý÷LK©\¾ -õhóyÖœBáCS’¥!ò´ò›0_øÛK‚ËéMÅL6 ¬;()ã5«øÒ41.k1ÿ‰Ý0÷Ô*¥~ÀÕÖq‘C–•Zsœ¤Žç.ëʘÓò¸y6Ù¡
Dözk~_”=—í¬:Z¹A¤x…ù¶ÑÏؤfè3™I½fK¤.ÑÏð%O9´Àü -3p“u@,ˆéVî€á‡¹€3–V-CW‘à„®.M8)ì‡÷42[C½ šlÞº¼qgAëÈÒôc2Uºc¥FlXw…O ÜÛ'vCTBþÀ=+]8‹¥^L³ÖWu$èH´ÒàÄ•{xV¡Ð±!ÎåpíÀê;Rã;€™=¡-€w®ôÆ6 ˜åç¹ÖÏ“ÙÇz—µ¦ýϯ‹¬»ÝÂ+²Ä+N'|w{ÄÂv+1˜27RŒg’ƒÅßkéŸHkÊúrQ›Íí¯¿/¼|{ßQXòø?éå·²Gnƒñ+øîá=)´l˲ìÃlÛƒ–”–-ÀRJHÒ$e»iÈÝ÷‘%y<3{VBàÍ/Y¶eé‘Ü`Î1pâÔ/¡f“Y¾Tê;\pºÛbó®ÆcDX’ÆÃŒŸ±íÃj DÈ°‘ä©Ëq„NÛÔN«2Ý`où؆½àÒèG¬»Ñ¼ön¶hÝ…=¬Ò}˜rÚ¡9hj!Ä6[Œ?´E{…MÖ@°cîm¸m¦ÐÕø†ŽÉöŒËZ)/¥èÔa|_û›m“‡sø1Ø‹ä
†œO´’+lw(9¬:²-ÙR‡¡Ý^Ý1•vq˜s”Q »ão÷1åì —p¬(v¤vÞ¦À(‡>lÅsk$ãûÖF½Ùö¹UÛ
‘jøüÀIFØŠM•C[ù¬3Õ†Ç%ˆ
»€ÔMÙ(Þአ¥~³õIm¨bj–ÛÐa%f„yÖæ -:0zšÄR³éÕÍúÔ—¤¤ÄÛ5ì‡z@¼<UðáàÀ¥÷‹°×má¬rË‹Ï[ŠãK”Plê²ÒuÑ.A˜ùzVÚ[ÄKÿðŽÈ9í0°—ó“mãsÈ\©e‡á '–›-T…o6å"7ý’WéñˆB'£üÔGòÅ'¥¨5º2°4Ÿ+YWÒöw†˜CÑ+ÜÁŽGë˶ÛÀU_øÓÜ¡$9¾wŠ‹g^2P€»•Ý\ü{ýÞK²Î„Ž3¹-ùÄ»µ¸[;Ô>ùÍë§×O¿xù»þ×ß>¿ÿîÇÏÿùÇŸÞþôÓ‡Ÿ
~÷áïÿ|>á_¾~~~ûéÃûǤà˯ Ÿ^âï›/OŸŸòãå¿ñ;?Òüóæ+þñ{üøЗG}üáñÃ_Ò㽚?ûIñKP=ýéDrOúKLéóø9¢_½ºùyõô¬1i ß?%½$h¾d qüÀÜÒY ÚZªT¼rmúK®ñxƒáùñe¸5/ÜxU1§¶áOög::mw‹hû¥‚¤¦ˆ©[gh(KM#jZ¥H°zTÝ!½êÜp¿¢?*F)
Q‡º#D)&¾´ÆcÝNU6ì!B—Q¡ý™ºC·k!âcœ§×ržçY UH@È yjŒe¶TL0¢AúùéÚÛy¤Ú`ûñÉÅølbj2…’Šì
›œr“´¶éBG8†€äo^ÏoçëùëÞ¾ùŒLùãÿ½Å·Èþ/¡¶MCë@BMÖqàyu' ¼
e*–è>[øÕÄô“¥8$«®ß«•|³Ì&¥a‚êòŒ¯Y…Ç×Ûb9§êd¾7Ζ²Í¸úwζj%ÕÀ¸·Åûñεۅ|Žè5Çy! ÖŒ6§)…ZV§‚ïÐdµÌË¢µzvÞ²©à:šã$€˜aÙ`©&ÀC,2dƒæ@EÇ”•gÛ2$`3¹}‚•êæ`a‘dHßBJÍ÷
N«–,s -©Háê£V.Š‡y‰Ê‡¨õ_Æ#ÑÜåb»z‘.6J=ÁKsT¡ù.œ
ŠjÀ½=,¸ÊMIãbë-lšLž`.}¬3Œœa:´LY^JŽâ2g:ƒÚhÎG0Ó«·¥æ%Ìäb’ô„Y%{aN僋?˜2jtÞ^â¾'Œ# ÌõbËxÇÕó¨7.‘’=çñày‚&9.¡{ƒ‰B0Utvxñë´'ŒLΨbÛì-nl†¦Cm¬:àÝ9›¤Ä«©V·QtfÙÝýP÷·8¸6+…’}1ŒDlÈo¢Çí2;*¡¯Ï&ü½j¦©G -·Ylâuèsþ¸bÓ¸yã/DØ)Ü8¹@H<h‘VÑÙÆï‘øþ‰ÅÕñnÖ·¾ðp“'V¦8AžÓJôñy¡’5Äi´ï+ö„ÍŸÆfÉ”óþý8A&·^xïbÚ -·F~10pôÚÖóŒ?p4À¿žXèÆúXn©òÚ›|‡k·læŽPY¢0@ò=–Szš"oÜüÍŽÿ8LË=îʱ5¦ž42[ÍCÊȽͲš":¤wUÔÞH{KnÒÊá`§Á¹0£Ç·¤¹j“û9‡K2—:®Xü©Ül³/t[M÷Àj·8ÄÂ5¨ØØáµð+,W,ê; ÜcÀ¡Gö©ÚÊZ -Pª\>6Í憀±@OòÝÛâ!9á7’ MÀÅbSåK6)Ž#„G?á1m,ë-ŽUmØ̸„ØOùÒa‹óNb×ì±T(r l»^Xd6@‚õðò8ùè& -ÍðǼ…P™ã%TšV0`´#6pÆ®UæO“UôSeý¶àœVCVíd\yjÑN¼Žl¥¶³j÷¢kl#ɱm}`¦¸ÆBáè†Ö`ÕÐ;WÀÕNÄŽpÄBà´8ÄÄÓ?ðìWínÛ8}¿ƒÿÐ.š)¿EÎüJÚ™¢‹L[l¦»‹Bµ•ZSGòÚrÛÌÓï¥ÈKRR6Vv1±ÝI‹òÑ%ÅK^ž{Ð IZB„µéú5Ӛشݰ×ÕÒXÛË8ÎJ€ òbW@ªG‹ð1µNÓ:À= I@!Q'r“X[]´%jøX+¿ú иó±²2H=þKFú\A½™@ˆX´pm2oU@€ÉÖ„V
i†*Wqà¢B4Ðc\Ñ2Á±ŽsË‚vì`h -Œ›a,APf†A®i_£À àzàm–¡Ù!¨ _ëx"Üfæ«“òLc!úÖŒ "^±N,Sm¯²+à„Àh–:p†U¤˜Ž! D^¯L³Ä"€þÁ»±@]ÔO³ê‚ÅIÆŠ¡£™¯#}¯JA-
Ü*=y±˜îõNºZJ¶êlAÈÅÞ7'õþ
—Ì•1#Áªé@ȱ‚bTÊ_zá˜0CE‚¹ÑP -‚M·T¸’ºl¡¹RgÔà*AIóÄ»˜ešbAøë[Àh;p†×^Q"d3¾^=ˆÃ#fË$½9rh@#
Zˆžo±ÚK#(d6YìÆsícéˆì - ´¯Ä |ÓèÆ‚Lô å4€®!ˆHÚÒ~7V† $f‘Læ•V¹œO.'túÜoš/å6àªÇÞ -Ví6@FˆÛãì‚ JŒŒäáÖçtËÈn - -'ˆ0¡N»[H_4 0™[ëAœ@IͱÒß - \õV;3àVÉ8;ç -ª Ý PÔƒB ´°æ+Ïå)(‰¾´Ç>œ 4 -JA[ÊŒu„‡wyøœû•'ZÍ3ãÚ·È cœ÷`åÜE\î
Ïä`è0#àWPÇyº«NaåÐÓAvR»µÀ††·‰ev«!5jkÞ'"íðKâ`_CJ°EÆ+[tç=8s:#I`ˆ -^À²Öå‡mSlOŸLžž®×y/b¶(—óuQÙ÷lúôeÕÄwö¿æzUØw(!ß=ž>}[•3€/`Þêc7ôs¾ÜºØEQ~\4·G[µÁ°rÈ9})çÍbtJ>úÞ3ŸÏõè\®:¯£óøº‡<N_¾?]®ù{:6Ÿr‘;2±1÷žJýá·bÖœÕÛjk;«wl|Ìè²¥2m6£Ïª3æɈŒ…&›íúÃvYT³bìö¸¡#÷¿³‡¬Ææ³.6ÛåxòÇðû§csúoŠŸ×Å¿·p°ã‰³7êÞ3¬ê‹¦lf;ºVÌrÓFÿZ.‹ñµ3æÞ3dcS«¶W¯gMþù™¥CÆ0ÐY?½eý7}œů)ܾà[6ÿ€Ù¢¬vœaÚölì½×ØE½]ÏŠë|µ(gãÓºCV{Hj×úb&õªXçM½O°·[ó¬¾ZÕ›²siþˆ´âeç·Ÿ>/.§?>¸½CÌéÁífGâöăÛûS¸½Ëuqùª.7~ïàý}°{Çm÷FÓêƒÝ;P²x°{vïÁîžÝß Ý»CNÇa÷NØ·bøî’ÉÁ[¾³âs±¼XäóúËûÑs¼ñ;7äZçérµÈ¿•Æùa¹ÝÑ -ÏVÑ›fþ¼ø\ævAwpé ½i‚ùv³)óêÌà±héÑg3O‹ó}ðâøDÆwªù>ZÕ]àÐÙ¬¾¼ÜÍÙ}pÚž®ýë6Ã#ºðK«Ža¥'³zY¯ø²p6f$?_/wwˆ¹~¸@ÿG.›U1{½ÝqŽOŒV6ÿí2_?««M“WãS¼ÿ$É]³üé몮Šÿ!Ë8ðÞ³”£“Ü®/óYq1ËïÂ!AÇäMN(?c7g¼&Ù‡$9‘wHe¼N܇L<aw9–ßGçòû5È›º¬šsÛ×Gè?dž‡Î½¸8"=tQo׳ât¹ZäãE»ƒj`‡/TÐ^TЮmÕ«b7õY›äì•žÕW«zãÜűÁèÆði‡‚MŽÂ†Þ{iODŒOD²Sø4ž“?탒Ç'ÂÇ'ŸŒ¿Y:ðb¯åì[i™Ë²y“—»¬äñõÌ|]6‹«¢RÚÞ¹{í‡ÒvëËËMÑœ-·;é?ì—±NÃ0†Ÿ€w`a„6˜PCéPÄŠ’ø’™¸84<=!%RÛ%Z°ã¨ûìßw÷ùþ#ÆÏR!ç¤úyI‡– ®èb-þï–çB“j={tGñùÍÙhù|?«3z ïz|¶dJ<Iñ߬ 7¿z¸¦OÎt -Kú6®è²C•JXMiCɲ†…¬-™>¼ÜJ)|EôE0ÔY+,êãjdøJ‘öe‘±ên¾lyû}V¡:‡Ëµ“ƒ|\½åU‹ëÚÚüÆüIšpó›§Ö÷¼ñ›S±JqI=w›°Wl&ã"Ð0,]´˜s©V©2)²&ÄZ8¬
fpEN0;Áì(«„–„áN‰Ù°J¡7ˆá4î;Äà’L1K³¾ˆãœ´Cs« Òx”<‡!¼IKÒœdºÅà]¬÷Só«ïcïÇŽ,/c|僜fŠÞÊ"üÇÜË2.0“KÍu”¢*ó:ú‰ÂÝÍNŽq…TZV¼-*T~tP¶òw_Ò· -H‰ì—ßr;ÆŸ ïÀe¶êdÿ9I-W¶9q¥*8)“Mí«Ñ4 D#Íj$lòô+fÀöÆÓ"ÇÒŒC¥’`è6úM«¿þúT še†ÿèüñªÓÍå¬óú.«Þ¬þY€°Åǯ§øÅê‰(™{ãÿKH‹ØûÛýÏèã•{¯ó¯WÝ!g†+ z¹úég¶¿Œûík0_ýºî™Öð ‚͹H4ÊÕçGîiv²¡z}ìÎúoÉ™{ïi¾œÀ§ƒ·|›è'8ŸgBæá fžäˆL"kB«(«Øð,}:‹J£ï—ÆÜ -C¦Ù„':£-/æ %Š1 -dFi2ÚãÄà×TÈ»}!'þ±?Kÿ –ú94äy&€aŠÒŒ kÑ0JÁýª;jÊ4b}6ߘ¨×Ùüé<zÙßyI¥.^ådîMxx¥<y1“˜î)š>½È5Ù{zEÒ¼%”mä£-z79}1=Bïö¦÷¹&mqxdó›dˆ«Ñ7½$Š -Ž)½|À˜M -]•¿Çe:È1ä¸-¾³é#sŸ1Ó¦ÑI¾}m™ ¹™§hè¾í·¡õgoÊøÝëÆz·a¤ZŽPÏpõ0 µ|¾Dúr.Öo†Ý!N;ƒWÝñ×Ë÷EFƒîæÙ‡›ÏüÅgË›šqV¹œI-t\?Õä2s®¬LÜÙÎÕ•¨,¥59¹ïvr‚£žö:§d?\õ}á®Ëƒ¶Gk5¦jEø<Ãa÷jŠ¶ÅI,ݱá82Ëg#pÞ¯‰[X’™œ4 ½lhG\G½ÎQoà%4Å+ºÊlƒ -.jºeKÅ@°Qéqh\Û„àdD©ßÂÝ÷Uq~"წà˜RI²Ìc6µŒ^%%8›ÆL -¡n©|‚ÏæÆ}þ†)¡è¦õaeb5eZhLUÝúQŠ\òc)ƒÃßæӜܲ›IRî$azd– Î<Æß::8ˆ[X’™œvÐ^°Œ¤3ƒ™F”gYpÀeÂgj°àJ hLJƒœ‘[xUó¤*è›ðàä‚K²Csc€Ü;d®mB2ú4ØÞ઀ b>È -Î*•$ßL`̦V€ñÀ«¤gÓ˜ g ÉxIÂ
¯›‰U¸û„àhNdpÊ%¯+EUR33ô|•Š±ù Fÿ ŒN·¦"’§åm{ú¨O<þÐä]|Ý~ðÔš9ý¶mâƒ_¶?ÉL(Ü«ã©*‘.Ù‡¼XÀ>®dŸpמéÅ2øq=zZtåé!ÏH£Å¥æ27ô'[ã=w¬ª[s}œj~;"7ñæ!\(Yô™íqb„Зò¯»ÌY =(·‰M¦´zê,Ðعiº¯ÙMŠ`Û*žS¯ -è²k•'X -ÊÃÊË«’'V˜`þ€¼ý3âTéaË$(÷îJ~éÎ×ýå¡F£?ÝVæ÷ÅRñ‰´ŠBOÌSòYV©°ŽÙwx[€c¬€´aXp²¾k;)Øð«5'Y¿,àÞ{€çÚ8eEÈT«È:Ô{“áAVxUä -»šÉ$Ñ`Ö_Bk¤Ó{k[ ï?.H¿†Ø¿ªŸÑ ÄR•r)2O9ýÊ9Z³è¬Yç²}†mÉøcŠWþM¸÷ÙÖùgZrfR4Òk´w¢ï.š¿D…Ø¡šà÷Úkmïæa’&—hÅ™S+ŠÿÛàô ¨éK›±ün}éxù]ÌCFk+3·bÑÊrŽìZ±¥Ù{ñ÷Ìô¤
À‚“õ…ÐXÛIÁÖ®±Zs’õËÊ*|…
Ë?¡þxü<f!rˆ]Íd’h0ë/¡€5Òé½µ-Ð÷¤ÿóñgìî_ÕÆý¨š……]¿è)y¹™§œ~å‚|Ü^¬çγ[HN¯OZ“ûѰȈH1ÖÖÌä¾/ÆìY¢5DÜJ®û@e2òe6'yæ¢)¬!ú˜v>ËŽ‰¯ÉÞ;¥g¢öy‹4%† -ž-dïkv²¼frb¸¡)–RÑw\ -=1O Þ":<Ø–G¼ˆÚ$Ænw]÷«Hä1ÿ_«„@ß5ßr6—šû²\Pγ[HN¯OZ“ûѰȈÈduÚí3l‡¤ÀSü¦¸ ÷ÞóM˜–œ™ôíß¡ yëce5Çšã% -¿Ôk+ð`î_gÎÛ],Ó”h*x¶yañ깓å0“Ã
uŒ®ŠRÑw\ -H‰ìWkOÛÊýùó‰J™—_í§$Ô+(UC{®®ÐÄžŸ:?ÚrýÝc“&¡ÐL8;æqƳí½öcí5 -å¸È¢äþ˜Ç |íëßD\ÊWèuïðÇ+tô9‰‚G6&b^í{‹ôÎ×½£«ó³°ŽÞôŽŽ£ ˆT"²[øövi' -xФ,d^Y²LÜÛÌ¢8Ìd¢ïStô>)ÖßZܦµwƒ÷×—e6)c™òÚþ½¯KPQ;7ÀÑ{Ç£&Ê ª2 Á·¡Úý%¢i2ƒEnœ°5›×ˆ
FÃQšf"(DüAE¹4
Pml™Å›ÆU@)›âÉd^Æ…1¢ÅöÆ1a‹›Bšˆ\ždò¯šùÖÙ=«Æ&j\DE03E™W»/£XšwêšM㘔óhÌo[ [51¡ Gü'¿ñÿa¦_¡N¹!ÇÂo‚ßpVƪÌ9ˆÓ™0{ 5NLµw§0J¶ -¦¥Ak\7RóTåQ!;Äwa4–ù†‰ß®{IŠ{ËÔt…lc)ZfSÈq ¶Q¤kFƒ#¦àî’;RI^ˆÄ<m¿Øí.ĺ¶KßšMãоÏjò6‚G7³î÷
4È -Âûf&ÓjW†aÆÍ+þÍËbf–ŸûOz•
:·;ÐÁ¦Hd_´;Æ€V,ZÓXÇQÅ{g:i2ë™|¨8ø쮓;¤ö^’<ÊS”±È.Ê
Ó³{ÉxÄ.b°µŒøÕ°yÆLµpöÝT%ò (—†{µ»×K{½ô÷õÒ^.íå’©ã;î ^«2ä NgÂ\6m8K¬é&Ú
á´×‚iÁM¡_"R©ÌD±Åh]´ÆO#5OU^«ˆ®‚±:ÿºaçJ*ôÖÆKËxö}åæ@øN1çæ¯mP³9f„µ -aš‰ ñåÒ´jcÃrX¼©a\cUf|^¾iÒe™MÊX&q¢º2ø-l›Bšˆ\ždò¯âpkŒìžUã -xeèjÞ#Ìò)§hñù¡G-ÀÀÁ`Ëgž†A϶°íËO³7«àøÄwúyñ )³lδ¥Ža_[R˃û->±ã6vÁÁó uµ¡ H[¶Í*CjùS
r -9§àæJ94—s\'ÝÅ%ÐpÇñdÅãŒ#B,ì2õ¹…då.¢¬I-Ç÷©NºcÁ7ÏEÄ…¸ôAC—[œ@!Qlë$::ÂÅàEÚoâ¾OÇßÀ|"ž§íà Šfhæ§Ã-ÊmGçM—Ìý´¹-dú»–5êû.DŸa -Ü`œ6l96Ö–ë¹ìñ¼9”ÖyÃøÎÎv˜Ð!>v¶ÿñêw=ŸÔ†¦Œ»ÐáshÿG,1wµ«ŒXŒ¹þÿ¡R®KøÃ@ýúÿ'ýÀ`ÌúÍEý{5¨ŒVèA[Û8ªÇAç°Ð}Ï&Uù8Úý¹^…}Üñ´{”*Æ ªî–™ÑécBxöà3ôjŸáÏG‡¯ÐÕ€g«F˜9a>ï*/ nµØ³5ˆ2ä›AÃ@ümk<‡€v¡š†ÝauuWÁMø{Ô«=zÕ"t…_í‡òÑKÕ0«–¨«ßY‡éÎÒ&®²í5KâÀë]¯~©ïa{IwñR׳iµÈÖûlϯ#nÃíz‰ù¼6u9Ô8˜jXÐ(°Æ!Åú¦†ŽYÍÌsàb ¸‚É5Ò1#USé%¢ç¬pŽ«Û"\Gå—¸½•‡Cí:úbé -ëšþsoÑ.‡ƒPM$‰8Ž€ÁÓY aVæ3t©ÇtS@ ^}ì`v°Ù;—Ø;‡³¡}ÂŽÉ€žØÇl„×~øÚ7°¾÷3äœ.®aðÀ£¡ÆÞí9ÎÈ×6×p)ÖŽZ×KÕ\y~]9+Ã뢘iÝ|p
’ùºš}Ü_íhø{ÎìZå~Z¥ß‡2¬æÕ’°þB]nW4÷?æ«m·c ~ÿa_è<ˆšûy"E)àà -qß|¸>l@ -YÒß™ïSôä´ªkŽh -†¨EáœVõÓA8žQÄÞÐÏ©]ò¡”Na¿tñ»Wî‡{¯Š›¥k”;ðvŸ«Ç;” aQ8è¾àéˆçgÁýÄ3xåƒðÀ˜¢;pYI «ÉX–uí«H.AŽ”9îZjž8Å¿E¯Ti$„2®„ªP~(ÿ äèÔ ™äA¯«˜£Áå(í«œõÂBÀ*½Phô_pè‹Wu©£0a0:)¿µö78*³zë© -|Ð^9‘7JCaAhYã‹@ð`ÆDé -+VÉ“awM˜Ý¯ ¡µßñIÑA6åÔ!m¦Üá±RW;‰<ÒL–´»!ò.M¨U”U‰¼Ÿ’àûFHº£øùªÙ¨â~¤¥ê:t«G´˜l7õÈ"þZ^y9M£Õv,¸ž¤Q4½½]Ê‘£²=W”ÕKŠ[krxö8Þ`î͘œNN`Ñ™®Mœ…@lSë t{õZ²^)†¢~Pd,±Ê¹žÆhÞ+ØrÔvABäxˆmŸèâÓö’-B’yÑo21†5V›¢ód¤ïõßW«'6ÕÓ„ -;|äP‹—qðÐ<|èSM¾m©zé“×çíÉ¥oÖ‹õr5Ÿ-ó›Ùü×ÅýÎ’ÉMž_ý½Z~æûFÓîÓº±IIs ãÃðUƒ³i’ÃE4&h“(Ih4Ž@Ä8qΣƒ÷¶¶ âºý
_¦ðô7ë5R× ü»÷+t˜ýô½«T¥QÛÿ§ïFZÁŒ·!áR02ïʇ¤#Ð-ˆ˜é„ óê1ÃAaÇÍßÇìÆ™ø„£©XIoq É›¿§(RWCV -?¯†\C.Lƒ€® ½øÚÔ?ܬÔÁª8§§ÅpU@ñI«ÜQº"x:¸ó’]€KD5ÔóHkjÔ$AøqÔ†q€¨Jµ&^y&ÜHEœõ–L•…BÄäsø;ä˜ ™F!ºÀ@ ÉÈá”ö˜²ÁP*žvàôãI~ÐZ pK,¸rϨѣʰ’T¨w¿’ñG)düÁ - ×pO,8½"?ÁÄ’w`)êHJY - yUÝ|¢x?Hä ˜—‰ò U!Wâ2Ý@³M:â DÚ` -·ÿŽžÚ3dÚö~œÀ.
äõ]¤îHxAdæ°Ÿ•á£B¥ -ǹ·ñ,ÛqLeÝ;tîçêuËÍ^•ÅÓá9jª]+b×1$¿–YÑ^ÛØt›"gpú1SV’™±I%¹Ì5%»EDR·{³L¢Ûž|I¶¨¾zKðGb)FKÎ˸}Yˆ“O)P˜ˆÍfïu'=¢¾`U¡ŸE[ÔZ7Õ6zÑvµ$Õ³Y~]ª©¸›˜¼µ¦×FjH׶] -_h¼ -lÀ¹šÝ¹uWwUµ |eU#%΋µ“Íå$‚·v¦*m?ãc=¶X#Ÿúµ -hp)gÛcIÃü\°¯Ä€°§ÌXï$bbô®‘]QKj=+ˆØ¾’x!¾¬³Î‰ùU…â’œpÄÚ`àê|EBiaRo9 %*¥ -îøÈ«F\+ó¸´{ÙÉ]7›VNƒÎô-ñ€¨}ˆ -Z´ª4UOŽ$xÚUr£ï'&_êhú¯Úg\‚W-6
Þ-ýÍÕÇ—i§’VOƒXMB“vÛKG—˜ŒÁöA©$7§´‰›ÁL·ÂïŠH6«š±ÛÆ57çqÁuø`d+{Ï:À(g˜&ÙÍÜœ™KOª5[¢&«t•ˆìd“VP}èÖ˜ÁÖÎa¡Ðc0,® zƒ»ë6àŒ#D³ -|S*ÂüV!]²ØÎÅâ"¥ïgöùN…M¾Ô©N®2mÔ•Ö8§p)4›É¶SußÚ©2‡l%M%»5ô(ÊÈZX…¸
5³œ³ð¡d”8Q/h%ðU‰Éúövƒ©S4Ó¾gMq¿b|æ‰!V‘wvn - -Ynªû7ýø×Pë}ô÷ºÞ¹ôzyÿ0[ÎÓ‹ÙÃlz}1}9»{ôÉùµN/ÿ^Ì?ñ€Û -¯"Ôú6â„pÛÑ&¹4/Œ.µá%N\î¬÷ËÉøîýz¹Dào;\þöÝøò?Z5Ädf’«ÿÇoÉ“RЉ׿Ê.Ny»z¨°ô*]GNÄáÞÀVFÚ¾Ô~÷LDÃ0óÕa ôIÞ³ÓC—C@¯~ÛqÌpAhñÝúaßÔþˆèÐU<Íü#à ä¡ö{`¢8ò'úŒ§ñQ·ôÀN0u˜HŽ‰â–ÿCÒÇ㓦ª6ýè¢@z· f¸o -Ê“¢óLŠšÇxKJõ€’ŒµEˆ=¾Š(Äzß<õ£j‚ -†Ê3ê>°°(šëQ2!Ç̃kÓB8d©VËä1'ÅùÌþ!“P(¾È£L–ï"‘^¿¯Dº’¼tíû|t"™#&uã%²0 –HÖOt°“(âQÎ)Ø‘Ž%ZMú‘«ýÄš!¸p·Q(jv/ý¦&Nl^þìôÎÒ¤‡ënzýàØmžxhÿš¡jc÷IÓå»—‚¨HåÕà¯iŠÂÌÓI@ȦÈ{’boêÐb³”Í0Ì^ p -™µr† -Â#®Õ¥I ´‹êŠHi®£d‰¸mÖ‰Œ>A…mFå®çy,æZ¥yLQX¹8¢Å™0±¨&¿vÔÕ˜ÙшÆl#*Š[PM®¢ähâ"Z*Œ6;ð;j1Zº - z£«èì‘ñ;1$$þ̓⯂¥ÇãewpÂMüYà.t/f%T`A[>Ú…‚F»~B¡^Žq:GBupÁ!u{8¨}ü‚"„Ð6°¡©¥,:ägbWo™h°òÓÜÛDª’cĸ‚Àhy“äí²V¶ÀÒ¿ÌWÛn·ýýüÀ}°LróŠ>y,¹0 €Ó}TYMÄ£vÐöïÏZ›£»äJpb‰7÷e]t-fzNlD‹ãAàEƒIpÙŽÅã®
s€éWÇ›×¼@슎6 PA#)•†ðŠñÏ»ùŸiþš( -äqÁ]ô ¡ç@¢zÀp§>tt¬ß]YN@àÒü©\²måÁx•‹öD\ m;æ=ï}–£F=OzSèªG†¦ -Cö¦^ˆ€N>#¹ÄPõ´T¨(\q¥gZ™¢P¨H)%X;ÀBÙEñ˜\| ûšïšHS#°k5À€w£|äîR_Q² -i–»HjNÕÉj‰us*yªÂ “'¯÷¶‰F…VD–*qƒ$rT 1ç* 'LÙÙU -È.UýÁ"2íByÎÎÚ®Ùì¥ÔÑŽÆb½Œ¯d$±•ñÈÆÑlRÇåkS‡‚M>Hï÷¿<57°‚gï~þaòî÷éÃü§¿æoµ_ù¿‰U#òUñ¸;ù[nÇ8 -ø
ä^"¥«ÞánûP)£-W‹›¯|Ögþ88áJÇ›KBèê2b,m -Œ+Z¥8, ÖQ=½…+.†Ò?ÁR•ar9Ð,˜\$ªaç±u ühW8s¶º0,•â™Ú -(>v - r¾§üž€lÍŸv9°'våˆíè{Û·ÿ¾·>K £ž^tµã©b#:Á$áÎ 8ê
Ö‰ç¬â¶ûõEFÄÀ3"MƒåB. -š -6TØ%dL<òc.ð“h‚-gBáÁùzcBZˆà× -Þé°¯Òo£µBÓë#u5èšåù#Þ¿¶TKdÁÆauÕ€t ST‹ùº¢§-ŠÚŸµXLo¿ÏƒOö®ôû–KÊ|®ÞDOKÕ†W€–Y#ÅÕMJ`Pv‰>
’³Ñй?ùŠ–(‚Ó³<ûYClóÐÑ‘s½v7™¤˜Ä,³” -æH¸ŠÝýõø -sEË—Ç2·XÏ‚¶LÕ›&;êO‹²'²'[B,¹;e¶ˆ-’úû©/<怷ت  -£8s(Þïyj.n`±ÎÞýüÃäÝïÓ‡ùO?Ì7Þj¾ªÂþkbnwò5.¶ÝþŽvÎ8òâv>ýÔœÝ~þÒÝuóÇÇÛî®îÇä °ªÿ}ôÞôiþÇÚÏb0kýϗ݇Oóåoß7g~ -½ov_öfÐþʃßw²~×àæwçh®øÎÍöC±ø¿ý ZÈeÛ,þ:þµèéå‡l""¾áS"dÇæȪ2¤XüÙÝЇ¸œf -e@ ôp{6‚6èIYÉâfzÀàQI:AÆŽ;‘å8bcNh:ö\AÑPmî;"R›!#Ö?Õ×n2½~Ã7WFõµLeÜÑe¤ðLˆ¥ÞŠûw²Ž”€ZHåVÝ]Š†ò¯ý·ÄNV’tg.p,¸&´šä=I™™;!IƒûWš§·‹*8hx«n€’²Í3ê¿jוŒ2lDlïx¡7\&•Ì'¤ü½.Žì˜#¤`\(“à%À - ö 0—«‰Wrx:¦®n¿õYãøãà„K`kª¤B0¼Ú¹l¤Æ҂›;º5Ú•`S %C¼¶ -)º{ NEP3¼/2Úˆ–ÈRСªE‰Úžu…´´[˜U¢üÿi/{Ý(‚ ?ïp ¡™éž¿Ôæ“ ‘!Hä ñú|Õ³ëõù!œ`Ú;3ý_U -uö´ -f±^Ô¶›Ò¬‰Š‰n{æ›Ù:—t0Ú“5¸Þ3¯;.Ó©ªÏþt£Ñçš~›“¶L6½ƒXòK ™‹Ëêö¤‰N†•Ä•ÅmÕm®©\#ÛY(Ö}¤f9÷¼ZŸ¢Z³÷¨VS¾T½ìw¬9».Ö=û÷Ý«}QýIháÉû·¯^3¾”$¡s=ße;ß•rg;?¤QÓ´‡tñãÿãô³Ÿ;÷²ÿnÜÙY嬕Óî[î®3/éÂC£,ÙÎ~ùüáíÇï_Ÿè1 èWBW2W˜ƒìb@\4fò´i%g¯Ô8v³0 vâ'éÂÊ -:I?f£]A¡Ë…
ÄÍQʆ@ÿ›}Û!” ¦uá »Nͦ(fµr…º.Ýb|Ò -yŸ”ÒýÁ=ý„»ò;ÀðÊó…ØÏ|_ûÌû.ý-l¾Ù óŸû8=œ£È]•Ò -ª2,, ltdÁ!öÁ#l -0 -H‰ÌWmO#IþýêËH ]š²]¯;ŸÂ¬8íèV03ËétŠ2I/à awù÷÷¸ºÃ$!aáöîfƒ€´»\vÙ»RC\svÙ8ÕÁǨ±>šYõsõ±ÊfoßœýTí
çןs8½¼¼8¿Þ|¹˜™ÑíýÝóáúúrß±Æ{söcõÆ&m°~˜g’#kÇG‘å¸dÇQŸ¿~†Ö>Zho|FÎñò»xÆÖÑñ[Âa èTgr0¼]Œ/f‹‹ëvzû`¾ƒÈœ.n/ÚsÓy>)Î6óÉÓÅ—}ó¬x‹ßÊ[ûçõçì¡*ÿæUèýqûæÑ·³wúéûÉé—éMóáá¦YÛ•vnùfBfŒ¿«g¢l®ThkkÉoØÕ.{2?@ªBvŽº¥p÷‡¢OXá‚}›¥nlªÂöÕ‡8ØXºùlëìôOšé¥Ù;¹¾oçmswwÒÎ;}[sr¼|?¾˜^5‹ævå5rš—¯‡íùeóøîÙsÛÀ¦1>kT\xΨ—È;æíF÷(ë~ñúüh¹Ãçq{·˜¶³f2ž.¦“ãñäýôfcÉð8OŽ~kf÷êàºÂ -öHwÝI¾àí -”ƒƒP[PÇ.ÕmXx¡*âœæ$×)½&›) Д:IÈùŒß<öÏ—N[§,6FÔ¶„øªÚ=˜Õ‘µ¶ëR-%/l6˜:]Õ°º²Î)»µ
0DÉEWm$ßãÈ%‚§ê -Ú#ò¡R”$ÿ ½™Ük[,È5'ýœ)‰Üý¥û9¥Z)
6P -Pr¹Ë+æÆYõU„x`’Ñ5ŽsØ -8dd—,Îf–øÅØR&¢G„+p&2ªËEÑH†JNÁ9‰ÈlVÅá½<ÚƒÖqiÌ#ÌiòŽÀùñpýòh¿õåQ¡øÝqÓÓ{ž«†'a¬ËZ/6Œ*y¸£_²¥òŠ…Ó¢^H‘$V’]g%ôˆì öÜùïú¡Þç`…ÕEq‚Æ«¾fÏ‹÷ŽHë„D?e
ZYß!ÀUÀ–˜_·ÞmK?ØraÝv³Ýâõ¶-Ÿm ãÒþÓ½¼G¬¹å•A¯ª\h0(kàl¤%ŠòóÊ’At+q C‹’ÐX,ê°<‡Žßy]+2‚ája(Ä
Öc’Ré¨VÞH{ƒ\p…8к -L°
€*Yyƒ2äJmÐd(` -´*¹–ÈdªØ_ìêäñîRÕ,Â0§ƒ¥,)
` è2Á‡Îñ H‰TÕ”¶¨`¿pþ¢Û°x5†yÀ£qàä6龨ì -´Á"b‚¶8л @ø.T©€Ï©N¥Ý#ñ¥åt@À&È29ݱ‚ÿPa_‚ÙïyX9Ô›ª¦²ŒY®ÌcX’~ÀéA—xi‚0hû… ë@ª´˜Œ¼ymš„Cñë•;CÁÐx©¢×ñ’ -ÎôfŠ‘ÇkZ¯ë‡“‡ÊcvÈe[½"KXƒ±´CŒèËJâºèlŠÅXãt,¶ôX}·mÄ—Z«è/˜‡=8ñ]ä3_î:vÝf~½Ã)ÓŒ°yÝd™¨M•Â} ÖBšD€ß>ß·xF°5`À#•æPܼü\ÿº8‡9N£”Á‹}ú0¨Ëí#ÒKy¼¿;Ôµ:Y§ 9ó:Î+Ÿ5*Å»Fw YøHãÚ3tû󉥗>Ï%¢)w¡ ”5fÒ_'\qæÔÆdºày@`«ozCŸÄøns¤——èbáÛÎËÃMN<’2VP•ÆËÍK=}QÖ}º@WíóW»êÍFŸqEÿ“QÿòbAÀ`ùÍÿíoýüù?_þñ¯ÿÓ¹¿v´KáÅo‰gà"{|yA¼Í¦Z§š? θ6©“Ø -y‚2@º¨×uCŠ˜Ä”§ -©Î)7(èºènm_(nŒ%eÂÓV¸ .Çà<ÊãÍÂ_ßíε@³^(ÕuDa×~²þN§OÏ^·úA7Ø®\NÄ°Ÿ;—f¿J&ÂÍÓ墑ä'Åãʸôþ¼2nqyev[¹r
½¶ë<ó›ußïÊ–´”Ü¢¯(åº+]ìÈ=kþ ÓÐ0Ë2;Ö9€°§W–ÆkGé8+ý6¹²j`¬äŸ½Õ@é ”ÄÄ¡J¨Ó&åÓÅö&€*šìEpÚ”ÒEny©Ìæö?eVðníUÖ¾adV(èú+¯ó×dé5xÄ,Ýé°ö¼…Æ£æÞ›·ø…9•…OÂÂîÇ›k½_ÅûšºeîÛ›F“*YòÇUΑËÐò™Ò§Ð‘סâ$ÈvÃðVYÁ -ƨp)‡I¨óY;CÖàn£ž÷¸Zµ$L¼%ü*ïŸ?¨[ݹЯÜV¦==ý½ê*úd{|ÓQL2$‚ßàË{å)>žÄË -¼ÉÒÚõâ4ŸµŒ|Ë$·ûºÚû¹5üy*iŸ)7oØ•Ê~ly¹ªÇãYš…à+¯8ý?ÁBÊâ™tî:¼&nhŠ·Sõ>¬2 ->CxCn 1´¡Ô›lÀÿCåWÞ?l(S€yÅ5¯JW½¶d+iPâùlÅà©ùL
»à¯/zµX&ÈNÑ¡]A®ù¢ªÃªpÁДr<»Ó)ëÖ‹º—gBüôpÞóxšúÛÝwÜG ´?Þ¼â{áK?f$”4¬Å—¯]ÁÞeáöä„“Rîç#þ$ûôÛœJÉêâs3î¥÷BKÂͬ2N{`kâ7¸û°/«oÏUt*w?ÜÓÉP`ªŽtþK-GZë“Â_rJšûk¦”qœ!þmfNph„ÚÇÑñKõ"š‚Gžæ]+DÂkG0èdatïlÍjyæô§¬øàwÁ)Ï|„§(¾îNÖ…–9“ÉËÿjÆ5Þ6þ‹9Ê‘æ}³°*”Jq–«.n²µlôMo"˜å0M¤|—ˆýþÞ‘[Ày\ýðüR -YZÖU˯]Rá>:Ô¶‰ñ§7» ƒÐ‘¢ñ7à•–!xêYœMŠëMºÑw8”Ó42Ñ -¿×ÖÿQÄÒè<XÃÂQTómg
…DU[V;_ïKÔP€ª}¯^ÔƒŽ…dKmA!>åýz¯1²-þ©æuE=ÇY¤ln
Ö‰©‡çYÞ³”^â -Ä… -ašv]!N¡¢s„O´ào–~/–üãzá‹AÜÁæ¨úD W -¥¡¥CR,‹-$0mpxVÚš9<„À ²B§é½£®jÐm\{ŠW1î{Iü–Á)f]HÎí¹Òžþž¬}÷˜ôNeÉqÍ•º^A»svu]gWxt–´ÙcQŒ¬ûÉ(¸vgÓËÆU>ø/óeÛjÇU†á_°ÿÃþ"´Â.³fÖˬ-(ÅbL)zR¤š´Pl%ÿÞëº×N%‰ˆ5烚sž³fæYÏËýBòÍ74ÅÇw™”3øWņ%`Lr\ËÁñHgÜ•ˆJoñ±†š´Î -» -¶ï$×Xe1Ë0Ûh ŸÙJøhóÐO@yn\¡ÕE¨‡¥¬îƒÙE:?ì¤@Óxê°|ª3܇‡ÔóQ£ò×Ï.zÀà5ÙäÑ€ûÆM”¢ y9çL~GºûpùøqÚ´…, §ÓóR]Qšõ´ xª˜H&#ù‘ŽO/Lµ3Å™-<È -X{êT^ -= Oƒê¾ðÄ<Ž®Ó -½ýÎGœ¿÷dRþ -\õþZ½rÛ;F³ón”K8˜ý8ƒJÂQv®MLÏ’2¡KbŸ©A-ñoa·,߃ES"ÂÁ;O”ó¬1&hml,^œK(í î-¾¦nª'Ë[èô4+©{ßu-ÛlcéôÎ?^Ï…°½b¤kTô“áëËLìƒòº
‹‡Š|V7šÂ8)ä¥zÄ&–qî~€å‰tÜo÷2ܺ֨¾Ö€‡hÏè²ïÑ€ˆj7Læ^¢“;ÍÃ;B(ê:Zöè Ýxué[|NBû1QöÀMèCew‰ß9Òu»ïKJ¾º4I·ùõ¶¬íCqVž‚êNßÌ©ž‘"óãdžÀ¶;ìJw~'pnSÏÙêÒE789Ôð»޿v÷´3›9Ã;è,“¶Õc½èص<û^¦sðjï.›fÈùáddxó⟄“lt“¨½¾tßUÆÛH2Èß]ø|w!R3œÖõ“wÛñÉ#
Š´'»Ý„›=²· 4š+
eK•J¯$¼™`eX{¿g£+ uC}V-¹«S°„2ve—çt…V¸êðÆýâ. -‚™ó==½U¡ŽZ!g–‘d˜4¾¬¡œUýK(zã†`ß'*kˆÿ0¢"N&—/úe'·âCÈíƒÎ]ÛÚL ÔÇC]6¢ÐØ¢ÙÓøé…Ô»’?óÐüÌ#GŽ0>ÅÝðLÙÖk -þÖ×¢MÖ¦…ÒóÞ5?‡~äÅtw&ßoѹ…Ú1¼g‹;9ÚÇ!œ:QGÐ÷¡Þ·U—H¶”ªj°(Þ”S]«P…RR ,E‚LKŽØ‹¡ý5¡®§ñ!Ì
ŒXðÄ)ðÖºDIú¸—œi÷:¨˜,¯þÇÃïLÕc) -ë“V `Q·’HÓ'ôsíœÉl;ÌþT¶›™+t‰p;r¦ë»º¥ßï;ùDÖŒUËØå¾Ý©Cw -
“½¨k/¢ÎžD2låÌ–mªN´M)_E–ù¥EÆ2GdÚ3˜#P˯Ý/–µ]çF\ }¬/©?Hìs5j´;÷Ž³õLàˆ€Bp¢UÅ#µÚÆýÞMàgŒÒeg%›w -üˆöyBÐö×ÂF×8:u|ý -? âK0l;fêÖ¼†D¤úî"ÕlL&YÑrî>qí7õ\Êa?QK/xÀ"ó -Eç;ïüî•ï{á²#-ƒòJ¼T}U±WÖ¢+aÅš"Ïí^˜éSÃÜø'ˆÂhdZnâ.í˜n˜R«.„›ƒc…k.š§2AtK”™™ªY¶üÁL– 09Ý!‹Ýi èÒ®ï¤ÿä±”¢®i7Û–t_*ú©tEãÞ!"–,Ïe›êø©gj‘y¹YSÌ´ÒW©Po¿÷ÿÇÇÒˆžŽìÛ‚ æž 8&{¢Ãènk¹S‡>@e÷Š3(غè0®þÆÚUí'+æ BˆžÚÏå6N?j´¸¥ìb•¶¹¥‹7K•Ð¤äçøõ-ÔùQí‹VñT›
PÆŸ<xjvÀo—€íàõ=!ç‚Ü`rÊ0£ÊúãJ¢mˆ¡èûŽ.ðJ»<öve«%)ÙÞª
àcWÀKM¯fß²´˜²-M[ݳiÎýaªû’-/SïðqqÃ,oq8Ä'Uù¡¬²»>,öÌùD0ºäå®îßyïcí•_FqNÐ`GL˜Ik:3{˜ÅQ* ÿ“¯‘pàéV5œýH~¡Æ·_ûX-úÝe^?øðúì÷ü´]·ë³ç—þ}àß~ ½~èG?ùEÙ>ÿùWÏ?}õòÏ_¿ÈïõóŸ~ñ—/¿ºG>øøÅ×ß|ùüúô‹‡¿ýÍõ7zøÛuýéÃË·—ËÿÊõg|û׫θHö3ËÞn 2Øá@B -í#÷–%< -
·9;À±8wI}òÚã:ûÊ~Ñ!$ 3ùŒ¡ -,Zu4¢«5²®JÝ6VdŒ|‰¶Ã.J“àÖ¹f°ÿœä^'Ô[ùøE2ì1ÈŒÙwÀº·&ŽÐs܉š"Nª7¿eGZð7æ8¡¡NÔ£†½éˈ‰›iYQ/2áWù~Ì̬iù|æKößUö¶ªÚé'×1t;…º.£Y—TÆBá™ä!Ö©Óá‚/L[.Õ9§¯N=Ož&c´ W-î'³[épOàƒ‡ŠðÑå_y³ìRkG¥Ð@¶bŒBþíÐè“÷š{aëot;Oï%v((nÛ
™@/èý}foAcþBhõ…:èש£sPØ.*l -qÔ¥«È…«øJ¶{ÃjÌh߬1)Óó±¾ÆÒØùO¢Ëän\ ¢È‡v Øžuýçï€|ûç½¥9u š$€Zr©žÏÒç¬ñFÌ{"g¼ÛmýBå°ãÁØ -eÙTM;ä”0,h #J¹Í6LJWù³e¶¸~_½ç©ïEUº#î—`Ñ4>}Içx*Ù–{gË>½Þ -á{Û~9wâ{`pÃÍ’ÚUþ÷F ]Ç”ÜáæHû!rº0J"%ý}§î;yWúAÁ"nc5ˆPyVÓÃûgé†ë“¦qì³Ý.¥Ú˜ÍB[ì?³O À!î“ÑÿŽ\…¯2@¯X‘¸ýH §úŽ–ñ -E!”øØú†}Ök`×Uœ\sy[¼’Æ3ÏóÎÊDI|Tˆ£þÞˆ6œ†Úy›—¶8Ù:5`âJC¹hÊî;•µ½þÊßë¢+k'ÿc*ÏûÊ©´¢¡"£N²ð¬÷ÓO -“7_´ {vZÒÎ`0Måãsí"Mr™£§tUƒ6\æHˆôãñT«ÂæЕ–³È -¬å~äy¹Ì{ƒÛ¼ -Ì\sóDM¬¬öÉ’ŸvÍ.6/V/“ç—LÌ:ÞöŸ(º>P)Òf2oL¿è¢ù‰šáv%È?¦¸Õ?\ÖXŸ}šÓFov%©ÿÓãÜ©¦.DŒŽ¡Xñ36ƒâ‰eLƳkؘõ}e?‘´·ð6ÕÔÆ ~è|N‡ˆêSF•dj9DJ|6â¨]“Ãã -ܶ[QNŒ™'ò‰¯}EÍ&'Æ«®âÖЕ¶ð'ìÚ6x¾…æãíà=àz¾n.ª„Eˆÿi4k×¼J"ãÁU½«k¯sŒM~eÆðý1Ù,PCà`BbSöê¹Î‰NÈ#y®\<ÃŒ8‰;¦‚®Œ3Ò%Yý:"ʼ!âHûK -=šç3®¤åŽR5! v”ATÓÖ·ŽniÑ? -Ç sÕ+›2Ýúp›çUy}µeűz£âà¹t"½¯«]Ïòt@ÀÜ7 -Ä
Õ›s·€‰þdZî+øekãX# -Sc;¹îAk,Àʺ</½Ï•Ch.«bÙ†]Å-ü6õçÚCv`žò?@Ù)ßãx¡¢ÃøÀp ©b»ü®o -Dºè]L•I%Þª§`O¤IÕ+q5p´nTñP½ÉÛz -.‹@NåÕ âs}„—tR ¸[qx¾xï‘4[ØÖ¶aÙ>ÿàÿÔ+–‹ÜÒ)OüÕMžç3H_KD+f[û•-0uÏ€ˆW -Šàú¹”¯4ÓÝuD…ŦhSKDZ/¥ßåJ¹Ÿ+çÂÐnE‡åž7±ª²‚Ö´ˆqŠ²ÙC-õˆ Ó§‚dý”'ˆ}L¢Z]y#ª×[È/öɼ²í0‹®gÙI-W¤ -Aj·ÄVä-à éì¢í(W}üVࡈ§‘ šF¯°\Áz@j®k³å†Ã½«ªmEœvÆýáµCqGQ¥boó&êJj»£DoT‰Ÿö|É¡ ¿U|X‚Ž=Ô4~M_ÒƒIw)òüÏ.QöÆž;ㄦ0BH§c¥_.¥[,a -ÕÖ&€>®Ve65Ïø×KÑ|Ï—’e˜Ý™ÏÖý™ð:!šá6ÁQAx…«$- -(18EõÀ‡]♻փݽ¯éP_Z\°Z‘k¼4£«pR¡gÊ°¸™¿rŒÕS¥€‘Õ‚[c»C[©Î‘ŠÂjI»ðhô}ï3¹«¡ô/eÇbhíž²d³›cºMÙ”§
lT1´9yA7\ƒ(-G/ -3Aó&;¡ŸÝKdD¯}ðÔð¡´S`6«È©šBfnÜîºS¨T¢›ãÚàæ[º¤uCòèZ -ZXjÞ™kZö“Ùì¬YJ*hÔ‚d5½>ë~´ -+PvN‚ç½—ì\2¬ùEé±gvf
Àžmz*§u¦ Õm(ð -Ú† -™ -øaÒ6êÐAVáy„c¨‘XáäêI
žÙ‚ˆHxê{P -6mwªAŠ]ºþòŽ%Qî<ÚÍúEÍGZÓ(°ûçÔ°šð[¸(¶À¬ï`Ò4‘¢TPcéAoÝò -®|º6Ïv ˜ƒx
úCµ†ÑG]žå1Õž
žˆš÷^-g]Èîá…Æ <–c߿嬓v͵HR¬†wO~ñþ¥Ø0oÒ[ıÁGVΗêèkãŒ"˜S½BMˆ./!²"àYœÃæۣ†?þӵ䚪Ãý÷½Î -75îó‘¼k\YΑfâ·sH@ o8ŠÓáSxM
V;ã©HJÃêªß‘=B¨^Í.õàkœóT®YÏèÍ{™)¦¥/¤2µ¼³`t¤¶]–óõ]±°ÿzúË?øéó—_>~øòñ÷ß~ýüŸÇ -}wãJzÜß?~øÇ—Ïû÷㻟þéÇ?>ýý÷/¿²ôûÇ_µðoú÷t?~yrÙ´¡äÿ§ŒÁ„h% GÝBíWOkŠI3" ÷*˜Äß‘"Œƒ#½4€òçÿsƒ·¯ó<Áå½%Õš¢i=Œˆ •ˆ
¿¥‡ùÈb)Ð- ç÷( -z®¨ZòöÓ(½/AåajÂþDd¿ 'öžˆ<Çn8¼Â c±àAäšÖN{k§Ò÷”ÂjšQ¹5ŸYm—{ˆRÉeeÐ:[k(–ç¸w™^5ÿ¤@ÌÎŶhJ; eÈØKŽ±Z`ªdˆtu×[%v¯•ôêâÒ~L ô¥P6RKu½n´—HÛ»[¨}*òV±½³ÄHm“ÿV~n^†q¾ˆX“åjjƒá›cΨÑ]¶~¾tAÇ!TPÔËÅãnÙÏ;Ó"›å´æÆí©
Œ"¢&ÈDáVu,š¾»P$+Ìò åúÏfìó»#÷Ú…êüddò%Ø{‘à:ìW½×Žé€ÖT=ßË_ª
ï«SO÷¥÷V£ÓØ ôì8Yq“UâêÃß1„z—cyF…—ˆêÒ0hA>Åûû(ÃÁ R‡¾ŽÁ ž¬RYL?û-m¨P‡n ¨½ø]ˆ¦«ÉNîÇÖCzo®ŠöýM2¸ã¥ÎVóZÁYËzN´-árgˆŒ+fƒÛxƵɽ{c{%ÄŽÖë´·e䇧Îæi@}MɺIêÀÈÒª£«QH¢ÆDä`oÞµ¥Þ„”9‘ªR/ã"ÀŽâï4sRýšyD¥vK›*²•ht2,V{âRÝÅŸÍT•àY/@l̇æGÉöÛ7Ý._·ÞšŒ²FKdlÀ×etOÇæï=òA#÷qr¦`þˆÄâ4ÙµNQÌȳAwm¦¤·9¯|‰eÏaˆáà? -…Šþ!Ù6[rf6ïž$èÕ]Ý!u~Ãxì4B-BkäÑÆ\öîÑ°Z£]ƒü*WÚØÔ‰CëÁ›´dÚߪv”ÞNÉKx°ß±æ†»9»nc€Gæ#M&æbØÔí[ µ4ë5@E3‰©´Öü/ÓeŽ\ÉnDÑpÜ@+06]ÙñíÞƒÖ¯s.^+d‘•¯€r¸ë»~‹ÝDâ?ó°S],¥äßD€Èy˜ÃO““"„‹UoKh)|–¨¹4Ð -´x—¬ó½¼¬¼&8êÏXDH0”ƒpZ0¥íÔÓl[Z›ïK5wRzÉú2ºý>ZdÑ8™AiÝÏÏñËÛi€n†_šÂb.«²Ô¹ÞŠŒêóESÂ*úSËåL8$ƒ`<¾ƒ/y§¿EêÁùWOAÀÒyô]d„{³9dEDËï¯aÎhs_QåÌ{œêÏ!çžúÐKvûóÕ0!˜†9 ')ñ‰©rÁ)_ÎE h£îºøß©dz½˜Õyš¹R;©‘¨³É]r*º -ø“ G)n¬ÅÊWöV÷2øc±ð]ª=Ú5/€l·Ñøgfä
i™)gÕç8Vj&°ìR»ßaÛïxA>6æRS Š€BBÍÜ*¬ C¾}à^„ð†ì5êÊàDÛíó<©³lj³´˜å5o»CYk1+ygÁ£ß›f˜Ò¡2—„üþÚ**[ -õ r;ð«0{®eÇÛÜÈ·Îج¨0nwãaÇÛçMŠ;§¡ÉEóÈ´@:<h{ºJÅd‡EÐn$H7þ%âᮜí‚òîFæu7FõŸìÂâi Ùü~:J˜äÈ3ëiëµÐ¢âúü«@i¯YäY®-Nü }½\1dZV;ÃÝbkœ:)vg’ ¬VîK{ñtf -NxÚj5–³¥(aGod„Wúö0>ý¾ÁÏH¼]‡Ò"t+ÕÄ‹ -Ù§™`$C Kž¦f¨7´!d7}‹ôJ¼ý¥Op÷ù¬ço¶ˆH m;† m_oݽåNk.…ÖmÞ€Á|íÅfŸ¡ØŸEÔ¢ô±sàÀù.ͯ£¯ÆQê‘‚êÇRRÜÍüŽúú%ÞÐÓ®ÕÄÀçÄB¸ Gy"iqaZ®uc•æS·õiºœöŠÖPâ±È£ï}a{Òæ\oKµèH²Å³[¦€øÂ1$l?ŠY.‡”Íë<¸¨1û(3ãà+
Í*ën`1EßÐ}C+$TªhÖxºÙ4qvˆ:¬pu3ÕùŸoså½`+Þ©¥>y.±Ipœ}éî¥~² -fE%@·s<Ž°?#ˆÃ -‡œf†ØØYNŸw™õIÔWøHµDÀw|Ìh9Ⱥ=”ÕÎ –s´zB|3 -Þ6˜íqãiµ%ñ5¶©½˜gH¤¼@ïŠÆúW„ötÚÈ2ÿ·Ïé>ð%L»ûݼX'¶Vk±¬©b•/ª¥ô/rRò¼vM!RŽð—¡ ÎÇ¥¿äV'”P§„{¿P‘Ò•'´ÂÿíöçKØ\Î8±ž+š¾Ý¿ÏH|1D¦l¸vÊÏ—±àubƒ³{òöKN•ªŠšu™µùQLæH|–JðDP8îQPÊÈ%9«-Ó
–ݡÈQr›Õþ÷xšµ”+¨)Õ]IèZ0Øríý€Ðû}‚¼ešIg"L¡»Å4½”~õ&‹ÝÒ,4bæÌ~˜A{û׆ÆNå&ê*IÎh_q6⋦GQžn$0lj”‚‚€é}8.xüñpUr+ µj “öÝý›¦©¤[‰w8mê¶öÎhÙÿ¤vNA†ŠàAåÚ¯!î¡ë¨3¤õÉ)zy WA&S—H)Œ‹ÖŠ“ú:m÷g2%Þ™EÖܪ‰¥Ëíü÷ÛK>ûF3V¶Zóû&)&‡wœ%Ð ”¾3«K -Pùõr;eÀšþXgO' ~F—! QçU!.<WÉô¸¼ú±°¾d£¤ßaŠê>nþŽÝãy• -s;n%9>Åà
KÁâÊ–té÷ÍãÉDãA¡ÓB^dGE1ªä»;P¼42°ûÑ"¶JÓ¿MyÄ›LCk`óËüñ…ylùŸ¯¦‚$è·AöæNBxÂæ’¿[n¼Dšá2Ûr\(!3We¤iOps>Ç¡¦õ6T‹|#ˆý[?;;¸æ±°Ø7í»3©vgõ©ãEî*},]aèb™êy¬/Hóœ>çy8b¬`Doyä·ûÆ:DøWïÂ7QÔú3snÑÎévó é&ÏäF€ûGÏX‡&š«òBçü¶$fƒg„e½ÙrJÙ²±c³áKäZ´ð[uGà™WT;0‰[aŸ‹¼ºQñ©D·¯ñú«CQª¿Ç«búO84…‚³¡RD=-›Ïyº J
Å”9¦¶\àŠ¦Ü -îç©oæÇL•¤™Ù1üîÀÄS-I`åÙⲟ@ }£[GfÏI>Æ7e°ÒΤ§fÖo - -<ÇÛòÅeúû‰ærK‹5Š6õ©dÛ¿7~”㣣Y!a[ÔÑ>߈eð¾[\r@7U9<wW!€mð°)ýGT}©ÇÔ5Áƒ$úÑ=Òí²‚¦Dù`UÁ´g#°äƳÎkYšºê#l2¶”Õ>7Z9ϱœrçe´z{™àùu¬¦¬4¯5ØC[· L´h"$¨:»3Ï‘åÜ¿#àÑF¤Sär_ø´‹ôMÊš2òÜ:¤gÙó;jZsÔœ¸^õE©¤ÃhQ_(Ø”lÐod@»ö¨i:ÉlêÊ_wc?†'ÀPŽˆŽð¿Æúã™qcA‹3OÞRivõgœwòh•{"ON¨‹¸”v¡‘Ÿ…^žã¨þ¸™¼' tAŽS}º_®[ôh^o±BYŠ{ãK6ZkñŒÊnž°ü+´û+Äì"pzšmíÑ~r¨½ )>kÔr1dƒ.`ßÿ2]æF–ÜXµ€>´9‘Ø™êÈŒ(™>Ðþ9ç"›1R÷…Äò–»l”ÿ¸&L-Wv- -×5Kz‹þ©ÊmŸ^Oùœš£@ÖŠª})!h>€÷êÅ-˜®_f@½øÉâoŒã´øäY@bí4¯þ&* Mc7Ï"Óú@?¡ØPÖô6ƒà©¢¡vQ!#Ʒ굇*HA7EBd-ž¢SÇ0Ú -2©±ðÐê§Ý7»aÉÔƒy+Þ®v8@\54„[ɇ’H”%´^z”I“²ÔÜÁ¿ÈG>e‹XÑ[Ú -ÊÓJÖ€ZÆ¥NA³ÈwÖd—\UË<¼–þ“‡Ò_ÊHP>áq[z±¥™¦yM]ï3¼%HX¥o·‘1»K^iJ· -³SAÉŠ÷ª ÐQöˆ{ËÌ.è -º¿Ìj ú¬ëgU:"?ø7´N(„Üò¾‘„TYzÈf!‰>/‹;¹¨Zã<ÈæØé½XžKÙñ»ð€bÑ®†«}(=oªÎµH–¨Â {ü(}§$Õ«é„PUŠÀ2¬mJdçfÓ'Iû.Ñ:QbG†=>Ê××u›T’{Oî?‹V/Ý°$ÃÏuAÎåþËV·jŠb7´¨6%ÛR¦SA/é+8iåä-Ú‚ðéT=ÄÑجŠÕîæõKß_k‚G -»&íþ/šèQΡ"!.ƒTFk–V -þŽ°1Ÿ»©Ðš ¸¤„kþSPÁ‰Uñ÷;^gÚ÷'¶êˤÀ -ežÎh¸ÿL–OŒÃcfx0Úw„ªN¥ËÄâÒ|kljÄû8÷_1ùÝÝdÙÊÎc5hº ‰LZYAtõJQ0/¥]¼ï£NT¹áï)nt3C½ -} -u£üàL7@OSLkpPÌܶ¨”ë}…± -_mݸœOGÑ™îÚR'c7c_9
Åmr¦ŠÿGCZG °¾/”Í|F·S'uì²£¢ÿ?ïPµœMzûûFÈ -™[·¦ŠÙÚ¾Œ -¡ìs%±§\oó5&{*~â<] 9cøxÄþu²ÂUýË[HaEhÕÎ]îQó³4Ò6 -]¶¤9ûÉ•“z•ë¦¼[ö`üÙòZE/%C:‹ö;íbªLªú +oŸçË‚ür"XŠ•“jŸžïæí¼¤ƒß$¹•Aó(`ËWç·@ -DœiZäUÙ=º8)½‹•U1±´ÂΛsOôú#.DŸ] ·ÈT…y÷›(™«õ´7ºî7ÿR»Ð¿™0'P¿ƒZ™6½C_j”AþrB·BÆŒÒÊÂÃyëoÖÖ a²ªkv$mßš–Ö%–´1ï6è˜mßïs÷EÇ\)Œu½²P„å?õÿdþH¯\ šNÆxQ—€9ò>ÊCœo_¦¤Çr{\aOÓŒ@èt -Ôˆo4´^=ì2£Ó¨~ aí¡ð÷µÉ$/^ÚOêºé/^àÏ{N8úŠ¹Ü>GA;{Œœæ©çè€ò£ÐŒg'a2ßKm@Z*ø3õ†cM31ý“Uà÷o(À
à-^çMLÙ¾1º¨ä VçqÅêÝ—)^†]F«P`~¯öOh˜‘1Ô†ýÁ¾0Ð22ûv11§~ð¬C ¬©;\Á“Å|r -Üý_hö²Š[?€Bîe'¹ÅCºý¯›9$…kÊÐéÑ?²2OóéÊ]ï¤5“Kõ”BsÛR -îÀ™AsÉäúZ&¸)i†Có“+z÷{½¹P‡-s0ÓŸ“iX\h¶íÚÙŒ,hºÔ9o'[4î -€êç8Ì;îPM‹ µ«ue
¨Ý«ãB?#òÎi -êGVp¹D;Bê9©Ÿÿ¼Çðy¬Ù:vê¨×.š’‰ -Ž#w“wñÛí¶.NÙÇÐo'ÜXlnob)_ѧüüÑtKù -Š6Äl¢ZI€ÓÞ)·•~4…\sž"Ø}ÉÊš^ÍìÒòÀR*ð¡ÛŸ+øùƒÏ¦$'ÜO•ø+N¶ßFáÔWÛnÉýþü‚pÕ·ééÎ>qt1”ØXC¶wA‘c™ 5( -¶þ>çÔÌô)Úñ²± ‹]ìꮮ˩S$±|à@¶Œ<Ì œ5Xð4Tì#¤4?ø<0ð•;(r‹ž
"Ác¡VDâA¡dp"ÔF@‚+CÎçÔh´6dìô™¦¶‘¢RÆLhд˜kÞ2€Š -bØÄŒ -²[O~!Aþ0z1=™l¶gËùv¹®g›§ì/áT«ãìäív³¬o³£²œÌçwWëíŒ[³?cãÏøjì5‡($†)ðâ»F–3ë,Ñ›ž¢$Ðû¶µÝ¿±}APX%=ÊÀA&'@€UxuàøW?Æî÷£˜g׿tv&³›°‚•Ï›ïD_jŠš„Äô&N–o¶"#·0jØR`å%{çÎŒõhhSy%Na´× sˆ}`š@3€–HªØˆ-R -~,̱<
N·ïìþ/oY¹@Ty÷—ÅAJÐÇÚκR´Îg×w#‰v÷÷€"š*e«E“FÙƒG”sÁŠ…˜þ~Óå7ݨÁip™ƒ"°"Åâ½²D¦ - ‹
¤ol¶x4NØk²&°%ÊÉ~½&EèéApTБ° -t†×[罘> -|\ñ¾…#ßW>4?×QTµÑT>Aö‹19£øC b -§»ÖšjŒN¦Öík’Ä’‰i³Kå
¸±Ë6ð2d&C="zH:H³ÞQRÜPm>Ú Ñ©±Áí˜Ö§#ºEî;€Þ.H@µFšTÚE9€ÇƒtBÄ “…ç§]Ì)Ìaë3¬{ˆ¬EÁMÞØ -&/ïØ¿iüÌšñ¾½ãçOÂÉÆCú=9±Ð
”Àíò>µmÔ»{ZAÜWjíû0-&‹õM•ÎV«%ÚÿýÇå<+7³w óÇÒRò<»~3z¡ -:ÿqÀÝŒXÃ~ˆ?‹‘O=ö -±
€ÕœüÆ f½°TvÀûZS -ƒ#Çn‹íÙÆ›ï=t™€þ‰ùo´òã*}•ö®{©Õþ“ Ù{Ô@ÒÒ± þa˜ævŸÖÒ){Ö'¥ý'’|•G}ãË‹J÷££tbŠV‚?Ú¬ßv~MÔÝzδð…/z
øÆ;+¾AÎíH@ŒœŽ±Ñje–L&î^@û@ä6Áš¡Ú×®:ˆuì;@ü>Ðà=„ÐÞñ$ŠâIØR€5ai-+×!3$¡~òXY."PµÏ‘¢Ó¡HZEV³¸èPs†Ê˜äRu×@Àö—¡¥ÞêdépÝ€¿,»—vëÎݺ÷V'é]š$Û“ M±¥: -qUé"~ŠŸ÷)@ŽålÊ¢ÀQ«ß¾—c§€‚8õßGU§lìN -QüÄó½Ö¡ézGÆèx¡Ð¢aM/¹q³ÞoʯA•„†2;ézÏ.âWñäé$’-ó‚ -ží×L3BhEnÂŽÉ2KéU§D‹Èy2aa2Ó{Ô!Ï%¸@
âÃ@P(¦ðÞ“NGØéÏ;M5¶[%ë@ö¿·¾K¾±#h·Ë’d?æý÷®Žº5‰†Sn ÆllÑk6"«ÓšŽ²Z4Èh5whRxl@¹1Ûg€Hn -ã…û[mLð#hËtµ¤ømÜJ Ò%o$$©¹QÂwsYG™?ȢΒƒ0Èp€©G7 ÂñfŠ};]-5#F€%¦ß¢Yry0>t@¤b‡¦"àÀ©,‰Y’„„xi-a‰ò¡‹kßSæ§nwHÞè”jãM1ÜѬÛ>°—½ßMÙJ]^ØS{QèÉéiiÏÝÙ…5ç»”mò¿¦l¤\yø"e{øð#`‰þ¸¿¦,'óùãÝÕz;ãÖ;ô/øä<õw:ådOqæ1\U³Uvtµ~¬uõðpU/}+"QûýÙrvWm«Íàk-×}=©oWUúîçìÈ6‚¾@SûÊ¥¸õ•K# -€]Ú7t -¡i´ÒȆWÀ‡’!>ëû -|ZD)lMàƒ&!çÄçðy
~5,Y8~‡XB.Èc‚L3íëòà;Íe“ªm‘··o/#`ÓéHÏÚiTšÏ#1û
^Ÿç†rôñI£×Z£’˜WRâÝE·;6.•LLŠæÛF-JW›bc“´ã4JëÅaýþ >訒ʑƒc•“Aɪ -ÂcüÙ4C}lήMª¥“2J3¥Il†˜©N=èy -XYýô4O—h]™íýä6/SGbëèk'Ay«€µë±¬å<»$uë}³ZÍÞœm‚;„:Ù/ÁƇ0¦Q
x¼œ5F°)uóg†ñÕñ7™v«Æ^ôNÀ,N˜ð;ƈÂX•GkȼTo÷œ²!çr£l3@²‹»MÔd¸æ] C”åÑ’:Ò:#2\öë>»<J×çç%a¦3 - -tÆ¡õbvj{]æMe¥Ã.z.%íŠÈ8ƒDfË(ž‡œ³©û1OÌʈÌegí¸¬–Þê‹0%ÖjÓÚ¤`(bÀùŒ¤™ìöHÈÀØyæÕ&ºiÎ9]h†ÝÐ:¿\ ït ÈUsä§éÌׇ²|ðlùæ¯&Anùã/ÐðV@¶Œjá!ÞZkmÖI`e(K‹*€Ç_ß›h”>ÀÌShPÓ+›jÖ@¯!>tsb#Á¤(@‘Ñø©¬‰Úåâ3îE7°51u›zÌ]U‘¥ JcPÈ¥+Â)éÅmN—TN‰ÅÍ#ç²nMÈ»f@C-wTJdƒ>¢3Ö¶ëd³L/ÖÃÁ\×.9šqÙlæz's9™pÛ¬‚ÞaÅLÀlDäìêÞlŽ;è“7¦`7àÒd¥Q6-¾pëïÛ¬€%\.nsº¼ nýõáWß¾øèîþ“›W÷7ïn¯î–ßrË‹ß½{³|ðÑç>þéêþþúîöÓÛ«ïÞ\öþæõõÏ–_³Ê//>¿½¼èçÞÝÝÿùá‡ë±$i²@9©7"ˆ]Kð–äÍ &¡øÅ—×Wo¾¸º¿»ù™-Þ׿zsóêú«WWonn¿ÿìîæõ®þçÇ¿¼þþæÇû»+Ýä|„ßòÿ¡¯]ò+–»o?½}ýÕÃÛïÞ½±çôíÇl¼]#|ùîÕ¿®ïŸáêÞ›³SK9þ‹j –½J¨ŸkL?ÃÚDC.½]Š‡~Ïú÷’–/–¿ÿÃ-¯‡¢Ú<…Z,’m†è2y0_ŠÃ‹Á&¥è#Ñ&¾å§Ã\\·˜2æ’¬%°€ã }`M¾»Duð8 -ÚT5çýdŸg±øÖÐ*×!‹ƒS~`¨k…„Ì¿:˜9-€«mÇ{z…õ~Ÿ.Æ›®—>J—ð=)]jÛ&ÉŠšv‘ï·Ni0§*2À6™qV¸Åß.“÷òpÔMln¡K\bdDYQMŠÜ[¡§×zy ¡Ýï]¼í‹¼\íxd,AéÃ2,öpn¸Ñ¿"ZëäÂÙž4Ä™±”?Þ Â(k,›Ëi€DþÄYf\广H.yGtz¹HƉ„þ×ýëe¯ä4á'ð;(<ŠÝÙÿðΩ#(žÀ‰pU¼=_ÏRøJ2ªKt#yzfzºŸÄ&[ß->Ñ9_¿,O//Ï×ëÏÛÇo?¼Þ”?—-ÕGcœúÕl¨º«X½ÞsÂCÓpÐC Ã'B’³ÊS§Fz¨~ôÚJ×}[³)°³Ò@Ã×.AÊ]âY -ì\]râz+1é¨,®f< ÁŠ>Ûî¹¾…õPÇ´I¨l -ˆ2˜@ÅÓ™Hë)ªÿèDWEGDAϼ$Wþ1ñdÕX€¨òH”ècјŽÊf»£î—çïÿÑ=ÌI\»GðÝâsÊ\r*#IãtÝPŒYVÀ‹ÜÍ&tñÒÚ&Ò@Ãß4 hÖµŒö”†’\®nýÐ -<„ý’5S’sŸú2D ;œ÷è\Žš_ÊÚ]ñχùç2Œqaw%†ÄÙ¹ÉåÍMs%Fñ}Š“LÕ§AcRaÀûªÂ¬Q°0fF¥^“˜ÝÔ¿þ¥Je„ºòŽ0™Š^¡î+¥Ë²Ùüõ0THÁýŠptvF¶Œ>’jŠ ÊÍ)¢ë(j-•žJ ͧ”¡yj¦¥U*±QѽNN8Ýk»ÁaM‰K€?!îS
˜§ÏknpÌÉÎz¤ÜÈI‘w[U¡ôŸ˜·Çz‚+ôÿ[€ -H‰ÜWénÛH~¾Cÿ1`Õ÷1ùe;“`vœ8“¬‹…ÁHŒ£ - ’œŒß~¾jJ¶Ä¦lK£,°å ‹Õu|uts¹VVeBåÊjÇDîµ³”/ÙÁU÷x:5ìχãQ1½c¿€tØá`‘Rˆ#Ö½˜O‡£kvxrrÜïßÞôÆó‚xØp¾ÄßìcØá»ügv›qÖËxçB²7xŒÇßå]Ö<×&fs'Dì$—ሤ‚Õžu$ÏU‚ÁØ bß³Ž”¹•>0re¬f-óàŒ`ÊåÒ;Á Zªœ[Žkë GØÜ{'éó"Êz0ƒÀƒu¬ƒÃÎ)Í„É•ð‹Røà>ëg oµb~i^Ó…»l¯¥Í¹W†u”ÌpžÁ1¡!TºÜ8(‚—ÑAoaØ¿R<βG±ñ¹Ô\*"ù\x¹4p…HMKÏ2`„7ä„ñœ‚ð -p9$`NkcÉ>•;oä¡X -¸VHøNô¢0Ó駖éÑzz¾oôŒˆéŒb:åG¯šs>¬I&ýƒ«çÌúàÚ~Ú‡º]æýê¿_Ô*g,Ec%45KqjêÖÞÇ -Žcà ‡x…Åà¥Kh»¬
ŠíÛeuˆFn»<àÐëNí°@ì/ıBMBs#ˆç)”ó}qÀ:àÁ(<™EtÓäàj§¤–µõkoë5§vYDö‡9]†7u,%#¸X%t¨/¹ÞS7DKwœJ
0À×Ø·¬1uÇk,2DLWº’eÄ–uMšýÕjYk´d±Aö&«
§Ë
“õ&ÒšN‹ê}úל¿Ws-KR$n¿&‘¯É¢T·]•Îé²DÄÖ%À“.L‘¸õÊÔ‚ÖÙ>oÇ:š+óÌƇú·˜ûpÉÕÑ/Ù½âõäöøÉý+fts‹sÌ;Ø>qBhVnYÌbÙ&«Ÿ,g±M5׳êdAkQµ×rNÖ4Ð’EhsU‹ù¼¾¬\¥ëZªbŸæoØɺ—oÏ>þöŠýÂ{ãþ·r~¥®ŽØ˸ñ+ðããréúßÜÞGã³Fü_/§1`¿Žw7ŸÇ½z½z7½GzÌ¡¦Ó©É'7Zý½›Ð_y_ÝâßóÏ”ýyvx<.ÙÉôvö•½-FÅu9eçÓA9=zü«?žU5¼ž“¯Ãþ‚ópî2É&óœ/𜲱D¬ò›Gù[X£ˆ×U1’_EþÞøv4Xç"Z¸MRÞÚaÒÈÁóüuMôé×bÚ?8 ®(¢…õC1)§å€¡üÇßÊGÅÖV¼®ÆÓ¢b“öE†µˆïAôñt:þQS£ˆ§O½Ï -;dU
²ø z]dÜëÛ‚¼Ï -h«wصì#1»ìãhTÜ k°3ÝeË!ÕeõÜšËevîÝ‹V»ÏF«„l7ëÞ(±_£Ö{hÃ,ÉŸ0æ¿äMý×
w# Æ´R]“Û{üdk‡Q@ØîÍ£˜èõVÅ5„ü¹HìæXóþÙä¡ju0%F[¿ÌYe
vº …!¢ˆ•wÎ×Jè-ñØ:3Bý9|1¿«ÊYÖý}4þ1Š/˜^》=àÀdØ=Ædû½\~힎o&Ô^+`MühëjêQ=¯.X^`jî~ΆI`*áb^ô¿m!ᤘ
û+ŒGƒÛáü9G_f¬û¾˜ÎÛíØÖ“†÷úË
’ëC‘›˜ób8AêPãH¹Æa*l†ó(EFñÕù´î?dáê^‚Žç½²?ÆL=ÀÇ°X)h¥¹®âÐ}ƒ¼ê•_hƒ[¹†ÙS®uW“’¾…i/2³Ôñj"¢/²{ÅñÞ•³Ù5šó©˜ïO¾ÜbèË«rRŽ³óôK¯„µHÖãÕO÷Jš×
kU¸üØ~ô^òÚÙ5äºGÃþx€úA^“ÀÙ¤*îê×y¬E}!EzµôäK‚v&^KZì9—Nƒ~yœÝ÷vy‡—àábPNkÅ~àë[öïÿp6ÀÇË^FÌ—$‚ü’eìpE=™ó’Åœa«…ÒHó“ -PlQ%å`7 -{p—ƒOÝðC¯ûñàÀƒ„
ö?âÊ¢PžíË–ö“bxðRî'¶?© žù2+çtñ}}¼ñՌķ±çÉú‹ýjÛmG¢_àÐcG¼_æ-Édƒ,à éžwµ,w”ؔѦ7ùü-R’7GÙ‘”¨¡h°É"Uä©:ujGvµOŠô}4vínÎÊŒ]-Ó•›˜B 1®Ëél±±
£$ùC’'#É¿‡ä+ù¯š¸À‚ã‘<´„çLwIòsšK¸–Þv]B6gß6Éõ3›Ï}€¸Oü?<fo#þÆ9;€úò;$áYÙu@öÎÓB»*QÑj¢Ý¿—?`óåå«GÞùð)bDŽ!ÒKˆP4ØáÍ 8`„sOoàê: -þE=•å“wîýM²ÙìÍzwþŠ~¦‘ó½Xú´g¾òG²†`ßÌWîð‚õközi÷‘¿oÜwìÍ–‹ooݼ·wïåÂo&³yrœ` Tét‚ÖR §4¡ØËN$ò‚j¤rñy”N%” -Î@2F@ð ÜVõ(Š´i|—#óíM¤1ÇißJ#® -æôBµTFT2F&•‘«qªÇW$Jã»™aa«‘V„´ƒmG$8[,6‰
n#ûPO|¹¡³«ä¼½³vdWûð¤HßGc×îæ¬ÌØÕ2]¹‰)㺜ÎÛ0úG’?$y2’ü{H¾rÿª‰€,8É»F†é±Ùí£ÂDæ®°Ù•cˆô"j°!›=@;Zq°ÓÜQÆ[À÷ƒÚ‚pž„×/I¼u.ø¿wÞ˜ìÙ±g`•*%¾gáEìÄGiÑ‘žpo£øét*ºÊÌ|›Ú&[{èF¥üZ)óQ)Ÿ ”)Ç‚€d<W#â²VJó¼Â¨&˜ƒf8ÇTΈfA‹W-Ÿ•ŒÑÉgä.z¬{Eö4¾Ë‘i÷&àXhì!¥¥o‰„z) -V2Vª -•ƒüWM\`ÁñÀßU9¦»$üÖ9m°&<wu*QÝR¿A"Çé'FÄpc„7{v”ã`!&müA]B@OÂë—$Þ:ü‚ß; oLölŠƒÞ3°J…*_è³ð"vú£´hJO¸·Qüt:]ef¾Mm“=4£X~-–ù(–OËJ0*0>V\jx•Ì üÇÅ#(a$ƒÁX -^£™•ŒÑifEÕc©+ò¥ñ]ŽL´ -ˆ "b)‘9ÄŒI¤ˆÁ@6X#iâŽ(q¶XlÜFö¡žsCgWÉ€{gí¨¯öýI‘ÌÆ®ÝÍY™¿«eºrSxoÆu9-6¶aŒ”Hùd¤ü(Áõ$P5ÈÕDÀŒë][Ãt—\ß:§
¶1ÂX箶Òõ#r‘^B„àÁ†oö -!OøŠá´Z¹Biå3ÅTR`„µðš+EXzFT2F¦ž‘…Ë^‘<ïrdÖ½‰·FC‡pNA -ž0,ÔYx;õQZ´À$‡'ÜÛ(~:‹®23ߦ¶ÉÖZQ*¿–Ê|”Ê'HeÍ4•N+Ä9ÕN!cÍ)É¥2‘˜iä&ˆVÈ›B9Ñ5òQɘ|F®î©ë^‘<ïrdÖUàÍsP#&¨‡›q.÷áæHÃ;œSÄ•rÀŠ©¤5xkØ@H;xwD–³Åb“Øà6²õ™:»JnÜ;kGŠµ`"Í]»›³2³WËtå&¦|Œër:[llÃŒ‹Áa1 c18¡ -壅²ÓÃZ J(£R¹ÑœWfPÃ`€©ûó6‘ÕŒ¨dŒL5#WïTõ®ÈšÆw92Ý*€VZíðEsÄ|+Ä%’h„ý¡˜JêßQ]‡´FZÒÒñãl±Ø$6¸ìC='æ†Î®’÷ÎÚñ`-¤ÈìGc×îæ¬LæÕ2]¹‰)<3㺜ÎÛ0Fþ?ä2òÿÑüï( -˜f§‡ÏÃ2nW ¸†‘&Ž)a˜àt -NI‰fr®™–aw.
{®Ãs -%¹´-Æ/p›ÍjgpÁDhá½^åM„ -Ç@-ÙBí}ŠR0—+çnɬäšLЧÞ1ô@ç6ÃéE²äNë¤'«˜jÉ«Ê"Fñ2>M²2®P¸²Nø¨Š†– -ÎŽÁeÒZÎ÷¦ -Ê×ÑËÎXôvdzè9<.n¶š‚!óý -ªZ#…#&¬Â‚]˜ÅD·ÍÂÓ†‡Ê¸ÕÒ‚ ÆthT•4JåÖÔÔ°z5”eL(šÇìµ²Zâ‡+hÛà4´õ” -c AÛœ' i”öž€d”ˆ.„¦óΆd²1 -,Pä2a¬Täjïea.Dÿœx"ìâ9îyR“È#×iˆqà08ˆ!q¬NÌê«.¢Í$ÑFc2ºDÀ0§DË•ÊF‚DwCá…Q¡Xi%Ýeˆà^ei–G9醅RE¬XïƒÁɬöʵº²…4!ìÊ#-Au‘Ü-<'B -Z'MèÚ‰Î; -— „¡µ`ùOn²»`¡m´ëE-Á†º*ˆÊ}B1:´®²µ§¬Už-cIf|H/Q$ë ñÈŸ,a.D$T˜€$[«¤îÉ:l‘³VUz.½%M±‰":5iW£é• -ê¡¥Àü€CsÕ™V]:µã)zJç¹–ž"fƒõm ŸÑ†ô®2n€©«=åIh%{xbÀªÞ5š|Ê’Ê@õ Œc–Z]GX…N-&m
È -MVº>|MØ]ø€íÚ)-
1FbCw„¢\lï¹U7…É°.50d T^ÚE#¨;Ñ:J÷º5@u²ƒw½¬Ñ† 1üªñ3²˜ä(æ2D…ªkÈ?M ÐTðÀø ¾7«¸ŸâÁ {T”´ö„qUTðÚ‰ª#ÑéQ+gØa¥‚.•ÚS¦$Ù\Ó-…”¬“€ˆ -¬õ]6Îp=?ƒºír½âäg¥œ!5R¡x5Æ6Ýq‡F×…[ÖÐò!à@ I
¦ç>˜[¹’U -måVu9©’¹ùwx -×›ápci~‹ô4ž$Q™GáÊpNv…ªUÃ3<€-âéú¦-Î_ z˜Ÿ”aÓè÷ô4ËەÀ«Ö´ç~’Ì“¢Œ/²yrµ‘ýÙ+MÜËg³¤ˆÂq®ìÏFÀͧéü,Å`f‘mõV‡¿w¨÷ÑlaAÕ@*ã¨Õ‡º/éz7§ºåà¡hªºsQ¥¯íŽv@dý²ÃA †;ÔWå|"ôi¾ûN¯C
5¦.¢<ÍÅ—{O²*½¦Õ†› ~Úâ—7íÃBñª}ÓY[
ý¡@¤YσÔêkñMS”jÖµ
»gÔ«B9Ž×M1"ø¡ng›Evu¯kõp¡oSÎ+jF”áA˜¸‚Õô¥¶V5’Jî2¬i`…P¤sJ@_á*.XR5#¤õ]™Ö¡UiN´ŒÛˆRÐ0SRзPQEÙ&ÜÿS_m;jÃ@´?À?äe+–âBH÷ JW]i‹HÕJU…LbÀªqc¶åï;¶ãàpYºmÕ3ÃñÌd†9AôF·š*´2¦`ÐǸå"„÷ƒôÚB¿cŠ -=TTQÉ쎫t[ã¶÷¶£ÀÝW0}d¨Z ¢Æ,ÖÈƹtÃ…
,¬zH3,)þ¢@hE.nφ۳ô·w®Éöt0ì"Í' Q#Í»Hž¸R«TßÅV…ÅŠ³ŸÂ
í@]®ä~¤÷`qG çÑËöt³ªTAz¶P`,´¸AJƒ@Ÿ›Wü>>Äè䲉U†¥Œ³Ô¡uàBÃí£^»«ö¯#0äü´buÄ‘š7_ ¯‘&ä%õ蘌 ‹´¶TºÂ)}¡Žõü¤Ìèy¿(Šô^§«*oÓH4º{q<¨ÝôÂÙGžŽ1SËÎœdIùl”ñ± \R¾¬6ÊK_È©Ü1òHsY«’Þ2ùës…Óì<L²-O½™àDäTgÅ3ñ&dÁH"½§†Úh,Þ'Ì2ã°ië}‘¬H -‹XOúJ®r¡Ø¯Ù|9pÓt·žgLÁ¼Q1&ßÕb®ß,WD¨°ÉhÅÂ+0ÀœkÓ=DJÓŠÍ zãÀk°O0ås]ƒ×BLµÁùLŠB³d»~3Ä×nf-{öÞëM$Í8;s~úü8Ê€j2ÞyõŸkÆÁÜ„Ý/è|+ ñr…ñßx|Ç+YQ– -èíx¨LiUr·!ÆZËóÙ3ù]ÃkM/«®Ï˜m¯ú>?ãÇñºp+"É+§ÿ´:\MßåÂ051é5•±ž·ÿ6¯9å)ê_‘4ǔȑNâr~®÷+½þ߬„ÿb%®ÊŸâ9#×4þÅ·ú§ý%À -0000000016 00000 n
-0000000187 00000 n
-0000048141 00000 n
-0000000006 00000 f
-0000202607 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000016 00000 f
-0000203051 00000 n
-0000203082 00000 n
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000031 00000 f
-0000202677 00000 n
-0000000032 00000 f
-0000000033 00000 f
-0000000034 00000 f
-0000000035 00000 f
-0000000036 00000 f
-0000000037 00000 f
-0000000038 00000 f
-0000000039 00000 f
-0000000040 00000 f
-0000000041 00000 f
-0000000042 00000 f
-0000000043 00000 f
-0000000044 00000 f
-0000000045 00000 f
-0000000046 00000 f
-0000000049 00000 f
-0000202935 00000 n
-0000202966 00000 n
-0000000050 00000 f
-0000000051 00000 f
-0000000052 00000 f
-0000000053 00000 f
-0000000054 00000 f
-0000000055 00000 f
-0000000056 00000 f
-0000000057 00000 f
-0000000058 00000 f
-0000000059 00000 f
-0000000060 00000 f
-0000000061 00000 f
-0000000062 00000 f
-0000000065 00000 f
-0000202748 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000202819 00000 n
-0000202850 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000050119 00000 n
-0000203167 00000 n
-0000048193 00000 n
-0000048572 00000 n
-0000050546 00000 n
-0000050310 00000 n
-0000050423 00000 n
-0000049675 00000 n
-0000049831 00000 n
-0000048951 00000 n
-0000049111 00000 n
-0000049161 00000 n
-0000050055 00000 n
-0000049991 00000 n
-0000050192 00000 n
-0000050224 00000 n
-0000050621 00000 n
-0000051020 00000 n
-0000052016 00000 n
-0000064229 00000 n
-0000079796 00000 n
-0000088775 00000 n
-0000102862 00000 n
-0000118580 00000 n
-0000137134 00000 n
-0000151107 00000 n
-0000155025 00000 n
-0000167319 00000 n
-0000193710 00000 n
-0000203192 00000 n
-trailer
<</Size 123/Root 1 0 R/Info 122 0 R/ID[<F744BDF41FE14BC9945784F7EE756AD5><63A25CD788C54777A520AA0BCF45A62A>]>>
startxref
203363
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_history.png b/chrome/app/theme/omnibox_history.png Binary files differdeleted file mode 100644 index 1466879..0000000 --- a/chrome/app/theme/omnibox_history.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_history_dark.png b/chrome/app/theme/omnibox_history_dark.png Binary files differdeleted file mode 100644 index f9071ec..0000000 --- a/chrome/app/theme/omnibox_history_dark.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_history_dark_transparent.png b/chrome/app/theme/omnibox_history_dark_transparent.png Binary files differdeleted file mode 100644 index 2edc8d8..0000000 --- a/chrome/app/theme/omnibox_history_dark_transparent.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_history_selected.png b/chrome/app/theme/omnibox_history_selected.png Binary files differdeleted file mode 100644 index 972be77..0000000 --- a/chrome/app/theme/omnibox_history_selected.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_history_transparent.png b/chrome/app/theme/omnibox_history_transparent.png Binary files differdeleted file mode 100644 index 4b0fc77..0000000 --- a/chrome/app/theme/omnibox_history_transparent.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_http.pdf b/chrome/app/theme/omnibox_http.pdf deleted file mode 100755 index 2055179..0000000 --- a/chrome/app/theme/omnibox_http.pdf +++ /dev/null @@ -1,1335 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 63 0 R]/Order 64 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 63 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 50444/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:ModifyDate>2010-04-05T10:18:41-07:00</xmp:ModifyDate> - <xmp:CreateDate>2009-11-11T14:17:05-08:00</xmp:CreateDate> - <xmp:MetadataDate>2010-04-05T10:18:41-07:00</xmp:MetadataDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>256</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FVK5u7W1hM11MkEK/allYIo+bMQMIBPJBNMQ1f83PJ9hVIZpL+UbcbZKrX/AF34L91cyYaO
Z8muWaIYjqP556m5I07TYYB0Dzs0p+dF9MD8cyY6EdS1HUHoGO3n5qeeLmo/SHoIf2YY41/4biW/
HLo6TGOjA5pJRP5u80z/AN7q94w/l9eQD7g1MsGGA6BhxnvQh1jVySTfXBJ3JMr/ANclwR7kcRcN
Y1cEEX1wCNwRK/8AXHgj3LxFFwebvNMH91q94o/l9eQj7i1MicMD0CeM96b2f5qeeLag/SHroP2Z
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
AP/Z</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:DocumentID>xmp.did:F77F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:d720c1ca-e29f-fb43-b38d-203a5694e1f5</xmpMM:InstanceID> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:OriginalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:cb58d661-cdc7-e34a-aa9f-b935d8a59714</stRef:instanceID> - <stRef:documentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:documentID> - <stRef:originalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:F77F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-11T14:16:58-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_mag</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Pixels</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>White</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>255</xmpG:green> - <xmpG:blue>255</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>Black</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Red</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>242</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Green</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>62</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>160</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Blue</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>35</xmpG:red> - <xmpG:green>28</xmpG:green> - <xmpG:blue>129</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>120</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>199</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>26</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>16</xmpG:green> - <xmpG:blue>29</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>55</xmpG:green> - <xmpG:blue>10</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>123</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>32</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>251</xmpG:red> - <xmpG:green>237</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>202</xmpG:red> - <xmpG:green>221</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>101</xmpG:red> - <xmpG:green>192</xmpG:green> - <xmpG:blue>39</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>54</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>136</xmpG:green> - <xmpG:blue>51</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>89</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>94</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>155</xmpG:green> - <xmpG:blue>140</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>154</xmpG:green> - <xmpG:blue>221</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>96</xmpG:green> - <xmpG:blue>176</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>29</xmpG:red> - <xmpG:green>36</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>30</xmpG:red> - <xmpG:green>21</xmpG:green> - <xmpG:blue>80</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>91</xmpG:red> - <xmpG:green>18</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>141</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>126</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>158</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>79</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>235</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>101</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>184</xmpG:red> - <xmpG:green>165</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>142</xmpG:red> - <xmpG:green>113</xmpG:green> - <xmpG:blue>100</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>97</xmpG:red> - <xmpG:green>82</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>75</xmpG:red> - <xmpG:green>57</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>192</xmpG:red> - <xmpG:green>134</xmpG:green> - <xmpG:blue>85</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>162</xmpG:red> - <xmpG:green>103</xmpG:green> - <xmpG:blue>58</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>73</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>105</xmpG:red> - <xmpG:green>58</xmpG:green> - <xmpG:blue>27</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>84</xmpG:red> - <xmpG:green>41</xmpG:green> - <xmpG:blue>11</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>26</xmpG:green> - <xmpG:blue>15</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>R=104 G=127 B=173 1</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>104</xmpG:red> - <xmpG:green>127</xmpG:green> - <xmpG:blue>173</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Grays</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>49</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>70</xmpG:red> - <xmpG:green>71</xmpG:green> - <xmpG:blue>73</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>89</xmpG:red> - <xmpG:green>91</xmpG:green> - <xmpG:blue>93</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>109</xmpG:red> - <xmpG:green>111</xmpG:green> - <xmpG:blue>114</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>130</xmpG:green> - <xmpG:blue>133</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>149</xmpG:red> - <xmpG:green>152</xmpG:green> - <xmpG:blue>155</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>173</xmpG:red> - <xmpG:green>176</xmpG:green> - <xmpG:blue>178</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>197</xmpG:red> - <xmpG:green>200</xmpG:green> - <xmpG:blue>202</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>224</xmpG:red> - <xmpG:green>225</xmpG:green> - <xmpG:blue>226</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>237</xmpG:red> - <xmpG:green>238</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Brights</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>68</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>216</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>151</xmpG:green> - <xmpG:blue>56</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>17</xmpG:red> - <xmpG:green>43</xmpG:green> - <xmpG:blue>137</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>118</xmpG:red> - <xmpG:green>35</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[65 0 R]/Type/Pages>>
endobj
65 0 obj
<</ArtBox[2.00146 2.0 17.0 16.999]/BleedBox[0.0 0.0 19.0 19.0]/Contents 66 0 R/Group 67 0 R/LastModified(D:20100405101840-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 68 0 R>>/Resources<</ExtGState<</GS0 69 0 R/GS1 70 0 R>>/Properties<</MC0 63 0 R>>/XObject<</Fm0 71 0 R>>>>/Thumb 72 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
66 0 obj
<</Filter/FlateDecode/Length 276>>stream
-H‰\R;nÃ0Ýy -^@2Q²¹ÖI;EС0ÚLi‘ôþ@HIVê@6Åß#߃=¼Ï8g—ýŒp ö8}o_ð‰?ÐÎíÃÛáù®’M(>QÀå–1ëØftÑÇ4¢KÝ®Õ_À…à3ïz1°‘Žl!•Îê[Å+nô,SY]m¬ëjHŸÊŒo8aE@0Ãë…pÿ«yò2ªV›Çd:úT†ì%çé!Qi’(ÈðnªJ{ WÎF¨ÅJ9MŒ
TôD6póØV¶°§¡ÿ®,ªH¨Ü¢Oɼ¼6N’Ö`’ûŠ‚
;Øh)8±ô„ÛÂÜÓP·Ùرebû‡£þa'¸0 -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
73 0 obj
[/Indexed/DeviceRGB 255 74 0 R]
endobj
74 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
71 0 obj
<</BBox[5.04639 15.8926 15.5459 3.04297]/Group 75 0 R/Length 1668/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 69 0 R>>>>/Subtype/Form>>stream
-0.416 0.494 0.675 rg -/GS0 gs -q 1 0 0 1 5.3018 14.0254 cm -0 0 m -0.19 -0.893 l --0.064 -1.34 l --0.064 -1.787 l --0.255 -2.745 l --0.191 -3.318 l -0.127 -3.703 l -0.575 -4.531 l -0.957 -5.236 l -1.532 -5.236 l -2.361 -6.064 l -2.81 -6.318 l -3.128 -6.705 l -3.128 -7.09 l -2.874 -7.535 l -2.874 -8.109 l -3.128 -8.686 l -3.894 -9.066 l -4.088 -9.896 l -3.767 -10.666 l -3.575 -10.982 l -4.043 -10.942 l -5.132 -10.942 l -5.833 -10.686 l -5.747 -10.344 l -5.811 -10.09 l -6.513 -9.642 l -7.088 -8.686 l -7.472 -8.046 l -7.536 -7.598 l -6.834 -7.215 l -5.747 -6.577 l -5.556 -6.193 l -4.661 -6.002 l -3.703 -6.002 l -3.063 -5.938 l -2.488 -5.428 l -2.043 -5.108 l -1.532 -4.469 l -1.277 -4.404 l -1.277 -3.894 l -1.277 -3.383 l -1.596 -3.383 l -2.235 -3.383 l -2.619 -3.446 l -2.619 -3.894 l -3.128 -3.957 l -2.936 -3.191 l -2.936 -2.872 l -3.321 -2.68 l -3.575 -2.488 l -4.088 -2.107 l -4.596 -1.34 l -4.854 -1.083 l -4.278 -0.639 l -3.703 -0.383 l -3.449 -0.639 l -3.192 -0.668 l -2.81 -1.083 l -2.81 -1.403 l -2.297 -1.147 l -2.841 -0.445 l -2.361 -0.063 l -2.745 0.129 l -3.192 0.449 l -3.513 0.769 l -3 0.832 l -2.555 0.832 l -2.106 0.576 l -1.66 0.896 l -1.341 1.152 l -0.702 0.959 l -h -f -Q -q 1 0 0 1 8.5698 15.2539 cm -0 0 m -0.639 -0.319 l -0.957 -0.894 l -1.532 -0.83 l -1.786 -0.319 l -1.532 0.191 l -0.894 0.639 l -0.05 0.637 l --0.562 0.521 l -h -f -Q -q 1 0 0 1 12.7896 14.8984 cm -0 0 m -0.446 -1.342 l -0.829 -1.787 l --0.008 -3.109 l -0.281 -3.438 0.616 -3.5 v -0.83 -3.541 0.868 -3.094 1.085 -3.145 c -1.424 -3.225 1.886 -3.516 1.91 -3.587 c -1.974 -3.779 0.471 -5.025 y -0.95 -5.984 l -1.723 -6.754 l -2.17 -6.322 l -2.49 -6.77 l -2.756 -5.703 l -2.718 -4.786 l -2.642 -3.982 l -2.49 -3.193 l -2.131 -2.605 2.067 -2.414 v -2.004 -2.223 1.34 -1.305 y -h -f -Q -
endstream
endobj
75 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
69 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
63 0 obj
<</Intent 76 0 R/Name(Layer 1)/Type/OCG/Usage 77 0 R>>
endobj
76 0 obj
[/View/Design]
endobj
77 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
70 0 obj
<</AIS false/BM/Normal/CA 0.5/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 0.5/op false>>
endobj
68 0 obj
<</LastModified(D:20100405101840-07'00')/Private 78 0 R>>
endobj
78 0 obj
<</AIMetaData 79 0 R/AIPDFPrivateData1 80 0 R/AIPDFPrivateData10 81 0 R/AIPDFPrivateData11 82 0 R/AIPDFPrivateData2 83 0 R/AIPDFPrivateData3 84 0 R/AIPDFPrivateData4 85 0 R/AIPDFPrivateData5 86 0 R/AIPDFPrivateData6 87 0 R/AIPDFPrivateData7 88 0 R/AIPDFPrivateData8 89 0 R/AIPDFPrivateData9 90 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
79 0 obj
<</Length 941>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (o2_http_selected.pdf)
%%CreationDate: 4/5/10 10:18 AM
%%Canvassize: 16383
%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.99854 -7 8 7.99902
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 32.5 15.5 32.5 15.5
%AI3_TileBox: -305.5 -395.5 306.5 396.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -14 19 24 1283 746 26 0 1 115 112 0 0 0 0 0 0 1 1 1
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
80 0 obj
<</Length 18246>>stream
-%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.99854 -7 8 7.99902
%AI7_Thumbnail: 128 128 8
%%BeginData: 18114 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD37FFA8AFA8A87E847E7E7E847E7E7EA884A9A8FD6AFFA884597E
%53532F532F532F5A53532F5A53532F532F532F5A537E7EA9A8FD5FFFA97E
%7E535A535A535A535A535A535A535A535A535A535A535A535A535A535453
%5A5A84A8FD58FFA8A959592F532F532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F532F53537E84FD53FFAF7E7E535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A5384A8FD4EFF7E7E2F532F5A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53532F5459A8AFFD49FFA95954535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A7EFD46FF7E5A2F5353532F5A53532F5A53532F5A53532F5A53
%532F5A53532F532F532F532F532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A2F5353A8FD42FFA95A5A535A535A535A535A535A535A535A53
%5A535A535A535A535A537E5A7E5A7E5A7E537E535A535A535A535A535A53
%5A535A535A535A535A535A535A537EA8FD3EFFA87E2F5A5353535A535353
%5A5353535A53532F5A2F53537E597E7E847EA8A8A9A8A9A8FFFFFFA8FFA8
%A87E7E595A2FFD04535A5353535A5353535A5353535A535359FD3CFF7E5A
%535A535A535A535A535A535A535A535A535A59A984A87EA9A8A984A984A8
%7EA984A9A8FD0AFFA97E7E53542F5A535A535A535A535A535A535A535453
%A9FD39FF53532F5A53532F5A53532F5A53532F532F5359A8A8FFFFFFA884
%7EA87E847EA87E847EA87E8484FD0DFF7E7E2F532F532F5A53532F5A5353
%2F5A53532F7EA8FD35FFA9535A535A535A535A535A535A535A535A5AA9A9
%FD07FFA8A984A984A984A984A984A984A9A8FD0FFF847E535A535A535A53
%5A535A535A535A535A84FD33FF7E2F5A5353535A5353535AFD05537EA8FD
%0BFFA8A87EA87EA87EA87EA87EA87EA87EFD10FFA9595A2F53535A535353
%5A5353535A53537DFD30FFA97E535A535A535A535A535A535A535A7EFD0F
%FFA8A97EA87EA984A87EA984A87EA9A8FD11FFA8845354535A535A535A53
%5A535A535459FD2EFFA8592F5A53532F5A53532F5A53532F7EA8FD11FFA8
%A97E847EA87E847EA87E847E84A8FD12FFAF59532F5A53532F5A53532F5A
%535353A9FD2BFFA85A535A535A535A535A535A535A53A8A8A97EA9FD12FF
%A8A984A984A984A984A984A9FD14FFA87E535A535A535A535A535A535A53
%A9FD29FF7E545353535A5353535A53532F5A59A87EA87EA87EA8A8FD11FF
%A8A97EA87EA87EA87EA87EFD15FFAFA85353535A5353535A5353535A2FA8
%FD27FFA854535A535A535A535A535A537E7EA984A87EA984A87EA9A8FD05
%FFA8A9A8A9A8A9A8FFA8FD04FFA984A87EA984A87EA9FD18FF5954535A53
%5A535A535A535A53A9FD25FF7E5353532F5A53532F5A53532F84A8A87EA8
%7E847EA87E847E8484FFFFFF7E847EA87E847E847EA9FD04FFA8847E847E
%A87E84A8FD15FFA8A8FFFF7E532F5A53532F5A53532F542FA8FD23FFA85A
%535A535A535A535A535A53AFFFA984A984A984A984A984A984A884A984A9
%84A984A984A984FD07FFA8A984A984A884FD17FF7EA9FFFFA85A535A535A
%535A535A535A53A9FD21FFA8532F5A5353535A5353535453AFFFA87EA87E
%A87EA87EA87EA87EA87E847EA87EA87EA87E847EAFFD08FF7E847EA87EAF
%FD17FFA87EA9FFFFA85A2F53535A5353535A53532FA9FD1FFFA85A535A53
%5A535A535A535459FFFFA97EA984A87EA984A87EA984A87EA984A87EA984
%A87EA984FD0BFFA9FFA9FD19FFA9A87EA9FFFFA97E535A535A535A535A53
%5A53FD1EFFA95A2F5A53532F5A53532F5359FFFFA97E847EA87E847EA87E
%847EA87E847EA87E847EA87E8484FD29FF7E847EA8FFFFA87E2F532F5A53
%532F5A535353FD1DFF7E535A535A535A535A535A7EFFFFFF84A984A984A9
%84A984A984A984A984A984A984A984A9A9FD2AFFA97EA984A9FFFFFF7E2F
%5A535A535A535A535A7EFD1BFF842F53535A5353535A535359FFFFFF84A8
%7EA87EA87EA87EA87EA87EA87EA87EA87E847EFD2DFFA8847EA87EA8AFFF
%FF7E2F5A5353535AFD04537EFD19FFA92F5A535A535A535A535A5AFD04FF
%A97EA984A87EA984A87EA984A87EA984A87EA984A9AFFD2DFF84A87EA97E
%A9FFFFFF7E2F5A535A535A535A535AA8FD18FF53532F5A53532F5A535353
%FD05FFA8847EA87E847EA87E847EA87E847EA87E847EA87E84A8FD2CFFA8
%7E847EA87EA8A8FFA95A2F5A53532F5A53532F5AA8FD16FF7E5A535A535A
%535A535A53FD07FF7EA984A984A984A984A984A984A984A984A984A97EA9
%A8FD2BFFA9A884A984A97EA9FFFFA95A535A535A535A535A5384FD15FF84
%545353535A5353535A53A9FD07FFA87EA87EA87EA87EA87EA87EA87EA87E
%A87EA87EA87EA8A9FD05FFA8A87EA9A8FD21FF7E847EA87EA87EA9FFFFA8
%545353535A5353535A2FA8FD14FF5A535A535A535A535A2FA9FD08FFA8A8
%7EA984A87EA984A87EA984A87EA984A87EA984A8A8FD05FFA9A87EA984A8
%A8FD21FF84A87EA984A87EAFFFFF7E5A535A535A535A535A59FD13FF842F
%532F5A53532F5A2F7EFD09FFA97E847EA87E847EA87E847EA87E847EA87E
%847E84A8FFFFFFA9A87EA87E847EA87E847EA9FD20FF7E847EA87E847EFF
%FFFF595353532F5A53532F537EFD12FF535A535A535A535A535AFD0AFFA9
%A884A984A984A984A984A984A984A984A984A9A8FD04FFA97EA984A984A9
%84A984A984A9FD20FF7EA984A984A984FFFFFF535A535A535A535A535AA9
%FD10FF59545353535A53535354A8FD0AFFA97EA87EA87EA87EA87EA87EA8
%7EA87EA87E847EFFFFFFAFA97EA87EA87EA87EA87EA87EA87EA8A8FD1DFF
%A9847EA87EA87EA8A8FFFFA92F53535A5353535A2F7EFD0FFFA85A535A53
%5A535A53547EFD0BFF7EA984A87EA984A87EA984A87EA984A87EA984FD04
%FFA97EA984A87EA984A87EA984A87EA984A8A8FD1CFFA984A87EA984A87E
%A9A9FFFF84535A535A535A535A53AFFD0EFF7E2F532F5A53532F5453FD0B
%FFA8847EA87E847EA87E847EA87E847EA87E847EA8A8FFFFFF7E847EA87E
%847EA87E847EA87E847E8484FD1CFFA97EA87E847EA87E847EA8A9FFA85A
%53532F5A53532F5359FD0EFF535A535A535A535A53A9FD0AFFAFA884A984
%A984A984A984A984A984A984A984A984A884FFFFA97EA984A984A984A984
%A984A984A9A8FD1DFF84A984A984A984A984A984A9FFFF845A535A535A53
%5A535AA8FD0CFF59545353535A53532F7EFD0BFFAF7EA87EA87EA87EA87E
%A87EA87EA87EA87EA87EA87E847EA87EA87EA87EA87EA87EA87EA87E847E
%FD1DFFA8847EA87EA87EA87EA87EA87EFFFFFF5353535A5353535A2F7EFD
%0BFFA95A535A535A535A535484FD0BFFA8A984A87EA984A87EA984A87EA9
%84A87EA984A87EA984A87EA984A87EA984A87EA984A87EA984FD1DFFA8A9
%84A87EA984A87EA984A87EA9A8FFFFA9535A535A535A535A53FD0BFF842F
%532F5A53532F5353FD0CFFA97EA87E847EA87E847EA87E847EA87E847EA8
%7E847EA87E847EA87E847EA87E847EA87E847EA9FD1DFFA87EA87E847EA8
%7E847EA87E847EA8A8FFA85A2F532F5A53532F537EFD0AFF535A535A535A
%535A53A9FD0CFFA8A984A984A984A984A984A984A984A984A984A984A984
%A984A984A984A984A984A984A97EA9FD1DFFAF7EA984A984A984A984A984
%A984A984A9FFFFA85A535A535A535A537EFD09FF84FD04535A53532F5AFD
%0DFFA97EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87E
%A87EA87EA87EA87E84A8FD1DFF7EA87EA87EA87EA87EA87EA87EA87EA87E
%FFFFFF5353535A5353535A2FA8FD08FF7E2F5A535A535A53547EFD0DFFA8
%A87EA984A87EA984A87EA984A87EA984A87EA984A87EA984A87EA984A87E
%A984A87EA8A8FD1DFF84A984A87EA984A87EA984A87EA984A87EA9A8FFFF
%A9535A535A535A535A7EFD08FF53532F5A53532F5A53FD0DFFA8A87E847E
%A87E847EA87E847EA87E847EA87E847EA87E847EA87E847EA87E847EA87E
%847EFD1DFFA8847EA87E847EA87E847EA87E847EA87E847E84A8FFA85A53
%532F5A53532F5AA8FD06FFA85A535A535A535A537EFD0EFF84A984A984A9
%84A984A984A984A984A984A984A984A984A984A984A984A984A984A8A8FD
%1EFFA97EA984A984A984A9A8A984A984A984A984A984A9FFFF7E5A535A53
%5A535A53A9FD06FF7E2F53535A53535354A8FD0DFFA8A87EA87EA87EA87E
%A87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA8A8FD1FFFAF
%A87EA87EA87EA9FFFFA8A97E847EA87EA87EA87EA9FFA92F53535A535353
%547EFD06FF535A535A535A535A53FD0EFFA97EA984A87EA984A87EA984A8
%7EA984A87EA984A87EA984A87EA984A87EA97EA9FD23FFA97EA984A8A9FD
%05FFA8A87EA984A87EA9A8FFA95A535A535A535A535AFD05FFA8532F5A53
%532F5A2F7EFD0EFF84847EA87E847EA87E847EA87E847EA87E847EA87E84
%7EA87E847EA87E847EA9FD26FFA8A8A8FD07FFA8A87EA87E847EA9FFFF59
%5353532F5A53532FA9FD04FFA82F5A535A535A535AA8FD0EFFA984A984A9
%84A984A984A984A984A984A984A984A984A984A984A984A8A8FD34FFA984
%A984A984FFFFA9535A535A535A535A84FD04FF5953535A5353535A53FD0F
%FF7E847EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA9A8
%FD35FF7EA87EA87EA8A9FFA85A5353535A53532F7EFFFFFFAF5A535A535A
%535A537EFD0FFFA984A87EA984A87EA984A87EA984A87EA984A87EA984A8
%7EA984A8A9FD35FFA8A87EA984A87EFFFFFF595A535A535A535A53FFFFFF
%A92F5A53532F5A53537EFD0FFF84A87E847EA87E847EA87E847EA87E847E
%A87E847EA87E847EA87EFD35FF84847E847EA87E84A8FFFF7E2F5A53532F
%5A5353A8FFFF845A535A535A535A53A9FD0FFFAF84A984A984A984A984A9
%84A984A984A984A984A984A984A984A9A9FD33FFA8A984A984A984A97EAF
%FFFFA85A535A535A535A53A9FFFF842F5A5353535A5353A8FD0FFFA8847E
%A87EA87EA87EA87EA87EA87E847EA87E847EA87E847EA87EA9FD32FFA884
%7EA87EA87EA87E8484FFFFA9535A5353535A53537EFFFF7E5A535A535A53
%5A53FD11FF84A984A87EA984A87EA984A8A8FFAFFFA9FFFFFFA8FFA8A97E
%A9A8FD31FFA8A984A87EA984A87EA984A9FFFFFF5A535A535A535A537EFF
%A97E2F532F5A53532F7EFD12FF7EA87E847EA87E847EA87EFD0BFFA8847E
%A8FD30FF84847EA87E847EA87E847EA87EFFFFFF59532F5A53532F5353FF
%FF535A535A535A535A7EFD13FF84A984A984A984A984A9FD0CFF7EA984FD
%2FFFA8A884A984A984A984A984A984A9FFFFFF84535A535A535A535AFFA8
%5A5353535A53532FA8FD13FFAF7EA87EA87EA87EA87EFD0BFFA8847EA8A8
%FD2DFF7EA87EA87EA87EA87EA87EA87EA87EFFFFFF7E53535A5353535A53
%FFAF535A535A535A535484FD14FFA984A87EA984A87EA9FD0CFFA8A97EA9
%FD2CFF84A87EA984A87EA984A87EA984A87EA9A9FFFFA9535A535A535A53
%5AA9A8532F5A53532F5A2FA8FD14FFA8847E847EA87E847EFD0FFFA8FD2A
%FFA97EA87E847EA87E847EA87E847EA87E847EFFFFFF7E5353532F5A5353
%2FA9A9535A535A535A535AA8FD15FFA8A984A984A984A9FD39FFAF7EA984
%A984A984A984A984A984A984A984A9A9FFFFAF535A535A535A535AA8A853
%535A5353535A53A9FD16FF7EA87EA87E847EFD39FFA8847EA87EA87EA87E
%A87EA87EA87EA87EA87EFFFFFFA85A5353535A53532FA9A9535A535A535A
%535AA8FD16FFA984A87EA984A8A9FD39FF84A87EA984A87EA984A87EA984
%A87EA984A8A8FFFFAF535A535A535A535AA87E5353532F5A53532FA9FD16
%FFA8847E847EA87EA884FD38FFA97E847EA87E847EA87E847EA87E847EA8
%7EA9FFFFA8532F5A53532F5A2F84A9535A535A535A535AA9FD17FFA8A884
%A984A97EA984FD38FFA984A984A984A984A984A984A984A984A8A8FFFFFF
%535A535A535A5354847EFD04535A53532FAFFD18FF7EA87EA87EA87EA884
%FD37FFA8847EA87EA87EA87EA87EA87EA87EA87EA9FFFFA853535A535353
%5A2FA8A9535A535A535A535AA8FD18FFA97EA87EA984A87EA9A8FD37FF84
%A87EA984A87EA984A87EA984A87EA9A8FFFFFF535A535A535A535AA88453
%2F5A53532F5A2FA9FD18FFA8A87E847EA87E847E84A8FD36FFA97E847EA8
%7E847EA87E847EA87E847EAFFFFF845353532F5A53532FA9AF535A535A53
%5A535AA8FD19FFA8A884A984A984A984A9A9FD36FFA97EA984A984A984A9
%84A984A984A9FFFFFFA9535A535A535A535AA8A853535A5353535A2FA8FD
%1AFF7EA87EA87E847EA87E84A8FD35FFA8847EA87EA87EA87EA87EA87E84
%7EFFFFFF7EFD04535A53532FAFFF535A535A535A535A7EFD1FFFA9A87EA9
%84A8A8FD35FFA9A87EA984A87EA984A87EA984A9FFFFFF842F5A535A535A
%535AA9A85A53532F5A53532F7EFD20FFA8847EA87E847EFD35FFA8847EA8
%7E847EA87E847E84A8FFFFFF7E532F5A53532F5A53FFFF5A5A535A535A53
%5A5AFD21FFA8A984A984A984FD35FFA8A984A984A9A8FF84A984FD04FF7E
%535A535A535A537EFFFF7E2F53535A53532F5AAFFD21FFA8A87EA87EA87E
%A9FD34FFA8A87E847EFFFFFF7EA9FD04FF5353535A535353547EFFFF7E5A
%535A535A535A53FD23FFA8A984A87EA97EA9FD34FFA8A8A8FD04FFA9A8FF
%FFFFA85A535A535A535A2FA8FFFFA82F5A53532F5A53537EFD23FFA8847E
%847EA87EA8A8FD33FFA8FD05FFA9FD04FFA82F5A53532F5A53537EFFFFA8
%5A535A535A535A53A9FD24FFA9A87EA984A97EA9A8A9A8FFA9FFA8FFA9FF
%A8FFA9FD31FF7E5A535A535A535A53FD04FF535A5353535A535353FD25FF
%A8A87EA87EA87EA87E847EA87E847EA87E847EA87EA87EA9A8FFA9FD2AFF
%7E2F5A5353535A535AA8FFFFFF7E535A535A535A535AA9FD27FF84A984A8
%7EA984A87EA984A87EA984A87EA984A87EA984A8A8FD29FF535A535A535A
%535A7EFD04FF7E532F5A53532F5A2FA8FD28FF7E847E847EA87E847EA87E
%847EA87E847EA87E847EA87E84A8FD27FF7E5353532F5A53532F84FD04FF
%AF535A535A535A535A7EFD29FFA8A884A984A984A984A984A984A984A984
%A984A984A97EA9FD27FF84535A535A535A535AA8FD04FFAF5A2F5A535353
%5A535AA8FD29FF7E847EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87E
%AFFD26FF535A5353535A535353FD06FF7E5A535A535A535A53A9FD2AFF84
%A87EA984A87EA984A87EA984A87EA984A87EA984A87EA9FD24FFA854535A
%535A535A537EFD06FFA82F532F5A53532F5359FD29FFA8A87E847EA87E84
%7EA87E847EA87E847EA87E847EA87E847EA8A8FD22FF7E2F532F5A53532F
%537EFD07FF5A535A535A535A535AA9FD29FF84A984A984A984A984A984A9
%84A984A984A984A984A984A984A884FD21FF535A535A535A535A53FD08FF
%5A53535A5353535A2F84FD28FFA8A87EA87EA87EA87EA87EA87EA87EA87E
%A87EA87EA87EA87EA87E847EA9A8FD1DFF7EFD04535A53532F7EFD08FFA9
%535A535A535A535A59FD28FFAF7EA984A87EA984A87EA984A87EA984A87E
%A984A87EA984A87EA984A87EA9A8FD1CFF5A535A535A535A5354A8FD08FF
%A85A2F532F5A53532F537EFD27FF7E847EA87E847EA87E847EA87E847EA8
%7E847EA87E847EA87E847EA87E847E847EA9A8FD18FFA82F532F5A53532F
%5353FD0AFF7E5A535A535A535A537EFD26FFA8A884A984A984A984A984A9
%84A984A984A984A984A984A984A984A984A984A984A97EA9A9FD17FF5A5A
%535A535A535A53A8FD0BFF5353535A5353535A2FA8FD24FFA8A87EA87EA8
%7EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA8
%7EA884AFFD14FF7EFD04535A5353535AA8FD0BFF84535A535A535A535A59
%FD25FF7EA984A87EA984A87EA984A87EA984A87EA984A87EA984A87EA984
%A87EA984A87EA984A87EA97EFD14FF5A535A535A535A53547EFD0CFFA853
%53532F5A53532F537EFD23FFA8847EA87E847EA87E847EA87E847EA87E84
%7EA87E847EA87E847EA87E847EA87E847EA87E847E84A8FD12FFA82F532F
%5A53532F5A2FA9FD0DFF7E5A535A535A535A535AA9FD23FF7EA984A984A9
%84A984A984A984A984A984A984A984A984A984A984A984A984A984A984A9
%84A984FD13FF535A535A535A535A537EFD0EFFAF2F53535A5353535A2F7E
%FD22FFA8847EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87EA87E
%A87EA87EA87EA87EA87EA87EA8FD12FF59545353535A5353535AA8FD0FFF
%7E535A535A535A535A53A9FD22FF84A87EA984A87EA984A87EA984A87EA9
%84A87EA984A87EA984A87EA984A87EA984A87EA984A8A8FD11FFA854535A
%535A535A53547EFD10FFA85353532F5A53532F5353FD21FFA8A87E847EA8
%7E847EA87E847EA87E847EA87E847EA87E847EA87E847EA87E847EA87E84
%7EA87EFD11FFA85A2F532F5A53532F5A53AFFD11FF7E5A535A535A535A53
%5A7EFD21FFA9A884A984A984A984A984A984A984A984A984A984A984A984
%A984A984A984A984A984A984AFFD11FF7E535A535A535A535A53A8FD13FF
%5353535A5353535A53537EFD21FF7E847EA87EA87EA87EA87EA87EA87EA8
%7EA87EA87EA87EA87EA87EA87EA87EA87EA87EA9FD11FF842F5A5353535A
%53532F5AFD14FFA9535A535A535A535A535AA8FD20FFAF7EA87EA984A87E
%A984A87EA984A87EA984A87EA984A87EA984A87EA984A87EA984A8A8FD10
%FFAF535A535A535A535A5354A8FD15FF7E2F532F5A53532F5A2F53A8FD1F
%FFA8A87E847EA87E847EA87E847EA87E847EA87E847EA87E847EA87E847E
%A87E847E8484FD11FFFD04532F5A53532F537EFD17FF5A535A535A535A53
%5A537EFD22FFA8A984A984A984A984A984A984A984A984A984A984A984A9
%84A984A984A984FD11FF595A535A535A535A535A59FD18FFA853535A5353
%535A53532F7EFD22FFA8A97E847EA87EA87EA87EA87EA87EA87EA87EA87E
%A87EA87EA87EA87EAFFD10FF5953535A5353535A53532FA9FD19FF7E5453
%5A535A535A535A2F7EFD24FFA8A87EA984A87EA984A87EA984A87EA984A8
%7EA984A87EA984A9FD10FF5A5A535A535A535A535A53A8FD1BFF59532F5A
%53532F5A53532F7EFD23FFAF7E847EA87E847EA87E847EA87E847EA87E84
%7EA87E847E84A8FD0FFF59532F5A53532F5A53532F7EFD1DFF535A535A53
%5A535A535A537EFD23FFA984A984A984A984A984A984A984A984A984A984
%A984A9A8FD0FFF7E5A535A535A535A535A537EFD1EFFAF535A5353535A53
%53535A2F5AA8FD21FF7E847EA87EA87EA87EA87EA87EA87EA87EA87EA87E
%847EFD0FFFFD05535A5353535A5353A8FD1FFFA9535A535A535A535A535A
%535AA8FD20FFA984A87EA984A87EA984A87EA984A87EA984A87EA97EAFFD
%0EFF5354535A535A535A535A535AA8FD21FFA82F5453532F5A53532F5A2F
%537EFD1FFFA8847E847EA87E847EA87E847EA87E847EA87E847EA8FD0DFF
%A82F5353532F5A53532F5A53537EFD23FFA9535A535A535A535A535A535A
%7EFD1FFF84A984A984A984A984A984A984A984A984A87EFD0EFF84535A53
%5A535A535A535A535A84FD25FFA92F53535A5353535AFD0553A9FD1CFFA9
%A87EA87EA87EA87EA87EA87EA87EA87EA884FD0DFFA87E2F53535A535353
%5A53532F5484FD27FFA9535A535A535A535A535A535A53A8FD1CFF7EA984
%A87EA984A87EA984A87EA984A8A8FD0DFF7E5A535A535A535A535A535A53
%5A84FD29FFA92F532F5A53532F5A53532F5A2F5A84FD19FFA8847EA87E84
%7EA87E847EA87E847EA8A9FD0CFFA8FD04532F5A53532F5A53532F53A8FD
%2CFF535A535A535A535A535A535A535A7EFD18FFA984A984A984A984A984
%A984A984A9A9FD0BFFA97E535A535A535A535A535A535A537EA9FD2EFFFD
%05535A5353535A53535354537EA8FD14FFA97EA87EA87EA87EA87EA87EA8
%7EA87EFD0AFFA97E5A2F53535A5353535A5353535A2F5AA8FD30FF7E5A53
%5A535A535A535A535A535A535A7EAFFD12FF84A984A87EA984A87EA984A8
%7EA984A8A8FD07FFA87E5354535A535A535A535A535A535A2F84FD33FF7E
%5A2F532F5A53532F5A53532F5A53532F7E7EFD0FFFA8847EA87E847EA87E
%847EA87E847EA87EA8FD04FFA8A853532F5A53532F5A53532F5A53532F53
%53A8FD35FFA97E2F5A535A535A535A535A535A535A535A5384A8FD0CFFA9
%7EA984A984A984A984A984A984A984A9A8FFAFA97E5A535A535A535A535A
%535A535A535A535A5AFD39FF842F545353535A5353535A5353535A53532F
%53537E7EA9A8FD07FF7EA87EA87EA87EA87EA87EA984A87EA98484595A2F
%532F5A5353535A5353535A5353535A2F537EFD3CFF5A5A535A535A535A53
%5A535A535A535A535A5354535A5A7E7EA9A8FF7EA984A984A9A8A984A97E
%84FD047E535A535A535A535A535A535A535A535A535A535A2F7EA9FD3EFF
%845A2F532F5A53532F5A53532F5A53532F5A53532F532F532F545353535A
%535A537E5359535A53532F5353532F5A53532F5A53532F5A53532F5A5353
%2F5353A8FD42FFA9535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A537E84FD46FF7E5A2F53535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53532F5353A8A8FD49FFA95A5A2F5A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%7E84FD4EFFA87E53532F532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F532F5A7DA9FD53FFA87E535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A537E7EA9FD59FFA88459592F532F532F5A5353535A5353535A53
%53535A5353535A53532F542F53537E7EA9A8FD5EFFAFA97E84595A535A53
%542F5A535A535A535A535A5354535A537E7EA9A8FD68FFA8A984A87E7E59
%7E597E597E597E7E847EA8A8FD36FFFF
%%EndData
endstream
endobj
81 0 obj
<</Filter[/FlateDecode]/Length 15491>>stream
-H‰ÔW‰RÛÈýþ¡S`pðÂf°Iâ
3&œ@^B–¶Ô¶…%µÒÝòÀ|ý»Í’,KÊKM1oR5èt÷¹Û¹÷¾ï¡rߨøhè&UÉ®üŸx²ÈK´³Vø^Ü4ù÷9f¼ñ•‡‚iæ$ -cÝö±òï¼>_4±áh•¿—?]ÞÕå/]M51{r~o,nÁ®Ù‚pï\‹1¼„R¦š®2bº˜æ)6ÔÈm`nó"¿ý¯ü«©ü³)Ïë–NºXà!yØïü£|0ÓðH'Àå_D%¯[R3õ™Ó˜ÿzÞþ'íÿÝXs]SÈÿy”«¥““T¾!X_mé”h“ižÚ -Ï+ÁŽULJYfý¥©bšÇ*ø¼FíÖ²ìyÊcËÓ³Ûq”+8¹ôä¹
iSšbƈ -d,®˜6ÑÌ<V-Ÿù4}Gí†Ôf -iSÛTŸ½ëCozn -X…!èwyœü&u•*¶AÌ\;‡¿\U³
tC8ÕmY9_ᚦ¦ÀIÿ¶V¿ZE]ï ‚éƶPO‡<$&aèšNz<s¸w°wìÕêŸ ÌĈb¦"…ꔡ=4 -ÈgB'Œø~ÊÄ2¢ºÈ£ÃÃýÃÕÈjˆ@&4D „Áñœã 6'èyèLÕiº&<1®W.{y€Í‰']S˶¼zI\Í)ÕÒJ.äÀûcÁ#.#óYìOX×xŒ7·¨—!ûG¾V[XUƒ<jõQËÝ`.Óþ&±;¥,lAzpÍ°!W€p -{¶òå8%+ Ê=u…Q2,¤Ë³V¿g뺟-·„q¸¾zç{þ\§Àò†X¶Î//-‘Æ?$ú[,àæU°.Õ˜‡²uœEX¿F†?Û¬|5©t?P+T¹Ño7rXùµíŒ8¡Ï
ùY¡L%ê²¥¨üŽŠ_ùì‹Dy1)•-‹•›Ã³Q¡‰cT2ƶîÙ{TÝóyÇq¡¥ v²^ˆŠ]2†ôPÑè u¨[n´ñó‹Ö]IzB‰1Y
-IrrTÁ#›Î펢ܖ/ÔYÉ€ÓiĘZ¢lRJ%ïaæ^Ô*+Q’žøweâæ)Ì¥+O«3ÅÅ(&Os)`´y_±³rbÌJ\<é)žt0#Y6zÔjÊcS”T=’D·G¾UûI/ñ’¾ÐÛD.¼4Òdi¦BL2Á‹Ö½¤PSP3£W¥HcŸrràǧX%,ÔƒQRÍMÂy¬„QV)Þ@’0²¬& -òtd0°t¬ÌR°N7×`ðÅÏp:¥ìï`2NDY”k »åÒ«ÀPÇVö¬ááRæ§×SNÆùªÇmÎNù,¢™ç„Lh"ˆiï01ë% -ZîÑY0™º¢™ã”ÞãÀäÊk[F \Û¨NÙ3žVñÁÕ”)p 9°,2æf¡Ã2q´n`6ãQÖ9ÀaËƆXç@‡Y'®1mN`‘sÖ®”*v§C‹aâJ93™!„§§Ì[DD‡)g4KcX\ª‡+“<Ò%g/W¹yé3š§p‚ÑYÖ(©øÄñјÀfAV¯˜p¤ ›ÅxJÓËŠ©?=4P±Õ¯VѵT\Ôòᨫ)±&åÀ ú¶’‹†DØ`sbƒ kjÙ±}ÁÁŸ]Ñ•/è+Ú”êbµúèÊRoÐÐqÝ"c’Q‚@”%I¬¨ŽÊ器! -e*LviK\0þ¥Í–N+»`‡¤L?‹Ž©ëé(>Ó,ègfJ|$ŒÁ6Ä8‘6°|Ïbý3¿3:<éŸÙM‚:ꃤ‡R R7±ˆ†cåÅ|)X¡¨Ÿ “¢ Í#ÍDRdïõûYòâ[äÓèyåÁ€8$¶@‘:š= -I1_?BtUùQh‘³°~È=c{]8•9 jfàGìP"ñ¾>A‘«Ú Àxö¼¥—¾pC¤Ü;êg×þSG<¸á*%êÈ^ÀE-r=}ÁéLwû‹ãEŽ)ù»¿Øò'.AàÓ…£u{÷×Ó/¿Æ_„EÏQ´[u•ï`¡SÊO`a[8l6›Ä?‚ŠbÃf³à±G«á%ïÊâ^[’bsõôP“ÚI£|¹yëÞ«;“#&$~J+!Ígf؃‰Zb¿˜÷ÿê¿y›v‹±«ãoopΤÿ*‘K,sb(“MÙ~º|9!ƒL3°¥Þ÷ûÑ/ 4ZÚVå½ÓLúFÔÞ0Xa½rVT‡oݤꄡ‹‘ÓQ2qéö!L.òŠo;›3iÑðÊxuðàVf'â§ÊïëŒ}ì Úh]ì~¡AŠÊ³?ƒG¿JÞÿ~ëqwÛéä[^+Íϵž¬iÑn8˜ -µ\æëýã&Ø5¿¡î¥hwH–Èõ€
ÕÝãmäÙ¯ÃÚÚ+ã`#"ÒÁhȶ7Râh&OJî6[™“RáÌÞ€±¦°÷DÙ¶ºÙ‡XMÍÝ–]«;gßtbð,´‹¼ÕÞS/˜”`Z÷þÍrò«‰9)ýËåäVkê»FhÈ4m„ç_ÃL«ª¿
©¿ºm(‰uø˜³|Ðt¯¬ù¨SÑ{ÃéÆêÿk³`Ž×ð²OåÞeM¤½ À?«¼«î‡ÉB–b~Àɾ‹ °OÓZXÎ/™Ïl°Y˜ÀYðÛÓZB¹©A¸Cvâà¼)òÛRñLÓtàš -_‰ú»›’¥è¹ëª¥zK•ý“ËE{ùba¼óÌê<ªÅ}xý*O’¬|ý¿–ü來¤Êóf,ùÖÎ )2“šÛD¬”·ñ.ïÅœ;‹$l~9î| ÷6¥…®Ø!¼Ð.¦ùãs!§üÁ”«6ì7ÁɺSMU~ÇÜ´ô…çFý-ß®žäœ¨/ ù±Kç¶ê\.4Ó4
gjšÎ…äÂ10Ä1ö=bJS^ó÷ŽÙŸeo”<¨BŒýmþ¾ÈYýAöÚ1³VÁ!-¾4ä¾Òa~PÒGv5Õ$[¢e»Œ6+Q2š½=²: s_²÷…ÊJÚ‘$©„£¹ïïVN‚Ö¥&دZi"O6lð|¾gÙðfHYÊ9q3 -íép˜Êµ‚¨E™ÊÅ“Ó¡gjᔫDÄu¸FÓúOn,±ÔL|(ƒ¾[ågþ ö}׎5¿ÆT]Úå$ؼÙsfÊ(Ò[ÜÏ0¨bët¯ø´úuq“Ó~Û×ï{7¦d¸eªôË£Ì&)³à~eLïBÌÇV¡üµx°Ä¿8y.ÓôÈùÍBãNX¨*3¡Ö TÈwöƒWÔähUpCyÈy½0‡"êÌÕR>Ñð¸êêÀééÊà%®® \ðù}h¸¹æ>š$fîÄûœ2\õùBcÐDk_ -
{{3}µˆ}¾å:®’‹à♃>UØøÄx#º»ò:ȼžå,×þjªœ|[Frá¾ÁHT¹›üdÚ]œxr§>vúû_µLiœ*?¤¦}ÿJšÍ•¯di–Z(Á]‚ʧþÃy•m'ª6Ñ'È;³FœÀYP@£¢FÈ (‚2ôY}.þgÿœ0mÒ}ú&ËÀGU}U»ví"úizZÛ!¿un}b˜_PäÑa–´W!SF_kÕçê°ü ¨'‡j%íþ
dó¾EÆ÷ux4…<BzG»;on©Ü?ݨÁ#ôgE‹ô¾^ åVú"‚EœyîI±?W«’û!
ÀNu¥ÔPoaȪ‹ºŽÊí²m1':9ª‰ç+;§ò>FVàZ4kZœŒØ”&Åì<FMÃ÷)ŸÙµæg`îÏÆ„ºê„ c×`9Ë%ûß÷KðT¹á@I©ˆ&o$»!(†À²=[6~bW‡‰| Šc´u]%¦KºŠ/{õ‡b¼Adcâö"´Æ‡Lƒ¥¤áˆ˜ØãÆs#a‰gvÚGu•úÈÿê…JCv -fø² -xŽ>o$ËO`ý6
5¿*!n{Ì73_™€zB–¹v8 “”ñÝÿQ§^ÁþP—¯€òÍ)“¤qÄ€&fI”é.€jŽPÜXK“x}·?Ž¨– C@ªq™P8ÿö¨.Âŧɓ#;0u¦ÃìUòÔ…» !\(dZ|ÑËEÅ‚v¾)Ȥh°|ØÛõ R‘åÝÜyÛ[sŒíµ@ -~§‚?ZD/™ˆž¸òÀ¶èAˆžÚ2ÈHgÏŸ”ÒÆ<Gíœ/¶Å¹Ñ)l2÷MezõÏbc_ïµ`ó?äÅχkæ½h¡ -
ŒM=ÚÅ/ßhŠüˆ -wüaHà,úݹRÚ°ù -GA{:DÈ18•qìuI™šnT¢™u”<E‡Õø`«ç…œowîžKû"-N.sÂ5[šDf±[:F‚M¸“.[§"yÑ´ÏÔ«†È˜ã‹ƒ´=æ΋îãÙ>èí>MãK -m¢Á¡.Ëâôbƒ“âL÷‘‰>º-Aˆ~‚Œ#E¨¤6<Óa+WëÕÕï¶6,7^è&gd³Y -ÏO ;±nIDö°üd3WÜ=9=º"aö׃¯n²ù”Ø{*»[„z`ú2Á˜S¹óÂÉj‘\¦Qw!b¾Khi¢` -íéÍÑxæ§358éÈcúq©xñ…‹8æ&aIKëÈ´Šõyµ -ü‹1êîÛË&—µÃk(œlZÎ^TYâ~~ûâex"(‚æRMC–Á¥šºô¿ ³¢†ºý}Y¬‚~…$‚Üö™ujá걺!hÒ¿¬…WOÐUÙ´~þÞï¥&8]JOßêÊ/ ÿÙörüÙöE8k¤ÙWþ8CÕ\Vfîû6øÄN€ü·B·Ñp$ív¹Ú‚¾ú»b%„¡ü€–ý„æÀ[[à%së°7ým;Û7¡©„÷65Ž^þ¶úVÿ39+÷ÎËt?Y¦‡ÃGà9ˆŠ»q·.u_ª¶.mo*Vª}–³3€¢ÈhŸ÷¿ÖÀ\I&óŸd±åDëB@_ÿc•Ø/t]œ2ÿkÑÔ‹õ?ÉdqÉ¡,Õ—PÜŠc¥ß”ü¥î÷ÎýYß‚Ðì%Õb‰]1‡íþÎ6,„í–Uî-=ñ7…åŽÙ³ýõa7çn{ïþvÏÊH¬u¿fKn…
ÝS¶þ½fy«Ìü…`xë¹£¨øŒŒ~Î/…9kŽu),;HMÐú&+KÂór±…ƒU„ãf…*fQ2ae„V—ûb8ÞÊ]€üV€>åY¸˜÷ZbÁZ¹=z™±n°íŒ(Bm«'D>,ÖȽ:=÷Åë˨4NÚ¼V:ž“~ÃÃNW°ôBâD}/1U ¼y…¥ö}®‡¯û{öVDÜ\úü4ö%†—EØLþxÀï -q9ÞãtôÖB%Ž³zc†‘+õõÂöéLÜnŠzï0Gª(ðû.Ú»û™„8E‘]ÞLaDÙa¡x¢]-7“±>çôô–Ë}‰Ûµi#ß—ßÞžá—Œôßä¦Âõÿ¯~º1Þ˜5{öŸýo÷è¼Ó¸]J¹\•ÀŽ*—•P’úÿŠìŠŽèó{y;*;ܪ¿kšÌÚ–ÿï&øE&àŽ«ó«c]Q‹Žß•ce}°ú,qw0ç–KP^gÕ{ïܛޛ·|RO?Œa¿Â³¹é¦ÌAôÁÎß9öïûçÎ[žûÎÜ›.¢³‹ª¬ÞfEFdᎽ?LŸð‰Ú'O÷É‚ lÑ|Úcþb[pûr°PÈsDã´ÂÕ`úh!¡7œ–ùeI»sKÌžA?†BÓÈß8Ú,Šãç¿ a7ß+Öë‰h‰E5Võe£³¸/÷> |-Ÿ/·Þ‡Ñ_t$ÝI…O†Îé/ÅðÎõ÷…Ò*YÝÔìÝSZQƒìÉJû2ÝØšð„k"ðàêZH—ݤ O{˜$ükL³UðR=ÂßúS"T‹¦2·‚EO'"Órœ+m"¹—Y6\H„±al7Lf!þ¦–º•ªMÙ¢…”¤lfž÷‹íÆÓsRÎ&jé`EFÞËÒhH•†•A¿’Ég!o>Îk”°£ã+¼]à5c¸pÕ€‚áfÒ»z©)Kң܈¿N=Dzjºgr¢²§'ÂÆI-!…ü¢/+)9
k'¾l•p*+ûRÚäD5’øyü†«[øzPº„Ž¤qkÔ1‡Vã“hª> šB'ŽvÓB°:4Æ=WIshšpKrˆ”Ì¡¯¡QÄF§¼:ÔBêXÙåo0ÐèÚ͸eshÄ3ò¥é/óHm•IÄBÚßÄmÓ,VªRx~Â@cv/y2è`BUVíž…XΰU"í5¦}ShµF÷±é¥‡ÙþLB-ÎË—{ú•<:d›ë¹ÞU÷ ü¹
y -±. õÛü2hÌß,+´Dµ¼ã¤E5fˆµþ“zú–Ú]ShïÑÆBŸÙ^˜2ƒ"å|¨ÞÔc3‹U¶=×ØöçÐã6…¾»ø/,´·îÌæ -ÔB^ÇúY¥ÞŸÅ´9´&ß*OéŒ9TlØÌ Éû>Úö˜¾P¹ç’9´•-O'ñØ:~ÙÔ(º_®cýD—t” Æò6`m‹»—d"l€EÁNë›`‰ìùtðF•¹]ÚhlÄÓ8 -Q4¬C’˜9 ”*IyV8Öoƒ0@åèwJ»ir©NÐ^›ÀÎú`™iìÒ©Ú›s"¤°ÖA'´{ÇY×TmFtë•òƒô–œ˜¯aœ¾âѯo6n°Æ¡i_³Ê›ÄÕ©ŒñkÛ3»*Š¯õÔkMÐÞîo]3×)c×ö<í.°Ö¦ÏÑxëüeõ¨[
‹Ù_l‹y
óu¢æ¬¥ßdÕºrý$
ß¾ù¸csº -ÙRW{›7z¼™]U¹’o#aäüÀ[G¥Tæ˜1ûŒœÄXë÷þU¬a›wºÐÑWÛm*Ù îkp©óÅZt$ûŸ1rÁÏ{MÜ×NÂYy±Ör¾5g±Ö³…ð˴ÓÂX£5ªœñcN¹
V_¿#ç4k1˜6žÊZVõæu{DŽø»—X‘Zº>‹šþÌÈ-²ŠÚ8Z™FUé)r[ýëBÇè½M˜E"ÐH`Âüî£GýV!ü¥n=>”ùí4½©¡ñ˜ná¨|’ve^šžÃœsÑeía|ØØ)gM:g'â¡•à]0Çþ9€´ÚœÀ[¥O<û—™{@leé0.äV²YH«L:hÌŽæœOshd0ÄBáùú±óX•IEWÞ]žC#=‡…<Ã&Ú…ÞtétÚu¨ÒýŸ aCzQ÷Š´º½€zÊôzŽ½Hp†ÆB•î…yºÿ‰…X.bc¡`9‚‡¢îµ¨ÿ_›Çš&‚· Mªô:ý,ê)ú»Ê&xå/m#<Åár÷›÷&‡~ö1oÆì?“òŸ—»ïE×ZÝijQ€˜GyM-¯Žî̽CÙ鞪$¼r4qqöž'þ³§üú#+º—pùW §ªI(©2+zÒâiE·²D6Ys|+^d“ÕÏSFä°.M>[&µ‡¿%h -k¶DžÝóŽÖ9;¸ðr QªçáÎ9Eù—ß^á'jhÞcvÔ¾]“ã³^— ,môR(I*T—S’™S›dÝàÔ¹KÓƒJ·å§]9ªŽòé>ÒÑKEI9¨åøPx¾—tôÐœ˜ø\6>©G¨<°;xÜ¿ÞÿX¯ÖÄ•&úy. ×gF8ãe¸aQ¼!qøô Bàý¿îλéîtˆ²\.®ÚUµ÷®xpÿ^}ÎŒ±*„æu -á}²SÆÁîÞM[²{'Þ: •Óøh+ìeBÏ
ôüÜÚçÓ³6n0Æ0cºÙeµ †7~@CáSÎ&ƒú<Ü‹K/%,/TËÆdfvb>Y¼"ÏJ³Í ¸ãÂv[â_|½ìnKžÍ &K=oG–¢r…IÂ3úÜÌí†+KŠ¦¿&ĤÞ=±vÿÙ$yšVoé¯ ¥Íi‡«•WN>2–¤Ä7tnëU®ƒ•¤ØXy~¢ƒïªÐX„èŸÙ_ø¡ìIŽìú]"/°•RÁHA ›—Íü^°±øˆ S$îê"#6Y"b$£…Ìé‹OßÖ;‡ëæÄÚÓû¹‚W@>mÖ1È3´L6j£y,€Ç0ƒÍÞÊÍiüÓ¶²6Z%ƒí¾j; „ÎÁ§&£“íì©Þýéc£¨û 3Žk²Ç‡ç-itN,O–EGòlcئH¹/Ám:±Ä'•ˆ3É»©°€T"”·Ü“€µÇˆ^g9õ·]z©n% Îyu…•fˆUüqo=`¿¼|ÎáÌ7C<p¸dbœ`Làa˜ôÁYs±íPÔ0I%ö$ -üNf¸[‡MräSXJpŸh"F×,µóRÞÑÁ€á뎗¦:ûÂ5N°ËǾ—ÀÒ(jùtø»eVQ×Ä’§HÇ!ÉpÙ tãDÝ@;ŠwMúQ\N'¼îA§ÄV»©töQ‡(œÿH!w‘K“Ž.ß±˜4zn çàÇæðãƒ`¨úFQƒ×PBn`0£ ç`áGl"J³×Ù”˜ý¬®£ÍzËì0šõ–
ÏhÎõJÕ€9[Ee´ÏhîõÆÁÓÁ‚MÁ8MÈhƒ(Œæm¥9\~£®±-ôîƒ8áÍé>':£Á(£ÙZ¹o’Ñ<J®–vÆç¸WTT– Dh¸¤Eû±sê6þâÒãšÛ£æ®ìtVÞ<´¡G¿{NM›ò¼9Χ9úò’ZñiHÒ™ÕÁž_lXËM³ Ø0Šd•K³ Ø8•f†Ð÷SŠbP@×€ä
$&8ŽœµçFµÀ8 û£èU½èñ1+ -ÐÊpqªéÎæ,¹ç.¨`ü5ò÷´‚ú²Ð]j~›âï±!Ư¬ÈßèËß³´PQƒÕðO(ÏÒBÿ²€Á¢ûû»KêìšØßË©ŒÅßcQ<-Ü_ÅP†¿gEñ®WNY5k!b˜»Ud5$´p²¦´½~U
ê«ék£,ΗÙc§™³?A^`²´‡Ò®N2U?¾#Ùíï6âd,êvcy1vÛßý@®%“²»n'á+¼‹ô² µç(Ç× -E^wߎ¶à• -QšM'ñ ¨N§Ù¶Ëõ{ÄMJÁúâZöZlN¬ÀÝï-5 -ïñŸN ÁõTÝêÕT•¡aÙÁ°Ðì‚FÄ7itú3…é%¸%5¿åÌ5aîH–¼:S<t(Ñ©k€sl-ƒV²s½Œ*'’ZöqHü3^Î ¡1–tz¦€²ÑN‰± ×nµÇ ÞkÑC@k&½€Ñ¼¬kÇH5>Z -ѸºRb‡>zkF£ECO cG¾»µ(nm´pû¥¤Ø%!šB“Mø›8h›L‚¾|pUȯ´XfiQv±æ<ãLsÎ2|Lùv ¡üxKÉ¡ôêÙZl¯Ç&ée6JËÏ«ÅR¢‰¿sÈûštÐUWÎÛ“pM=/¶?·$ -ôPWA‹ùÛ©&Ñ\^yíƒåašàÉ+%«YýYøôyÑ+üaám~—Ïÿ§W3Â1¤‡0‹ªOa'ô¢!¬& -’=FÑ -4–ÇU7ì3ÿ©„5ðG¬T¿¿=ß„®µÌyÁûêJj¡‚‹ì-.€è½x1#†0$Ü®¶'jèG›¹ì -1l戀©ºˆ¨¡¨´]1$WØüÞA^äb£3ÜÝ -àý*RʂεÐßÞ -ÆÎÞ†‘Ó7Æ©»a–tqÕ;5/-!¼Ûߥ½žÈ)`°+U‹²vþ…ú¼ªøÝï;8/Ì—å§3%‹ådÛýγ½Xª¤ZkñÉÔAì`*\Rx߉$Í`Óßn.×ä^mÇÆr¥ªv¯ŒTã£E°‹"ŸòÀùû5á¯úvìG!$8/þAQ$x5$@œˆ[h>ZÌ-tÕëË_Në -ü—RñyÑ°™`]Ä8•Çœâ[J‡fŸM}×À ¡Î¼I®ºñÁ·ÀŒÂ«)IÔOcÜœò#6¿—aw²™üX6ôÞT!$M§bã¡rº‘y±ÞæŠ8]c.‹ÈúEÒñR«o,;õ·é´…»ÇÊJ 6S&/nÔ MÆ%ÇG¬›™‡ÖÐøz/T(˜";ϵ›Zêï¾ÉMnØgBžŒ’óM-«+H‰Â[;ØS‘øÇܬøÛ Ôœ&þ -Ôž¬³ïir -S¦§Ë— òëçmK²‚Sgo¤¦ìÝeLNµ€ÆÖëx>b¾‚E=.§Ø›BLN}si޲ъN7[÷Âkâc8*¦Ta¥4—Ü¡ÉêfÜÉjt‹àÌ -¾ -”c¨¤V -¥Â ñ[o¢•ä.EJþuJ#VZAÌ{|7ŒaÇçV¯^;¿u¡“£I2æ© Ó=‚¬,;¦E…WÔü§¸ZYÝ ½-WzÇY”1w[ŠÊÄr,š -0ôÌ -€Áë¶_J2Ø ÑÙQ@‡¹ç^~í—ÃéšÞ0Õ«-¹L¡à¯Sì&6½<K”ºÄÍP¿3äEÔÌ‘Ï#C¹ÝyÁ=a³¤›ßâ|Òͤ†)·Ë`Å.Kí ©ÚŸcCa™÷ƒ*n¤-BW®—P´¬Ðšš|tí•[¹ÆàNlà彚xðÒ9†èÐZØÉ‚ù¥ùoxÖã0—/«&ø[âK˜³U8u¨VVûK8wòJ.7¿S-ÐTY¿- Æ[¡©<6…˜w£ÃGÎ7¡±Bøk:»/dun`. --a½mÉØѽ[’–£Ù*?$×”»Ç(c4Õ¬Y7ßÿ0 -H‰¬WëZÚJ}‚<„@„ÐVZ B¤ -‚b¹|â±Ò -xÿ33¹Î0“IÄ?ó¡âÚ×µ÷ÚJ¶pÓ—+ÃEVÉÊž\ÖoÞrRE¹TÀò…ï½bÞûײ&Êå´–6ŸÚiª&ˆÊS\};;©%{#ë‘`ûjÛÌy €*¬iP‚ˆÀ”çbâ^.Ÿé•ëY|ýæø±¾*_胮ҜÅEë™êШ,W^vy1gtì/nÞÂ(oO·–à¡ BsrumT³/˺è<}dTGvºƒ¸AŸLGš³d -}¥|ÑŒ½:VÀʉF8cq]žîÁ?¦;kÓ•òø4a…îbÏûUei¬Ní¡˜mDô×Ö™(šÏ²›‰—7Éï`ÅvôÚ‰ª¦¦~6Ȩñ˜£jz ¦áó€¬ -ÿCYî .Ù?Ñb:û§´¸ãÓP¦ÐpH£!ABX>
A!2¡hH4;°‚Ú]›\ï>‰†ÚdH2‡;ǘ4Ô&ãŸÑ& =†¨êðÚ6Þ "¾‹sHCE„š†´-qŽ§!DÁw¡CB0“=8p¿X
[|÷«eh`L(Aô€ßöÝ€ñÉÊ“ôPó2Gp$xÂ)Ô\Žo{ÝA~êG&pòîÊ“/¡ã's -v²•ï³c&•9æ‘Nš†b[ ó¹iVŸÀÉ~JTŠ‹‚M˜°8*æM}å¢d_ÖrÉî¡ÎÚVJåE>I_-€ ¹êýEË3u=…OW7J4|²TFÃf€{ߥa1‘> a1Á)† Ñ„ühè•îÃ7·'• ªß{ö3…€%ÀÃKe1‘ãiC9uÑOâ,°B–ƒÕ•$+‹‰ ¬di<co¤ø¦îý(_…JêÝü½oBa“ß;¸¦[¿MNŽÐ®œ¼³œÂ:"0ÌP„áYáIÃ@°–Q™……÷‹g¸…¹‘†:IMúðŽO*ÙzˆÕÅ¥o–`BA+ ÍݾðÛ‚%Ù~UÔö
*¼†YùÊð¶ÃÛšn%Áðp®¤ƒZfç¹`Œå«Ž¦æ’ܧô±x
¸äß‚`=ŒBºoâêÝž-ý2Yã¬Yº¯ÔZ5Ûº«G—A¬Wä›ÛÒz&ŸƒOz÷Gv'Õ£Iã)'•#usñ4gQÉãžý) -™šÇGD3¾þªô½F§Ûp½{*—úç/‚hD‡ã®'£åh^ØÀ©¯Ír±ö0v[)Ûùú&)ÙÒh¿Ý’£Lþêù;Íèv?+ªøLÆÌ*
%Õa=ƾô“£ã Ó(ˆ%ÒØä™±*zô~À4*].2ÿÙFõ¿^£ßO’®QhŒ˜7ÁݳœÇèS<uÒ—øÖ1šÇŒž½$•‡¿4£‚üè7iÌ3L£J£ý½Ë0z¿ê3dÔÒcx‚§>FõØ9Û¨Þ‹ÞÓŒ -"j%ñúOgNOpaÜgýú«=dÕ´Aµ720ƒO;ŸÌon÷©R¯>ã{ùšÂüâ¾m{–*þ€(×;Í]“ æqö' åÎdïò¬¹Ôá@²ó|ÂOFÔ³$œ›¿<¦Nîfò*
¶›viãÕr'GUJèé›JB›¬”±^'5¯¯K°“ÙNÕ¶„S¸KQl”ÙÐ÷^7n"ó!´®¿Ò.]í™. "5O©Ÿš'b³,¥a0§n"Ÿ’§µ»Òíê“Køã“ìÐoÞ|]2³$ë'}¸>&>8ùíUíÑÐéçc¸øpÝMáKà¤ã3‚ã’ ú9µ0>§À´|ÜWÛt§,Èoö¸Ò&åWŽ1¬\Õv\i“Ë-ÿ‹£æbjþßšÏt63ï7=_Ÿž†~³¢Ç -+IŒÐÆfhž cÇ-Ò×Ûq«j˜#Põ™®Ôå Q-»™8Käkìµ£T‹ò,½¸'U2ŽF˜[&X}O¡ÒŸ›'- -‘Àý]-Le昀D˜•y+Œ‚ÀTȼ¡<IsͯσM˜†\^]\úÔ`º—¬ËâU‚QÎyƒœ0ŒBÀÇÊNaM'ß"÷Îä1TàðsÎ>×3™é<$A^÷Ôô@M;σ±yd§;ˆìT,¼C{}¯Ë«¯Ûðzô¥@T#æÐÿAó×)ÕÕ‘n³.–" Xß'§¹Ô„ÃuuqÂK–½Œ—`Æ0§rÕû‹c©qÕ8æRÔu eÌë”[¼ -vÒ€=l5Î’ìùÊ@ŽÙ›¶gŽ±€–6+\õÞŞĬ¤µ_ÜǃЊ‰ð¡ÁÂÃE7§CŽˆ*•³_‚w(¬ùp* “ûdµ”gé}äßœ<â{'ê<&5‘¦Rú`bÎ4-Ùªfgað³Ã`o!ÝÇ´%œ‘¤þE¿ƒ«îØEWC[,®–‡•ÝÈåÕÅ%³’æ„‘àRO;Q'Ø`„n¥·ÅÁ©Kë1v¸ïÂõ̶K½÷¼w“ŽË -ƒóÅQSÕ×Æ1£ -”JøP$„ÓÉ6+¡^K‚éõPóZ1V2O,{/§1<\;ï\Æ×´^„u $Øã¾Úš@¤`k&X>ö}ugU^ª5ÐßRþ(BPœô1Þ€XlœÓO‰ŠJ냓e_¹/k¹d÷wÑ/Dœ†9oáÓÕ„µ]Kl -Œ…Žó ô(wŽ…“
¶Å¸8 -“†„´g -{{ -Ⱨ˼!;þsJàOªÉ;ƒcæœcÇXÝ97 -.# -ê±08jdÞbZBœbâÞKâY«bã\÷œrÏC™]°²þ?ëUÞ_¾×D_A_DÄBVµÕ®–¢¥¶RAëWk‚÷ÿ̽Y©íÛ>ÿø$÷ÆÜ;gÎÌœ‘¶8ì–S#ðInºk²ìdÄ{cúŽÒÒ6“P¯É¿MÃÅc¦8êb½Û -åP¹0mYeÀI(‘º°‚ nÎÃÅ‹µÆuhŒ:—6 ²¥‹ˆ©dA?@dÌ}Á_*_ÏJƒëˆ‰‰Ökåÿ1WB,ãòW)¨€gë¸0[O9+
ÏÑ‹¹‘ìÝÉ íx>ûL3¾Â0Í\iƦ0T§×³Ò°si>³–³¡\èÈBª=#Îõ€ƒR -;gìL~JÛK-ïts°¨‹—êË71âjsPû>{¢=t/i´ç&N\õ -_ÕGRÞ§‚D4áé#é„ -ÎʳÜÈóNïÎq`üãP%×fJŒBÊyÿGª1o&&/•àÛìuZ
È-júi{tû3߶×FiYDÛëi‚ZÉÃ{Ù¡$WÁ*ñVM¸ì"•:>{Å¢{?#{þuÑrŸa·B¼ùúÒ"z$„/¹EGEW’Ë¥J).÷9~âòAgCQ>”²
½·ä (mR¯Æ±±ö^QüîW:ÆúÞ±¶a¸lö›U¶ýõZ#±ê;QCt}„ïðÐ-Ããú>¼l´O†Ó´²ÿàžÇdùéXpwçDqíÄY_Ñ)3jäšÖÈV÷5n_)lÎ)ø¿öäbBLâ‘tï „¸-ç{ïÆ_ý€¿UVð· I<æ^_œ}:A¾jëCɾ9Jp–6ˆæÂß©½Ò┵S8ăŽôþΑéæ¦í9ÙgÓïùF;XMOlIv}J²ÛÉC.LÎkÙ·¤8 -öêq¹FL~,½½
él«]@OàpmÍÿƒ„¶œ/9áËŽ‚''ŽÝQ¼wj%fŒKâ)È+/ˆÜ¯àõÞƒ¸ à7ðóâ -Cº ‹õXH3úsl.+TB`¶ÀѯcŸ£ -Å"ïuÍ–Ùñ\slüÞ/Š.÷Î{ÒüCú¿ËÃFŒ¶lŒìéØCßJûÌ-!Õm&ô"knˆö‡¯G}ã™76lù˜Ç\3OF}?ŸöZ¶ÐÙš<d= áOû4òÙ-¼o¿¡ -Õá|.éš¾fŠ“¡ÕéN›Ç¾¼ -&‹÷bHj,êŒü†ë#8eÖ&=û0Ù5êJMV#»Ôæx©\tÃS×è*
4Wˆ–4õ§‰›ÐB;o`‹>,?áµÍjÿž÷8ýi`²M‚WŽk·™ODKVJ€‡¹¡»W>*²ûrØ
ÓV¬µ6°‘:ÛÀ }¡jI¸£U?ác]-ÔÊ2„=ŠjM->O 'Â+ožÑ¼>ŠÂ[iL*––QceÈqJ›
ÂhªõRÒGvç/¸äöșљÃ&ÄÄ[v„Ý妣!ª50Vs.‘pò¢WzÔ'oc…Œ¯GãâbF¿àÃÒW$PÚZ Ë—Ü|ö}›Ççô(r:!ÝNíoÄýäZÒš¢"f…‰`7(>;ˆDõµ$Î_4ˆ4d\k¸€TBe½ÄXkÛ&Íež¢kîgÕ j\|xh%qøw•ÆqC¡MñùãCk>ŒŸßDØ#í…Å–‘kNKãQi¡ëD‹´0BH¬|BW‰±ßFë,pS[€5Å^sø«™:7q¬2ð±B[›;@9šx±˜(ö½Ì¡‰Y¼9ô %ØØ!YÕÁð=àê–„µÐ^ÕVήðd˜h
ËFŸMõŸ&ö& -΂5Uü/¨&=-q‰U(qĦž¼vç@Ϭ± -¬õ¾È¨/*j™á(¦kAÞPG”øÐ…ELÐ5HÉÞèCÝôç‘Âa´èëéL-5‡üîw$¢|y:ú°„ ç†Úè`u¥n<,šU«òF™£Æ%å.aÿpÞÛwûBçàX̧ÚßÇM%z38ÈIŠ˜xÿ<×´ž°çM™G?ŒŸ+(ÁmúmLÜ+œ•:=E”t"¼ ‚;Ýtà6Vuè—
V„¯ºA¬¸„]\>‚Á(Z5!{>dB -•ÎØú]§oð·c <—{/4Ž8V[þ‘c/«?slºûåLŽ-ˆ?r¬µú3Ç:ëJïY˜c’r¦ÝKnÌ®@©rì"óýßÑnb׸hBº¥òv±cÓ3PÞ
00Só!öKRuæ7[ï/?L¬ötC±d†ŠØ?»±·ýÓÀ—ã[tIòZ~ -Û¾i‚pµf/V’tÜŒŽ|+ÒTþ÷;VKiöGRIóí_«¥´Úý²ÕR’ÿ˜âÒž°¾ŽIÛa;IuXPÒ]‚}X)}nºK†°À4g:ËØ7²/ûx¶…ñ°`gÓŒæÊ!}è<©ú[´ -ºrÉmOûQò¡L(hƒ¶n”é±±á³nî§Æ¾»_ÆoÙȧdäFÕc]kR’þqÕkÝøòOŒ
ã -æSŠûbh*©³xrâljbÏ/uÍì¸ÞÄfᇌ’(L4Œ¸ÊÿX¯²ä•&ú¼ƒ$Ì|2O -‚ Ê$C$¢‚̬õ_ýÏ~ª;£õS97YÝ©¤ººjïH#–TDFƒÔË1"•Í%Ñ)I){sh–ìœÎ7kÅË*ÑY<c@}™Â!¦°Þ+HùöÑÂà -Á%[Px2UŽj—m—¬ãO`%0ž/^¤Ö<|ÔœTh€Ó𚦽/ÄY§QƒêˆEº2ð"¨›g"5ÿÿŒ'&Dãg1‘??ãZÇ¥¾kìžçÏ«³°'éáòUAè¬fëòN×oôÿŠë‡ã«¾:œ%θ|[©VcÑ¢þ°žéð9 -ÞäÜÎÞŒiSQ¸%[pm¯D‡ ÅǸº¨øZéiñ‘ïel©hÙÍÍ–?½T<$Á<°$ÏDX,·‰PeFÛžQ¢2é
)ï%ÿ5>^Î6&‹¿÷ÚWÔw…c‰©×îÞ±›åöÑJ|r£¦=dé® ·rÜ~žâ*ùþe±_¾m縿ƕþi*6Ù7æM»‹sÃd ו±2oZÛC>*u%.xv.Šp1Æa*—Co/æÚ{…îw…Y"’—fD¸ÞôÖ=Åt3™ƒ*Ö, 2Fž¦!iâ©<[„l®1Äq\Ú!<Ÿ#`Üny½ÉB°ð²øoÉ=ð|ˆåð±(d®^t\)“>Á-ƒ¶Œ¹M„"&}`l{¬É¦ŠÇNâ`²(bcõ¸qˆ[À?§û™4ãLýJÚ(Ÿ‘Xèw²–¨Ê9ÉŸœç-Á;ªKÌçûdU cœ‚E®³Õ*‹r?
œ2ˆ°¤¡èÔ–€·R¶CÀ¶™stáòJ³Œ)N¥¡^À@ãžÓÄu;1aêm@h›
å´0°õöƒÕÒFp¸æ@âêíÊÉ7Œ«LÎì+T‹ZÄ>tb‚ÁŽ2z‘›¦‰ù*Ø)§Jò‹M¾ ìe'6+»!`_#ã`áJq4~¤Mr?Ð(3Þ¢¥‘ºˆ]Çcj9ÔoŠÕYš0ÙÔë -v
ßÔ@j9ö™ðêMeûêS7¼´F—pêù -¶Î„½ÖåV¥`5ÌJ£ÄL¼*B¬´©„2º±žÉX…ÚEkŒ€Ó©]Îü{1àÕÈA›&³µŒiÍb&¹#BÃ]pÓ:©oI|Ó;(q)ZágÁbe/réN3vø{šAÙ
Ê&)´º@¬‘kÂÛMãã4cç±ohùËý£0ö«ý£í!Y¢T qNþf‰Æ°Ã0rÉí–k6BÒ̆JY°ÛÒ0ÔÅ·}–ƒ§±®ìviîÓ=^÷F9 æ¾îBR¾*^ó3rU„wŒ»œb©l+ð†Šê0̾Uñ”éŒé’5†î;P So°º÷Á»ØѨñ¾xášÑ;¾”j -<$úüúß*ŽoTT7UävЪ×>¨bá+Òcá©Â k¿ãð;è³`
¨
·!Ò‡ÐÎH3Pûï¦R|?šLÀ¹·´;NÒ"æ„4kySVA °oZ‘êL
ŸÈԽѴ ã™Tòµ… -8¸›ñ‚ä²sårfŽ—u‰ï‡#pÏz_:`?S†CYÜËC€í¡BÙÁÒ º$mxL:o,x.Ý="W -èP¯yèC£Ž(qü^§xHz°“4Ë Áq¥ôg#Ë €n·äí‚‘ÛâüÚvAßqÜÙãvÂ!³ý›¦©+ÇÒ`)Ä@ŠÒX÷¡à„13$ßpëЧK¬¹’á‚]¡7øÀJÓ ¹£Å#á8÷ƒ€í„î8Po׶‡ï€„0ö½Í)XDS‡ÛOøž
ãÝ× -Œ¸|©BÛŸF)õéh³ò—Ñh7ßÀ4dK—Šw˜nŽ?¡Åw]ÙÔ÷N¶üô´ß¥"«l×oT¬‰¿Û`¸¢ÿ±;¯¥¢÷ê¨à+õÞƒû»ÞÐÆoÏx¾|_i½ÃXóõDŒµW'cL?œhÃ’8c·«“1Ö[ÿ(õþ[¶³1öDú_]ãéÛ®üc‹ãiÑè]t5<ö‘'¾T¡ý,ó¡*ö^…¾;-½§ý;H™û>¨z‹_ -OÎÉ(.jŽqF\|¶õy9âÀÀ¢Zãø‹(‰~kðÐ'GÉ€¨é¦ùÊô74}†YŒÎŸC½kV#ÖÜy¤ÍÁ®YcñGp@°Úlñ¨¡à1CÛ®¡VÊÞ@ŽãGùYŠ×›,€¯WÅ‘„S!i{¬×`ñ)R!&Å’úˆzTžþ”…eÌCØM\¢Ð΂ÅP†oe?2*ež½çèóÿ…ÆïhüÓI'”|'œ(Oç—›üM~uyàzdà—zè>ç’5bðº‘lxMÜñÕjT¦ü,ÀB«¥µXä¢0REÊXM½·¼òàô6×b¡/U2›Ð¬PJUñÊ6b¾Àƒ\òܢ -U€¨Å‚X -Ý fáe¹go3`χØ}éa±ó\”
Â'½8F†Æ)*SwŸCÛ#Tü/ÿ^»qÔPø æ,¤’*;øørl©e³¡!$¥¨4%\·ÛdIén›KKþðì|ÇöLf(4êÎøó¹ßìyXÚºï^p¼Ð¥··W—Ÿ7#ˆ}'ݼG»¿´?”fÇÖ¶X1êžÉ†–©,ïõ?²±¿‘?ziK/_v9Ý/Ã…¶¦£WͨG·*zH2aö1¤Â‹/§/Ÿœã‰Ž×þÕþ#!¡ÁøÛÝ~Ç(ÍÓ§Øø -¾_åbÇšà|)Õ¸;Ý*èü“=z»{B„Þ}ôúòχ
új²G4ûbyò|ñÇÕÎêøúÍb‰;ãÈ·‹«ë·BàgÛ‹Ó³åÁüfqÑ*ò’"•ñ/èÁ«f#Ó*ÚTËf4ûtrqµsv|u¶ZÎ/nÔŽžîí¨ªÐÎ@û™Ú€5zjlm*ÔðÎ&øô¡¹†úÉ[¼?mt«ñÏ„~)GóFWƒ!䋯ðò Ê©'êÇŸµ:ùÏš^¯u -A½Ábl[vÆGåês„@ÇMÙÔIVcnSŠÞÝrôH/&âˆU/! -|rÑ:,E[ ‚A:wM QÓ˜ØHìm‹HÒšWHv€Ù{£}¡Š9ðR(yD/Ê®J¯&Pë=ζG‰ÙÅÄ&&’̦Àž‹ßZ;›üˆw†›Ì%Sb)yÖ)eÐi#†f½7¹„1‡%„Ìyæ®Òr7B²ˆsZ©£!Rš³HB¿¸!„´°EY®A:À1¸/!ЋrIÔFsq’Ɖ¶¯¶ŠA³·ÖÌ@˜u>¬ÕcÑ°þbÖ…<¦\t4Lò)B;“›K‹Õ(3~f˜wë"ºÑ%Of@&>ikÎö°-o16F‡EMV&K!Õ¬GÄÈÊõ±f²6¾CíP –ùƒÙ‡IFÞÙ5;<¦£ãJFðØ`ŸjÏ3ÝËŒ½ˆ‡³:¬C>#ÒОKh‹}@ÉP¬•aÅZÅ-´MPžZSt¶NËõ±{Ž™.õkµô ·†1«#¸„·æ^¶,J-k[“—-‚ŸÍˆõ>ñ€£áoKaHÁâ,g”CŸN -/æ2³uÇÇ©ac -H‰ÌWínܺ}½ƒúÃ@üþ"E‘”QÐgš‹›Ä°}oQÅBñʶyµÐîæ6}úžêkmߤ‚":YE&µsÈá̙ٓ?]^Ÿ%ëîc}ž¾wr’õuµïúŸGý7m{Øí{zuuêuà¥ä]
/þV÷»¦Û\ðO–ôíWïšÛ‡®vþÏÍþSwwwê¿:ÅäM³okLwrõ°ßoW»ºo÷õú|»¾;éa/¯öxMýý$_ÂúÉ[š¯6Ÿ«Ý®ù7f…mˆ±´;lÖÍæ>íþuáŸúg}‹‰¿6WõîxVŸÇ±”{Çà8x3ïnõfÙw·õn—um×ï.üìKµñßV÷˜©ü¿×mÛýî§muûɃ¢UÙ´5vûXí±DÚ{òFÈUzhÚõ»ÃãÇ~µ¡ápÅ&ÝÁÌÒ3
›Õ›GŒ\×û=VBòßÕët¹2^}¸ªï>ø秃پÛ>Vý'|÷,¦ì.7wS?n[ø‘wÊóÈnÓÓð6á|4}ÆüV éëñ½ÙEõç¦þýÂ×mj燤ß_»Q*ÜÝÍ\ÚºÿuÓì±>MC±sÄÛn]·xú~ÙV¼†˜ïî…›ª¿¯÷8Ì®=ì9ÚìÈ - gd@ÊH€˜aÃÐ@(FHÅ1b“Ìx¸Ñ•# fXÀ0pEp8õ‘QpZPrñz`ÄËÝ•)0b -ZRš¥iš¤qŠPIMªû*E0§À‘E’{Xu–¤I’Ä b*1‰N¢D%ˆúDBÜi=Ž€¸ó#î™yæYã#Ög’yãÌÇl8×ÛÏðí¿²llbGîA.â -8?3)’'F$Sd(Å•²J{ÊtÒ.ÃÒÖAxJÎR1)}œV‚˜ÕÀéAÆš@ªPx$
,„p:9TÄŸh'ñ Z)#£»‡ÿFä”Kð!€4…ÅBSÒ#U‘¬++˨-³º8o).1É‹GS^, 18˜G”Q¤âÀJ„chv-Ž6Ág8ë")Q¦"@y$¾‹ÐH$‚¥HË,@ðHøS!˜4´E€%YÊÛ'1gÂŒåcÄ!Dœ#c9pJâdÂ#RϱñkÌA ¼sz‰|8_ÅŸÙh‘™)â¿ÈKÊXhÄÙCÒ=¤´Ej§œê%4'„(8 =Ï®Q§Åä„pÑ -Ì-À²KΟ«¯‡òëÊý\‚Ç"Ÿrq/¸¨»JqØEé-‡èǨ÷8äÓ¡ø-Kß\ô(<K^¢DÁc¥ ÙÒƒl
ÂEâýL·fõõc© “ry™dd’…v™çÚÅ¡²Ô(Š7HÊBTŽde),NZh[eúº6½¨NÏÅÉ;V'$§D’â„QÊ -80Cú&œÈ)!µC´
B(sªB†LJ° ‹¶F£ÍPZ‰Æ#€8Ò‘gdYsHƒBœžP”ŠZ¨Œ·503÷Àü”û)ûSþi´ -Ь¤Ü D®EñÆÊ°TJk‰tÎ9‰¤°û@=öÔè.Û\58‡\C…ˆÊ!*@\| g’ËÎØÑ¢âćl¢rC²³è‚ïäRϼ/%ÖËyõ,«^Ì)ïiR=Ï)æ‚öÃQ;Çånc·c亸M=ºüÛŒâTAÄ%ä<¸{¥Æyùg›åŸV#ôS˜?÷ r¾<¾/Jó °*ætúàçT²Bëã|£ñ€ÆM#¸Bá<Æì< üèÀú£ÚÄ9J›ÂpIV¯½“Õw¶šî°N™<&x€ÃñlP° -¡”AѻЂ8ŎxB?¯õ»[æõ†ÚD@E±Âí7”qL àâA"cÚj+!&¾±ç²y•ßɯM!E,½…žQ¨˜Œ(Ú2’è?ì—ËŽGE¿ ÿ¡6ì
‘ϪLÛÊzf5ÂÌÆ¡áæ
kh@êùÿ¹‘Y6iKnÚ0²`«D‘ɬŒ7Î56ÐJ² -ȳuúr°|móøkâ^1à2“ÁÈÆo'<l½Ív†Â-¨Ãû;ì¬/Þ29qÔÅô3…bú°|Ë^ï - -.-XŠÈד՗1²nТP‘Y&‡c}…mUƒ³Å¾Ä¯"{T.¾D~Ä.ÄöÓ²Ýôœ3F‰Ä°R,.,èäîi?Òy¬î[‚a[ŸÌW=³’i@öo±ÒøÔçÀ‚ŒÐéÍ¢Ô4Ð3Ž„$à÷Õ*Ylà4–Ð ]Éa¢3`ïYlœä±ÇF™¬åàWŒYXJ¹)f1X±W1X²W1ØPÖŠÁRì'ƒ¼ÐC…Â_À€Ð qB8 »@D ù¸©âæQQr1ÒéEœrµ…ÌG).ÉqŽûº<ñqŠ3JŒƒ!ª’áÄ Ù‹ÿ‰ó‘çIp«±Æu|ÙAüØ™^õ|êZ‡c€©£hFÒ)û‘Ä£JÓxV¶øfõNÃ
´úgýz¤¶Óâ£[½Ð1^¨ÉyEV`óÜ‹l=w ôŸôõWÚ"ößd›ú¹ ›Ã ¶È°–¡$ @M¨1£¨®"£€Ã…áöYɸ²q¥ã¾XåÀŽGŒL†©‘HV¿CÉâ£zÇÈô- -¢âè&âØNBÅÌð3PÉizághPÌÈ2•×D“¾t|JÔºôã\€§ödZ4xàžuå‚=TŸ¨ØŽI[¢«2‹ù·æë/²2˜§ìðø3L%Cêexd<.:2(FÅS‚Œ%ð#hÞºô‹0+_•/Wâ<'ÒÏxýÖbO-vFä°ËŒ½Òkg0©a#×Ã[Î:Ï…ÌÓÄG`Ÿ3QëÌSœh{n³D¤ßÅ“âxð)™ä‹wb\óÚV‡{V
zÖ`Q ª,©Œ“X”ç’-ÎŒö"|Œx¼Ç»´EhœÚµ:Ò0ÐVéÿ+ñ)r}ˆZÃ<pãLç,Ý PxNÜkB›pc“7&âÆbcÓ´MÐ
>I+¾UoÞÝpÅü û³¾ƒ;ð¬Nž¾bàaôŽ¸ n`í±¥_Qc†àñ-YÎŃG379д_wú'¬Í{6pºÄî@ôeÆÞí²c‡þl£…!òò̲@pÈ+›½å¢¼ËåkÐtÊo5W®ü?¿,3’Ee-éÉ/ëþn³Ü~g%¶¢¯9ÊGû¥‚F±èÆé£Oi±©1î`h/÷wƒEK•SÒ$æ®
Æ9þ:Ì®³T“Ð`E90jô¬ý킺ÑÛÒ¾r%ì'êMÿcx7øøðøt<=ËùøþéTßú®ùf~x<6Ï¿6ùÃÃÏ¿|«ÎþŽÅl“ÙÀÖ€)ܺ¶‰n‚·ô‘f¤ª;¡Šq¯7ƒ‘UšºJ#«4u•õyê—×¼wÁ_nµ ñU‹½¬äm–û’rþãét|øØÔwPÐówÖ’že(ÏC»f¨5EQ†2g*•µP˜@j™P‰y6/óI¦S(ói?ì.o-ƒ‰R–bBôL‡‘©ð\F/
^ºi¸ÓùÜ2j+êeUÆì¥ø²…å¡ÂòËøRâk‰®ªó&»sí²kI¯ŒÒÓ5!u*Ñ@þ$ÀΊ)[®±\_Ä{DÞšéÛ0[¦pÇ$î™Æƒ -½e¡‘—,²§‘ZïD¢–¢SÙ…GÆ’ÌRõÀ™@*Ÿwðeð* -Pêš~O%ÆÜÚé` ²j—›V1\“Cë¡*‚õP¡.Jâ’(ªX«>¿²¹TvZºwÛ¿»VK]?Ÿ2¥®WHSíÚ9mÚ™*ë–~¾^×3¤V¢.u¸ZßÚç†ë[*¬–f—vï¯Ö˜ª\ë\+ݽ¬´Zš-÷jۊךKÕÛZû}eoôúÜƹ5è¹:«>wÓEmÌçÚˆu’2E—¢JÒ¤(²¦Râ X†w<ô'êYyª#Í%è&ˆ)Ó#BV#ä„Lu(o†pfÈÅC#0ỸGñ#J>¢¾ÕÐM®œÐkÎÛÂ)ú< Xjt•]Wvž‘ G$ÉOXÄM‡Øif=Í¢#"i†Ï'DÔZÕLzœ‘UGÛŒi€(hµC¸£ÝhaÍ9uÆa2Œ"á—;4K<vb±ç<åûËØeÂ^;ì8`ß»7*k— £f€ÝÐDŠe‹‡ôxT‹Öö„Ÿ øêèƒ=áå“4:gâpd=™gD‹µè7¾³‘àzF?ŽèÌÉ'ôj‡®
è_‡>6F_O(Æ€’ô赈æoa¥² -Óa†KŒð‹ŒJèdÄ1x‰‡§Xx‹ö3|f„ßdtZBý;¨ @Š ±¦Ý…Œ0¬¬ —Kè ž -Ϙß+ûWöVYÔÜ:‹š³,JsÕÑw®ÞÈu)xþï~IÊü'î>lSæù;¼ö=eÞSæ=eÞSæ=eÞSæ-¼§Ì{ʼ§Ì{ùj²È½²_ke7)“&×_›ãþÞÉö³SæÛ_ÿóÜä?ÿÒüûéýéøü|DÒ¼ô.~ÁIÚĆ°¶ÅM¨Ž7j4ÝD喙ظӺñ(oÇ7©Ví&‹¬{iÊ2M]¦©Ë4u™¦.ÓÔeplÇÖÆÈÐ7; -x²À²(ÊB~Ø<n5nÅ–ÿ™hvõ)<I‹H–pƒgõÉà{ô‘‚ˆü -]{tüs›æí¿Ýé?û ‚ôÕܧǖ˜úŒ EêTIÖE›dò!uŠ°I|t‘Gä¶<ÅÈÜ+<ð´ˆ|Å -p/@Ö@*FúÍ9®n'MÞ‘‚‹ â¸úX÷’,–|8öñ™Q{?Ÿ1êgÏâ‡Iy¼HŠ,’°aUÇÍ·¾tí‰á}÷ -uÐSõð ÿ>©÷ÞøûD¡§d÷dIj|1oH¿¦y½—Ân9éܦƒÚ®º«ìÊ] -»4©0$™É
¡ÂÍžõ´-ü§Þ$)JBDfe(Qq -Ÿe'é¶Rº'wJ«PiJ-B¡yÈ©f›t]ë‚1L¸®Ö¥k¨¾ºj%¯•µ,ÙTN–’K*±€Á‹-¦è¼`´-—œUN9fŸ]¶Ù¤#ŸRÓä”RH.YpÈt¡>PÚFp4QãÝŸC5¤ -òbY>þAÎïÐôšÔáG{Sõ•³Ôø’ï”îßPؤøqlî òá›ÈìÚ[VÙº}*Ùly>iØŽkT¥–gå"e -ì“r‘ -PßvNZß[ -Ë×¾±+V9à|¸¾Øå„aó²UqùW›±‡éØ46 -Ÿ‘ɾQ°N¥3,.I% -†7ä¹™?ÉҰκV!ë“ÛgÀÏ€”€Ó ²JµµÅ5Q@ƒ5¬´&8C_ÈÒV@¸i©àg•,eIjIP§kñ0O#é¸ð6¸«³ -ØË“½,,if’ËÌ<^‘¾Z}¡•ûÁ_+}¸ÀlÅhÅVçn£ôLW\ᆕ6æüsõð]²G©óÏKdþÅ”ÿPêðãí -qzEí,5¾”¡º+ß)NÚ™J
ä¸ÊØkӛ̺ëZ²î¥ ™†P~ ’È’Ú”©4‡µñܘÆ*¦ƒ -QRýCܹ¥íªTÙuE—Ž/7 -ܹb²,ºég)g`ZËmŃ4èº/@—v
¹”j~¡&``4΀Yyq-( cF6 -$˜$ T°$¸d9UžwFbS§ŽNžˆO LÏPjpT© Ð໓/Ã7¤ò4áŽUul‡+ÛñJÑ@3³Ñ0…²4]R2_¬ÃW:!yKö×oí–§†ßåÁ]3]ÎÐá"Ù«ÒØÄÖ,ù+ÒК˜¬ÌË0±iP˜¿|ó]ûYýS™‹¾è—”.ñôÅh-'þ®¾ùîþDû÷¸:†~0•—˜´;ßq{ò|—Í/oÊ%†Lh|pëíÛý8åò‹LýÅ㧛œÆú%—èb;-oÄ×¾ È*Áò½ÇºNøb2¾ù‹•¯±2nñ?½h³ú¦þ-|·|ýòן¿ÿòÓ_ÿÓ´~üéëvè/—?ýãë×ïÿõ×ËãЕ̟ÕãÃÉý‚GøêõÖ¼RËA÷mz]ÌlpÎ0Á1*ÜDÜ%Ñ‚<]¬ûýðàÒËÊ ê² I¾‚6©¬ußïeÈ¢p‰×rº‚iÛWá¶óÀžövDEߪò-÷}ä¿u]Fß*ÎàÖúÜóiô'Ó™Õ%³ˆä±ô^FN½„3†ñ΀¼¾˜#¼L˜µÄºW*ÞeÌDÑÛ‚ÑN{Å,$ÌHÀÌ8Ìé#ÜzyÙ÷Ñ -Ÿ˜Â÷4ÎT®™Ê{Aë¸]ëÄC¨FqØ“ýñ[:”ˆqüêí¶hŒûµ£€¼9ϵiïÁµfÝ~‡›â¶÷˜(âøÃlûë¯ã§=}n2ûV]¿îŸç[܃·+ýèÈ&üV§n‡ŠÒ£Æsêá©sËwzí8¤ˆpG=¼ì×Kí_Ës¤žèÿ. 3×nLžÆ$9»Â˜“gFÌȇUò!lÉÀ˜¤~Hx
[ZhKŽ¶$åPS°¥eØ’”½D‘jd¥)uCʬ0Z/*`E›
ý—ý²Ù‘7‚ðä;Ôe -Ä%I*/iƒóÆ€Ä1"sð'¬ÀdŠs£Ÿ’F²Zä;;’é$¢tSúôÙ#®x -úÍÃf¹ƒÄþÎ[@¨a!˜`}~Ê·´³éCö1EíbEÚοlI´–3ÒöSOH¡³ìs'êN÷Ê2C·Tê®$“àê¼Ôáñÿ6QiÖ÷áÉõæ¤wÓa
&[¡iÂLðLlÖ»&` Z%—üc)ˆ÷7ÅùcBrÔZ%(ÁJ³‹â”šä“†ä‘BòGŒ$—lQ¶C«ÐˆyäH–_/+:$5€ãhC‘&§YR“B(óG|™°ä!AÎ$Ÿœ0Fà†ac3j¦®PfÊÌ SeU!þ2U0i“ð´‰%þFaǨ1'R,B9#¢Ê„ -){WÊ»—OŸŠ‹ËMkAkbZF|+ôFé}Zt›‰ohEJ͘´ª¶tLiY´U6µuﶢ«¶ŽDåÕE¡9ÜT¤çÑqw>°]W’§¹¾’EWìýÇE‡ŽâñmÞßáƒôn:ÜÀôÀí{:4IVÔ -p±ç@&y’ùÈ•ˆý›DK#áÒ ,=â¥ú¸E€©^N¡éíÈlAÓÀѹÏ*lFÜ2ÇÍÕÀÉÞ.»;[gvx[à丩@í)Ù<v4¡çx+—§©FC -3áÑ'©åÁóÆÜè$'\ ;5Бc$äaÇS’mwà‹JˆŸ ¡¬_ZY0‹Èvx¡’V#xÆb×£¢P+'LýXÜ_On.©Ù$“Ԩܚ“BQ ETUìTi,vò;õaDäºJg[{*{K„5â55?"r
{÷ljJ3>Fô¨ŽÞ]‡˜f,§Œ¥v5ÀR(
IHCÂ{ò(YAPT8$"`ˆ!Ô¡€ ÆÂGÑ“Á3'êô‰8Ê›L!
%Ð(fš„eK&K'Ta¦4‰&™$£0Dø!è -î*H´•êÍl"|4µÌzP<Q8•ÄWÒ¯æW5Ý]íß&:Ý=Ü/zËÅïºÃS0‰[šÅ+uKsrIeÐ$‡4"“0”,fÐ -$-J$JHbOÄŽˆýP’:!öA5ŽÔþ(Œ²í)$ò+ ˆAÑð†j%þ,É¥0}<UðÙГǘ“•Pèdâ(o6Ú(kg(a&CFS³%q¥bJæÉF’ÄÆvlĨ9¡t¨°/ýce—*=–“/ê‹Š#ÛÙ•¶îM¤ö[³W³^)ž‰špSË+:
ˆt¾»™îÝ<4Þ'º÷Âwß!Àä.Ÿ¾Ì¿SóÔ`kÍK
ÕvÁ?±üiÇþÒ<ùÁ¸Ñ 1˜ÆYË{`žL‹†u¨F3:cn€7£»ðY¦¿ô—®¹ @¸×¿Ó§/îuþ7¡¨¿àÂÎà‚aÌ÷:9’Ïê;èÍó¥uO ‚Û]w~Æþz^;Û_lóÔÚÑŸ\<£\ï½>D³¿hÛ3ç@Ÿ¦¿u_âó׿þþË×ß¾=ÿGwÌß~ýí9ïúËåOÿx~þå_ß¾^~M».Æö¦óÝ躽Ì_ñþLXEœ¬"mrp¦¬&›Ÿ©×ïsoZfd©¡.Ç˶ÈîdNÔÜÝ<À‹:–²Nþ:É,Þ=>±Èb)‘2&,êXÇ%sðg1„ô¥ßp±!mpÒµÆVm‹UN¡g¿o¢[iI†÷1UBâATŠqÅJ×Â¥tð*óš´æ-ʯXölGVZ¼ÝìP†Ÿ<μ÷8¸8nÍp9êqØåXu909&GmÍ\<›Áïh¢à¥ºaÁõDq>ª9iª4\ÉgÑÖÜK†‰g1=æm/szÄ,Ÿ1ãæ>^~ß ¬Ô†“iÞãRîÏŠûò8`e\<Æ•úU-Ã×Ñ0æ’RÕì†r½
Y´5÷’á‹ÊóRÜQ‰OÙ²lÛ–À\¥]aRã6ù4¼,ºy€‡¯oªŠ¶u±ö{SstD•{ڌթïÚéÚ«ˆn(«ög¥“‘™dvNæS'TÔÿöPfVž[1Í-“^²Î0×÷ -…V -áåˆ×ìâß#NþMKþ -#ÄügE½@;£o8Áã@®P+ô -sÀ8vóaH3qyP˜:à€å;3AÉ(F-ðË0–¡¾ŸÏ@Kd™Bf -¨ -@Ó Í¬ÁÛ Ž¨Œ4§õrh'—÷h}Òã'3ÒGó¼<Kí8AÁ‰ÒºÐñú©Ÿµ*~æm´jTÀÇ
kü»}kol=¿*‡–Žºm©#¬æ-µÙÁo‘*\8÷++lÎÿÂ+Ë]¿ùUL—_ÅD¯¢Û¼Š_Y™Ù¾F߬¦aú}¹ü^^™È½ñ¶æ— -¾ór/øo,HIrÿÎ˽à½à¿»`?£¨Ê†,ö™g!ð7 I®P&¥¸+ >-½"RÍdÄ«Ô#bXˆÈe)•r°U@âò¨UkSñídœ¦áZ4… -m1Eå}î¨\sAhˆV GjÜmG´,) hÚd’Ä}wÄÐŒ0êx-"ªÄ¥T„Öˆ -÷\uÖÈ>ÚàÓØTQ!Á*-»,2É€ -”L0¨chQ@ÂE
6*ð)H‰´¤µÒ -bn¬§¢”‡¤¨¢i4_·øÉVdm8ã˜ò/³°wŸÚÝÞÞÞþ3Ia½¾/÷‚ßkÁöÄÛš_*ø¾Ë^œÐ—0GÈKˆÕÐ×cÅ|{wŽà?þáñŒ´Eìó†rBÝÐN8éÖ1y¿Ï¾qAuâ«»õ«0„˜ÿ\Á^Å]ÄK/è׊°!nH'äeFðŸz èŽ}é‹eÑ3@Àøåž ƒÈ$&3”e*3ÇÀf[Pεµ@ü1"$/JGiM#ÊqZ¢ XAQ¨“7¥ÅGyK v!ì!~%„°*‡²Îª‘¸:“±‘Í!¸D¸h¢%ΊX×!z" -WcœH}]B,„
Áp'¤p±ñÏ!43bdE˜ì’D¿„L‡¨8‚g
M ƒî9œÚÇ€„šT+ëRqˆuˆ³1eDÛJ!ªy]9æœKn¹ãÙjÜ Å#éæRJƒ¯$:ÊVWCMµÔŠ D·ÙæZh©•Ö`-ÕMw=ôÔ¾’ÏÄÀª>,ÚPØõÏÄMÜžr‹ÃÄzÕ"ƒü:æ*öœµ Öø
aC<!Ã&G§”•YŽvYÓž¦9Ú¾™³8g¶ÎìÅ=³}fÿÌš4[höÐÑDp‘2’Ü)z£$–œ4[iñRf/-fZÜ4ì$¨¥µ¬(¿RÔZR¬)•âK‡¨œcS‘§S
W –Õ©®® Ko”•gi±³ä°–meÖVgqé!.q%¨«¦–:¾F‹º<Ô• ® -yíy±»’€¼jéЗb}yÖW&}aÊ¥ÐM®ù[^ ÌvßcÏ$0L¾Îf§‡å‹ø]¨INrÂä'''%%íøU<|8ßQþG{7oiçƒ4§-¶;O[é¸Kxf“w;Þ_hº=bi]&î¨_'‹C0–O_Ø–r'%^+=)@ÿàð’´³‰Ï)]ŒÚN«Ê£HÓ¡nló–&ò/îC~üùËÇÇÏOÏÍÊÓ§ÏÏ˦Ÿ¦~{~þøÇÓãôilš”ùQ\ÜŠÂv*xdt% -+ ]å ªã6¬Ò?:XlOùÛ78^Ô´4]ÆÛæÇ;7™¨;ù
IqMúuoßXa<éW¶öOR™7œ©pãùÕ o9ÿ¨pÛùåÎüæ·\^~Í%½çæŸzÏozmWŽ¼±õ
K›¾º‘*ÜxîU…ÿ½×Å]|[½,îìe¹º2sþ²|£ÿøؾ+ßKÁz LYÞBÞ"Î7
Ò ñ«„^ìý·Án0{½AbA}`YÚr ™0ð²@`:HðlÓrJ’àÞž+¶VAa05Åt’ÀÜSK ¦û/ùå’Û0Ñè.ÔߺÑǾÿ‘úH»vÐEÙU+ -éaÞ€ÕJä -÷ÞAB{ÀKž:ä -•B¼ÐiARUŒ×D SèÅÎÞ–…rGl+x«žFpšZèÁýNîwX|†Š3tadß…®ìmBÏUH‡©AHèÉâ»Ô]áo <Bãžíü†É¿ä³Ø=ÁñB—vؾÃøæ°¿P¨Åq:¡±A²P·™zj&-¤Ž˜„@²ˆ(ÀR#! --\¤ŸF&*d”„FîįN^+¤¾ÀØ_2¤Ë&Uw•àÈ£‰8«üõ_6|Öp×›ûñ:½üAíWÕGîõƒyê»ÒÅoò¯rK™¿ô¬q«ÝÚn•KêTäÌ®*¯ºGè9g†íÓM›©˜²)šN«´6ÓéHèºN+³sÆÎÑb/n°¡¥¥b ´f¶Þ0vBùæ1¶Ž4=pw¸ûôwÙW‹«¡+ꬓ7³9fñ2úAq'GmúvÏ—á}>ž?pý4ß7s~6ç‡O -H‰ì—I¯ä¶…ÿCmp6âL -È*ª ¼²Ê(¥¤ì É’ŒÒK4À¶ô¥‚¼Dà·à¿µH±`ŸÅ’Þ—Ÿ%¼ñö¯NÜˈÃGÏsá5ì‰ý1#.‡-O.ópßÍœ>‹¹[«Ã§ñž]÷ß›ýiˆíÃñlÆ¥<~]‡9rc@Ço=vz.¹g¨üã9òkÜöøûQuzŒÏQÌÃþð¥°p6ìr§wî>°ØÝ;7Õîv—=jhÕ$7X‘sÛ¹Ä;o~ø1àÿÑ€ìJ¾/”w›Pÿۦψ뮉yûN(wÂ_â´#b¼p¸Ô6é+[B“q1ëfØL8Æ3‰Lb2(Léºóâ(ªgºx@ÉdP@
¹¾sÌ\*M?±Ö:àm -/QVºãwÞûà£O>ûâ›ïaA¢Ò'fƒ>ÄB%ÔÐý%ꮣŨ>†˜bŽ%¶Ø‘I*a“K>Å”RI5õ¼àfh‘mv9ä˜s.¹•
†.¶¸J*¹ÔÒ«Ä2ÕÕPS͵ÖÞ$Šh›o±åV[Gk¢»í¾ÇžE¯½³K¼<ï~;¼µ0ú1c†¿e³/âîˆýÍ™p!žH{km¥ì¨m£¯ì¿œL#vÚÄ<ûusS°~Š–d§tI¼Da*k˜è¤d1Å,Ù‡ûQ“¬IØ$íUÜ$oø8DÎ2BŸR|¤ö¡÷¡xÒ|¬{0„—¾a“?@è«®ëêq:A^ Ù
»A`?Èì
Ž ÉPx‡ÿ_M¡æ&ØîÂp†o(ì
¼A³;øá¥6ö…»3"µÒÚôƒ«=í]"¾óö1à³[z+âí_ä——]åUê4¹|¥_Á|?#OpB[XÑ;ŽÖd7Ü¿&\Á/ë–'eR'mÒ èoa
F\âüBV(ð4l‰…
,S‚Æ[aÑB¶LÏê%ýJN]…ØO»›+ðr®zâE?—Âò†rKg‘/†Ô
ù!Þ#D–=ý_Èõ¿ -[ää|¾vøÆä p…¾ Ø,9#t×è¤{ô
¸„¹}ú’ÿò¶Ü–'ïoîf—›\:ðwñéËõ@þu~ÛÙ±ÓÇ'ç}üÅùàñW*<E¬`7gŸà»îÁOÏßXC:<‘Cß¾²HyøñƒÃøåòãâ¢ÂàÁ¥,Þ,:DÅ›EG‡¤ŠFÒeCP†ÎäÆûF
þ¶Õ但Ùå*>¥¿Ù/íû׿þòãן¿}ÿ÷Ø‘¿ýôó÷uןo?üãû÷ÿõíëí§¹ë&ýŸÄý\„ü7õ³èÇáÞg̈¹à0/æ‡êæKüɘA³Éa^iÌ1Y;æ\ÅL˜ŠÓ -ÌSU%ænÃ<N˜×óÜ`⫲@"IŒ‡Œ,Ô¥²„þ&‚fDm!~•$¤A™6`9µXVÖØ«m…ô"n¡Ãz¬±6Ë°`úV¨)aXÏ-âòK~ÃâŸa±À#"XÌ DŠ9è:!‚x„‹¢‘\¤]lWà>ÁÉ!¿9…¦eAÓÐО“ŽÑÀ#‰4GJ/h¡ôZà ½˜GR±H” -Mè"»Dmà0I‰ÓC¤ÑJ¨¦Aé‰98´`jyÓÆ«yçícÀßsÀÆÔ2ÝÛˆÚ´PÐê³.‚#±?Êù¯t -.òôY.ë0Yªä{¹Pc¸kÒóYÍgz•3ç†æóX.ïÏüŽŸÅþÃx«+¥¥ûÞñ:Ùç¯q*†Wa^‰ç{>ç༥^N¾LÝ_(ìjxÙú·ÃûVw~¹Zé°Øa¾Ã”ËæâÃÝ» • -æ?ÛZ†Á¸µëª<ìÔ‹¹”‡Y•Abò¤0uÒ˜> â…ÆR’CZ2ÐÂhL£A‰zLPe€6Ò–A¹þsq^TÉ2¢Y„–=m¡kMÞ-±>vˆ½BòÂÈx6`aÙO¢]j<³2·{[;ËÚáv›Ñ ïún‹ö’='ù ž²»çän8µKÎëmäôÑùBáÔXn#hVHTOQÀ[õ"m!⺩3Üp(.0E†ŽÙBð¦‚\ âRGG%G-G5©ž£¢£¦£ª£®Ž»?ÔVÌòŽS‘G™G¡G©G±¹Ü@Ί£æûUföS†{ôÔ†ÜqOað=Qû¤x¼•‡ä;Oé@|H˜øîÎ0áÕÒÂà¹%ß2ãýö-qøÉ:À:TØ^‡ŸÞ}5|5Mg-“>Ok¥fè?ìWÍnä¸|¾ƒ/$—(‰"ìEÔOsS‹f°ØC|ØÍû#UEŠ¢Úm÷ŒgAâþඦ=RKdý¿9{yß%õ.º³Úz4¿õÀoðËš -då9Ø,2ë=¥f™ -Á¸8ú)ø@ó¦çϾ´,2'¶©½Ä3&¦Þ¨3Š¿NÝáèm·Ím)ím-–˜{VWzœ-]®—)ŸùòxÙKÖ´UŒ†ËÑpÉ mǻѯH]‰¤S‰¤¾¨Í™ËC‰§±Ô¹¤óæÈÔ°º•°ºç¸šÅÆÕ¾ÄU¨ŸtjH]ô9¦â'ä”jj@¥˜.%ž¦Q·QNk ·’èü>ˆ£ô5ù bDÅüY±p=â>©²tüQð·"N¯0Š>$)4™Ò‚ØÕ’´‡¬Z•”^v®¶o)¢El·½Ýð?àõ_{ÁÈÖœ‡—uo†fÆË4=ËÜ©Z·u+•žÕ·Â¶v«ÒªL[¨j¿ŒµCÐ<úå ÈŠàDaA JÎftÙ·
b°l ù+*MÈ`£ò¶UªÞ”“²oP¦uКеH
»²Ùš
tk‚‚åŒfAÒ·BÀt/*MÊknÂ̻RÛéœ!¡R:• -ÔöµŸµ4ŸÜz¦ÒxØwr×YKÍyPÍ·6ÅGEÑ`sºoëŠoWEó5]Q’•#²œdo-Ú¥£“´×&Â;m7;$[¡Õ¤mvµlµªV©ÚšŽFt”ŸZsŒ¼Æ
£<¨&¬Òä®Ù„âc‘‰aŸeiA@ñ2:Â…€
EL>HTwÂѳ•2¶EÄ‘D,¥ÈIˆ"¦FájP -ð¢ Æ[÷¾§l÷t̵*v±"cæ¢c±ô„CÏRUµ¥jÛZn;.O¾SåÎVÑ;„o8䯌«3ÕñuJú7EcȹÊdªb¹TÉ\‹§³ç9×Éôõ¦úó5Ôëœ%nªs–¼ÚHLÓ ç:Gc\ê¬u¶:û1YVÛFô?È ëëí‚÷M¾%„3/˜p²áÖÊo)°4Æ^ÇÜr qù×@…:Àž{Û×:ËeR™¹Œ$k—æP2v¸Üî4°«±ß" -ñÛ¡ær8@ÒC*cÞ]ÿp¦os÷c÷þ9
nüî‘kšÆ@¿}n͸gi¹óá›cßóè?P„&š³þYµú©ûƒ{zÌȃò'üÿŸzMO®{Âwðü¿›~z÷ùéw£¿|:ë|ÄAïF¸,xzåh‰+×óCýúï¹î ûæÚiàè‡É¼Æä:«s;”¡^÷îðHÎá -ñ«Vj'ò…þNI–¯ü>ˆdMj2 iAb³è1c¯“ÒÓ*¢ltM&*-\ŽÄ½¨Cò>$)4¼‘IAl"Ÿèp©°Š>·Ñ¢µ²r=út#áH9’.ð.*‰ýõ¨7$òuµmåûêMu2Mo:Ñ|íOGgj[a[KR©E¦iE>£´é ͽÀñäʼni Sh -jA®ô «&´©%ˆx„˜{5¢QȪmêEÉÏFÕÈ«ªGViƒj.0v¤ –äJO²jJ[éJ³Ú’‡%¹Ü˜6‡¥iSmJ*NAÕÉ©<õªO» -Ô¢ -U¢&Õ¨[dÕ¤6©AâîDˆ•ÃÖ
Ò•Nµj•ÍØú Ér’²^kŽ²6Féèt-SšÖ¦)·G½åF·—Š¥ên2‹E›TÞ(c¡Áx#¯qBÃ(ê… K\—nµ ÄÇ"Ã>ËÒ‚€âet„3Š˜|¨î„¢g“SC‹œs’ˆ%¢‰xšd±£f²ˆ-kÈ4´M #ÌA`#ܸ ÿž;Ðã,¤Y'…›áðþùõQçÇ(P–&¡Ipžh¯4aI}Õ¼M`%\ ØdøõAç‡ ì½Ä/<Jç{áØfQÜ„hbš¨N¼}~;O6@·oÝûž²ÝÓ1תØEÄŠŒ™‹Že%›«ž¥ªjKÕ¶µ(Üv*\ž|?¦Ê¢wßpÈ_Wgªãë„<ÿa¿Úu$Çèð:YÀ›4DJ|9ÓÓpl8r°X`‹
<íÿ‡Ï=—¤(UuOÏÌ:³J¥VW±ÄËËó0…s#ȹÑäÒÈrm”¹M¯(qõ¬“qí¡ÜyŒ
Sƒo
±!U’pîÌ€ÅÚ°5ì
GE§CÖH™z‹ÎÍ<rSOŒOpŽÞUá\/¡£6±ðAçÇúË S¨äD~ŠTo'ØæS.Hâá
øæ…Âù)sùJ •Ú{bb©ï™Ì/gÁB%3hÍ€y!,‰•¨ï‚£œæRžÙåÒI¶]õ]Uû½cQ…ÃCPPïL²÷Xß&uO¨Û„¾ÈË‹0±«Z`ÚÜ(¬*lê@žB›h΃-ipóe°°œ«í`²™ÔåAV6†µ€"dVüª…ÄŠÀÎBm× Ûc(¢:ƒê‚Š)J°³XRÉ( -Ê ·ý‘;¤bß¡nOÝ®å0<_¬¶b-¦)r›)¹‚Ê<º6Sa)gT…5tP‹w2Ÿ2áRX’@mŽÔçPèVéwÔ … ˜r¬Gê/˜;,ÖʦÑ%Ù/8N¤áÛáZè±ÂàÔï8Aèp™BêU½Ì5fàuóMf®Y™h¦Çüâ¹·Ú½´sßXî“ ¾,ÀŸ%žá VôØîTÛ¢çFtžGÿE<XF7®èÊ=X‹Î±±=¬adgÖRŠ&屆³Ÿ8¹È‡Ÿ¡ß+jO–Ö¢)Gô‡ˆ˜U†3Xà6؆ËoAô#¸ÁÏ¡§k™,N"é -K®äRaÙƒTlIÒJìâÚĽÉ"&zºY,’8}3øÎŽ½ˆÊŠ–‰^¿€¸ÒØÁ³¸*0…°:?úÞñ>Ý|èàsqdid]V®‰åz®Å"+uUȨþ†Çµ,z`ÁQlzD‘£A©.+;Á¼%ðÔŠR Š Ž0Â)·Mา[@z;¶¦ƒYõ¬|Fµ¥Ò‡a‘'7²¬RÒ•ìkX+¸²z&ÿ±œ]9Ë»å{=[nürÖ?ϼâÙôèY·ÄxôÔ÷5M®üì8éáuû˜²ƒb'^ù&^*]ªZª\õE¨¿t7ùÌ=VNé-cµŠWƒxaOÂáb'¾ªõóÅø%z½™¯…/ÉG{óoVy~$ù{ªÔÌ–¬]-Ô(‡™íˆñ—²³¢ö4ÒW}µÏWã|1Í7·Ì©›f”oèÍñÍ_ñÕGs±ÁWÿ{u¾WÏÛù]N”$2}LÌ–ycgÒX˜1öf --˜Çl°BáÑÔ#ÃB3au°–+Vu¦-•ö\u‡Â©²oÔsi–ĉ¶¨wÆ<
y²ïk¾;³&;ÍušêÎDÇ<gJœÓ,wæ8_*9Ö×¥·µÔT«ªu•Ê²¶¦”W¬%–"k™µÐZj-6Ë
ØRqÔ¼W™!ï ¯$–Afb'ôºƒm9 hOmc -*Åô•µ¥pZ2mCGs)õ¹4 aAîíwk>±Ü¥ý´ùž·ÞÚ·ž6Þ½íjÓÕ–«
;Œ%£C¤/\é“¡œhû>t|Ýü6ÿÀÿá€;±5¬ -õ ª¥+¹o)Ú;%ŽOÐÒ+¨ã†Rþ쟱Ùô»ÔŸb?ßî0·V½ßo8*ØŽš_Kv=s«fWv–ñžö\\`,Wõ¯X¢C¦?ç.Þ]±ô½ØÍõ¼eÂС¥32ቱÀ~æÙMÒéЕ´
e7ˆÅ v¾`VS¯Ç\éH¨ˆ -¥'Gm½FR€Úž•¬µ¹f²Wf¸ä0•NOGç1Ïúõ`6Cr£žjË<+0’êË †ŽÎF]Ž81@ÔZ¡@Ú$Y;oŠƒêŠSà -ìx‹,?Æ©7vUßHÓèQˆªdZF1Œ;RÀðm9Õ|=¨~(§.5©šDÕoIªæý¨ -{’ Ø3£Õ?°€½3‚$<CV‚ÎÏÐûª¸e°Ê-&™Ë3u%؃Ék•ì…Ô4 ‰$M%%æ^ͼšw-³n‰b†!w.il/ÉöDÆ•,^8QïxºË0õ0»ïpx<»ö0ÕîwØ°=`}‚–*NÌÈOO˜ràŸà ½ÝaÚfîñΖæJâŽw¨ùMÊ–Óãœ>ˆŠÆÜÇažÊ×·b:aú?¾ -ÿu˜§·ß9Î0ò3¼ÊÚŽöexÍ0,Þ¾Èe¹‡KùÃÅ ÷þ/wä»3?ýò]ß]þ-¿ "/Ÿí†šü“\XÄ.¯´o»þ§¿{>AÊCH>âT:òû6 ]&>÷$uŠr/;ëãùý©{„CŸa„\Ë b!r à›9ã8Œ—)`¯“j£„þI~t$<Öpð¨ò=ç'NäÕÊ•”'kåÆtÝtR{Bû¢`Š““Úá‘¡®÷¶šÎ¯‚¡žõã7}¿½læ§ù¯þ—ý˧¿üë×O¿þò½±|þí÷/õÖŸ_þô÷/_~ýççO/¿•[/îgóì&~gzY>a‹5OêŠQ?RÇ#µŠ¼‰/QYy‰ÖÊŠ‹Y|¬s9êqtÌÀ`sñàV¸ˆn«k1Ád8˜!|㇊-¥)}âHg•î·”µ'—`š5»H¦©)§K’;ä‹tê:]úyÕ#6¾B)<[ÝMpqºwÀ×|ŠÄßÕôÓÒ¯tîpëüÍw\ÙÅ“õ–Lmi¢ÍÅ°/4¤+MéÆ"îR΢²–Õi)OU½÷â6CÓ—·¸Üȸ‘@öøÝžw×Cɯý¦þ×÷ý¦QÔ´Z’f]‹ØjÞ¯@.+“[kæ§÷f¶l®gÓþUºº,\cõ÷Wwß{ûÞÙ/®¾õ<–|70 ÕÍÓËs6(ƒEæµÁ6/°Ï6:ÂN{Ì{ÄZø±O(›æÜ2þ¾iЋA£d4LDãx”oÔt
}ƒßØÂ_ÿÊ^«ûMwÜV¨%AÓ¢`‰ƒ×ø¶Ùýšõ½ænõ®¾ÀEé}áR7Ö‘Ú]ž‚“ïq©z7Á” -¿ªÚ5^Íéu´S8¹ù:ev#Çv·Že±S…é /ÔÝ0P†« Ï`ÇîÑþáôÉ`„ìHëö*ˆ˜d’/z±#J†¤{ bº±ì+"dìíOŸmÈÁë4cvů8—ñv!èÄmþqšÌþè@?¦·ÃSÁ~¦Í+Š[2j†-71añ©$h͈d+ÒÛA&¶0²h²ÙÎv±+°Ù½pÔè&SHJ)jíHj¼‘ÔÚÑÔX¤þ¤©
útàiœ!QyRUö³_üæwFǸàCÄ’æ0‡%¬aƒà€~f}ûbŒ ‹;Ç%®q3ÐÆ¡ÑŠ<QÜzy»$n ÈU™«BW¥NÄn!¼}䃙ÕRïDvD/ðÈ`Ð -å:*ØBã°x"‘HDn˜x˜e-Ø -ö‚CAÚlÖ2áŽlˆ‰
Q[bn-±
;ÛâlŒ{k,¦ëª`ÓMÃÖ‹Ši‹œM2_ÛÄ9{Þ)–ªR[%•fYü*
ã¶ÌÙ4AÚÆ°o´sJï°{®½S»§ôÍ•6eU„2]i}ô¬“bë¦Ì¾(…†*-eZOÙ®¯´³ÎÞÒîÒþê;lþ/ûåÓ9nñOð¾ƒ/$7Qÿ(ÈE"© ç çÅ3Xì!>lòý‘zEJ¢ZÝm{<Ø À¨°ëv[-‰õ~¬j|V%4\«tÖû°T+ä-!NŒ¶|xß®‰pg^ôrÇ›
újƒ³Ô‡Š
6#¼a…ÍJ6˜lvXOv(<±B¤(TÂÉùd³›â°…«¶8›"ÉîŠ5Ýn‹«1lcÃ"Q¤qËÙ1Õ3g+|§ã<aÙúªZ7ª7CŸè&wàv»ëÁΕijdåY1±Z¸Xí[Ó¸¹îrjXµ«Rk%±4ƒ,”Ús…1nh|˜à?çYxn‚Ó2<6ÀY>L'eøg€_<\Q:X`Ä2OX¹„]Ä`»°ðèþƒ÷±Clám¾ÌØ -bL1ƒã…h̆¬& -£öÞßÑ*Qm-6GZ‡'¾èðEx1uÆ/µ]|^?ûùéçoúìòo|§îøƒ~ðá‹¢ý“Íw~ÃgñK’Ÿæ¿ÛŸóë—¿ýþË—ß¾¾þ§¼±|ýõ·×í¿¼ü韯¯¿üëë——_ë[/½ù³Ü}'¶/Ë<Äÿëäõ?9ámÔƒ¤ýå”ÿ†& Ú»r÷$—·|U`„ü°äæW5Pž$-²$ª2U©J®’¬+éª|UÂ*ceg}aì¸%p+rèμ•»
yOì=èëepE0°°!x©öÁÂÀ0(œ*…§JaO -ƒÃÂÓ±Ûl ÄŽ X“:>Eqd… à°cãÒ¢ht
ô©ù$ÄqdÛ™XÙ‘lä•®#–U‰hŽlIú}üS§ÇH
Ši©û²â–«Á:«JÙb³¾Êíw
‡do„…7;ÄÊ®z>ò¥7„Uýß-oj¾J.oMïRx$¹yÃHî*¹÷æìG$ÿiü6Éͯ:ü×¢iÖZ5–MǺ9±pjåL,]#‹§×qÀÐÌÃ"Ò„t°²‚âÈ#‹¨ÇÜ`¶0€iÖ‹ -¥2ÔJ/d‰CvM³KU¤ -GsÕ>K·Ë’¥oÅ…¿¿áTÝߢžJÏ>£›RîlžoévûíŸïÎoÉ<—¼õïÔw -$wŽ›©ƒ¯‘û†ï¢aWߨ\èJå‹°sKwmœ«&Æ•C%´f»ã©ëy÷I}‡‡ñùã;a™ØŽi³DHM€3qê2ŒÁjDùDŒ+Ä
®øVx+¸Û=‘íÖÕµBZxV8¯ÄrA²¹ÀX9¬Vþ*{•»…¹Ê[+@bv_[•ªJÔ -CN(%”3êãÖ|«GWsë²ÔEK -õDq„©êæzAh…Í[êV(믫µç|àlEöFþ¤éF|¬ÜîU
§SXâãÀàÓæÌnA§LÂM-xEäÔÕSŠúi=5QXDG¯8訒0
X“븅+[çÊ×¥òUµrg/ŒUÊdl‘'kg—bR)¨UØBxºÓPUV!®2W©;Môhån%oø«ôí….*ÆUñ‹‰ãɱ¬ä\u»Vç•<)ÓªY'az;ëÇ©%‹Ê>žªbÕ"pë²ÝW}D¡êxUävÙJ¹ãPÞQR~Àñ‡4Ql?‹±¸in¤û¢ßwIowÔù÷ã0%›ªLÙ¼s…`¬šUBÖ^.£¶®ä·µÒôÕÏh8NX:kÿfÁ}çþת>á'ºwà}¹ûŸ8>|²’obÀ6j±zl«¶×ÛlÂv»âJ
Œ4°®j0ÇDG8)#ÊwpY€«]ï@šàÜNNêt<]ƒ0"Ãâ9J3Æ,bò2Z@Sõ˜ÜÓì8þ¡èNÀõ*uO@["9Çö"…ðŠ:¥ìÈ]r²v!g3ÚD÷_öËeGn›‰ÂOÀwÐÆ@¼x¿F -¬ŠÕ³N«_U«WN5.534ÕjOýjMÇÅ–ŠæJÍêH㊾™¬(ÑjCÝjA«Wó©WãÉeVâB«ZβÚͥ܊û‚‹W’=´f°—ܪæv¥Ûò&Ávs¯q§á ´Óñ‚SÓ"¿“;h—â½-íiÑNÔAr«Pv:`óV"L;
¥vÃ|ˆp:üNî –ûjEðlfÏêÙç\’øÛGümWnº×H\¸a_+ñì’y›Äæ‡~‰NÅÈG!{i‚´©“½Ñ†»S8%:I!`pâS”OuøÎÉéƒ:ùU¼ûô¶NÆ?Äöá -/éÃHyÃx£Þô¥RO‰ýô…ß©?|Û8‹wÃ/îS~zøùÛ燯OÖãã—¯OË¥»~{zúüûãC÷¥]êÌ{qî"Þl»ñ¡†Ï¹fCÂvD¬©Ó]ºÃPKÓ™JSÜ—K4n;ñèÀÌúys2ä:.5¤wû3o¥wæm£Û¨#ƒÈ<Ä Yaûm6dŠ=ü–?i·ö°ú¨a£â±µÑÊù/¼î,ß¹÷ßØÃáýæÑ<k-i3íZ«é4œ{ÿ=ÇülöŒ -°ÛÖòìÈ_Úöm1 Ϧ(p5 ->T£¯Ù±vë3»t‡ŽodožáË
y€!aÄL¸0ß#Œ7ÙnÆ;"<#´á5[ì -bçFyLW4œ—Øý¼tL/jAnT¾&qýö•Ë×n¾F÷ÿ;üiA˜Ä0æ±ñ8ÉY L+»E™*€™ÖÖdÁY6Òhš¯Hf2TS šÕh1"ùg'‘”
Àæ¶zŒnr³ËŒ· -8LjK
r“Ÿ}ñEìHGG¥ÝØxGÄ“\mj.IA=.d+ö*ø*ú~ÀŸ`.<Q°r°*6¦Æ´qå"‘qntd>¦"‘É“tÅåFÛÈmø¹èP&kÌtÐõãÀ0qm{M/—¸åá¦ùšÄõÛ·ëÞá¢Ã+Ë°êÅ"brR3L±‹ýAO:7Gf0âÇ`&Ñl™À -x´ŠÑ‘Aš¤–ÛŒ+J7[›Ñ¿ZKÜ$¡"V7Ù
JKs‚äÈ5Ÿ -›Ö‰mkbãêÙº2¯ð7'ûšØÀöaìc‡ÕɺeS™ô]:Θ -q°lå´HD$LW -–c?’µ2Rèz"g^b>C@«Í)öFYB«{`"i+°ÝZ+Ÿ8iy
ãjë ]Œ§Ö^÷I#'ÞÿÚêû1÷¾5ÆNÀF ×ÊùÖMµÝ4V=*Œ°yý+;à·«„ç]k
<e1äZÙ¦§Nm7 ¾¹å›ìÎØí<gÔ4Î+¢ô:(Æ<J²ˆq(ЦC‰ªT¹p%9p%iQÉ9W[„MDM)#¬,B,C‹’
éb«©POq»µÖYê®p¶hâòHƒ9¥ªÃgF” Ÿ<²æö€g-/Q`¢*)¾¸ÂŒ4(~½xîcÀàó\0ÃIVÎ¥¨Ê¢‡9ˆTìR¡+™gË -–c½!e·Ûˆ´•mñ”Üê\E©²«u^ùh^j-ˆ™ÚÎKöÙáëi4•‘¨ëÚ¿¹´å×åMu13©iNù•>ùÁ~ò³G¾ ‚£·jÀŸ¨½Ý#f”·¾Hc¦
æÛÕmq:r™ËX†¦–X|±EcÓŒQ_®¹Žê@^÷pWpä7FºÀÀþ—t«Ê†’“ÍAWZ`’æÕþº -ŠêŠï¦«ëE·Ä½ì -΃rÃ<rg vvW4@€ê(.û(/¼›eÚÀø0÷÷±/W®^áÕXö.¦$G·.I¿õìM]{¯äáQËx¯Öox‹¯í•s!ýY‚¯H¥ì*×|Tþ¥ö8×™û¨”2H¥¡Ÿ'îd2$EÔ 0Nœð4|è7åñ¢r!×b¶#:LLÌxpÌŽÒ±I¹<Ú©ãwxcv:ÄMùÚµ¹’%w^Æ0ò>ƒ uIßõË›ü‹2
>ÅQ4.|ßw‘{ÓêJaüFu…md‡Ú@Íùv»hIœtÚÛ&óç)~ÔmÞº¯|ê6¨«ÎÑ8Wkj®©†DÏóîìÌŠäkâWé½v0hàÀƒ0ÅòŽòq®©¶i)ìý|ªQèQ}p_c»\)EèÄç3à~ZÛ©¥ödÁº#+ûÞ¦±C×ù— -µýDr'öœ• -É¥•¢m‚xkSkÝ—Dï.ÕõðGD£Š 0j›ŽÈ/½½8ô±týXŽ}„é¦S\?ã™oëkTÅÓ7¦½œâõoˇ¨Ïa~qðïÆí 0÷¦ûË>š¾“H6Û -¬©<ŒTª«Xí¨"¬VÀj¬Á¬ ‹ñ”p`U«hÕbT /È5×Üb[ýWa«+›Î®,zÍâW•oåBJ’_µ½F¬…ë#Iƈ}Í`ÔÖÜ#‚i¯1{ µˆWÄ»çO“ÁãÂïc$¯±ôxúÎhXŸ^è¿Zê9á=Ëq1æ‰õ·,w]áß™ðÙqt"ýCD
4"ˆ 䤆¨‡F‡ÉI G*£m4˜Î¥I“ŠÕ¿Ú»¸Ó)ŒÀSÅ„`¶Ì½P•°h[MJ1–ØÅ(f›ãɼ¶ýŸ’Z¹o6¥QÛ ãÄ‘#ú¿Š)ÏuMšü„¡âFÝ5Fß÷št@¦çj@Î ~¶5‰¤±ó4uª¶%Aø=–áô‹‚¹3*Jß‚’Ú{Ï!9÷2"L¦‚Û?Ö·1?í=ŽºþçHHH¾OtNúÝéË#Þ'\/±|ŒÓ±æÿnzÐ`s½ž…¹7Ýÿšð? -H‰ä—ËŽ#¹E¿€ÿ Mö¦À÷Ãh “¤áµáÕ,tc0÷bìÿ‡o™)¦JêW &ow•JJ1ùˆ8q£ùö#ËË¿‹÷B>ùúöÕ"}È°,ËI/½Š2AYh“j²ã›tie”Uò*¨¨”UQTUSã*M—ÑV[¡PÔ *zƒªîºñ£•¡ËB -P4*P…ši<9<‘n²ÎZa=+@ *PµÔls’¥œv<¢—‡‚‹PfmPš«® -/]wÝ«)iú?'@t%Yyj;4Ï7È]"èEv‘_O*'Õ³Dĉ„N?黲µ<Mð/žBL7Š¯ÞYUV‰˜Ÿ¢m—¸¾|ŽþÜ2|zïµ—žz@¸›®Zoµ•–Zh‰¦j¯µ–šj¬¾Úª«ÜúV·²%Œà‘azS¥—Z¶’K*A …lÑEåž[ÞrÉ gè‘`&ë,SO-m©¤„p É!Y
`!c
s*8îÄQèœ&ªˆÄé¡!à7¤@BD¤‰CÚ¤‘ -ÒwäYEÆäå#e&e)å+e.å1¥4%7¥yÈøÀÙïœ
À"°AÚµIb3”8G“ÁE¸Ñi°[„"S˜´1ˆRXx™[„
"}.Í+‰sàˆÇ¶27°[ÅhL3ƒ6<‹'L…æˆz\jjr\õ©&€à¡:µ*‡ò¢´(. -Cb¾ð7r¯dïÊÜJÌú+úæKà¿|¦„’²?Sâ¹ÃýÁü&ø4Y[Ýj|Š²AäÊmÛ–Ÿ€‚Mø‘WüÔÉ{ø H|‹œR -«d‰n½¦×k†Ý§Ù”XÑöP·¬û‚ľIâ!IPâ¹ÃýÁ¼Âgë¹Çî~ºlm(¼‚4Dˆ ” -bòÉBMFÕƒRÄ©a•†YÒÌ’ýÒ¬¬ ˜[ƒ\ƒ]ƒ^›•ÊKaŠÇÉv–Æg´AÓXy)¨Gb´qÓt´PÓi±ç´\~6_–™g&÷û 1z5öbõ Ã:Ù6±¸£qàq×Þ×ÍÕÞúƒ»ÖËœ¤Oº #ÁçؾV{¨z•Xÿ8´}—Ê*qþó‡•w‰ëËçèÏ= àc/ï>”ß„|‘¸ŒúÒ‹¡ßí?áý”*ú/Œ‘Áâ…ÅoCï8
x!]Œš>’!Z£ðBë`ºÐ]Ê_üÅÉ3ú/ñîÓG-ÿøòe.N½HàpÖOöû_¼Ã^½P‹p1ö-‹=}ïþçïŒê´¿hùbt -w¾{ÇñýÆ"äùK×·qg©â]þ§ûÐ>üÇo?üõÓçÿ7ʧ_~ý¼¿õ·Ë_þýùóÏÿùôñòË|Óþ«¸û.6—òÇ«¨òIöZšë`¾ýÀø¤.ÕB»ÈŸ¯wÙëßâôç½[¿I\•gÑÓI
ë<*Ë6kÊîœý¬#vñÏêðгxˆ5äZEn«É]¹Uƈrh0«Š*—¦ƒ§:†çâ14pæä¹²PåáÊu¢ -Í€£GEdÐ>Œ6/AÇHózÂpûÌÞ°À§íÔn¸Wo•[{-·m\uÑ64Ù2¸².ºê†Óœ`Þ@ÉMVÙ ®$¤Qã;Û¢¾j¾±ê¢6Ä/=$u{÷ˆÞñ ÖO×þ»ÔH.xwÉD,ÆqU“ºc›8{g*«™˜Um*CD‹…âZ4VÓ° UŽ
›Eq¯û%‡Ž
À†àvœ=¢™ú^ t -D¹•çd— æמƒ™D‚]¹ƒOñ{äOÈxûh;ÅP˜,Ê‚€4‚õAÊ&É õ9Æe(¯1t)ëÄž0Ü13ïѨ[8bú&š©0Ú+jª–¡ìü:”zÁa„óÌÞ>Ü>3‰Œ£¡”´ð_4‚JÎk^nnœƒ«ôt -â7r$à DÅfXíQ,Ë-•k©[\|Ôâf(R -GÊ(•Ô:1«å•¾x£¸×In>"ƒšŠˆÎ±`‘ÏŸz…w8Å$|Æ7LˆØE§šqž
g©qŠÅ)£P5YøEFL9m©aâ:[IÌ9$B/ª˜b‹e´¸r½Ôé‡2·Ë¾–{ ÿ@X¯àS¸U| ô@ù*´òl°7*ËÔa‹*v«`Ïv.`ÿveô+6@ŸŒç@j¤£ôñWq|‡8ú¶G][Zû6q¯qC¸ÀÄ¡o5 ÅŽµ<k`çcÙïçÚØÙ¡ÇÊqG`t둆K:û¤³Sê“݇[bÇWHÊS‰§ÂÒðÞkyÍ©åå¦WÜt½Ü÷²É*¬ÿ“_.;Žãf~¾ƒ7
L6‘"E*hu ²²Ê¢1@7³H/fòþÈ9‡ÔÅ.¹º«Ê`::°,ËÖo]ø<g¨ê%A
ýXÔI¡ÊêG_Ö<%à¹ÕÜŠKëé¤säÔŒ€ƒŒ€¥·²€wsˆŠ÷Ú£Ëb–g˜kY½Ôàþ]X«a`¶nžºµ˜³t 'nãÞç2úS—ÑÓe´«ËÐãtc+ùúâÔ7¡ Çþ áVF+uwéí?cWGt4Õj°4êêE¡h:h¼/£•*/~mŸS8ò³ì¦ æµ…—x^×Qô¬´ÑêoÅsÁ‘”Ä#WB3ŽY×ÆëåïyBJ¹MÍŒV¢üï1ô;d´’[r5Çu[’ê|8•<'ÕÔæ.K»ÉßÊh¥s~)øß}Oe´Ú(ðÑ視ÚÕ[z†ŽƒSg¢ÇÄñ1§7ÎbŒ¨~›cíàôCü®ÓƒÁÃÀP˜0(z“€Cf-å‡ÆGИæ8ÎxÒó¸Ô¼k1JŒýž)N?N ÑFÔ$+Q1ŠƒÀ’uësÛ
Ó¬7w½ÕøÿkVF”?¦Ë
òÊ1¢D[ñŽN8*Ïx¦A‘tÇ þgGÒãJŠ‘˜2P†‰›Å8ǶNô
}Ò¡ˆ§%f•Œ¥M¿Örí¬}bÍýW³œãC.ùá÷ð”OþŒòØ‹Âa¥|õ–¬^qÔÌݼúèâ¢3™QóVÀTEkÒrJZþ¦70:ŒY‹<´¯éŠÉ -¹J™Šyê:Q]ç)«<Õ–<ÕuFy*)Oñ••©&e*å*&+¥«f5ÅÕÐHÉ蕵—🦼ÕÆuÔzý¼·òzíZK¦n¸j*÷3pÊå%纞uÕ¼‡£·éd½jܶÖýóáó~ļ\ÖÍ3ígwütªz‡MÝ8Þt{sûŸËßUgê
¿V8l§ÅÓ½ToàöªR0?Næ‘Å~‚{ìµJªDR£„¹oRŽ&X[a£ (²@‘:"ÂV‡fPÈÏ¥C>dË`ÈC]àCð8A‡KeÈõK%‰¯cGŒœ"åLøþ=€Nü.!€¢ãÁŒ8Ø‘V涫¦$ÖL°¾ÔÒ/´'CkÄëù·C”úa²^ã0á5Þ—Ü ËñÕâåa\|që:¹Ý·‹—É\F½Æ<Óúì¯Õ«Ý,½—3ê´^í|¿z\Ã:r¼c]¼¬Z½q}wrË®¾·’¯ïd½7øÊf}§V¬ÅÃÖª=·ÓÔ™ºÛ´îªŸ®÷\+ÝUg¦î -¯’.ù¡*ÛÇÉ<²ØRðˆ$·A) K·>‰®~¼ASšÆê“,|ÀÓ&º¤Ìòä“ç³<
| rIV.‰) R™¦ìTU´C£¡%¨Ó±Û˜4o’Y==°EpµÉ×5Fˆ€iÍ`5C;Ëøb¼"Ó<ˆæ´ºJ6¶•Ø•%Ä/±naë#Ü5ÀëœÔV\9®rãN -ŽCUAã(û!&R¶2Ñ
~S0Š]…bªh,VJ
2iÃt¥å(Q2ë†Py+GÝ]EsêãÓAý«ë:<V¥àíònÆ=šê‚BÒ²,¢À€^ˆð*~qK3/ó4˜©{tR7û¹íÜLó4adæ;™X75Èó8¢Ú€®ŠcgGZe•F“'–Asv™Ó[ÎûÝÅÐ(Ð4DtKP ¢Õhè?Ðjt%ƒ‘Q¡i 204306hÞbuFŒWvXöŽjõ€¦Ðþ–ˆ -·—ü÷£Ñ²›ÚëÙ£$Ûg™vÓ1ÔÖiÅ<Kµ{®Ý“íÆû2w¿àd>'LÜ2Å4/à§ÃßLì=&øiyÃbÞrЛ -êôÇaá-°Úá>tpã4cªláFàpaŒKƒÔëR3.‹Ëµº»0¸à¸À},³áþ?îô13tÍ]¡kõ7®º›I+Éß0v9ͺKµ849&‡É6ÇÀéxÉ)€qZÖÂóMUãAù™úUfß¼–Nc¶Å(Ùg×cÄgŒü °t
dÑ-ý?—ˆ^áápwøþ7Ï…çŇ -sû¦9 -¤]¯K -UŽA¢@Èúº= ¥¾×ÿ]ÌöÄÉpDªÅ(~£Œ“‘¹VŠÌ¹ -!ÿBÖW%þZüS%þ:æ¬Jm«„šë†‚Ò½_‚€š¢{•)*ÌU¥é~)öj]¦E÷¾ŠBÑ$; Ͳ“>Ñ4›òDóì%¨áz/ˆ»ˆê=Æm’…Ò¢9D_5¶J“ÀÚÕz˜E—¸HY¡ -µáKÓNª6Äa‰®’$ÃýðÑ´‰îîII‘Ôö_ôˆø{ÛÒ䈜—¡MU#Œ»bXĶꑪEdœÇX¤êô)'-Bæ§Ê]UŠ3‹òšJDÇ«™¶¡C?íÅe -¥ø“ -™¶&
Eê".ú®$§þ4sÝGÄý±ƒŽE0mC6̆®˜§,âcz¢sÔOÝãÑ]®¡<Ð…1‘ -€+’0ša -RÍ9–]”Ô'¤ƒt!«KT‘ ®.Á–QÞo¸”I¯§}ž£ ¤«€g² -ƒãÞõa¬N†‰d—¡Kc~.$ ˆwOeàô+Co3†qN€Š}§7âb¬ôR• -&ùQäV4/ñ¨ÊÖq;‚j3&M›Ä4¸to ˆ{qtØ€FºÊ›÷p÷“HðBWbÃPý<~½‹ÓŽ…'sëkW,jŠ¢àj"Ò‰G¹5e{ |·ð¥ 9"0<èÜCÇ㘑PÝ)[þÏ= -utƒ¤XiSè[ÆUIiÆÉ"ŸÕQ -C654˜(³Q<8˜(DôØi˜—§/O¿øå¯è›/^}õíÛ·¯xï&ßß¼øûÃWË[DæÙ3ƒ¿xýý_öN/þ!¿ûå‹ÞýóÏ¡ç³—ß¾yý -%øù Áÿ¯<½ÃÿÉš§°Û{|üüÐ7õæ77üSºy%²¿;=CGÁ¢Q•ä”–úuVÐÐûøîÆ*Ô©’¡ávÀ…¿=`ÓpYq“¢…פˆy`‘Ð:Z$®ò8þ@Yoš¥Ú[Q{‹TÖhÒL¥‘`n»Ø§°·[A¨aªã„®vXv/çÁƒœÑÞÁÌÒÜæ.ø‚чÆLù±à¿ÄUhŽœKÝ/OèÜ3S?³rwµ¿èùéL)XJÅ׳ѹ€ûsK7iòg¯ -Ù÷çÏ?d7W…¬<lóêaÃæÿÃÚÇz~úîôò4o>ûüæëßã/ÍiÁYFÿ§DWô06½³”ÿè„Å;d/BæŒÔÑZ*‚¦ÈÝ’ñ€2È`=u‰Ø)Ïí›ïOÙî%a\„ -5ßa¢€a -Ðr‰â,æ,d8Þ€U¦21¢ØsEã¸ø -à˜ÊÅdG“9–ûÈ‘çÙ¢¥çGÏê™…s%‹´;¥K”U¨Òr•¤$ÿàÚVàN
W/ÄÏÝÂ…R4ž©mËH¢!Ë ÀE!›«ið9†y/Ïõ£rÌæ -…pÕuYÓŠnh¯…)¬ZÑHûÌâ
YÌ^)??‡õ+mÙƒÔñŒ
¼÷ ý¶€5žÜÌ#ÙKv`}íñ - -vL·@–¡¥@§Kp+.‹m•BÁ©Œêçfñ¢2 -;x8)ï`î5H¹,ºf™¬0îÉ›>ÝãH]UÎ[’gX-M=>ÙãÖ<äë6 ‘œ -fmÖÚœaØzÎÏ•ù“‹¾a”Û’{äQJªt 9J$Gªäç ™ÝÝÖY͇RÅÜÖyO®*ûÞ:OµHÙçû´ó²è+ î 2ªß £J(àÁšóC‚d‘i(rŽÚÙ}=¨/ÈÈAžÞĆ\B~]-®BÊ‚)^kÞXSsk)ÐÛÀ±Ã«~>ôö‘ÜŠ:NŠL
ì·X]BwÏ$kõ·as,®kenois¸Š*11ØÁNU^h©íç·™ZT©lh‡Ó¤Õµe;X8»Öí¸¹)î&ÌFŸ,® ×#’-Þ;Ð"è
*;‘öµÍxXÒ×ÎŒ.Nñ„Ö=€{í‘b…Ùe¹¥ð¸4wGu>LŠF3È(xípÑ!•m`mÑ;¦ÄÖÎÆjêð°¬ÇÑ…‚^¢MaMmKšh¥3¬ýœ™rä5û‰ÊK©lÞ6$QŒ€9‰X£t¥Pñ†Ð‘–¢E8°½1‡cˆÁ*jw¹ -ì -YKî)l±M±>Iu¹_©[fHê•h~˜n]«´§x”Ñ¥@D²ðÂŽÞ=ù8M³G%“µ€ó¨ï}˜×ñóÜl2€3GqæL![¢^RGýÁeœLãzQr¥®„Ž¡!G½I§±»@–莡voâŒ3ö™;ƒrϼÌDQó(•ÅˆTÊdlä‘©˜Ù¯"Š -MÁ¼¥>£`¤Ñˆ!•zw°¦3þ -½m«sxáºÙ\͆ќᙔ—^^K^Ž9RÖù>§´†è5 ˜‘?1¹kFöE~ÑYNuõu-¶1„4R®Dy‹ì¤I×{uÙÒc˜Pðoº« Ë¢…m¥— ‚¨ã?ý¯§ƒ¼U¿{RçUŽrQ! ƒNlÉ– -AòÙe.ÁŠû†0h4žC -”5ÞÀùævþþIX…Ìqe,À¥BNR"0ãþ5¶·y"ˆYk'íhÑ.9Ü7MÀ… - ep/Ÿþ$|e>àe–!VÙñz†þaéí¤Á¸÷ž³ëón\@«´ýu\Z§]û@§Ä!.á:8Я8ÛJ—•FÍD^ÜAò£‡“–ƒZ·VZ4‡ßyÚf€½¶òcyá#ËãÈ -ëÔ4£ªnÂýih=ÀšT”ûDbú Ði¯ý iŽ1'8¨ƒà¶ì¨Ì6ʺ§Ê -ð>t:Ôpr -b‡QwP´¤-ßàŸIµ¹05àø“¨S¹Vº$(°“ÿ*Fh£íoŸfÔ3yi,wp ´À«ý©P°KN¥5HÖ«S¯ -XÇÎzÇeß³J/;ý¿õÏUE -°w€¹¹}ƒÖæ}n¿¯üû -Ó |;r²¯ÝÔí-*såè}fbÜcF]8ôMXÝÆ kÿX4}Ç-µë›œdË–„͵ÐSž×*±)|‡]ð-?vçª -ªd.Aø쳺698áª6†½ö¡`m—Þ¸YL¼VÃ;»®VK/@ëæ‘ñÔ©yÌÀ*ŠR^|íR¡k?Pº¥í¸ì -mǧÄw9ßìN;ÕÉؘ´úÜïc¿×5«¶^Ì>gúx ÈWÿU2®€=¿umh€6I6›&(Óès½à=™®p”þ±É.¿àiœZ×–ñ PLÕ’÷aŸ·zÜ{Ȳmî`Á -Œ¬lÆÚùŒ£•º˜¥:rØ¿>Öêdu6î)zîW¾Ìô1³ð -ßó`á p±Mp¤æè¡Û" -îv"¬Oìb -Ëç&Âö´¢¸Å¥Üoæ]Eh -ÒUØÑÙ€Á¬ãðÆw°½šFJ œ/6¶v6àzŒ3‹Eì`3V‘»ãiæd½ZÜ(Q—+¢ -ù¿ú+¾â!ç*ž«Š'ñFpŒÉ -.c‚¸Þ>ç]gþ¼Œ®£U~±Ìàvîð,POpLI‹œzµ-MGéWò”ƒG<›LtÅ›ƒ°U+LÁ]™±¬1±1kŸÛåÔ”Úºv
˜½&q2½ö‚0ØÚŸÝÆÁ¢6_V$äøf •¤¸ëK.ö´áhú}+S-å|ÃÎh
äu§³l¨Þ£Ö¢%¸`ë¢Bãæ -Î*5€ëXªCu´¸àbÛ].ÕÌŒ‡%8ƒ]YóØƳÅçƒàYSì?Þ@W+i#<34Ü—à5í[R±0ݶƒñ -Ôæp˜º¿w3ÀoíÅ `Eý–À¯ÌL¦×à efR1SÖ|±¾hA·;\Ölø@)3+1]3T¿µXlõŸßWbX*ûènþ_‚«[Ñ}ÀÚ¨¼±yŸXç>ª-ÓÂI+Ì6«»ÃÇ<ýn„?|^yõ\Vø“r•±1*IK‚Í -¿gMÉR™xÔ^uî63À;+¶Äìh±ë,8î‹0tk'ì‚ãS0- &Û¥Ô矃0º“ˆÛ†øƒ“Ô¿¤WM]5ýï?Ü
R»Å‰“8˶b*ª !4š©ø¡ÒªâßsÛ¹÷½™²)ˆrßiâ8Ž}|üÎá v˜!›—&·pT†k$`:禅þ*Ì6.Qõ&)Õh‚aÙžtÀÞ(
t'ƒ)Ìß<â‚$àöë€!{ŒÍs‡Ïè½ßœ¾zñüúõÃýË÷ÿùý‡ÛÞ¾0ðåÛßþx8ƒŸ½yx¸}÷ö~›èx«ÏOi{ÿn>>žh{ñ7¾iKóß›ñã[|ü èÓÆÛwÛÏ¿¤í^—¿žï<CT<ìÇuü äÈu,;ûaËpâG=^Ïüþf«‚¼Z0wÔ>*:mR€ -¬Î %æÒiq{˜Í¦¯N3uî!Hƒ´cÈÅ"Ѭ,)É1HŽ\ÉáË ‰™¿>óñ3ð¤sä‚”ðOÑ -ƒè˜—êe»¦`ÜtëáV,øÓ/ýÀÄÂYª[—Åòå™Ï3g‰~ѹ·H”yféØϳÚø*E€vØ`ÈNSˆl²‹À"öÏ•·»¹ó‹v™ Sk¶ê -¶ú³¨~ÄßÛ~‚_¶¨Ê˜±ÐµÚ1ãT1˜$;¦`µY†(’°±lR£îÀœýDÚˆùÖö³ö²îÁ^|¤ìñá'Bït3”¨ (zö@јC«‚Ð'~[J)@Í
ÔäCm–”sò£ªV†œ«¯›ý/¶Úý^Moh2³Ôˆ@/…C§J4ç3 -¹ôÄ2u1«™Db+¦ -N~µBr fß;)µåX]J.E`Üèæ•ÊJ|¯|?óðZâ<l)l9Ñ•‚"#2.òðanÆÅ°:RT~*7
‘g\Ùo€ÖQÃåìQ¸µQu2qÕ Š¿_Ël™PÚðDŒ
K³l1@¦êGì—| _û¨îÀTdá@¯R.n -ö+d4¯e`NsjQ#3,]ß3Këز¥‚VFCcÌhymïÉ£ -ÚæØÎÉ#ÀªÖö2nîgÓXGÄùÔà -{
XEµ*š²È¼V#²jÚÓA±Ì¨W>E*FÝ=¥ÄuQñ¬¨ OO¼oøsWËpýœšLŽlðgá–£eîþªC§(£— -H‰¤—ݪ^¹
†¯`ßÃwRhÝØ’eˇڃ–”–)RJHÒ?šM™Î$äîûÚ’¼¼ÖJ{R†0_žhÉ’,ëGõ¡¹Ë³—Ç»§_h.íYE‹afyëÜe°òÜko•K@¥ãûJÍ¿OIºË–žÉ ¦€¹TƒY¹.T‹Ë¦ -S2i¶ÃZëì0 5ƒµ/ê³öæ†AS}ÄWa-—Ëò‹S[ -jcuL=*TN9`® Q©‡˜k¸ÔÔC6Õb{/‹6—ävTBTüpK•ü,ÒB³&5‰”u À5™l?
rc‡9‡[šv’ÉŒ'DŠ)Œ/â°Ví››ö-á/áS-²Ô»C÷>#qÄS0bj -2.0yb€’Ëj²pŸ
6n¡@*/B¥{ -©¸hgÌ¡”(E®á‡}žž{ŽêžÁé¹PÉ¢ê0SqydÚüž;nš#S¦, PwEv}€©·æž®ëcE:÷x.Ô§€I4ž‹(,ͯ@s’¥ •ìH—,Æ+ƃóë*\J+~±)ç‘yúîé'¯~þÕËûo¾ÿñßûýÛ~øðý‹Áo>üõï/'üÓï^^Þ~üðþ1éø!õgOéñ -Þ|~úñ)?^ý¿ó#ÍÿÞ|Á_~ƒÿ -6¬Dé#Ô;4Æ/OWœ™õ&»ÃdõÜaV¼ dSµÒ—-eD°ä
š`Ÿ@N²¸G‡H¯@tßeA®Ö)è}šWØ…äÓM¶iÏ7ÙY¿–ºÃuX’«,Z…R5H%‘CÁ¬°ÁpwÚx“¹i0F…TÚ,ŒÙ/d† +sÉǵ‘Ÿo´—~Ý`);áìI¶Xg8_¨·ƒÅç%éM’5Øï
F[?ÓqA®³“Ÿ$1îž v=Î_Õƒo²;\>M¸,·6ÙÔ@X¬¥¦×øc -ê¨{¯ï¸ÖÇE-¬'¸ÔR÷›ì,â>tçЊ¹ÃP“ÍÌ'Ùjk76·ºë÷c¾]y -Ú`ìƒh»í";ºˆÅ¶áF:9”bù‰gEizßÕñ\ÎÎ[«Ü ¦¹)@kž‹;¤šÎ•gÂÙdÖN竦ޫïo’Éa+-ûVÖ˜çÄ—mÓ‹®ÎUiàX y|–šÁÖ96µ^è`±Ô©|–Ì©ûIÂÖÒÇNGÜ7+ñ*‹±b„hBŒ¬rƒm;]`DÇøaŒžf°Ñrªs¦
F -R£_eeÔFKÒ•‹ç$>,2«Æ`¤wäæ¨ÓØËÅ/¼Mýßïβ€5¹q‚+
O´—T¢_'r·ÖóÞ¡¤U%w\yÍpÖnOq‰qéÃ…O²x3Õb˜¼tYB|ìÓ>ÅØ8`Ò5†%¢ƒ…ÜDÎ’hTþdJ™gqõUbn~©ÑºBÛ&®½Åu{Œ‡( Kßàê3Úå&kpT"íEn°Õ.Wò1¨®Í ñ‘VOf-¸iµñðŒ„b¥q³ª}m>ñϪ;¿Ž92Š]V¸úŽ„‘-`-©n04Õ«,ÞÆÈS[p’M‚Ü'Á
#‚aA«ÍšLRkà‚Ö¥6-84˜8š×&C`µ"½ÁŠ.˜úRp`Ûìv 0ЧaÀÖÄaÕ¸EX›sq‹Õ%àQ¶ä:Á‚Ž´Œ›K˜Ía´®1Žr.ôÄ|‘-kÀÄèÓ¨9´mʃŸ3Û°1=gÏ¢.!ÛÐÝ76±†„±Äò³Be; -
ÅÏG#lÄ'8žs;80JœŸ…DE0¼>eÛR -•¢–ÅNx‚-ÇȸaC<†Í~ZáÆ,5¿0i^.`ñi[Ž—5z
+£mn?ᙜvVYñŽ?BPxožáAi’/²Šh¬ž©yÀ„„O‘ÆGáÂó+§8çAÁìF1Éd+Ñ&‹§Ö(Êa^Ï3aö£dYÀØ]lÏAñŽ§Ì‚âÆSµÙ‰hú‚ñ¸Q¾ÉÒ,’ÿR^ÕhÇB6ÙÀ‚T"^3e®fµã-2ækëÈä”BVrâm¾BB+\ -Ü"ˆñð'bZš(ÌÊr’CcH×Agƒ§<—ƒÞ×›/äi‘|(‚A%‰W"ÌðõRF!Š¢'Ú¼T<úh'%`ã õ -¢Ï5´Aëé#³Ç@:k¡Ø¤±±‚\’í0Wë}U©>Îy‰Hd JöΙk= -Ñüjb8¸úa× 1h°+Ýá,º¡àÀ"³â€ -g‰Bk·ª0Q±pï²uÔ¯ÿumxÀ3.ªcØŠŠa·:¢ûéé‹´x×~öîhTÆ#Ò¢é”1¿–n°öÞnµè*7Æäå†ËÌWmí1äðQ²Æö¹Ê{ÿ3f° F¤ -V—£àÉ(ÔUä<'"@"ÏÀ&N¼FM®Þcul…Å`ãÒÏ1.hÿÛe’¤ÛBá¼=äìPHÛ;qDÊÓŠðîë @Ýõ,ó~]5À94~b›ÉŠ},ç¸pûì -,gQo¨f`\«Å«½þ| ôîãÄ<üd纳Ÿ;LÜ+Xá;ÓïÝAšb¸`L®ÃÕgǶÖ#v˜Ì\P`óþðpûÝ»ÇÍý÷×~¥Ÿ?]ÄæmÍÖ8猿/m]Ø`²v¸XÛÑý|IúVWa®OÃËÚÑúóH÷ZN0‰]ðXõ€tø|ÇzMY—òÒ¼…ˆ8<óL¶<ÂÓ—>>±fô¶ÔþÊ8XxÈm°©!%f½Bƒ?Gåð'6kʤãWªñ0#Ó
Š¾»Ç–/÷Ë~²à/¤Èi=Õbç²ÓcáTÜëªáœy6/Ô]ìÀãqJëŒEÖRͶj‰9Vó[ÎÑõa Æ*Á‘–µ€+gÀX jøŠ-š,ù‚Ä{À—¾fÎöp±ËR§ÿ ãy -·þÄ"Zâ§3œpðÒ‚q‘‹+Ö`ùp°¥MíU•±®WVÍkf²NJHᜇ¹RäµVàZo"µ]Åq1A”œÝíÂU‡x„jpû"ÅBýÀ©DJ,µ0¨9üö;}¾í ´ö¬>"8ðˆ-ë&ü_|Œ‡OS¯|ciV¹Î•Ûuæ¨cÐ>®cŒ,£þ¼Ò<Ëœª¦w> ý¾à™˜ŸX”ë‹Ï)L/î…xŽ¸®ÏsÛª„=Ú ÐTÙ!÷~ÂØA«¦FW¬IÔ:=cN¶§®SçØÀ æs¤Àú”¢ÝkA[@ûçO솥ùÃœPÙû÷z -“Ó¢o“yU@ô©úóϯã -Gp±<csXiÀž$„QêR -#@£°ºX\€0,°ÇJŽúîÅzÁ©='nú¡««õy›ÖÃöv•}úÙ3¶i7Š.ëJsÀªÌwpáè\U³oøq³;_ýT*rÀ•ÈÄü‰E‹‹UÉÃgã‹CË*G&¢ÏÑ]áÇœ½@+lŒò‰í6kꪙ†+¨i—ÂÆUlª¼ zwy -–*µ¾î°CçÝ·¹=Ò‹-ÙË&'æìê˜×#8F&ņEëGH•rÀÈäHÚ«Éå
¹Ã|3y?+<}8>U©ËêgLÕœ½y¢öL·ñ$Ø'² -L92í½Ö(¦ê±5·ð£e¼`&Ë^`ã6„<¶@ªÊðÁ;èLIè\ù‰…gJV¸¬·!1†œ0î ±|caÿ«AEûÀmÔŒ#èmÜÛ‚odŸ5¶ª9´ €)ÉÛð -î=tõ„³óÄ3y?AzÖpÄ"=`·1¾×¸D!+rœ¬y`º1¦¥’ù†˜xEý[dâÆ({,¾%[ŠPA'ŒjleÚÉ#v+ÀÐ~2ä¹IÙº²0ɈºÉeÞÁPÛW£Æñ¯Ã’e+sÖ<ÈìÔ€Ô–ÜÌÇÈxad_(›7¯°æh‰.ÎWC‘ÙPÎØÕ$ôc^ÎœUó4àÊc9µjGˆjT8Ò c<~b¡ -îãÃÖÇyG*[¹Ój;¿-ík™£Ìi_<Ë;S£ÜoPû_‘å 0VI²ú¶Õs´§šc«g;&®|·$"g“Ár9~¿q~Ý]"þ«»Ž¨Òv'ôþ -\£> ·Ô(q½VyÀ’×ú£¥ Çbøªkhf}jÃ%*)ñÍvÍgP7ÄËS
6.½ß¤½žkx^ õ¸å†ƒ–"„ËU»Å -¯&ØGF÷ðÚ9gƒ¹µýä¼À -ßÆ©•8*IyBîÄŒì-[ÂÆíY¤EZÌeÞÔÔQ‘ÂÕ'\3Ò•+‚¨õ_Æ#ÑÛåf»z‘.6J½À[lŒ1ªP|ÎE%àÙ\妤q³õ6aM¦ -/0—>V#gF˜-S–—’£¸Ì‘Î 6škfzõ¶d¼„™\Lrƒž0«d/̉£¼cnñSFÎÛKÜ÷„Ê\o¶Œw\=zãi ÙsžW!h’ãº7˜(SDgw€¿¢=adrF»Ùfoq3°iÜšµ±ê€wCäl’¯¦ZÝFÑ™e÷|ôs>=ßâàÚ¬JöÅ0±A"¿Eˆ·ËØØ®„¾>›î÷ª™¦\©É8i=a$QiV5/¶ôÅ Âó„35—]XòÛb8@<eˆ]™r°õqÜá(Ž%’ ê˜X
vîõçm.Ž‘ÑÍÂÑ -ûè˜.tÀÕ¥ÉÍ›‘AGÀ¯°Ú“‰<\,y=g‘Ô& ÓxŸÑå®P{ÚV”ƒ£1Ýn©+"+Ú|u³Ú-ÖŽ
ïgŒNØÖÔèpþ¾ªÜµK¸Øæny< 4,(-nñ‚!Ôøb;çÖa=]w@<H¢Ì¶h{›% —0…(¨:XE§®Õc SGÿ1¥¸P*e3û9¢Õ¢˜…åðÞ¡¬e»–¢lŠnŒR”Êð¥våŽXS/÷~PU¿Ž~³Å(–Š÷ŽFü„œ"/˜ ã°P‹¶ÛQS}@MÜØÀ¦ì¢Ha¹¬Ô{Œ
ÔžëÍo£‡F‰¨ÙþwÀK-ír^Q6hÐ-.Zã?b¨ºNî¶887¯ñELÙ -ZòüZƒ=w>kŸB„}ƒæØkË:5¯õh0é|—!hãÔK$ N“ÕïuhZâMG»¦7(nq…Ò›CéÝn ˜òû ±¬"ÂäðY°uüºá×wOè*ôv€µæ²Åëé)"‡Ð³+‚ñ[ÃØi‹¿ƒþ•æ´óycÐR/Œ‡T -çÇýEV©äÐú„á &zmQ§ ÇÐÿûã€+$ã.]#°Êá¢docõ¬¼Á…Ø/[̙چÈøiRuƒsÎxn[ªÅçºöMŠ¹í0p5!wØj¿œO¢;Ô^78U®õ²…lNÉab¾!.Ÿæ¬Ý±¶ö˜n}º$[ˆøìÓ¥gyl¥‡UEº¼tDüÀZ_†S{q -OØûãc\éµ>ý²5vƒéÃë‡ò„/Ê«ñ/¯PdXDýó·ÿ–ýãÛAÑs¡“ñ?Ò4aÕøã/†Ç½8Ô¯ø¬6Æe´Ì¾ÃßÝè·²ž¶µ}w¬£9>hm¦'N6¯“÷ƒx°}Ú4„NÓÊe‹r³‚ ji|B¤'q鉵¿¶9§ Ge-ªO•Ã¶ŠÐãµv딀5Ú¢ŒŠ«iÞÁ -éÀÒ\NJUƒSÌA«Ùö0ô$·í -‹ÇÜ Ñ‘lÚŒÙXl¹<mÉÆq„ê;Üö¢…e¾ÆáÕv^ÀŒkˆø›a:´q^IìšÝ– -E„-Ú±æå€E¾.HÐî “†¢þœ×tTæx•>=0:›Ømg“ÀÇ*óÕiMUYÓìʪ_CWžZ4ï‰#[©ç¬Ú½èÛ^r@„Ì׸áQ(§…¨5VÿÇ~Õî¶cÑ'ð;øÏ -8á0:¦œa)&¤c¨ƒ÷+Ó,± - ðn,PõĬº CyÒ…±ä@êhæ«ÀH·¬¨%¡a„[¥'O Ó½ßIWK¹Àv@Ý-¹Ø+áæ¤ÞÄìã’¹2f$ø59é« •ò×¾-h*RÐM -%CÃ} -B9« -ÝÅNcA† ô}&@8ö’ '¹‚@Ø<N`8º¬÷1UÜy
›¬A=L#K¸øŒf½X õ©[m& “ -œ&#•71³?X¯|éƒp\jPH¶p5ˆfò ñò(;uÂT“̧@2Šê‡SÀ=°¯IÜD©¹ì6Ödg£ð´‘ -)5 -u[ ‚`«ð.ˆ¤.]h±Ô6¸LPÔ<ñ6f™æƒXÿú0ZÆœáÅW”ÅŒ…¯XâpÁˆÄ2ÉDoN§Z C£¢€í[KG¬Ó -™M»1ÆÃ\ûØ@ü -„•±÷.£CH²dx„“;9µãÀ͇+eD7Ö9lj½ÍDb@ªé?öCO"NÓe(3O¤I¬•¬a«Ð%nz+žƒ£p«dÈ}Õ„–P(êA!PZXs„•§ò”Dß -âІ±F·c™Ï<ç)8óÝkűJ¿Zð -öú my;y;ùîô¥~ÿS5?[o7‹7yÓëÊgÅDzêÀÞVU~U̧-:xš=žé)ü{÷e²uº‚ççðNIû÷Ý5üø+<üЗ©˜þ2ýç¿Ètn‡üÍe1Õ:«YÆý8ÇpÝA{?\X_%'Ð6‰†?%p%D]$4$x¡
øx ´E Ì(PGxx—‡ÏÀ¹_yžÕ<3®{‹:ÆyVÎ\ÄåÞ€ -¿$þ5¤[d¼ ±EwÞƒ3'3’†ÐªU²ý¡7 ¯¾ƒ{—eÍ”ç¹g#‰¹Þ¸x·þp›>XÂLúpX[oßhq2lAXÚêpŠ§ -÷]:§áa"XqNÐRgS-uh¸×ÏÒ]i‘ήpÊâ‰âÐœ%¬¥aÓî‚@ - .ÞƒAw)){±ÐÏ ª(É -ûî%ä»ÇÓ§o«rðÌ[}ì†~Η[»(Ê‹æöhË¢6Ö‚áO9§/å¼YŒNÉGß{Fãó¹ËõAçñut_÷ÇéË÷§ËÕ"OÇæSÎ!rG&6æÞS©?üVÌš³z[ÍamgõŽ]¶T¡ÍfôYuÆ<‘Ñ¡Ðd³]Ø.‹jVŒÝ7tä¾àwöÕØ|ÖÅf»Oþ~ÿrlNòMñóºø÷v<qöFÝ{†U}Ñ”ÍlG׊YnÚè_Ëe1þ¢vÆÜ{†lljÕöêõ¬É?ß!³tÈú/맷¬ÿf¢O˜³ø5¥“Û|Ëæ0[”ÕŽ3LÛž½÷»¨·ëYñb¯ål|ZwÈjIíZ_̤^뼩ףó‰övkžÕW«zS6c.ͱ€V¼ìüöÓçÅåôÇ·wˆ9=¸½ÃÌãHÜžxp{ -·w¹ÎA"._ÕåæÁï¼ß£vï¸íÞhZ}°{JvïÁî=ؽó{â´{wÈé8ìÞ ûVß]29xËwV|.–‹|^y?ZbŽ7~Çã†\ë<]®ù·Ò8?,·;Záñ¡Ñ*zÓÌŸŸËÜ.è!´7Mð"ßn6e^¹<-=úlæãiq¾^ŸÈøN5ßG«º:›Õ——›¢9»NÛÓµÝfxD~iÕ1¬ôdV/ëõ_ÎÆŒäçëåŽà1·ÑèÿÈe³*f¯·;îÃñ)‚ѪÕæ¿]æëguµiòj|jÃ÷Ÿ$¹k–?}]ÕUñ?dÞ{–rt’Ûõe>+.fù]8¤3è˜¼É %ðgìæŒ×$û$'ò©Œ×‰û‰'ì.Çòûè\~ߣyS—Usnûúò‡¬àÂóйG¤‡.êízVœ.W‹|¼h`wP
ìðeà -Ú‹ -Úµí1£zU¬ó¦Þ!k“œâ€½±Ò³újUoœ»82Ý>íP°ÉQØÐ{/ñ‰ˆñ‰ˆCv -ŸÆsò§}PòøDøøDøá“ñá7K§ -;‰ºßÉþ}wŸïWq¬Éø2o(Òãç¨sÊúyÉ-AmÑ1ÄZüß.¤¡¬ñìÑÅç7g£åóý¬Êè$¼ëñÚ’œDÂñ߬·¿z¸¦OÁ‡%ýF[WtÙ¢J¬¦p¡dYÃBÖ„L^n•’~FôE0ÔY#,ªëjTøJ‘ñUž²òn¾jxû}–¡FÃåÚÉA>®ÎÀòªÁummþ9þ$u¸ýÍ¿Uë‚ûˆ‹ÞøÍ©\q\RÇÝ&,¤/6“ –}´˜s•¸’*)zdMˆµp(XÌàŠœ`v‚ÙQV - Ãsa•Bo(ÃiÜuˆÁ%9˜bŽf}ÇšLæ<΂ÈòQ
Cx“–¤>Év‹Á»Xç§çW×Çß{²¼Œñ•?4Í2zÏ)ðs/˺ÀT-0GUê*úIHÂÝÍNŽu…TZš¿-JT~´P¶òÇ—ô-À -H‰ì—ßr;ÆŸ ïÀe¶êdÿ9I-W¶9q¥*8)“Mí«Ñ4 D#Íj$lòô+fÀöÆÓ"ÇÒŒC¥è6úM«¿þº{¦5,;ÿz5è¼¾K…T ¾as.ò?^õ;ÝÒl?[ýc–®>ëtÇFs9Ûýt¿žâ«'V dîÿ,!-bîo÷?£Wî=w˜î3Õ½:ÚO?¨œŒûík0_ýºn
ÕÑT¯ÝYÿ-9sï=Í—3øtð–oýçóàLÈ<<!ìBÓ‘IdMhež¥Ogñ@iôýÒ˜[aÈ4›ðàDgT åŤD1FÌ(MF{œòš -y·/äãÄ?ögùµ94äy&€aŠÒŒ kÑ0JÁýª;jÊ4b}6ߘ¨×Ùüé<zÙßyI¥.^ådîMxx¥<y1“˜î)š>½È5Ù{zEÒ¼%”mä£-z79}1=Bïö¦÷¹&mqxdó›dˆ«Ñ7½$Š -
~µè 't“ 5ϹBWåï1D™rL9n‹ïlúÈÜgÌ´it’o_[f'hnæ)ºoûmghýÙ›2~÷º±Þm©–#Ô3\=LB-Ÿï -·.î…’nó“ô²=Êk.byÃüÊ·“m‰B¨[*Ÿà³¹qŸ¿aJ(ºi}˜F™XM™SU·~T†"‚üXÊàð·ù4'·¬Çf’”;I`˜™e‚3ñ·ŽÎâ–d&§´×,ã#éÌ`¦åÀYp™ð™,¸h“Ò gäV+^Õ<© -ú&<8¹àìÐÜ`#÷™k›Œ>
¶„÷¸* ˆ˜²‚³J%É7³©`<ð*)ÁÙ4fÂH2^’pÃëfbî>!8šœrÉëJQ•ÔÁ=_%ƒbl~‚Ñ£Ó©ˆäiyÛž>ê?´y×#_·<µfN¿m›øà—íO2 -÷ŸÕqÈT•ŒH—lŠC^,`W²O¸kÏt†bü¸=-ºòÎôg¤‡QâRó™›Vú“ñž;VÕ¹>Nµ¿‘›xó.”,ú‚Ìö81ÂèKù×]æ,ДÛÄ&SZ=uhìÜ4Ý×ì&E°m ÏÇ©W -è²k•'X -ÊÃÊË«’'V˜`þ€¼ý3âTéaË$(÷îJ~éÎ×ýå¡F£?ÝVæ÷ÅRñ‰´ŠBOÌSòYV©°ŽÙwx[€c¬€´aXp²¾k;)Øð«5'Y¿,àÞ{€çÚ8eEÈT«È:Ô{“áAVxUä -»šÉ$Ñ`Ö_Bk¤Ó{k[ ï?.H¿†Ø¿ªŸÑ ÄR•r)2O9ýÊ9Z³è¬Yç²}†mÉøcŠWþM¸÷ÙÖùgZrfR4Òk´w¢ï.š¿D…Ø¡šà÷Úkmïæa’&—hÅ™S+ŠÿÛàô ¨éK›±ün}éxù]ÌCFk+3·bÑÊrŽìZ±¥Ù{ñ÷Ìô¤
À‚“õ…ÐXÛIÁÖ®±Zs’õËÊ*|…
Ë?¡þxü<f!rˆ]Íd’h0ë/¡€5Òé½µ-Ð÷¤ÿóñgìî_ÕÆý¨š……]¿è)y¹™§œ~å‚|Ü^¬çγ[HN¯OZ“ûѰȈH1ÖÖÌä¾/ÆìY¢5DÜJ®û@e2òe6'yæ¢)¬!ú˜v>ËŽ‰¯ÉÞ;¥g¢öy‹4%† -ž-dïkv²¼frb¸¡)–RÑw\ -=1O Þ":<Ø–G¼ˆÚ$Ænw]÷«Hä1ÿ_«„@ß5ßr6—šû²\Pγ[HN¯OZ“ûѰȈÈduÚí3l‡¤ÀSü¦¸ ÷ÞóM˜–œ™ôíß¡ yëce5Çšã% -¿Ôk+ð`î_gÎÛ],Ó”h*x¶yañ깓å0“Ã
uŒ®ŠRÑw\ -H‰ìWkOÛÊýùó¥•3/¿ÚOI(¨WPª†ö ]]¡‰=!sêØ>~´åþú»Ç&MBi3á\ì8' ˆ3žmïµk¯QQ˜Éø%zÕ£èø]\ £ïó(NBÙ×ÿŠ»Tê{GøÅKtü)V,Ž‹LÅ·ë¿Š¨¬w~ÿýÆXÌ«}oÞùªw|}qþÖÑëÞñ‰ - -•Ä"»ƒoo–v¢€MÊBæ•Å ËăÁL™á¼»¹*³IÉ87¶)(ÂÎ
pôžÆñ$“?eP“2Á·a²!úKDS2ƒEnœ°5›Wˆ~Œ†£4ÍDPˆè}¢ri ÚØ02‹75Œ«€R6œɼŒ -cD‹ícÂ7…4¹<Íä_%4ó1²VŒ“q¡Š`fŠ2¯v_©HšwêšMã—óKh̯[ [51¡ _øO~ãÿãL¿Br9B6Ž…߿ᬌ“2ä JgÂxìÅÔ81ÕÞf@o¦,›ü["IR™‰"ÉŒñ,
Zë™Q2O“\&-óTÚeã»Oä½é?ŸV;¤bˆm®ÂgRÝÎ̧ýb{ã5¿
¦o*,6LÍH÷»GÔ'æˆÌEKBe$;êû#IÂÛL˜sìáÈ×é#ß$*7ŒÇ©6md¼Vng™Hg*ص³M‚ºrv5>øäEx"¿*¡ÚâP·jÔš;ež+ëvåøcœ›Ð|–…m3s æò"lC_$Ói.7tuwHz«³ãÜ\gF7x&ÃA”Îij3uKdv¹¨Á®ÐØ4!Û’(É^O"|yƒê¥$*î^ck‹)tÉ-ÆOµ»ñb¬°îKl¦kÍtª±C½”ÏD˜|íS}=¹UL·Jt×{ç0bÛ>mÊÀQ’ÊL›r»‚iiÐ×’yšäªâ»PM§e¾aâw‡ëöIqo™š®p€m,EËl*9Ä6ŠtͨqpÄÜ}rGIœ"6OÛOv»±®°íÒ·fÓ8´o³š¼àEêvVÀý¾YAøÐÌdZíÊ° ̸yÅÕ¼,fÆaù±¿ñ¤W Ù s»3 -i"ryšÉ¿JˆÃ1²VŒ“q¡Š`fŠ2¯v_©H¿ÛãšMó' ãCi\Î/r¾nmÕ¤µÑ²Ö~]¡÷¹€G}ß'b'ßÿ>võcÅrue^‰‹í ÿ]gg`š"zþiÖÚA/J²‹Ev…1öP8=åðÙéÄÍ%Ex"¿*¡ÚBS¬µÖIg¢Ìs%bȵRß89ᆽ’½µñ*ëëóÐ\”‡m(ñ§pÁ®óÛåtšË¢Q–k‰j¤¢€§§FÅt‹ª£]p»ÞG£džêTi½o:aSì—ˆ’Tf¢H2cLKƒ¥ö<MrUÈQÃSªK´¾º×BÄ2VA±Ýx;íå4ºžÊìTeƘžQÏíJž11ÏqmeÅ+D6†£±Ö_ssT«6‘Êi;Ä&{We–‹0úgÔÙÙ¡ÎZ¬3òO¡³¡A™=ßa'–qq•‰8…Сz'eHÐjéLæJmÃYbMªÑŽhµ.èÏ:](ІÑmŠþQ’ÊLIfŒiiÐ?U‘«Bvˆ.dv+Qt8ëüÍÜšXZ*Ò*á:šm
ÒÊ–^®¢Â`pŸÈ)zÓ{1xGðÍÛ8>;,õ’WnÞ'ñxDOé÷ë塼UñêÞû´z¯oïæ“$ê±}¸ËÄ\…è£Pñ$ùö²WÂ/A'=Œ.áÄ\õ{}_þÂÒ7ÄÑú÷0 -aõúc¯ïZÄa¶‹úĶ8åš÷°…1åœÀµ˜MmtÞëëEÂõ)·Æ<½ø“ñyo8Ž>Å:!ºÍD¨@î Â^VÞp¼¨][üÞö<‹x¶m£å§ïÌPyAÏr0!È£à€çP†®ç=Â,ŸrŠŸzÔ ¶|æÙhôlÛ8¼ø4{ã° -ŽO|—¡š2ËæL[úàöµ%µ<¸ÏÑâóvÜÆ.2x>¡®64é`˶YeH-Ÿ`ªAN!ÇÃ!ðÜ\)‡ærŽë¤»ø±¤î8‚¬xœqDˆ…]æ£>·0ƒ¬Ü§€@”u ©åø>ÕIw,ø湈¸—>jèr‹($ŠmDG‡ƒ@¸¼HûM\Ã÷éøØOÄó´<BÑÍüt¸E¹íè¼é’y˜6·…¬QײF}ß…è3LŒÓ†-ÇÆÚÀr=—ý:o¥uÞ0¾·³ætȇÇíÀ?B¼ºÁ]Ï'µ¡‡)ã.t8ÅÚÿ–˜»ÚUF,Æ\ÿÿP)/nJøÃ@ýúÿGýÀ`ÌúÍEý{=¨ŒVèA[Û8ªÇA°Ð}Ï&Uù8Úý¹^…}Üñ´{”*Æ ªî—™ÑécBxþè3ôjŸàÏGG/Ñõ€g«F˜9a>ï*/ nµØ³5ˆ2ä›AÃ@ümk<‡€v¡š†ÝcuuWÁMø{Ô«=zÕ"t…_í‡òÑKÕ0«–¨«ßY‡éÞÒ&®²í5KâÀë]¯~©ïa{IwñR׳iµÈÖûlϯ#nÃíz‰ù¼6u9Ô8˜jXÐ(°Æ!Åú¦†ŽYÍÌsàb ¸‚É5Ò1#USé%¢ç¬pŽ«Û"\G姸½•‡Cí:úbé -Ð0+óºJ8Žé¦€¼þÐ{!@ØÁ6fo]>boΆö);!zjŸ°^ûákßÀúÁÏsº¸†Á†{´ç8#x\ÛÜÀ¤X;j½¸YªæÊó›ÊYÞ|ÅLëæ7 ™oªÙÇýÕŽ†°çÜîUîÇUŠð}(Ãj^-¹ë/ÔåvEsÿc¾ÚvÛ8–àðö%€Îƒ¨¹_'R” Ç߆"6-D2œüý©êrwÉ%E;–aÀ"›Ó3Ó—©®êCÄ8«ô®÷͇ëÃ”à‘³à!pà”‚Õ»çŠîŸ4´ÅQí"éSiz’vob-( iŒ.˃·Š°iˆ*ÆÊ5Éš¦ñàL—5«ÙÛbxÉ´X'3[8¿kaš–£Ž)ØVŽ¹½à»9¥6ËÑŽÑå²Nk^°óÔôM¬OÝ&I<õà‰½Y°
OÝ'Œµ^b¼>-%YÙÕwLô–U2þ%}0°—Pœ‡OÙ+#£)ÍœvLÈ^À,EÁHÌ™ädàhoË4^’h—7·@g«©T‚IPÉõ+AÈS±Ÿ -—9!Lù¼çúj4ýƒg¼Y¯‘à»AÞ½_¡ -<bКPx@\ÐYaÜêÄ#EŒR‚:Áym4çÃ'àÔ•:6 $@&\aË!sÒ$(ÐQg[£VOOÓåq6ÆÑ)ñÈ%=ðù>EOþG«ºæˆ¦`aˆZÎiU?Í„ãHì
ýœÚ%JéDöK¿{å~¸÷ª¸YQºF¹ogð¹z¼C &…ƒŽàžŽx~ÜO<ƒW>Œ)º—%ºšŒeY×n±ŠääH™éᮥæ‰Sü[ôJ•FB(ã -A¨ -åà‡òBŽNItðºŠ9\ŽÒþ`±ÊY/,¬Ò…Fÿ‡¾xU—: -£“ò[kƒ£2«'±ž -àt‰%·P±o´¢Àí•y£4„–5¾fÜH”®°b•<vׄ‰ÐýšZûŸdSNÒfÊ+u…°óÁ‘È#mÁdI¸«"ïrÑD°ZEY•Èûi±! ¾o$¤;ŠŸ¯š*.àGZª®C·zA‹ÉvS,â¯5á•—Ó4ZmÇB€ë¹AEÓÛÛ¥9*ÛóqE¹P½¤¸µ&‡gã
æ^ѬÉéä)àÚÄYTÐÉ6µJH±W¯%ë•b(êEÆ«œ‘ëiŒæ½‚-Gm$DŽ‡Øö‰.>m/Ù"$™÷ý&ƒcXcµ):OFú^ÿ}µzb3Q=M Ê^__g5½ê«'õÒêÉHॅQ¼Êk„S&fVÒ–9‹à"œ˜è²ú/~œ`ÓT¸úÆ£òa¯h‰Àëá¸Spü€Á‘JëF•'ZCÅT.kq[ß"øcó¥ê´ÝByí_±,ݽäÐGÑtVõÿ¼ÿéøÚ»—ñ) ÀZ‹ù(Öp.¸q4Áy°Vq»[pY²\ƨXMŽK+Ïï^…ÔóñO6¼y²>añäœÊ“-0ÚM&ãÍÒf“Õ¨9s¹,[JÒA»&ÖaY¢ˆ‰–U5|àž¶X@ÎC[©ê·5övg«aSÇ@•™«Sò5¨d’®L½Gô)h»ññ0>‚‹]ðJ«ºY´¼9âÄ 15EÑáõØÈô9ɤ’eME¶À±eÎNË%´B<ËRÄ8Ž§Å±Ê9”ªJ€œ¬Ñã-‹)æÌÉÁáR[ªÔ©Ûd’å]ôZ´‰™/¡ôy1™B³ßž—_‹¿WW—íp}Ütí•S7»¶—]t¼4þò1ûtßo›‹H‚³×¿ÿ2ýçâ~õÛ?÷«Þ®úà–?굄 éÖϾñÅÎÒÝïPyq»Z|hÎn?}^ßW·ë»âw”Ðõ÷Ù{ȦÇÕ_ŸA÷íæçÉú݇Õö·Ÿ›37| Òl À±CÑÁGµxÍÇ>ÕäÛ–ª—>y}Þž\šñfýð¸X/WóÙâq1¿™Í]Üï,™ÜäùÕß«åg^°ïÐi4Íà>›”4W2>_58›&9üXDƒaâ6‰’„FãDl!€ç<Z0xok*®ÛßðÕhúO³^#õw
¿{¿B‡ÙÿHß»JUµýún¤ÀÌxû.#ó®|H:Ý‚ˆ9‘N˜0o¡3vÜüpÌn,‰O1šŠ•ôÖš¼ù{Ú‰"u5d¥ðóúaÈ5ä´Á° p1è -Ò‹¯MýsÀÍH¬ŠyzZŒWôÑŸ´Ê¥+‚§ƒ;/ÙعôATC}€€0´¦¶@M„GmˆªTkâ•gbÁTÄYoÉT™Q(DL>‡¿CŽ ’É`¢Ô’ŒNi)¥âiN?žä…·ÄÒˆÛ)÷Œ=ª+IA…z÷+”BƬ q
÷Ä‚Ó)òL,y–r Ž¤”¥WÕÍ'º÷ƒDºy™(Rr%n óØ
4Û¤#ž@¤
@þ|ƒÆ©jLøe£L_'‡>”E‹u‰K™Âè]Õ#8r -Zéx#DBÒ‚/9CžTE®[ù‰Ç -44¶fh*iÝ”³’ÖÚú¨pûïè¡=C¦moáÇ ìÒ @^ßEꎄAfÎûY>*T*a -Ä Ç߆âqØ´É8ÉߧªgI.ER¦àÀ6˜«Ù[wuWUë‘Ð1ÁWV5Râ¼X; Ù\N"(|k'`ªÒö3¾1Öc[5ò©oP«€—r¶í0–Ô:ŒÀÏûJì -`¨:̓L1r‚[#P¿q•º6æÉVmžk=µÄ:ÁEr6ÚÛ”QÆ¥È?Žd =Ë^"S±´()ÆQ}‹±7tµ§JA‡'«¬žêjjzÔå-Üà<“Gx×S'a%vl²:Æ;F·|Y«cz<8¤Æš¡¤=Ÿ´Œ;²2®½ÐΚВڳÔvÂç_JqŒåp¥åêêÊ…KÐ9Å}œkú@O‚w9H¯÷/^º³k˜¾ÓW¿ÿ<}õçìnñÛ?w‹UýÁ%˜zó_¹/Ÿ}“³GŸ>þ¼Kyrv³˜½ïNo>~ZÞ.÷÷7ËÛ6ß -‹¼ñnöañ°økð:³‘ö¯Ï—oß/Öï~êNãþC [šóS›:«§6¥Æ<´©îßôsà_C?ôÑßëzçÒëåýÃl9_L/f³éõÅôåìîÑ'ç×:½ü{1ÿÄnO -k£UÇêÿñÛP;,I3dào6¶: -5[ËÊMü£?¢7W°"ÔÏ6|óS}MÍ8[bÏÌd‰WÌ ¦6ÏOàDIPÚ Œtì¦cS|à+µ†í%‡ƒ'Æéˆò*¾€ä3çBñÇJ1z“‡g’Óm¦@Ꮌjĵ2K‹±÷˜Üuã±iå4èL߈Ú÷ˆðJ¡…‘K} Ž› ’ŽÐ4ÈM…_ÿœ¤F¹eÕ$e;«å{Ijúþ’ -IPDf‚ ϪóTc1ñÊ•MWî››Fª‘s„ ¾ÍExK0ÁWz‚*õ¶/÷pr¦™‘Õ|èÈosnxJEÿ<õÖÓDŠënV¢¤y½ƒíß›s›4è1FÙ2…vÏw/Û@ÄmƒQtMåƒ&¬É7["ô.UNs0«ÈÔ‹¡!=L˜WUÔÛzx{Ù'mì–…ýܵŽ·°v -ž‡ˆéoÉ„aó½=K± ó¯(Ü–®7-r^+Ä7d¸ót– -a²JWÉ€ÈNæ0i µÐ‡nlíüV -=Ãâ -z 7¸»nÎ8B4Ë -—2A³™l;U÷*CxÈVÒT²[C¢Œ¬…UˆÛÐY3Ë9JF‰õ‚†Q_•˜¬oo7¸‘:E3í{öWÑ÷+æÁgžbygçÖ -À4ùš*<TpI“ÃÕÀÁ‚ˆµðþì?=Èe÷ü?LwoÐøïñö/û$ã\ô¬óe×;žŠ6ÄT
4 -ÛFlÑ4&ãa‘Í®’ò 4 è[s†Ê3ÅAÏIv±ÐÑ„Jß2jÔo`Å›v¨!@Æ<ˆÇQ¥ Ü -àQýš®žŸ èÙI¢¾@¸ŠyBÂACJ×彉ôö±—DEÎQ’¿šåæàBu8u](_Ì)~r9ö®.êZl¸(ãίÂå1ο5§8¶œzS^ï_¼tg×0{§¯~ÿyúêÏÙÝâ·î[«úƒK¢ëš±øÊ=yù웜=úôñßX>A¨ŸÝ,fï»Ó›Ÿ–·ËÅýýÍò¶Í§òû÷ïf‹¿¯´ËêõùòíûÅúÝOÝiÜr®üĦ¨¨üĦ¥ñ঺ÓÏ
µþÐG¯ëH¯—÷³å|1½˜=̦×Ó—³»GŸœ_ëôòïÅü¸=a -K -¤ÇAqûp -‘¦˜!Ì<„lŠ\±×()ö¦-6KÙÃì0mÂegÝ'æ¯'ϸÖ3Œäê¶Ï”Û¯+J»…†ž©Í@'¢æ_r4¿@¹¦Õ%zÍ"lÌÜ*OÛv„׫½ýƒT*‚%Á€9-)K–ó -8MÑ7A•Õ4@<1jmÿþ¬µ9ºK®·q –¨áps_ÖE×b¦çÄF´±8^4x€d§‘íX<îÚ0˜~u¼)áqÍÄŽ èhã‘ -IéŠPAÑ ª^HG¢ô°ÌƒqÕ׳¯k’ô!ñ6×då¼µ` %ËM8P¬¯¼4nÔ
‰"'&çµìΛ«˜[t+Vrl xk6JcÉ-Ra(X±œÜ0Eª÷!‰:‚a(é\ZC>WJEO€Xï(îlÌ…³ª®éLðr.U¦ç3WCƃ¥Ù)Á•*†Lì‚t†’
fÍñY,:Šs¡˜c"rZRê4ttÚy8¥)$0d/œaê…èä3’KU/@K…ŠÂ÷Qz¦•) -…Š”R‚µC -‚8ÊPÕt†îUfm~¹@å::?hn)nÿFï† FVRŠ£
À0jV͈ ´GÇت¾ó *Qéþ‹Bïæ8Ì4’€ÖÄÝÄ¥ÈÓäÚ—¼”îK”šíq×”@§Â}…þh‰ß¦i[UÇa
^RùæÁ:²lȶáÈ ÊÑj@iæºõÈrÚa¦õô¡l•3}Õ÷USí]*,Ô„ÏIsMtªFcéÐtf’CuV7–HÍTuîà=ÆÜ -½‹Tk̺j¼M|I -¹êîö¸•2Úrµ¸ùÊg}惮t¼¹Ô(„®.#ÆBÑæ -;mÄ_·–Ðÿ›½Zž…ä‚Ú¢4“
QŠ‰Ò÷[ãr %e$(œãE1ç‚œh“bâuÁ£¸WLª”Ä|šk²Ñ{Ò¶ÈNIgZRà
W$‰>‘Ñ0(¡zÓí’¢oú6!`%6Û²‘"†(¾j6`B¦Zž
–
‰€<ƒ_ö,h:<5‹¾¦Ë™ÍÁà=):]äX)xÐD¿„j–lB³3W/µHÀD®¯FÒš±ŒÇWW&¹Þ´…¯lÙ4 -Íâïqçµ÷5XE½PÿaßÖlÁÔZ-#C`+€;1C‹¿6BCǺQ_ÑqGHSSˆÛ’T -ÙKìtÑh%ùØHwæÇ‚kB«I>Б”™¹’4¸¥yz»¨‚ƒ†·ê()Û<ó¡þ«6q]É(ÃF”ÁöŽzÃ¥aRÙÊ|BÊßë"àÈÁŽÉ0B -Æ…2 ^¬ -s¹šx%‡‡¡cêêö[Ÿ5Ž?N¸Ô ±¡J*ë»ÀFj,-(¼Ù¹£[£] 6Z2ÄkÚ’¢Û±× -’àáT5ÃûB h‰,ªQä¨íYWøAK»…Y%ÊÿŸö²×"‚ðð—Úš™îùKmŽ˜‰!ƒD¯ÏW=»^ŸÏ€Â ¦½3ÓÿUàhÝk¡X -¥‘]E&5u6IÊ›hŠ•Ø@´ÇRDò¼yˆ;Xxˆ/¾Õ¿¡ Œ†–’2†ßÇ)j1FY-Íe s[ãâ8u˜Ð¸Û7Ï -s]ˆ‹ÆLž6äì•ÇnFÔN|ã$]XYA'éÇl´+(t¹°¸9JÙèÓ¡o;„Ä´.<aשÙŬV.£P×¥ÛÂBŒOZ!ïsƒRº¿3¸§pW~^y¾û™ïbŸyÿÂ¥¿…Í7tþS`§‡s¹«R`ÕF±©¬é—3E屶ŒÐÛJK4IËÖæú*`M–”ë¥%2ù°HÂÔvàrBŒøi<Ÿæâ -æy<fzz4¥uftüP—zzZœ,¦«T¡4cú&ÈÚ »Ûímòbq™&b‘ˆ•ÈBŸâuÔ7Á^Yee Ò)Õ²ë -3é"?£
—àC? -H‰ÌWmO#IþýêËH ]š²]¯;ŸÂ¬8íèV03ËétŠ2I/à awù÷÷¸ºÃ$!aáöîfƒ€´Û.»üòØ6ä꜅̀S|Œ†¸&Jl«B’À…Ä1w<‰‚8»¼&$ÖG3«~®>VÙì훳Ÿª½áüúsc§——ç·Ó›/33º½¿ûb>\__î2ÖxoÎ~¬ÞØd£
ÖsâLrdíø(²¼—ì8êó×ÏкÕGéÏÈ9^~Ï8::>bëB8ÊL†·‹ñÅlqqÝNoÌw ™ƒÓÅíE{n:Ë'ÅØf>ùqºø²oþŽ·ø¬±µO0^Ϊòo^…þÚ·ÍÁq»0{§Ÿ¾Ÿœ~™Þ4nšµSiç‘o&dÆø»êp&ÊæJ‰¶¶–\ð†]í²'ó¨Jdç¨c…¹?y‡Fôm–ž¸q¨ÛW_â`ƒuóÙÖÙ%ÈŸ4ÓK³wr}ßÎÛæîî¤wò¶æäxù~|1½jÍíÊkÄ4/_ÛóËæñÝ[³ç¶Cc|V©¸ðœR/‘w*ÍÛ•þ^Þ?fYoô‹ùó£æ.?ۻŴ5“ñt1'ï§7,Ãã<9ú™Ý«ë+¹Gz¹ëÖHò%ßî‘€«ž&ÖUõ4Wž¦Ôzê‰2mËÑÑgÕû±máô¹ÁÅç
r+î—"D-ˆ®$–Gç•«%sôàl²3bRSŠ&ú á±æ`£Il}msvQϾ“tÀ•’¡Ž)HRBnØdF³ŠëH.¤Úù¤G¼LçèJ]ᲨˆI| Þ.̹öl‰rª‹E˜jïâ®CSô;E]V‹UTˆ¼Š¾è®Q’T”:Ø©7ý*V„[£o“ þŒ©@98è -µtìÝ–/…‚Ó˜ä:E¢×D3Ä’R' y#žñ›‡ÓþùÂië”ÅÂ(ƒÚ–_UÛ£Ç -¬Œ™½!u`JýÌã†Á"=’ÖÎSâ~uJ[ªÖoúž÷ŠëL7G¶¿âË¿ŒÞÅ™÷æÿ´fêÙIUŒgH´ DÜ) -L2+^MÖ®=;E‚Ÿ@A½’íþkŽÀläK‚æ`ÊFÚL -¢‰R0Mm-ÞÆD†QU‘Wžß‚®J*öàê)£Ä”ÀQ]Ï V% ärW̳ê+ þÀ$£<ŽsØ í×dyÛÛÙâ,4©bH‚”‚ï’ªy¤D…"³z}šà¤’†™¹´h«¬XÑ…Nt -«‰âWmÍžë‘Ö ‰~ -ZYß!€UÈ-1¿nÝmK?ز°nÛl·X½íÈg[¸´…ÿôB/ïkfyEЫ*Š¸i‰¢ü¼â†d -md` -È(x -ÔÖV¢Ø’ gf -eð±Ëbftt ¥c`â%¬¦iÛ(@®+º×kQ#ÕÅ…Ñb»X -=Á<-•?Ü:ÆåÁrptIÆa(ïVÃð[·[`~gëø¸ýðhŽ±}í~ú~rúezÓ|x¸iÖN¥G*’ÿŸ0ܾú¬›ÏZSÈŃ“fziöN®ïÛyÛÜÝ´óNï“—åûñvÖEs»ò:“_¾¶ç—Íã«·fÏm·AçóàŸÓéx¸['» ;•æíJ/ës¬7úÅüùQs—ÇíÝbÚΚÉxº˜NŽÇ“÷Ó›
–áqžýÖÌîÕÀu•Ì#½Üuk$…ç¸ð.kûÍð˜ì䨟>\}¾¾,Ïn2jÎ/Úž²÷®AÙ4·ûhß÷+-ÜjÏÄü¯EÄ)•¾§Ø¹ðúÆ—åÂé0¥ì1>½¦GB?ÍÞ\ÄŒŒÑ쪊}K8¯Ë‘3Q8ñøÒ铲¸è”„ýM×),¶% -¿e•'êç: °4`É^Ï)‡öŠŽž1D0hEMˆYå1S
¤=’½¸/a¡J%iðœêTÚ=_Zî@‚(“Ó#à;!ØöÅ™ý™‡•ƒBÝT5”eÌreKBø‘NÊâu¦Ü 턬©Ðb2âæµAhHàÍ_¯hÜ)¢„ÆsN…½Ž ÄPòL7SŒ<^à -
\?œ<T³C.Çê.ˆ(ci—1¢04+ˆë9¢³)˜Áãt,ºÿÍ|¹ãØu\QtœÃ4që_7´™:r Ü`*‰M@³÷Z»^Û ¨!8âëbÝúœÚg=3Ö8Ë.~¤´—èæC“ÁÉ8Mp;‡7rœF)ƒûôaP—å#ÒKy¼¿;Ôµ:Y§ 9ó:Î+Ÿ5*Å»Fw YøHãÚ3´|ŒùÄÒKŸç’@Ñ”»ÏPÐ Ê 3i‹¯‚®8sjc2]ð< °Õ7½!„Obüns¤—·èbáeçåá&'I;¨Jãå楞¾({.ÐUûüÕ®z³Ñg\ÑÿdÔ¿¼X0X~EóûÛ_?þÏ—üëßÿtî¯íRkxñ[â¸È_^o³©Ö©æÔ×&u[!OP¦Hõº¤ˆILyªðjàœ²@A×EwkûBqc,)ž¶ÂEÈpy8çQoþúnw®šõ@©î# -wí'{àïtúôìµÔºÁvåòp"†ýܹ4ûU2Ùnîœ.—…ˆ$?)WÆ¥÷ç•q‹Û+³ÛΕkèµ]ç™ß¬û~W¶¤¥ä}G)÷ªt±#kÖü ÓÐ0Ë2;Ö9€°§W–ÆkGé8+ý6¹²j`¬äŸûV¥ƒR‡*¡L›”O7Û› -rÍUV…†¦”ãÙNX·^Ô½<⧀sÍãinÕßî^Ip%ÐþxóŠï…/ý˜‘PÒ°_>¼v{—Û“NJYÏGüIöéËœJÉêæs3î¥÷BKÂͬ2N{`kâ7¸û°/«oÏUt*«îéd(0UG:ÿ¥–#õIá/9%Íý5SÊ8Îÿ63'84BÝÇÑñ[õ"š‚GžæÝ+DÂûŽ`ÐÉ -è®lÍjyæô§¬øàwÁ)Ï|„§(¾î¬-s&“—ÿÕŒk¼müs”#Í÷baU(•â,W\ÜäÖ²Ñ7½‰`–Ã4‘vð]"öû7zGnçqõÃóK)d¹“âjÙW-¿vI…ûèPkØ&ÆŸÞìV€BGŠÆ߀WZ†à©gqnR\oҾáD˜¦‘‰ÐyŠ¨Ù·¥_l®faƒOÇ÷«!âÆTè3Äpˆ,›Nê…ùÓ=÷½)Œ^d51ü¬ÿw¥ÇÕsƒÖ¶À¥þi©ªdsá{öâêhŪ§‰ü\‡¢¸òåñ)îÆQƒ0¯<vXþøÝÔeÂKăéD¶•…œª’EI¦Ôª¼p²þ"ˆË¸×:]g -;OXbã‘6Ÿ¶9ï7ç1%¿9ú«ªUø½¶þ"–Fçù›ÀŽ¢šol;k($ªÚ²Û) èüšø¸.QCªö½zQ:Zfd-µ…ø”÷ë½Æȶø§š×õgd‘z°yk°NL=Ü8Ïòž¥ô²ÏÆ¿9ÿ+k´êëOÃkó±{Ž ‚×ù
¯§ÑÕ‹¤°¬›)TŠ·8WÒ
°D@nGªýÞcõºDO\…¾tzØfÕúalö˜òŒI%-Ÿl ÕwŒÓ£ÂôØV70ž(ÚOçU0Šî¢xÆ›£èÌñW24JPÅMn(*ÙÈŸMK©u©4¹oÕô‡ñÈE8þŠ„²ëyLç¼)×{„èÖî?¯GpÎcå¯=¢3lzç -pbù&óßm÷õ*Ál´V«’z—.îÔZîú¯œÔ»úUW‹¦NßvÜÔÅ «vèåöÞÏqæX»ÏZgõΛÞäYW=¶mnפG’Nª¾¡4\åv|À[þô -Ä… -#|¢³ô{±ä×_â6GÕ'½RX(
-’bÙl!iƒÃ³Ò–pÐÌá!‘:MïpUƒnãÚSü»òˆq¿·tÁß28ŬÉYž+íéá×d`߫Ǥw(KŽkîÔõÚú/óeÛj×Q†á_°ÿÃþ"´Â.kÖš—55ZP*ŠÅ˜"Rô¤H5i¡ØJþ½×uÏN%‰ˆ5烚sæÌšyæy¹_»¼®²+#öH-ë¼ã®Ü™Ì²v•¾yBSL°}—)@ù0ƒUl˜Ú$Ûµltö×Á[I¨ôv«© 묰°€J=Åc´¨M5ÀéD³‡"W˜'ÛŒ-T~¦%Pؘ‡L©xE7Á¿9{ËPvèí.ÃÉËÍ|¨ó%Ä}a%XJAWœ3÷Rˆ(w5U°}'¸Æ(‹Y€ÑFKøÍV‚ÄG›‡~ÊsâB.B=$(euÌÈ.rPAøa'ŠÆWw€åªNsnRÏDÌ_?»èƒ×DGî/QŠ‚bÄeOœ3ñ©îÃåãÇ)Ó²€œJLÏKuEiæÓ"à©b"éŒÄwF:>½ÐÕö{¶ð c -ÂÊõ£‰éR:tIì39¨¢%þ-ì–á{ÐC hJD8xçŽrž5ƣŋs ¥=!À½ÅwÀÔM5#ða9…JO£’º÷]ײÍ6–Nß©ìðòz.„íë ]£¢÷˜£-Ó±Êë66X,*òYhcs$‘o¤ê‹Xƹ{Ãé:yßîD¸uQ}
ОÖeÞ£;%Õn˜Ì½D'wŠ‡wb q ¨ëhAÊÏB‡ -+}5°D}ssÀ<8à®ÑÎ,„&ž^†h'UÅbê:܃څìß¹PÌô˜çtæôV…:réBù83ŒC§q³†rVõ/KÑ7û>QYCü‡àÁ°qÒ¹ÜèÍ|NnÅÛ•!º¶µ™…PIt™ˆVtBc‹fOá§RïJþô@ó3·ÙBûgÃ=e[ÇüÇ¢MÖ¤…ÒsîêŸC -?r0Õ‰7
ä)ú!§±;šƒs¶¸“£v©uô}?ê}[y‰dKªª‹äM‰1Ù5U(%ÒR$Ȕ䈽ڟQ³Ôõ4~¤“¹”î8ÞZ—(I÷’=íž“éÕÿ¸ù®z,EabÒêSêV²Òô ý\3g0Û³?•ífúŠ€]"ÜŽìéú®nê÷û‚•|"kƪe¬rßîÔ¡‰;…†É\Ô5QgO"¶rfÃ6U'Ú¦¤¯"˼i‘±ÌãÖ™öæÔòk÷Ʋ¦ë܈ô£u“úƒðHÀ>W¡Æ@»óî8[÷ŽXP®D´ªx$WÛ¸¿» ü´QªìÂY‰æ?¢}Až…´½Äµ0ÑuŽN_D¿°Â¨øÛŽ¤º5Ÿ!©¾»Hu#Ú“IV”œ·E\{ÂF=—rØOÔÒÎ -ƒÓÒ°Ø–]ÚõðŸ<–RÔ5íFÛîK¥@?•®h¼Ñ"DÄ’åylS?uO-22·ÑkŠ™VúJU -ì -d#„NIŒ¶~sÐÏ}ïéíÍ]Q¬"ÐûÍæHVÔq¥Ÿ›óÉSIu#aþ'wy渱Wšé6úÍp9✷šoÝ.6u6Ì8iÒö -ÅJQaØëÉ\
˜â#»t+uï21˜/ŠÔ€?x3/d¬e䱓A|?}êí ‚“ÅG‹hr3']±èn]ü©"³&š×'±mìžFálÏÍdmîÕ8c¯7ßçu ·¿wõN_§›æM“>fiI‰ŽÉëçgÌÄ·Ï{ÉÚå×'c€-ï#-pˆ«BâÍ -â>ýïÈUø*ôŠ‰ÛÏ€rªïh¯PBÙˆÏaØg½v]ÅÉ…0—·ÅË i<ó<ï¬L”ÄA…8êïhÃi¨·yi‹“S&®4”¦ì¾S™QÛë¿¡|€ñ½.º²†qò?¦ò¼¯œJ+*2ê$ÏzŸ1ý(ËÀQBÛGzÂ’ÐD¢ùÖF± ªRŽ|ŽJôîCèï¨|F?Ÿ±…ïjVm†ˆˆúýãB÷ úžgùPáË@²+6ŽAŘJ^ñ“ -®Úµ¼ÐÞ U=Á£–$0†à¹ó+¦ò!§¦¸—uq$1ÑÊ(æ•1ÓpËv©ñcšß0Ð×Õ×Eƒj ½ãÇÉ~·(¨ÿÕ -B…Á—ŸÜ¦z@§®ÞÌëÒè[²hgLM+¨JEÀ~†0è¥ÀÝj»åĘy"ŸøÚwQÔlrb¼à*n
]ipÂ^ ½aó€ç[h>NЮq -öDÚ˜T½ÒWGëFÕ›¼- ÷ à²äT^P} >×GxI'Š»å‡ç‹÷I³…mm–íóþO½b¹È-òÄ_mÑäy¾0ƒôµ¤A´b¶u°_ÙSçðˆx¥à¡®ŸKùJƒ0Ð]GTXlŠ6µD¤õRú]®”û¹r.íVqXîy«*+hM‹·¡(›=Ôr@Qˆ˜0}*HÖOyòØÇ$ªÕ•7¢z½…übŸÌ+Û³èz–ÔbqEÚ¡¤vËÑAlEÞ2œÎ.ÚŽrÕÇoŠx™ iôjËõ¬¤æº6[Pn8Ü»ªÚVÄigœÑ^;wU*ö6o¢®¤¶;JôF•øù`Ï—:‘ð[Ň%èØCMã×ô(=˜t—"ÏÿÜáeiLà¹3Nh -#„€t:VúåRºÅ¦ PmmèãjU†`SóŒ½Í÷|)Y&€ÙùlíÑŸ) -¨>ìÏܵìî}M‡úÒâ‚ÕŠ\ãí X…“ -=S†ÅÀÍü•c쬘*¬ˆ¬ÌØŠÛZØJunŒTVK -Ü…G£ï{ŸÉ]
¥‰(;Ck÷´%›Ý»Ðmʦ<m`£Š¡ÍÉê¸áDi¡8zQ˜ š7Ù ýì^"#z탧†_x¥°YEæHÕ2ƒtãv×B¥Òݯж -‡Ì# CÄ -'WOjðÌÎü«@DÂS߃ð~Ÿ¶´T>‚ï[\ƒüK^}åÖ ¶Û‘ïÙ
É¥‚Q‡SoÛ‚ -!ÚíĨô#,w$â<Ò¹Ð#ouíz/}©äHÿtŸ6Å;}à5]•·eìa¨>jiº9Õ90ESã/A7…àÖH=Ö².(z‘Ä’Úaþ¯Çy,„ÐN$’í›5xO’p!QKT£ ?7:ÏÇ…éÏÿÇâ-›ÚIž+èªÝ7Pƒ”¬ì"Øšh4z¼FÞ@¡f8püÁ¤;jF"—ÔYÏÆ@¿M*_ýÁŒ7ÉJu¤(Ÿž2w‰TM¤Ù²ð¿d[D—n´¾i[I¨À
°à_ÍêôâÏ=•ÆeAØrDh߼ơIöÑdú¹÷Nk¿v5„¹1iYê -m%…¥Cäm¥põ«Kaœh-ÞÙÄ@ÌÍ_¥Á ~̽B½ò˜`®¾¾- -±(5z~dvÆxQ~ã€F.T?``š€ƒ<ÓX -YUá="j05W”ä7Ι! ŸÀB˜zʘ¬ Š¦²G)GDnìoTÜMÞ{ɈS°i»S
RìÒõ—w,‰rçÑn~Ð/j>ÒšFÝï<§†mÔ„ßÂE±}f}¼ -ð‹÷/
À†™x“Þ"Ž
>²r¾¸T@_`Áœ"è²hš@ty ‘ÏâD6ßn 6øñŸ®%wÐTî¿ïuV¸A€¨qŸäXãÊrŽ4¿C}ÃQœŸÂkj°ÚO=@RZV°PýŽìBõjv©ôXãœÿ£rÍz†@oÞËL1--x •©à…Ó #µí²œß¨ïŠ…ý×Ó_þùÃOŸ¿üòñ׿ÿöëçÿ<~Tè»WÒãþþñÃ?¾|þøÛ¿ßýüóO>üñéï¿ù•¥ß?þª…Ó¿§ûñË“{̾¨
%ÿ?e† D+9 -?°ªciÕôÝ]¸€"Ya–)×6cŸß¹×ö(Tç'#“(ÁÞ‹×a¿ê½vL´¦ºèù^þRm¨x_zº/…¼·Æ¥gÇÉŠ›¬ -WþŽ!Ô»ƒÈ3Â(¼DT—†Aò)ÞßG•:ôuNðd•ÊbúÙoéhC…:tK@íÅï:@4]Mvr?¶Ò{sU´_èoj”Á/u¶š× -Î2XÖsÚ m —;;@d\1ÜÆ3®MîìÝÛ+i%v´^§½-#?<už0OêkÚHþÓMRÆ@–V]B5¾ {ó.¨-õ6 ¤Ì‰T•z6 pt§™“ê×Ì#*õ°[ÚT‘D£“a±Ú—ê.þl¦ªÏz*è`c>4?J¶ß¾évÑøºõÖd”5Z"c¾.« {ú86“k4óG$§É®uÒˆ‚`Fž
ºk3%½½ÈyåK,{Cÿеc±!E‰añ*Ž&PŠÇ¯¬–ÿ[Òy-6ãZ̵ÄêêÊÏ'‡T´Fhv$³.*Iø°žÝ™ -aI'Zó‘È+Ôq[oR-¼ÊÖÏû†jÁ¾÷Fݤ9z·Ì•ošÃ+šÆØ¿üüóu_)
riÆJ´ùô´(wP(Tô‡É¶Ù’3³x÷$A¯îê©óÆc§ajZ#6沇¨p†ÕíäW¹ÒƦNZÞ¤%ÓþV}°Ô ôvpJ^ƒýŽ57ÜÍÙu<2×ÿeºÌ‘+Ù(ºîhæÁ¦+»#¾Ý{ÐúuÎÅk…,²òP@wx&Ss±bê@´´ï3@•™Ô4[k³¾ë‡À±ØM$þ3?;ÕÅRJþ½@ˆœ‡9ü49)B¸±ÈPõ¶„–ÂgIšK
ð5p8}x]N\C
\wì¡aX@µ,ì[ùö½Ú3¾“9üçk1ÛWa3ÏÃLö]o®ùøÛQƒ/ÔE¿%Ï«‹ €AY´FFl½\ÿøñzGû˜mr8õ¢Yt·rN“xÖC0ÖÖ>f6Ö -³çZv¼Í|+àŒÍŠ -ãv7v¼}Þ¤¸sš\4L¤Ãƒ¶W¡«TLvXô -”ö÷šEžåÚâÄŸÐ×ËC¦eµ3Ü-¶Æ©“bw& Êjå~P±´çOg¦à„7±¡M Vc9[ŠvðFFx¥o¿ãÓïüŒÄÛuh!
Ù(B·RÍ@¼0ÙÛ~_j1UµóœÙ˜€+ iî… ¢H„J Ýû€OÅ -W7SMñ‘ÿù6WÞ¶âZê“ç2›ÇÙ—î^ê'«`VTt;Çãû3‚8¬pÈifˆåáôy—YŸ@}…ßT+AlpÇÇŒ&ƒ¬ÛCYíœ`9G«'Ä7£àmƒÙ7žV[_c›Ú‹y†DÊô®h¬EhO§,óûœî_°»ßÀ‹¥qb»@`µËš*Vù¢ZPJÿ"'5 ïÁk×”R åšà|\úKnuB uJ¸÷)]yB+üßn¾„ÍåŒë¹¢éÛýñûŒÄCdúȆk§ü|^'6€08»'o¿äT©ª¨Y—Y›uÁÔiŽ$Ág©TOD…㥌\’³Ú2Ý lÙíQàj€%·Yàÿ7,p‹w YK¹‚šRmÑ•„®ƒ-×Þ½ßw È[¦ù—t&Âôº[LcÐKé7\›a²Ø-ÍB#fÎ쇴·mhá´Pn¢©’ä<ög#¾hzåéFsœHù'(˜Þ‡ã‚ÇW…Á!·JPû¨ö˜0ißÝ¿išJºe‘x‡Ó¦n+`‘]ð¯Q@jçd¨T®ýâº>:ÓHZŸÜš¢—rdò0u‰”¸h8©¯Óv& CñQâYdÍšXZ°Üο½ä³o4cu`«5¿o’brxÇYÐ
Jé;³ -¹ óc`•×u]Høó%&DÂ.Éœ$$%îA+¸¥†âÞT±h<ÀTE,7M”µ>¢ |fû¡[2ö
–o—®kAa)§ª‘ÒNLÃ|¤
{Õ§ŽáÚ¦ -iñö§¨>áã6à¯áØ=žW©0·ãV‚ãÃPÙ°¼QÀÐ)®lI—~ß<žL4:-äEvT£êA^°»#•ÁK#‹±!b«4ýÛ”G¼É4T±6¿Ì_˜Ç–ÿùjº H‚~‹dO0lê$„'l.ù»åÆK¤9.³-Ç…2ãpUFšö7çpüjJPoCµÈ7‚Ø¿õ³³ƒkÎ`ð‹}Ó¾k0“jgqVŸú1^ä®ÒÇÒ†.–©žÇú‚4Ïésž‡#Æ -Fô–GÎp»o¬£A„õ.|E=¬Û:3çýèœnÇ0’nòLn¸ôŒua¢¹*/tÎoKb6xFXÖ›-§„‘-;6¾D®eA¿Uw¾‘ÉpõA¸“¸&ñ¹hÀ«KŸJTqûú¯ÿ±:¥ú{¼*v ßñ„CS(8*EÔÓ²ùœ§Ò¨ôÐP¼AÉacjË®hÊ
àºâNoMWAK×Üö27óTmO1Œ\5^ºoKÅàì®tG²ÿÅz¥ý{Ë à~žú–a~<ÁTI‘™-ÃïL<ÑBVž-.û Ò7ºudöœ´ác|S+íLzJafý¦ Às¼-_\6 ¿Ÿh.G±´X£hÓQŸJ¶ý{èGy°1>:š¶EíóXï»Å%tSEÃswØ6L -¤Sc-à¡9Ô v»ovÃ’®óV¼]íp€¸"jh·’%38(Kh½ô&MÊRsÿ"Y$ʱ¢)¶´¤§•Ìµ—:Í"ß= X“-œrU-ýð -XúOJ})·vF‚ò©[ˆÛR‹-%H7
ØÈkêzŸÁÀ[‚„Uúv³;啦t«0;IÑ”Ìx¯ -u`?Ü[fvAWPý5`VÑg]?«ÒùÁ¿¡uBá ä–÷$| ÊÒC6IôyYÜÉEÕçA4‡ÀNíÅò”XÊþÄïŠD»®jô¡”ö¼¡:×" Y¢ -ƒîñ£Ô’T¯¦#BU)2 -üØ5)÷ÿú¢y€uà*2Ò&á2He´fiÒâw„mùÜM}„Ö…Ä%%\ó;LA'VÅïw¼ö´ïv"lÕ—A”Syª{Ê<Öpÿ‘(ž)(†ÇÌð`:´ïUJ—‰Å¥ùÖØÔˆ÷qî_1ùÝÝdYÊöm5(º ‰LJYAtõJQ0/¥\¼ï#Od¹á÷7º‘!_€GU"à>Ñ;e„§k*ê›o$åö»/ž5usgEyï°BŸBžÁ(œéèi’é·ÅÌm‹J¹^ÐW«ðÕÖËùt±à®-yB -#J)ç³¾°Î&«:gGARöii’†`JónƒŽÙÖý>w_tÌ•ÂX×+EhQþSÿOúðÊE -˜#ï£<ÄùöEJz<!§±ÇöÍ„NàAÐOm£{ðúO‚,;[ŠÑÀ¡d`©é`ß.4—ZÃœ’ôŽ¢ZÜm¯ÙœJ>ZòWó2_›*ûÎ(‚;®ùo2 0vH½X“©ˆ2kGþÌ”¬À4ÏúžÝ)@ªNTÊCêCÛp‹ˆLõ×Q(D¾7EEÚ4¶`C¼¬Te¨qùÌ„¢-0Mâ+š™WÚ¥ÑÃÞE‚Ž6VQ¬ïñ¿1_ðǾ‡™}º†Ô"+ßÆ…®p—Ù¯¼a¨ªy™¬u -רõ&qñÒ.©ë†¿x?î9
àè(ærøíì1rš§ž£ÊBÐœ€=Ê|/µi©à,ê
Çœf`ú'«Àï¿¡ -˜LfÀ'÷¨ÀÝÿf/«¸ur/;aÈ-RíÞÈ!)œS†NZô¸ÈÌ<Íg¤*w½Ö.ÙS -ÍmI)¸Cb -V•ªž¤Ù'¿ ½¸>™l¶gËùv¹®g›§âoáT]ªãâäív³¬o‹£ét2Ÿ?Þ]®·3n=.þŠ?ãW¨±×¢&àÅw¬dÖY¢7=EI¤÷mk»!cû‚ X%=ÊÀQ&'@€Ux}àø×?Æî÷£TWÿéâLf7a+Ÿ7߉¾Ô5 ‰éM:.œ,o¶"#·0jØR`å%{çÎŒõhhSe%Na´× sˆ}`š@3€–HªØˆ-R -x&V¢úžyåyû/ï¿óUœ\ÔÛâhr¡U1_ßݯëEñðqv_wëEµ“—¯Â Óõz%GØßfÛmµ©ÏëÙͪzõ¸\TÍ º¿'oú|¿Þlß=Ý·—€'uP%¼‰> Ä´?p8W(üœ\V³Õ›Þô:;¦·«å¼z;ŸðÞW›åâ—êé‹·_V·Ë‡íF\ÑÛ íÊïr}^/Þ>ÝݬW²v×S(ÖäèÕ¦ªêb²Ù¬?ñ£P²ªø¿ZÌUÅÕLJCô©pÅ›âŸÿRÅÒ«K -d¢g;@V±¶ÑdKNH²^õk£e
×(%œËËš_§ä»¯»e«½sø@yÜnïmØ_Oo€AGïëzvW-ŠÛÍl±¬àÇ`Žåihuº}g÷ÿô–•ÄA•wY„ ü}¬í<Ñ +%ë|qu7âÀ°»¿ÑTq([-š4Ê<b:¬(Äü÷›nœ~Óœ—9(+JP,ÞøÑ›N‘) -|\ò¾…#ßW>4?WQTµÑT>Aö‹19£øC b -bäüÕŸTNÙØ’ø‰ç{cÓõŽ‚ÑñB¡¢aM/»q³ ÞoʯA•Ä†2;ézÏ.âWñäé$’-óM"‚ -^ì×L3BhEnŽɲÈéî\ºU§DCâ¼™I°0ˆi=êç2\ ña Š)¼÷¤ÓvzçËN@SíVÆ:P€ýÃïoÀÒ‚oìÚí²$ÙOeÿ½k§£nM¢á”¨€1z
ÒFdu^ÓQV뙬æM -
(7f»óÉM0^¸¿ÕÖÉt -« p¡-ÊîªÏëÙͪzõ¸\TÍ©pùE½ÝÝôù~½Ù¾{º¯š-úù–Ëêvù°ÝHRõű^`»º>¯oŸînÖ+Y»ë)ëVr„SþÃzÙíHRQø úêÆ‹ÜKþÿØWÐ`„½ÈƲ,4̎ИÝY4ÌböíýȪìšiYòHh»b2«2#Nœs‚j}ssýðæ~ùâêúÇ士»»›ûg«ƒ÷Ëÿ5÷²æ
[]Z7iȸþ׊¸T-’}¬KCù‚:–x#ÞP)‡Ç$aǺVЦdÛpqÉ…•€.<GqýÈRiº½À‘Ô´ÉZšücg¼ù?Ÿ-Pàœ¤î¾iÞ`ý‰p¦ÇÎÏ…!¥îž“ùªó45c.‘÷ŠÒ¼s ârÂ~L‚R°4ë.€²ÊÚUìðêôÒv7ÌNn×·@ÊÚD†|P¤31"”õ_}(9Iî!™›ÇÇaap; -‘~OaÈO1û[’æžk+f±ƒ™´“jS1t-¸¨bvÇeÑážjÕÅ×(Ð\±d7gy·,;cåo]^ª¡øK%ïNCWÍÙ Z#3N6bŠ˜L^‚ð-œ¥Êlódë³&Ãî#S-¯]töäŒø³±<…åé¨/Ðù#õȇàx2ýÚ"µzŠOr$XFN`›úT¯–ª*Ö‹œ³N’—È™£”‡r˜Sfù81IN§?ζÀ«Ù”b}Ó¢ÑÉŸÌž‚;Ò&¹Qªúâh) -íÅ~$xrùöê0KN%z·ÞBÞÔ£î˜JØü³=W -%™gPXQÛ¼@±ÛKŒËÁüŸ–ìYùÜôà(ñgÓõ±9»6©–NÊ(Í”$±b¦:qô\ ç)`eõÓÐ<]¢ue¶·“Û¼L‰£¯åµÖ®Ç²–Oðì’Ô÷Íj5{s¶ îtêd¿Â˜F56àñrÖÁ¦ÔÍŸÆWGÄß,dÚ{Ñ;³tb8
`Âï#fcU!óR½ÝsʆœsÈ²Í -z‡3³‘³«{³9î\ OÞ˜‚Ý€K“•FÙ´@ú¼o³–p¹¸Íéò‚ºõׇß}÷Á‡÷ß^?ܾ¹»º·ü[>øèÍ›WË{~æãW7÷wŸÜ]}ÿêæÓ··/o~~¶üžU~ùà³»‡Ç‹~ýéÍýÃßÞýt3–$M('õF±k Þr’¼Ä$ðåÍիϯîoeË£÷õ¯^Ý^ß|u}õêöî‡Oïo_þåæÝÿüø—7?Üþüp¥›œðGþ?ôµK~Çr÷Ý'w/¿z÷úû7¯ì9}÷ïÖÈ{_¾¹þñæá®î9;µ”㿨jÙ«„ú¹Æô3¬M4äÒÛ¥xxÇßùñoBÿYÒòùòϹååPT›§P‹E²íÁ]&æ«Bqx1ؤ}$ÚÄ·ür8‚ë‚ëSÆ\’µöð`¤ ïX…ï.Q<ŽC‡„‚6UÍy¿ØçY,¾5´ÊuÈâàÔ£˜êZ!aó×3§pµíxO¯ðD½Ý§‹ñ¦ë¥Ò¥ü@OJ—Ú¶I²¢¦]äûõA£SÌi£Š°Mf\§nñËä½8u›[èd€QVTE“"÷Vèéµ^Hh÷Ã{oû"/W;KÐEú°‹=œnô›CDk\8Û“†83–ò'ÐDees¹
þËz¹#GAô{‡1…AÐ]ý7¥uׂà2pvÁíyYM EÏb1!gT3ÛŸ¬ªÌ,ðg¹q•?äþ"9«ò<|œÐémÆ@ï6èƒØ$3ÄwÛ‡OtÎ×/ÛÃÓÓãóóÏÛÇo?¼Þ”?—-Õ%§~¥
Ua+£×לðÐ$z(a¸"$MVy:ãáÔÈCÕ^[éºok6
vVhøÚ"Hù”x - ]OâæÜ…‰ É&ÆEèTL
g”(°suËÉÔ[‰ÉGeq5ò€+úlÝózÌ-¬‡;¦MBeS8@”EOG‘®§¨þ£Ý=ó’\ùÇ|Ä“Uc! -ñ9eˆ -Ód%×OÉY×ÑP#QAÊ`ÒzÙè9ÆÕ5tQh„ä!Æ/faZrŽãº ß(C²ÀyÎå(ýRÖÞøŠ>Ì?·aÈ…½:1,vÈÎMnonÒ•Å÷)Nv2UŸ„Æä€÷E…Y£`AÃŒJ½&1
¾©~ýK•Š„ºóŽ0™Š^ -‚Q÷•RŒe[69RðzE8:;c[FIµ EPåæÑuµ–JŽ™J ͧ”¡yj¦¥ÿªT2FEŸurb€Ó½Ö
kJ¦øÒê® -xÀ<ç<Õ–ý` -H‰ÜWÛnÛHýþC¿°ˆê{³'O¶3 flj9Éz±XŒÄ8šÈ¢ ÑÉøïçTS²%6e[f](²X]—S—®²’MÊLHÄIÕÁS›9æR)3C,.åÞHJ&¬Ä¢Reµc"Í´³”/ÉÁUÿx^½«q9Íçwì{,R -qÄúÕ|<½f‡''ÇÃáíÍ ¬râ=b/Àù“‰g‡GìòŸÉmÂÙ á©7œÉÞàU0~—wI6jã
³©Âv’K½pDRÞêŒõ$ü°J0ëµQì{Ò“2µ2óLøTÁ[ÖÓ2õΦàmæƒh©Rnµg8®ƒaÓ,s’¹L9Pf¸·ŽõpØ9¥ C%2ˆÅ ©‰|pŸ
LfµbÙʼ¦wÉ^K›òLÖS25ÂYxÇ„†PéRGXà ð™f†ý+Æã,é‘q›,•šKE¤,™óžùT¸B¤¦¥g 0ò"3ä„ᜂpzB¦NeŠ)›Jo=,)wJ²O‰Ò©Œ ÖIû•ÅñžD†á•§ -: -þ®.“ƒ«Û üœþE‹B“ÂÈâ®ôh.ô¸¤Ñ£ô\` -Á‹—ÐöY»/8¶ÏêŒÜuyÀ¡=ÖœÚcè.Ä¡BMBs"ˆç)”ó}qÀÚãÁ(<™etãäàj¯¤–µójoç5§öYDºÃœ.Ç„:–’\¬Ú×—†\ï©¢¥;N¥
àkì[Ö˜ºã5"Æ«]Ñ2bË:ƒˆÆM‹þI‡ -"ZX?ä³b^ŒÊ¿üV<*¶¶âõ¤œçv1[c_fX‹øDÏçåšD<}êMY(LëŒB -näSÇy¹väß:äôJ1 ?œ×ÃÛ²P³v/åÉTKúYæô½ZñSÔª†ËXmî^ûu®·†šj-¨5¬FÖ‡??Wé=ƤT…=²ªYü½®2îõ]Aî²ÚêvúHHÆ>û8æ7(èšìL÷ÙêGHõY=·¦r•{C·Å¢õî³Õ*!Ûͺ7JtkÔfm˜%ùÆüׂ¼ßÂàºánÔ˜VªkRC{Ÿlí0 -Û£y½±™UaMa‰.û9Ö¼¶y¨ZŒ‰ÁÃÖ/‹à ¢¬AÀNç¥0C±öι˴zG<vÎ_A_Tw“b‘ôŸ–?¦áÓkp±¼ƒ˜ûǘl¿«¯ýÓòfFÝêõx¬‰Ía<e5CM=ªçÕ%ËLÍýOãÅã/ Œ%\TùðÛNòÅx¸f@9ÝŽ«ç}™°þû|^µÛ±«'
;ïõ!–[$Ö‡71§ùx†Ô¡Æ‘bŒÃX8Ø>Œ« Eñ“óyÝÈÂõ½!-«A1,1SðÑ/W -Zi®'a
è¿A^
Š/´Á]Ãì)×úëIIßÒ´‰Yéx5†ÑɽâpïM‹ÅbƒÌù”ÏÇ÷‹'_m1ôåU1+¦£ÅyüePÀZ$ë‡rýÓ½’æÁMÃZ®>¶½—¼qv¹þÇéxXŽP?(Âk¸˜Mò»ú5@^kY_H‘AB -›cv™kŒxñ/ \Á¿¨g¦lòÖ½¿‰7›½YïÎg?“™ó=_ú¤d¶ò%^C°o¦‡+·1xÁú-}½´ûȯ÷{óƒÅâÛ[w'ïíÝ{¹ð»I¢tWÿ)Bº²¯µT M(öÕž‰|ý§Z ©\|žƒX ’–V~g £@ ¸W -æôB¹TFT2F{&•‘«qªÃ—'Jí»™a-a«‘V„4ƒmK$8],6±
nfö¡šø2CgWÊy{gíÈ®òáIž¾Æ®ÝÍY‘±«e²rc4Æu1.6¶fô$Hòd ù÷|é û•XpÜ3’wÓC³ÛE+„‰Ì\ía³+‡é&DToC„×{€f´bo¦™£Œ7€ïµ-à< -¯^âhë\ð~ï(¼6é³É?bÏÀ*UJ|.ÎÂIäÄGaÑ -¯^âhë\ð~ï(¼6é³É?zÏÀ*Uª|®ÏÂIäôGaÑ -@ˆâ býʉ€,8îå»êÆt›”ß8§õ·IB™§c‰h“º9„H'!‚û"¼Þ4£{‹°làêZ -‹˜äð„;;‹žÞuÂ;Ù¬û. ºŽ&Á×ÚQÿ©UŽkl ÿé©.5ýÒ±ä25ómbë\êsÐùšú=€C_ƱùÜTÕºÍÞdžÞÇÁål¹L n®’(ðÝmð
á_×’“βMÞÚŸÏ’5@p³ÜþHl‰s0γo‰=…@õ®;˜Yð„_§÷·{½é?]-÷6Ç.ô &3×þñâ_¸‚QÏ
Ùä{óö«µ·‰%‰þ‚ü‡YVw•|Àé÷C»Y)—K\¬„Ë‚Š{’83ÖxrYø°¿}«ªçi;ÄÊ%Ž3Óݧ««NªNæóÞW2çU\¤1Ú^
íCF%3 üüÅòÈAÖY_æÝ¡f“Å…}ÃVnX®^Ú ÷Öö<·ýG–Žó äO‘f'8ŸMãÏáuë¢2f5@—±Þ8ILìV=ãFÕ¢¹»ºÌQÑø#w«Òiw‹•îG4'Σ
†Çf†nÀµƒÓù•Uš>9%¹º…èÞ -ÇÂ#¥öïb`s¦Ú¯Úu œ“\DÃÀ¯pߺ9"ùÛnî
VÅÞŠ`©Ò$&mœùwø5…ëù᛽±ýë“ñ9š@´vcûi–ÊêK.Ü(§y=‰§ÇežÖvU¡·wÇXêy× :ˇe<þøý²uÛíºT½rqÚ˳ÉyZ®s¦ûº°J¸ÅZ
Þ#£‡Z¸ÕåTŠ+ëÃí‰ç7¡ -?;_.é#¸ÛŠb 8ýï‘Bdîun¤ üìÔYÅÁˆ/š{…Z#ýÀ{ë1V{s—S;ã¾×üz¼ùV…r£æèpwÏàåh6=?I³£½iñd‹öºÀG›»“ü}íO§çó²ˆË¼Ä³4t#€EIÕÚ-÷|/Ór¾¤õÀîáÞþ¾Ó`p‚ë~ùüüsÿÃéÇ/{éŽÜÄwoþþì_ióþÀáû‡ö=Ã÷vþƒàû´]ÿûÿþ
NÛœÄe¼Â|’ã«SÑö>ăÆÓ/?>ƒ~\ÿõè 9ž&°üõ}‡{ø-“ßéŸ+(]—EœÍóâìº4®¸ž¼5þ)ë•£¸²9©ƒñƒ$†ñù8ž&¯ŽFI1†‚PISoèq<Ó¶h)ò2.“£GÉI‘$+Ÿ\Œøä+ˆP—â`cs‚"HÁ›žlV_ãGYiç,ÍFy¶l€Ïò?ñxåfœMò³Jg{sŸ,Í%£Ÿ¥YuÐj³ìül/Ÿ¥áãOªÔ(žÑ^^dI1Ç.}VÞ¤\¯Lµž
וn ë¥oÉ,>¿÷Uç¾ê\sÕù+ŠËái<É?Ý·w8¯]òo=•_l°ƒŸW_üþ^Ç뇄[}Š|ÕyòµÊ‡Ã¼Aœ®.y=¬õ -ž©ëÝûéyèæV×ßòY<îul³8-º
Ôx^Œ»ïï§Ù¤êæÂi^|Áº©«“¸øxA,sÖ‰±ÊZ øÏ:ÏÆŠ3í~a^qîÚ‡«Äm>ž=£ÿLŠòrýþɤü-|ϧ廎š¦g³i£æß‘iWŒúîÚQçUÔG ]e甿ìîû£_³ÉnQÒ9æøEã—£ßólTÀì4;yø0|&q#¸JÀ5Œ4yôž† NðÆIz`B Ážq£*û6ßÀjêZÁÑï¶(–¯¿l,~ß¿Í›ÿ9MˤZwµ¶@ñ\4Á{e5nÖٛደJöž¿y$“z©tŽû®Ñ^ -uaà•g#W¼I¦S®€á””h&çšivçÒð°·áÚ8<§P’KÛbü·Ù¬v\`@„ÞëUÞD¨p´Ñ‚‘-ÔÞç8 s¹rŽá–ÌJ®É´° -…+넪hh©àì\&½ åœqoª ìp=ßáŒEov<‹žÂã’1àf«)Â1ß#×Pð¤(LNä2"sšÙ¶D/4”›”#ëVBÅ¥X$Þ@9!¬ƒ¡Ï¹Di >AÃsô±q¡•ï J½t@͸=N[Ftì{“#¼€œj¸½ƒah‚P -
<0¯‘,xIchŸm« ú§5R8bÂ*,Ø…YLt«Ñ,<mx¨Œ[
é ñ(-˜`L׈FUIcñ¨XnMM
«WCYÆ„¢Ép°À^(«%þp¸‚q¶
NC[Ï@©0´Íy’Fiï HA€èBh*0OálH&£ÀE.ÆJE®ö^VæBôÏ)'Â.žÓêžÇ 5‰L1r†Î -¿0=¬ uÑ„®è¼s¡€p ÚJZFð˜ÿä† »ÚV@»^Ôl¨«‚¨Ü'£Cë*ËP{ÚÊZåÙ2–dƇôRE²üiÀæBDB… H²µJꞬsáÀ†9kU¥çÒ[Ò$»(¢Scv5š^© Z -Ì84W}‘iÕ¥S0ž¢§tžké)b6H0PßòmHï*㘺ÚSî„V²‡'¬ºÀà]£Éç ,!©TŸÀ8f©Ñu„UèÐbÒÖ€¬Ðd¥ëÃפ݅xÐþ ]ÒÒc$0tG(ºÀÕÊöž[uS˜ëÒQÃCBå5¡]4‚º- à t¯[3T';x×˽aï?C IŽbn!CT¨º†üÓ” ->Æ Ó©hÛ–8ÝH‹šŠ°WäI<!Ym9‰¯›^»†¬V]æÙÆ#6@ßoˆhóYš%q]r<I¡Üª.'U27ÿOàz3n,Ío‘Ç“$*ó(\.ÃéÏ®PXµjxŠ€°E<]ß´Åù+Aóã2l½JO2¼¸] -¼jM{îGÉ<)Êèð<›'—ÙŸ½ÒĽ|6KŠ(çRÀþlÜ|œÎO£QfÙVouø{ÛzÍT
¤2ŽZ}¨û’®‡psª[Š¦ª;åQúÚîiw -ÉÓ\|¹÷$«ÒkZm¸ â§=l zyÓ>,¯Ø7µÕÐ? -ÔAz0õ<H¡~±Ñ4ÅA©–a]Û°{F½*”ƒàxÝT#‚êv¶éQdW÷º°¶Qú6å¼¢fD„‰+XM_jkU#Ù¡ä.ÚVE:§ô®â‚%U3BZß•iZ•æD˸Ø)
óÿ©¯ÚÞ´a ¼?ÀÈ—N •áBÈú ƪUêiª4MÈ$¬Ó¿ó9‡—‚´nÓ¾T1w}|w¹Ë=n¡ð\ªú³¸ -„ÝjªÐʘ‚Aãî!¼‚k3ý–)*ôlPRE;f_p\ý€m}ŒÛÜ/Ø€º¯`úÄPµ,ˆ³X#wäÒ
6°°>édX$Òü@hE.ndž۱ô·s®Éöt0läШò.’'.•Á*Õw±Ua±æì§pC;Ð=Éçµé=XÜÒÂǹÀpDâr=Ý,«D'UžÍ7ÄA‰ÂcèsóŠ€ßLJ‚\–"±Êp'ãÂÀ,uh¸Ðpû¨Ó,Īýt†œŸV¬Ž8Òó†úúš !oiYˆ£c2‚.Bm©u…SúBêø—]f@ïÌû%Q„ß¼V[WoC¤Ý>8ìUnºáä£H‡4ÓËÎœ{lÎÅd‹¡äBq1¯VÚKWª±Úf쑯U¥úµÏft“©o5XŸšæ?àa”oDê}È¥`ríAuV°Q<3oÄfK”÷TÓ-Ë¥÷‰f3•Ø´Õ®L,…Åά'¼‚+]h#vã«×_Ü'Æ4Þ.§y¦aÞè“ïz1WïU&uØl´â„a
5èQ!Ðt‘ò´d3h`k¦Þp+éì#ÊÅK€9x])õÉÄ -0000000016 00000 n
-0000000173 00000 n
-0000050694 00000 n
-0000000006 00000 f
-0000213521 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000016 00000 f
-0000213778 00000 n
-0000213809 00000 n
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000032 00000 f
-0000213591 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000213662 00000 n
-0000213693 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000054276 00000 n
-0000213894 00000 n
-0000050746 00000 n
-0000051117 00000 n
-0000051462 00000 n
-0000054576 00000 n
-0000054163 00000 n
-0000054463 00000 n
-0000052246 00000 n
-0000051527 00000 n
-0000051685 00000 n
-0000051733 00000 n
-0000054100 00000 n
-0000054347 00000 n
-0000054378 00000 n
-0000054650 00000 n
-0000055036 00000 n
-0000056027 00000 n
-0000074325 00000 n
-0000089889 00000 n
-0000099706 00000 n
-0000113793 00000 n
-0000129507 00000 n
-0000148062 00000 n
-0000162043 00000 n
-0000165960 00000 n
-0000178237 00000 n
-0000204613 00000 n
-0000213919 00000 n
-trailer
<</Size 92/Root 1 0 R/Info 91 0 R/ID[<F744BDF41FE14BC9945784F7EE756AD5><68A7B94C0DC54FC6A7C2278BAD954853>]>>
startxref
214089
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_http.png b/chrome/app/theme/omnibox_http.png Binary files differdeleted file mode 100644 index 0a68919..0000000 --- a/chrome/app/theme/omnibox_http.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_http_dark.png b/chrome/app/theme/omnibox_http_dark.png Binary files differdeleted file mode 100644 index 16f81f74..0000000 --- a/chrome/app/theme/omnibox_http_dark.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_http_dark_transparent.png b/chrome/app/theme/omnibox_http_dark_transparent.png Binary files differdeleted file mode 100644 index 4f6fa89..0000000 --- a/chrome/app/theme/omnibox_http_dark_transparent.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_http_selected.png b/chrome/app/theme/omnibox_http_selected.png Binary files differdeleted file mode 100644 index e4a787f..0000000 --- a/chrome/app/theme/omnibox_http_selected.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_http_transparent.png b/chrome/app/theme/omnibox_http_transparent.png Binary files differdeleted file mode 100644 index e432be1..0000000 --- a/chrome/app/theme/omnibox_http_transparent.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_https_invalid.pdf b/chrome/app/theme/omnibox_https_invalid.pdf deleted file mode 100755 index b692658..0000000 --- a/chrome/app/theme/omnibox_https_invalid.pdf +++ /dev/null @@ -1,301 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R]/Order 6 0 R/RBGroups[]>>/OCGs[5 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 27507/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:DocumentID>xmp.did:FC7F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:c4d48754-70e1-7645-a05b-f4ad6eeac650</xmpMM:InstanceID> - <xmpMM:OriginalDocumentID>uuid:da0f4639-1337-a541-ba17-6b79b2296d29</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:89562585-2a75-c344-9b5a-3e605d511d3e</stRef:instanceID> - <stRef:documentID>uuid:da0f4639-1337-a541-ba17-6b79b2296d29</stRef:documentID> - <stRef:originalDocumentID>uuid:da0f4639-1337-a541-ba17-6b79b2296d29</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:FC7F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-12T15:15:47-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:CreateDate>2009-11-12T15:15:49-08:00</xmp:CreateDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:ModifyDate>2009-11-12T15:15:49-08:00</xmp:ModifyDate> - <xmp:MetadataDate>2009-11-12T15:15:49-08:00</xmp:MetadataDate> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>236</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADsAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FUFq+t6Ro1k17qt5FZWqdZZmCivgK9T7DfIzmIiyW/T6bJmlw44mUvJ4/5p/wCcmdKt2aDy
1p7XzjYXl1WKL5rGP3jD58cwsmt/mj5vY6D2LyT3zS4fKO5+fL73mOtfnT+ZWrMwbVmsYm2ENkog
Ar4Ov73/AIfMOeqker1ml9ltHi/g4j/S3+zl9jE7zVtYviTfahc3Rb7XrSvJX58ifDKDO3c4tDix
/TGMfcAEF6Yx4y3+EEXaanq1lT6nfXFtx+z6MrpTeu3EjETaMmixz+qIPvALKtH/ADk/MvSmX09Z
lu4xsYrwLcBh7tIC/wBzZdHVSHU/e6fU+zGjy/5MD+r6fu2ej+Wv+cnI2ZIfMulen0DXliaiviYZ
DWnyc/LMuGu7x8nmNd7Ekb4Z/CX6x+p7D5b83eXPMlp9a0W/ivIwBzRTSRK9njajr9IzNx5Yz5F4
3WaDNppcOWJj93wPJN8scN2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvNfzP8A
zp0jykr6dp4TUPMFKGCtYoK9DOVPX/IG/jTbMTPqRHYc3puxPZvJq6nP0Yu/rL+r+v73zX5j80eY
PMt+1/rd491Ma8FJpGgP7MaD4VHyGaqeUyNl9R0PZmHTQ4cceEfafeUsAA6ZVbsQKdirsVdirsVd
irsVV9Pv9Q028jvdOuZLS7iNY5oWKMPpGTjMhxtRpIZYmMgJRPQvdvy5/wCch0meLS/OPGGQ0WLV
0FEY1/3eg2X/AFl28QOubHDrOkvm+eds+yBhc9Nv/Q/4k9fc9yjkjljWSNg8bgMjqQVZSKggjqDm
wBt4Qgg0ea7Ch2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV5T+dP5uDyxbnQ9FkDa/cLWW
Ubi1jYbN4eo37I7dT2rh6nUcPpHN6z2b9n/zUvFyj90P9kf1d/yfMrvJJI80ztJNIxeSRyWZmY1J
JO5JOaiUrfWMeMRFBrItjsVdirsVdirsVdirsVdirRAI3xBpBFvVvyY/N2Xy5dx6DrsxfQZ24287
mv1V2PWp/wB1H9oduvjmfptRw7H6fueJ9pfZ3xwcuIfvRz/pD/ivv5PptWVlDKQysKqw3BB7jNs+
XEU3irsVdirsVdirsVdirsVdirsVdirsVdirsVdirFPzL89Wvk3yxNqTUkvZT6On25/bmYbEj+VB
8Tfd3yjPl4I+btuxuzJazOIfwjeR7h+s9Hx9e3t5qF7Pf30zXF5cuZJ5nNWZmNSTmknKy+1abTxx
QEYiojkFbR9H1TWtUg0vS4Gub25bjHGv4knoFA3JPTGECSw1mshggZzNRD27Q/8AnGCA2qPrusv9
ZYVeGyReCHw9SSpb/gRmxhoT1L5/qvbeXF+6h6e+R/QOXzR8/wDzi/5bKUt9ZvI37NIsTj7gE/Xk
jofNx4e22cHfHD7R+tgXm/8AIDzloMEl5YOmtWUQLSGBSk6gdSYSWr/sGY+2Y2XSSjvzD0XZ3tfp
85EZ3jke/cf6b9dPMwa7dCOozDIp6+MgW8DJxNMVJpP/ACj5B82ebZmTRbIyQxnjNdyERwIfAuep
9lqfbL8eAy5C3T9o9tYNIP3kqPQcyfg9X0n/AJxdJQNrGu/GaVitIqgeP7yQ7/8AAZmx0J6l47Ue
3Bv93j/0x/QP1ppL/wA4v+WDGRDrF8kn7LOImUfMBVr9+TOiHe4kfbbPe8Ifb+t5R+Yf5UeYvJDp
NcMt9pMrcItQiBUcuoWRCSUY023IPjmFn05hzew7G9osWs2HpmOcT+g9WFkBhmMDReiIsPoT/nHv
8ynvYB5Q1WWt1bIW0mVju8K7tCSepjG6/wCT/q5tNHm/hPwfMfa7sXw5fmMY9J+vyPf8evn73t2b
B4d2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV8m/nh5xbzH53nt4X5abo5a0tgD8LOp/fSf7JxT
5AZptVl4pPrvsr2YMGmEiPXk9R/3o+X3sAzDerL6D/5xm8rwxaVqHmaaMG5upDaWrnqsUdGkK/67
kA/6ubbRQ5y+D5f7aa4yyRwA7AcR955fIfe9uzPeHdirsVfOn/OQ/wCXttplzD5r0uERW95J6Wpx
IKKs7CqygDp6lDy9/c5q9ZhANjkX0j2P7YlMHBM2Yi4+7qPh08vc8ZzXPoDK/wAsPI0nnPzVFpzk
pp1uvr6jKuxESkDip/mdiFH39sydPi4zToPaDtYaPAZD6ztH3/sfXum6Zp+mWMNhp9ulrZ268IYI
xxVR/n1PfN1GIiKD43mzTyzM5nikeZKJyTU7FUu8x6DY6/od7o98vK2vYmjY0qVJ3V1/ykajD3GQ
yQEokFydHqp6fLHJD6om/wBnxfE2o6fc6ZqV3pt0ONxZTSQSj/KjYqfxGaDIKL7ro88cuMTjykAR
8W9N1K90vUrXU7GQxXdnKs0LjsyGor4jxGOOVFdXp45cZhIXGQovtTyp5htfMXl3T9atto72FZCn
8j9JE/2Lgrm+xT4ogvhmu0ktPmlilzif7D8QmuWOI7FXYq7FXYq7FXYq7FXYq7FXYq7FXYqlHnDW
TonlbVtWH27O1lli95Ap4D6XpleafDElzOz9N4+eGP8AnSA+HV8SBncs7sWdyWZiakk9SSc0E+b7
xiiANnN9k4I82U+T66/JK0W2/LDQ1AIMkcsrE9SZJ3av3HbN3pP7sfH73xX2lycWuye8D5AM4zJd
G7FXYqxb80tJTVfy9161ZQzLaSTxj/Ltx6y096plGojcC7XsTP4Wsxy/pAfPb9L41Q/DmjlzfcIH
Z9Ef84vadGmga1qfH95cXaWxb2gjD0/5L5tdFHYl8x9t8xObHDujfzNf717Xmc8Q7FXYq7FXyX+e
uliw/M7UiopHerFdKKU3eMB/nV0bNLq41MvsHsln49FD+jcft/UwLMR6gvoj/nGPXXuNA1XRZGqb
CdZ4QeyXAIIHyeMn6c22hnsQ+W+2ul4c0Mg/iFH3x/Yfse05nvEuxV2KuxV2KuxV2KuxV2KuxV2K
uxV2KsA/Pi5aD8rtXC1DSm3jqOwNxGT94BGY2rPoL0HsvDi1+Py4j/sS+TF+yM0kub7PHk5vsnGP
NE+T7A/JyYTflnoDim1uU23+xI6f8a5vNL/dj4/e+Je0Ma12X+t+gMyzIdM7FXYqlXmy4trfyvq8
9yQtvHZXDSk9OIiauVZvoPuLl6CEpZ4CPMzj974hT7OaGfN96x8n0V/zi/eq/lzWbHlV4LxJyleg
miCg09/RObXRS2IfMPbfERnxy7418j+17Tmc8S7FXYq7FXzV/wA5NWyJ52024XZptPVWFO6TS7/c
1M1Wu+r4Pp3sPMnTyHdP7wHkea97p69/zjHcsvnPVbYD4ZdPaUmveOeJRt/z0zYaH6vh+p4T24h/
g8Jd2T74n9T6TzavmTsVdirsVdirsVdirsVdirsVdirsVdirB/zssjd/lhrkairRxxTA0rT0Z0ka
n+xU5j6r+7LvPZvJwa7GfMj5xIfIq/ZGaOXN9qhycRUUwBJFh9L/APONmvx3nkufSGb9/pVw1Erv
6NxWRTT/AF+ebjRTuJD5N7ZaQw1QydMkftjt91PW8zXkXYq7FXgP5/8A5o29zE/k/RpRKvMfpe5Q
/DVDUQKR1owq/wB3jmt1ecH0jk+g+yfYUgRqMgr+YP8Affq+fc8LAoKZrCX0YCma/lH59Xyb5qW4
uqnSb5Rb6gFFSqk1WUDqfTP4VzK02bhlbzntH2QdXgqP1x3j+kfF9dW9xBcQR3EEiywSqHilQgqy
sKhgR1BGboEEWHx2cDEkEUQvwsXYq7FXyN+dPmeDzF+YN5NbMHtLBFsYJAahhCWLke3qO1PbNJqs
nFIl9i9ltCdPpIiX1S9R+PL7KYPmK9M9i/5xhtOfmnWLyn9zZCGv/GWVW/5lZsdCPV8HgvbjJ+5h
HvnfyH7X0fm0fNHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FUFrmlxarot/pktPTvreW3YneglQpX6K5
DJHiiR3t+mznFljkHOMgfkXw7NbzW1xNazrwngdo5UPUMh4sPoIzQTD73p8gnEEcjv8ANbkG5k35
ceebryX5ni1RFMtlKPR1C3B+3CxBJHbkpHJfu75kYMpibdH272THWYTDlLnE9x/UX11oHmLRfMGn
R6jpF2l3ayAHkh+JT/K6n4lb2IzdQyRkLD45qtHl08zDJExkPxt3ta75l0DQbU3WsX8NlCBUGVgG
b/UQVZz7KDjPJGPMrpdHmzy4ccTI+X42eB/mR/zkFearHLpXlQSWVk4Kzak3wzyA7ERgf3Y968vl
muz6snYbB9A7F9kRjIyaipS/m/wj39/3e942BTc7k9TmvJt72MabwMmiARQ4g0gi3oP5afnHrfk1
lsbpW1HQSam1J/eRV6mFj0/1TsfbrmZg1Jh7u55Xtz2ax6v1x9GXv6H+t+t9G+VPzE8oeaYlbSdQ
jecirWcpEdwvzjbc/Naj3zZ488Z8ju+aa7sjU6U/vImu/nH5sjkkSNGeRgiKKszGgAHck5aTTrgC
TQeJfm7+eNhDZ3GgeVbgXF7MDFdanCaxxKdmWJh9pyNuQ2Xtv0wNRqhVR+b2/s/7MTlMZc4qI3ET
zPv7h5dXz2q0GauRt9OjGg2TQYAyJfSH/OM+iNa+Ur/VnWj6ndcYz4xWy8Qf+Ddxm40UaBL5R7aa
nj1Ecf8AMj9sv2U9hzNeOdirsVdirsVdirsVdirsVdirsVdirsVdir5S/PrywdE8/wA93GtLPWV+
uRnanqk0mHz5/F/ss02rx1I/N9b9kdf42lET9WP0/D+H9Xwed5hvWuxVUtrm7tHMlpcSW7kULROy
EjwqpGS42jJpoT2kAffutnlnuJTLcSvNKeryMWY/Mmpx40wwRiKAoLaUyLcA7FVW1s768Liztpbk
xjlIIkZ+I8TxBoMnwOPl1UIfUQPeaUVYHImNN0ZAt4GTXGhDKSrDcEeOSEiwljBRM+papcQ+jcXs
80O37qSR2XbpsSRh42iGjxxNgAH3BDBQOmRJtyREBvAlfBbT3VzDaW6GS4uHWKKMdWdyFUD5k5OA
3adRlEIEnkNz7g+2PKegQ+X/AC1pujQ0K2UCRsw/akpWR/8AZOSc32KHDEB8I1+qOozzyn+I3+r7
E2yxxHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq85/PbyefMPkia4t4+eoaOTd24AqzRgUnQd90+K
ncqMxdXj4o33PR+y/aH5fVAE+jJ6T7+h+f3vlNTUZpZCi+xxNhvAydirsVdiqe+R/J2oecPMdvo9
n8CN+8u7mlRFCpHNz4nso7nL8OIyNB1HbHakNJhOSXwHee59feV/K2i+WdJi0vSYBDbxj432Mkj9
3kb9pj/tbZuseIQFB8Z1uuy6nIcmQ2T8h5B5H+fH5UWz2k3m3Q4PTuYfj1W2jFFePvOqj9pf2/Eb
+NcLVacD1D4vYeyvb0oyGnynY/Se4/zfd3fJ8/g1Fc1hFPpkTYbwJdirsVdir1H/AJx68onWPODa
zcR8rHRVEiEj4WuXqIh/sd3+gZnaPFcvc8X7Ydo+Fp/DifVk2/zRz+fL5vqDNu+VuxV2KuxV2Kux
V2KuxV2KuxV2KuxV2KuxV2KuIBBBFQdiDir48/Nbyd/hPzreWMKFdOuT9a0/bYRSE/AP+MbVX5DN
HqMXDIh9n9ne0vzWmjIn1j0y946/HmxHMZ6F2KuxVpjQVwgWUSNB9S/kF5Nj0LyZHqU0dNR1ulzI
xG4g/wB0J8uJ5/7LNzpMdRvvfH/artE59SYA+jHt8f4v1fB6bmW8wtkjjljaKRQ8bgq6MKgqRQgj
ARaQSDY5vjX8yfKn+FvOuo6TGCLPn61iTvWCX4kH+x3T6M0efHwyI7n2zsHtD81pozP1cj7x+vmx
rMd3bsVdirTE0oOp2AyURuwySoPsL8qPJ3+FfJdlYSpwv5x9a1Dx9aUA8T/qKAn0ZvNNj4Y+ZfEu
3e0PzWplMfQNo+4fr5swy907sVdirsVdirsVdirsVdirsVdirsVdirsVdirsVeY/n95MGu+Tn1K3
j5ajovK4QgVZoDT1l+hRz/2OYmsx3G+56f2V7R8DU8BPoybfH+H9XxfLamormmIovsETYbwJdiq2
T7OShzYZOT7g8r3lpe+W9LurOn1Wa0haEL0CmMUX6Omb/CQYCu58E1uOUM04y+oSN/NM8scV2Kvm
D/nJG+tbn8wYIIaGWzsIorlh1Ds8koU9tkkU/Tmp1sgZfB9U9isUo6Uk8pTJHyA+8PLcwHtHYq7F
Wd/kn5S/xH58tWmTnYaX/pt1UVUlD+6Q1/mkpt4A5l6XFxSAeX9qe0fy+lkAfVP0j9J+T62zdPj7
sVdirsVdirsVdirsVdirsVdirsVfL/5pfnH5n1HzLeWGhajNp2kWMjQRNauYnlZDxaRpFo9Cw+EV
pT3zUZ9SSdjs+p9gezeCOGM8sRPJIX6twL5CuSSaF+dH5kaPKrDVX1CFftQX378MPd2/e/c+Vw1U
h1dhq/ZbR5R9Aie+O32cvse3flv+eOj+bbyPSby2bTdZkUmOPkHglKipEbmjBqCvEj6Tmww6oSNH
m8H2z7M5dJE5Injxj5j3j9L03Mt5h2KrZI0kjaORQ8bgq6kVBBFCCMBFpBINh8XefvLLeWPOOp6N
Q+hDKXtSe8Eg5xb9/hah980WfHwkjufcOxNf+Z08MnUjf3jYpDlDt3Yq0RUUxBUi3rH5P/nQnlaA
aFryvLo3Ita3MY5PbljVlKdWQnfbce+Z+m1PDseTw/tF7NHUy8XFtk6j+d+17dH+bH5cSQCdfMNm
EIrRn4v/AMAwD/hmf+Zx97wp7C1oNeFL5fp5MI86/wDORvl6ytZbbyuralqDAql06NHbxnpyo4V5
KeFAPfKMusFel3nZvsfmySBz+iHdzkf0D8bPne9vby/vZ7++mae8uXaWeZ92Z2NSTmrnK30/TaeO
KAjEVECgFHIN7sVaJoK4gIkaD6e/5x18sjTPJLarIlLrWZTLU9fQiJjiH38m+nNzo4VG+98j9r9b
4uq8MfTjFfE7n9A+D1TMx5R2KuxV555x/PLyT5cZ7aKY6tqCbG2syGRT4PN9gfRU+2YuTVxjy3ei
7O9mdVqfUR4cO+X6Bz+5g/l7/nJmWbXimvadHa6LNRY5Lcu8sBr9qQsf3g8eKj2ByiGtN78ne6z2
K4cN4pGWQd+wPu7vmXulhf2WoWcN7Yzpc2lwoeGeMhkZT3BGbCMgRYeEy4pY5GMhUhzBV8LW7FXY
q7FXYqlHnDWBovlXVtVJ4tZ2sskZHX1Ap4D6XpleaXDAlzOz9P42eGP+dID9b4jUk1YmpY1JPXNB
Pm+8YhQXZFsVrG+u9OvrfULKQw3dpIssEq9VdDUHJwlRcfVYI5YGMhcSKPufZ/knzVa+afLNjrVv
RTcJSeIGvpzLtIn0N09t83uHJxxt8N7S0MtLnlil05eY6FPMtcF2KvAP+cn9BVLjRvMEagGQPZXD
Ad1/eRb/ACL5rddDcHvfQvYjV7TxHpUh9x/Q8NzWPozsVdirqA4qQt4L4YeIseANgAdMBKQAG8Uu
xV2Ktxwy3E0VvEOUszqka+LMaAfeclBpzzEY2eQfcmi6ZDpWj2OmQACGygjt0p4RIFr+GdDCPDED
ufA9RmOXJKZ5yJPzRmSaWmZVUsxCqoqzHYADucVAt8xfm1+c2p+YL240bQpzbaBETG80RIe6psWL
DcRnso6jr4DUajUmWw+l9S9nvZqGGIyZReXnvyj+15WFAzCMiXtIwAcQD1wAsiLZv+WX5p6v5K1B
Y3Z7rQZm/wBLsa/Zr1kir9lx4dG7+Iy8GoMC8z272Bj1kLHpyjlL9B8vufWGk6rYavpttqenzCey
u0EsEq91PiOxHQg9Dm4hISFh8jz4J4ZmExUomii8k0uxV2KuxV4n/wA5Ied4INJi8pWkga7vGSfU
FU/YhQ8o0ah6u9G+Q9xmBrMv8Pze39juzJSyHUSHpjtHzJ5/Ife+eQKCmakl9QApvFLsVeo/kJ+Y
K+XdfbQ9Qk4aTq7qEdiAsNz9lHJPRXHwN9Hhmdpc/Cd+ReL9rOxznxeLAfvMf2x/Zz+b6gzbvlbs
Vea/85C2C3P5Z3cxUE2VxbzqT2LSCGo+ibMXWRuHuL0vsll4ddEfzoyH2X+h8rjoM0p5vsUeTeBL
sVdirsVdirsVdirsVZB+XVkt75/8vW7CqG+gdx4rG4cj7ly7APUPeHT9u5eDSZD/AEJfbs+0c374
e7FXkP8AzkB+YqaRox8s6dL/ALlNTSl2UO8Nq2xBp+1L9n/Vr7Zg6vNQ4R8XsPZPsc5svjzHogdv
OX7PvfNaigpmpJt9XiKDeBLsVcRUUxBUi30P/wA4w6xPcaDrGkyMWj0+4imhr+yLlWBUe3KEn6c2
+hkaIfLfbbTCOaGQc5Ag/wCbX63tWZzxLsVY55689aN5N0VtS1El3clLS0Q0kmkpXivgB+03b8Mq
zZhAW7LsvszJrMvBD4noA8E1z/nI7zxqEDQafBbaUrihmjVpZhX+VpCVH/AZrZ6yZ8n0DSexemgb
mZT9+w+zf7Xl9xcXN1cyXV3M9xczMXlmkYu7MepZjUk5hylb2GHBHHECIoDuWZFudirsVaZajDE0
xlGw+jfyR/N+LVbeDyxr03HVoQI7C6kO1wiigRif92j/AIb59drpdR/Cfg+W+03s8cMjnxD92fqH
83z/AKv3e57Lme8WlXmry1p/mby/eaHqBdbS8VQ7xEK6lHWRGUkEbMgO4yGSAlGi5eh1k9NmjlhX
FHv91PDNY/5xg1uJmbRtZt7hOqx3aPC1PDknrA/cM18tDLpRe803txj/AMpCQ/qm/vpjF7+QX5oW
1THYQ3YHeG4i6b7gSNGcpOjn3O2xe1+ilzkY++J/RaUT/lN+ZcFefl+5NOvphZOv+ozZWdPIdD8n
Nh7SaKX+Uj9o+9BS/l95/ico3lvUyR3W0ncfeqkYPy8u4/Jvj25pCL8XH/pgh5PJ/nGNykmg6ijj
qrWs4I79CmROEhtHa+mIsZIf6eLo/J3nKVuEWgai7/yraTk/cExGElZdr6Yc8mP/AE8UTD+Xn5gT
MVTy3qQIFfjtZkH3uqjJfl5dx+TVLt3SD/K4/wDTAo+2/KD8zrggR6BOtaU9Qxxdf+Mjrko6aR6F
xp+02ijzyR+0/cn2n/8AOO35kXRX6wlpYKacjNOGI2r0hEuWR0Uz0ddm9s9JH6TKXuj+unpX5f8A
5AWPlvVrbWtS1J77ULRvUt4oU9KFWpSrElmf/hcy8Wj4SCS8v2t7WT1OM4oQ4YS53uf2fa9bzNeQ
YF+af5rab5L08wwFLrX7hf8ARbOtQgP+7ZqbhR2HVvvIxs+oENh9Tv8AsPsKetnZ9OIcz3+Q8/uf
Keo6jf6pqFxqWoTNcXt05knlbqWPy6ew7Zppzt9g0umhhgIRFRjyCHyDkuxV2KuxV7p/ziylZvMz
8iAoshx7GpnNT8qZtdCOfwfOPbo/3X+f/vXvubB8+dir48/NfzhceafOl7cFybCydrXT49+IijYj
lTxkI5H+zNHqMvEbfZ/Z3syOm00RXql6pe89PgxHMZ6F2KuxV2KuxV2KuBdXWSNikiEMjqaEEbgg
jCJUwyYxIUXvX5Vfn4jiHRPOEvCQAJbaw3RuwW48D/xZ/wAF45s8Gr6S+b5v297KGJOXTj3w/wCJ
/V8u57sjpIiyRsHRwGR1NQQdwQRmxBt4Mgg0W8UOxV2KuxV2KuxV2KuxV2KuJAFT0xV49+Z/59af
o4l0nyw6X2rbpNej4oLc9Dx7SOP+BHevTMHPqwNo/N7HsT2VnnIyZwY4+kesv1D7fvfOl7e3t/ez
X1/O9zeXDF5p5CWZmPck5q5Tt9P0+mhiiIxFAcgpZByHYq7FXYq7FWe/k/8AmZb+RtVvBfWzz6bq
YiW4aKnqRtCW4OoNAw/eNUVGZmmz8HueV9pOw5a2EeE1OF1fI3W32Ppvy15x8s+Zbb6xouoRXYUA
yRKaSpX+eNqOv0jNrjyxnyL5drOz8+mlWWJj9x9x5JzljhPhCa3ltria2mHGaB2jkXwZDxI+8Zzs
36B08xKII5HdbkG92KuxV2KuxV2KuxVogHrhBpBiCz78u/zj8x+T2SzlJ1LQ6jlZSMeUQ7mBzXj/
AKv2fl1zKwakx5cu55ftr2aw6u5D0ZP5w6/1h+nm+lPJ/nvy15tsvrWj3QkdRWe0eizxH/Lj609x
sfHNrizRnyfMO0Oy8+klw5Y13HofcfwWQZa692KuxV2KuxV2KuxVJvNHnDy75XsDe61eJbRmvpR/
alkI/ZjQfEx/zOV5MsYDdzdF2fm1U+HFGz9g95fOH5i/nj5g80erYaXz0rQ22MatSeYf8WuvQH+R
dvEnNXn1Rlt0fS+xvZbFpqnk9eT/AGI9w/SfseahQMwybeujEBvAydirsVdirsVdirsVVtPv7/TL
2K+064ktbyA8opomKsD8x+rJxmQXG1GlhlgYyAlE9C+i/wDldN5/yp3/ABPwj/Tvr/oym3p/Wqcv
U4/8Yv3nHx26ZtPzJ8O+t0+Yf6HI/wApeBZ8KuPz4e757X+lhf5/flxc6XrEvmvToy+mag/K/VR/
c3DdWan7Mp3r/N8xlGrwUb6F3vsl20J4xgmfXD6fOP6x9zyEEEbZryKe6BtvFLsVdirsVdirsVdi
rsVV9O1DUNMvY77TbmS0vITWOaJirA/MdvEZOMyHG1GkhliYzAlE9C9x8hf85Hg+nYecYuLbKurQ
LsfeaJenzT/gc2OLW/znz7tb2OIuWmP+af0H9fze4adqenanZx3un3Md3aSisc8LB0P0jM+MhIWH
hs2GeKRjMGMh0KJyTU7FXYqpXV3a2dtJdXcyW9tCpaWaVgiKo7szUAGAkAWWcMcpyEYiyegeL+ff
+cjbC09Sw8oxC9uRVW1KYEQKen7tDQyfM0X/AFhmDl1nSPze17K9jpzqWoPCP5o5/E9Pv9zwbWNZ
1fWr99Q1e7kvbyT7UsrVNOwA6KB2A2zWzyEl9E0uhx4ICEIiMe4ITK3MdirsVdirsVdirsVdirsV
aY0BwgbokaD2D/Bt1/0Ll9Z9M+r9f/TPDv6dPqvL5el8XyzP4D4N/wBL9jwX8ox/lrhvbg8P4/V9
+z6Ouba3uYJLe5iWa3lUpLFIoZGU7EMp2IObQgEUXzeEzEgxNEPC/PH/ADjc814155RuY4IpWq+n
XTMFjr/vqQBzT/JYbeOa/Lov5vJ7zsv2z4Y8OoBJH8UevvH49yT2f/OMXmt6fXNXsofH0hLLQf7J
YsgNDLyc3J7cYf4YTPvofpKb23/OLS9brzIx23SK0pQ1/maY1+7J/kfP7HDn7cn+HF85f8dRaf8A
OLuihCH125Z+xWGMD7iT+vD+R8/s/a0H23y3tjj8yh5/+cWrYp/o/mORH/y7UMD90q0x/I+f2ftb
Ye3Mr3xf7L/jqS3/APzjH5riUmw1azuadFlEsJP3LKPxys6GXk52H24wn64THuo/qYnq/wCS/wCZ
mlhmfR3u4gK+pZss9fkiH1P+FyiWlmOhdzpvanR5f4xE/wBL0/by+1ht1b3VpM0F3BJbTr9qKVSj
D5qwBygwd7j1MJi4mx5bqYIPTIENwILeKWiAeuIKkWnPlfzj5m8rXn1rRL57eprLATyhk/14z8Lf
PqO2XY8xibGzq+0OycGqjWSPF949xe8eSv8AnIzy9qSx2vmWL9E3tADdJye1c+Pd46+9R/lZscet
B+p887S9j82ImWE+JHu5S/Ufxs9as9QsL20S8s7mK5tHHJLiJ1eMr4h1JGZgkCLDyWTFOEuGQIl3
Hm8388/n55V0ASWmlEa1qgqOMLD6uh6fHMK1p4JX5jMXLq4j6d/uek7L9ldRqKlk/dw8/qPuH63z
95w/MHzZ5uuDJrF4TbA1isYqpbx/JB1P+U1T75rcucyO76P2b2Jg0g/dx3/nH6j8f1MdAA6ZQTbu
AAG8UtEgdcaUmnJyd1SNS7saKqipJPYAZLga5ZYgWyjSPyu/MTVwrWWhXIjb7Ms6i3QjxDTGMH6M
uhp5HkC6fU+0OkxfVkj8PV91st0//nG3z/cUa6uLGyXuryvI/wB0aMv/AA2XR0Uz0p02b210sfpE
5fAD7z+hO7f/AJxb1BqfWPMUUfj6ds0ny6yx5bHQnqQ4E/bqPTET/nV+gq//AEKwf+po/wCnH/s4
yX5Hz+xr/wBHR/1L/Z/8dQ9x/wA4uaipP1fzFFIO3qWzR/PpJJkZaE9CGyHt1HrjI/zr/QEkv/8A
nG78wLck21xY3i9gkro3TuJEUf8ADZVLRTHS3Pxe2ull9QnH4A/cWN3/AOUH5m2JIl0GeUCvxW5S
etPD0mc5VLTSHQu0w+02inyyR+Nj72/K35U+c9Z1+z0+80e+06ykkBury4t5YUSJd3PKRVXlT7I8
cOPTSuqLHtH2h02LDKcZwnIcgJA2enJ9bfonT/0T+iPQX9HfV/qn1b9n0OHp8Plw2zc8A4eHo+Qe
PPxPEv18XFfnd380Xkml2KuxV2KuxV2KuxV2KoPVNF0fVoDb6pZQXsJBHp3EayAV8OQNPoyMoRlz
Ft2DU5MRvHIxPkaea+Zf+ccvJWpB5dJebRrlqkCMmaCtO8ch5df5XGYs9FE8tnptF7X6rFtkrIPk
fmP1PIvNX5G+ftA5zRWo1ayWp9eyq7gf5UJAkH0Aj3zByaWUenyey7P9q9Ln2MuCXdL9fJgDVR2R
1KOpIZWFCCNiDXMYxL00coIbyLYtbjTfDG+jGVdVe11LU7e2ntba7mgtLocbmCORljlXrR1BAbp3
ywypxJaWE5CRiCY8iRuPcohQOmVmVuWIgN4GTRYDCIksTMBl3lT8qfPXmgJLY2DW9i/S+u6wxEHu
tRycf6inMjHp5S5B0PaHtFpdNtKVy/mx3P6h8Xr3ln/nGjy7acJvMF9Lqcw3a3hrBB8iQTI3zDLm
dj0QH1F4vW+2mee2GIgO8+o/q+96hoflLyzoSBdI0y3siNjJFGokP+tIaufpOZUMUY8g8tqdfnzn
95OUvedvlyTbLHEdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirFPOn5e+RvMNrN
ca7aRQuikvqasIJYwP2ml2BA/wAuoyjLhhLc7ebtuze1tVp5AYpE/wBHmD8P1Pk/zdp3l3TdbltP
L2qPq1gnS5aP0xXuoNfjp/MAAe2aicY33h9c7N1GoyYhLLDw5913/Z7knCd23OVGXc7IQ6ldkWxo
sB1wgWxlIBbVm6bDJbBhcpJ35Q8zt5a1VdQGmWepstKR3sZkC0/aTccW96HLIZADf3ut7S7NOpx8
HHKH9U/e+gPLX/OR/k3UQkWsQzaNcGgLMDPBU/5aDmPpQZsoa2J5inzvW+x+px74yMg+R+R/W9M0
nXNG1i3FzpV9BfQH/dkEiyAex4k0PzzJjOMuReZz6bJhlw5ImJ8xSNybQ7FXYq7FXYq7FXYq7FXY
q7FXYq5mVVLMQFAqSdgAMVAeOeeP+ci9J0nURYeXrZNXML0urtnKwbdViZQS5/yvs+Fcwcuso1F7
Psz2PyZoceY+HfIVv8e73c/cyfyR+c/k3zUY7ZJ/0dqj7fUbohSzeEUn2H+XX2y3Fqoy2OxdV2l7
O6nS3Ijjh/Oj+kcx93mzzMl0LsVdirsVdiriQASTQDck4q8187/nx5Q8uiS2sHGs6otV9C3Yeijf
8WTbrt4LU/LMTJq4jlu9L2Z7L6nUVKY8OHeefwH66fP3nT8yPNnnCcnVLox2IasWnw1SBd9vhr8R
Hi1Tmty5zI7vo/ZfYWDSD0D1fzj9X7PgxgADpmOTbuwAG8Ukpp5c8q+Y/M16bPQ7GS8mUVkZaKiD
xeRiqL9Jy7HiMjQ3dbru1MOmjxZJCI+0+4c1LXfLHmDy/dfV9a0+aylrRTKvwN/qOKo/+xJwzgRt
yXR6/BqBxY5Cf46jn80vBB6ZQRTsQQW8UtEA9cQUEAq1leX1hcLc2FzLaXC/Zmgdo3HyZSDkxMho
zaWGQcMgJDuIsM90H8+vzG0ngk91HqtutP3d4nJqd/3iFJK+7E5kw1ch1+bzer9kdJl3ETA/0T+g
2Pk9C0X/AJyf0aXimtaPPaN0aW1dZ1+fF/SYfjmVHXd4+Tzeq9icsf7uYl/WFfrZxpX5z/lrqSr6
etw27nrHdh7cg+7SBU+5svjqoHq6LP7O63Hzxk/1fV927KbLWdIv6Gxvre6r09CVJK/8CT4ZbHJE
8iC6rJp8mP6oyj7wQjMm0uxVA3Wu6HaErdajbQMNiJZo0Nf9kRlZywHMhvhpcs/pjI+4FVstT02+
QvY3cN0i9WgkWQD6VJyUZxlyNsMmGcNpRMfeKROSa3Yq7FXiv/OR3nm806ytfK9hIYpdRjM9/Ipo
31fkUWMEdpGVuXsKdzmBrcpHpe29juy45ZnPMWIGo/1u/wCG3zfO4AAzVE2+oxjTRUHESIRKALP/
ACZ+dvnbyzwt5Jv0tpi7fVLtizKPCObd1+RqPbMrFqpReY7T9ltNqLkBwT74/pHL7ve9m8u/85C+
QdUVEv5JdIuW2KXCF46+0sYYU/1guZ8NZE89nh9X7JavF9AGSPlz+R/RbMLbz95GuULw+YNOcAFm
H1qEEAdyCwI+nLvHh3h08+ytVE0cWT/Sn9SB1H82Py409C83mC0koK0tn+sk/IQepkZamA6t+HsH
W5Dtil8Rw/fTAfMX/OTWhW4aLy/ps1/L0E9yRBF8wo5u308cx563uHzeg0fsVmlvlkIjuG5/V97y
LzZ+aPnfzVyj1K/MVk3/AB4W1YoKeBUEs/8As2OYOXUGXMvadnez2m0u8I+r+dLc/s+FMUCgZQZE
u8EQG8DJwqzBEBZ2NFUbkk9BhEbYTyCPN69+Xn/OPurauY9R80l9N040aOxXa5lH+VX+6X5/F7Dr
mfg0hO52Dw/bPtdDHcMHrn3/AMI93f8Ad730LomhaRoenx6fpNpHZ2cX2YoxSp7sx6sx7k75soQE
RQfOdTqsmeZnkkZSPer32n2OoWr2l9bx3VtIKSQTIsiMPdWBGGUQRRYYss8cuKBMZDqNnk3nD/nH
Dy5qPO58uztpF2an6u9ZbZj7Anmn0Ej2zDyaIH6XrezvbHPi2zDxI9/KX6j+N3h3mzyB5t8pzcNZ
sWSAmkd7H+8gf5SDYfJqH2zX5MBidxT3/Z3ben1Q/dys93KXyY8CD0yginbggt4pdirsVa4r4YeI
sTANemMPGWPhhGRatrEIIi1C5jB6hZXXp8jjxeTRLQ4jzjH5BZPqOp3AIuL2eYEcSJJHao8NyceL
yTDR448gB8AhvTXHjLd4YRFhfX+nXSXen3UtpdR/Ymhdo3Hf7SkHCMhas2khkjwyAkO47vd/yw/5
yBFxJFo/nF1jmai2+r0CIx7C4Aoqn/LG3iB1zY4NX0l83zztz2SMLyaYbdYf8T3+57nzThz5DhTl
yrtTrWubG3hKN03ih80/85MafND5006/IPoXdisaMf54ZH5gfISKfpzVa6Pq+D6d7EZgdPKHWM/v
Ar7i8kzXvdOxV2KtEA9RhBKDEFrguHjLHww7gvhg4ingC6mBlTsVdiqb+VvKPmHzVqQ0/RbUzybG
WY/DFEpP2pHOyj8T2By7HiMjQdZ2j2rh0sOLIaH2n3B9L/lz+S/l3yisd7cAalro3N7IvwRGm4gQ
/Z/1j8Xy6ZtcOmEdzuXyztj2jzau4j0Yu7v/AKx/Ryeh5lPOuxV2KuxVTuba2uoHt7mJJ7eUcZYZ
FDoynsytUEYCARRZQnKJBiaIeN+fP+cdNKvhJfeVJBp95uxsJCTbuetEbdoyfpX5Zg5dH1j8ns+y
vbDJjIjqPXH+cPqHv7/v97wLWtF1fQ9Qk07V7WSzvIvtRyClR2ZT0ZT2I2zWzxkF9H0mux54CcJC
UT1QeVuY7FXYq7FXYq7FXYq7FVr/AGclDmwyDZ9Vencf9C/U39T/AA9zrXfj9W5Vr/q5uKPg/B8f
sfyv5eP/AL56TmW8088/PLyY3mTyVLLbJz1HSSbu2AFWZAKTRj/WTf5qMxdXj4o33PRezPaP5bVA
SPoyek/oPz+98oKajNLIUX2SErDeBk7FXYq7FXYq7FWiQBvhAtBlT0X8s/yZ1rze8d/f89O0AGv1
gj97OPCFT2/yzt4VzLwaYy9zyfbntNj0twh68vd0H9b9X3Ppvy95b0Xy9psem6Rapa2sY6KPiZu7
Ox+JmPic22PGICg+W6vWZdRMzyHikfxt3Jlk3GdirsVdirsVdirsVSPzd5L8vebNNaw1i2Eqiphn
X4Zom/mjfqPl0PcZVkxRmN3O0HaObST48RrvHQ+8Plr8xvyw1zyRffvq3ekTMRaaggoD/kSD9h/b
oe2anPgMDu+sdidv4tZHb0zHOP6R3hh4NcxXogbdirsVdirsVdirsVbSGWeWO3hUyTTMqRxruWZj
QAfM5OAac8xGJJ5B9qf4e/50f/Dnw/8AHM/R1P2f95/R+7N5wHw+Hrw19j4X+b/wrxv9s4/9laeZ
c4LsVfI/5zeSh5V85zC2j4aVqQN1YgfZWp/eRj/Uf8CM0upxcMqfYfZjtT8zpxxH1w9Mv0H4/fbB
sxHp3Yq7FXYq7FWqmoAFWOwA6nCBbGcxF7n+VH5DGYQ675whpGaSWmkP1I6hrgeH/Ff/AAXhmy0+
kveXJ867f9qtzi0536z/AOJ/X8u978iJGixxqERAFRFFAANgABmyAp8/JJNlvFDsVdirsVdirsVd
irsVdiqF1XStP1bT59O1GBbmyuVKTQuKgg/qI6gjpkZwEhRbcGeeKYnA8Mo8i+RfzN/L298ka+bR
i02l3VZNOuj1ZAd0am3NK0P0Hvmmz4TE0+x9g9sx1mLi5TH1Dz7/AHFiWYr0DsVdirsVaLAdcIFo
lIBl/k78qPO3msLNY2f1bT2p/uQuqxREeKbFn/2IIzIxaeUuQef7S9otNpdpSuf82O5+Pd8Xu/5e
/kX5e8q3UWp3kzarrEW8Urrwhib+aOOrfEP5mPyAzY4tIImzuXz7tb2nzauJhEcGM/M+8vTMy3mX
Yq7FXj3/ADk7aK/k3TbvjV4NQWPlSpCywyE79hWNcwtaPSC9j7FZK1M498PuI/W+b8076u7FXYq7
FW0SSSRIokaSaRgscagszMxoAANySclGNteTIICy+jvye/JSLRFi1/zJCsmtGj2lm1GW28GamzS/
gvz6bXTaWt5fJ8t9ovaU5ycWE/u+p/nfs+/3PYsznjXYq7FXYq7FXYq7FXYq7FXYq7FXYqxH80/J
sXmvyde2ITlfwKbnTmA+ITxgkKP9cVQ/PKNRj4o+Ydv2H2idJqYz/hO0vcf1c3x0taUPUbHNHIbv
t2OVhdkWbsVaJoK4QLRKVB7j+Sf5NRXccHmnzLCHgekmmadItVcdVmlU9V7ovfqds2Om017nl975
17Te0hBODCd/4pD/AHI/SX0AqqqhVAVVFFUbAAdhmzfPSbbxV2KuxV2KvPPz801738s9QdByezkg
uQPZZAjH6FcnMXWRuF9x/Y9F7K5hDXRv+IEfZ+x8oL0GaU832WJ2bwJdirW5IVQWdjRVG5JOGIth
OYiH0n+S/wCTn6ASPzDr8QbW5Fra2jAEWqt+03/FpH/Ajbrm202mr1SfK/aT2i/ME4cR/d9T/O/4
7971/M5452KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kvi78w9KTSvPmu2EY4xR3cjRL4JIfUQfQrjN
BnjRI833DsLUHLpccjzMB9mzH8pdw7FWefk15AHm/wA0hryPloumcZr4EfDISf3cP+zIJP8Akg5l
6bDxGunV5b2m7X/K4Kif3k9o+XfL4fe+tFVVUKoCqooqjYADsM3T5ATbeKuxV2KuxV2KoLW9Kt9X
0a+0u4/uL6CS3k9hIpWv0VrkJx4okN+mznDkjkjziQfk+JNV0u80jVbvSr1OF3ZStDKvaqGlR7Hq
PbNDkiQX3bRamObHGcfpkLCGyty3AOzrHGpeRyFRFFSSdgABhEbYTyCIsvor8mfyXGkel5j8ywg6
qaPY2Diot/CSQf798B+z/rdNrptNXql8ny/2j9pDmvDhP7v+KX87yHl9/u59nzPeKdirsVdirsVd
irsVdirsVdirsVdirsVdirsVfK3/ADkLpxtPzKnuOPFdQtoJwd6Eqnon/kzmn1kfWX1n2Nz8WjEf
5spD/ffpeb5hPXtGpoFFWbYAdclEMMkqD7B/KfyYvlTyZZ2UsYTUbgfWdRP7XrSCvA/8Y1ov0Zu9
Nj4Y+ZfE+3u0fzeplIH0DaPuH6+bMcyHTOxV2KuxV2KuxV2KvNPzU/Jmy85SLqdhMthriKEeVwTF
OqiiiTjuCvZgOm1DtTE1Gm49xzem7C9o56IcEhxYvtHu/U8pg/5xx/MSS49KSSxhirQztMxWniAq
FvwzDGinfJ6+ftppBGxxk91D9b1v8ufyU8v+UXW/uWGqa2u6Xci8Uir/AL5jJah/yjv4UzNw6UR3
O5eN7Y9pM2s9A9GLu7/ef0PRsynnHYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq80/Ov8sbzz
jptrd6SE/TOnlhGjkIJoX3aPkdgwYVWu3XMTVYDPcc3pvZrtuOjyGOS/Dn9hHX9b5l1jQ9b0W5a1
1ewmsp1NOMyFa/6pOzD3BzUyxkGn1XTdoYs0eLHISHkXpv5H/lZf6trcHmLWLVodHsGEtqkylfrE
y7pxVuqIfiJ6E7eOZel0/EbP0vJ+1Hb0ceM4cZvJLY1/COvxP46PpjNs+YOxV2KuxV2Kv//Z</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_ssl_invalid</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Points</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[7 0 R]/Type/Pages>>
endobj
7 0 obj
<</ArtBox[1.62158 0.912109 17.3784 18.188]/BleedBox[0.0 0.0 19.0 19.0]/Contents 8 0 R/LastModified(D:20091112151549-08'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 9 0 R>>/Resources<</ExtGState<</GS0 10 0 R>>/Properties<</MC0 5 0 R>>>>/Thumb 11 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
8 0 obj
<</Filter/FlateDecode/Length 3006>>stream
-H‰ŒWK®$·Ü÷)zmàõ03I&¹õðÊ0/|€K¤ ûþ€#"YÝ=ÚÈéuE‘E2‘Á/ÿzÿò·¯íþç¿|½ß~»µ»mþ÷ÿÿó¯Û?ï¿ÞÚ£e¿þáÉìþóíË_ÿÑî?ý÷ößáÆú£›ã—3òþùíÆ÷ßnía‘xÄC˜s…9 F -ËÒX¬üŒ‘BË* ,©Ÿ†Ôû€¦JÈX‹ðO\UÈIñØsiYÆ%ã#» ÍcÅç*Ž|‡‘½)HQ¦*S…é§EJ0–r $è5“æ1S‹Þ;yëšÌÂdÖéëk&“i¹‰0#*³,ŽÐâq:Ðb®˜×iaÉ<ýnZg.qK"½¸ê˜Ò\fè5Jw¬©Py-CT¦¹_x=f
ŽpI€èǾ%c:(£O'7„Ê»UµÂW;Ä¢þÌ'%„#Aà›¹`º‹t}3Å’Á'?ÔRLlÆ^ì¼¹'¦tV즅˜Vå‡|Æy–«˜:NÿŠ$À鸶ÜÖ'ie·N·7ÇRGŽ·Q;Plú»µ³ãobŽx—³7÷"Í›-ßF×Ù~1ÚQÑÞ£ò"h,šEW*8ý"c}·”·ÝΪ©¢—€I -Y*ýãTFŠpe¢?wep¥{MlrÏÁÞôá‚/ÜjñªUJ -õTNÁªfÖVæö¢B2kgxõ¤¬¹>J•ÙíqŠ¥~ÀÌ"æßKŸwfÞ©n`‹©÷FÌ“e¦Êqv³*£Nj€»³Óe7u Cƒ¤§:95TttÔdÛâKÚÔ<sÈÁËØܼq”¦^9J]U¯MYW©³Ü\‡%$¸æàr]§ô´óÌÎçX§b„CVŠ-¸+¶RÈ‘
àÕÖ¥I¤a¤96yîpÉ ”ßEê!ùBÁâi™Èª°(ݳŠÂ¿Ø$óЀuV¯*Æ„ž&%Üq˜|¥äX¨´ß4¤'Á¢Ä["R’ -öÿU2J!Ïú¨u_ã¢ÙÒ³ìR~ÐФ¾¦\%íE›ƒéF.›btW5p`iàd˺Æj€Û8:|ÖÝAä!5œŽ‚¾—†×êÛJ¶»ºUŸZ‘jfÖea»D3y[5;¨„»åÛ`ãR[ɤ+È,¨þIÝ=%²å -´¤‡ü\°pjµb¦n†bW)r‹’¾cÔ¼^!V‡Ÿ›-ø²“¬†¹Hëš´òkÌýÛʽ‚hΛ´çu- -Ìqy&æ½x¥…‚"ÓG½gi®ªaa†.Nì”;u“ ´Ð<d$]<«³žNpN‰2öñxAjûºwLÕèITj)#«Ð½‚¹U¸®ö‹ÀÕ¾éUk–ÊÄUñÜ*µÞ·T9îƒZ˜‡"ƒŒS÷áåžËþk„ª™ã.i¾$©†1سÊÕ¤ Þ¶Ñ2Ê¿Xjº¡6Ò/NbŸí—¤„^P;¦E‹ÆÛ‚zAyŠ^Œ|Þþý‡2mc%HRÒYGpßI€*î5’ˆ}¿ž×uä»|ÑN²ÀØ šþÖs‰‘ýÙC>⥀è4ã¶$@1ÆŸåÌÄ^ãhGéAäJm‹=—ªqU#ª6?ª§Q)P$KëT¢Ð¾¯¡¦é çë1ÎùžP•:úyˆ÷2Hf×qya̓Øøy³[Ô¼¼me¹Æ’Û‡ÔJL¹Žë\‡tÉ÷BqFê<¦ëbÙ¾åŽú¢v~?S 0-lþÊ¥9Zy”–Mí„ïꎗG‡èÙ]_
ùÕ×q=³œUµõº)󧳶¼¨mÖu™äŠã%ÏE;Z²Ä§Ò¬ë8Ma.óù|°:Îî¬G³Ë¦w{áp%ªæt3÷˜Õ &3R—«š"×]¶’rAÊø]©ºIY§ÆôFáøñVQ‰†e¢¨æ©5ÿGu•$9ÂÀ¯øSXò95ÇùÿwFÝ
¶s"*’€„zQ³Ü¨Ú¡'eCžî©å -?MOhc¬ð§‘G}›‚»‹¹0󨇙»Ð„¸¿^Ðlì=òË™luGÎX KàÊàTœfvH¤}=,HB}ƒsökßöɃå…u®~žêݱQ_"Ou}‡ò ó=qÈù«:Ÿ^j2@M ¿×±uMXRÚ˜Ž-†ÍQ€H -kc&ý4sNl -8;Z%]@DZ&q!!<3*>loo~>
endstream
endobj
12 0 obj
[/Indexed/DeviceRGB 255 13 0 R]
endobj
13 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
5 0 obj
<</Intent 14 0 R/Name(Layer 1)/Type/OCG/Usage 15 0 R>>
endobj
14 0 obj
[/View/Design]
endobj
15 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
10 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
9 0 obj
<</LastModified(D:20091112151549-08'00')/Private 16 0 R>>
endobj
16 0 obj
<</AIMetaData 17 0 R/AIPDFPrivateData1 18 0 R/AIPDFPrivateData2 19 0 R/AIPDFPrivateData3 20 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 3/RoundtripVersion 14>>
endobj
17 0 obj
<</Length 966>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (Vector Smart Object7.ai)
%%CreationDate: 11/12/09 3:15 PM
%%Canvassize: 16383
%%BoundingBox: 49 392 65 410
%%HiResBoundingBox: 49.1216 392.4121 64.8784 409.5879
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%CMYKProcessColor: 1 1 1 1 ([Registration])
%AI3_Cropmarks: 47.5 391.5 66.5 410.5
%AI3_TemplateBox: 306.5 395.5 306.5 395.5
%AI3_TileBox: -231 45 345 779
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 2
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: 22 428 16 1283 746 90 0 0 208 140 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
18 0 obj
<</Length 17578>>stream
-%%BoundingBox: 49 392 65 410
%%HiResBoundingBox: 49.1216 392.4121 64.8784 409.5879
%AI7_Thumbnail: 120 128 8
%%BeginData: 17430 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD33FFC9C3BCBB93B58CB08CB08CB593C2C2CACAFD63FFCAA0BC8C
%8D8CB08CB08CB08CFC8CB08C8D8CB08C8D93C2C9FD5EFFC3BC8CB08CB08C
%B08CB0FCB0FCB0FCB0FCB0FCB08CB08CB08CB093C3CAFD59FFC9938D8CB0
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB08C8D99CAFD55
%FFCABC8CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB08CB08CC2CAFD52FF9A8D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8C
%B08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8DA0FD4FFFCF93B08CB0FCB0
%FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0
%8CB08CB093CFFD4CFFC98C8D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D8CC3FD4AFFC98CB0
%8CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB0FCB08CB08CC2FD48FFC38CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CC2FD46FFC98CB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0
%FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB08CC3
%FD44FFCA8CB08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB08CC3FD43FF93
%B0FCB0FCB0FCB08CB08CB08CB08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB08CB08CB08CB08CB08CB0FCB0FCB0FCB08CCFFD41FF998D8CB0
%8CFC8CB08C8D93BC9ABC99BC938D8CB08CFC8CB08CFC8CB08CFC8CB08CFC
%8CB08C8D8CB599BC99C2998D8CB08CFC8CB08C8D92FD40FFA0B08CB08CB0
%FCB08CBBC9FD07FFCAC393B08CB0FCB0FCB08CB0FCB08CB08CB08CBCC3CF
%FD06FFCFC28CB0FCB08CB08CB09AFD3EFFCA8D8CFC8CFC8CB08CB5CAFD0B
%FF9A8D8CFC8CFC8CFC8CFC8CFC8C8D93C9FD0BFFC98CB08CFC8CFC8C8DA1
%FD3DFFBC8CB0FCB0FCB08CB5CAFD0DFFC2B08CB0FCB0FCB0FCB08CB0BCFD
%0EFFC38CB0FCB0FCB08CB5FD3CFFCA8CB08CB08CFC8CB09AFD0FFF9A8D8C
%B08CFC8CB08C8D99FD0FFFCAB58CFC8CB08CFC8CC3FD3BFF99B0FCB08CB0
%FCB08CCAFD10FF93B08CB0FCB08CB093FD11FF9AB0FCB08CB0FCB093FD3A
%FFCA8C8CFC8CFC8CFC8C93CAFD10FFC28CFC8CFC8CFC8CC3FD11FFCA8CB0
%8CFC8CFC8C8DA0FD39FFC38CB0FCB0FCB0FCB099FD11FFCAB58CB0FCB08C
%B5CAFD12FFBB8CB0FCB0FCB08CBCFD39FF938D8CB08CFC8CB08CC2FD12FF
%938D8CB08C8D93FD13FF99B08CFC8CB08CB08CCFFD37FFCAB58CB08CB0FC
%B08CB0C2FD12FFC28CB0FCB08CBCFD13FFC38CB0FCB08CB0FCB0A0FD37FF
%C98CB08CFC8CFC8CFC8CC3FD12FF9A8D8CFC8C8D9AFD13FFA18D8CFC8CFC
%8CFC8CBCFD37FFC2B0FCB0FCB0FCB08CB0C3FD12FFC98CB0FCB08CC2FD13
%FFCA8CB0FCB0FCB0FCB093FD37FFC28CB08CFC8CB08CFC8CC3FD12FFA1B0
%8CFC8CB099FD13FFCA8D8CB08CFC8CB08CB5CAFD36FF9AB08CB0FCB08CB0
%FCB0A0FD12FFC98CB0FCB08CBCFD14FF93B08CB0FCB0FCB08DFD37FFBC8C
%FC8CFC8CFC8CB08CC2FD12FF998D8CFC8C8C8CFD13FFA8B58CFC8CFC8CFC
%8CB5CAFD36FFBCB0FCB0FCB0FCB0FCB099FD11FFCAB58CB0FCB08CB0C9FD
%12FFCF8CB0FCB0FCB0FCB08DFD37FFC28CFC8CB08CFC8CB08CB5CAFD10FF
%BC8CFC8CB08CFC8CBBFD12FFA0B08CFC8CB08CFC8CB5CFFD36FFA0B0FCB0
%8CB0FCB0FCB08CCAFD0FFFC38CB0FCB08CB0FCB08CC3FD11FFBB8CB0FCB0
%8CB0FCB093FD37FFC98CB08CFC8CFC8CFC8C8D9AFD0EFFC38C8C8CFC8CFC
%8CFC8C8C8CC9FD0FFFC98CFC8CFC8CFC8CFC8CBCFD37FFCAB58CB0FCB0FC
%B0FCB08CB5CAFD0CFFC38CB0FCB0FCB0FCB0FCB0FCB08CC9FD0EFF93B0FC
%B0FCB0FCB0FCB0C2FD38FF93B08CFC8CB08CFC8CB08CBCFD0AFFCABB8CB0
%8CFC8CB08CFC8CB08CFC8CB08CBCFD0CFF93B08CFC8CB08CFC8CB08CCAFD
%38FFC28CB0FCB08CB0FCB08CB08CC2FD08FFA0B58CB08CB0FCB08CB0FCB0
%8CB0FCB08CB08CB5C3FD09FF93B08CB0FCB08CB0FCB08CB5FD39FFA18D8C
%FC8CFC8CFC8CFC8CB08CBCA8FFFFFFA8C3928D8CB08CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CB08C8D93C3CAFFFFFFCAC38C8D8CFC8CFC8CFC8CFC8C8D99
%FD3AFF93B0FCB0FCB0FCB0FCB0FCB08CB593BC93B58CB08CB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB08CB08CB593BC99B58CB0FCB0FCB0FCB0FC
%B0FCB08CC9FD3AFFC28CB08CFC8CB08CFC8CB08CFC8CB08C8D8CB08CFC8C
%B08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CB08CFC8CB08C
%FC8CB08CFC8CB08C93CAFD3AFFCAB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B0FCB0FCB08CB0FCB08CB0FCB08CB08CB0FCB0FCB08CB0FCB0FCB0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0BCFD3CFF938D8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CB08CBB938D8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CCAFD3CFFC98CB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB08DCAFFFFC9B58CB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CBCFD3EFFB58CB08CFC8CB08C
%FC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CCAFD04FFC98D8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8DA1FD3EFFC3B08CB0FCB08CB0
%FCB08CB0FCB08CB0FCB08CB0FCB08CB08CCAFD06FFC3B08CB0FCB08CB0FC
%B08CB0FCB08CB0FCB08CB0FCB08CB093FD40FF928C8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CC2FD08FF998D8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CC3FD40FFC38CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB08CB5FD0AFF8CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08C
%B5FD42FFB58CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8DA1FD0AFFC2
%8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D9AFD42FFC3B08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CB093FD0BFFCAB58CB0FCB08CB0FCB08CB0
%FCB08CB0FCB08CB093FD44FF8C8C8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CC3FD0CFF998D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CC2FD44FFC38C
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB5CAFD0CFFC98CB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB08CB5CAFD44FFCF938CB08CFC8CB08CFC8CB08CFC8CB0
%8CB08CFD0DFFA18D8CB08CFC8CB08CFC8CB08CFC8CB08C8D99FD46FFC2B0
%8CB0FCB08CB0FCB08CB0FCB08CB08CB0CAFD0CFFC38CB0FCB0FCB08CB0FC
%B08CB0FCB0FCB08CCAFD47FF8C8C8CFC8CFC8CFC8CFC8CFC8CFC8CB08CC2
%FD0CFF93B08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CBCFD32FFCAC2C3C3FD12
%FFC38CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08DFD0BFFC2B08CB0FCB0FCB0
%FCB0FCB0FCB0FCB08CB0C3FD31FFC38CB08C8D8CBCA1FD0FFFCA8D8CB08C
%FC8CB08CFC8CB08CFC8CB08C8D93FD09FFA08D8CB08CFC8CB08CFC8CB08C
%FC8CB08C8D92FD13FFA1C2FD1CFFCF8CB08CB0FCB08CB093C9FD0EFF9AB0
%8CB0FCB08CB0FCB08CB0FCB08CB08CB093CAFD05FFCA93B08CB0FCB0FCB0
%8CB0FCB08CB0FCB0FCB08CC2FD10FFCAC393B08CBBCAFD1AFF9A8D8CFC8C
%FC8CFC8C8D8CC3FD0DFFC98CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D8C
%B599BC93B58C8D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8DA1FD0FFF9A
%8D8CB08CFC8CB0A1FD19FFBB8CB0FCB0FCB0FCB0FCB093FD0EFFB58CB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB08CB08CB08CB08CB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB093FD0EFFC98DB08CB0FCB0FCB08CB0C2FD17FFCA8C
%B08CFC8CB08CFC8CB08C8D9AFD0DFF9A8D8CB08CFC8CB08CFC8CB08CFC8C
%B08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CC2FD
%0DFFBC8CB08CFC8CB08CFC8CB08C8D9AFD16FFC3B08CB0FCB08CB0FCB08C
%B08CB5CAFD0CFFCA8CB0FCB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0C3FD0CFFBC8CB08CB0FC
%B08CB0FCB0FCB08CB09AFD15FFC28CFC8CFC8CFC8CFC8CFC8CB08CC2FD0C
%FFA8B58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CB08CCAFD0BFFC38CB08CFC8CFC8CFC8CFC8C
%FC8CFC8C8D9AFD14FF93B0FCB0FCB0FCB0FCB0FCB0FCB08CCFFD0CFF93B0
%FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB08CB5CFFD0BFF8CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%8CB0CAFD12FFA1B08CFC8CB08CFC8CB08CFC8CB08C8D93FD0CFFC28CFC8C
%B08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C
%FC8CB08CFC8CB093FD0BFF998D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8C
%C2FD12FFBB8CB0FCB08CB0FCB08CB0FCB08CB08CB0C3FD0BFFA0B0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B08CB0FCB08CBCFD0AFFC3B08CB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0
%93FD11FFC28CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8DA8FD0AFFC38CB0
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8C8D99FD09FFCA8D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8C93FD0FFFCFC28CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CBCFD
%0AFFC3B08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB0FCB0FCB08CC2FD09FFBB8CB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB093FD0CFFA1C39A938CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CBCFD0AFF99B58C8D8CB08CB08CB08CFC8CB08CFC8CB08C
%FC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CB08CBCA8FD07FFCFBB8CFC8C
%B08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C93CAFD0AFFBCB08CB08CB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CC2FD0AFFCFCAC2C299BB
%93B08CB08CB08CB08CB08CB08CB08CB08CB08CB08CB08CB08CB08CBB99C2
%C3FD0AFFBB8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0FCB093FD0A
%FF998D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8C8C
%C2FD0EFFCAFFCACAA1C9A0C39AC29AC299BC99BC99C29AC29AC3A0C3A1CA
%CAFD0DFFA8B58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5
%FD09FFC3B08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB08CC2FD34FFC9B58CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB093FD08FFCA8D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08CFC8CB08CBBCAFD31FFA08D8CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08CFC8CB08CFC8CB0C9FD07FFC38CB0FCB0FCB08CB0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB08CB5C9FD2FFF99B08C
%B0FCB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB5C2FD06
%FF92B08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CB08C8C9AFD2CFFCA928D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8C8D8CC2A8FFFFFFB08CB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB099FD2A
%FFC38CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB08CB5C3FFFF8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C
%FC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CC3FD26FFC9B58CB08CFC
%8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB09AFFB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B08CB0FCB08CB0FCB08CB0FCB08CB08CBCCAFD23FF9AB08CB08CB0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B08CB0CA938D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CB08C8D9AFD20FFC38C8D8CB08CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CC3C98CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB093CAFD1CFFCABC8CB08CB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB08CB0C2FFB58CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CBCA8FD19FF
%9A8D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CC9FFCAB08CB0FCB08CB0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B08CB08CB09AFD16FFC38CB08CB0FCB0FCB08CB0FCB08CB0FCB08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB08CB0CAFF
%FFA18D8CB08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CB08C8D8CC3FD12FFA1BB8C8C8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8C8D93FD04FFC9B58CB0FCB0FCB08CB08CB08CB0
%8CB08CB08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%8CB08CB5C3FD0EFFCA99B08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB08CB08CB08CB08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB08C
%C9FD05FFCABC8C8D8CB08C8D8CB58CB593BB99BB93B5938D8CB08C8D8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D93C9FD0AFFA8BC8C
%8D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CB08C8D8C
%B58C8D8CB58C8D8CB08C8D8CB08CFC8CB08CFC8CBBFD08FFC99AC2A0C9C9
%CFCAFD0AFFCFC9C9C2BC93B58CB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0
%FCB08CB08CBCC9FD07FFBCB08CB0FCB0FCB0FCB08CB0FCB08CB0FCB08CB0
%8CB08CB08CB093BCBCC3C3CACAFFCFFFFFFFCFFFCACAC3C3BCBC93B58CB0
%8CB08CB0C3FD20FFA8C99AB58C8D8C8C8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8C8D93C3A8FFCAC28C8D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8C
%8C8D8CBB9AC9CAFD15FFA8CAA1C39AC2A0FD26FFC3BC8CB08CB08CB0FCB0
%FCB0FCB0FCB0FCB0FCB08CB08CB5C2BB8CB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB08CB08CB093C2C3FD4AFFA0BC8C8D8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CC2C9FD50FFC2BB
%8CB08CB08CB0FCB08CB0FCB0FCB08CB08CB0FCB08CB0FCB08CB0FCB08CB0
%8CB08CBCC3FD55FFC999B08C8C8CFC8CFC8CFC8CFC8CB08CFC8CFC8CFC8C
%FC8CFC8CFC8C8C8CB59ACAFD59FFCAC393B08CB0FCB0FCB08CB0FCB0FCB0
%FCB0FCB0FCB0FCB08CB093CAFD5FFFA0BB8C8D8CB08CFC8CB08CFC8CB08C
%FC8CB08C8D8CB08CBBA1FD60FFCABB8CB08CB0FCB08CB0FCB08CB0FCB08C
%B08CB08CB08CB08CBCC3FD5CFFA0938CB08CFC8CFC8CFC8CFC8CFC8CB08C
%8C8CFC8CFC8CFC8CFC8C8D8CBCA0CFFD56FFCA93B08CB0FCB0FCB0FCB0FC
%B0FCB08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB08CB08DBCC2CFFD2FFFA8C9
%FD20FFCABC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CB0FCFC8CB08CFC8C
%B08CFC8CB08CFC8CB08C8D8CBB9AC9CAFD2AFFC3B58CBBC3FD1CFFCF9AB0
%8CB08CB0FCB08CB0FCB08CB0FCB08CB58CB08CB0FCB08CB0FCB08CB0FCB0
%8CB0FCB0FCB0FCB08CB08CB593C3C3FD26FF998D8CFC8C8D93C3FD18FFA8
%C28C8D8CB08CFC8CFC8CFC8CFC8CFC8C8D8CC2CACA9A938CB08CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CB08C8C8C8D8C9399C2A1CAA8FD07FFCA
%FFCAC9A0C3A0CACAFD0EFF99B08CB0FCB08CB08CBCC3FD14FFCA99B58CB0
%8CB0FCB0FCB0FCB0FCB0FCB08CB099CFFD04FFCFC993B08CB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB08CB08CB593B593BC99BC93
%BB8DB08CB08CB08CB5C2FD0CFFA08D8CB08CFC8CB08CFC8CB093C3CFFD0E
%FFCFA0BB8C8D8CB08CFC8CB08CFC8CB08CFC8CB08C93A0FD09FFA1BB8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D
%8CB08C8D8CB08CFC8CB08CFC8CB093C9FD09FFCAB58CB08CB0FCB08CB0FC
%B08CB08CB59ACAFD09FFCFA1BC8DB08CB0FCB0FCB0FCB08CB0FCB0FCB0FC
%B08CBCCAFD0CFFCA99B08CB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0
%FCB08CB0FCB08CB0FCB08CB0FCB0FCB0FCB0FCB0FCB08CB08CC3FD08FFC3
%8CB08CFC8CFC8CFC8CFC8CFC8CB08C8D8CB599C29AC39AC299B58C8D8CB0
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D8CC9FD10FFA7BC8C8D8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CB08CBCCAFD06FF9AB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08C
%B08CB08CB08CB08CB08CB08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB0BC
%FD14FFCA99B08CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CC3FD06FFC28CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08C93A1FD17FFA1BB8C8D8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D99FD06FF
%C3B08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0FCB0FCB08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CBCCFFD1AFFC38DB08CB0FCB08CB0FCB08C
%B0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB08C
%C2FD06FFCA8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8C8D8CC3FD1EFF998D8CB08CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D
%9AFD07FFBC8CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB08CB099FD21FFC3B58CB0FCB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CC3FD07FF
%C38D8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC
%8CB08CFC8CB08C8D9AFD23FFCABB8CB08CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08CFC8CB0A1FD08FF99B08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB5
%C9FD26FFC28CB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FC
%B08CB0FCB08CB0FCB08CCFFD08FFCA8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB08CBBA8FD28FFC38C8D8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB08CBBFD0A
%FFBC8CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%8CB08CC2FD2BFFC98CB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0
%FCB0FCB0FCB08CB08CB5CAFD0AFFCA8D8CB08CFC8CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08C8D8CC9FD2DFFC38CB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D8CC2CAFD0CFFBCB08CB0FCB0
%8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB093CAFD2FFFC38CB0
%FCB08CB0FCB08CB0FCB08CB0FCB08CB0FCB0FCB08CB08CB5C2FD0FFFCA8C
%8C8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D93FD32FFBB
%8CB08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D93C3FD12FFC28CB0
%FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB099FD33FFCAB58CB0
%FCB0FCB0FCB0FCB0FCB0FCB0FCB0FCB08CB0C2FD14FFA08D8CB08CFC8CB0
%8CFC8CB08CFC8CB08CFC8CB08CFC8CB09AFD35FF9AB08CFC8CB08CFC8CB0
%8CFC8CB08CFC8CB08C8DA0FD15FFC98CB0FCB0FCB08CB0FCB08CB0FCB08C
%B0FCB0FCB08CB09AFD37FF8CB0FCB08CB0FCB08CB0FCB08CB0FCB08CB0C3
%FD16FFA18D8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8D9AFD38FFBC
%8CB08CFC8CFC8CFC8CFC8CFC8CFC8C8D9AFD17FFCA8CB0FCB0FCB0FCB0FC
%B0FCB0FCB0FCB0FCB08CB0C2FD39FFC3B0FCB0FCB0FCB0FCB0FCB0FCB0FC
%B099FD18FFA8B58CFC8CB08CFC8CB08CFC8CB08CFC8CB08C8D9AFD3BFF8C
%B08CFC8CB08CFC8CB08CFC8CB08CFD1AFF93B0FCB08CB0FCB08CB0FCB08C
%B0FCB08CB0C2FD3CFFBB8CB0FCB08CB0FCB08CB0FCB08CC9FD1AFFBC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8C8D99FD3DFF998D8CFC8CFC8CFC8CFC8CB0
%8CB5FD1BFFC3B0FCB0FCB0FCB0FCB0FCB0FCB08CB09AFD3EFFC38CB0FCB0
%FCB0FCB0FCB08CB0C9FD1BFFCA8CB08CFC8CB08CFC8CB08CFC8CB099FD3F
%FFA18D8CB08CFC8CB08CFC8CB099FD1DFFBC8CB0FCB08CB0FCB0FCB08CB0
%9AFD40FFCA8CB0FCB0FCB08CB0FCB08CCAFD1DFFA78D8CFC8CFC8CFC8CFC
%8C8D9AFD41FFA8B58CFC8CFC8CFC8CFC8CBBFD1FFFC2B08CB0FCB0FCB08C
%B5C3FD43FF99B0FCB0FCB0FCB08CB0C9FD20FF9AB08C8D8CB08CBBA8FD44
%FFCA8C8D8CB08CFC8CB099FD22FFC9C299BC9ACAFD47FFC38CB08CB08CB0
%93FD71FFCF9A938C8D99CFFD13FFFF
%%EndData
endstream
endobj
19 0 obj
<</Filter[/FlateDecode]/Length 15979>>stream
-H‰ìWënÛ:Þð;p±ÈÂ[’ïÎ/ÛIz|š‹×N³=( -ƒ–h›')”S÷éwH]¬Ül÷´Er©Uœù8œùf8¤þ9šõ1#GµŠƒJI°²‹¬
‹•–FT"·^q -ýNõ˜ÏQù”×T3êâÃd4 ±Ôèjö'[L3Àä Ö€tݪëUªuÝ] -ÕàT.&°â)"4¬+SþP -„‰E¢ËߦÇQâ½O!A#I¹±Yº´šötÄbP½—"Ž†|.Jå¤\Kì,ݤ°SÁæmSM`óF‡[
AX’ D “í0û÷ì2‡]µ™žHOùŠ0ÌæÌô_,£Ý¦Gs,‘•ç–Ïé -48ÚØÞÈö0ŠõúáÊm&ÃûöÙn{ß…D}«%º‚åfï«rë©ØJ
þu¬1²øOz¼R -x¸4‚W· - Ÿ_”¯Ùú -Ñ6·"ŒÌùŽ&KkS/Ï,r’lL¡1[ßÑÑöžøÝ:‰Æzz͈*U?pqÇí -a¶àKh6($ÒC{&USÈ»’‹ª7Tѳ[˜h¸™|‡…>VÔßLO“¥¥¸%èj>WN -@þi\2¸O¸Næè•2÷ì"fÑcd£BÇ%àÉ\…§` x -ØsZµN«™±çºæîxû4{îcîîwùÏ0·%|{Êþ¤ø«ÖØ&Òý¢Ù„±™þl¥êéWâÛû¬UعO5ä5›o
塼5”·†ò³J롼5”·†òÖP~¸¡|)Ž™þRè(F,ï(6©w†÷q:rŸ«á'üvÓ,Œ é‚3ö{>à6_c;?éF˜‰ub4³–ͯüyZ¥%6ñ~1‰ù¤J¥¥‘_õóE2[ßóÁx抴=ŠÁþÊ—©ë$ªÉ:œ fÌü#ƒ¡ÂgŒ§¾ž? ×'XãÒÁ´š!›fT(K7ZU‡ .ƒå3XÈLH vÆb[dS'Û´à•‹‚Ìê-þˆ5ZHG[¡T †5›P¾iÏ<˜º
€ f‰D-Ñ+ØSô›Í˜hK9™Ñðê^ûy§=p…}±’ ²æÜóã*ÖDµÝ¯`ꌫKÂý5x@¤è7²§šwf¤ÜNlœ{/##I‘pf^“¯TãeT¯óô¥&›—Ï„è8Bç˜/b¼ h$¢,ÝEãšCŽ5áС*å){b©íà(óI¬ˆŒLa§ê… -„‡„ïµq -`;ùó h¢1Q‚Åfç|39õaff7t]t’NDpɉ#tÆ '$QD£Â§äƒ=Xsœ4Ä ¢•ÓH%¾`2‘8Ùf -±º} ÂŒª[NE"¡–7Ë›¯¾Þõb-Ð+M$ýFØì
;( hC4àqIìõ!Ù‰7º³ª1Ó±Ô3e€ -± ÃêRD=Ip¨X‘G;µì ìçVûÕ[•Fúæ:Ùk³™½šiµŽ›Ž7ÙNÎW4‹¤Î6kíZîp–Áæ+¬&9%Ç&^_Ȁ󇪗BßS»E¹@bEdŽhD90FBQM¶ÖW¡°<‰ÚRL…Õì€Ñ
þÇx•®'Ê4Ñ+ðÈ—DƒbâAÄhtL¢‰YMX%"æ›y¯þë÷ý1ó8ÃéêꪮsN›ø%ò…¡³»ÁäGõ¡~ëSO@vLHp¢.òBf]ž£PT4|ÁEC!:À¯$í/¢s¹ËÜÞþ!-®‰wç×ã·5,ôã÷Á_g+þájQDý®wl¹|ðþzmc»®£ã,ÑŽæì(«;º®>üpa׫å¯:\®ôZþsb#&†)OL×!FÐt@¨†Š@}†‚j¼ãùYÆ3ñhb+“3ç„ÔRºSߦDJš3-¸}¬-´¬CR6
4i&>;¹˜HIåI -°µ‘±Âê™=@_ÏM×¢Ð\*[ N´}@è$~af—cÆšÔÞB¯H"“ß‹ƒe×âh¼–*„ôà!zLÁZÖ//s@×Äy_Áš‚mS!Yž{ê3¿–ÛNÿ†çñ1‚£Ãæ afƉJïEÙ²¨ƒy¬ƒ¸ -ñ†¢†"^±„¯Ï®Ë«†Ó«úsAåÆNm̼RkåøŠò2Õþ©–®c?JÙ®
GCýŠþðM¥yÂ]\}Ÿ²½‹°áçð,*n(’ÿŽ'亜»×ÆÙÏb‰\FÜïäW¢Z‹= -5àžWžZáqQ–Å þ¥%êj{ìïL¥S"µÓ¯‚6l)œ¹Ž]ÀĻ˶{ÑœÿYµØ_†"tñé£Êrlš(wŠ)fú^Ö&e«—,”›TbR e¾e?¡²11À.ÓJA«¥DÔ_ªSŽ_$§3wSÿ/íHµÖ,…õd>g£¾4ßèp…©™ÃDéIy+d¤ð‡¶bDÐ*ôy·äÐ÷®S…›œÑ³«ù¤´ÓÔG¸Ã§ÄRT8I¼B¼?½($IK¿šYïw¢"”f¿Jƒú¯%ë_~°ÌK¦‰®îs:Q©Ô“þzTžÅ”KEåû÷Ðëä"a¯Ëåf» ×Z$ð±L€Š—0d½ÿËpü§WjØ×Yú•þ–Ù>ÿàÕÔíO]c§-=Þ—nøÏ -ÛË{w*wØ~æuŸe>^ÂhòZþºv%òoíÚ5N–Á®tÞÌöbòj¯®xõDaųD%\ø‘C‘ú'•xâ²Ï-¡ -áø1[讽]å4H£æ'œ™n–rýà«uŸ×Éo,Še7.ð:Å¥[¹ú«‘Öü8Z2«Å¾ó‹í·w»”\©û¼ñÏðÿ_ñØ©±›urò@ˆG³Ú˜~xKéÒ9 L¦Á]¹¸HÄ/Ç¢íûÙ¢¼ÛVºøð¤Þ’|ó›ýÙ÷zÕû™Þ²Ý!×jjë*MÝJŠPS¦/yîèAƒÓéò`›vÚåWî¦.oäŠ ,@—oL" -¨)ŠøCüHuëdñ×–½Q|!ªÐ™¨Ô!§Ã£Œ® '£ëè…d©Ð¥†-ÇЂô¹Ep–ñ¬õE_AÖ´°IØðäð†)ÈMÃadŠŽŠÞå±0[q"dòwJñ£1$±ë&þ&N±%;”ÆedœÅý:߶BÐÅñ´´¾ØÉcMí_'â&
wÄM"ŒoP°lÙØ
'w8ŠØ+û‹²4—mîw.Ùï ÷kJ“ñ?Ë+C©ýh`ì[`ü,Ðåºå•
•[̾ü¬¢á)®œk8Š¶Ïèró» ÞTêa…°x㦓œ[DÉmh‹Oo”šy±ëÎWVYµø2ŠÿM©ä-[Vó0@jø¢à8b±j‡
¿â‡²âhÉf¿k€Ø5«4ÿqBŒˆ,ØÆ•M›øŸ~ËSšzŽiÐÀ?RæÜcø=ßÑÖ5 •µãÍÀàÕçÚ^á’IýŽ(å)Ä$ ÜäÒ& -Êô¬†¸|¢å ËÏ/•ë(‹útÂÁ -n·$ç=@2Zú#8ìXÍ’,,5z --ÄaLvµs6PÄÂÜž:È_ô:<=®v¤êŸÐì;|¦2yäký6ðdÓ²¡—?›«?&õ«SŒíqÌÚb¿ï¿oˆ]\w$Œ¦{“UMÒÚŸÝø¦5Ú,ŸDƒo§ÈûÑïËЫÐá\†l„"×ÎÒÇ%ßT¤þTÜ|Pñ¼¶#ÖÀoCIˆ ;£éÎò€Œ‹ÚüȤ±ÝíÄH6…ý?mTˆ+èÊïSÒ:, -Ú)vDù ¾‡b|Ãsf®Üqrí":À>¦äȹ×pú˜3 -?(Myt#&Œ0o‚ÓaÈOK…Ÿ5pn@«²…ÍÂæÿnöï0”ÑW5Z†•Ù”e¤ò€Ö=(“ ²œ~ºÛöÇ7KŠ1ùªvÖ–´^¸}Z‘ÈàR6*oªh0Fãz-øõŸêŠV^'!¯"ï/3’`vY3û…ˆ/>ÊÒ‹zUh·8ðe°k°!/‚o7ºÏŠ\^l°ü Z¿Ì[‰zm~´:NRÑt©é™R†:äE|{ra¶<^‘5‰Ac5A -µoivÍæ`7*½ -:YôØ MÑi"·Ümhˆ4P´‡TŸjï±fØø¾Ñý¿Öl0¥†³t±v¸ôüvº*Pi._ÜÃúøîqËnòÝòòòRüCr=ƒs€3P\È‚œ† •Þ?/8ÉLš*hy}ê§<=&ç\¾÷Sdò)kdƒÌlïóÚ¥õÁ«½·(ÈmʘK5•¨ÕY^%ß‚aÖ›ïcÉw³UÚOˆIZ7Õkõ:…ýeõ¦Ð|¹ÎÀßë7AR¼_š§WÝ^‡!¨z×€d%ØÚæ)3$Ãì`ú*qÕ”Ê:±² -mÿ"gHÓœaÂùtÃ-¶î¨^¡>}Çñ„¼°Tõ"Å:Ë(—k|èÖˆR©{e/òõ®ÿ„Á=ž)þ’ç®ñ|XÅßW¯3ÏOÓ¸²T4;h¿˜AcžvM¦˜‹x4ÒBó’B¨;Ÿr8DiŽ‰eãA‰òyOY.×?mòZe¾ær/ŠS”ѱ©_Òxf~Gà‰]ˆ¨ -–í˜ÝæÍD@^dÎÈß0/ŽÍ:¦”·žö¢w¤TSŸîmõôó¶®Â +ùäib?‘4UÒî9rxºðŽÉ‹Ö6xC—ŒJM® *sOÆϼZçP2ѯÆÜŸ(sá[ø$·yÍjñ~òâ 7Æ8*Æ1õ”qO™æßã·JIö´ƒ$¯=Ü©´XÙ(W>;?®cÉÊsÄ|)>¦úNQ%p`‚7GÉyý‘´EXó™Üˆ -Û]B¼èCŠÍ5\þÈ$¿ºfÞCy›t¶}ýx _É-—óÓ×+è”`†Š¸¢t^•Þ’Â6ëÍ&ÈÈiÃåší-N˜£Ã|A‘7ÇõÊÅÅËŠFzâ;*wúŠ
笠)>}r9…x£JÔKYlˆÏ%‹Ræ|¡›ÅHz\tZBºOž¿$þÕëá‘h+j©ÎTÆÊÙ$Áfc -A1Eè.ÈóøðèfÞ†eYÕïë*S¯¿þ…ÇòëÇyÐf¿Æ³|–çB(pGäžÂ©¯ª~,¥GK,\/R)u£ _Ç? -éÁ}¯R§þÊS“湤bc¤ElÀú!œuGq4
«’öPw3)/¬CÆ‘Kf=
%8hùÚ ¹t(-ÖKi¹c"¶<”ý~ -å’VéWè‘Õ%D›stH³^PòJàqÇ3ïã†W‘ZO]…8¦¡¹ôWk.%Óv-š4þÙ xàé®WäáWá -ÑXð[-è’¿†²c¸$§¾Ö˜WçÓ¡'>çÔH’·ÁJ|F†8P¸ÑÁZºujê·"’Õ%ßÙwküá½rnN¿U*†ýuãûøÀÁ?Ðp·# ¥8/ӵĕ&Ž_ÁÜC\XT–$@ -OeÝzÁmQòè=iñ3ÊÞ2TÞˆ'W$w‘8tEÌÞâ7Ƽc[Ž¸ømµèM²ÃjëýÈþ Ñ6r_‹$u8fäÃÂoR*×´Ù¢*WóÅÙå9Sâó‡&ݱÉï%§³uY4`l12D(QÜg#RÜ -ª¼Žê•ù4˜›t â;œ=›xºL²£ä[Õi[Î5_óÝÏZšc-ºbwÆ(ŽX’åºó³{ÂL/Jɹ@Ùð8†×±ºC§)^O²ý·Î¶™Ü —†>6<gÇžn9ÿÞ=šßòüîé¶z÷I]ÎN¦+,Ü;fb¥»J¢ÇÀZR^Ž|÷²`ö¾‹pc—³Óvð‚ÚPm—µê¯¾öéôÈeùì¸ùer\Ù‡„áÇQz«vÒç -ZôíŒqBú™ÕŠ›6O%ê±9LC¥>&¸SV«`oF¸÷®±FPO³íŒ.r—?ßð½4ƸèëXaGjï¬ ¥ôÚr(xd‹VÏè‡k¦[µRÚ}ûzRXe¿2ÀK±Š`~j™n1“¸¹àú‰§ó³,ýt+êÆØ^÷óy=žp1#ja-䥪ÒêÌHÓÍcá퉿@ó{²µl -Îõ’‰Óå‹Þ#“Wê]‚í{äÝ‘Êé…3èÍ!ÔŸX‚¯IÑ -ÞiËKD‹Ou#Ž©nò×+Y9H2é‰2ä‹ãgbÅ 1ĵxðƒz9;f,~œTœñž;¸>%àM ‚ÜT#Óª!2ÿ»üé_`qºNØ:À4STcy“?Á ºûù|ÇÒuÅÜbÕÿE®Ušû7^ÿÂαô½j¶‘ êC4t>gçÒ¼iêâÀ2‘‘•©d˜)AµÓu‚¥;ðUoµƒ™”¡©æÈR×>ÞÔUÆH¼0= ^®ðò<^8RñÒnS^2Iφ²Î„²&CYKë]鋆 M]Ûl.е2–æBBj¬G:šYH¾ÜD*´bˆC4çö>8ƦÎk61ú~'µÍÍ/m~&ÈziäWP•?HŸIkÀÛžð’»àý…$IýH/¹?½d(zÉPô’¡è%ÃÐK®ÑìÙ/h½/ž"¨ %kô…Gr“u2È|OzÉuzƒŒCÐK좷Á‘bÏŠ@{ãK„—…/ -_"¾Ä¾D!•Íd‹þWÅÀh¾Aœ€˜1±±?•Ä&Äþ½’Øb"ÄDˆñ]_ñJ Áøþã¡ÆCŒ‡"C0¾FpžHå¨è?Áøw‚©À
BŒoì$Nrà{Œ‡!÷ìJq«+SìN4LÌ–Õ{)ìø[]’,Ndª:Æ¢oIf ~TDA¢mlª$!Çéý’ìmWf‡Ôd¹~)ü£îÄ’ -/JƼŽºd Œ×fN6t7Çdš°§ý 3ø?v -Û«³ú¶9Þ0ŸÑàIDƒëÎQS…±ðµo0]U[ÞËnÓ‡ÑÈnZº*tU}ê9i§xߌÕeàƒ¨öâ–zÒѲøU¿òßuú0›6a3¤ÿA´ «Þ¼ã¿Ðbf„*Ø -&ž×-(îºÇÄ=,Ž{¸<áO¤-:ºß]‚àÌûê–¢ÒmoˆÈ,¥™²7ù-ì#ìúf1¤Ÿ -Söb•²_¹+Hañð-Ÿ¹‡ÎÅ°kà™ô¸¥´Xßòû)ØúRö» HƒšûhhEà¯%aÏ•@jü1gÜ]l\X0½ÂkÎ5Ô/i¿ÿ„HåŸ=‘LƵçDJ{NÆR ðL(Ó”ñdâ&ZfÝ\¬L/PšJRša÷zPá.8q¨mƒ{†ÜŸ}[>KPäKù‘yÞܵ®]v÷OW9‰ƒ/#‘ulèß»fSŽã¸«JÃJ£‘ŒW÷0ñàWýùø&á/Œ·a2ìoûý…/‰‚OÑX¶Ÿ¦4¡¯=)B†*¼JåêGª~bƒWý gyMúsú#(6‡Ãž
ÇüùS#:o),ðu -\;ÍâKJÌ'Ùì$Äðo±qMX¼‘Õ7föÊäJ¹÷ˆ¯”¸Ü(”«ï¯}ÀkÑV檅¨VÊ<ö4¨% -BF|@ƒÇ†ªúÊÄ$#£+þä&wîˆBîꟖ¤˜ßNÊþ|s+†+q©žBa1Y%2GðgýfϪЅ°l/úhh=±Š§«ºruZ6Ü„Õ¡ô᥎£¡YÌ+ˆ\@C{‘EÌMût¨
×±¢'ÐZ@ã_^Î3«¡¡±Ù”dH_ u0;Ú†»¢ƒ²•d^'U(íÄ{ÃRÉ -º!ë瑶°õ`ÑÓ؆¦H/Ž}ƒö<“{©ŒtÞ)P‹ÛÚcLg “—Ñfb‰ç¨†æ±\»âÐÿ”J«,c Ÿ»I‡ê™¬b9aåÆÇPæ¾xh - KKÊ -Êñó¶5ëðŠž„[@AyÁ oa¾DAI&UËëP@yŒªk82hhl¶$™%;@Zê`Ä~ -‡(¨
'ë¹ca+íôì?‹]K±° ^{.õ=¹·Ïø -‰"ÖÐÄÕ†›mm%ʳtôš ô°u«ÐÚâÄ<XúV$[óZµá¢ƒý'gŸV°fhÛ',¡ÅÓºR²€Î r˜Þ‹ -æ˜ÉÁ/ÁÅËnÐằ„vl³Œ‚ÂÊ›WȱgšD:ØÑrÊÃÏí.‰„Ž[Þ:ª‡ëgjö¾ã+U´€ˆñj²)!¡“ÂÖ‡‚‚š±ëuIšX8x#—ÝW
ít?ÓjÖ‡„.¥P_ÂóåÙÖïžß=µ‚2äºÿ“EC»EB˜—ÄŠ -( -¶vÒN²Ø¤C¶T(çꛦ È“yBýO›¦ëÌ+ù{
våÎ̶n|×
zJùL'›lwâ -4êÉ{ÙGhH?›N
êP@¹ˆV[8i@‹âS)\ð)ZðÖ&÷b%¦ëQ¡K)Ý|p/1ògØ\P -G‘`¢å>(#›¡Â¡@Ü é~èÑRvTÆÝYJF–…ÕVç\Œoç=%ŸÜI¹S©ß -ýº@«ísÌV;p"ÅuÍo¡Oß”ŽZ¨ß?|ð´O¢ÕÙ²G¸ :á±¥o®e÷óìõÏø^*7æcå±ý´ÃHŽî=ûƒ\~yŽ
RÅ'ýÝØ‹u -(Urë¾
§Š}¯ê¡g=Zntûåo¨>!¡´þ±¥§ŠTåMÚëóØFQŸ<ôá+N|œ>;%²Wã»*E*Ÿb]G¥z‘ì¦WÑZ³ª53v˜ï%ÁÕÁŒW ¯\ï^1ïœáSöŸ,ø²w¡é)¡NËçøXÍ°¨ðtr¸¼x@;:••fGé’>²Ö>䶸á9j Ý ?ÖMÁõäzÁ[³ãâGpÞIÁòßüV›kp2žûFlŒXXCÌ*h %™2ݵ€ÒNÐ%]¨ÌZÇ>@g«¿@ëXÜZ¯3
JÁÛ…›d?´¼¸CëçG/ÐØÐeto¿80@wn·S‡Jæ<êèX“ƒa¶]ÑÐØlf
u0Ÿäî|Ä*½ƒt“ wØZA9K(¼×É´¥ÊÄ -ï##+÷t¨z»x´µá6E5 -ÜÙÈ},ÓWT^h’ËkNfÅu±öë¢Í.R«%.Œn jˆ}ñUæç+ª%à÷7B®•¥ú±n¼É&/ÏHÌâ›A²*&KŠê³¿óó½÷ÄÞ}ü4$Ö—óLé",ÐJ7 KÞûˆðRº¶v_¶ƒ\Kg‘ìxz~¢ƒ^–N¾GªJö$ öŸèâ¼U6˜×Ý!ÊËa~'oæý麺/@ŒdÚ€ˆ‘Œæ1Ói؃V¬
†òpmÁUÑý»c7W°•f>»Šs`†–ÍcZ\{¨›íZ/n¾f+ÿ´Š/ûZÇËîÃUøÉ’ÝÉ]Uu±µ…ŽüÙ°±¼å:F÷¯÷‘fz -N-•K -¼}‘h“èÄ£13/I„ö–Gaâµöv"ŠíŠ¦¥$S¢jƒñ‰ô"¡ËpÞNif‘ /Öô—·0©–O5ÑØù{ õ}ª3°»“<Ì>胳 àsSRT_II -¨8®·TÌýy)ZÎÆpÝpºAÌúô„ƒÖvý»=ÉNq~JKH -âï‰!‘»øà…å!`y«!&s>rµ¸,@°“àƒ6 Ï¢ÁUìIìï¥Uì)ˆ¿'¢XZHÅžXþžEQ=ãH©¡Xm†™„ïŠAÔÒÂbüª«¹Zh½þ¶ïë$¡ÕЩ~ÀÒBW+Ü´~As>Ïb/ -Ž4– -©Úg“; /öLä$’‚Ö`è¹E>ÑzîZÀ?ÕÐmÄxÏR±«ÞÙG(Ñ‹~iŸ¡te~ÊœgÆ¡Tç²Ò½§öøúÒÆP‘C‰çäþ¹Ye:ãÓ|n0ÿf«\-çxÊöæîÎñ|îj°ßlþ %²¥Û÷œD"p·“`|Âúö¼›Ë[Ý·PoÂPå2(Ñm<º\aãU‰”âàößln{ú‘˜F{sw^ðGO’#êQózµž
7_3ÜGóÍÚÙΣg‘è¢t9æ<:|UT~a#tÊÔ06CçÑñèy+²>ÛìG¡¾ -ûb„b¬þ‚{Þ‰í…"¯»|eZj 5).ðØξä®I¶4Áº[Baz'•®ìªmNJ+íxK2)‚ï ;è´NªQô|+4—š6~ÿª¸à~‘ì x¥û÷Èa0#ƒ=,¾f²@¨Ç¥=É_ŒT•€ˆ<®_ˆ7_†˜ÅhÇ"¶Âí÷·
û>ĻʖòcGZýekˆÎ,kÕa-¼“h¼%‚À%›ùBü,˜íÞU£GŒ"sìkƒÇv;&¶b(€¢kÃp,HØyµà׫Ûi&•-Kþ|u 6ÛΟ¤n¶£lIí¾7EÙ{‰|…#p,yã9—Ös! -RÔÃóJà#‹/Ûi–ô‘7”dA®¨¸äMòËv’Cæ©d;%`!Ã~ÎU¦…ÉÞ°:p”)©ïî;DŒ‹Ó.!»®ü“¦W<’’Å)?›ŒûÜ€uJðGà£pdJ€“©¤Þãëx¥Tò§bœ¨ƒ„—’âEú ©Ó£[w¢õG8*VhCê}®»!JÑ‹•ÇMGÌØ·{Æ -05cNéäàϺٓÛÐߎÂÿ³^µ»iÃPô xhK ´…À4© -m#šŠ´ê×BaEª†¶JëÄ[yÿú:N;¾¶Áý“û~œ{Ï!¦!ÉfÛ°‰ -½WšªùCAŸ‚R¢Áyî¡
Žï®¥ÐX Ž·Y§ŽÉòhMÿ5EÅu¾´˜Rj¾ê~@„ý Ó²Ô;tçÔáq–©óÔ¦ššiɽX91âGçÀ¼×TróÙª“±,ŠåÓµ,–IT%ÇW:ÀN,/cQ,+c®Èí <H‚=ý - Ú*(ÐcˆìD€uÜ{,¤³Ï±Ç&4Û™NvÃÿµ¸Mê’´8¢iÜê6t&;3ÞæùŠ’Æ’Ù>¶KZ:0Ñ>ª¯$Cå9›é7ýèá¼ùà7Ó–FlÌd™†ÌAáIPt˜Q=f½»ÐT~Õ§²PÖm&Ñôé+ý£ËÝ×ü”æÁ½°Â‹MjÆÿÿm˜D¨Ìœ0>ðÏ.ô
d£$2¨«µ¶,&Ð?›°Ûª;÷•‚ßLÀJ'¿›œ -H‰¬WëVÚL}‚<„@@@|,!DA* X⥈K¬•¶ —÷ÿf†Ì„™Ì€þ™å*é>çìsÛG³5ÕÊf,ã9iþ;<°ÒÝâ¢èªÕ›'ÝÐÕvW8÷ïù‡UeèÅ«Bñk·TÀØ2ö@(I`Å)¬ø¯uÁsZIÖó -QxEÐÉšáô?¦sè“ÊÉYâÍ·âÂÄÛèý-—ûãl¸ÊàýëfSôÔZ9‘Q -Ñ¿8•Os”PÎè; -ÀnþŽ~9«”¬;7(/½ýåŸbèåÁj>/¦¹ÂÅËWšÑùê±d C˜
Œ
#Óf=Š'Ž{é†Q÷>dT’±XcYmÔ‰ßö™F•ó§Ü¯QçnôëP¸ÙâU'¸s˜ÇŒ>'“qŒ^å89÷£‡¯éTõîO`ÄBüÀ6kŒrL£F£õµÃ0z“‹ßëôX‹î0¨“8buºñÛÀ(œÉD)É—¿Û#–Ñ^½ß[7L£`ŽÙv¿Af5×ü¿Ö_ÎW™².ô]Á2Bßû%ü¥ñ˜)}@TKÓ¥¬N³[QøˆüPªåoÊB£nóÐNª°‚´¦á4ýîÏÕz°±Cãj§}
Ë3R]¨í<Eò §·Vöý¤Aõu¤„£]’d1§¬9®Â¶\ŠêÿxÚ…ë¼ -ä»ìúNažX–¥Ð[còÔ/û:R -’ŒâRõŠØK£º-Ÿ0GvÔ|õ„ap½Òû|ò…-n]-nÐÞïÕ@Ý-£7Ht~ýÈÈYHÜÓRh¸d lÈ`?¢ì³œZV›ÅuÙóÛLÄ%Еì
É—öxþNÌüy[LTžçÿɻ盖YNçïgƒÒž1À"äàZ[îFn•2æ©ÂÏr8ÿDÆ"„¡c3¼Ðç°ì{x/+œk`S~geõëLX¡S -ýçákW; ž·óHu±Ë5 xJòÕ…O…êÍu[”§€¥u<q……X Ô—f¦öÖ@.mæ˜ SÛ. ‰Ï7pj—z¢¹¬xN
çŸÃyaò'LOcÑîíá[Œ¼ˆrÛÑß&¹ -ÚìûIƒzW6áõêpïÊtÝ•tÆ̹´ƒ».b’¼(å’¬k1&ûO3ašÐ³‹†–B¡¡+ .¬HÆè7}u6·Z˜URòâ¢óÐß' æ -0FhÆíÚAÓJ2uM!qò^¤åW°bÄ=K'&î[5ÄM a -•¸›MQ¹«öÕ8-浬¢ŠaÖ"ee -}â+XF¥G‡F®Nv}®÷½B«}Ù‰*ª>aÆo¦ä]¹W@Æ‹ò>ˆ.M‰Ûº¥î¹+÷h\I†Ä ÃÐ-ͪdFÿ’úÎHøI -þkÑI²Àªó½µ -;¯«’ü)8œö¹^·ÚÇÛbGÿ”¨ÅkB¨úv”ö̤1¡$™›á%ð˜ÖÐG•“³Ä›ß9à?:v¤”Îà#Ãͦüë5T^fìÅ+ÎõŠ h™À†±h™#‰
ØS|Ï#é±
ßà†lï9©6óàþŠÎ~%°²Îbòc'oüì“8`¸>¨!Wàãã”R·x>6«”Ë®_>ÜbÞ¼WY«6ÈÓO¼ÚÎû‰?5Æ˾®ÿŽ—4VGoö¾ß†YJvoÃPn&Ý`¶!!‚-FlnœÊá<tk‘[_h|*A““óÈ …å%Å«¦ì·äàJB¥Ù] ÀÌÖæ€ÏX¡zsÝþŒ»d2ç;/pW2F*`ô†=˜w† Æ S¡š`U„˜0´rÙ0„V¬g— -C—)cä0 -s#çkƒ×Ö Fx6[Œ_+Ç9‹B`pF$Yy±r‡"Û>XGQX~Ñ öÑ0ùšKò·f<Ø•´K§óWŒÑŸO´òPïÓš¯þDsѺaV`Œ¿Ð_A÷zc˜¥Ùó24[óyÕ”Oõ¥b5®«Ç®$×oÿ³^¥k‰+Aô ò,!@ØAF`e‹BXA½(##"àýow’îÐ4àŸþü˜L-§ªN>”Ÿ*ÊõÍmú¡V*Fþ”JÅh]ÿ±»Ú/þ¯©ýuåI -à»Ú"Ý\Þzz«¯‘é4Ú¸übÑü`ÇñŠòÛ5Š$åߢ˜U -à]$T§¦CsU—T§>y:{§9’œ‚ûEk¥æý€ -p¬ÒI§—·ÞïdnLsz¯:E6²GM= -´µïô5)§ ¢s?¸ÕÐÉ–å ÀÊ+TB"m;ü|ÂOFñèà¦í[Ú_¥l»yTŽ‹ŸU3BšR‚îï׊Lëmßš5$€˜}P˜¸I„DBå•çy•°÷ÊÇp‹Þ ¨ÖuTº£râeW¬“Bâx -N©%'Áu|é8ž.sOÅÉ\éHõøR÷`b’ÞK0 -o›ÀñöÓÒÒœGå§1¿‘ápE;ËÏÒš„ya}¬°†Æ.¨Dñ)Sû‘y‘¦[ZP×Z<Ú…‚Þ98]E–*]¡1C+³ã1Õw$]ýW‰W^6’Ó-&Õ}¯³÷¡¶ù·¶¶ -ÖcËÎ&bX}¥ît³ª~C¨©%½¹ºLJ
gœ]jÏgqîƒOLj®úÔPbÓ·qÏ1«€OÍŠÜ• æøôj Aæ?¬–]BåËI5mG|fWjl‰ÊöDp -uPY=I,-*œ8²}ά3Iììk WàÑÏZÉå#•hË7÷Øí\^+„JWÁ›I…0|ÕE8Òzö™‘M’b£½¹ j’ÑÙRÌæ«„´Ç@,»FÓå¢^d(–CˆRI˜ÊQz2±Þ%›åhjDb“«;¿Ür¼“"a«/þ¿u©qü1ä*9‹· ¾Œ°tÄ° ¦nêRsVãhHÛïo14¨VG/‹¢|—p¾',íJˆãÙ*˜9«~F.Xýð5C?bÙûg‹2Ä¥_|ÎÆb?‰XüçKü$bÉŸD,E5f†¤›:T‡æ¼üRôáöjóÇìß[°_0}h£„i&NOŽ·7aJ3ñ×Û±†Õß¼öÀ˜^¿¶ ëWlyj»Ò¢ˆR,Qº}Œ‹Õ -é-0s\Ú‡!iwåAPÂzÀ.TmBJš—Å™8á—*)$ŽgêâœÒéFJN=S‚jõÈ´_¹…xmc¹r“ÞÌjÇñ¬w.ýÊ-Äëø0\¹:'Ǧ툴 ¿šõj1`£žxTÄ5œH“¤`<¶S,©¡ -¡ûÔ -Ùû†Mj¯>@Á¯0:(« -‹¡”NƲ&‰°h»Ò^õBtŧLíÄéU3ETŸ -ÅXÛuîÌö`'«à¿´È ‹£Çìlæ'Fu²açCXÎÏŠ âÍ[ì;øbWî½Ñ>æ(R/u@ð1 £ð×±é¶ÕW¬£’Wë cØ?g‘1eˆ˜Jéô1¬<·¶ö2‡ã™Ç°òÜg˜”ÇŒ!Ôx76tŸ;†}Ëž¤Æá·C‹-ŠÓDZ‡Pç±óìŽ!i‹9Û¡!*í©ÂÞdh¬jLÐû€ù‰±waT2¦R¸ÛaÁ÷¤¤µ×#œOél{^/s¨=ŒBçL™ó¼æø¤7W—Ï:] -qËžµì}²4´i/@…ÁQÁ²Üg‚0² -CŽw’†¥HœZZŒ -Ì…b³‘'›ø›W¸%ï - IÎ3w¶zl¼pc~º±‚¿RwAš†ÛØ‹×e'clf²Iú
§ÉÀÄ¥HÔ]3†jŒ²dÅÁ˜¾dHËj» ;Âa9èJ)ö!§"ëANÙ„¬íÝ";tôh„¤73j{¿iÂ~]Ñ ^3{ˆç -u -s|º+¯Ç¿æïòßëùksVŸv3™æóíºß¯êÝÙý¿¯žmìúc)àKbàsxñÙZ´ÅÜÇJ|ºÞ*|×/(JÒër/§Ë(óÎr'ùO_̈
ÿÕÚ»áìóßeE)dÛ®à‹Ôp%Š/1÷'u«Æ -W±êÃc5&y–͘ÔjÎå_!¬ìfWÂF5'0q— -†˜»ZWÄüesKâR”Ôð>Véÿ+›¿5œÊÖ”HHz]ÆÓ’¢\m¶å§ê\Íßäÿ$„+wYý$Ý\ÌBqÝ!ƒõOug=/ÐÉÊõwºézlÖER®Z¦»×ˆ7èãmïeî«È·»RMxíÞåS_#
üÕª?P¦çJø—ìûm!V7îê]Ø¥ü{Ì·þ5:`µ´|žJèø¼ò_h£©r´&üh¦fn‡Â/³L¤*Åuÿ:º
–ÅLj-V·×à·Fíú£÷м¹M¿6ÅÌE¾PÍx;綾Úÿ¬W×V2Í}ßá$Lb y$3H–Œ’AD$ -k«ó짺§'ÀQ—ŸÿÚîjvWUïJ·¶TIõ¸¬ÖÚøÖ×whôEsÞuÎÑZ¡ g‡‘Ø+½šˆ2zœmv¶>„%±»ö*#mÎKâäàE5Þ©>^½èßP0㻵ï¾å0¬‘Ûá
C’ð3x Kì`áðòÆáüx€Æñ -Âf!ƒžÂ –æÐ~‚àÅZbß Ã™%y®Vð!¸ ûËG ¼8•ágŽ–]ÖwßÜ -ú«1NÁ‹$ö -ØÛpKZŽ’K{UÜâK…|¡èbȼ¤_ïrÕÔ{è6d%;È‘î
&¶vÙß^MD -Ó±œ_ú‘Ç*(;ï]ö.õVVÓ¥KI Ò'¾Rળ±š¶+>¡’¨qñFvNÚ…øì¢Âe+VÔ§.|XI7§~û\‰wowç²1v]Cœ§µð)tÖYéî+¶"Š÷¨x‚ÔÿxB]V¿Ä¬nõ^þ^ÍØå®!|…'¢!ÌP èNÕß47ò(Ì&Dõ˜,ç‡K UH†ìN,Ù[;8ôÈ3ÍÌ/<¿[½GD¶Z6Ña'¸»@M Š‚Ì•z·Cß?½[¾ -ð´ÞgÅ¢èoãÝ3XÊPð9HöÞª EHÐÓ2ž“¶Þ¥KíÄ,ØÂ&Ùã1Õ{Qy‹/¥§ÎÇg ®?úÈÂEÛ,ì)«ë£üOn£ácºHpkisã²w@Seg8!á³9Á£Æ†ü"v‚©ÍÚrfâ‚ÌGÃtÁ3xÌæ„óSÕtB÷Ò ü•>s/Q§iâ‚É}ÕrŽýÈq\kk}õ'ù 6ÜË„û)¦hº@Ž·vt°&>ã”÷“DH¬®‰”³lwÁ¬ZþŠÒ½•eýs*}aãâw -ô<<*£÷’DâE ö˜é¾úô›>ãèüÍø¹l»«![¦¦-}˜«JA“*n<JjÃ{ÐÃèŸ}Nâö”5(ÙØ“C“b[ïŒñÓ’x¢‘¶£“‘ -4§žÔŠmŽÄ60ÐÛ½€çÊ[%Ô -¸ ,£ŽŠð;ÿÜg¿IUorÔáŒ÷|~Ãt%UI*ù%©œ‹Š²¾ÙõªÃV§¯ ì²^U3ϧ¸šf”÷•ÊjsÐ2½ç}3íuFWp©ø’ !ÖPƒƒZP ÎCäàT¤}ŽR©œÏÈ¥#ÙQ½ÌmøŒh Yl½Ø,ø¬ša\Ì/K>£iÒQõ6xS9ª¹^y ZÐ{QÝõZ6t+8°
©]oj^]ª·¾ç2âÁ¡ÕÛŒ×/Ò¸ž¹ž€ƒJ·(^ 8ØÉÆ’>Þæi/Uš*ß -:SX,~F¸ì±/ñÀarB•ýö¹Ã#™‰>˜º-ÕÓÂ1Ÿ_Ê?*·Vµõà¬:HòÐŽÖÏ*BØb¥“7ž=»GÚ{òbÉ?—Ø&‘¬loæ*åöZþªrkï>—¿—'§<›ØÖYú,:â°s< -ô -QsÖ9#è^YH¸Ê¦gÍýuØÛ ¾]Œ%}Öá÷¯žéÝ¥CVƒêõ̳»à6?y‘Ù€%¿Ìä>/3Pa°Ð,–(ž)¬¦ß°n`i¬(rñû;e&ña»›µh©ÿN»›µý¥]‡Í:ZaÂv훼ë5Rx¯ã]vµ°+ó¨†U‡˜ƒÝ"n¡ÑÇöÖ‹Å{²x´§ƒÊ ê¼ìeD½¢šxÔwTóe!^ŸõžR<.ߊo^±©GñŠõ¢ÚœâpZ‚H;sјÖ̧jiEšU¼RŽÃ±£n>y3bµDª¡ÜUDd*‰b•[¦jS³ÁRnWÛ2§Åã…bŒ’“í××Í'Q£y¯Õ’¡2Ž›Ú‚ˆNç ˆ¸/ -ȼ—<.Ëf„¬ü¡
Á{ìJÎ~õê‡iÍ+ÿ2×оb¯ü2ù*¨èçbÉߊPä%²û³ÜVÒ±äWE|½Â(Ê"–E„" åyìColX¡.N½t˜JñšŒ"®‹·"¾*B -<ög"è®3ƒçþ¢æ‹°VÃôšÆ뻕7û´t¸/1ÑóÞ¾Ú#{»/³Æ>»•¶LÕ‰%?‘ý"Î55‚±?Ëxmi€û›òÕkDªN,ùg×`ÿÈŽ±E+ôßg[ÃØÜ«d„
¯S#€-V°#/ë ¦üs:2û*¨˜ú"þÖ‘?‹[æqÃ×BÙ -;2#ËârÁ>ö‘ÑZiŠ¾-1f…O÷BýÔ›^S‘1z™Ûð&¹ÖxRÞ¿¸DëÜgY¿1RøX‹gfƒÛ,žUùP¡Ûq1®ÂÏZR|Ö(¼ÐMCZÖá1YzB.ã
¶›G/°,eÅòb:æ³ßºžØظòæÝËÒM)ß\yÅi2j¦B&W#ͱ¤Çª$K‰žiÓQÀP£Œ›ÍƒDÙÄÎÏØ—ùMÉõfü: f¢#î¥:Ù(ã9‡AÜ0ªXn÷ay°öHVƒ¸ÏÄh6¸L -ɼ&fĦÁ3E$fƒs‚R
¤©bËЪ œCÂôtØhñ¥'vØ;£d| ÂDÐe´½ã{Lðï -j>“\à˜ïªÐBä„CØÃq²ª¸òe)ON;>*S0wŠv×¼[?•lúȘê‰C”§ùßÿM"‰È£Úêt#Ó΃ǬBÛØ/Û£‡;“{Ç+~»g¬üøÔœ–wOO¯Bx1y>º÷/~ -ÛnlbîŸ -t³íÞå°%Ùö°eŠØ~h3ïk~v‰6VXU¾î{_ìÆD¦Ñï•Pb~ì‰õšDœíÏ„lv%wnÃè÷XÄž«üè§ohÏÈTO:
¼Ë ¸K²¦ -3,Íʵ?{› ±aÙ}œ)¢ÍRhmV«²=¾P/f…2þ9ÆÚÞ9îÈõ¾„Ÿî“ê¥uiåÂËÞŠ -ƒ<?PØÅ|cG»ëÌT4eM»Sr^ŸôD¾úMØüFñdW 6øAFÛz¶Äô‚÷ªMa3㛹ÏÑiwÙ…ä³O•«ûòˆmõÚE¯Êš„˜ƒÝ"n¡ÑœÝz±ŒÃ›ægšßOÔ1YR¬°D«WA»Žï<Ãrp€O±é±|,YÞ¡´_Œ¾ÿ3Û~ÎÇ“Y,™Êñx6Æ
fk|s7i^ÿ¿Æ¨$þüá¯íJ”93MX˜Hmb)¾W¢²Ô„A¤¯•_gÛwÃÙÝÓäúõ—”CRg¯ÙÞÙ–r’ØÛ‡½y)Ö>ì–,Alú`a?F¤2üëü›ÃQ‰»¶%ìP ¥L§Ò}ŒxfÁÖ_°ø?ô—dH{ÒÙ‘F`}ç(fQÕ¥ŒJºËT“R[zD’m›FH‚Eˆ%¶C‘ Û6_Û”¹RÏ0ƒ1Nr\Ø‹J\ è*ÕÁ)@ ¶¡s‚‡xˆ˜2TŽKèØ=L—LpP±2FlPdªÉÜã¨Ì–LD0›/mF˜d¢Ž†1 ÇŒl!ªéº'X–e"XB¤-†_b‡{%X3›¢ø0-€Â –I]P$ê8’A@ÑùÝÒuNÐ
¸lÃåkË6¼X¢CìdÊM³l—<L E¬MN°]?ÄCŽcá¦2bð=®©[œ`èðab0 nûÀÐóÍ›ºb®ƒf¦‚>! „ÆÁ‡i‰Mu:^LqLÆ :õmÃxÁ¡–¸¡mN :Ô¡LøÄ쀀ê¦#\
Ç9&¸Í$1µ s(¦‹!…è[¦+Y€:bé!àÆINHj"É!<ªþ1€ÆÿX¯–»Žøó³ Aܒݬä1²Ò*‘ìC
-$‚ ŸbUß¹çÞ3I¼ÈÂð\ª_‡,VM?WŸù³uS êH` ÔcU…:J…€M×±aƒgà)ãà¦9ý -û}µ}oB¿c™ž[©ÅsŠvm–KÜy±#/@\žÑ˜C xÏŠ¶êÈ?ÙŽpn>tÈ€ÏØyYa:§æ[²A«±é¢S.§º°ÎåyêºÔ¹Ã -ïÅ -dû„ ¦ç²¦]¬UßÓ%_T“²UËÑ€[¥œt‹´6eqù |sÙâØuê9ÔeÄ
“1 ök}ܬQOGú³–ÍßJAtŽ€¨á9uÂB¡™ih¯|ÆRM³ÿ‹–ä—õBq VÈ(Õ6¸è]Ù£—‹mZ‚Y¿à-HŸÎ¸¥:þôðÓíøßâñõ›Ç¿ýn¾ -†]xùÛd˜$ÞÎÌ€({î:á »N »‡å¹¯Þ{¿,š::“µ|3UæïÜX¯ÞŸºï¥þ¼kaÜ…W/Wñ&À‹–Õ¬C®æ}ñ°í…ßàæ¾,;¦:õl“»²xþ«÷ŸAZ¯ß~þò™µýïÓY݆ÈFßrO)~Ã|5®¡¤\3éä, :r°ÉôYôµÙª…´ òÂ)ÂÚvŠs6nê½È"
¡ieÕmIg¯‰À˜ÂOêV%<Ò•lª¡‹Fìîž}²À‹:™ëdÅZ¶ù‰œ8xp¢á±NoV{U3Ã9–Äv÷3 V½ ½{ -‰2`ÊU¤®°k‘k}IµWÓó²æê”®© É -‡LÚ/mÙ]~~µ‹ÃÍšú˜ö0ì©
Æ.]þnx<N»]cÛýؼúÙ`3ÀMulÕ$a6Ý”v+³d[‡=bÏl[xë¢:ÌQTz¢?ÉËÍ®ÄBýJgßMº -\eöÈt÷mHÇö|£¹ˆ`¤|" -P@®™ ¬Ìl¯\æ®üt¨Loš¤Oùz=)Za‡”ˆC ¸-ñrÀ„ÛíS£' £†T¼ÁÞdˆ¦ué‡5¸À÷DQ»Ìê -Zm (ÉQƒ -çßO÷‘ûþÜ“âˆ8-3£éY\xçH¸C”2;¿¢‡@ƒ'*œ.!øt0OŠ¥ AÖ³]žÌz›Z3ð¸¢iÉfÍZa-.¥šs2$‹1‘ì}Ó4`-¯EˆÀ– {²‘s`‘ŸxŸ†§sf’®}ÊßXÉL¬/lÀ5”×—¾@òp‡a` —Y/_>+¡³²’ÐØ,éXÛ¸ÉÓ‡/m2žëØ–ÆE½Ñ7aŒ -è·óG6CÚŠünáÁ$öV€É:˜¼/ÅÀ‹zNmQßÀyò2—rKÃ,_©[˜±±3œ!?ã“ébµQ‡äíùHéÉ«õòHS[;écqoHg“t¶ŽJ… ·-Õ*–ä³Îi«·iÖÙÎ.Ùåa
~g£ƒ2p³žŽÅ“¬æ´¾S -t‘Í×ÔL&%" ×tSD™iý•"e‚ú+.KìÔ±; € P6zšf>hr6Sˆy5 Û¼<¢3tmGÔ¨kÀgq!AP™ -)QÎj¼9)gqŸÕ“¶bõÂg5—f|æmOmJD¡Ôª4éÇ—06Ó Fw&4˜p…è×)ăºËÞéŒkΫfÐÊZ®&S^æ´G…꜎^F‚÷UÛÊó$×=ÔªvZF³ðìÔ~Ml_i6©“áÉ#“Æ5—©ÊA1;?L°UL¡I^7ÔuÏq‰C§·(ôUÓ©5ÄGH¨ÀŒ…ª–Q£0×n:Ä©D[õ3©2î\t¤ï¹rèDÕ4D9F!òêÓr 6£D ¢j.ú¸U÷Àˆ%ÔÔ’49¤›˜Ã³8’ÅmÛ:#¨íXLvs#ñ[FW\–Ø×pòLsÆ+Þ5Z -ælG“˜»]œRŸ¤>HĦ¹ùmç×IšŒûuöqGû7ßìûuw8AÙN<ÿ§UÃ}â`휙,
-0000000016 00000 n
-0000000144 00000 n
-0000027728 00000 n
-0000000000 00000 f
-0000031902 00000 n
-0000082176 00000 n
-0000027779 00000 n
-0000028107 00000 n
-0000032201 00000 n
-0000032088 00000 n
-0000031182 00000 n
-0000031341 00000 n
-0000031389 00000 n
-0000031972 00000 n
-0000032003 00000 n
-0000032274 00000 n
-0000032457 00000 n
-0000033473 00000 n
-0000051103 00000 n
-0000067155 00000 n
-0000082199 00000 n
-trailer
<</Size 22/Root 1 0 R/Info 21 0 R/ID[<EF708D5803E447D0A52D9DD250C35333><BDEB185DC3944157B1B9061FE16828DF>]>>
startxref
82377
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_https_invalid.png b/chrome/app/theme/omnibox_https_invalid.png Binary files differdeleted file mode 100644 index bb96cb3..0000000 --- a/chrome/app/theme/omnibox_https_invalid.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_https_valid.pdf b/chrome/app/theme/omnibox_https_valid.pdf deleted file mode 100755 index 0eb2893..0000000 --- a/chrome/app/theme/omnibox_https_valid.pdf +++ /dev/null @@ -1,388 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 38 0 R 71 0 R]/Order 72 0 R/RBGroups[]>>/OCGs[5 0 R 38 0 R 71 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 17565/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:DocumentID>xmp.did:F77F117407206811B9E7F59FF32AB9C7</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:3faa8f42-c132-324a-be34-1940b31aa165</xmpMM:InstanceID> - <xmpMM:OriginalDocumentID>uuid:bb04d584-7eb7-944b-b519-e6560ee32c24</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:d7dfa1ba-510a-e643-8045-a57d03c56cc5</stRef:instanceID> - <stRef:documentID>xmp.did:02801174072068118DBBE0A4EDF47DC7</stRef:documentID> - <stRef:originalDocumentID>uuid:bb04d584-7eb7-944b-b519-e6560ee32c24</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:01801174072068118DBBE0A4EDF47DC7</stEvt:instanceID> - <stEvt:when>2009-11-12T15:36:31-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:02801174072068118DBBE0A4EDF47DC7</stEvt:instanceID> - <stEvt:when>2009-11-12T15:36:45-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:F77F117407206811B9E7F59FF32AB9C7</stEvt:instanceID> - <stEvt:when>2010-04-12T08:23:59-07:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:CreateDate>2010-04-12T08:24:01-07:00</xmp:CreateDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:ModifyDate>2010-04-12T08:32:30-07:00</xmp:ModifyDate> - <xmp:MetadataDate>2010-04-12T08:32:30-07:00</xmp:MetadataDate> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>188</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAC8AwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYqg
NZ1/RdEtvrOq3kdpD+yZD8THwVRVmPsBirzHX/8AnIGxiLRaFp7XDDYXN0fTSviI1qzD5suGlYHq
v5vefdQY/wC5H6pGekVqixAf7LeT/hsUMautd1y7bld6jc3DeMs0jn/hicVQOKoi21HULUg21zLA
V+yY3ZKb124kd8VT7TfzL89aeV9DWbh1X9m4IuBTw/eh8VZtof8AzkDqUTLHrenR3MewM9qTHIB4
lGLKx+lcaS9O8s/mB5V8xhV069X60RU2c37uYdz8J+1T/JJGBWRYq7FXYq7FXYq7FXYq7FXYq7FX
Yq7FXYq07qil3IVVBLMTQADqScVeS+evzwgtWksPLAW4nFVk1JxyiU/8VL+3/rH4fnhV4xqWqajq
d293qFzJdXL/AGpZWLH5CvQewxQhcVVobS5m/uomceIG339MVRceg6g3UKn+s39K4qq/4duv9+J+
P9MbSsfy/fL0KN8if4jG1Qs2m30O7wtQdx8Q/CuKENirasyMHQlWUgqwNCCOhBxV6Z5J/OvV9KaO
z14vqWn7KJ+tzGP9Y/3g/wBbf3xS9z0jWdM1iwjv9NuEubWX7MiHoe6sDurDuDvgVGYq7FXYq7FX
Yq7FXYq7FXYq7FVO5ube2t5Li4kWKCJS8srkKqqoqSSe2Kvnv8y/zUu/MM0mmaW7QaGhoSKq9wR+
0/cJ4L9J8AUPO8VRdlptzdmqDjH3kbp9HjiqeWujWcABZfVf+Z+n0DpgSjgABQbAYq3irsVdirsV
Q1zp9pcg+pGOX842b78VSW+0SeCrw/vYx2H2h9HfCqWYoT/yf511nyrqIurB+UDkC5s3J9OVR4+B
HZh0xV9K+VvNOleZdKj1HTpKqfhmhanqRSU3Rx/nXAlOMVdirsVdirsVdirsVdirsVeBfnF+Yjat
evoGmS/7i7VqXUi9J5lPSv8AIh6eJ38MKvMMUJtpWj+sBPcCkXVE7t7n2xSn6qqqFUAKNgB0GBW8
VdirsVdirsVdirsVdiqWano6TgywALN1I6Bv7cKsdZWVirAhgaEHqDihkHkjzlqHlXWUvbcl7WQh
L21r8Msdf+JLWqnt8q4q+odL1Oy1TTrfULGQTWlygeKQdwex8CDsR2OBKKxV2KuxV2KuxV2KuxVg
H5w+dDoGgfUbSTjqepho4yD8UcNKSSbdDvxX7+2KvnLChM9G036w/rSj9yh2B/aP9MUsjwK7FXYq
l93rVpASqn1ZB+yvQfM4qlsvmC8Y/u1WMdtqn8cNKoHWNSJr6x/4Ff6YoVI9d1BT8TLJ/rKB/wAR
piqPtvMEDkLOhjP8w3X+uNJTRJEkUOjBlPRhuMCrsVdiqV6zpomQ3EQ/fIPiA/aA/iMKsdxQ9V/I
3zo1lqTeW7yT/RL4l7Isdknpug8BIB/wXzxS93wK7FXYq7FXYq7FXEgCp2A6nFXyt+YPmZvMfmq8
1BWJtVb0bIeEMZIU/wCy3b6cKEhtoHuJ0hTq5pXwHc4qy6GFIYliQURBQYEr8VWsyopZjRVFST2G
Ksd1LWJLgmOElIOh7Fvn7YVS3FCta2l3dzCG1hkuJm+zHEpdj8goJxVO4/y888SRmRdDvAo3o0TK
3/AtRvwxVLNR0TWdMbjqNhcWZJoPXieMH5FgK4qgcVRNlfz2j8ozVD9pD0OKsmtLuG6hEkZ2/aXu
D4HAlXxV2KsZ1myFvc80FIpdx7HuMKEFBNLBNHPC5jmiYPG67FWU1BHyOKvrHyh5gj8weXLHVkoG
uIx6yL0WVfhkX6GBp7YEpxirsVdirsVdirFfzP1s6P5I1K4RuM8yfVoD35TngSPcKWb6MVfLuFCd
+XbYfvLgj/IT9ZxKU7wK7FUh12/Lv9VjPwLvIfE+H0YVSfFD1H8ufycm1iKLVtf52+muA9var8Ms
y9mY9UQ/efbril7dpOiaRpFsLXTLSK0gH7MSgV92PVj7nAqNxVZNBDPE0M8ayxOKPG4DKR4EHY4q
8w89fknpl/FJe+W0WyvwCxsgaQSnrRa7Rt4fs/LrhV4VdWtxaXMtrcxtDcQOY5YnFGVlNCCPY4oV
dOvWtLgP1jbaRfEf2YqytWVlDKaqRUEdwcCW8VQerW3r2TgD40+NPmP7MVYrhQ9r/wCcfNbLQano
kjf3bLdwCvZv3cn0AhPvxKXsOBXYq7FXYq7FXkX/ADkNqJTTtI04HaaaW4cf8YlCLX/kacIV4hih
lmmRelYQr3K8j823/jgSisVUrmYQW8kp/YUkfPtirD2ZmYsxqzGpPucKGdflF5Lj8x+YTPeJz0zT
QstwhG0khP7uM+xIJb2FO+KvpEAAAAUA2AGBLsVdirsVdiryX88/JUVxYDzNZxhbm24pqAXbnESF
Vz/lISB8vlhV4bihkeg3BktDGTVoTT/YncYEpnirsVYddRelcyx9kYgfKu2FDM/yZ1E2fn+xStEv
Elt5D/rIXUf8Gi4q+lMCXYq7FXYq7FXg/wDzkHcFvMmm29do7P1Kf8ZJXH/MvCFeWAVNB1xQzRVC
qFHQCg+jAlvFUt19ythT+d1U/if4YhWN4UPo78ktLSz8iwXIWkuoSyzyHvRWMSj7o6/TgSz7FXYq
7FXYq7FUNqdhBqOnXVhOKw3cTwyf6silT+vFXx/NE8MzwyCjxsUceBU0OFCZ+XXpdSJ2ZK/SCP64
lLIMCuxVi+tKF1GWnfif+FGFCP8AIs7QedNDkBp/p1upNafC8qq34HFX1fgS7FXYq7FXYq8A/wCc
gP8AlMrP/tnRf8n5sIV5on21+YxQzTAl2KpT5i/3lj/1/wCBwhWP4ofUv5Yqq+QtFCig+r1+ksSf
xwJZPirsVdirsVdirsVfIGtf8dm//wCYiX/iZwoVvL/+9x/1D+sYlLI8CuxVjWvf8dA/6q4ULvK/
/KS6T/zG2/8AydXFX1zgS7FXYq7FXYq8A/5yA/5TKz/7Z0X/ACfmwhXmifbX5jFDNMCXYqlPmL/e
WL/X/gcIVj+KH1N+Wf8Aygei/wDMOP1nAlk2KuxV2KuxV2KuxV8ga1/x2b//AJiJf+JnChW8v/73
H/UP6xiUsjwK7FWNa9/x0D/qrhQu8r/8pLpP/Mbb/wDJ1cVfXOBLsVdirsVdirwD/nID/lMrP/tn
Rf8AJ+bCFeaJ9tfmMUM0wJdiqU+Yv95Yv9f+BwhWP4ofU35Z/wDKB6L/AMw4/WcCWTYq7FXYq7FX
Yq7FXyBrX/HZv/8AmIl/4mcKFby//vcf9Q/rGJSyPArsVY1r3/HQP+quFC7yv/ykuk/8xtv/AMnV
xV9c4EuxV2KrfVi/nX7xkeId7HjHetkubeNS8kqIo6szAD7zjxjvQckR1DwP89WW883WktmRcxLp
8al4f3ihhNMaVWu++PiR7wx8aH84fN52lnd81/cSdR+y39MfEj3hfGh/OHzZfwbwP3YPEj3hPjQ/
nD5u4N4H7sfEj3hfGh/OHzSvX4ZntowkbMQ+4AJ7HwwjJHvCPGh/OHzSL6nd/wC+JP8AgW/ph8SP
eF8aH84fN9L/AJdalp0HkjR4Z7qGKVLcB43kVWBqdiCajB4ke8L40P5w+bI/0zo//Ldb/wDI1P64
PEj3hfHh/OHzd+mdH/5brf8A5Gp/XHxI94Xx4fzh83fpnR/+W63/AORqf1x8SPeF8eH84fN36a0f
/lvt/wDkan9cfEj3hfHh/OHzd+mtG/5b7f8A5Gp/XHxI94Xx8f8AOHzd+mtG/wCW+3/5Gp/XHxI9
4Xx4fzh83yhrFvcNq98yxOytcSlWCkggudxh8SPeF8eH84fNV0KCZL0l42UcDuQR3GJyR7wvjw/n
D5sgweJHvC+PD+cPm7HxI94Xx4fzh82O63DM98WSNmHFdwCRh8SPeF8eH84fNd5bhlj8xaVJIjIi
XkDO7AgACVSSScfEj3hHjw/nD5vq2LU9Nmr6N3DJTrwkRv1HB4ke8Mhmgeo+ap9btf8Af0f/AAQ/
rh4496fFj3hd68Pp+p6i+n/PUU+/DxCrTxirvZ5h5286roiCzswsmpSrWp3WJT0Yjux7D/M6UB5j
Pn4NhzeVX+p6hqExmvbh55D3c1A+Q6D6Mk66UjLmhcWLsVdirsVdirsVdirsVdirsVdirsVdirsV
dirsVdirsVdiq5HdGDoxVh0ZTQj6RirJ9A82TiVLXUH5xt8KTt9pT25HuPfKZ4+oZW9Vr/zotf8A
iz/mbmT/AMhvx3u5/wCQXx/S8N1fUJNR1S6vpCS08jOK9lrRV+haDIB085cRJQeLB2KuxV2KuxV2
KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KvXP0s//ACpf6xyPr19Gu9eXrcK18ab5kcP7
mvP9Lur/AMB+P6XkeY7pXYq9v8vaRpMmgaY72UDu9pAzM0SEkmNSSSRkS7bHAcI26I/9CaN/ywW3
/IlP6YGfBHud+hNG/wCWC2/5Ep/TFeCPc79CaN/ywW3/ACJT+mK8Ee5x0XRv+WC2/wCRSf0xteCP
ctOi6N/ywW3/ACKT+mC2PBHuWnRtG/5YLf8A5FJ/TI2jhj3LTo2j/wDLBb/8ik/pgtjwjuWHR9H/
AOWG3/5FJ/TGyx4R3KZ0jSP+WG3/AORSf0wWUcI7ljaTpP8AyxW//IpP6Y2UcI7lM6VpP/LFB/yK
T+mCyxICxtL0r/ljg/5FJ/TGyjhCw6Xpf/LHB/yLT+mDiKKCm2maX/yxwf8AItP6YOIsaCxtN0z/
AJZIf+Raf0x4ixoKZ03Tf+WSH/kWn9MHEUUFNtO03/llh/5Fr/THiLFTbT9O/wCWWH/kWv8ATHiL
EvO9ZVF1W7VFCqJWCqBQAV8MyocgxQWSQ9J/8oj/ANHf/M/Mn/JfF2//ACC/znm2YzqHYq968t/8
o7pf/MHB/wAmlyBdxi+ke5McWx2KuJxQtJyKCVpOBiSsJwMSVjNgYqbNihTZsDFTZsCFjNixUycC
CVNmwMVNmxYkqbNgQps2LElTZsWJKkzYGBLzfWv+Otd/8ZW/XmZDkEILJK9J/wDKI/8AR3/zOzJ/
yXxdv/yC/wA55tmM6h2KvZ9BuZxoWnAOQBawgD/nmuVE7u3x/SPcj/rdx/OcFs2jd3H85w2q03lx
/vw4LQsN5cf78OBCw3lz/vw4oWG8uf8AfhwIWG8uP9+HFisN3cf78OBVhu7j+c4saWG6n/nOBFLD
dT/znFCw3U/85wIpabmb+c4saCmbmb+c4EUsNxN/OcUUFhuJf5jiigptPL/McDHhCxp5P5jix4Qw
XVSTqVyT1MjfrzLhyDUUJkkPSf8AyiX/AEd/8zsyf8l8Xb/8gv8AOebZjOodir2LQv8Ajiaf/wAw
0P8AybGVHm7bH9I9yOJwM1hOKrCcCFhOKFpOBCwnFCwnAhYTihaTgQsJxQsJxQtJwMVMnAhYTihY
TihYTgYrGbFCwnFiSwrVP+Ojcf8AGRv15lw5BqKFySHpH/lEv+jv/mdmT/kvi7f/AJBf5zzfMZ1D
sVe5eXrOBvL+mMQam0gJ38Y1ysh2+P6R7kcbG38D9+BktNjb+B+/AgrDYW3gfvwMbWGxtvA/fgRa
w2Vv4H78WNqbWVv4H78CLWNZ2/gfvwWgyU2s4PA/fijiWGzg9/vwWx4lNrSD3+/FHEsa1h9/vwWx
MlM20Pv9+NsTIqbW0Pv9+C0cZU2t4vf78bYmZU2gi9/vxtichU2hi98DA5CpNFH74sTlKk6IMWs5
iwfVP+Ojcf8AGRv15mQ5BsibFoXJJekf+US/6O/+Z2ZP+S+Lt/8AkF/nPN8xnUOxV7x5cP8Azrul
/wDMJB/yaXKy7bH9I9yPJyLIlYTgYkrGbAxU2bFCmzYGKmzYELGbFipk4EEqbNgYqbNixJU2bAhT
ZsWJKmzYsSVJmwMCVJmxYkqTNi1kqLvi1ykh5JMk48pML1L/AHvuP9dv15lQ5Odj+kIbJM3pH/lE
v+jv/mdmT/kvi7f/AJBf5zzfMZ1DsVez6DqMiaFpyBV+G1hA69o1yk83a4/pHuRh1SX+VfxwMlh1
OX+VfxwMaWHU5f5V/HFFLDqUv8q/jgRSw6lL/KPxxRSw6jJ/KPxwMaUzqEn8o/HFFLDqEn8o/HAi
lhv5P5R+OBiYqbX0n8oxRwrGvpPAY0jhWG8fwGBjwKbXj+AxY8AU2u38Bix4Apm6c9hgYnGFNrhv
AYsDiCk0xOFgcAKkXxtr/LR72Jaga305/wAs/rzLhyDfEUKQ2SS9H/8AKJ/9Hn/M7Mn/ACXxdt/y
C/znnGYzqXYq9a0U/wC4Ww/5hof+TYyk83aY/pHuRZORZLCcULCcCFhOKFpOBCwnFCwnFC0nAxUy
cCFhOKFhOKFhOBisZsULCcWJKxmwIJU2bCxUycDElYzYsSWLX/8AvbN/rn9eZkOQSEPklej/APlE
/wDo8/5m5k/5L4u2/wCQf+c84zGdS7FXseh2DtoenNzHxW0Jp84xlEubs4H0j3Is6e/84+7Am1M6
e/8AOMCOJYbB/wCcY2x4lhsX/nGBHEsNi/8AOMFo4ljWT/zjG0cSmbNv5hgtjxrDaN/MMbQZqbWj
fzDG2PGsNq38wwWjxFNrdv5hjbE5FNrc/wAwxticoU2hP8wxYHMFJo6d8DA5wpMKd8NNZ1Q7lMj3
xY/mh3LGBwI/MeSmVb2xtj4/kxe+/wB7Jv8AXP68zIcg5MDYUMkyej/+UT/6PP8AmbmT/kvi7b/k
H/nPOMxnUuxV7boB/wBwGm/8wkH/ACbXKJc3YQ+kIxmyKVNmwIWM2LFTJwIJU2bAxU2bFiSps2BC
mzYsSVNmxYkqTNgYEqTNixJUmbFrJUXfFrlJDySZJx5SUScWtaTkUrSciSyWk5ElLFr/AP3tn/1z
+vM/H9Ic7H9IQ+TZvRv/ACif/R5/zNzK/wAl8Xa/8g/855zmK6p2KvYtD1CFdD09SGqttCD07Rj3
zHlzdhAekIo6jD4N9w/rgTSxtQh8G+4f1wIpTOoReDfh/XAxpY2oReDfh/XFFLGv4vBvw/rgYmKm
19F4N+H9cUcJU2vYvBvw/rgpiYlTN5H4H8P64sTEqbXkfgfwxRwFTa7TwOBgYFTa5Q9jixOMqTXC
++LWcRUXmBwtUsEj3KJcY21/lpeSwyDAvgFYZV98C+CVjXCDxwcKOAhTa6jHY4OAsTsxy8bldysO
7E/jmfj+kOdj+kKOSZPRv/KKf9Hn/M3Mr/JfF2v/ACD/AM55zmK6p2KvUdIP+4ix/wCYeL/iAzHl
zdjD6QiScilYTihYTihaTgYqZOBCwnFCwnFCwnAxWM2KFhOLElYzYEEqbNhYqZOBiSsZsWJKmzYs
CVF3wtZKk70+eLTKSkThYJPc/wC9En+scyocg52P6QpZJm9G/wDKKf8AR7/zNzK/yXxdr/yD/wA5
5zmK6p2KvU9Ht5zpFiQuxt4iOn8gzGlzc+B9IRJtp/5D+GBPEsa3n/k/VgRxBYYJv5f1YseILDBN
/L+rAjiCmYJv5f1Y2jiCwwy/y4seMLGil/lwI4wptHJ/LixMwpmOTwxYnIFjK3hgYHLHvUmrhYHN
HvUyTgYnPHvWEnwxY+NHvU2DeGNo8WKmyv4Y2GByBSZJf5d8eINZkpGGX+XHjDCitMMv8uR8QJpJ
rkUuJAeoY5nY/pDm4/pClkmb0b/yin/R7/zNzJ/yXxdr/wAg/wDOec5jOqdir2DQz/uE0/8A5hof
+TYzFlzcuPIIpmyKqbNixJU2bAhTZsWJKmzYsSVJmwMCVJmxYkqTNi1kqLvi1ykh5JMk48pKJOLW
tJyKVpORJZLSciSlaTkSUrCciSyWk5ElKwnKyWTHrv8A3ql/1z+vNxh+ge5yYclHLGT0b/yin/R7
/wAzcyf8l8Xa/wDIP/Oec5jOqdir1LSNZ0mPSLGN723R0t4ldGlQEEIAQQTmNKJtyRIUiDrmjf8A
Lfb/API1P65HhPcgyCm2t6R/y3W//I1P648J7kcQWNrWkf8ALdb/API1P648J7mNqZ1jSv8Altg/
5Gp/XBwnuYkqbaxpf/LZB/yMT+uPCe5iSptq2mf8tkP/ACMT+uPCe5iVJtV03/lrh/5GL/XHhPcw
NqT6pp//AC1Rf8jF/rjwHuayCoPqVielzF/wa/1w8J7mmQl3FRN/Zf8ALRH/AMGv9ceE9zX4cu4t
G+sv+WiP/g1/rg4T3J8OXctN9Z/7/j/4Nf65HhPcngl3LTe2f+/4/wDg1/rgMJdyeA9y03tp/v8A
j/4Jf65Ewl3FPAe5aby1/wB/R/8ABD+uRMJdxTwHuWm8tf8Afyf8EP65E45dxZcB7lpu7b/fyf8A
BDIHHPuKeErTdW3+/U/4IZHwp9x+SeEpHckG4lINQWJBHzzb4hUR7m+HJSybJ6N/5RT/AKPf+ZmZ
P+S+Ltf+Qf8AnME1Wxex1G4tHFDE5C+69VP0jMUGw6yQooTCxdirsVdirsVdirsVdirsVdirsVdi
rsVdirsVdirsVdirsVdirsVdir1H6p/yBHjx/eet6netfrH/ADTtlviDwOLpf6adtf8AgN/0v0/q
UfNPlmPVlWeFhHexiisfsuv8rfwOYUJ04M428+vdM1CycpdQPER3I+E/JhscvEgWgikLhQ7FXYq7
FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq2ASaAVJ6AYkgc0EgI60sG5CSYUA3CHv8APMLP
qdqiwlK3qFf+QQ/89v8AsYzJ/wCQfx/S7v8A5AfH/fP/2Q==</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">omnibox_https_green</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>True</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Points</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[73 0 R]/Type/Pages>>
endobj
73 0 obj
<</ArtBox[4.0 2.0 15.0 17.125]/BleedBox[0.0 0.0 19.0 19.0]/Contents 74 0 R/Group 75 0 R/LastModified(D:20100412083230-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 76 0 R>>/Resources<</ExtGState<</GS0 77 0 R/GS1 78 0 R/GS2 79 0 R>>/Properties<</MC0 71 0 R>>/XObject<</Fm0 80 0 R/Fm1 81 0 R/Fm2 82 0 R/Fm3 83 0 R>>>>/Thumb 84 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
74 0 obj
<</Filter/FlateDecode/Length 304>>stream
-H‰¼SKRÃ0Ýëº@˱ãxK -Ye˜ÒÈ@»h`Z\Ÿ';””Ew0±¬7–ô}\?ö\½å»MÏt"Ë’tUó=óYBäõ~ÞS=ì,ï?èÄŸp2¥51ð4“ÍT9ãl¬<ML’‘ç‰T·Æ>ÒòEçïpý&pV¤bÄ6 -6Ó¥¨@)Ý…§º†~ÑÅ»ºd‰^i‹›Ô";¯b;~p„T>ÙóÈÿ™åáÏòÜ!Omð2hEX?Ì–7ï¿mn±É
›»akŠ
uõ(iÝcv~ª)žEV•Ô2 9äßâc¢%UЩWðDŽ% -`%;ª*ôÅq5iFE}ùÞ9OÉýˆ7²¥/ -8;RZa1QMPB0E;2+!C6~>
endstream
endobj
85 0 obj
[/Indexed/DeviceRGB 255 86 0 R]
endobj
86 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
80 0 obj
<</BBox[4.0 11.0 15.0 2.0]/Group 87 0 R/Length 119/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 77 0 R>>/Shading<</Sh0 88 0 R>>>>/Subtype/Form>>stream
-q -15 2 -11 9 re -W n -q -0 g -/GS0 gs -9.9996185 -9.9996185 -9.9996185 -9.9996185 4.5009766 11.4990234 cm -BX /Sh0 sh EX Q -Q -
endstream
endobj
81 0 obj
<</BBox[5.0 9.0 14.0 8.0]/Group 89 0 R/Length 43/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 77 0 R>>>>/Subtype/Form>>stream
-0.439 0.627 0.345 rg -/GS0 gs -5 9 9 -1 re -f -
endstream
endobj
82 0 obj
<</BBox[5.0 7.0 14.0 6.0]/Group 90 0 R/Length 44/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 77 0 R>>>>/Subtype/Form>>stream
-0.439 0.627 0.345 rg -/GS0 gs -14 6 -9 1 re -f -
endstream
endobj
83 0 obj
<</BBox[5.0 5.0 14.0 4.0]/Group 91 0 R/Length 42/Matrix[1.0 0.0 0.0 1.0 0.0 0.0]/Resources<</ExtGState<</GS0 77 0 R>>>>/Subtype/Form>>stream
-0.439 0.627 0.345 rg -/GS0 gs -5 4 9 1 re -f -
endstream
endobj
91 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
77 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
90 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
89 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
87 0 obj
<</I false/K false/S/Transparency/Type/Group>>
endobj
88 0 obj
<</AntiAlias false/ColorSpace 92 0 R/Coords[0.0 0.0 1.0 0.0]/Domain[0.0 1.0]/Extend[true true]/Function 93 0 R/ShadingType 2>>
endobj
92 0 obj
/DeviceRGB
endobj
93 0 obj
<</Bounds[0.208588]/Domain[0.0 1.0]/Encode[0.0 1.0 0.0 1.0]/FunctionType 3/Functions[94 0 R 95 0 R]>>
endobj
94 0 obj
<</C0[0.733337 1.0 0.6353]/C1[0.733337 1.0 0.6353]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>
endobj
95 0 obj
<</C0[0.733337 1.0 0.6353]/C1[0.137253 0.678436 0.0]/Domain[0.0 1.0]/FunctionType 2/N 1.0>>
endobj
71 0 obj
<</Intent 96 0 R/Name(Layer 1)/Type/OCG/Usage 97 0 R>>
endobj
96 0 obj
[/View/Design]
endobj
97 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
78 0 obj
<</AIS false/BM/Normal/CA 0.75/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 0.75/op false>>
endobj
79 0 obj
<</AIS false/BM/Normal/CA 0.25/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 0.25/op false>>
endobj
76 0 obj
<</LastModified(D:20100412083230-07'00')/Private 98 0 R>>
endobj
98 0 obj
<</AIMetaData 99 0 R/AIPDFPrivateData1 100 0 R/AIPDFPrivateData2 101 0 R/AIPDFPrivateData3 102 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 3/RoundtripVersion 14>>
endobj
99 0 obj
<</Length 938>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (omnibox_https_green.pdf)
%%CreationDate: 4/12/10 8:32 AM
%%Canvassize: 16383
%%BoundingBox: -5 -7 6 9
%%HiResBoundingBox: -5 -7 6 8.125
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 8.5 7.5 8.5 7.5
%AI3_TileBox: -287.5 -355.5 288.5 378.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -19.625 11.0625 32 1283 686 26 1 0 96 181 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
100 0 obj
<</Length 20091>>stream
-%%BoundingBox: -5 -7 6 9
%%HiResBoundingBox: -5 -7 6 8.125
%AI7_Thumbnail: 96 128 8
%%BeginData: 19968 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD27FFA8A87D7D527D52525253527D527D7DA8A8FD4CFF7D7D5252
%27522E522EFD075227522852527D7DFD46FFA87D52522EFD16527D7DFD40
%FFA87E5252275252522E5252522E5252522E5252522E5252522E5252522E
%522752527DA8FD3CFF7D7D52525253525252535252525352525253525252
%535252525352525253FD06527DFD39FFA852522EFD13522EFD1052A8FD35
%FFA87D28FD0E5253527D527D527D527D527DFD0E52287DA8FD32FF7D5227
%522E5252522E52525227525259527D527D527D527D527D7D7D527D5259FD
%0452285252522E52525227527DFD30FF7DFD045253FD0752FD177DFD0552
%535252525352527DFD2EFF53FD0A5259527D527D7D7D527D7D7D527D7D7D
%527D7D7D527D7D7D527D7D7D527DFD0B52FD2CFFFD0B52FD1F7DFD0B52FD
%2AFF52522E5252522EFD04527D527D527D527D527D527D527D527D527D52
%7D527D527D527D527D527D527D527D5252275252522EFD0452FD28FF7D52
%5253FD0552FD277D52525253FD0552FD26FF53FD08527D7D7D527D7D7D52
%7D7D7D527D7D7D527D7D7D527D7D7D527D7D7D527D7D7D527D7D7D527D7D
%7D527DFD0952FD24FF7DFD0852FD2B7DFD08527DFD22FFA85252522E5252
%52287D7D7D527D527D527D527D527D527D527D527D527D527D527D527D52
%7D527D527D527D527D527D527D527D527D52522E5252522852A8FD21FF7D
%52525253525252FD177D52FD177DFD0552535253FD20FF7D27FD06527D52
%7D7D7D527D7D7D527D7D7D527D7D7D527DFD0B527D527D527D7D7D527D7D
%7D527D7D7D527D7D7DFD0652277DFD1FFFFD0752FD117DFD0F525352FD11
%7DFD0752A8FD1DFFFD04522EFD04527D527D527D527D527D527D527DFD06
%522E5252522E5252522E52525228FD04527D527D527D527D527D527D527D
%5252275252522E5252FD1CFFA8FD045253525252FD0D7D53FD0652535252
%525352525253525252535252527D52FD0D7D5353525252535252A8FD1BFF
%7D27FD06527D527D7D7D527D7D7D527D7D7DFD1B527D527D7D7D527D7D7D
%527D7D7DFD07527DFD1AFFA8FD0752FD0D7DFD1D52FD0D7DFD0752A8FD19
%FFFD04522EFD04527D527D527D527D527D527DFD04522E52525228522852
%7DA8A8A87DA87D59275252522E5252522E52527D527D527D527D527D527D
%7D53275252522E5252FD18FFA859525252535252FD0C7DFD055253FD0452
%7DFD0BFF7D52525352525253525252FD0D7D525252535252A8FD17FFA827
%FD06527D527D7D7D527D7D7D527DFD0852277DA8FD0DFFA87D27FD08527D
%7D7D527D7D7D527D7D7DFD065228A8FD17FF7DFD0652FD0B7DFD0952A8FD
%11FFA8FD0952FD0B7DFD06527DFD16FFA85252522EFD04527D527D527D52
%7D527D5252275252522E5227A8FD13FFA8275252522EFD04527D527D527D
%527D527D5252275252522752A8FD16FF52525253525252FD0B7DFD055253
%52A8FD15FFA852525253525252FD0B7DFD05525352A8FD15FF7DFD06527D
%527D7D7D527D7D7D527DFD0652277DFD17FF7D28FD06527D7D7D527D7D7D
%527D7D7DFD06527DFD15FF7DFD055253FD0B7D53FD0652A8FD17FFA8FD08
%52FD0A7DFD06527DFD15FF52522EFD04527D527D527D527D527D527D2852
%52522E5253FD19FF7D5252522E52527D527D527D527D527D527D52522EFD
%0452FD15FF7D5253525252FD0B7DFD05525352A8FD1AFF52525253525252
%FD0B7D52535252527DA8FD14FFFD07527D7D7D527D7D7D527D7DFD055228
%7DA8FD19FFA87DFD07527D7D7D527D7D7D527DFD06522EFD14FFA8FD0652
%FD0B7DFD06527DFD1BFF7DFD0652FD0B7DFD0652A8FD13FFA8275252522E
%52527D527D527D527D527DFD04522E52277DFD1BFF7D275252522852527D
%527D527D527D527DFD04522E5227A8FD13FFA8FD0652FD0B7D5252525352
%527DFD1BFF7DFD0652FD0B7D525252535252A8FD13FFA827FD06527D527D
%7D7D527D7D7DFD0752A8FD1BFFA827FD06527D527D7D7D527D7D7DFD0652
%28A8FD13FFA8FD0652FD0B7DFD0652A8FD1BFF7EFD0652FD0B7DFD0652A8
%FD13FFA827522EFD04527D527D527D527D527D52522852525227A8FD1BFF
%A827522EFD04527D527D527D527D527D52522852525227A8FD13FFA85252
%53525252FD0B7DFD0652A8FD1BFFA8525253525252FD0B7DFD0652A8FD13
%FFA828FD06527D7D7D527D7D7D527DFD065227A8FD1BFFA82EFD06527D7D
%7D527D7D7D527DFD065227A8FD13FFA8FD0652FD0B7DFD06527DFD1BFF7D
%FD0652FD0B7DFD0652A8FD13FFA8275252522852527D527D527D527D527D
%FD04522E5228A8FD1BFFA8275252522852527D527D527D527D527DFD0452
%2E5227A8FD13FFA8FD0652FD0B7D525252535252A8FD1BFF7DFD0652FD0B
%7D525252535252A8FD13FFA827FD06527D527D7D7D527D7D7DFD0752A8FD
%1BFFA827FD06527D527D7D7D527D7D7DFD065228A8FD13FFA8FD0652FD0B
%7DFD0652A8FD1BFF7EFD0652FD0B7DFD0652A8FD13FFA827522EFD04527D
%527D527D527D527D52522852525227A8FD1BFFA827522EFD04527D527D52
%7D527D527D52522852525227A8FD13FFA8525253525252FD0B7DFD0652A8
%FD1BFFA8525253525252FD0B7DFD0652A8FD13FFA828FD06527D7D7D527D
%7D7D527DFD065227A8FD1BFFA82EFD06527D7D7D527D7D7D527DFD065227
%A8FD13FFA8FD0652FD057D77FD057DFD0652A2FD1BFFA1FD0652FD057D77
%FD057DFD0652A8FD0AFFAEFFAEFFAEFFA8AEA8832D582E582E585859587D
%5859587D585958582E582E582E8384AE84AE83AE84AE83AE84AE83AE84AE
%83AE84AE83AE84AE83AE84832D582E582DFD04585958585859FD04582E58
%2D582D8383AEA8FD05AEA8FFAE89AEAE895E5E343A333A343A333A343A33
%3A343A333A343A333A343A333A343A333A333A333A333A333A333A333A33
%3A333A333A333A333A333A333A333A343A333A343A333A343A333A343A33
%3A343A333A343A333A333A3A6565895E89FF89AE895F3334113433343334
%333433343334333433343334333433343334333433343334333433343334
%333433343334333433343334333433343334333433343334333433343334
%333433343334333433343334333433343334115E5E655EFFAEAD5E113A34
%3A333A343A333A343A333A343A333A343A333A343A333A343A333A343A33
%3A343A333A343A333A343A333A343A333A343A333A343A333A343A333A34
%3A333A343A333A343A333A343A333A343A333A343A333A343A335E5E89AE
%895F11341134333411343334113433341134333411343334113433341134
%333411343334113433341134333411343334113433341134333411343334
%113433341134333411343334113433341134333411343334113433341134
%3334113A5EFFAE343A333A343A333A343A333A343A333A343A333A343A33
%3A343A333A343A333A343A333A343A333A343A333A343A333A343A333A34
%3A333A343A333A343A333A343A333A343A333A343A333A343A333A343A33
%3A343A333A343A333A3365FF5E3433343334333433343334333433343334
%333433343334333433343334333433343334333433343334333433343334
%333433343334333433343334333433343334333433343334333433343334
%3334333433343334333433343334333434FF3A333A343A333A343A333A34
%3A333A343A333A343A333A343A333A343A333A343A333A343A333A343A33
%3A343A333A343A333A343A333A343A333A343A333A343A333A343A333A34
%3A333A343A333A343A333A343A333A343A333A343A335EAF333411343334
%113433341134113411341134113411341134113411341134113411341134
%113411341134113411341134113411341134113411341134113411341134
%1134113411343334113433341134333411343334113433341134333411AE
%3A333A343A333A335E838983895F8983895F8983895F8983895F8983895F
%8983895F8983895F895F895F895F895E895F895E895F895E895E895E895E
%895E895E895E895E655E895E655E655E655E655E5F5E655E5F5E5E343A33
%3A343A333AAE33343334333433345EAE89AEADAE89AEADAE89AEADAE89AE
%ADAE89AEADAE89AE89AE89AE89AE89AE89AE89AE89AD89AE898989ADFD12
%895F8989895E8964895E8964895E895E89343433343334333433AF3A343A
%333A343A335FAEAE89AEADAE89AEADAE89AEADAE89AEADAE89AE89AE89AE
%89AE89AE89AE89AE89AE89AE898989AEFD1689658989895E8965895E8964
%895E89645E333A343A333A333AA8113433341134333434AE89AE89AE89AE
%89AE89AE89AE89AE89AE89AE89AE89AD89AE898989ADFD06898389898983
%89898983898989838983895E8983895E895E895E895E895E895E895E895E
%655E895E655E89343411343334113433AE3A343A333A343A335FAEAE89AE
%AEAE89AEAEAE89AEAEAE89AEAEAE89AE89AE89AE89AE89AE89AE89AE89AE
%89AE89AE89AE898989AEFD128965898989648965895E8965895E89645E33
%3A343A333A343AAE333433343334333434AE89AE89AE89AE89AE89AE89AE
%89AE89AE89AE89AE89AD89AE898989AEFD0E8983898989838989895F8989
%895E895F895E895E895E895E895E895E655E895E655E893A343334333433
%3433AE3A333A343A333A335FAEAEADAE89AEADAE89AEADAE89AEADAE89AE
%89AE89AE89AE89AE89AE89AE89AE89AE898989AEFD1289658989895E8965
%895E8965895E8964895E8964655E5E333A333A343A333AAE333411343334
%11345EAE89AE89AE89AE89AE89AE89AE89AE89AE89AE89AD89AE898989AD
%FD06898389898983898989838989895F8983895E895F895E895E895E895E
%895E895E895E895E655E655E655E655E65333433341134333411AE3A333A
%343A333A335FADAE89AE89AE89AE89AE89AE89AE89AE89AE89AE89AE89AE
%89AE89AD89AE898989AEFD1289838989895F8989895E8965895E895E895E
%895E895E895E655E5E343A333A343A333AAE333433343334333434898389
%838983898389838983898389838983898389838983898289838982898389
%5E8982895E895E895E895E835E895E835E895E835E895E835E895E5E5E89
%5E5E5E895E5E5E5FFD065E333433343334333433AF3A343A333A343A335F
%898983AD898983AD898983AD898983898989838983898389838983898389
%8389838983898389828983895E8983895E8982895E895E895E895E895E89
%5E895E895E895E895E655E895E645E655E5E333A343A333A333AA8113433
%341134333434AD838983898389838983898389838983898389828983895E
%8982895E8982895E895E895E895E835E895E835E895E835E895E835E895E
%835E895E5E5E83FD105E333411343334113433AE3A343A333A343A335F89
%AD83AE89AD83AE89AD83AD898983AD898983898989838983898389838983
%89838983898389838983895E8983895E8983895E895E895E895E895E895E
%895E895E895E895E895E895E655E895E5E333A343A333A343AAE33343334
%3334333434AD838983898389838983898389838983898389838983898289
%83895E8982895E895E895E895E895E895E835E895E835E895E835E895E5F
%5E895E5E5E895E5E5E65FD0B5E64343433343334333433AE3A333A343A33
%3A335E89AD898983AD898983AD8989838983898389838983898389838983
%8983898389828983895E8983895E8983895E895E895E895E895E895E895E
%895E895E895E895E895E655E895E5E5E65FD045E343A333A343A333AAE33
%34113433341134348983898389838983898389838982898389828983895E
%8982895E895E895E895E835E895E835E895E835E895E835E895E835E895E
%5E5E835E5E5E5FFD125E333433341134333411AE3A333A343A333A335E89
%AE89AD83AE898983AD898983898989838983898389838983898389838983
%8983898389828983895E8983895E895E895E895E895E895E895E895E895E
%895E895E895E655E895E655E655E645E5E343A333A343A333AAE33343334
%333433345EAE89AE89AD89AE898989AE898983AD89898389898983898989
%8389898983898389838983895E8983895E895E895E895E895E895E895E89
%5E655E895E655E655E645E655E645E655E5E3A645E643334333433343334
%33AF3A343A333A343A115FAEAE89AEADAE89AE89AE89AE89AE89AE89AE89
%AE89AD89AEFD1689658989895E8965895E8965895E8964895E8964655E65
%5E655E655E653A655E3A333A343A333A333AA8113433341134333434AE89
%AE89AE89AD89AE898989ADFD068983898989838989898389898983898389
%5E8983895E895E895E895E895E895E895E895E655E895E655E655E645E65
%5E645E645E643A643A643A64333411343334113433AE3A343A333A343A33
%5FAEAE89AE89AE89AE89AE89AE89AE89AE89AE89AE89AD89AEFD16896589
%8989648965895E8964895E8964895E8964655E655E655E655E653A65403A
%333A343A333A343AAE333433343334333434AE89AE89AE89AD89AE898989
%AEFD0E8983898989838989895F8989895E895F895E895E895E895E895E89
%5E655E895E655E655E645E655E643A655E643A643A643A64343433343334
%333433AE3A333A343A333A335FADAE89AE89AE89AE89AE89AE89AE89AD89
%AE898989AEFD1289658989895E8965895E8965895E8964895E8964655E89
%5E655E655E655E655E643A653A643A3A343A333A343A333AAE3334113433
%34113434AE89AE89AD89AEFD068983898989838989898389898983898389
%5E8983895E895F895E895E895E895E895E895E895E895E655E655E655E65
%5E645E655E643A643A643A643A5E3A403A40333433341134333411AE3A33
%3A343A333A335FADAE89AE89AE89AE89AE89AE89AE89AE89AE898A89AEFD
%16896589658964896589648964895E8964655E6564655E655E655E653A65
%3A653A643A5E343A333A343A333AAE33343334333433343AAD83AD898983
%898989838989898389838983898389838983895E8983895E895F895E895E
%895E895E895E895E895E895E655E895E655E655E645E655E5E5E655E5E3A
%645E5E3A643A5E3A643A5E333433343334333433AF3A343A333A343A335F
%898983898389838983898389838983898389838983895E8983895E898389
%5E895E895E895E895E895E895E895E895E895E895E895E655E895E5E5E65
%5E5E5E655E5E5E64FD0A5E333A343A333A333AA811343334113433343489
%8389828983895E8982895E8982895E895E895E895E835E895E835E895E83
%5E895E835E895E5E5E835E5E5E83FD165E3A5E3A5E3A5E3A5E395E333411
%343334113433AE3A343A333A343A335F8989838989898389838983898389
%8389838983898389838983895E8983895E895E895E895E895E895E895E89
%5E895E895E895E895E895E895E655E895E645E655E645E655E5E5E645E5E
%5E645E5E333A343A333A343AAE3334333433343334348983898389838982
%8983895E8982895E895E895E895E895E895E835E895E835E895E835E895E
%5F5E895E5E5E895E5E5E65FD0E5E3A5E5E5E3A5E3A5E3A5E3A5E3A5E3334
%33343334333433AE3A333A343A333A335E83898389838983898389838983
%898389828983895E8983895E8983895E895E895E895E895E895E895E895E
%895E895E895E895E655E655E5E5E655E5E5E645E5E5E645E5E5E645E5E3A
%5E5E5E3A5E343A333A343A333AAE33341134333411343489828983895E89
%82895E895E895E895E835E895E835E895E835E895E835E895E835E895E5E
%5E835E5E5E5FFD0E5E3A5E5E5E3A5E3A5E3A5E3A5E395E3A5E395E3A5E33
%3433341134333411AE3A333A343A333A335E838983898389838983898389
%8389838983898389828983895E8983895E895E895E895E895E895E895E89
%5E895E895E895E895E655E895E655E655E645E655E5E5E645E5E5E645E5E
%3A643A5E3A5E343A333A343A333AAE333433343334333434898289838982
%8983895E8982895E895E895E895E835E895E835E895E835E895E835E895E
%5E5E895E5E5E835E5E5E5FFD0E5E3A5E5E5E3A5E3A5E3A5E3A5E395E3A5E
%333433343334333433AE3A343A333A343A335F898989ADFD0E8983898989
%838989895E8989895E8965895E895E895E895E895E895E655E895E655E65
%5E655E655E645E655E643A643A643A643A643A643A403A643A3A333A343A
%333A333AA8113433341134333434AE898983898989838989898389898983
%8983895E8983895E895E895E895E895E895E895E895E655E895E655E655E
%645E655E645E645E643A643A643A643A3A3A403A3A3A403A3A39403A3A39
%40333411343334113433AE3A343A333A343A335F89AE89AE89AD89AEFD16
%8965898989648965895E8964895E8964895E8964655E655E655E655E653A
%653A643A653A643A643A643A643A643A643A3A333A343A333A343AAE3334
%33343334333434AEFD06898389898983898989838989895E8989895E895F
%895E895E895E895E895E895E655E895E655E655E645E655E643A655E643A
%643A643A403A3A3A403A3A3A403A3A39403A3A3940333433343334333433
%AE3A333A343A333A335E89AE898989AEFD1289658989895E8965895E8965
%895E8964895E895E655E655E655E655E655E655E643A653A643A643A643A
%643A643A643A643A643A643A3A343A333A343A333AAE3334113433341134
%34898389898983898989838983895E8983895E895F895E895E895E895E89
%5E895E895E895E655E655E655E655E645E655E643A643A643A643A3A3A40
%3A3A3A403A3A39403A3A393A393A393A393A333433341134333411AE3A33
%3A343A333A335F89AE898989AEFD128965898989658965895E8965895E89
%64895E8964655E655E655E655E655E653A653A653A643A653A643A643A64
%3A643A643A643A643A3A343A333A343A333AAE33343334333433343AFD09
%8983898989838989895E8965895E895E895E895E895E895E655E895E655E
%655E655E655E645E655E643A643A643A643A403A403A403A403A3A3A403A
%3A39403A3A3940393A333433343334333433AE3A343A333A343A335E8989
%8389898983898989838989895F8989895E8983895E895E895E895E895E89
%5E895E895E655E895E655E655E655E655E645E655E643A643A643A643A64
%3A643A5E3A643A5E3A643A3A39643A3A333A343A333A333AA81134333411
%34333434895E835E895E835E895E835E895E835E835E835E835E5E5E835E
%5E5E5FFD165E3A5E5E5E3A5E3A5E395E3A5E395E393A395E393A393A393A
%113A333411343334113433AE3A343A333A343A335F898983898389838983
%895E8983895E895E895E895E895E895E895E895E895E895E895E895E895E
%895E655E655E645E655E645E655E5E5E645E5E5E645E5E3A643A5E3A643A
%5E3A5EFD063A333A343A333A343AAE333433343334333434895E895E895E
%895E895E835E895E835E895E835E895E5E5E895E5E5E895E5E5E65FD0E5E
%3A5E5E5E3A5E3A5E3A5E3A5E3A5E3A5E395E3A3A393A393A393A393A393A
%333433343334333433AE3A333A343A333A335E838983895E8983895E8983
%895E895E895E895E895E895E895E895E895E895E895E895E655E655E5E5E
%655E5E5E645E5E5E645E5E5E645E5E3A5E5E5E3A5E3A5E3A5E3A5E3A5E3A
%3A393A3A3A393A343A333A343A333AAE333411343334113434895E895E83
%5E895E835E895E835E895E835E895E5E5E835E5E5E5FFD0E5E3A5E5E5E3A
%5E3A5E3A5E3A5E395E3A5E395E3A5E395E393A393A393A393A393A113A39
%3A113433341134333411AE3A333A343A333A345E83898389828983895E89
%83895E895E895E895E895E895E895E895E895E895E895E895E655E895E65
%5E655E645E655E645E645E5E5E645E5E3A643A5E3A643A5E3A5E3A5EFD08
%3A393A343A333A343A333AAE333433343334333434895E895E835E895E83
%5E895E835E895E5F5E895E5E5E895E5E5E89FD125E3A5E5E5E3A5E3A5E3A
%5E3A5E395E3A3A395E3A3A393A393A393A393A393A393A33343334333433
%3433AE3A343A333A343A335E83895E8983895E8982895E895E895E895E89
%5E895E895E895E895E895E655E895E645E655E5E5E655E5E5E645E5E5E64
%5E5E3A645E5E3A5E3A5E3A5E3A5E3A5E3A3A393A3A3A393A3A3A393A393A
%333A343A333A333AA81134333411343334348983895E895E895E895E895E
%895E895E895E895E895E655E655E655E655E645E655E645E645E643A643A
%5E3A643A3A3A40FD063A393A3A3A393A393A393A393A393A393A393A393A
%393A333411343334113433AE3A343A333A343A335FFD0E89658989896489
%65895E8964895E8964895E8964655E655E655E655E653A653A643A653A64
%3A643A643A643A643A643A643A643A6439643A64396439643964393A333A
%343A333A343AAE3334333433343334348989895E8989895E895F895E895E
%895E895E895E895E655E895E655E655E645E655E643A655E643A643A643A
%403A3A3A403A3A3A403A3A39403A3A3940393A393A393A393A393A393AFD
%0439333433343334333433AE3A333A343A333A335EFD0889658989895E89
%65895E8965895E8964895E895E655E655E655E655E655E655E643A653A64
%3A643A643A643A643A643A643A643A6439643A6439643A5E3964395E3964
%395E393A343A333A343A333AAE333411343334113434895E895F895E895E
%895E895E895E895E655E895E655E655E645E655E645E645E643A643A643A
%643A3A3A403A3A3A403A3A39403A3A393A393A393A393A393A393A393A39
%3A393AFD0639333433341134333411AE3A333A343A333A335EFD08896589
%8989658965895E8965895E8964895E8964655E655E655E655E655E653A65
%3A653A643A643A643A643A643A643A643A643A643A643A6439643A643964
%39643964395E393A343A333A343A333AAE33343334333433343A895E895F
%895E895E895E895E895E895E655E895E655E655E645E655E645E655E643A
%643A643A643A403A403A3A3A403A3A3A403A3A3940393A3940393A393A39
%3A393A393A393AFD0639333433343334333433AE3A343A333A343A335FFD
%0A896589898964896589648964895E8964655E8964655E6564653A653A64
%3A653A643A643A643A643A643A643A643A643A6439643A64396439643964
%39643964395D3964393A333A343A333A333AA81134333411343334335E3A
%5E3A5E3A5E345E3A5E345E3A5E345E3A5E345E3A5E345E3A5E335E3A3A33
%3A343A333A343A333A333A333A333A333A333A333A333A333A333A333A33
%3A333A333A333A333A333A3339333A333411343334113433AE3A343A333A
%343A333A3334333A3334333A3334333A3334333A3334333A3434333A3434
%333A3434333A3434333A3434333A3434333A3434333A3434333A343A333A
%343A333A343A333A343A333A343A343A343A343A343A333A343A333A343A
%AE3334333433343334333433343334333433343334333433343334333433
%343334333433343334333433343334333433343334333433343334333433
%343334333433343334333433343334333433343334333433343334333433
%343334333433AF5E333A343A333A343A333A343A333A343A333A343A333A
%343A333A343A333A343A333A343A333A343A333A343A333A343A333A343A
%333A343A333A343A333A343A333A343A333A343A333A343A333A343A333A
%343A333A343A333A343A333AAE5E34113433341134333411343334113433
%341134333411343334113433341134333411343334113433341134333411
%343334113433341134333411343334113433341134333411343334113433
%341134333411343334113433341134333433FF895E3A343A333A343A333A
%343A333A343A333A343A333A343A333A343A333A343A333A343A333A343A
%333A343A333A343A333A343A333A343A333A343A333A343A333A343A333A
%343A333A343A333A343A333A343A333A343A333A343A3364AE8989343433
%343334333433343334333433343334333433343334333433343334333433
%343334333433343334333433343334333433343334333433343334333433
%343334333433343334333433343334333433343334333433343334333939
%FF8989895E3A3334333A343A333A343A333A343A333A343A333A343A333A
%343A333A343A333A343A333A343A333A343A333A343A333A343A333A343A
%333A343A333A343A333A343A333A343A333A343A333A343A333A343A333A
%343A335E395EAE5E895E895E5E3334113433341134333411343334113433
%341134333411343334113433341134333411343334113433341134333411
%343334113433341134333411343334113433341134333411343334113433
%3411343334113A3339333939FF
%%EndData
endstream
endobj
101 0 obj
<</Filter[/FlateDecode]/Length 16353>>stream
-H‰ìW{oÛ8¿/ ïÀû#‡X;$EŠTz8@ÏnöšÔˆÓ½ŠÂPl%ÑV–IN›ýô÷#åW»yõ¶{m§Il‰3Îã73òÞ_GãA0«/ò;¤ÄÙÛ‹š<ëêæˆØUr\–˶kÌÒþÙabH!ëÉJðç¼i‹º:²,ËLÍîýÓbz]—YK~*ºwõååÙ? -ÿ«ï•èãÁµa\)ñŵ‘r•^ËmÓßùû#rZWyƒ éÆ}„ ´ÿì9gË2o^UEÛ¸Yòû œÔ³¼„üfZfÖwKlûÙœgÍUÞ!u¹ì,ÈôúùEv››L±þ€—‹¼:¯¶6˜?ô¸$Œ
©ùt×.ñ´G¸gðñ¥Ùæd¶þìÕeFÕúdro„t½lŠ«¢:ZY¨&Ï›b¶M¡âD÷VñPïüûëÿÞZ8Þuyµ²Ð‰Nv @‡'cœ˜T³¨ž›è·ãÀ@x”õUÏÛÜ[¶/½õöy‚Dš¢2:SËÑ“Q¹ëyS/ÇÕeíì÷U~ÞdSˆ‘—¿äÓ¥ºZØÞ—E—³bqð "¸Õä¤gb³}\?¾;Î/QRÛíýjRÝäe½ØQ»YɪùWÖ,W=*³*kˆ]ßh~QÜ€“!F[ÝÛµ'(ͺk4…¼šµýãÇúúµÇõ§
›e{MÎëºÜ¨ý˜µÑ¾Z¶«FþÛ8cd7T/«>@¿=i%ðéIhßÜ)¾ÿ0¿eíQV–ÅU“-®‹é]ÜÁßœÔó>X·ó‹º,ÚùO;+£¬éŠi™oÛ.Ÿ?¤ÍD㲨f -U¤b•¨TSÍ4æ™ZjO+m._:Ô‘ŽuâèÔ§>¹ áK£ß‡ß\ú(ö?õÓ€xà‚„14ðèÀÌQ‰¤AÒ…©¡ -u]!¤Â0Œ@q˜€Òˆ‚ˆG.щ¤%'"íDÚ˜àüá¤_øú³+døçøtAÈ9¨¢Ê†sŒkHôxà+,¨
-€€€®òo²¿Î¼Í:RŽ„;«|÷Ùû,ÛüšìšœšTQÅQ¥1YÌcK@YÅ:öã ã(Žã$Nšp'q‘x‰Jtâ/Q'iJSžº© -Ùô‰—óTÁÏTøt~Q…6œ -Ž®IUŠ£ …è¨>:«¹<tYnËsENІ#ô¸ -…‘!1:\ÁÔMÝÄÑ CÓ{Ñ©µ«\Ï•®p]—»Ì¥<å ydš.¸Ï5WÜs0`wm8Òƒ"P2Úôu„"…³©'°¥%P`.ÊŒ§DSj¶&æBi¢£$tPHêÒGujÔ¨B¥z ÜEÍ -T®›À¦„hB͹fol.Ô? -=D¹(z¥¯cå xèAÄp½£C0ô jL6Çš‘¹ÌÌh@WÑvV˜™af‡™"–ƒ¶ÃípÁ1þÚ‘c6»C‹¯ÀŽ%mQ¦ì¨’kk´¼qs©cü
bÎûqö(È³ÁØÂîØÃðÚ€Ëù]\CëA`9[\õ°âœ3L—Žåo>ÓL1I&˜Ë8c˜@©É¾É -ü7€`´gõ?ÑŒš¿¬–¡è“Å{”¯lëérÄÆY—¡.×ÏÀŒy*¦&YsÛ?¿>yqZÏò;™ÏÈþ‡yY=Ⱥ®).–]Þ -ýèæÉ¥nD¿2¢{ÓeÛÕó¯ÛÉþ8µ™y923%öT8þáu[¾!SþUÚ^¾ÿ†§ñW.ƒ¶,¦ß{/h¦ÅPúøyøê«®·m‹þó’[ײc;FŸ'i½HÚlœé,0;´DÛ\S"ARnÒ_?—²(QßJg°É&àXçR÷‹çžû@0k©q¯ú¾6ù¾ŸuÅñÜ'Žç׎ÛŽaëå;
ô¾O8)ð•Cš¼Ñ¤+¦=¡»}ϯúpÉyK@®A Ü’þ*),Œ}B«Ú¼©ŸÐÝšÇÒ'—<Ž‚¿…ùþ¿w²û/ŸFç7\†¸©cÝn)#àB¸è×mñaÍS7.åŽhP<"R««>ÑUmþ&Mð†™@K)á8¿×*â_½Úƒ£‘&’aŸ}BsÑo<0¸‡àk¿°rì+¯ ¿Ü$?=H øE“%g\ö ÐE¿ñºEüîE¡ño`Þv—ÿÙV[dë×ö†MCú›^{+>©í÷×v!$Xã¿êÇü/úñKÀý8$Q/•ã€ÿQC!ã©Ý‚Òͱ:”¾R‚§'Í,}‚N_§ßøœÉ’fTe>-VhkŽ°6§?ÊŒ³XÍ‘À‚H¤h³¤3ÈÉÛKFH`ôû·<1¶¾ÆK½áXÈÏéÆʬ¥äb! ^@&Žem±Xyº—Dy$è‘<itP7”Qý\<(Á^¥ùEpSbnq´‹ñŽ {.b‘Vì÷;Ð8DDq›pþpjWwÌ
3\A -_4ú’աƳ!²¿Þ`˜ü ÷sûÉV?½gÌ,$w"L–óŠ43ÓñÅ8غ¹ÄÑ«uV»éd2ž4æyh“•iXHµmOtˆ¸à±F;Émâ ²ˆ53I€÷©£“¬;ŒwDí³KZÈIÿÉb2:]4;=Wé‹ÍTÉxXðãk¬DÕîÉÈ9ÙU¥à
àØ4wz‘§¹³"NpØ,¸3ï| -p$Œ<#;8=¥’YîsÁB&¹~$¾ï7˜áÈ'EŠ2Q¦wÌDñ¯›ënÉ‘°vw„å~$R@´j7°‘*-ùÁê›"‘]ryèPYññÝíuãÓG.œg•u ¤Ö„}ÆjuË}̧(çª7`Wf—X]¹H÷ñ#†{hÞš¶¨uîãú"b¦²F¯¸×ñ¿Ó>ë›ßÐ*òYjøßw÷•¤›çK.žÑ%ö†D¢ <ä*Œú†>n(# ¯¢K²ÇGjçÄ
ÀU¡“—›¯Ñ:Þl9 °9%—¼øU‘2¸>úÑyÁµ58溵„¦ç‘a¼Gè?Ãá$¥‹—Úÿ¤Ý8µ»x¡Ý(ÍËü…v^yÀö0K)¬Ÿ‰BùÌúØn(Û¨ø2èè’F/ê“ßa5û)«éOYMjsØat^_ã+ÛQ/2JÛi4|‘•Wwý»Œ†EÞeTßOÍðú†*ñGfƒ5ú5¢O•IZÝa¿óþ]•\uÔ•¸ "
(ß«%üüxw›Nìw‡…3õÞiñ˜-B^úñê7èýgb&c÷ák}Ð%סÐÏK˜ªÍVÑæ¿…íÀ¦†Õ3})†Ót›0¯u«_ú™uÃeˆu—`®,×ë²i÷3½É#YoPo†#+5A[ßÂåa™˜ä“8‡÷XïíZ1›ÍFÞ¤ê“c´Ì—·šn(!0Ö›ó˜å…ªˆ„MGÃÎ`î¾æ</½÷úIp ÌÂQV¸²b1êž/RÉm_"Êç2 A5ÛèîóäÀšt}¿F_KÚ´Ã~<µ¢Mà (Ebu(}¥OûufY tPl3ØÊ; -‰Èçj¢äÃ"Æ£vóüdݬ0[ §ö ɹ¸µ~Šˆ*S±‹zƒM‚ë1>ÌfÇÀ…Ï; -¨a«û!µåªÉü¼)óÉ5›4NÚvÃuÖ[-“o· ã:gf V»4DÑ]äleu—m—Gj?1:-ÜŠÃjCuˆ[˜Æ@OYÕsµcXĉV‚ëW
2[E6û‡öQȥѤ¸ãõ -…Ü‚Òj%Z,4¢ÚÛtÑE•H²:ù"Ë„”,‚uÈ]ê2šëÄ\¶×vm–2œ–üÐ% -7¾V6ž”ĬIu-»qB‘Gâ‡Ïm|™¹Þ[ýð-Vž‡î
㢅…£+ê§áNF磋ô¼ÅjŽ°„‰ƒe€’›ŠFI¢žXiƒv4µ~µˆ5zÀ -” -ý‘…£;‹SÐ$k¥À’Dþ3x@¤èÒÓ‹
‹Sèt2Oš¡ž\'6îÌ;Ãw¹`=,V71cpyâ&Ö7"ÿ$½ÌûRåž -ztÍ¥prÉd‘ÒôZjZv+PQxîÓ»ÿ.hÊòüþ¹×OÌ™™3ó=³@æÁ×m¾hM³b¥‘MÚWˆf°#{ð•„›Ÿ“"ý‹Àr«©‡ûÆÁ‰•ëÀÆ -² -î¶C¤€¤~kF[´•(‰'Ÿ+Dþ‘å>×nÖÅ´ú“¶ªŠ`P'¿äG2¸®¼Ý¦»ÿÍjU‡)8$×£A%8Tb¿FSEk©‰ -Ã<jŠ,|;r÷³ÈB¾›’>õ¨;GÛèÆ×–5Ïs+m°ü«æݺââ¬jð¤øÑ^.á-N“ÇÆTÿøx‹t¦N˜¯¥ÓÔºo…Ûåp@ã;`á0Y¾Ú„›eøL¯d]ÑþKšiÁÉO}sd
EM@i:À9˜§ÝÍð˜õ•’£E$PûAµw^6…˜VÚˆ7ü·´Ù - p›Jˆh—zÄ.:òw*©ˆÎÿ™ãUÄÙ`SExþ™µ‘„ -öô*† ¬°@Òx éL é캂€ùZ -czj0Sr€í…ca¬ñU)ÝFû¶à²Î|L>4ð+òÅÖÄÚ9¸ž]PDHµ}xáEó,œŸÅP¡*äžbÌ4ûY,QáL¥Ç‡h…‰>sŒd^•{õд(üþ’Ñê¸1µ-céO®ä‹aAþ¨‹´¾&Vè“jt"_ÐÿËJ±>Íœ…‰bï½B©BtÞ4‹)rñçF&É”>ÎP+¡†¡ó¶Õ(°u½ÂFF%²ŸI‹™Iñ ¿Xó&–ˆK´B>.ì¼6¦V -õ«ñ|Ny©½¡2Éhh©'¾ðQèÝR[VÃàBeâ*SòFô‰'Æ©LÏ/‰ÄÍžØHcï¡&›âKî¬ ~ø°´X"gáôèW-kýFË\iý«Ô¯>ØâL¼:´•á¯x
û’FËåjgo'7k=ý›RQœýþ°2¹uèkѹµ D×·¼ïÀb7m($e¿åÎiöÓ -5+é·Yb@̪ËÎPvœzøªò|ô‚&FÏOùÇðË3ÕbèGvÜ‘¿*_ï…ÉY˜Î¾v?í`qPýÄÐ}¡Z;ë2òŒHÇ‹ð„cÆW`yH’mQÛÙ»î|-¨Vãêc/Å;6›@ÛìƒìËäzÛã¿ì•‰k¾R쿨nÝ0^í ²Ž8lñ²:ߨꀗÓbŒ³pu †'ø°t˦¹?•Œ…@iXâX@ÇU¥µüÇa®ö#ëLì&69·SÝ´¢îâŒS½qG}Ö1‹˜º,¹Øø!I¥KÝ~yñQ²Ùa¶ó‹,/™)ÑžWÑF’Û‘ -À«+L§*BB+àQ-"àj¡Kf2êdQxnSä -*L9ÏÒ×ù1o-I‡ÜÝ+9¦Š§ñ»ló'9Æ#wù¨967ÀÑòÝ0qÞÝÜJsU6GÒD¢Õ³ -N»ïÅ-£lj¸¼¢g†¸ µ§QÝéËPñ€n,«qí7ÎEäÕO£àØ{„&ÐÆÔ®–—ì8zO -wž>Òðî‹1¿Î9íX1K~éeל¿\Á“›®â3ú雬+;H —©ÃÓJÀ"ºð[1ÜCBf=š•ð¬Âä¼q¢°ž -º7Ø%䜦|@Vp˜šFä”›kàwº2-*Í -:ý‘áò³ÑbJÇôi±ô2¦Ó…K%BÍüôX3”šy×€¹¡˜ª™ Àxvå›–{G¬<&êujÿi"žÒ`X Y²7°ÀQ]¼—¾áô -ã/Ê¢k)š£º—Êw°´ÈÊ+°p¬78L1#á— jµaŠYÐ@ì9j8£Û3T<zcjRn/ý`éÃF?ÒZ¿Ü³õ˜UŒÒˆÅ‰W¢7$:†À\¤š©ÎúþO¡þÛzÑ ÿÀ¡ÝkÌHüýnÃ9ÿ_•¡–=\
1“‘m7U¹=i¡0p¤Îþ#õ#X¥%ï$Æ9S€é«!óÀ ÙÌÊyQ•: ÉBøaŠ‘³q"~›ö>0aÍ´Í9¿q²>:ð(3щè¥úó:c¦ž¶¶ÎÀ.ö¸ÐhŽ -sŸ;ƒ©_5ïîßgÜöEZ™–ÓEó‹k½+Èò‘3Ä
gl}'T˜Æà4»a¶ÁG+mwH”ÉÍ0åIûç¯7w–ÐÖAœx• -?Xß7”øÆÊé9hÚ×:?ú(p½ãtWõÿµYÄNKÛè¶Oåú‚ÌQN0às5¦Gp5ûçE£Ãd!Œ½Àɼ‹heŸ¦d¿_žî°Áf€Óágw¹XkSTØJS†r‡îÄÅyw䧥㙦(Âh€,·¡æ=ýÿ±ßùÿwGg!»¶Ï ½j@°™Íž¼—ìámLÓžd¤ü¨¶øÃ’’râ&Ë66ŒNÏÁI=S 1Moª -1°Ötqõ~î«Pwmå}KoÙÿôC¸~è}n]òÀ"RU#Fƒ$Ðb0àÖ¡wËýƒQìdbºÝ(MÓ~V)Rœ”û~CKL|VIÜ]¡+CvzÇ•åµzñؤXàjU¦rw¶eÝÑkÇÎÖÊ–$¸§·íUXÇxï cëë¸JþMö\™ž,ë]ùdûmùÝ(I‰9ÍH¢ÔÎh’d&9BÛOª4Ÿ7鮸¹rdÐÛ<[rаtRö”ÈÑ¿dµ]Lô2§·BN"ÜÞ\WmØo¼ÓL§º$
Ý–Š4̤ƃӮy‰…§±„áG¯´:7ÝΕ"!£ÐdÜ©i*ç -'b„kì{ÅXÄ4–4ú÷AÙïº7D±mBýmÿ†•,ŒÑ½&GP÷Â*¸WùåyIA﫾ðñÈ?i¤×3™75Z¶S!f1D†²‘Ò³Úš&÷{ÃÁ,/o4‘D0n)Cï»;Õ+w‚SœÆw¹<¦[Ú{+>×› :3¤Àç¬xùö–´ß̵¼ÚˆBÎE³‘c¦ã”«¸¿¥F;þرÅr3þ)ö8?·0Gnà2&Ö¨;¸u)› óhæÌÅq »|ä0ÚÝ£ºuâKŸ×Å90¥X»th<În,K…Å™8¨Œ‡ÀM’èÂQÝâÄCöÙˆ‹®Áõ׎c. ›[™T¦éòÛe‹¶>ül¨Îٺ①_ìÙÏ·NOfª‚Ê{@È÷Š"uMnçTã•óqÅakHC«£#¨€·‰Û¼BÁåviäÆè}IÌík¨ ú-©Ú‹F#0DëgÑCPªy¼¡\†Ü€iÙ.ÃrR<·P—¢Uü¾‡ON™ïeSº -c¾"—¥•ª&–ÎZ (—•„NŽxÚƒ\ÔóÇžüÜ÷ú%Ô"båI²ò$’œ
Ük~¾Ï‰ò<¹½ûnnÆhmD¥ÏìöB8‘ÜêvÃ|«"ëfIi‰L†úÈòe¾•yª
Êš`šÙôÉÒÚ|¬C’™£‰êªH?ÀÛ>ü±'æ;KáEüП2E½KÇ\JØ£w¬'q`µjc´ç—o¶(v¤ÂîÒùý«ByAEWÙOtI
ÙJB”™$w03oݳ”‹9ùè+º“6ö9-*= -ˆÝÙÅñ„'½:9˜ûƒ»_T@ì±Xº¤ýíߧ2yS•¤ß©ð«¡×¬¨°1º®ÑÆ¡ ÖÎ0‘ñU¡{›³J<û9—xf^ÏÙÞƒy–¬Ù×",±bZJþKJ “7p[ߘD{6gâ‡Ó_D†ÉïVÄ›ÐrUT]ü6RL󵤲›ÒÖ“Žes0_ŽÝdÇHT.JñÌVx®Õ±r0-U¹št§©ÂUðק>&Q^Mä~êMÚñl±á8šÚõȆŠý-L¿ø›Àb6Ý žEÌpä*W!78ŸïXSn›½ µØ9rÛJ:ú½^jo0¾Ö]Ä”’AÜs;P5% ¨Ê –=RÝš:0þeí’EfNÖÁEP÷'ÿ‹‚¥ajÎÝ|>eýx5¾·¾¿ rƒÎêaŠ%Ù>VK2]/„lÚ>ŠAST—švÅI«{6Ô&%W~ÚFËeÝÂ,5@«ÂÕs_ -¸jqð¿©i…â Žã|_ÚÁôJ°;„c£Ò–
6]|h°}AuëãÝ]a*Üä«mU㻢ÐP¶Š¢Ûð©Ø„É"á¯=1섺_åœÎö‹#ël°À_n;ó¬é£¸©K™O''Œè‚á*á{ç=¬¸“ð^–±}’™n‡¶—D{Ø ÷•Ôœã7fn“p¦xÈõ?J>éoNlœ«œÀ½4FéÅÿÿ-[š2lµù3Ä.;lè©Œoä‘Ö8\"—ÖbPû-šé71‡ ÷¤ðª÷ýdŒå;}J[ÜÂ5õka”,?äóx¿¶ç³x±^hQ±Aw ¾ˆÜ½E„T»«E‰\ÃíC›‡`‚¿øJÅlS*Þ›fôKVãDø8InÃaBù ÐòªèÃö1âEç[Å¢ðê0¼¡ŽÂ®R0ÕuœíÑ.;¶G×}Ù„ÀÉ -AMagtg³Rµ3þ7eBæq³‹.úüæ’´4×ÏêV:)f†WyÔìU-HKÑÜ`8sCQõtÛ†š‰¶*oOk5þ(Þ,f¢%ò³+{E!+©ªtìñ‡«árk»Þ¨_W;Òùe`¶+
ÆËÿ1ÇÌDMR[âJ’Q¸-Ó²ÌÃÊÍŶx(ð*#*ÒŠ?h§SôuôßöOª(™×¯Ë~yµCÜ–B¿gͤ%h‰çëAóý~øç„0ˆÑÅèœ= `ìzOªwíGŸož×ÛSGüGý]3Úﯿh^Óí\± 1`W5«X*´céÞ’ ¬ŠaéÐþòÍXà±Ð|ü¥/Ä鎚…Ö*¿/ØZI^›‰RU?–lQ($-8ál™–Ú',hmµx6[XZüx-Ø5Ö¶xªÆ‚“U?I$‡.²äÐfPñ+PÑCÌ>˜®/Rl$÷{%ð'éí¹Jæb΄Èr*¹¤=çZ)SŽ*©H!Ñ÷rÒ(ØcåɈdFÜ°Ã%éäÊ×éN Ø›Xw·€W¡¾¹{sȨDí±?›*Š,Ç•@<E’¶on<O¦D8µçŸI{)8|:¹þ4+OI%¶#W,•·8tÇõ{aö^B‰äƒ‘K|ÿæðõy‡NäiuÒ4†æóP¬8óBgö*Ø'”Ú–óˆ14aqÉŠ‘¡
ß$hõÇÜO¨ yb§§Š†6.Þ9d¡Áá€äHwÕjå(ðvêš‘¯$×é3_ ”
i´iútAæm£î -¾¼`óxÆY\z†žìxêm8á
ÄÕƒ C!—ìû!“§þRMâoÕ;&«9 AéO*ÍÜWhèP·ªOè3“oX^ž9Þ(·¢NN*`Uèià´ -”÷[µ·{rÜNInZhzjå”8²'zm#¨ !óžk틯”Í)®3õ/žZY97ìÔý'¼MÎg,U€†Ï&äÓ×J8;¼C‡¸ëJµ+ûÞ
ÊNöÜ›§£Y³!#¨ Q¬…‹ÞÛš”Žý„VÝòö+4³Ÿçè/Ð1J¶c¢¢CµûpŸ”Ñ£BÛótü+´6)”²FPMùƒãÙs"†¶Vl×öz)D¡½ŠOú -íæ‰üA‡š_ËdïÈ|¦ÑÞ¬¿
¡ýôÒmMÖ°ó9ö¿x$§õjÕ×»“pB§ª·©Cµúò××cs¾A9rÞ¼$Œ¡õ*i%÷ŠŽew8õ%À‘‚¥_#+7(oUóï&-_ûã Åþ<šº-ŽÎ®Ç9¼JÁ‘”?}]¸[ö;tuTY…t¨ß™rÞ¡^YY—lBrˆŠ×2±Q@3Ê)œHÑ4íb=áµÐ\ÝyƒNÕXé-¼h‹’% -jõ3¯/
»úq
¥_à={ì4Bàí]È:YÎëWz^‚X\%ËBÙ+¹Ù)ÖA»kÉâ¿ü›¾ÓÎÒúJ͘¾³VÂÄë/»Ê<)ï1“/ÎütgwÊ*Y&èpK3ôF¹µÞ€½z(Ö¶ï¡ð¶+©*D|K5ŸBÊ°SY5÷–þ lçàcˆrr<Ècr&5P¨á`›<•Abh¢÷®Vwšq‹É©yìSí“gˆä?›Œ»ZTú3Dô¡¨ð0:àÖÆ5aa -£|Ô€0êúœŸµ¢>#W×—I*6(-0c$æ+øCÚÒmµi8]'‡-”å¢CÊðªÀÔQ¬~î¦ñ•yî&L}ã`uò¤¨¾D¨%Wàä‡R+a‰o‹©ÈàÊ ™’± ð¡ `ËïÇöÆ„iÄÞˆ}¯Âi“_¨“S‚gñM<û綊’Ë0,Ì\TãÅ'-’kSIÀ×Ý%Ö:…žäc-‘°˜ì8£¡?KFTÕ%ŠuYßEòàž=ág8?¥“ã‹ÙºtËXìJÍ”Øûö\zPfßi‰”NÙñÁoÉù
´£tÎë·UW•xìäK”}ú'k¿(Ö©2»»ÃÊ/ùUe¤žw¤Æê~!cF¤½0cFDs1™i-ží"ÆõG¥àžk¾‚©”ýÙK6È¡#´xû[&ÒkŠ=!Øx®P†xQù©ü[Ž¿²5;ºJà‰¾’û«åÆrVvœŸ} 7 -·<ÉN©õc¤Éœ‚‹´Ó@4/Êdu♑™Ö;p∙[ž•»±?:BYÑTbWT¶?N8$tN˜}I
MÔEéþÔ:ÕÑù“ ä÷Lî*°“‘’ø 8âKëÊ©3@í1ÝÈÍ+¿ -vãsÊäÕƒ]û¶û~§©À@Ö2Èû…<Ðù 2çþK`ú“²¯`~ïtĉgr%Ád]]¬µ2>Ò{Ó€Cªâe…5P-Š˜jTÍ®:ŒîJ5…Aj%|î„š×Ú"W¶˜öºèME}ú½¡VÃÐèѱl´ªÆ߬ç&´€ƒDó³VÔ‘¿„ª'k•OŽ -ßì?U~¶[ô»8©–‹€ªãNq}”j>…`žn1Ñ{»I8M1-ÈÊxkŸ
-Âäì|å¢CûNÖáfj£K‘‘J‹™—=o¤Ò53•6&ξ-™Vjj{ÎÌÝ‘Éþ¡¹¬˜°!wëšq
ŠÆ[ÌÕ"Lµa^jæxFŸ§Ú4’ÂýbÕé6}žé²¢ƒ€(ëN¯™–ÞY -ìd½Æ\ÿgF·™Ñôh¼¨Re2Ý}ºûô9`P³Õ¨ÜA+©ô¢|=‚Ú?5®5i%.à –µ¶ý e&è§vjUÙ=yAñ}aÑAÏ¿¥i€¿ÖTЙa¤‚ ùëÿî¿ -UøœY
i×»¾Ó¨}Qù {¥„HÊŒÇ5vajñÙÆ €õ‘\6+q] Ö_1ÈCÎû§†C½a±Ü”Q«[& Vg÷³@~6K£]£'V¦„ü›÷ù»¨4\‹}’ä<mŒÒ¤Òl%ÖÛ¿rzvx¡¼$ªÊê"ÕîÝ—æÓíÉáU-[89¼K2—µI¦ù}†…eKŒ¿rkiCðS—]ò”s÷÷|ÌAÞ+yV+OD„]a—h2œžt%Κ$‡;UÓën%d{[ùZ¶Ù‹lþ¸˜9yÒâ rr$3ò;TËÖæ…!W$¥Çêæ|{vö'uU ±i9 æ±ÛÄ<‰È<”ÒÌB¼8irb3ÌþrâõÓdì Í WÜ+aˆú‹fìq+—ŠPw-eZnKoRF¢[©Y쮕X¶tÀúüŽÓƒ<©|u[ë)I¤´¯-Ù¤¾gä ß:¥þ]¦ÉOèÝ\nÚàþ-tyÿQì ŠÒ‹9bìcßÇ™,ôÔ÷wo’ð{UDì)µì…Øx}4Ä\F‹‹Ø’´_×xìôo«NÅ4/íbs´±d6Ë]u\ôÄ$i+<>ŽÇü¡'þ):ŸˆíÞÖÒ -&FS1{¥Æp±Ý¾Hà¥y@ÓK
;iòÊa,t-´{
:
`R݈Îß^BˆÍ7¯JžG¬(ÛJ»
GIÕ/`à(À7H¹´CÊ…)HÓÃöJ¢#K£Íô”Õ‘NGŠ ×tZGB“<Ú,Šc(´JžRB2¹]JH”ü¿Qbé1”’®°ñÁ¾cÄ@œ¶YÕu…-%N)£E$¥Š“9ŸŒïÁÀŽ³ðü.ÆL q2—Ôsf5T¢‚¨”Êû]1 Nœ!RÒ¢H%u»uç…áÿŠ»˜zo‚'ÊéËe„§cfìãR<cÅ^’›1¿tvðçýSâä.–É)D¦ÁáähÛðÖez9ĪþG°>”R"Åe/võõ3Wš;cŒãÍÄñ(wwä¯QUY=#8Z®Rbz¾*¡WÌýÄlšrsü€m2Ÿ‹I[Òsß‹…a) -H‰¬WëZÚJ}‚<„@ `´€BD¹/EøÄz¤ -¾ÿ™™„d&ÌLðÏ|¶Æµ÷^û¶v[+¾¬3ÙâõcA¯;¥L±gÈ…EôéF+ö')=•íf²?Û¹´Vš¯J©—i%l$zF>wZáÄú§?)à -B99*Ç®ÑÇ’?ohŨÙ@Ùž”î9øgeV8³z-½ö¨ÈÎ3T ©˜‹ÓήҫææãE#ùѸt½É ç$YOiͶV(˜²óX
E+Ç;ÙU&ÒÞ-ã†&ÃGOÇsD’}®èÓñ¨ULAQ9± oQèp1×>2â¥×ª`Ìû½x@rþ¶¼ñaãü^?‘eû™¶’Jaû¹€VˆDÙi*X÷»ã§å9½E> -hB-ŒC¶!E’ö6X9yçëiÑ+ÁVã¯`„šþ¤Þ•ñÎ1BR:?‰º##îÞ„ü†ýiHàýMæ×+CèPÁv‘9¨’™Bçþ#ùѸ<ätlŸxWÒþ“jj&ø(’(ÎAsIJÁ¡^Q;GE=Ÿ¶o±@ƒéMêe®å75äê»I&æê䔧K·gulêb‰O”@oä› ø¤¨M6!ˆˆÄV梉෡ۄԄÌ9†Ë -¹òÝÐ+¯Tóû»ª§òƒÏå2$3—Ï?iF—Ÿ9N¬gT¯êñ&Ãè·pä´{`ÞûŒJ2k¨ºÈ°ZáÛÓ¨z1IþݵþáFu›Ív#8Á“4fôIQ½ꩲtf£'/±hñîŸgÄBüÀ6ªŽ“L£zµñ³Å0ú
0&g¯*ôX³ÃǨùÆ6jµÃ·žQ8“‰R’¯ÿkŽYF;z¯}¦Q0ÇL³W%³¿O¸?Ù_.?ãù”Ðw™²îûÎîÿ—úc<÷K -K”šß°+íÏÿ˜$c‰ÇïìœÚqˆ£“í¨B+æÚMþ)¯@õ;«_†‰…𷊳¬(Óɼ¯{!ƶ²%”+k¸àVš% -(Ž‚ݾ±þ˜ú³îDT°_Ï K
‚•nÏêL(¤ax`¤L0Æ!K#EBÕ/¶ë\p#CƒO~÷‰ž‘€Ï²L
+^:±] FXÔl&Bñ6RŒ‘ÓqUÎEo=(ìºí:…ybY[”B«nQ<Ès}ºî¥Rd\0—ªSÄNµmaødÉ86yóÕ†ÞõJHCìóÙw¶¸ñt
_Ü ½ß)»[ó7?¿îÇd¤æ7Þ´®YÒÛ(û,§ÖÅ:Cq]wÜ6q t%{CK{<gfþœ-&*Oóïòîùæ%A–Õzûªb -¿"ÈÑòãCÆx¡=ž.aÙwð"^.,[ÁFÝΊ3:ëoMX¡S -HV?üÒ”[7×>"wå+ɘoÄèÆ–€fU2£Iýg$ü¤ƒGÿµè$Y`Õ¹Þ–½Éùý‚årÐõëÖí) ¨[Л
g‹ñ&:|@Yðô&Üv5ùm>NéÓñ(溼/Bñ$++û‚8û<âJB8‡v BñÍnwZúp¼]2ÉÄØ`„Ze¸ 6sŒ#¥¦ -Ê&õ6ŸÝ9OJž¿¥ÃF¢g$às‡6²õüÍ°BmÃ'¥¼ÞIá±5?K'wÜ]L*_§q•¬¼`‡$GD@µÓ뮌[YÍ4ŸÃDm_˜qVÇ÷v’îö]Iéøþ|O%Aƒ’äôÃg©TŒ3‚e"?—‡öþj–ÙS`WRÔàø¡r¡$‚²/ˆs¼“7Î]IÁjŸ@oR¾+©2ópR/s-¿©¢à‰„lÃôÿ¬WéZâ<½‚^K)kKÁqPPÅÁAùÄad”ýþ¿¤-m’&MXþäáA<ï~Þó¢m/†A™ûõ´¡‰Œ!Ð^QrÁwd!\÷‹à¶·C¢ÙAƬvïÎ6† -BcŽawÆCq5ó͹EÜ¿ˆIòAp8ã#r½8{µÅ Žv¨’Š5„Põm)í
0Æ„’dl†¶Àk$nüèWî2øiOøǪ¯ì)¥£(etaûz%ÚK÷ oþΚs½"BÇ[æ -ôPWàããäÃÏh¾^6(·wvûÄá³ø>ÆZ-p@†K´ð±FÊ.üYr´jiÚß@>ΚèÍÞ·Ç0AÃÎöcHá†a@èIæb2ÀÙbØæFS9X·¾Å€°e@œŸJä$wå¤b@!u ³Á -árÛrð¡"ì©`z΃5àg,]h?6qW‚Jª¶ów%ƒRAFÛlbÞJ‚ƒN=Áê1aXR„0„VJ*g— -Ã.S‚Œádà,æFN;ck`T -
F¥Å¢ ËgÚJ)U?º’|ñ\é>^<—gç—ÙÇëRQý¯T*jµøLJÙfñÈÿp÷nÌO¿iüîúKÕ–Ç—Öì_Ï1ª5Ž¿•¤vÚYKòbñÓ×SÓõŸvF0ªÐLþòòø.ßD[i°ðh&b§÷Ùqìä¿ÛҨѣqTþ離œì˜],2ÝÛ¨¿ò®1&+Å;šQIf³ùöoã+4úêa´šÈ!FßC¡€ct±ÌÇ–†Q azÄœéŒë'£Õ¨ÑŸþ0j4ótŒ.Ö¯ºJ3 -2f$øçÉ×½+n4̳ë>Ýh¦ÛcéýJF=†Æš¬L™FCõÑøetD3 -nî:Ì'Ë7½*Ãèñeð;}2`½3Œ"9`Œ¦å€ñÉ,„/ïª>ýw'ÌßI2úËL¿.„˜‰4ÍßYk²ž¥ˆÎÍàVÖ@'Ë$ëtÁ$$Ú¶ÃÏ'üdŒ}C€{\Ã4CSï«Tl7÷.ôhñ³âxÈRJð±ìý˜Ñi½š‹º2æí&nR.—€HB¨¼ÜŸT({ïò®uÑÕº\¥Û»H½¬‹5šK’ÌÈSfÊÈ“âÛ¾t’Ls -—¹»æÉYéHõSøR`b’ÝS0 -oe—À#‰öÓ”hÎâ3™ßŽ°;cÛÅG´&e^„“>XˆºÆË©Tñ9w}y©ŽV,§ÎL̽spºR§]¡>tã3§ã1Õ·%]ý.ëå—e•w‹Uk!I¶ØÛAü·+Oðdg'ceXýp¹Æ»YǺ!#ÌÐÒÁ“ZÎ0 8¯Ðú¾8ÁçžpÄR}†+ÉÑÛ Å*2¢¢w%¨9>½f@ùÝÕò -èB9©FM5ät¥É–H¡<ONb´|äÃÏØ-¶óÕÁJjOà -ó´u2·ÈÉÑrò$´ZÐN¾E2v¹ÍIÉÈggb&C’EÓÁí6ìö{ó¯ªN@`*7.À†Kу””>„K/ëb
Óc¨61ýqEE¨§—åPÅÕÓ•·z‚=FHÖ0¼,¿}[Dš™:nb± -u2KÌPÄ׳5)ØAø¼
¤ É\É>«á‚}‡fät¡¥s@·ô8|z†·Àïî¥#jpUÕh•´÷‹YKøXMÌ"áY-<©Õ· -Íê1¤–…ÖiD´C™Ž[Ý/â -j®G‹ŸÑ€ìÙ'’3Þ½Ã\P¡jn¤ÅVJ»%†X“Ô´˜»Ò[õÂ줊Ϲë§×ˆQ} -°Ppý[ß…¿ö^t-«Í¯½ç6U‚YI›aù¸ñXQW}!˜&Òø©Kï1–Ü·ÇJóíÝc#Û#,É\œötO*è<Õ_z^ÞXHC1cÄ,øÞìMs `õI0ü„ÝŒ”š¿ªßÆÞÃo1ð-~«¹'GðR3 l}bÙGáÞòÉL"vWŒU—GÁTZ=‹KóJÂED$jüèWî2øi[iA>({Šeìrê&Âμc -v´œ°¹Htâõèy…ŒÙ¬ËöJ‚Õ×¢ ´,øŸa™Öôí;³-ØÉÛ*xw£µ§„œ PìÀYNžvôêdçC™wöŠ"â[l|±+÷Înç -–HŸs×p*mÖE -/‚Ù8mÄᣠa>wÆв’›ep8y×1ìÐÆ®-†ïn$• ªßL1‰É -‚é(*(àýïžI…£®÷þáËÖì²v+ µSwR¢©É$ÏÒýðGã³É&^wì sÔÉ6å×õ —ðl_¶)zßô ºè²1¶F){ïgÅ>ùUÐõt¼I0£Rs
›X„2¢*¦Q}|RÅÒí¶.–õ7]OôÓ›â?ø¹ú)N`c° e_dSÑú¹„ÐõPÿA,v#ý°º¿EQÙxù6!™~™¼äu]95[USÙÔBö+ž¾Â‡ðíÏí[ßk#…Úo/ôÉzæë®N<Õ+ìwºšž¦¼—ñ‘½¦7šØäÈf»t˩PÌW»ƒ÷î?ñ{à¦çb Rõ} -}Ql#O*¥•ËRqOÞù÷™ !ç|ë}Lzë€<Ñ–œ(ÌöTã½òèð@ÿ†‚™Ú®ƒéŽ‡Ç°Vn‡/4‰B8Dã%X,³…eœÅ˹µ‡Æñ⇿‚ÞdrªNèaE|gV™D•ÐAî -Å»=-[yz‰KŠŠ›b*q&û¹ðÖÀ:È@ÝwŽ lUëHå]£Ó8cTEç -\»ß.©gšvtØ« -F(”¢ÄdÃ,ä»Ï#,;2Âf ƒc&@3Ï¢+üDÀŠÍ2ľE‡cæ¹f•Ç—àÞ–-¬8—àg‰–=6˜~üâ
¯Ñ^žÆ‹(ôËØÚðJ^J˜ö¼ùJ0
F/cú5ÿv§6r›èmÔIv¬¢ž6˜ØØeëdâ~Køï†ü;bGtï:©x>Ûñ%¦ù·He—}Ì~=¡<“sCf|CbÉô¢÷n±è1h³hêöï¼ÊÙ›uùOØkaNs@Ým|Í<]LWdò6ƒ¿€É¹APCe«TJ–ñ—éÚù*Œ.pì‹ÂºÃDI¯Eýø -Xüdž3ö
ù^=ÜÛGàºã"ÁÕžz]P¨¨Ýì J´ŠÁÑéG‚~ß(Dàëá™`|ì¬äA‰E‚˜ŒOõ)Ì@¬î
NŒÙ…Û;ó$XöaDh†(Q8R¨Ÿ-u5ÈYGe/¾|@Õ€%
¥Ú÷)¾ú÷x ?ý‘„d†™ÞG]òV“ÃÎÞ{G>ዳ¸ÙzÅûï†4 H½bÒþAx%Dhw†1cUI±®½™§¼ƒ½<¦
…âsÛx¾T‰G^ìÜ&²J¤«å§ëìò"ë ²×ð,V -‡¶m‚gÇðJâ4lØFèûÑŽ ‚™Š2M0K7ÎL?``ŽÏn—ü«`¢½?˜ÜÏÑÛÚˆ÷|t.x`Ä‹ÁÇPÔ¢IâHcmA>In,µŸxà7š@Cjyõ€bÿ;*ý -áâ"@\ -s†_®?ªÈì/p̆pSòOjȹ^?ð]Xc‹]¥Ê:üe02?tÞ±µð¿êwV‚Åþ‚róò‡èþ5¶QwáâåŸ Ü¬ü[†¡Ü¼tC\Ë -³Ò²ØÏn.!VþìÎt|ý…¼o@0ä%„‹—!6å°tù„ÃÊ_ì`E†ûÿ€°y)j…öÜ‚èߣò‰êcΖµ?º¸w%Ç~ÑŠ¾"ó!Žý -ñÇ®å9íæØß"ž¾6ó9û'„‹cRÃͱ?ªñǾ•ÁàØ¥WTdÂ_x~0eãs -Íší«”*>S+ûǘ:ƒÞ„'XLþ¿!Š.<I¸=$ÙN,v§tBõld´¤Ðp’“éA›0YÔÊ6‹¦Ao29Å,’éÓrm)þ䢊\ÐR<Úã
e S󆔋FË…MG6¿NÃ1Ž6¹HÏ&æ—¼ -#ˆ°1dâ€Ç#£<ÙTEã¿“SËÀ–§tïÍñþ@vÉ3M,?,A!¶ØíiH—¹Ë -‚( ²Ge@@–çÌùs®ý«îÎ&GfüÎã3™tª©®®z몕{]’¸aD³e|:r[QÇËÜÝæu",ÇÍö,°eT2زܥ£@¤ÏM”ºÉ±òsyì -!fKa¬þ“vD¥¨âŒJ±˜ShWÚ®¹[</ÖNΑp¹ª$u×óMi§i7ÚÏCa3;¾jëƒ3îrµZ† -Úl3ל8QCc+¼¬NèlCF„®˜‚kó
¨ŽçO±ò²rÑNM -Ob?mJeR•¥’r_6½Lº˜«AÌŽ,@4~â]ì1Þqq^Á2†>eÙ58gß°ÒXÉG•hx~$ãÒ&r§ˆs{’4•Ïtjšã¶W—ÙZlŸŽV’w|i3Þw±0(õoJ©\j†CªŸ‚RŸ€\}v]ýBþǸÁž‹»Áø»ž‹LÜè~—è‘prJníº˜Å*í -¬¯\쌡’Jæ‘vÈ¢$¸|5±5|Wr&ž×Â(¾T_g‡|oÄ!ØtB=ìÑÒ,(£ô7šM—ŽpÊ~‰ë¥_¯‡’›CKÎ,Ÿ* VáÍ -&<Ø‘›Ò¶¢9§é¸!ˆûmÙQÆ“† §X"Ù—©§
Q‰· ì!¨ÛJóIâ ›2ö“ËY’—p -òžýìr)`¹Ø…ä.×—ÊMuq,i3„rWÆ&V&‡˜® ¥²h§S@«pPÞŽ~=UZuo‚z{X¶ED<æhÙ#j!_Ö¤‘ÏE³Š#ÉÚÛ¤~“×OÁ˜OhCæI} —šùUô"jƒ$íÜw¯e§LÇ$·º…ý¶ð‘>õ绢-+»©¸šëzcõ%RÛænrë;œMrþÞ³^g½…Ù -(&¼ÆöøN뜰 #…{ÚÆìÏA)0ämâ¾Å¼‹\ÞÁ*ùRA4ÞÇ¿é¡>‡p¾ÀƒZAÙåQë,AÔ¢>,0ëW -t–š‰M3À0ˆhNiÈ“Flz‰x³…¸¦ââ˜ÌÍ4ã9£\Ãàdìÿ®\ëÑÇû¿+×v†±ÊµarM/¤Ð¥£»Ô«*ã¨Z¬#†¦µÚ"Ù[ìü[×d\+¯üæ
8ê!§gDYåÈ7Ò”«<‰ù9ˆ Ýgy…S -Çå2óa«Gµ¾GCi"=’Âä
mJ蔦X¹Õœ~Ö> Í·ïfGÄ–è+cWÁ-Š'*XÕ“)bËxaªÈt¬¯Xes»Ó™²8§Ö…Ý.µ!”h¯È{w©DY*DÍNTôzœ©bA: -Ô/UpÌÙýUns~õ]ßgŽûDŹˆà¤t}ªâ
§*ø3©d¯is2R1É4ß«ø¨Rà±?S!áJ+3p
á+½öîrM}·Oð[û<k%ÑÒ÷•^å÷ûس0öÕ„sXÇA}©"ðMœ¼
c–ñÂÙ -åþA·\T%{%fÍIª+ëoÇû!²Q•‹Ìd¤¿ÉÏ!¤"DTŒY¤q -Y;:”Šr# -oà‹CúMÔ~hˆÛ+Æøä{ÃKxô7¼žÖY×£ž½*ƒ<oqòã1Y½Lñ -.Îb~R<‰â%±Á|AæöªFPk> «½écÆô×—°M:Å&CîcôCÚ£»Ô ù"·u¼ÌÍåü ›ÑY.]Åд–A[${ÎæßÂÁäõså§ßðCˆ1¬(”UŽ|›¸«[XV‘Z¨Ûÿ“v$T®*I£âz~£ý<6³ã«¶>8( -¾t´Ãq‹6„Fyíy±®OþÖvÉIþDøCÏHÌ)ÉQ§ -Á"„¾Ö§ïuJŒ³ƒÈHÈí…Åì°Ø¬'»¿qô©×¨w«gÜIöŽ`oÂIƒ5âvƒˆqBlF’SÈo6+$é”îœÅŸÛÍîà$êo6NµÓùõ¾ÛÅ~1]iïöÃÍGÑ™ƒ½¿þ#üßtˆ|0V"§È+ÑPP’ÑKL”Ãp7^”£R,/¡P8V>xéM@K´ü±jém†Á¿@ÿAǶ€
½¨ÇqÎÐÃ=+0 ØÁ]œ¬Ã’I°`ÿ~ü(ÛIÑË6)¾>J$¥h(‹¥¥dÀ„â³D³%¤%l4)C…ÙÀþȦž,gõ—˜ùʼnôYýQ?~7z…œCš Ù*ˈÞøºt,m&GAxáBµü-Uc_³b0ò“cc$¤K5挵PwÀ{Oœý’É%×uãÅ´$²ñ…¯¨á7‡+?wq†Z\P—êIÝ=p&ï^ø08zFóÉY}VQ7 éèÔ1‰ã_dÝ[Þ<ìvývXéÍ¡_=s÷ko%PèU«ãßmTiK)Ñéff¬k³ËáÂضX"¯3SOIÛ*J™P~>•+ö'”–•>hJÅq×¹¢»*!R¶œ÷ļq
16D±´^wÿ
j%_^·&S À[ó™vzÙ:¶9Ê`d_<y™‡P˜à‹³èéèR ‹æd¸|2¦uW…i¸Ý¹(,Q™0SH×{T.€V½«æ#ñb9I°†ª<ŒÖ%±“áF£´±”$k*‡ÝÄP¶e¸^1HîÖ&Ù·>ù‹Dvs5è
#ÚHä‚ÿ½Œ -úN6ãDÏ—…s52ä,Fd -:©&nX€$¶;š&“¤ãÅ,ÛDÉ Î“±ÓÀ^¨:
kL¨É63_SÓXóe—ùbâã'îæÓ¾SË®¾ü>ÈåÚ4üX|é7Ã×Cÿü›ß‡Í±ÿ3è~·ÛŸúÓð¬áxÚ}ü¹?CÂ.“9¿4ŸïÕ? -0000000016 00000 n
-0000000173 00000 n
-0000017815 00000 n
-0000000006 00000 f
-0000071289 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000014 00000 f
-0000000015 00000 f
-0000000016 00000 f
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000032 00000 f
-0000071546 00000 n
-0000071577 00000 n
-0000000033 00000 f
-0000000034 00000 f
-0000000035 00000 f
-0000000036 00000 f
-0000000037 00000 f
-0000000040 00000 f
-0000071359 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000071430 00000 n
-0000071461 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000021251 00000 n
-0000071662 00000 n
-0000017867 00000 n
-0000018278 00000 n
-0000018651 00000 n
-0000021668 00000 n
-0000020447 00000 n
-0000021438 00000 n
-0000021553 00000 n
-0000019435 00000 n
-0000019748 00000 n
-0000019960 00000 n
-0000020173 00000 n
-0000018716 00000 n
-0000018874 00000 n
-0000018922 00000 n
-0000020686 00000 n
-0000020749 00000 n
-0000020623 00000 n
-0000020560 00000 n
-0000020384 00000 n
-0000020892 00000 n
-0000020919 00000 n
-0000021037 00000 n
-0000021143 00000 n
-0000021322 00000 n
-0000021353 00000 n
-0000021742 00000 n
-0000021928 00000 n
-0000022916 00000 n
-0000043060 00000 n
-0000059487 00000 n
-0000071687 00000 n
-trailer
<</Size 104/Root 1 0 R/Info 103 0 R/ID[<8019B39EE7AC43E19CDBBFD116167D16><C0875923880D4488A67E3FE32296825D>]>>
startxref
71871
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_https_valid.png b/chrome/app/theme/omnibox_https_valid.png Binary files differdeleted file mode 100644 index 09f38b5..0000000 --- a/chrome/app/theme/omnibox_https_valid.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_https_warning.pdf b/chrome/app/theme/omnibox_https_warning.pdf deleted file mode 100755 index 93c7d63..0000000 --- a/chrome/app/theme/omnibox_https_warning.pdf +++ /dev/null @@ -1,627 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 37 0 R 69 0 R 101 0 R 133 0 R 169 0 R 205 0 R 241 0 R 277 0 R 298 0 R 315 0 R 332 0 R 349 0 R 366 0 R]/Order 367 0 R/RBGroups[]>>/OCGs[5 0 R 37 0 R 69 0 R 101 0 R 133 0 R 169 0 R 205 0 R 241 0 R 277 0 R 298 0 R 315 0 R 332 0 R 349 0 R 366 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 18597/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:DocumentID>xmp.did:FE7F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:99be064e-5c86-a745-81f1-cab0495880ac</xmpMM:InstanceID> - <xmpMM:OriginalDocumentID>uuid:75ba2b12-7b76-db41-b11a-ff68b2c7e410</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:b267fa81-1b74-fd43-a593-6eba44aa2010</stRef:instanceID> - <stRef:documentID>xmp.did:FD7F1174072068119B30B52A3A51FD83</stRef:documentID> - <stRef:originalDocumentID>uuid:75ba2b12-7b76-db41-b11a-ff68b2c7e410</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:FD7F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-12T15:16:29-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:FE7F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-12T15:18:34-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:CreateDate>2009-11-12T15:18:35-08:00</xmp:CreateDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:ModifyDate>2010-04-12T08:33:47-07:00</xmp:ModifyDate> - <xmp:MetadataDate>2010-04-12T08:33:47-07:00</xmp:MetadataDate> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>196</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAADEAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FUDfa
zYWVVlflKP8AdSbt9PYfTiqRXXmy8ckW8awr2Y/E39PwxVLZtU1GY/vLmQg9gxUfcKDFUKzMxqxJ
Pid8VcrMpqpIPiNsVRMOqajD/d3MgHgWJH3GoxVM7XzZeJQXCLMvdh8Lfht+GKp7Ya1YXtFjfhKf
91Ps30eP0YqjsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVWyyxxRtJIwRFFWY7AYqxbVfMs0x
MVmTFD0MnR2+X8uKpGSSanriqJtNNvrs/uIWZf5+i/edsVTaDyhcMKzzqnsgLfieOKoxPKNiB8c0
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</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_ssl_warning</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Pixels</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[368 0 R]/Type/Pages>>
endobj
368 0 obj
<</ArtBox[4.0 0.0 17.457 17.125]/BleedBox[0.0 0.0 19.0 19.0]/Contents 369 0 R/LastModified(D:20100412083347-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 370 0 R>>/Resources<</ExtGState<</GS0 371 0 R>>/Properties<</MC0 366 0 R>>>>/Thumb 372 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
369 0 obj
<</Filter/FlateDecode/Length 318>>stream
-H‰ÌSAnƒ0¼ï+ö6^×Äp
rBUšC€Úp€JIý~wÖÔT€=ZÏŽ=»¦zí¸ê»ÀÇçŽéF¥Åëô»Ð;Qð¹ix;¾¬ù‡÷LÕéøúM7ú·¾f9€2Ì„ÐL.úZ….©¸ÏJ<æƒ5O´C©L…¼¦ãhTUUV¼„'À¨ƒoÚ - ë± S‘/ĵ&¶ƒfe4Îö鳸Ʌµs‘Q’¼ëª¨%GÌYƒ'ÊÚIÑQ¸´¦jílAWû•ç²Á’Ÿ -%®Ñ°2ãVa´ -ŠŠ[%z¥þÛƒ‰Žv1^zýIÎô+À -8;UNVk5'4N!!<3+4Tbo~>
endstream
endobj
373 0 obj
[/Indexed/DeviceRGB 255 374 0 R]
endobj
374 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
366 0 obj
<</Intent 375 0 R/Name(Layer 1)/Type/OCG/Usage 376 0 R>>
endobj
375 0 obj
[/View/Design]
endobj
376 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
371 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
370 0 obj
<</LastModified(D:20100412083347-07'00')/Private 377 0 R>>
endobj
377 0 obj
<</AIMetaData 378 0 R/AIPDFPrivateData1 379 0 R/AIPDFPrivateData2 380 0 R/AIPDFPrivateData3 381 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 3/RoundtripVersion 14>>
endobj
378 0 obj
<</Length 946>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (omnibox_https_warning.pdf)
%%CreationDate: 4/12/10 8:33 AM
%%Canvassize: 16383
%%BoundingBox: -5 -10 9 9
%%HiResBoundingBox: -5 -9.45703 8.45703 8.125
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 8.5 7.5 8.5 7.5
%AI3_TileBox: -287.5 -355.5 288.5 378.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -40 25 16 1283 686 90 0 0 96 181 1 1 0 0 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
379 0 obj
<</Length 8508>>stream
-%%BoundingBox: -5 -10 9 9
%%HiResBoundingBox: -5 -9.45703 8.45703 8.125
%AI7_Thumbnail: 100 128 8
%%BeginData: 8372 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD23FFA8FFFD07A8FFA8FFA8FD52FFFD06A87DFD07A87DFD06A8FD
%4EFFFD19A8FD48FFA8A87DA87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8
%A8A87DA8A8A87DFFA8FD44FFFD21A8FD40FFFD0CA87DFD04A8FFA8FFA8FF
%FD0FA8FD3EFFFD0BA8FFA8FD0DFFA8FFFD0BA8FD3CFFFD04A87DA8A8A87D
%A8A8FD13FFA8A87DA8A8A87DA8A8A87DA8FD39FFFD09A8FD19FFFD0AA8FD
%37FFFD06A87DA8A8FD1CFFA87DFD08A8FD34FFFD09A8FD1FFFFD08A8FD33
%FFA8A87DA8A8A87DA8FD22FFFD04A87DA87DA8A8FD30FFFD07A8FD25FFFD
%07A8FD30FFFD08A8FD26FFFD06A87DFD2EFFFD07A8FD13FFA8FFA8FFA8FD
%11FFFD07A8FD2CFFFD04A87DA87DA8FD0EFFFD06A87DA87DA87DA8A8FD0F
%FFA8A87DFD04A8FD2CFFFD06A8FD0EFFFD0FA8FD0FFFFD06A8FD2BFF7DFD
%06A8FD0BFFA8A87DFD0FA87DA8A8FD0CFFA87DA8A8A87DA8FD29FFFD07A8
%FD0BFFFD17A8FD0CFFFD06A8FD28FFFD04A87DA8A8FD0BFFA8A87DA8A8A8
%7DA8A8A87DA8A8A87DA87DA87DA8A8A87DA8A8FD0BFFA8A87DFD04A8FD28
%FFFD05A8FD0BFFFD0BA8FD07FFFD09A8FD0BFFFD06A8FD27FFFD06A8FD0A
%FFFD09A8FD0BFFFD09A8FD0BFF7DA8A8A87DFD27FFFD06A8FD0AFFFD08A8
%FD0FFFFD07A8FD0AFFFD06A8FD26FF7DA87DA87DFD0AFFA87DA87DFD04A8
%FD10FFA87DA87DFD04A8FD09FFA8A87DFD04A8FD24FFFD06A8FD0AFFFD07
%A8FD13FFFD05A8FD0BFFFD05A8FD24FFFD07A8FD09FFFD07A8FD14FFA87D
%A8A8A87DFD0AFFFD06A8FD24FFFD05A8FD0AFFFD06A8FD15FFFD07A8FD09
%FFFD06A8FD23FFA8A87DFD04A8FD09FFA8A87DA87DA8FD16FFA8A87DFD04
%A8FD09FF7DA87DA8A8FD24FFFD05A8FD09FFFD06A8FD18FFFD05A8FD09FF
%FD06A8FD23FFFD07A8FD09FFFD05A8FD17FFFD07A8FD09FFFD05A8FD24FF
%FD05A8FD09FFFD05A8FD19FFFD05A8FD09FFFD06A8FD23FFFD04A87DA8FD
%09FFA87DFD04A8FD17FFFD04A87DA8A8FD09FF7DA8A8A87DFD24FFFD05A8
%FD09FFFD05A8FD19FFFD05A8FD0AFFFD05A8FD23FFFD04A87DA8FD09FFA8
%7DFD04A8FD17FFFD07A8FD09FF7DA8A8A87DFD24FFFD05A8FD09FFFD06A8
%FD18FFFD05A8FD0AFFFD06A8FD22FFA8A87DFD04A8FD08FFA8A8A87DA8A8
%FD17FFA8A87DFD04A8FD09FFA8A87DA8A8FD24FFFD05A8FD09FFFD05A8FD
%19FFFD05A8FD0AFFFD06A8FD22FFFD06A8FD09FFFD06A8FD18FFFD06A8FD
%09FFFD05A8FD24FFFD05A8FD09FFFD05A8FD19FFFD05A8FD09FFFD06A8FD
%23FFFD04A87DA8FD09FFA87DFD04A8FD17FFFD04A87DA8A8FD09FF7DA8A8
%A87DFD24FFFD05A8FD09FFFD05A8FD19FFFD05A8FD0AFFFD05A8FD23FFFD
%04A87DA8FD09FFA87DFD04A8FD17FFFD07A8FD09FF7DA8A8A87DFD24FFFD
%05A8FD09FFFD06A8FD18FFFD05A8FD0AFFFD06A8FD22FFA8A87DA8A8A8FD
%09FFA87DA87DA8A8FD18FFA87DFD04A8FD09FFA8A87DA8A8FD22FFFD07A8
%FFA8FFA8FFA8FFA8FFFD07A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
%FFA8FFA8FFFD05A8FFA8FFA8FFA8FFA8FFFD07A8FD1EFFA8A87DFD07A87D
%A8A8A87DA8A8A87DFD07A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8
%A87DFD07A87DA8A8A87DA8A8A87DFD07A87DFD04A8FD18FFFD4DA8FD15FF
%A87DA87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8
%A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87DA8A8A87D
%A8A8A87DA8A8A87DA8A8A87DA8A8A87DFD04A8FD14FFFD4FA8FD14FFFD24
%A87DA8FFFFFD27A8FFA8FD13FFFD25A8FD04FFFD25A8FD16FFA8A87DA8A8
%A87DFD1DA8FD06FFFD20A87DA8A8FD17FFFD08A8FD43FFA8FD18FFFD06A8
%7DFD43FFA8FD19FFFD08A8FD5CFF7DA8A8A87DA87DFD5DFFFD08A8FD5CFF
%FD07A8FD5DFFFD08A8FD5CFFA8A87DA8A8A87DFD1FFF93BCFD26FFCAB59A
%FD13FFFD08A8FD1DFF94FC8CBCFD25FFB58CFC9AFD12FFFD06A87DFD1DFF
%93FD048CBCFD22FFCAB5FD048C9AFD11FFFD08A8FD1BFF93FC8CFC8CFC8C
%BCFD20FFCAB58CFC8CFC8C8C9AFD10FF7DA8A8A87DA87DFD1BFF93FD088C
%BCFD1EFFCA93FD088C93FD0FFFFD08A8FD19FF93FC8CFC8CFC8CFC8CFC8C
%BCFD1DFFB58CFC8CFC8CFC8CFC8CFCBCFD0EFFFD07A8FD19FF93FD0C8CBC
%FD1AFFCAB5FD0C8C9AFD0DFFFD08A8FD17FF938C8CFC8CFC8CFC8CFC8CFC
%8CFC8CBCFD18FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC9AFD0CFFA8A87D
%A8A8A87DFD16FFCAFD118CB5FD16FFA8B5FD108C93FD0BFFFD08A8FD15FF
%C3FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5FD14FFCAB58CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CB58CFCCAFD0AFFFD06A87DFD17FFA1FD128CB5FD
%12FFCAFD128CFCC3FD0BFFFD08A8FD17FFC3FC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CB5FD10FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%CAFD0CFF7DA8A8A87DA87DFD19FFA1FD128CB5CAFD0DFFCAFD138CCAFD0D
%FFFD08A8FD19FFC3FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5FD0CFF
%CAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5CAFD0EFFFD07A8FD1BFF
%C3FD128CB5FD0AFFCAFCFD128CCAFD0FFFFD08A8FD1BFFC3FC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CB5FD08FFCAFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CB5CAFD10FFA8A87DA8A8A87DFD1DFFC3FD128CB5CAFD05FFA1
%FD138CA8FD11FFFD08A8FD1DFFCAB08CFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CB5CAFFFFFFC4B08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5CAFD12
%FFFD06A87DFD1FFFA1FCFD118C93CAFFC3FD128CB5CAFD13FFFD08A8FD1F
%FFCAB08CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5C3FC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CB5CAFD14FF7DA8A8A87DA87DFD21FFA1FD248CB5
%CAFD15FFFD08A8FD21FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5FD17FFFD07A8FD23FFCAFD208C93
%CAFD17FFFD08A8FD23FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CB5FD19FFA8A87DA8A8A87DFD25FFCAFD1C8C93
%CAFD19FFFD08A8FD25FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CB5FD1BFFFD06A87DFD27FFCAB5FD178CB5FD1CFFFD08A8
%FD27FFCAB58CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CB5FD0AFF
%A8FD12FF7DA8A8A87DA87DFD29FFCAB5FD138CBCCBFD09FFA8A8FD12FFFD
%08A8FD29FFBCFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3FD0AFFA8
%A8FD12FFFD07A8FD29FF9AFD148CFCC3FD09FFA8A8FD12FFFD08A8FD27FF
%BC8C8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC4FD1CFFA8A8
%7DA8A8A87DFD27FF9AFD198CA1FD1BFFFD08A8FD25FFBCFC8CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3FD1AFFFD06A87DFD25
%FF9AFD1D8CA1FD19FFFD08A8FD23FF9AFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3FD18FF7DA8A8A87DA87DFD23
%FF9AFD218CA1FD17FFFD08A8FD21FFBCFC8CFC8CFC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3FD16FFFD07A8FD21
%FF93FD128C93FD128CA1FD15FFFD08A8FD1FFFBC8C8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CC3FFBC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3
%FD14FFA8A87DA8A8A87DFD1FFF93FD128CBCFFFFFFBCFD128C9AFD13FFFD
%08A8FD1DFF94FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CC3FD05FFBC8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCC3FD12FFFD06A87DFD1DFF93FD
%128CC3FD07FFBCFD128C9AFD11FFFD08A8FFFFFFA8FFFFFFA8FFFFFFA8FF
%FFFFA8FD0BFF93FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CC3FD09FFBC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8C8C9AFD10FF7DA8A8A87DA8A8A8
%7DA8A8A87DA8A8A87DA8A8A87DA87DA8A8FD09FF93FD128CC3FD0BFFBCFD
%128C9AFD10FFFD15A8FD0BFF93FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC
%8CC3FD0DFFBC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CFCBCFD0EFFFD14
%A87DFD0BFF93FD128CC3FD0FFFBCFD128C9AFD0EFFFD13A8FD0BFF938C8C
%FC8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CC3FD11FFBC8CFC8CFC8CFC8CFC8C
%FC8CFC8CFC8CFC8CFCBCFD0EFF7DA8A8A87DA8A8A87DA8A8A87DA8A8A87D
%A8FD09FFCAFD138CC3FD13FFBCFD128C9AFD0EFFFD10A8FD0AFFC3FC8CFC
%8CFC8CFC8CFC8CFC8CFC8CFC8CFC8CC3FD0AFFA8FD0AFFC38CFC8CFC8CFC
%8CFC8CFC8CFC8CFC8CB58CFCCAFD0EFFFD0EA87DA8FD0AFFA1FD108CC3FD
%0AFFA8A8A8FD0AFFC3FD0F8CFCC3FD2AFFC3FC8CFC8CFC8CFC8CFC8CFC8C
%FC8CC3FD19FFC38CFC8CFC8CFC8CFC8CFC8CFC8CFCCAFD2CFFA1FD0C8CC3
%FD1BFFC3FD0C8CCAFD2EFFC3FC8CFC8CFC8CFC8CFC8CCAFD1DFFC38CFC8C
%FC8CFC8CFC8CB5CAFD30FFC3FD088CC3FD1FFFC3FD088CCAFD32FFC3FC8C
%FC8C8C8CCAFD21FFC38CFC8CFC8CB5CAFD34FFC3FD048CCAFD23FFC3FD04
%8CA8FD36FFCAFC8CCAFD25FFC38CB5CAFD38FFA1CAFD27FFC3CAFDFCFFFD
%FCFFFDFCFFFDFCFFFD0AFFFF
%%EndData
endstream
endobj
380 0 obj
<</Filter[/FlateDecode]/Length 15611>>stream
-H‰ÜWérÛ8ÞÐ;`k*[vU$“ºåü’äØÑŒek-%ñV6¥‚HXÂX -©¨ÇX ´4¤“»SdWK€Ú½æ8~"RQÁÏCVȼ4Ò'7Ô™ †úêGñðpŠNN9¢š`Ó‰xÏ´öÕø KNù´ä»§‰
ôkÀVÏìò™m¡æy¥‚Ú}ÃÇ|Ž•¢ß€k×+Í -Ð:"à.èèˆçsT¬¡"H´P8èQìV©ZkXÔLÿír
Р<Âõ@ -‡(ÕLHuŽºÌQOƒÑcâ uvŒÚø’2~{X#;ŒB»g—Ç€2÷&ð&"R©7¹2U~T ÔškCnŒ{P†Dk°4‘¼»êdÍ -éëi¬V -ßÃòd‹-ó -ÐæJ1`}%è¯n@ï^˜¯Y{3F§û3êl[`?])⽤°ÞD0ª¼e=e(,5u.”&Þ>m&”»PˆaÓYZ+<ßœæh8Ã> uêÙeˆ¦ -kchŒÙÖW,îï‰/hEsêé#ªpöO<¼Aç…“/ÐÅpÀô×Stvƒ=‚ÞΆÎa’@,t[€a^8'v_Dï{w ШYeÃ7Zu8ÍÌ…U.—Í™bÙõj|zÞ·É -7¸ù.þÒª¢>úòÕB.Pïï -¡v·puÀwt¦Ãè$DeéâÁ8
0ƒÓ‹Ì¢ƒInc×'šð¾ÿVؘtNaÐIÍHV{Iž®A]69^†€ï)ÛŠXQ¹5ÿˆÉ h¸Cylk2dÁü‹oÆgÉ=ÔŒ¹£Ž‰–‹èþ¾}ƒÔVæ;tòì1ì"4AI'&pF½5ж”øïQñôgPΦjIx„)£³D&åš½0}ÁpOþÅÕxŽ¥z»pÚa¸YÎ1¬¡«8;8‚Å–¨•»_4:†÷aÂy$nžÈ$È·ÇõkBÇ=;‡oP01ß„Nö/‹þIéÿÁHØ{#‘ËŠ'Œä)üƒYý•6úù<÷V7Ð#W´qÏ ”Þq;Ù_W‡ç -›áÈœy°Åò–ã_¾/À–WdÊÿÃ.UO¯ø4>ò6PŒ:¿z/.ÖÐÙÁlOnsåõØM·Ø*UkC¾,òø²8¶/v%/OÔÕ³<þÄÀ#ûÔ(ÕšåC>ÍÎòôðyd¯ÐYGˆ=M„†1àš<è[Iái1k›2¯àÈ{ÝPÒ!p÷§´½_ûlpsU®^ -éá]›
àed/x¥²èã–¸µ…›õKc9%Æ
©ÞEï6e~Ò@ðŠ;–˜+ƒ:'×)´Š?z
ìwŽrM$Ãqó¸–E¿rÇ`‚ùÜZbüüùÛeøÊÑ” ¿hÒLÈ<fѯ<o\ô_äÚ*þœ·‡—¿í‘vµ[ÛákêÑoØÔÚk±I=<ÛhìbÔŽÖÚñ›+œÀ#<×”“¿ÝÒB*õäyÁÇ®»¶ó=¬×Hʱ¦FÒ>\Ÿ–"R5¦8‚É59̨Jmj÷P;ÐÝaÝœ~[ï8í^ùØ')ê,¬ÃYÛa„¸f~ÿ´L’_#Ž¥ž,]ä,ÛM2fu¥ðÛ’à6Db¾>[´{¶’("çȳFï]ªñ„2ª«ŠBìE_;%ðÑ5æÓ -`ÒŽòë» -ׇ¥:RNâlÞáx›¯óùܱ§Ç>i‡–åòÖÀ†: c½=ŽåX^ˆ#‘ð®ÍtõÙLß×´ïµ{/¿EŒCga¨H\]±Huß™äίå1îÿ8Úèô7W>—Á5éòîÝÖ´iÇùñ,möýÚKöXìj?Ëø:Ï»€V•f°;Ôw -SHÈËiÞÈÊÍ~g ¹Ðt`\9â;0L˜v—×4¶ü°’’FŒHÜüUNÓM -AQ…_„å²4J6¸T- 1F͘ÐöÔºyÔÙj8±Å -ÕÕ…½½Ö8NÄý‡s´º\Îì³ÙìµcÙf?àpÄÙ:Ȫ‰Â€õDàO¼‹´éw„L.9DÍÊü?²/â0#J§å{GGå±_f¦Ï™È—ñ -io§"¿·ñ4YÅ ûMÛ¤ö С5¬ã~È8ïUÓ³‰ÉËÉ5Ÿ¶NÚ벸à–ab²õd\ç̬Á—FŸˆ`Cµ¬‰qÅv鲄úÂlQ5 -qX¸A¼Ç†N#¡)†ë¹Æ±
]ÄI,"\•ÈbqCìíÌ£q©IqÇõ -Æae ͉Jß&×0san©^ š´þÐ\´ˆX^‘·]h½MÌZá{Ìw¢êupáu¬æu´îuãúRyc"ÈóÎå?
UœªÂˆ¯Ai`J‹íefZ€Î"qUD)IÖ$_x½!©E° ¹éÓº¤æJ;WÛ«Y›e.æl×%*ß(S¥oŽIùêÆî&Å „?o0õËÈâm®Þ¡“ÅʶÑì¸h‘ÃÑEàeÏ:çMfo±:C˜ÃÄÁÜGªR‘ƒ „öÄòüÑš¦–ÀÛ$Ž’ÝcJ%ø®…¦;«SPPke„9¡Þ<|$‚蠟n˜dÐÙt:ž¶CmýqØâq'öÄY£—¥`Ý-VWIBñ${˜XŸ —œ‡¯E¾ÎS±°G(O;G,‰e'Fò5"åf€d9…ä’í–Ñú¾Q;ÁU¬_mbð¾²}L´W^¥ä+þžà0ˆèºÜÕÚÜÉ™†Ši.Ìò—¦å#ŽÂò€ŸÈ
èÌ -íÏ}äÁ^Þñ…T¶Åv¦WVtÍþaЯÏ5½Æ‚4ºÀËAÎiŒ*)hÔƒ„˨=¢ì€3í”7ÐN -•ßMB½E·øcÛ= -ð!ÆÔõÚ§œZùÎÛ‘;È€R¬£•2æ©}pRp›ªQR<$®ìlŒÆ÷’}³Tê%3$¥`&Ì9æ¢G{Kð¨m”ÝÅr›ï5Ý!ü$ˆb<8ʘõ¸…+$ÐmKŸ¶zñ“ˇ@Ï[B‘ÀO’s˜"},È¡Š°?^øÌ%î@~¶XZn“&á¿Uc– ä!ÅDÒG]šÛà€¢ rÑ+—G)d -ÅLšð -b Æ(Äð-F@˜$©‰·•î(ô…`CK3émÈ€wl]^”Ð…~eõn9¢ž½PV7ŽÉã6Ù»¡èKÍB9½C'ðÃtY÷‡×Ox¡ˆ-øßÈê ‘õÔnÓµËHw$ýå=
¼4>²fvSõ°ÆŠRe7†]‡¯9ùoRVá¤qüê0Ý„†– Cáí;Cþ+vÃع=íB¡'Yï -;tˆI%~šÏçÓ̆Ôüè#sÑÒû•àéyËîÅÃrµz3½ ru'¿ÜþüõOþò—ïð?^}ÿ|ûúü=ÿ°ß¾ÝП>^ýôêäÅ2À–øãìÓ¯—³?¼}ÿéÃ_o&¿¼½þ׋›÷<ñæW—ÎÍÿ¸¯®õä•ú<ÓL± ±cpÀ°Ð{o¦wxÿ=ž1ØäìŸ}®Î
ßàÑhIKÒŒôŽ‘‰„‡ ÎÒJš‡ /—êGC>œ¹³¹0.¥»O7!õ"Ìs%c³Š¸üHO¤hÔ?ÿ¥O[ -WÉè5haÃmšICX\ÄÝ&èú¤ ©96ão =Àä³ØŸ÷÷`å;JùiÞ-DÞW^¾ñì
ÍÑôê˜U -Ô»=Û - - µ7o˜Š<53”Eµõ×<Aq¾ÏtjR+ót;ÞxŽA1·©?è~ÉÊ‘ð˜ù)$Ìz¦‰.Œ¯~NqpäIÐ[러…’¹l‹6@ÑÈq"žM|~ÏœKQ 7)EzkÇñtvqa¶_À«‰¡ÈÒ-P‘B^8Q2WCP)6<„„Õeº6»úž¯.š^ BÃï -rxÿW|ºÃ—…ëù -×è¶J†?Gk÷tÊõfîv… -ëÀa©°Y2à¸ÛÛåÐÈÉ xK—5IŒ¯ràãØ°_š§]É=æÍ*ßö߇x*6À=ñ¼ äuÓá+CU´v~ȱ91 -D†upè>l_|åZMØ»PÜcàÖ;M’>-g}ÆZl¦ îhZyõÒá-°•ÁÏT 4rÊ£•Úú`Àª™ßFœó9à €â”YµÀ\¼\U)¢3Öé -,ªeÀO‡wR á}îÆ"[rP€ølû¿nZú¼Í,@yÔÏ¡ý§x -Ã%îÎÞȆZâô§:œýåÌù»
¿øò'! ÕM£µûð×L3.¿$ÆH‹¶[wze§Êw²à†‰òYÈWÈćϦð¤ÂÜpølxgìÙkpÆ»«x´ÆQ¤ÈÝNúÔÔ‡@›iX/v´£Š¸35"qÀÄO¥b¤yÌ, -^1b6N¾ß^ûˆt.ÒškxjsqÙpòd}ô¡§ÌÑN¼]Š¿3ζoÀqÌb
4TšG‚ÔúóÁ®ýÆ=L[„‡«ûŒ¸¸–Û’¦§CÂ`Æ—wR«ôOcÐÁn¸-ùˆ‚ÃÙ!ùElld¨ìŸwc/ÁBëy®Æ*8æFRÏ¥YHÎÙ½•Ù)©WÆ&ÆêºïÇèæl"ÀhjζÌFÙ¨=û¦ ™ -+w£w-´Òï…<Š¼»‚ªŒcÌöeVØë¼Ó]JE®¶¶_–¡×Æ—¾*uE -NoÕ«ÅñÞGÐëë¸Hè‡è&{.ÌNOÈVU>aÿ¯‘]Ø=%îtZÔÉÏF¤ˆLjhNw"a0bÞ¡»prBâ*d¸vv?Ä Óç™”¹oTÇè’‡³˜æN/jN à p]5À|žîÀëTV”Aн0=}åØqÇ5J¸/¹À+Kðø1+˜çŽÛ¹ ‡4Ó5
UjšÊE$õ¢ûž1n9$ïõû ìϪ7Nñ>ø‚ûÛú}•BÿAõ:1«Œ‚{C\ž—¨}#ÒýƒüãÕ¹ž¬ÖD¯ ÷{E±*›¦Æ®Ø#6{÷ï¹öoÀÌë{¾ó'O·3{ϬYkÍ‘ÿ‘ZÏ‹¼eÐr=Rƒ7‹Q<š‹—‡Û@¹Ó‹äøâÆ<’Š$m˜}_¯vAÅ^D½µ1]¬¨‚º¥‚ðyí‚æÉâŸwÜÄÛÛ2¡P$ßše\.‘šÝó{òµ0· 5"´¹3mLJ떱ÒJÅ‘âÀåu{äïS±OÜëNT‚*š£‹ÓpùêaLÆý†r×ë’N‰ì”ÍWí¾$™˜8•êtÞ„6Gó‰³ -ßÎþÂáH±\æd€m>6 ÉìÑâï¡ð”·søp¥ôíëMB0ŸE‚HKÇ<#lJ‰|o¢â° Zs¼ç—vg€¯¢]¦°‡!£/èªûÙ*k᪦Ä"Ks«ó¾ßŒñ²'ŒºœÌ"r¨V‡ÅþüâþUOjuòÈ ûJíU?Tì,O»dþùýsy¸T¶`AI&MÄÞ„Z#QF$Õ0mãHÐêgPäUÜo›wH<êÏê¼3) *¼Fï ÿŠmË…‰ÄËm€‰v6Õ™ëlòpñ‹øˆþ3‹õùÍ^Šj‹ÿúÒ›Í{Âä6åm Cæò /Ç>Ý{6*D)žQ•çꀎ•›mkòÕ;C|]…PCÅØTeµ¶˜sø!viÇ£RÓ}´ŒëEKÐý-¨ßKù=›ðb®Œ¥žÇåÈW¯B^9Ÿ…àTŸÓÕ,öŽÜ¶šIü‰—ºäkÝ7œñÏÅ]`Õä° É'Xöpmk™ÀÂy8ι$[‘=9”‹ íO¡7€¥@5u_`]‰×²±Ÿñ¹ï/†9 a²7‹%9»«%M¬B.㚃Š¢O¨}qÖaiÉ[P;ÆrùmpDW˜3Š±*\? yøÃ…Çü^_2q¢;àŠr+Tp1$·³k–ÉÖY|Ø øM
[ªˆŸƒ}"ÓŠ‹(ëQDþÌb2/ªHQù&Ù¥ÒNœ%vùÞ˃ÈfY‚ôjh4ïû,Pùbòo!¼àžp=UÄ@Ie·í?Mêìo}ùðý¡8”c‹_`ˆå£Y© ãâ¬wJlþp|î
CGÜ€”ë±´›y¶wwHõ¿,ÕÕr’uš«Ô©o!ªmxÿjðE#…iÌéùR°I˜/{ÛËyÎm6‡±aò¶ï0f‘í©8ÅÕÁß#·Ðf2G
má€mѣƾt‚Õ£úpJëëóÖV}1³¸Å™Â&c;Ib²‘ÿm6ŽùF ö7“Ö¶n7{º®ˆ/ôÆ”±ÅÙlÈò/ž‚' -½Ëüázæî°ÌFòY=øï`Í¿Ï1ÂG¾"RcSP™sŸú!G`KãIioÝ×36”JxéH1wCû8$6a8’Ø°dWQ2w¾pXr…IÞ/¬ÍGZÛ3=O¹·ðæ†Ïš9sÜš.ÒàäìlþÊ–W”œt‹$˜„Û¯Oòàõö8]ç§ßÔ»÷aË7nÖöšqŒPMðÛMIbu -ˆå -kAåvUݽ¡’†C£“9ÍÍ….4R'§¦ñ}h؃A8ÍSç&"Ö¸Ë#½ç[ˆH±¢žÚnê{°·Ãùr‰<Ö -åÖ>Ôd»\´ÂàY”ž·ú$Úl½ïÆåŒ -kÁŽÕÏ—ÇX?Û~bŒ‚rô²ó•C[yR™ÔÒPleˆ#N -بI×M¨èÔøÛM“SΣiT‡ú6MË•&çÏ%Ø•"«ÜǺòuÝèþÉwwÒt£3 ën¡AE}véЀ”K¨±™+Îh^}(…3ùÉ„æ¼êÎ^¬Àµ<&t®¥žoì%þ´}€
=–ÂA8¨; -§ï£¦•Dk.ÄîÔëêš–³/ ø×UË·F•BÕÒµê³K…«5zîÀë~ìŒÐãËfž={jíJP5Ù| Ÿ¤ -âXv_×2ð¨Æ‰8°5ã–2£üzu¬^ôÜʶˆøZ –¥xWn—%®6»àDÞ©ËŠ¡wŸŒŠ ÔÏ/9°—’pu2oÇ»bÀüâØÜ7½f÷ã×˯áw=„¨â8’uR å˜4nrš³%Á¿~£çž]Õ UñQg3ôbÍLU”ì²ãÀ™|ÇëÕõà£)V[⧮>!¥°üT±¹§UÏ«”ׇg°•¡>8ô,éË|¢õ5{"3§kÇw2Šû$¸wFõ¢…U»tmÍ°ÖÌÞY`¾Z:ŒQåÐW.7}Ì;%Ïú¯¶Þ–°@m îBã}ÂüŒÍÊ{0›^ÞàYäP#yô€vt|6š£KzË\±®Ð6»&Á
ÏYíNè¶n*Έ'Û\š·l?‚Y£—ÿçO³ÙY»»{û¹oÇFÉêä$”æŠñw.éȤ—ö:Yü -eôÛ…
›\_ñóìÊn
žÛ¡ÑžÛno'ßµA7á² €’>šöÎ`=ÛNpht2ACÜ;}³+o±F‚nôkTDBõÛ8O§±7$T¿PöRÔ¼]ÜÆZ%îV5L»†7~]¢yÞüê½–KºÛûˆ7,ö‹÷”órÛª…óµZ®žsw[|MyýEYmšÙ~•ôû_Õ0æÛÙëŽç[]àqƒº<rtU7È{I½¯ŒR]û~j <z¦¥Ë¼ÅnL4%³'ï¦o•¦+¾úʸþp]>`¬š¾_ÌùLËa_qÇé/1æVÙcÙ -n{€ÊhÝ·Á8Œ»c¹M|}¿r Är2ýÃqã¡'ÃM£q™YëAÙÏ®Áf Íw~ÐúÉuö<c¿ '¥ÞMênJ¡+EÓO–LjË(Vª€—A/æ+ÔÏ7ÝxtÍø|…u_.\«Ãâsàö‡8.ÃVÐZ?&7ì7þ¶~Tã’/z?¤çØc„`¶ißÏfý~ýøÞÄò¯Ìúa°!:Ùø/ÒÝ2‹~ó|›YV^]³g–Ýá_9ò=deòv~þì»ã'³îJÏ„:Þ—žÊ¬t²®Ñß–þ×ÕXT•¹Ê_‡`àò5âr)ƒîÊʬ¥ý8£¶Súcjx<ž”!ÞêÔ`e½+IdhŒ;]«ÿ«ÐnO1Óê™ëïVæBM„–ÄåÀŠÊžc7Q‘„¼ŒN¨Óí1ñ—€¦2+o*ÌuÞä9-µƒÄí]ݾL,?û2lÑûƼ¥¼/¨SºsMÊ–Éþ+§¿>ØuܾïÖù~߉ÎúÿY¯ÒÄ•.úyˆ -éÒÚ}Ñ2%²ã]Š«ù±úI:ñþª*Û“ÅØKjÒâÇ%)¢Æüî^\ò;ÆX3<IWÕ b8ÒF¬Žh+f*
{ÐJá(‡®¸*àêØl¥Ï¶æƒAKDZ·S^KÊžÀ¦k…Ä‹ëÃlå[§ô¼k~r>Vâ•/z'·uÅ
Ì%TuÄÏ>PK[îUGï}úi¦¦`äRÛ¸ ÀÚ6ñN<"S)QCñC‘@Hmª&~ko"ÙªhZÎP)ª1W„ ]†“ØVwR3“}±¦¿ºAõ=ñÔÓWÛ`Žþ™¶(µ»†“<Êéàƒ± à‹1C’”@A… -èÚUVa|íB.P4 ÛNþ YQ• Ôcí°7‡)É=ê‚0¦7ÆâBíɆQô=6¤O+Ä…Ñ.>xaù˜ƒcþlŒ‰œL.Ä.`¬}Ð&±Y":‹=ðõ½0‹=DÑ÷˜‹#±ØMßÓ¬HŠ¯!6äs¡0“ØM) -\XJ]ôT—-/à·ƒ@' ɆNöCº\ùóVSšê<|- -(]“1¡…PºÀÔ1a -Û}_¬Å+¶PD;i¢%ó" -î¹iŒÌã5ð´üå½A?RÉèKjN²ÀzÄ”§ÐÒˆIKø])BLÓ
çHSiаÕzìì=ŒLä?‚ÓÝ(¥ÀrIJ©1œóo£8aø]Qç®1\‘Ôâé‹;,x¢ÈŽþ™¶Æ¶ÂCì[±zõö&€Ä¨®˜„“<1$F3_ÐŽmæD€¾Ø3Q -JƒQðår¹¢öݵ€?5ÐmDñg±ØEÿä]N÷ßdõýãNÎÖæ?äÜin,皬^õdõþϬŽ!#ËéÇÌþ܃_6åœ1>.†óo¦±ÚÅ×ܲ½†…›ÓEªX¸îÖëïr:_þñúÝ $w;Æ'ÖÚœö -E«ûV•Çëd¹ -t“J|-=ãU‹—SÀA÷3_Ø¿§§‰þܯÓJæ‰pj^¯–ÛXûOŽé´Ønœüd8=‰'åó1Ãé褰séò1Û©®¯GŽÓ2æô´_ìžl§_ð?{VîÞß^ö=N_’ɸë4{þ¿Á¿§Çï’rtùp´tÝ⹎ØNcí·"Ói±ýÜé»N¡ºÀ -¬Ì÷S–Ó Ç©^¬2JÊzóÖ3r=‰ËOñ“ÝéwYåezÄÕè*\Ø - -ÿÅ«*z¬ŠMË·bÖ[MÌ"®Ì!½è -¿à~ì ðÒû9fÅpcw‹ÃL0uÿeOòŒá¬±bO>WK Š×«˜…ha+¶ôÚßok8ö}ïokB…< Þ:Zëy£óÎ,kÕa.,“Dª#`‚iÀù÷LüÒÌÇg»·õ„À#‰{¥Æpë³ÝŽH ¥2 )¥Æ(–ŒbÄ0¦^-ÞëÕí4£&µ
þuTl¶™?Ý<tEÙÚ}ÿr”Dï%f1 ÁÑè¥\:{ÊKHRöÏ+ŽŽ,=o¦y\G^:’VrIñêHÖ$?o²àRO%[) r®R%$þãšÖPz„¤l¼»ï°bÌ:mÓ¢ëÊ>)aH)É'(Ñ:g“ñ€9ðâ#N ö¼k!C˜LõšZ
… À/¤r0ãÔ‰8HX!I~ ‚:ݺŠÚGá°˜Ö…ÐûØtM”gKŸ››±oKúŒiFŒ˜1'u|ðg½|’…É](‡¯9G!8LLö?>»¸B/óPÖÇ£”Pr©è©Õ«·7DjÖŒao&‰.^F•»;ôW¿¬t#é’–¥”°ž¯JèÆŸ-÷fqN>}f›Š¯ZlÄé9VçÛ/áŒÂ¸(0-ghks"4É,FÆÅòåŽË`dââÛs &–—.–©9Kä8 ך -*\q:K_,RW{Ž/Î&PálÂz o¨åè†?Ó’€åSJLÛ9 -H‰¬WéVâL}‚<„@ØI¨#ß -`•¶]°…Ï -Äþµë• -NKzÊŽ³•‡ó&6u±ÄËÐŶ…ÚÑd‚XÀ€7Ú°IDpºM8@MÈœcט𶹹1*AT¿¾X‹çÄ‚ ðxdÒ©,$³aAú Œ£8+/…dž§äàcƒu _W"µÊØ[B`{?®Â@.οð½oA“\ÃeЦ½ÞJÐ tô¥&|Ò0\f(ÂÐô„!È~¸4†ÕÏ(Db¡07òd¥c‰}ࣀJ¥_0gç—ú7A‚%Yy1¥rRo2fm_ø€íÁR`Zëê0f²Ê•ûwí°ILb/“N,N.×ùP0ÆrÈVCÿ’Á0׫¼ÎŠP¼ CYy¹ë$âêŒ^ÎŽôË(«“ÆÙëãëYí¡Þ¿½PÖ•+}ù«8,ÞÕfš V+Jó¾6okeéö®8I§à/£¾LT냧úK6QŠÔ,MØE˜ËÎ_Qؽ)pDôÕ·Ÿå.îÈpDRçX*vOßVѾÙÁX.Es €ÝüýÖ(ª¦W^JûÛGBUŠƒ¯å2ŸdrW¯ßiF—_£‚'aÖ3ªÖÕt›aô4;릞FÍ'ŸQAÄbÔ9¶Q#úÐcM\N2¿£Æ_Üè÷# .p³ùÛNpç$‹}‰Ç£½‰³øÒ5š#Œž¼¥’åÇ¿žQAð3Ûh¤>Î0ªõÖ÷Ãè)`LÌÿ¬è±æÍa€Q#vÊ6jÜD<£p&¥$^ÿiYF»ôþlõ™FÁÓõ^Ìjþ.»Y_.¿ÒE…ë»\Uõ}gõ‹ÿKu”.üà@” -óµîN³™÷QïJJPj•vT9Cʹ¦˜'•_ÁZORpšþtçjÍÛØôK•o_äâ‚TR;K‘<èéZêBšÕ)£¾æ?G). "ŸSÕ%®Â6\ŠêÿláÛ…îõÚ‰¯ˆÕS›qè_†KW_>—Àæ)ýc¢SyòmûÀÔAÆØ<ÝFöáÉei.ˆä¢Ïn,zà&0Ù%`Ü~0]ÂÔ8_=ýùöñ¹÷¡¦?¯ŒCÄçW㻓NΪK‚ÈçÔdu ~™gŸ¿*-ž0-k‹)gªšò‡ú’x¬b•ª?UûLã§Í”—Áw£`Ÿ¡ÓN&Î¥úÞw -vóÆú¥«¯ZÄÜŠ-¨"`¿„ža—«<œ7™PHÑ2AG‰ u¿HجsÎ<Ž¾‚»W“{šŸGd˜2k^:±] FXRo…&"îm¤#§ãºúZH>xP /8ØõëæˆemP -¾1Fñ /Ô麧 ¥ ˆ¸` .U»ˆí4J›ÂðÅ -;xÆ -Iô‰«`•¹:Ùõiíz…–{¢ÆUP}ÂŒ÷çä]¹S@êkâs\šBhënŽÈ]¹Cã -"$攃˜pÝÚЬJfô/©áŒ„Ÿtñ¨à¿± r¬:×Û* 73ß>“°_°\nýºus -pêV -L¯Ç*ne5“|5¶ya¦YßÛJº[w%¥ãûó•
J³Ï_•VX5b2Î0–‹ý׺ڷ÷W³ÜŽ2 -Wû„z£ø®¤ÚÌÃQÞæRÑ©¢ð‰„lÃ,^r% jÌگŶÂÓ†@{¥ýmþÍŸˆû…³
û[µ¡¯Øcv¹›‹ƒµ!€"›cŽ1ÛÐ\0Û_C¾CîEžBÓŸj’ '¤}x®W„³WûØ[â(‰J%Pì&„ªoKiÀ4JI°^£”Œ>*7bïnç€ÿhéR:ó8é^¯¾òÒ" p|…\¯˜Ð –9 -ɼGͲƒr}ã–·˜=ï%Öj
2Y቗ÚY7ñêtÝS”?Ñ‚Ìêhgï»mxLiÃÁömèkBg€ÐUf2ÀÛbÄæÆ©.}·¹Å€pe€N%rv~dAayI²ÁÊI½Zrð¥¡Rì®`Zë*æ œ±\¹×>Ä] 2™qÿŸõ*]K\ ¢O‡` a•EÙâH@EÅáŠxÿÛ„¤;éNðO|N¦–SU§N1Ü•Jˆöèļ—0=ƒ²õ#Ø„aEŠÛ„!ôR‘<v £0P…!@'k¡P7rºÜŸúh; -4ŒF8ÀÙþT)îœÊ_¨Óßþ0ê4Û
ZNÕíKJ"9ˆi -Z·}*ÀÉZk(Sœž^¿3ÅÍéæÙÈm4 -NÙ'Á·é8ž.sÅÉZéHõÓøR`b’Þ0 -¯5—ÀñöÓÂÖœ{å§3¿™á`I;÷ËÏÖš„ya}¤²†Æ-¨tù1ý#ó"O6´ .ôxô½spº’]¡1bK«ã1Õ·']ý¥jÏkÙë“!Ž7ØÛ©Aþ7Wpeg±¬~¸ÖðºYµÇ¸!#ÔÔ2ÁbC!¥†3HÎ-µ§€·8Á§cÄP}Z(ÉÉëèÞ3«HHËŠÜ• æøôê AæwVË-¡ªÄrRMÚRÈêJ-‘B¹žÀ °|ÂØ-vðÕU¤!ÃÄñdcÙX•Õãô¦BÀ‰£¸çÌÊ0ãôÖ½Æq㬕}!R9¶|õüÞ…àõBht½×ÃWw0(Âɮгϊlœ‰íÕßLS“LLâ`¾ZLLÄ -+1C.E†b9†(EðK†ÀÔöÒ#aˆ
ô.»,G3P3Zkê›\ÝÙé†ã½ [}Að·Ô¥Æñû«ì-Þ¢Æ2ÂB2šø©KÍ[£!™l¿»ÅÐ n:FñX廌ó=ai×bÏVÁüQõ3sÑÁêŬz’mïe,Á—qñyKþ$b©ŸC,ý“ˆe~±,Õ˜’aÊ©yù¥:ôáæ|ýÇì¿+°_0}袄i&NOŽw7aJ3q—Ò×±†Õß”‚îÀXQ¿¶ ëWîoxê»Ò¦ˆR,]øCŒ‹Ý -˨ÿ>ÄE»ý>ÿØŠˆ#¶S,Z -é-0õ\ÚÎô»ÒÔ‡°ê³U—2Öeq$Nø¥J -‰ãƒ:9¦t††1‚R²O” nîÉ´_¹¥ÔõÚvåf‚ùå–ãYï\ú•[J5ðav\¹'''m)DÚÐßµýj1a£žxTÄæ×8‘f¤`>®Sl©¡ -¡÷ÔJ…Û¦Kj/!@Á/‘0Ú¯j -O—ó×p*MÖE -+ƒÙ8kÆà“`ÃB8f¡á¥ÖË`qò¡cØ'¡M8¶¾»(AV©b“à±Ai¨<Í´×،ɾ¹.…pÖ1ë1ŒµfŒm*ijGì›ÿ¡»ÔRnÏYQˆk¤Úö¬mï“¥¡K{*dèŽ -–í>“ÂpÀ*9ÞKV¤µ´XÅe#×©× pEÞ(0@ ’œåÿ¸ê±ÑVÀ…éÆJáZÃSél_h,âb,ÕP¼Œ±i˜ñ:SêÝ5½¶&W¤„ºn -2ÕeɤËý}É–Ô0nA1v„Çr0”RòCÉJŽõ d]BÖ÷‚á -¢€Dɬu~Ýg¿Õݓਇã½XÓ]Íîêª]é¡Yºó›åd ꩆྻO|¸éOÁ®x>€\ñà,–}Ô~Ñ&»ë‹jJK}O9{øÝ+;Ñp;ÔD{YëiVõ±Û!ö:€8%PxÉîžÓâ‘ÍsÑÀXÌ-
{Õ»ô[ë©–ÑBÃ
&SŨ«1Íõîn5üR%Ûá -$¬µá®¡ÑÍåy÷©Hkå²\èÇwn1eäœua²ÜE%±½ô)mÊKâhçC5Þ¥ôï>ôo(˜ÉÍÒŸj9kävøBÃ$^‚ÅÒXÆ8¼t¸!œ;ØHc/ Îxüåw%Ãâ€y½—Þúéy:^¡ö ÷=ÍžÛZæþå¥'Mi:¦«©ÆØÌç¦rÀüC†ºo‰ lUTCTl‚Þ©Ÿ6É@ØfuA)†ŸÁØo.¥9|nã}ûÝ¥¢ÏÄéÃK[{Ø«ˆ¤ KuIf3AòÝç–-a³AQà!Ç¡#<ü„ÁŠeˆ}ƒ'VÏs‚ÚX6$°âX†Ÿ)Z¶ ¬?õ´ˆ×—ÀàE;elm¸%'ÇõK;uA¿ÅŸø#ñYŸy˽‡Šõì*r±’§O+LlvÙßZ™¸Ó¿Âs¸Ø’,ÄP+ËeZžø0÷¾ßfž2딧£Jö•í;ܘE -3i/=ùM
íþWxÓa# ®ð {
Ìi¨›gÈ×ÈùŒéŠLÞdñ09Ûõk¨lu€J‰2þÒ];žÑ!Ž}I\¶€(Éൈ -«Ä=™µða%÷4XÅÝáÆ»·»Ð©j@Ý—§ñÃø9‘¶ÊÓUîl¥ïQÉi qD½U¿%¬~ê>´vˆà¦x á/¿ZMa„J•ø´8ð*Ìg6Œª"-—ús UEð¾¾;Ú±úîÒÉ!'Í43=³üfit1Ùj,Øô;Â=jEP<lH‡C§^WØûºõ€<Mº«DüºÚdû/ez(øœzÛµjÕ¢N$蜦J[~iS± -^=F›Ç´‘àÖÒƲ;ž_”a„´ßfw‚Fˆ–6KË8˜uäMÓ,À-ñÓkÝ4BûÜü·F°LàO?Ò´n‚Qª~f‚Ø› -Í/,ˆ£:žÍ¿EKKí¶‘åߤŽjJR•¿–¤|¢·
§.SëF)þ}¢á›@q§X“â«í<哪 -¦¾EÙ#çPµÂØŸø#¡nè³›ð
‹›ðËi¯ÒµÄ•&|¹‡À%²t«l†MEÁT6aÜ”å™3εUÝÙ`ÔaÆïŒÏ„NW§Ö·ªºtuäMòÞØÄö™ÍÒëÉaþ(¹È&ª{WryÖ‰^–æ7µØ)·/Ê™B掆Ԓ‚©ÏŠ -¤,ži¿YýPóKø*9íÓ”bUÙùPq*Á¹ÙhÐÓ4GÁ`Ê&¤Bžì(uS{6!R\ÙÍÕ²6©,{·«nÞ&Ô<y#qÐRÑ+¹’gy RÐ{^Ù•rÄu+8° É]©)V]ªÔU¼Å…Ù5C©4 `ju°LZfHV hD8ÁÆÛ*d¥J£&ÓC µ€×3˾¶[È—)»Ö1 ‹vÓ< ‘{¯IíºlI¡˜O»âwó!V®ïOßHÒÐŽv¯MÆl³Ò‰{¯–†í3å=~œð÷›ª'+›™”Yhî¤ûæCüèµpQ˜^Ñl"û×!¸:[ñ®õè\t^}o|‡5É Ø -£{xF«¿=¦(²ÕÀIë.ºüœØö;zËx›vº²B;¼7h¾ÀC˜Àý²)ãÕYƒ¨%v)Áé_H83ció<p{ûØ7sœ`“î£vÿê–--õ›S½^ivg“ÕÀ-RÀ°d—™Ôçe*šÍ2Å3ˆÕôëfkMÕ'‰¹‹wÊL`‹v
ƒ“Ó°ÿ»vmEŸ6ìÿ®]{+ŒÛ®m•¬F -·t´åHq»2ª[uTcx”Ã#š÷Š½ÿ£=™öÊ“c¡¢n -VFTL‰í±›Aå@f1ßìöY™Ð”¢q9̽{µ¢Z[àPš‡H'V¬1í³2J©{š•ß,øá³³%¾\›±Zâ®èe!=–6X„Í@®D5“•…Q%Ád[wÛ2Ýóû³¹Š:¦Åù<3c%ÑÛ‘þrYpY¨c¿¡l°hµ‡Å#»°ZC¡‹÷+¿ÒM:¢ï¤¯5ðqQ™!uc -x\3ßfà4J] -#I°Øƒ”å±Y¬é°ÉBÞ"œzþ4¤5Yrõu_2p!û;Ú®t3ƒæþ&b³ˆ}sÓkᯙkç”{.0ÕÓ
ë\ù…¬Ÿo…±Ï¬R¶©:œð)‹Èq®ÈŒý]Æ+[ÄÁØ/,Ô¯šá©:œðwf?ÒblSý÷ÙVfŽÍ0Óaž5ô5d³ê¸y[OéÏuØèÈä« "ò{ˆø¥#
²Í冮²åvd¢n‹Ë
èاŽvò¼ðí³1˽ºg+WÖôôŒi¥njÏšäêãiéîù-©*çéUGkqàÀlðÁoe:T蹦Ÿ«ðØØj´£Á
݈ŠLÊ.\&ó3ØH…Á6sö¯ù{½]Œéì·«ööúÖ¼ÛÍßçÓ5ߧI¯š’:í;„%p‚E2…¡C’¼ß4µ‘C½„ûÌw‡ z‘ÀÁƒM8©¥€äJÍ?pvÃÞ·+ß9„ˆ—ðšÂ ž -/³Ú¢ptuÕwáEÄÕèÙ6üÊR¬f0÷¯ºI±s QØs)ÞÕ
–ÅI“X«Õuu4IIô¬¹7…ÁXô:yäØÇÌHoRSÙ·½ÕãMúbëÁ~‡xôé§GO¶¢h¸tÙª¢-CÇ–dµ¸Z2ÔCC` k© -)VXU©˜Ûø^áõ -~Ï8U&j<¦EyUÖbZ\3è"¦*üÓÁb9žHÝxgÑBnÌ3Àõ'¼Ââ ü>Êó×·*?B™(Ìà
¤¼pšSuUg¯ö£r F”®uÜ49\jð¿ÆE´õ%=`í#*eI⌧#ËäÎ!‚E*<΄Ãwq5‘L°÷ˆN&
Ü¡/–|ºfR£k+K|ÔóñrtD™®Ô·àBMФÀ\Ž¥øú—C0 -l&LjT¹!Äd7äð&ñú8AÊ` ξººÀâ( 1=5¤(13X¥'–¥*$æåå—$–¤ -0000000016 00000 n
-0000000350 00000 n
-0000019024 00000 n
-0000000006 00000 f
-0000057550 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000014 00000 f
-0000000015 00000 f
-0000000016 00000 f
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000031 00000 f
-0000059914 00000 n
-0000059945 00000 n
-0000000032 00000 f
-0000000033 00000 f
-0000000034 00000 f
-0000000035 00000 f
-0000000036 00000 f
-0000000038 00000 f
-0000057620 00000 n
-0000000039 00000 f
-0000000040 00000 f
-0000000041 00000 f
-0000000042 00000 f
-0000000043 00000 f
-0000000044 00000 f
-0000000045 00000 f
-0000000046 00000 f
-0000000047 00000 f
-0000000048 00000 f
-0000000049 00000 f
-0000000050 00000 f
-0000000051 00000 f
-0000000052 00000 f
-0000000053 00000 f
-0000000054 00000 f
-0000000055 00000 f
-0000000056 00000 f
-0000000057 00000 f
-0000000058 00000 f
-0000000059 00000 f
-0000000060 00000 f
-0000000063 00000 f
-0000059798 00000 n
-0000059829 00000 n
-0000000064 00000 f
-0000000065 00000 f
-0000000066 00000 f
-0000000067 00000 f
-0000000068 00000 f
-0000000070 00000 f
-0000057691 00000 n
-0000000071 00000 f
-0000000072 00000 f
-0000000073 00000 f
-0000000074 00000 f
-0000000075 00000 f
-0000000076 00000 f
-0000000077 00000 f
-0000000078 00000 f
-0000000079 00000 f
-0000000080 00000 f
-0000000081 00000 f
-0000000082 00000 f
-0000000083 00000 f
-0000000084 00000 f
-0000000085 00000 f
-0000000086 00000 f
-0000000087 00000 f
-0000000088 00000 f
-0000000089 00000 f
-0000000090 00000 f
-0000000091 00000 f
-0000000092 00000 f
-0000000095 00000 f
-0000059682 00000 n
-0000059713 00000 n
-0000000096 00000 f
-0000000097 00000 f
-0000000098 00000 f
-0000000099 00000 f
-0000000100 00000 f
-0000000102 00000 f
-0000057762 00000 n
-0000000103 00000 f
-0000000104 00000 f
-0000000105 00000 f
-0000000106 00000 f
-0000000107 00000 f
-0000000108 00000 f
-0000000109 00000 f
-0000000110 00000 f
-0000000111 00000 f
-0000000112 00000 f
-0000000113 00000 f
-0000000114 00000 f
-0000000115 00000 f
-0000000116 00000 f
-0000000117 00000 f
-0000000118 00000 f
-0000000119 00000 f
-0000000120 00000 f
-0000000121 00000 f
-0000000122 00000 f
-0000000123 00000 f
-0000000124 00000 f
-0000000127 00000 f
-0000059564 00000 n
-0000059596 00000 n
-0000000128 00000 f
-0000000129 00000 f
-0000000130 00000 f
-0000000131 00000 f
-0000000132 00000 f
-0000000134 00000 f
-0000057836 00000 n
-0000000135 00000 f
-0000000136 00000 f
-0000000137 00000 f
-0000000138 00000 f
-0000000139 00000 f
-0000000140 00000 f
-0000000141 00000 f
-0000000142 00000 f
-0000000143 00000 f
-0000000144 00000 f
-0000000145 00000 f
-0000000146 00000 f
-0000000147 00000 f
-0000000148 00000 f
-0000000149 00000 f
-0000000150 00000 f
-0000000151 00000 f
-0000000152 00000 f
-0000000153 00000 f
-0000000154 00000 f
-0000000155 00000 f
-0000000156 00000 f
-0000000157 00000 f
-0000000158 00000 f
-0000000159 00000 f
-0000000160 00000 f
-0000000163 00000 f
-0000059446 00000 n
-0000059478 00000 n
-0000000164 00000 f
-0000000165 00000 f
-0000000166 00000 f
-0000000167 00000 f
-0000000168 00000 f
-0000000170 00000 f
-0000057910 00000 n
-0000000171 00000 f
-0000000172 00000 f
-0000000173 00000 f
-0000000174 00000 f
-0000000175 00000 f
-0000000176 00000 f
-0000000177 00000 f
-0000000178 00000 f
-0000000179 00000 f
-0000000180 00000 f
-0000000181 00000 f
-0000000182 00000 f
-0000000183 00000 f
-0000000184 00000 f
-0000000185 00000 f
-0000000186 00000 f
-0000000187 00000 f
-0000000188 00000 f
-0000000189 00000 f
-0000000190 00000 f
-0000000191 00000 f
-0000000192 00000 f
-0000000193 00000 f
-0000000194 00000 f
-0000000195 00000 f
-0000000196 00000 f
-0000000199 00000 f
-0000059328 00000 n
-0000059360 00000 n
-0000000200 00000 f
-0000000201 00000 f
-0000000202 00000 f
-0000000203 00000 f
-0000000204 00000 f
-0000000206 00000 f
-0000057984 00000 n
-0000000207 00000 f
-0000000208 00000 f
-0000000209 00000 f
-0000000210 00000 f
-0000000211 00000 f
-0000000212 00000 f
-0000000213 00000 f
-0000000214 00000 f
-0000000215 00000 f
-0000000216 00000 f
-0000000217 00000 f
-0000000218 00000 f
-0000000219 00000 f
-0000000220 00000 f
-0000000221 00000 f
-0000000222 00000 f
-0000000223 00000 f
-0000000224 00000 f
-0000000225 00000 f
-0000000226 00000 f
-0000000227 00000 f
-0000000228 00000 f
-0000000229 00000 f
-0000000230 00000 f
-0000000231 00000 f
-0000000232 00000 f
-0000000235 00000 f
-0000059210 00000 n
-0000059242 00000 n
-0000000236 00000 f
-0000000237 00000 f
-0000000238 00000 f
-0000000239 00000 f
-0000000240 00000 f
-0000000242 00000 f
-0000058058 00000 n
-0000000243 00000 f
-0000000244 00000 f
-0000000245 00000 f
-0000000246 00000 f
-0000000247 00000 f
-0000000248 00000 f
-0000000249 00000 f
-0000000250 00000 f
-0000000251 00000 f
-0000000252 00000 f
-0000000253 00000 f
-0000000254 00000 f
-0000000255 00000 f
-0000000256 00000 f
-0000000257 00000 f
-0000000258 00000 f
-0000000259 00000 f
-0000000260 00000 f
-0000000261 00000 f
-0000000262 00000 f
-0000000263 00000 f
-0000000264 00000 f
-0000000265 00000 f
-0000000266 00000 f
-0000000267 00000 f
-0000000268 00000 f
-0000000271 00000 f
-0000059092 00000 n
-0000059124 00000 n
-0000000272 00000 f
-0000000273 00000 f
-0000000274 00000 f
-0000000275 00000 f
-0000000276 00000 f
-0000000278 00000 f
-0000058132 00000 n
-0000000279 00000 f
-0000000280 00000 f
-0000000281 00000 f
-0000000282 00000 f
-0000000283 00000 f
-0000000284 00000 f
-0000000285 00000 f
-0000000286 00000 f
-0000000287 00000 f
-0000000288 00000 f
-0000000289 00000 f
-0000000292 00000 f
-0000058974 00000 n
-0000059006 00000 n
-0000000293 00000 f
-0000000294 00000 f
-0000000295 00000 f
-0000000296 00000 f
-0000000297 00000 f
-0000000299 00000 f
-0000058206 00000 n
-0000000300 00000 f
-0000000301 00000 f
-0000000302 00000 f
-0000000303 00000 f
-0000000304 00000 f
-0000000305 00000 f
-0000000306 00000 f
-0000000309 00000 f
-0000058856 00000 n
-0000058888 00000 n
-0000000310 00000 f
-0000000311 00000 f
-0000000312 00000 f
-0000000313 00000 f
-0000000314 00000 f
-0000000316 00000 f
-0000058280 00000 n
-0000000317 00000 f
-0000000318 00000 f
-0000000319 00000 f
-0000000320 00000 f
-0000000321 00000 f
-0000000322 00000 f
-0000000323 00000 f
-0000000326 00000 f
-0000058738 00000 n
-0000058770 00000 n
-0000000327 00000 f
-0000000328 00000 f
-0000000329 00000 f
-0000000330 00000 f
-0000000331 00000 f
-0000000333 00000 f
-0000058354 00000 n
-0000000334 00000 f
-0000000335 00000 f
-0000000336 00000 f
-0000000337 00000 f
-0000000338 00000 f
-0000000339 00000 f
-0000000340 00000 f
-0000000343 00000 f
-0000058620 00000 n
-0000058652 00000 n
-0000000344 00000 f
-0000000345 00000 f
-0000000346 00000 f
-0000000347 00000 f
-0000000348 00000 f
-0000000351 00000 f
-0000058428 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000058502 00000 n
-0000058534 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000020518 00000 n
-0000060030 00000 n
-0000019077 00000 n
-0000019405 00000 n
-0000020824 00000 n
-0000020710 00000 n
-0000019793 00000 n
-0000019954 00000 n
-0000020004 00000 n
-0000020592 00000 n
-0000020624 00000 n
-0000020900 00000 n
-0000021088 00000 n
-0000022085 00000 n
-0000030645 00000 n
-0000046330 00000 n
-0000060057 00000 n
-trailer
<</Size 383/Root 1 0 R/Info 382 0 R/ID[<11519900F13C44E3909BCE97A59096AC><8DEEAB9D01344D2A9A0D58BC981FD4C3>]>>
startxref
60236
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_https_warning.png b/chrome/app/theme/omnibox_https_warning.png Binary files differdeleted file mode 100644 index 40784f7..0000000 --- a/chrome/app/theme/omnibox_https_warning.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_more.pdf b/chrome/app/theme/omnibox_more.pdf deleted file mode 100755 index 5be83f8..0000000 --- a/chrome/app/theme/omnibox_more.pdf +++ /dev/null @@ -1,1227 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 63 0 R]/Order 64 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 63 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 45277/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:ModifyDate>2010-04-05T10:28:51-07:00</xmp:ModifyDate> - <xmp:CreateDate>2009-11-11T14:17:05-08:00</xmp:CreateDate> - <xmp:MetadataDate>2010-04-05T10:28:51-07:00</xmp:MetadataDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>252</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAD8AwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8Ak/lT8zPMGg8IHb69py0H
1WYmqj/it9yvy3Htm5y6WM9+RcKGUh7H5Y876B5ijH1KfhdAVks5aLKtOtB+0Pda5rMuCUOblQyC
Sf5SzdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVUby9s7
K2e5vJkt7eMVeWRgqj6ThjEk0EE08v8ANf50KvO18uR8j0N/Mu3zjjP62+7M/FousnHnn7mAf4h1
3j+lfr836Q+sf708zzpw+z/q/wCT0zM8OPKtmniPNI8uYLopZYpFlido5UIZHUlWUjoQR0wEK9H8
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
dirsVdirsVdirsVf/9k=</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:DocumentID>xmp.did:F77F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:a713831e-dab4-e943-8f18-fdb4ad8d961e</xmpMM:InstanceID> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:OriginalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:cb58d661-cdc7-e34a-aa9f-b935d8a59714</stRef:instanceID> - <stRef:documentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:documentID> - <stRef:originalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:F77F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-11T14:16:58-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_mag</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Pixels</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>White</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>255</xmpG:green> - <xmpG:blue>255</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>Black</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Red</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>242</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Green</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>62</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>160</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Blue</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>35</xmpG:red> - <xmpG:green>28</xmpG:green> - <xmpG:blue>129</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>120</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>199</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>26</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>16</xmpG:green> - <xmpG:blue>29</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>55</xmpG:green> - <xmpG:blue>10</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>123</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>32</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>251</xmpG:red> - <xmpG:green>237</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>202</xmpG:red> - <xmpG:green>221</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>101</xmpG:red> - <xmpG:green>192</xmpG:green> - <xmpG:blue>39</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>54</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>136</xmpG:green> - <xmpG:blue>51</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>89</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>94</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>155</xmpG:green> - <xmpG:blue>140</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>154</xmpG:green> - <xmpG:blue>221</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>96</xmpG:green> - <xmpG:blue>176</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>29</xmpG:red> - <xmpG:green>36</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>30</xmpG:red> - <xmpG:green>21</xmpG:green> - <xmpG:blue>80</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>91</xmpG:red> - <xmpG:green>18</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>141</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>126</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>158</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>79</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>235</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>101</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>184</xmpG:red> - <xmpG:green>165</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>142</xmpG:red> - <xmpG:green>113</xmpG:green> - <xmpG:blue>100</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>97</xmpG:red> - <xmpG:green>82</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>75</xmpG:red> - <xmpG:green>57</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>192</xmpG:red> - <xmpG:green>134</xmpG:green> - <xmpG:blue>85</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>162</xmpG:red> - <xmpG:green>103</xmpG:green> - <xmpG:blue>58</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>73</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>105</xmpG:red> - <xmpG:green>58</xmpG:green> - <xmpG:blue>27</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>84</xmpG:red> - <xmpG:green>41</xmpG:green> - <xmpG:blue>11</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>26</xmpG:green> - <xmpG:blue>15</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>R=104 G=127 B=173 1</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>104</xmpG:red> - <xmpG:green>127</xmpG:green> - <xmpG:blue>173</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Grays</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>49</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>70</xmpG:red> - <xmpG:green>71</xmpG:green> - <xmpG:blue>73</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>89</xmpG:red> - <xmpG:green>91</xmpG:green> - <xmpG:blue>93</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>109</xmpG:red> - <xmpG:green>111</xmpG:green> - <xmpG:blue>114</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>130</xmpG:green> - <xmpG:blue>133</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>149</xmpG:red> - <xmpG:green>152</xmpG:green> - <xmpG:blue>155</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>173</xmpG:red> - <xmpG:green>176</xmpG:green> - <xmpG:blue>178</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>197</xmpG:red> - <xmpG:green>200</xmpG:green> - <xmpG:blue>202</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>224</xmpG:red> - <xmpG:green>225</xmpG:green> - <xmpG:blue>226</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>237</xmpG:red> - <xmpG:green>238</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Brights</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>68</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>216</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>151</xmpG:green> - <xmpG:blue>56</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>17</xmpG:red> - <xmpG:green>43</xmpG:green> - <xmpG:blue>137</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>118</xmpG:red> - <xmpG:green>35</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[65 0 R]/Type/Pages>>
endobj
65 0 obj
<</ArtBox[3.14893 3.0 15.9263 16.0]/BleedBox[0.0 0.0 19.0 19.0]/Contents 66 0 R/LastModified(D:20100405102851-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 67 0 R>>/Resources<</ExtGState<</GS0 68 0 R>>/Properties<</MC0 63 0 R>>>>/Thumb 69 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
66 0 obj
<</Filter/FlateDecode/Length 151>>stream
-H‰DK -ÂPEçYÅÝ€iò>y}S«8*".A°´ëþÁ¨´%rsÂ4×Mß Ž§$œÔà½&ïV2–šË]0¼é…x)"kj+T8k6<fúîg2ŽÁpˆl±b"
\Jq²ŽÄÕÓzY\`e'£‡Ì©M›O¹MewüáÇšwc` õg\ÁHOºÑ¹÷÷> -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
70 0 obj
[/Indexed/DeviceRGB 255 71 0 R]
endobj
71 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
63 0 obj
<</Intent 72 0 R/Name(Layer 1)/Type/OCG/Usage 73 0 R>>
endobj
72 0 obj
[/View/Design]
endobj
73 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
68 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
67 0 obj
<</LastModified(D:20100405102851-07'00')/Private 74 0 R>>
endobj
74 0 obj
<</AIMetaData 75 0 R/AIPDFPrivateData1 76 0 R/AIPDFPrivateData10 77 0 R/AIPDFPrivateData11 78 0 R/AIPDFPrivateData2 79 0 R/AIPDFPrivateData3 80 0 R/AIPDFPrivateData4 81 0 R/AIPDFPrivateData5 82 0 R/AIPDFPrivateData6 83 0 R/AIPDFPrivateData7 84 0 R/AIPDFPrivateData8 85 0 R/AIPDFPrivateData9 86 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
75 0 obj
<</Length 931>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (o2_more.pdf)
%%CreationDate: 4/5/10 10:28 AM
%%Canvassize: 16383
%%BoundingBox: -6 -6 7 7
%%HiResBoundingBox: -5.85107 -6 6.92627 7
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 32.5 15.5 32.5 15.5
%AI3_TileBox: -305.5 -395.5 306.5 396.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -14 19 24 1283 706 90 0 1 42 224 0 0 0 0 0 0 1 1 1
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
76 0 obj
<</Length 21324>>stream
-%%BoundingBox: -6 -6 7 7
%%HiResBoundingBox: -5.85107 -6 6.92627 7
%AI7_Thumbnail: 128 128 8
%%BeginData: 21192 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C457EA9FD7CFFA95A2F5A7EFD79FFA87E2F5A5A535A53A8FD76FF7E5A
%535A5A53532F542F5A7EFD71FFA87E2F5353532F5A5A535A535A535A5AAF
%FD6EFF845A535A535A535A5A5353535A535353542F7EA8FD6AFFA8FD0553
%5A53532F7E5A535A535A535A535A535A7EFD67FFA87E535A535A535A535A
%535A532F5A53532F5A53532F5A535353A8FD64FF5A532F5A53532F5A5353
%2F5A535A5A535A535A535A535A535A535A537EA8FD60FFA9535A535A535A
%535A535A535A535A59535A5353535A5353535A5353535A2F5359FD5DFF7E
%5A2F5A5353535A5353535A5353535A535A5A535A535A535A535A535A535A
%535A53545384FD59FFA9535A535A535A535A535A535A535A535A535A5A53
%532F5A53532F5A53532F5A53532F5A53532F5A7EFD55FFA87E2F532F5A53
%532F5A53532F5A53532F5A53532F5A5A535A535A535A535A535A535A535A
%535A535A535A59AFFD52FF7E5A535A535A535A535A535A535A535A535A53
%5A535A5A5353535A5353535A5353535A5353535A5353535A53532F7EA8FD
%4DFFA8845353535A5353535A5353535A5353535A5353535A53532F7E5A53
%5A535A535A535A535A535A535A535A535A535A535A2F5A7EFD4BFF845A2F
%5A535A535A535A535A535A535A535A535A535A535A535A532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F535384A8FD46FFA853532F
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A535A5A535A535A
%535A535A535A535A535A535A535A535A535A535A535A2F7EA8FD43FFA87E
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A5953
%5A5353535A5353535A5353535A5353535A5353535A5353535A53532F5359
%A9FD3FFFAF59542F53535A5353535A5353535A5353535A5353535A535353
%5A5353535A535A5A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A537EA9FD3BFFA9845354535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A2F537EFD39FF7E592F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A5A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A59A9FD35FFA95A5A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A5A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A2F7EA8
%FD31FFA87E2F5A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A53532F7E5A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A7EFD2FFF7E5A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F84A9FD29FFA88453532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A535A5A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A84FD27FF7E7E535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A59535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A535353A9FD23FFA953
%532F5A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A535A5A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%2F7EA9FD1FFFA87E2F5A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F537EFD1CFFA959532F532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A5A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A53A9FD
%19FF84535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A5A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A53532F7EA8FD15FF7E5A2F53535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A53532F5A7E535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A7EAFFD11FFA95954535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A53547EA9842F532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F532F7EA8FD0DFFA87E2F5353532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A84FD04FF595A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A84FD0BFF7E5A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%5384FD07FF7E545353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A53532F5353
%A8FD06FFA97E2F545353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535AFD0553A8
%FD09FFA87E535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A537EA8
%FFFFFF7E5A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A53545A
%FD0CFFA87E2F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A2F537D
%A853532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A7EFD0F
%FFA9535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A2F7EAFFD12FF59FD0453
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535453A8FD15FF845A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A5354
%59FD18FFA87E2F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A7EFD1BFFA9535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A2F7EA9
%FD1DFFA9FD05535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A535353545384FD21FF7E5A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535459FD24FFA85A2F532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F547EFD27FF84535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A537EA9FD29FFA9FD05535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A535353545384FD2DFF7E5A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535459FD30FF7E5A2F532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F53
%7EFD33FF7E535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A2F7EA9FD35FFA853545353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A2F84A9FD38FF595A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535453AFFD3BFF7E532F532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F537E
%FD3EFFA97E2F5A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A2F7EA8FD41FF842F5A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A2F7EA8FD21FF7EA9FD20FFAF535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535453A9FD21FFA95A2F537EFD21
%FF7D532F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F537EFD21FFA8
%7E2F5A5A535A53A9FD20FFA85A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A537EA8FD21FF7E5A535A59535A53532F5A84FD1FFFA97E2F5A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A2F7EA8FD1FFFA8845353535A535A5A535A535A53
%5A5AAFFD1FFFA9535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535453A9FD20FF845A2F5A
%535A535A5A53532F5A53532F532F7EA8FD1FFF595353532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5359FD20FFA853532F532F5A53532F5A5A535A535A535A535A535A7EFD1F
%FF845A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535AA8FD1FFFA97E535A535A535A535A535A5A5353
%535A5353535A53532F5353A8FD1EFFA87E2F5A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A2F7EA8FD1EFFAF5954
%2F53535A5353535A53532F7E5A535A535A535A535A535A535A537EA8FD1E
%FFA8535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535453A9FD1EFFA9A85354535A535A535A535A535A535A532F5A5353
%2F5A53532F5A53532F5A2F5359FD1EFFA9FD04532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5359FD1FFF7E592F5A53532F5A5353
%2F5A53532F5A535A5A535A535A535A535A535A535A535A535A5384FD1EFF
%7E5A535A535A535A535A535A535A535A535A535A535A535A535A535AA8FD
%1EFFA95A5A535A535A535A535A535A535A535A535A59535A5353535A5353
%535A5353535A5353535A2F5A7EFD1DFFA85A2F5A5353535A5353535A5353
%535A5353535A5353535A2F7EA8FD1DFFA87E2F5A5353535A5353535A5353
%535A5353535A535A5A535A535A535A535A535A535A535A535A535A535459
%A9FD1DFF842F5A535A535A535A535A535A535A535A535A535A53A9FD1EFF
%7E5A535A535A535A535A535A535A535A535A535A535A5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F7EA8FD1CFFA8FD04532F5A53532F
%5A53532F5A53532F5359AFFD1CFFA88453532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A5A535A535A535A535A535A535A535A535A535A53
%5A535A535A7EFD1DFF7E5A535A535A535A535A535A535A535A84FD1DFF84
%7E535A535A535A535A535A535A535A535A535A535A535A535A5A5353535A
%5353535A5353535A5353535A5353535A5353535A535353A8FD1CFF84592F
%5A5353535A5353535A2F7EA8FD1CFFA953532F5A5353535A5353535A5353
%535A5353535A5353535A53532F7E5A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A2F7EA8FD1BFFAF7E2F5A535A535A535A53A9FD
%1CFFA87E2F5A535A535A535A535A535A535A535A535A535A535A535A535A
%535A532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5359A9FD1BFF842F5353532F5353A9FD1BFFAF59532F532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A535A5A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A5384AFFD1BFF
%5A5A535A7EFD1CFF84535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A59535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A53532F5A7EFD1BFF7E5AA8FD1BFF7E5A2F53
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%535A5A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A59A9FD35FFA95954535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F532F7EA8FD
%31FFA87E2F5353532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A5A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A7EFD2FFF7E5A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A5A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535AFD055384A8FD29FFA97E2F545353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53532F7E5A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A84FD27FF7E5A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A2F5353A9FD23FFA953532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A535A5A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A537EA8
%FD1FFFA87E535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A59535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A2F537EFD1DFF7E532F5A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A535A5A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535453A9FD19FF8453
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A5A2F532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A84FD15FF7E5A2F532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A7E535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A5AFD12FFA9535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A7EFF7E2F5A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A53532F84A8
%FD0DFFA87E2F53535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A2F597E
%FFFFFFA9535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A2F5A84FD
%0BFF7E5A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A2F7EAFFD
%06FF7D532F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5353A8FD06
%FFA87E2F5353532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5353A8FD
%09FFA85A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A537EA9FF
%FFFF845A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A7EFD
%0CFFA97E2F5A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A53532F547EA8
%FD05535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A2F537EFD0FFFA953
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A2F7EA9FD12FFFD04532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F535384FD15FF845A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A5AFD18
%FFA87E2F5A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A2F537EFD1BFFA8535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A2F7EA9FD1DFF
%A9FD04532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F532F84A9FD20FF7E5A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A5AFD24FFA85A2F5A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A2F537EFD27FF842F5A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A2F7EA9FD29FFA8FD04532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F532F7EA8FD2CFF7E5A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A5AAFFD2FFF84592F5A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53537EFD32FFAF7E2F5A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A2F7EA8FD35FF842F5353
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F532F7EA8FD38FF5A5A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A59A9FD3BFF7E532F5A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53537EFD3EFFA87E2F5A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A2F7EA8FD41FF7E2F5353532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F532F7EA8FD43FFAF595A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A53A9FD47FF7E532F5A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A535359FD4AFFA85A2F5A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A2F5AA8FD4CFFA87E2F5353532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F532F7EA8FD4FFFA9535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A53A9FD53FF59
%532F5A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A535359FD56FF845A2F5A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A2F5AA8FD58FFA8
%5A2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F542F7EA8FD5BFFA9535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A53A9FD5EFFA95353535A5353535A5353
%535A5353535A5353535A5353535A5353535A535359FD62FF7E5A535A535A
%535A535A535A535A535A535A535A535A535A535A2F5A84FD64FFA85A2F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A2F7EA8FD67FF84535A53
%5A535A535A535A535A535A535A535A535A53A9FD6AFFA95353535A535353
%5A5353535A5353535A535353FD6EFF7E54535A535A535A535A535A535A53
%5A84FD70FF7E532F5A53532F5A53532F5A2F5AA8FD72FFA97E535A535A53
%5A535A53A8FD76FFA85353535A535353AFFD79FF5A54535A7EFD7CFF7E5A
%A8FD3EFFFF
%%EndData
endstream
endobj
77 0 obj
<</Filter[/FlateDecode]/Length 15645>>stream
-H‰ÄWWÚJýþ‡éRÔVä) `-/±x±Ziµ÷ZÛÉ -ÎtxâÿT,,ÿtøZó!‹JòÌ
Þ“OxT«åãr@×[›ṡIèúŇf&UfÔ^Ôë -¨…‰œ%¦ -”¼×+¥¯®Ÿ±pœªèh+“pÁ°É-¤¼ -IrrTÁ#›Î퉎¢Ü–/ÔY΀ÓiĘš£l’K%ïaæ^Ô -+Q’žøwÅÍS˜; KW^VgŠ‹QLžæRÀhó¾b'fåĘå¸xÑS<é`F²lÖ`èQ«)M‘SõHH1ÜùV•“^â9}¡·‰\xn¤ÉÒL…˜d‚{H¡¦ f:F/J‘Æ>åäÀŽO±JX¨%¢¤š›„óX; £ž\¼$adÿXM -CŠ¾îï¯o¾¾FóR:#¸Æbt¬ù¥UJ~ -¦¢-¶¡®+ÿkœ©Nœ´Xz’LáB÷Š3϶‘3å1¿ˆÑ&g,UzN77&e©_î†-8‘\fÐD4ÖЈq|fH -_³Rz‹d‹–Òq]ìÈ0ÖvN:Ã溶wÆ`K•ÝP%\›˜xyÜŽÀŽ¨mª|uŒ`(W½ìà0iÂÀ)Š#¡.†Å†÷UíÔ†!WAžŽö‘Ž•Y -Öéæ¾xÍó --wè,˜LÝ‚ÑÌqJïq`råµmM \Û¨NÙ3žVñÁÕ´V"à@"6À²È˜»–‰êJ¸ÙŒGYo -E*>q|t'&°Y…Õ+&éBÂæD1^Òôr¤bêO
´ßê‹èF*.jùpÔÕ”X“r`}Û -“]Zã’Œi³¥Ó -Á.Øa')ÓÏ¢cêz:ŠÏ4ú™™ c°
1N¤
l³g1ƒþ™_Žk:<éŸÙM‚K:ꃤ‡R R7±ˆ†cåÅ|)X¡¨Ÿ “¢ Í#ÍDRdïõûYòâ[äÓèyåÁ€8$¶@‘:š= -!ßÖ|}j
;ýþq¥KduÊGï®wNïßî5ð—ìey÷ú°ÝdÆ´>1_]ö^e÷÷:Îñêç÷çÕízóóÅÙÕÑ»úàëÞU“ÙJw^º:ÎŽ¶Þ}êN²…fã[îMó4kñ&ÿ«”ßÊ4ƒWÌ]ŠöäýÇAóôˆ;ÚÛ3¥›ËíM–ž¨Ã{µn/S¯ýs!ºOí£³-ƒ8øNLΪÛv¯{´sß~Ò÷î·2Ýqár”xÙNíd\»ûøðµõ©“»[ýhWlžÎzÍ:ÏÝlÆîí_¨ãŒã¬Þï×vwüx_këMýK}ÜžŠÎ´öO1⎻]¥8øÙ<}·wïÞ”yçÛä…ŸvvûjÿUûðøi§5<Ü6]_°joeNžö”s¥òq¿3=úÞ8meÊ»íÙÍÎÞç^‡ØoÎî.·§
EÁ3ù“vp>LÝ—‹…<®1mçG]ûv©¶õÌ»½CvðÕn
†»?%ÿ×ÍÆå´¼•©6î›-SÙ3Þ^5ò5ãë[VËóq¹Å”~ñ`V/7*ÝK~n«í‘Ú}¹ ÖµNC|‹Wo÷³¤×nׂ¿™f§º}ž=©pˆKÿ¡º}VëÐo§wêC½4Ú~t®=33`ÐYõͶÉCõþÜW×zêH~?&#‚„A AŒÈ9˜`‚D4Áðþ[êH`{æÌÎ^í
_£®®ðW¦kŸNaã§Cfh¶çE’:KRäƒõ(¢2¤ÐÆÅqA$OnrúüCg"£°æ‰íÈ*&ƒò3‹ö¢oº]’Èdä`TÊê¯&ŸÎ+›ž¯Ë#äÉ›ÂÀ¯"ÄM)@$n --(ßkÝ ZÄз¸CÆjiñ•Ñ}z=ã›Òš´ˆz”?>¼.ž¶jLÕÝmñQ¨JZcuäŽÃ”þäb½æƒÙ§ç}yLm!Öå+Š´îŒÅÕšŽ¤µ[WD-@€™I"QŸï-yÉÆq§ò•b@U$ÿ\ÅØ\ƱÞ?Â5"Ûþ8bƒ2tòƒK7ÏÏ|³p¾|7íYWGtOŽ+«dNE<?¹åþÜG'lV"•wî… -N™Ÿ\Âlªøä曥9&ÃHB±·ùI[Di£Ëõ$%£¹Xé{䜫Š¿ºM+R¼%2¹IèÉmÙVÍ4E–â UÚ¨à„©|;ˆ„J‘É! ¬Ïó°ýlïùæ²ë*qcpƒûrTñ„¾®-½ðlèh¢¸ÄÕÒ/iÞ<
Úî—¸ -ÊínþZÂA€:l¾(œþÚ5 -üDšÆ–¾åž}ÝÓyøzs°M®·!U4«€ë~_ Yaã;¬6Gùlµ½_|Ø1^b+Ö9½È¾×cÇê4·É¾sBõo÷É ‘~ûÒ bÏœqºl|cRÍ[†Ÿpl^ɤ
U è¨þeÌ7.͘u‹ˆ¡ŽÁ‡wš¥<Ø[öüŒôØlEüL$Ô'Y88Rõídø™¤JÍy|*ô^8u3ð탳£t½ -›¹djƒU2”C\@C -6q4”ò
üÍd†¬BRŒ×ÝT~ZdMl€²eµ½.œ+,µ²ð3àíP"ñ¾wE‘Ù Àxö½å+—o!Rîõ³kÿ©#Üp“uä®`¢&ù sÅéLgýÅñ‚"Çü]‡_lù— ðéÊѼ½ûk„…á—_ã/¢ï(Ú²Bå;XèÂòXØV„Ä›Íñ ¢Ø°ÙlxCìÑjxcÊ»±¸×Æ–¤ØÜAæN¨ÁífP¾XÞº÷*ÆÎàˆÉ‰ŸRÅLH㙑 -Œg†¦·È [Z éÿÉmÍÿß]T¤Üƽ€ôªÁ€Ímgp -žs‡ç)ÃéXùžmñ—%…õâ -“ã[Ž€×ú‘šÕ³•(×r0æ¦Ú, -ÇWïÃ`nr_Ø”XDªZì– )c1 ›è«Ãº¸;™šï¶¤á¦‚m?«iAaå÷ðKB
NEþ¼@VFÝÌ.‰#+芒‰Y± Ôª\5êïíʦ¢—ž›¯•mEòϯõ‹‰ñÞC&6—i•,ÂÛÜWeqzlfåƒìÿµä'÷-$îtZ¶b©R'‹¤Élzblw"©1â›wå ä…ØE ©`ëËqçƒÁˆgÒjèvÑŒÃ+íbr;=òJÀŒA¹êÀ~œBwª+ÊØïX–¾pìtôÉuj„'µ$+h~ÌŹ:WŠÕ0MÅ™š¡ó!©p -LpŒ}‡œÁ”·ü½cögÙ¥yê€c›¿/’F¦½6EŒì…Up¯‰«¯
¹¯…0?ÈGñ#³Y¨¢-Ñr½„6ËQ2š‹•ÙÖй¯ÙûBåDu‹HRTÒQ†Ü÷÷ªg^íQsìÆWµ<—æ;&x
>ß³¤y³¤$清öŽL8LåÛAÔ¢åâ©Åij0qÊW#Â6\§€iãOn,±ÜJåñÈ= -ž‘Ûð…dÝøs‹ŸH”B—½@æÙÏL„@=¡‹|+š‚Iʯ¿Õ©g°ß×å3àG|Tc̦5¡‰Y•D“wL@5Ci~¨g(¢¶Ý½Ži¶ Ãö@º -©ò7›ƒºˆ–F®ìÀÔWœð;«ä©oÁÚ}xPIJù¢›G¤¢~|)È$$|·ß[µ0ZQ”íÌy›Ksí9=G‹7n°ˆí? -'’]iéƒmч’]iR±öNxWJkëµ{¾8^‚4ïÅÆ°É\ëíÖ>Š]Û„ýíÆ_6Á ¡[+줅.(€06}ë¼|¡) -:Ú¾‰B'ÈWçÊ-hÆ<3·—<_Ž¾DQaÂn
þÑØóç}g·ð®úHçfÎ@‰–QîDŽÀ–ö“J¡Nxho(qÙ—/íû!fªÄ1àHL!ð—Mfï
³‚dWz@úÕDocÄ|poî†ÝžË»£"mN¾ãÅs¶´Èì|»p‡pG®ZOC’%ê©W‹Pq×½´}ÍU -^{ÃòÅNjB5E`ù!;½t
ôÃi¢0îìÄ;Q4ÛñÀò£5Ì\iKv•ÌàŒ„¹Â¿x©ÆC -`ï«l/êžAÊØÓg§–z€“ÕµÈ`ÞbÌz“±ò.BÃÙ1E†? ñÈOGjz礇¥â)-¸—‚%-c@ ã*þ,hEPã[ÿ9â›ÎÏæ“\ä©¢ öþeô¢B]ÌÊ1‹‡#“¹ÅÌÆÖ’ªõg7BÔ›v -á.6jrð§R@á{!R/Œ#·Yœ$7ÎÌË“¡¢înÎÍöA¼N,Hà0 -O¶5&àbhç!yRÇÃA|-pmÛkœ^:§ÉôäeÙÂA†ŽÏ°^ûuu`˜&óö©m&l4šÇ™J+–qµÞÍ¢’!nM'aî·˜€³D#Ã좒¤WõåIlA²”Áv
î®ôF‰!X®Š‰sG+‘ôË<¿.Qcyèsíhï+MfÎæ3©NuIUWªƒ#MvÞ|L¨QÉB]žF1Íõ~Á¿-›d{ÿÌÐs–Îœ˜ñÌóÈ5¨Ñй·ž¶ËƒN4xÀ)Tpóý ”§¹Ù*Fªw×OÌ,4NÚÍðF=\Kè)¼wÛÓI¡Þ®u±üKoo™ƒD¨Øâ]@õAæ…ÁÁâz+–÷±BL8 -!Zjâøæ$ãxÜR¤Î×Ñu>HdrÓ(ÝŠæ ë¢1è!Ö ùr
Lõ‚[®G¿ús‹~€Èji›a'$»äM;Æÿ•¯Ó‚'DÖIσ6÷´·¦¬©†‡âL.ì‰ÁWÇ3žx]5/œz–ÿ÷§â”ÌÛ¿qúOOÞÔÌ®Èkº -Îgô`!Ι¦.Ï-S4ⲺVó–×,ÕÜÙ’ðÔÕµ§)¦Ç6ú-û˜'Þ9åÜmë‰b¦mI2D“ѵ
©›ÿhúº+/–»ÉdæBhï7«š¢é”öjp›"Ö7ÜB$çÚã¿»ZÕ6[]4¼cqŠlþüŽ×{ûùwNŸÀ™¨ÿI^×æœÙä~Šº±¿ -{â=Uæ5A|†{êâI'W–¹µLp ªæ“®I²">r›ƒëô®[šªñKȱèztCV…ð_ˆÕ¶_>6¹¬^]åËvö¤)2ÿóË{¨GRàQuf™Š¬ŠÃÔµµhüM˜Í4µÍïËbô3(¤Pô²Ïœg_O—3LQ—ÿãlü{º¢¡)–ýçïýžjr‚Ó©$‰Ì¥®üúÝ:aÿ‘ãðOZÀ]#Ýy:òCäMM÷Ì9…Sù¯Ûà+»òg…nŠ’éJÚårµDcùwÅJºCý-û͡ז(ÈÖÆeoüÛvv^ÂìS ßj0]½üeõíþ1¹+Ç+òÖÃköí=º¸°ÇÅ1óß&ÍXÿˆ¾ ‹‚lg©. -ʳgûËÃnÎ1«íQ¼ûKØ=+#²Öý’µ.¸6tLÉúï’å¬ór€á¬zGQñ[ ýœ_ðsÖ -ë‚ÿ<ì 5Aë‹$/ ÏóÅþð« -UÌ¢dÂÊ,÷ͬ8ëêä·ìô)ÇÂżçÑŸ¬uµG/3Ö-¶½•¨må„H‡Ï%r¯ÎA´úæ´e'í -þ®*`éOq%h{‰©ùeÈÈ3,µï¯àzø¾½gOp`ôÁÕ¥õ§±/2œ$ÀfrÇ~SˆÌñ§£×*apœÕ3Œ\)¯¶°O:q»*ê½Ã©"Ïí»hïngâvq5…yøOÙõj¹šŒ -Ë墮tŒP¹¬ˆ’Ôÿ#°=+Ðæ÷òvTv¸U×4™µ-ÿÛMð‹LÀW美uD-:~WŽ•õÆj³ÄÍqÀ,œk.Ayéª÷Ö¹7½7¯ù¤œ~Ã~[…º¹éªÌAôÆÎ_Wì¿·Ï®ˆô-ÏmgnÍg‘î¢*+·Y‘YFVÇÞ¦OøDé“Š§‹ûäNç·h>í1ÿ°-¸}W°PÈsDã´ÂÅ`zo!¡7œ–¹EI½sKÌžA?†BÓÈ×8Ú,²ãú_а›ïëõD´Ä¢šG«ú²ÑYÜ—{ßQw¾–Ï—[îÃè/:’î¤Â'Cçô—l¸çúûBé+YÝÔìÝSú¢Ù“•öeº±%á ×2DàÎÕµ„/»Ižö0Iø—+0;‚„ïêþÖ{‰P-šºËÜ2>J=ˆDK-p®´‰äžfÙp!NƱÝ0˜Uøø[˜ZhVª6e‹R³™yÞ/´I)›¨¥ß‚~y-‹£!UVýJ&ŸùyóqN¥„_1àí¯Ã…«7“ÈØÅKMIï¥>@üuê.ÒSÂÐ<“•ý+=á7NjáÉä'mYqLIiX;qðe«„S\Þ—Ò&x'%ª‘ÄÏýþnáëAé:ÇQÇZO¢©ú$h -8ÚMiÀjÐØê±JšCÓ„[”B¤h}"6:åÕ RÃJ.+€F—nÆ5(›C#ž‘/M›Gj«L"Òþ"l›f±R•Âã³;8Ñ“Á@ªòÕîiPˆE‡ig¨1í›B«5ºM/=Ìög2jq^>ßÓ7¨äÑ!ÛDXÏ宺ámÈÐQJMª BŸ].4ÝM
ªU²‚Šã%×Ç@˜X¼â™B'¹YYHGØ}?25MŒ%û’íšC;EOöDZkšA}÷ÛTVƒÂ¾œ—’77|x2‡Fª’¤Ú¦P[å;îèîè'3¨…¤*ãqkÌNn¸Ve¨ªöjRyëŽd¨…4&xo÷çTè à6$8׎dÔô–G›Êt˜¦šñ@A½¨…”l5–u™ -4z„Ð/DÚÊMv¤Š2QT¬C™9‡ ”*Šy–?Öoƒ0@¥è:¥Þ4¹T'hH¯gg}‹Ú?°Ì4vîTíÅ9áSXë Ú½â¬Kª6#šõBùAzKNÌ×°N_ñèך¬±DhÚWÒ&qq*cÜÒönfWDñ¹ža ÚÛáKfâ:eìÒž§ÃO¬µéãr4Þ:úº×¬†ŒÅìO¶Ïy
óu¢æ¬¥_$ÅúåúI¾}ñŽÍéWÈ–ºÈØ˼ÑãÌìŠÊ•|k}#çwÞ:*¥2ÇŒ™Øgä$îÀZ×ûg¡†µn^éBG³^dl·©d'¸¯Á¥Î}kmБì;>cä'7ï5q_; g}äÅZËùÖœÅZtÎÂg,OÐO -cÖ¨rÆ{Œ9å¾7X}ýŽ”SÅ`Úx*kýYÕ›×ì)âïžO`Ejáú(ªú3#·È*¨ãheU¤§ÀKmå¯3£÷4a‰@#9€ sÝG úBøKÝ"z¼ÉóÛizS4Bå1ÝÂQùDíÊ<T=‡9ç¬ËÚÃ.ø°±“Ïštt'⮕à\0Ǿ@ZmNà}¥O<ûÝ*3÷€:ÙÊâaœÉh³Vžt0ИÍ9æÐÈ`ˆ…Â%²ú1}¬ò¤ƒ…¢+ï]è¡‘žÃBê°‰v¡§ƒ.œN»•»ÿ4lH/êþO‘V·gPÏ@ž^õسgh,Tîþ1P˜¡ûŸhPˆå,Ö1 - –"x(êþ±P‰úÿ¥y¬i"x
Úta¡rO¡AÑÙ?➢¶«lòˆ—ÿR7ÂS.v¿yorØqú³y3fÿ™”ߟn¾]ªu§ªEbåUµ¼8º3÷e§{ª~ðÊATÅÅÙ{0œø»•=å×YÁ½€Ë¿J8MBIµYÁ“N+ºå%²Éšc-{‘MV?J \L‘Ú4©øl™Tþ¯äø8õ–à—”—ŽKÐ'Ù+Ü-Ùyztõ3¬£;¸ðr Qªúpgœ¬ü²Ë/Ïðƒ5´ï1;J߮ʱ.‚gçyK-T#J’òäÛù”dæÔ&Y78¥wizpAé¶ü´+GÕQ>ݧU:Z©È)µ -·’ŽªóŸ‹ÀÆg!µåvû׳ÝÞ?û)>¯Zcf¢æõåJ²~¿¼\ŸÊdñËd]Y,ä-¬+Ø¥,¿)÷c²îUYZ]ÝÈJeUG?ŸyÓ¼Cs3T+ùÿÎ<]&×ónÁ'ë\zþËz•n%²4Á'è‡`édgF¸£8,‚0Œ¸ÀÀ¸ \qøô¢BÃûUÕ[UQY]
þéãñhVfdfDdb›z,õAêÑüF·qw¾¢tSf -5‹?r‘›½Ì” ¤ìgyɨÏhækb‹ÑÌ×dpF³¯W®~Ìér_Fë{Œæ\¯A<ÌŸÑ4ŠÓ¤ŒÖ߇ÑÜlÞ?ÑP×DŒx÷QœàŒfwŸ³?£á(.£YZ¹k–Ñ -t”T5nÏq7«é"7ÀˆÐà7ÇvÅiüÅ¥Ë5)±G9L]Y[i¯ -¾yxCO~÷›4Ôys”Žúò[Â4¤èÌjhÏ/Ö¢eFˆ¦Yl -D²šÒ, -6 -ïK3샻Ä)ícPP×äõÆ?Žšµ£àZpÔýáþU=çÃ#Q¤•Áâ”ã€Í‘Xr×]pÁà5ôó÷¼¢ú’Ø]°jˆ~›ÞÇßSC: _™{_|Ãß"/ÒBM÷WÃßü½H½ËÛßßß-EZTÅp×äþ^MÅpœ}ü=ÅÕÂÝUŒÄø{Q÷z⨪¡\ ÃÜ-÷VCFÇ+NÉ+è·ûª¡]}9žm´•Ùù{òÅi¤¬Ÿ¯$-¡¡´ªÇ“ÌÕO/äPu»å»M8Ûw»©¼»íí¾/ײˆ)Ù]§“øè"B½Ì(í9 ø„ç€r}[,ÏL„øHåR'×â¿^¼0Õ2é-Yªe²Jw¥‚0ªÃ§
äžNs³u?›ý_¤œ"¯zW‘¹úk™‚” -Ë55)úËË¿Á -÷›jê‹7,øc;|ƒ£ÿt~ªÓ‘±oÁ,Æ$¼ng$“Ì–}DNùDhº=JI)NÄÖrÙŠl®§g'_ºoÂËÂîÁOsµ*˜Cé·Ëq(5xh„Ò?Š¡t»Ô!‚áŸF¡Ôüåbø·g¡Týª†?¿3ÅŸ¥¨ÛPƒKÙþi¼ -£î¥“ÇW_ç+3¯¯h‹cèßÚ‹LÖ<j†år¶{ôËe‡›Õê{Ø@ï=wß‹`PèØ 7V›ÇLšžæÑä÷ÂßKîQÂÉäÙ¯‘Hÿã¿[ñ£‡£?à£føì%>š;{þuÍ^¯T_#F¾=þzô‰~ôð:J=zô«zM=úd¼ûγfd>ólB‘ød]¸•6ÿcMŒÀG¼ÇÆõágéZK¹_À£_#Ñ«EáxttÏ=ªéÀæ!üh3õ8 -jÙ_G ðOÚ9G¹ÆhÑi›—Ov -Œ¹ÝvÛ=ñÞ‘|X[3fŒø²«-^ý¬+DcÝ•;äÒÛ1_È3M;âÙí9î ã#ÎGNHÛ¦ÐFvÄ&üM´M2Jn>8*NÅ[šfùB4
‡áÚÊ‹Â#LåÒæ0zLywq¡üÅÅPÚu\D@µÓ빆{YNâµDßbqã;¦xßQZ—Źàö£$,S¯ëjC®-1 -ôPOá“Û)EŸ8ÑÜÜÚí㜇 L'o•¬l–xáœ]ø³ìhÕÉdþ–’\’$L¡ê“4ìz¦!"a)šÌ1B8[ŒØÜ8”ý…àÖ2À²… -Àä· -w#çªÝ±Ÿ·ˆQ -Õ…µþf3õ~’åÕ ?ª-å›±ñõøÞ?×z½xpö§þPnëg™ULþúCåWïü©Þ{8Òg_>\Õªéjµj¦‘ -!ùTpÊUŸŠW{á‹1Z)âtçhY$¦Ð/b¦—rñâàsÓ©t³-¬9ƹ¬”`ÓEçº}ð…ÍKŽX/¹ò|@/àsè#÷Bq$²ùÜY©ÅÿèÌÔ*Z£ÉÕÉ(9ij© Â)‘µÓaGÓ|Ñ…ØÊŠ=@ÍIácTK^«™¦¿.
Aç˜Ñ›] ìöÊtžqÌ6,ˆ³p&KÏᥦ›·‘ø’ñ…„ÆH™ ͶD 7—õ¹ÚF~¯ÛŸðØ«'ùÓ~¨rÚ»r¨>ˆ|íH„YÓ÷@K£LêÛÿŸO§Û‘•æìF`‘c”H2Y"¥ -'%ûJ²p:_I……bS'$kŽ)E…¤: -õ2ß'Ç)DE^[p"/Lé„à”{]W®F&ÜbäETÑ®–ÔE”?(Έ½o;`Gøkƹ+A»+Ý•£v:Ì›ÉWðT¸Ä~k3Ú¼’¬á¢(É¿¯HÄò[ˆÙtÂhˆ÷Ô*¥Û–ù[P29B‘ÄÂ&I9\I -s²2a_ˆ»ÅAÍç¹=ÔÊèÍÈi¹Õ;æ [Ó’W&z‘3`ñ© -þ:ÎÁnÖ ‡gžðB¶¿*M\Ä –ìhIø<S’Ûâ‹Ó
Zt³[œ-º©ÔÉm)X~§‹R;©ö'¦ÇèPhå½qAŵxõ³ŽÝ•»%*(´¦OLÝÆܸ֮³ðòQŠ>É€2G, !:¤€æv2‡¿¤þ -H‰¬Wù^ÚL}‚<„@H ´@Ë©ˆbÁ¥,?ñ³Ò$ðþßÌd› ³$â?S«pî~î¹íÙ¨qrTO]BâJ«ÞÎszNë]is¼Ö³ÉP’µÊ‰ù§X½œVô§äõ7ðßƲrfûz{š”Á“Jêm>ŽµüÉG‘Bá<+o£C¼± #6><ªç’z‡¡´§*B‘dg²KkõãtX)½qÀêÙ{J’10ðÛAÑÊ[=ôŸ¦?)÷ul6¨Áß»ßFáz¦à_;'²œû]ž«y¥ªŸë¹âuZ«¾lžø3µ›&ðáÍ3¬¿^• -øß+MP«L3c?ŽßÆ?6Øã®ÖE`t(ðHö?.XqÅ+$¾t/ø`àsݤ“w -”Ì|íî¬ã>>S³Qîeà“£N4lÐÉØ–ÔÌÞ–TA!hcBÄ0£o/¯ŒÌÐÈxM. c[“–JÕ¯ ;fo*Ñß¿é‹í0—û/eÐ#JeIÍ‹‚t¡¼º˜GIX1LËÁÇê+ -k*Kj˜©„5ø)ÌØ?™1Ð~‹†Ÿ¸WKVK§’fÿo -~2ûßr[¥Þ=´žòJ%Ö°O{W0÷ÜŸâpRSFú{¬i}þQàF'›p½¬•§/’lÅoÇ},£•xAØ¿À©ÏíJ©~?ö[)×ûüOÑsåÑn³)¦FÙÂÅóWšÑÍnZ2HN&Ìê-=Ýc='>
R£ã¦QK¬µ.0cÕÍøÝiT9Ÿgÿsšp£_R¾QhŒžàþI3ú”LÆ}£–ò)¹ñŒ£'/)µzÿ‡fT’a‚ñXI£±Ö,Ë4ª·º_û£§q¹ø£1EF=F&xÂ1j&NÙFÍ«øͨ$£V’/÷fôǶÑÏ?º·l£Íæ°…Œº˜MÀ¿g¼ŸìOnvérŽ¬>ãs…ºÎüš}×ö4]úQ+¶MM‚˜ÇÅ ètRPn 'ã˳îPû„ä.:æùDžŒ ©')È›?0
ÓîæàUn7ìò×Z/OUJèØJ¢ù°lQh½Ô¼\—`'³ªoN‘.Å *ÿ´¦ï½~Ò’dæ
к|¥\ºØ1]’djžÒßçMjž›=dé
C8uû<ü•îV?¸Ô?˜˜d·€yýë’%)\?™·«CâƒÌïFh4-“~>F‹ÔÝ”y t’#.I2Ï©¹õ1} -³’Î~ñ> ƒÐJjôÐ`Á‘¢[СGd#•·_Âw(¬ùí*R@öì«¥?+o#~sŠ·tudÌJù`+¥w&æ4Äà¢ÕØ’zavæ–8;Œé-f„¶„Ô¿èwpÕºèêh‹e£Õr¿’£k²<;gVÒf.õŒµÊèVz[캴ƒ`ûû.ZÁlû£÷îƒ÷nÊsY0 Ǹ8FºöÚ:„ -Š$GZzlo¼ ¤¡H¡qDÜí6¶C·óBʇ"x'l40Rj* i2*Ú{Ø-©¢¼áNNØK
BÕ·>¦`£+<–φ 3‰Ø]Düx*_éP©„EBxìN%Ôk)À^÷uÜŠµÔDb¿œÒòðìhB¼'þvEëEX—ÈJ=îjÝ° D -¶¸b‚_º‡Í¬µ,Hò¡Bµ:ðKš"…ÅÉâ
ˆÅÅ9þ¨¨ããÜbQprì+÷e¥•ÝÂIˆ~Y !Ç0>SSíZîåB(yÐ^éà‚ß -ÁCooÑ:Jéýc8^‡ó’nX”1¡w‹¹`‡!ÈvðZ|‡¯q×g -ü…ÂÙÈùÚè刵* -3€í/ìzƒIª$$ÐÓ“uµÎîf8jrÃ[
gÉH•P°W©ý19Ué÷çT®7(¢8ÜØAñ±CY.T\ðåPÁ“Ë\H¶ó‹š‰™ -!ÑÏ-°»ìz1G¹¦Ê®=jœ|hëU¯zålŸõ)œ\Ì×/úqë€3jPZ -+T<\nz.à„óñ(±:!=.íâ" ±6„°&É'3Ã<a7H.7{ŠêgI¿hiÉ8×°©‚Òz…¶æ¶S†Í–£GöϬ5@íapòá ”Äáßu -¿zÚ4W˜Ñ~tæÇHp…Ós×{áfˈ5—¥ð¨´ÐûDK?ÆkÏObå*¼JŒy7Jg‘]ÛŒÙLá3§XÏ6Ù•ó…ÊZÜAªÈÑDÛ¢¢4ñÑ·*6ñîÜ‹:ÁÖµU]h^£7\=Ûá,|U{+׈/[Ltˆå¢Ï¦ŠæŸ*®7*Š®¢5TÄ6ÊIå=NÑÀ¡:é1ŽØT¤ÐŠÆgN´fŒS`¯-£º¨¨i†%é‘y£ãð:£Ä‹ÞXÄx½§€VDr´&7Åêphíõõp&÷šC¢gŠš(OE#{xäüœ@‚!î®TAd×[;o9껤=ì~)m{ïb_¨<\‹ùÔ8b{<db¼39éUBÏ[×㯜ÙæQ‘ås
¸M·ÆĽæÅQ©ƒ0VIá‰3AðdF«™XcíEÙ€`f…€kŒ ƒµ€ -½£â+ -¢Ò:Îþâ5“Ó§œF™_gõœnÌ? ‹Ÿá€¢²±>ë†×aQ‘ÈÈÇŽÄ×6 ÌÿM~RlºŠáÞTÁkÃ¥õ»áÄàïÐòðl~ZlÝq¬±ÿ%ÇÚ‡_sl}ùGLŽíˆ_r¬wø5džǤÞO`ŽIÊ÷4}åÆæ(UŽ}‰Äöú;Fç'„ØwH|©BúIæ»b÷*ÖŸ@ù³× -PVA•Z¿U0
¾Ü»o†ˆ³ -i¹Q÷ZϺ¤¤\÷YoâÊИ_ŠŽ$‹qäŠþ¼€D+&ZhÛ´ê–Þ(LSʼn[:BOÚsûj˜Oiné¡©¤Éàɉ[&Ja<¿45µËf«…{ÔŽž‰‚Wqªoéñ‹hêX€á=‰dÝK+½£ß¼©Æòµš”ˆ6(('ðŒõeåò‘TúxÎ eÎÛŸ°¼§˜þ@ãGú>ÑجÆéÀ¥áX¦£ð[ª}uü—,òŠ3XôÂO¯³¤Æ¡áLÐ9Ô±ãNÕõl"d¥ïÇ -@°ü"IÙ‘!…ŸÊ“TÚ^ËãHG¶!ñdk×®Ú®YמÀJ`<_ºJoxØÔÜPh‚Ó´š‰{_²ˆ³4£&Õ ‹8tcâEP·)ÎBjá߬/!Ä“?"ñƒkŸVú¾¹~z^ÿ`|—>®P„îz±©ìuýNÿçXÚ<œ^õõñGêWè(µZ"^Ò6¶#çÍ.œèM[—¢"r·än‘è¤ô˜Tj ™—ùAÖ‘ŠV’ÝÞífùRõ‘ýÀ’3]ŒF¬tˆHõÀ éÀLQÙÌ–”Rð/çš³¬Í߸ûg4PÒ÷ÅS™nÔ½c7ËâÕäìNÍøÈò¯¢ÞÎs‡§4W-¯KÃJ¯“çŽüg"ø§¥8dßZ/íæ•^7æÈziý -l{¬Ë–ŠÇnêh±(â`õ¸qLÚÀ¿ \÷Ùí̃JÆ(Ÿ\‘Xvs¶¨Æ¹)xùT°ï¨B®0KÜ5ïɪÂ`œ‚Ež³Õ‹b8=¦a)C/P©mO¥\—€i+ïêžÂ2Ä•VS<*”Çz{ÎhàTí$„¹¿ ®m59Ó8`„i«šÎáZ#‰kt“ïhOš\„ØWÈõ˜sèÌ>ƒEô7O‡ROëp·’.Ë/ù¸º²£—Øì膀}‹n˜„®Wãïô¡NîÅpÖ_²5RW‰ÛdBäÃú]©¶È›}ÁÉâ›H¦^ƒ¹ì<}î…—ÖŒá”F½XôËY°×ú¼ ÕkŒF‚•i´‰˜MÖDð•6—PD7Ç«°\k´±Æ=‘ÚèsÖßƈ·GmšÎÕ³ÖmŒ…äLi -oÁE묱#ñ[,ë À¥Ä¢ -¿;z‘+o˜q¢ÀßÊ–hP4I£ÑúäÌXÃì¶Í߇'Ž}2AûÈo¦è/%h„±o¥è/%hùÍý¥cò'S4†…Ì@Ë%wÚžÞI³[*mÃBîHoÀÐßÖY.ž¦º²ßg¸LWœôxÝ瀚‡†›Iù¦tË/Èu 6ïio:Å -Ò¹Và#Mµ1þU±Ìv§Ñ²Ý†º Óo°zÀZâdæøÐP¼òô‹h/§›¦‰¶ßþWÅéŠj¨ê¥ŠÜ Ûù: -&@³\ò #°.}úĆ+›&Ø£q -9F耵·q¬8~$„±Ï¨lÏÁ"˜:ÞýñŸ»Ãtÿ±Ó/ªÐçQJ]žV~Óñö˜†héQñÓéhñYS¶ôƒ-ÿøŒhУ"§ì6oTlˆ¿ßÁ4%xÿ÷·ØûmƒWW_m¼ûc¿ãùÊ}µýc×31ÖYŸ1ýxæVÄÙëÏÆØ`ó¥Ðû_ÚÞÁØ~ôŒå§MùGŒ§ó¼1˜zèjZìw–øP…öµÈ‡²Ø{úþ<o–‡w²,öyP
Œo -ß Ž[\h§¸ŒYg||@Sh²eThWÃÎN®œV¨·º½-¼º[Üì2V³«°¨„¬²Î]îõ«è6c)×ÛíþSŽ8Ýäý»vÕàŽÕGº=«+ùzÖTXàþ4ÉÛ‚:ï -¼Ç«) -·OîÉÈ/jžv[\|¶½½s`À.`QsüUœD¿5y¨“ã´L¾@Ô®ˆtGùêü˜´´ma ‹. ßµj1»ï<EÆ®Ugñ&8 XmµyTÐðY ißT+åî Çþ£‚,Åë-À7¨aOÂ)ŠpéXlÐdñ)R1!%.õ õ¨,VšÅU"@Ø-\"×.Â#ÅT†_å|²[*m·žƒ6çêó‘ÿ]ÞÕø³›I)…nèr¦,/®·…»ÂúÄ1€{R,Ž¢¿ÔCÿ9Y'ö -¯=ñ|\»Î¡-‚'ü©ÅÝO€æS7pÀ`ƒÁ€>.@~1Ѩ*Œ¹:÷× é©5´ ¸›[þÍú€W…š LËëÅþϱ´y8½êk¨IXéèÇÓmø™T»Ò0EŸà¾Ãý#lƒÆ|4i2mA阈ÃH‰®ÖÊl¥ë{{o6·U$´œ{îIÎM{t6΋²Jý.o@àaqZá8Ò¢Ôš -Øôz{-Š>¦\d—£¦”¯mYW¾Ùá0P‹i:¿™àÚŒ´WØ£ixFjjõ‘2œÑ„pѳØÂB3àÌÄ\‰9‹g™3!u,Î…u2´„6Öàb!,“ÄZàÂÿ½»£â–ÀQ[ŒqŠOÏ—Áñ"ͬ<Á?!˜iî,*¦ŒT˜‚aNºg¬˜\bNúˆ3-”I$‘§ºU×$…·s)h—6ªëIº§âºãwT™ˆ¨Ä -õgÓõ>)Vÿ݃9Ìaÿu–`°×ÇÅ#¤ãC(û_E”“;_ä/Wbí¿sôUU·¾Í¿¨ƒE“¯ÛºÉqý^oC[Žr -Ùì~ -H‰ÌWÛnÜÈýþó`ÀzÐ,»É¾Pðêx±¶I»A`ZCÉŒ©á€3ãóõ9UÍÛHZ;ŒÀ<ŠêæÔé®®:Uzñ§ËëódÓ}¨ÏÃUà{/^d}]ºþÂçQÿuÛ÷‡ž†^^ù"Zx)ym×Ë¿Õý¾é¶<Å“%}ûåÛæöc×V{ÿçæð©»»;ó_žaò¦9´5¦;¹~èúzµÛܬ0“WÌF?©ŸDà‹àBZ?yCóÕösµß7ÿƬС
1–vÇí¦Ùާݿ.üsM?Æ7˜øksUïOgÕÊ*zG¯b©¥{3ïnõöpÙw·õ~Ÿum×ï/üìKµõßT÷˜©ü¿×mÛýî§muûÉÃÎÕºlÚ›|¨X"m9y-ä:=6íæíñáCí‡ÚÐp¸f“¿îaf陆ÍúõF®ëÃ+!¹íêUº\/ß_Õ÷
üó³Álßíªþ¾{Ó»ËÍÝÔ»~ä‡r¥|¡p›ž†·° ç›0 éó0æ·M÷XïÍ.ª?7õïþÛn[;?$ýáÚH»»™«c[÷¿n›Ö§i(vŽxÓmêïOß/ÛŠ÷ÏóݽpSõ÷õ‡ÙµÇ™àè_ª/5–pïvõö¦û×x."_ľÄ]ÚÐ7öcg;’¾Äp°€ 8«dƒ,Œ¦)F.qRïúæ¾Ù^3ëW}³™OÏÈù‡W¿²‹O<~Ü2±ãáÞËFÜdoq¬Þ\ƒ³Øn²îܾ§@G - JÁv…B bh¡„Á]Ä@ÂHÈPŠ’VäI¶ é -ˆ¡ -UhЮÙ0“0
³°ó°„ƒDFîÒ‘‰lI”FY”GPÂuBáëJy*RZeU¢R S¹*áSr…Ô¡Žx /™7b^ýˆ7³ã•Ì¬À«'î™yâ%V^«bæ%Ö‚Y‰3ÔJkm´Õ±Nt¦s]èg,Lh"£1ÖÄ&1™ÉMaJœ¼ð°œÈ*«±Ö&6µ™Ím‰pqˆí+wßùúÿäm”t@ÎÈ€”‘ -$@Ì°€aà -p8õ‘QpZPrñz`ÄËÝ•)0b -8?3)’'F$“2”â‘ÿbö”é¤]†¥¬ƒð”œÿ¤<bRú80¬1«ÓƒŒ5T¡ðHXátr(Å5ˆ…‡x-‡”‘ÑÝïùÅå|H M!E±Ð”ôDU$ëŠbeµeVç-Å%&yñàhÊ‹… -HÏ“kÔiq9!\´s°l -¥-ÂpIV¯½ëïl5Ýc82)xL"ð -hy -·ßPjÄ11ƒ‚‹‰hŒi«A 1y ð]hÈæU~'{¼¶)bé-ôŒ"ŠÉ¨±AD[F ©È’3 -Ç„.£#ºà¹A“CXh}¢,ËÄnx0;ævÏvF¦éRüG*ß³ï17w#ýØ•,_äK†½ãu„þ3x†ûWò'nÉ ˜‘±ß0ø‡âÅú~Å–L˜À+ƒ/ÎÜo™Ã ßZ€\ÇN$N„Gu"êcú³ŠiÜ1Ò (òOòÄI³áP^âÆ‘}8±#÷°œÍäÿø £TÕµŒ#5 ùÏÔRð®dµT²Z_ÒZ.iøfÜDµÿ6•¨6òÔ€TÝС? ‘–¿‘eBû®ùà·^æÅeÏ.·Ë^-a",ab
)ú%VP°8ZŒ<8`ðeJÊ@ÎP<T$lÈ%c¨Ž¦È3-b¶•KØH(¿r>Q>s>C¾`¾{ùcÁ|ýX@ŸQ_ÖÚF_)½0?ÇÇvƒýDìÄìþ+¹ƒÝ)®ä€žÛ@>2ÌËÕ–+È%!uŸ®e€K°²Ç•,Š‰ee–Êã5
TvÙ2¹P¹ ÌJæ-Ó-òg³²Efzáô©(¶*9Ë%±‡ÎØós ÚEªõˆc C/x=ÞåpëѦåPëaz>¥zN†´Ylâ‹Ée>9º’*HG(/>¤®€<[§/Ë×6€¿&î.ó8ŒlüvÂÃfÐÛlg(Ü‚:<¼»ÃÎúâ-“G]L?sP(¦Ë·ìõ® -HX ˆ>qŽÈh—Äù‚pR‡fÎœF÷“µTÛÁrÅo¸Ñ¶m&Mæwý%…Ï»¢£àÒÐñ ˆÜx=Y}#ë- -™er8ÖWØVe18[ìKü*²GåâKäGìBl?-ÛMÏ0c”H+ÅârÁ -è0\nŸ•Œ+W:î‹UìxÄÈd˜šydõ;”,>ªwŒL¿Ñò8¦vÌ;»ŸÍ˧!£ :!N~`"ŽíÄ TÌ?•œ¦~†ö5ÁŒ,SPy]A4éKǧDý¨K?ÎxjO¦EsîYW.ØCõ‰Ší˜´%º*³˜k¾þ"‹!ƒépÊ?ÃT2ôס^†GÆÀã¢ãQ!ƒbT<%ÈX?‚æK¿³òUùr%Îs"ýŒ×o!öÔbgD »ÌØ+½¦q“6Bp=l±å¬ñ\È0M|ö9µÎ<ʼn¶çV1KDAð]<)ŽŸ’I¾Èq'Æ5¯mu¸WaÕ g
ª*À’Ê8‰Ey.QÐâÌèa/ÂLjǛq¼{ -…çÄM°&´ 76yc"n|Ð)6¶1MÛÝà“´â[õæÝ
WÌŸ°?ë;¸Àêäé+FïˆâÖ[úÅ5fnðÐß’å\<x4sÓ™Mûu§ÂÚ¼g§Küà„@_fìÝ.1vèÏ6Z"/ïÁ,ëw€¼ÒºÙ[.Ê»\¾A§üñVsåÊ?ñóË8#YTÖò‘žø²îï6ËíwÖZb+úš£|´_*h‹nœ1Úú”æЛㆶñr7X´T9%MbîÚ`œã¯Ãì:K5‰ -i -9o²+1×.»–ôÊ(M0Ý1PR§
äO쬘²åË5ñE¼G䙾
¸e -wLâži<€éMm-˜ç -·K…û¥Â£ž¸Êk_TZ¡Ð[yÉ"{©õ¾@$j):•]xd,éÀ,Uœ ¤òy_f¯¢ -´à kÚÍPÈÃÊ -zI°„ê Ѓ·§í¯¡¯•%¨ƒæ´‡j3C#t™ÿŒÊFuÛºfnTW®*UݲªTTõʪnj*%U¼¦ð€ù½²_qeo•Eͳ¨9Ë¢4W}çê\—‚çøî—¤ÌâîáÃ6ež¿ÃkßSæ=eÞSæ=eÞSæ=eÞbÁ{ʼ§Ì{ʼg‘¯&‹Ü+ûµVv“2irýµ9îïl?;e¾ýõ?ÏMþððó/Í¿ŸÞŸŽÏÏG$ÍKï✤MlÛi[Ü´Ñêx£FÓMôžª‹;} òv|ÓéjÕn²Èº—¦,ÓÔešºLS—iê2M]Ǧqlm<€}Ó¹ Ón -ró¥E8¯[7ÿØ6Îb«]ã¡s6Ýlã×á&ûOá’øo¸è—4À¿N§‡ÿ›÷åÆ@ÿÞD9½Èÿ{E£€',‹¢œ!ä‡ÍãVãPlùŸ‰fWŸÂ“´ˆd 7xVŸ¾G)Èð[81n¬1]¶ßƒS?˜hË÷ðá$¿gè‡Ï¾õÑŠÎù -9¨aKó0Œ§Áïu@i²k,5‘Õß®ÅyíB,yú¦>}Y„ž^á§oêsüŸý2Ù‘Þ¶¢ððjc Ù487¤† ë «,¿ax‘áäý‘s)•TUݶ»+†44”†[%žûÝkh_ - -Šco>èc½1/H é ½Foä
_¶7<‚ÈApAzDûñÞ›.&?œ08ŒÐn›2;mQœ & x©Šxˆõe¯3¡~è\·rÖY@g ñÀ8¡x¨¢0;
]§!ú‚*tíÑñÏmš·ÿv§ÿìÿ%Ògsœ[bê3‚©S%Y
l’Á7>„Ô)Â&ñ-ÐE^‘Ûòx#s¯ðÀÓ"ò+À=~ -."€ˆãnècÝK²˜òáØÇgFíý|ÆS?{?<IÊãIRd’„
«:n¾µÓµ'†ÿõ
ß*ÔAOÕgÀƒüû¤Þ{ãï…ž’Õoý%©±cÞ~Móz/…ÕrÒ¹Mµ]uWÙ•»Vi(RaH2“B…;›!=ëiZøO½IR”„ˆÌ(ÊP¢â ?9ÊNÒm¥tOî”V¡Ò2”Z„BóSÍ6éºÖÏ0áºZ”j¬¡úꪕ¼VÖ²àɦÒp²”\R‰^l1EçOÛrÉYå”cöÙe›MZñäSj`šœR -É%Yã‚.TÀJÛŽ&j|ûsh¡†@ùÁãWŒRS¾xdï‘ܵ[1`Õøp@þ°NmÛj‹’“ÆKŸˆ³ ƃD·è¦‹Æ¿"—ãôHáOž,ËgÀ?hÀùš^“:ühoª¾¢r–;ùNéNñ
…MŠ›cs{"³kCl™eë¶U²:Øò|ҰרJ5LÏÊI*Ê&þX'å" ¾ìœ´¾¶¦¯|;cWÌrÀùp}±Ë KÃæe«âô¯6c
Ó±i, - yUœèàEìR7Üåa¼f×öò -$/g[y°—'{YXÒÌ$—™y¼"}-´úB+÷ƒ¿VúpÙŠÑŠÎÝFé™®¸Â
+,l6,Ìùçê3à»dR矗Éü7Š)ÿ¡ÔáÇÛâôŠÚYj씡º+ß)NÚ™J
ä¸ÊØkӛ̺ëZ²î¥ ™†P~ ’Ȕڔ©4‡µñÜÆ*¦ƒ -QR}£‡
îÜÒvUªìº¢KÇ—€QÆÞé–fv¢¹oêµïmÏ(öô Ÿ¯íÑçò+¤Þ<}ÿU¾%~ÉêÌÏò¯*<æŽâº*Ý(ߨœTÓUq3íšw-»ÖMûXlÍmÞûPX…¡î.›Ûtïé>T©ÆÊIÔkaUq{l«X~9bžvY¢%Úêf»uÝÄ*O|•êOª@ÞÚkDÏÊ1*Ö”™Ufeý9±&]FùjF±ëiÀ0 ,“}ñTÓÀ6³_ -蘑
@ ´Ä@ù) -IMK/u, ÅIÊÉÈ¡Ê,/+}¥¡ÜœÅ] •IDŒÜ².•ú4Àl’ˆfþ™¸Nc);£¤]™f®KŠóŒ.U¸‘øÑ<-ÓÊ$dàKŽÎßDF¯+"M0©6¥aTVåaVo'ã‰*-k^àZ’³ `×k”7&ÏJ[†…½^,¼OŸ_Ó[ t–úõ—ŽÿR7~¹ö|«aâ¬ð@ñN·69<BrP=¨4íšw-»Ö.E’éÚ -»ÈܺÜ[ŠT÷å<ˆ§zDM
ø™@3!$xjˆCv<»Äƒ‹"í<“Ž„„š$ & (•, .Y•ç‘ØÔÁ©£S‡'âÓ -ˆ¼zòá|xž|v3XX[‹‰e³mv²3ÉÌr -ExDUãS^IB ‘,P™þ&úžà»¤ô6rùÂ,®÷,ή˜Â3Ów—¤ð‰)|OãLåš©¼´ŽËµN<ÔŠj‡=Ù÷Ò¡DŒãWo·EcܯämÍy®M{®5ëö;Ü·½ÇDÇn<ȶ¾þ:níi»ÉìwXuÝÝ·ç[܃·+ýèÈ&üV§n‡ŠÒ£Æsêá©sËwzí8¤ˆpG=¼ì×Kí»å9RÏ -ô™k7&Oc’œ]aLÉ3#fäÃ*ù¶d`LR?$¼†--´%G[’r¨)ØÒ2lIÊ‹^¢H5²Ò”º!eV°¢Í†Î%]G
Ãé“v+zÉð_öËfGrÜÂOïP—ìKC¤(Q2æ"‰”á³á“ƒf°Øƒû°öûÑ™$E©TÝ3ÕåÅ Ý -tK?¥f~Œ@`¿UÌJmW<–i6,c²+±‡†ªô ¯¢“¡1bLQBÃÄ‚8ÁZ%V›¢… -Ä%I*/iƒóÆ€Ä1"sð'¬ÀdŠs£Ÿ’F²Zä;;’é$¢tSúôÙ#®x -úÍÃf¹ƒÄþÎ[@¨a!˜`}~Ê·´³éCö1EíbEÚοlI´–3ÒöSOH¡³ìs'êN÷Ê2C·Tê®$“àê¼Ôáñÿ6QiÖ÷áÉõæ¤wÓa
&[¡iÂLðLlÖ»&` Z%—üc)ˆ÷7ÅùcBrÔZ%(ÁJ³‹â”šä“†ä‘BòGŒ$—lQ¶C«ÐˆyäH–_/+:$5€ãhC‘&§YR“B(óG|™°ä!AÎ$Ÿœ0Fà†ac3j¦®PfÊÌ SeU!þ2U0i“ð´‰%þFaǨ1'R,B9#¢Ê„ -){WÊ»—OŸŠ‹ËMkAkbZF|+ôFé}Zt›‰ohEJ͘´ª¶tLiY´U6µuﶢ«¶ŽDåÕE¡9ÜT¤çÑqw>°]W’§¹¾’EWìýÇE‡ŽâñmÞßáƒôn:ÜÀôÀí{:4IVÔ -p±ç@&y’ùÈ•ˆý›DK#áÒ ,=â¥ú¸E€©^N¡éíÈlAÓÀѹÏ*lFÜ2ÇÍÕÀÉÞ.»;[gvx[à丩@í)Ù<v4¡çx+—§©FC -3áÑ'©åÁóÆÜè$'\ ;5Бc$äaÇS’mwà‹JˆŸ ¡¬_ZY0‹Èvx¡’V#xÆb×£¢P+'LýXÜ_On.©Ù$“Ԩܚ“BQ ETUìTi,vò;õaDäºJg[{*{K„5â55?"r
{÷ljJ3>Fô¨ŽÞ]‡˜f,§Œ¥v5ÀR(
IHCÂ{ò(YAPT8$"`ˆ!Ô¡€ ÆÂGÑ“Á3'êô‰8Ê›L!
%Ð(fš„eK&K'Ta¦4‰&™$£0Dø!è -î*H´•êÍl"|4µÌzP<Q8•ÄWÒ¯æW5Ý]íß&:Ý=Ü/zËÅïºÃS0‰[šÅ+uKsrIeÐ$‡4"“0”,fÐ -$-J$JHbOÄŽˆýP’:!öA5ŽÔþ(Œ²í)$ò+ ˆAÑð†j%þ,É¥0}<UðÙГǘ“•Pèdâ(o6Ú(kg(a&CFS³%q¥bJæÉF’ÄÆvlĨ9¡t¨°/ýce—*=–“/ê‹Š#ÛÙ•¶îM¤ö[³W³^)ž‰špSË+:
ˆt¾»™îÝ<4Þ'º÷Âwß!Àä.Ÿ¾Ì¿SóÔ`kÍK
ÕvÁ?±üiÇþÒ<ùÁ¸Ñ 1˜ÆYË{`žL‹†u¨F3:cn€7£»ðY¦¿ô—®¹ @¸×¿Ó§/îuþ7¡¨¿àÂÎà‚aÌ÷:9’Ïê;èÍó¥uO ‚Û]w~Æþz^;Û_lóÔÚÑŸ\<£\ï½>D³¿hÛ3ç@Ÿ¦¿u_âó׿þþË×ß¾=ÿGwÌß~ýí9ïúËåOÿx~þå_ß¾^~M».Æö¦óÝ躽Ì_ñþLXEœ¬"mrp¦¬&›Ÿ©×ïsoZfd©¡.Ç˶ÈîdNÔÜÝ<À‹:–²Nþ:É,Þ=>±Èb)‘2&,êXÇ%sðg1„ô¥ßp±!mpÒµÆVm‹UN¡g¿o¢[iI†÷1UBâATŠqÅJ×Â¥tð*óš´æ-ʯXölGVZ¼ÝìP†Ÿ<μ÷8¸8nÍp9êqØåXu909&GmÍ\<›Áïh¢à¥ºaÁõDq>ª9iª4\ÉgÑÖÜK†‰g1=æm/szÄ,Ÿ1ãæ>^~ß ¬Ô†“iÞãRîÏŠûò8`e\<Æ•úU-Ã×Ñ0æ’RÕì†r½
Y´5÷’á‹ÊóRÜQ‰OÙ²lÛ–À\¥]aRã6ù4¼,ºy€‡¯oªŠ¶u±ö{SstD•{ڌթïÚéÚ«ˆn(«ög¥“‘™dvNæS'TÔÿöPfVž[1Í-“^²Î0×÷ -…V -22Ê Ñ€FâA'ÿ»ÏaQ¢(©cËî ÷¶¸`[&U‡d±j±öEÔ9b,ôN1gØ
nƒ_ãC8!žVäeE]¼\]XÝ%¯gIGο/÷‚W/G¼æË.þ=âäßô·ä¯À1BÌVÔ´3ú†Ã<ä -µB¯0ìc76ô1i…©X¾3ó”Œbtпcêûù´E‘)d¦€ -ÜÇ=žÈÈ'±…ÂL4 -Ù‡Ÿ‰çö´!w!gåX(ÒÅ:Ïz„ä0
2™ÅS¢› ôõ”×ñDª”áð}FÊ -‰Î ÙY<6‹¢º ‰¯ ûQ²ì†, -‰Ð :ô]vD¥ŒÔXKpò¾Êª))X:tTDÚ̵ y6ˆxßdSȤ×ã^ê$×ÙÈ®ºF¶uèÒÀï•"XÌ{¸S³=ûŒ|Õ‡Ždy_¾û‚õíˆÍŽö -ú%ÄêŸkoÛËYé|Ó„˜ÿ0æ{‚[±L8g~¥A>PuЫ-™ùj–Ím€Ž™eÒÏl «ƒ§è¦‹‘€n‰ -aÆÈ…ä¥h ƒo0ŸM5˜–¦ƒ½•@ѹ©‰µÖ‡‘~ùÁ[…Å,¶ÓR…‹¤êÖ9~wÍïÌ¢o³¸ÙÑš=LÞ
¬ØÌJ%‘îÛS³0+2±IŠE¨Ù€žÍ—Øx°ÝðÜl¸Ùm¤5(MŸ‘ËÈcd12˜f{‘¹2Y:!aYÈ*@V…D…¡¨q{³¢ -ëIu#à&2S–HJwXHud§‡å‹ø]¨INrÂä'''%%øU<|8?PþßönÞÒÎiN[lž¶Òq—ðx&ïvè ¡éöK{2qGÝ9Y|æ¤ñ…Ãh)wïÚQºhí„ïî¤4FÓ><(->´stÈb†Iã£ò(Ãtèw©…kÂËç!ÿâ>ôçÇŸ¿||üüôü×¼£<}úü¼ìúiúá·çç<=NŸÆ®Iéø£¸¼¥ÑÕx tM¸*…7ÞX ¯YzSÓ€–)<šYƒÑ Ž¨ÏÌž4—õrLh'—q´>éñ•é¥y^%Švœ àDi]èxýÔÏÚ•F?ó>úhTÀÇ
kü»µ7¶ž‡Ê¡¥#‡n[꫹CKmvð[¤ -ÎýÊ -›ó¿ðÊßr×oŠéòPL4Ýf(~åÃÌv}³X†é÷å^ð{-xe!÷2ÄÛš_*øÎ۽࿱ %Éý;o÷‚÷‚ÿî‚ýŒv (²Øgdž…8ÀÜ€¹f@™”â®$øl´5BôŠH5“¯RˆYb!"—¥TÊÁV‰Ë£VU,Å·‹qZ†kÑœÄÕw„¹ŠH—ì"â¯AÏ î©*q7ñ¯ ¦ŠG(´Å•÷¹£rÍ¡1 >Z©q·Ñ²¤€ i“I÷ÝC3¨Gൈ¨—RZ#¬E”•èŠŒ‘w7^¹ŽÄ…KÎ;ë4í
Kv -gÞ+q§Õd3Ú(ÜsÕY#ûhƒWcSEE„«´ì²È$„Á‹ê®°{Áÿ³‚‹‰0K‹g1N`Ç[,›E
‹±†N3Ë3Ebº]òôÝÊK"˜=âਡ( -" ‘HDbª¢kCèÃéJ©p Œ -ëõ}¹ü^¶· ÞÖüRÁ÷Ýöâ<€¾„9B^B\Ø©^€¾†ÌW°Wqçþã/.ÏH[Ä>o('Ô
í„“n‹÷û*ìT·!¾zX¿ -CˆùÏìUÜE¼ô‚~â†tB^Qfÿ©Ú~à8Ñ—¾X6=0_nà™0ˆLb2CY¦2sì`¶uá\[Äà @q Bò¢t¤‘Ö4¢§% -‚4Ð…:YqSÚ,p”·bÂâWB+ r(묉{ 3kÙ‚[@„‹6!ÊQ⬈uâ¡'¢p5ÆYÔçApÑ%Á‚@Ø÷xB -kÿBcðñ1#FV„É!Iô‹AÈtˆš3!xÖÐ2èžÓ¨Á©}H¨ Iµ"±îñ ‡X‡8SF´rÑ¡‘×åcιä–;žÆ
:Q<’n.¥4øJ¢£lu5ÔTKx Jt›m®…–Zi
ÖRÝt×CO½à-ÙñL¬àé
…]MÜĽà)·8L¼àK¯ÚÄa’_Ç\Åž³Ä¿!lˆ'¤#bØä蔲2ËÑ.‹aúÑ3Ã4GÛÀ7³qçÌÖ™½³¸g¶ÏìŸÙ@³ƒfÍ:š.CF’;Eo”ÄR‚“f+-^Êì¥ÅL‹›†µ´–åWŠZKŠ5Å¢R|é•sl*òÔbªá*Á²:ÕÕ5aé²ò,-v–Örâ ÌÚê,.=Äå!®uÕÔRÇÛhQ—‡ºÔU!¯ý"/vWW-úR¬/Ïúʤ/,¹ºÉ5ßbË+Ùî{왆Å×¹Âìôð¡|¿5ÉIîB˜üä䤤¤¿Š‡çÊŸãÛÞÍ;CÚù Íi‹íÁÓV:îžÙäÝ‚÷šn¿±´Ç!wÔ¯“ÅW0—O_8Œ–r'%†•ž ðâNø´³‰Ï)]ŒÚN•G‘¦CÜØç-M<ä_܇þüøó—ŸŸžÿšw”§OŸŸ—]?M?üöüüñ§ÇéÓØ5)󣸸…íTñÈèJ$&>$t•ƒ¨Žûð‘þÑÁbÿxÊß¾Áñ¢¦¥Éè2Þ7?Þ¹ÉDÝÉ#$Å4é×½}c…ñ¤_ÙÚk<IeÞpþ¥ÂçW;8$¼åü£Âmç—o8ó›G¹¼<Ì%sóOó›†íÊ‘7¶¾áqi³Ã[7R…Ͻªð¿7\ÜÅÑâh°¸³ÁrõÃÌù`ùF
þ#ð²}W¾—‚õ@X²¼…¼Eœï¤âW ¼Øû
nƒÝ`özƒZ!Å‚úþÀ²µå@$&2aàdÀràÕ4–å”$Á½=Wl‚Â`iŠå$µ-––L‡e5Èiq¯Vò¿ä—Knƒ@O0wéù3R6óû)Õ
+‘¢,¼O²dY`<Më1ô’³ÎsÅJ1^ì´Œ©ªÆk#)ÌbçÚ—ÅrGCl+z«žFpÚZ˜ÁŽýN>ï¸0úŒgì8âȾSÙ¹µ‰=·V1iD§!a&‹ïXwÅ¿‘ðˆ{´ó&ÿ’Î^p÷„ÇSÚqûŽãWœ?âþÂB-n§S*U!Q$ë6SOÍᤅ֓PH¥SX -e$Da„‹öÓèD…Ž‚0ÈúÕék…ÖØö—é²IÕ«JpôQÁÄ?œüó_.øÃ]Oî{ÂCèôåi¿¦>q¯oŒ©ïI?¿Å¿Æ-yb$~å9Ævg»S®(©Ä®¯¹·ÐsŸvnÙ,Å’-Ñr2¬Ñµ™N·„®Ç‰r1œ38G«½Ð`›–.Bk†õ؉Dâ›lÝÒô†»ƒî“ï²% -0 -H‰ì—I¯ä¶…ÿCmp6âL -SAcºî¼8J†ê@ã„nA2PA3ÝtŽ’K¥é'ÖZ¼
Ú²-ÂVÐlçåZ¢ˆšÆÆ7ó.¸’Ë®¸êšëXá%ÊJb¼õÎ{|ôÉg_|ó=,"HTZãÄlpÁ‡RÈ¡„²¿DÝu´ÕÇS̱Ä;2©B%lrɧ˜R*©¦žÜ-²Í.‡sÎ%·² ÁÐÅWBI%—Zz•¸C¦ºjª¹ÖÚ›Dmó-¶ÜjëhMt·Ý÷سèµwv‰—çÝoç7 F¿#fÌð·löEܱÿÀ¢9.Äi`”u£mô•]ø—“idÂN›˜g¿nn -ÖOÑ’lã”.‰—(Le
”,¦˜%»âpŸ!j’5 ›¤½Š›äM‡ÈYæCèSê‚O‚Ô>ô>Oš¯€u†ðïÒ÷!lòg}µ -ïðÿ«)ÔÜû‚Â]Îá
…½a7hv_#ü¡ÔÆþ pw†C¤VZ›apõ¡§½KÄwÞ>|vKoE¼ý«“ü2ⲫ¼J}&0—¯ô+˜ïgä N(b+zÇÑšì†Ûá7„+"øeÝò¤Lê¤M:ý-¬ÁÁˆKœ_È -ž†-±£A@¢eJÐøc+,ZÈ–é¹C½¤_É©‹¢û©`ws>CÂUO¼èçRXÞPné,ò…CÀº!?dÁ{D‚Ȳ§ÿ+Ù ±þ@@a‹|€œÏ·Àn -5%¬àë¹EüQ^bÉoXü3Ì""xD+Ä‚HÑ §]'DaR4’‹´’Mƒà -Ü'"89äƒ §Ð´,hbÒsÒQ x$ƒæHé-Tƒ^$¡óH*‰R¡ ]d—¨
&É qzh4ºS Õ4(½À#q!'€L-oÚx5ïï¼}ø{ؘºQ£{Q› -Z}ÖEp$öG9ÿ•@pðtÐ?hÖ¿[û€tÚƒÓ[KÐNìš‚õÓ©5Øšƒ}o ¶¶€òøÚ \[„µ=(»öàÞ ¬ïá[£QX‘ꀞÈ×vÒ?=Ǹ“rãÚbÂHž3hüÀY»N>°&¦8 lGººµÎÞɽt·"¿"Ç"Ï*#ùÌ@ÃU°W.–e£ß+ö2¸ûY—ˆpµ:œM°¹Á¾apa 6:²:2;دSRY8àPFâ -É¡ “êá)0 -x¢^¤-D\7â!µc†Å¦ÈÐ#[¨ÞT+áA\Cªâ¨ã¨ä¨å¨&ÕsTtÔtTuÔÕq÷‡ÚŠYÞQàQb*ò(ó(ô(õ(6—ÈYqÔ|¿ÊÌ~Êðc~€Ú;î)¾'jŸ´·ò|Gà)ˆ ÂÝ&¼ZZØá<·ä[f¼ß¾%?YX‡ -ÛëðÓ»¯¦“¯¦é¬E`ÒçiÔ¯DŸÏ£äدšÝÈq3ø|_H.QE2Ø‹¨Ÿ ç §Ì`±‡ø°›÷GªŠEµÛîÏ‚ÄýÁ=š¶¥–ÈúÕ»èÎBjëÑpü«~Ó€XÖPôpûi! -³ Ð -Né3ggIM9«ÆÙ'ÎÖ€;Áwxd¼B3ñ2s3©™å2…4yK¶ËìçÜ´¡¦D^—Yú¦1 -kç¸ËLÍ\!´¯˜G{Œuì¡ó#ô~’;Gèu‚¬9)ã9Õˆ~Q[Ĥ]¬é•;’g0 -Ÿ øZ@;U‘A1‚š2ˆÎ@$¢(’^õe×I«µª‹Ëcž~ÔÃyÝü@NþweÕv1‚v'€!3x²0¶"DvŠ®´ÁÍ—R +ÏÁf‘Yï9Ð(Í0Ë`}.9fC8½·N‹ÖI«d°L×Ezu‰^Y¡v}Ò´˜¯_"¬Ðu}ÚÕ©ëc^Y Ë Ö²3+鯡]ÊBHn\¹{`R„fñµÈ`XH<EëUÆÅÑOÁš7=†ô¥e‘9±Mí%ž11õFaPüuêGo»mnKiok±ÄܳºÒãlér½LùÌ—ÇË^²¦b4\Ž†Km#8ÞþÉÔ•H:•Hê‹Úœ¹<”xK@K:oŽL
«[ «{Ž«YÜj\íK\…úI©†ÔEŸc*~BN©¦TŠéRâiªu+Uá´z+‰Î0JÏP#‘"FTÌŸ×#î“* KÇ+âô* -ÚAa¼uï{ÊvOÇ\«b+2f.:KO8ô,UU[ª¶Eá¶Sáòäû1Uîl½Cø†Cþʸ:S_§¤S¤1Vœ«L¦*–K•Ìµxú1{žsL_oª?_C±ÎYâ¦:gÉ«Ä4p®s4Æ¥ÎZg«³Óøe±mDÿƒ²¾þ×.xßä[B8ó‚ 'nü–KcìuÌ-—
ôW¨ìÙ±·}³\&•™ËH²vi%c‡ËíN»Ú™ûÝ*p6õF·˜j$8CAš``î'(¦ŽXp†‚3ä@ -9É#³DÐ*\+äb‡VZ0n@ÊvàŸ7 aH¹"½ìR¢È8´õ o…ˆ¼Buv¬¹Üê)‚ø Ñk…ìªk¡ ´Á!ºy䨈H— +ÂÞ5¶“‰ÐA\<D&"÷%HÎ -éÙ¡ÓB4@„É$²¥JP¬ÊµCÄ-”l€¢9H›‡ÄEH]‚è¿jn!‡„ÑA =¤2æÝõgú–1w?vïŸÓàÆ﹦iôÛçÖŒ{––;¾9öí1þ€"ü0iÔœõϪÕOݧüØ{ÐcF”_á—øÏøÔãhzrݾƒçÿÝüðÓ»ÏO¿ýæÓÐYç#z7Âåp`yÄÓãh-?@K\¹žê×Ï%pÝ'0×Nÿ &?ò“ë¬ÎíP†zÝ»Ã#9‡ü.†ó*S³ß}¥|?±›‚Nã0x=ž‚žŠ‹8Q¥øYìñÌçùc{'ᅥ†
—ík6yÔ}ãÀòIpÁzzß‚âÝ—ÈwPÿ¡Å]ÎÏ`ê€0|^O¼‹Ç¯>ß™VóÃü7÷Óöüù¯¿ýüù×/ÏÿΤ/¿üú||ô—§?ýãùùç}ùüôKùèɆ?›»Ÿêúé3HöQg½>êÌGù¨3uæ£Î|Ô™:óQgÞWg~4Hé_0òñQl4 ã•Œ…Š_ÍÄšûD|…‡W¶¬,4÷h¨ôsåá=&¶\<ØL!d¦äAÊLËLÌLMÜ$;3?3CÉÑÌÒNLWèJÂ’²$-iKâ’ºQI%‰À‹H¼ŠÈ¹c‰hVÓs#Ï¡Øm†ì*hú&M—£¡É•£~òˆuFÿäŒéJ¾œJÂÌ)3¿ç¼JÞŒ%kÎ%k6G¦ žkIš[Éš]~/™Ó–¼Ù+“8¼Ox÷9eâ'ÚÁpëo"|VYêû*įZ©Èú;%Y¾òû .
4©É€¤‰Aj̢nj½NJO«ˆ²Ñ5™¨´p9÷¢ÉCú@¤ÐdðF&±‰|¢Ã¥Â*úÜF‹nÔÊÊõè{t>Ò„#åHº`À»¨$öÔ£ÞÈ×Õ¶•ï«4ÕÉ4½éDóµ?©n…m-I¥™¦ùŒÒ¤'4÷Ç'¦%LA ôR.V¶t Üfu_{ÏÑzÎÎSÏýÂc UáEãÙkç™›Ö36½g+Ígf÷”NGù1xÈá™
h)(¨¹Òƒ¬šÐ¦.” âbîÕˆFu"«V´©%?U#¯r4ªY¤
ª¹À@Ø‘‚Z’+=ɪ)m¥+ÍjK–ärc2Ø–¦Mµ)©8U'§òÔ«>í*P‹*TT‰šT£l‘U“Ú¤‰»!,T[7HW:ÕªUJ4cëƒ$ËIÊz¬]8ÊÚ¥£ÓQ´LiZ?š¦Üõ–}TÜ^ (–ª»É,mþQy£Œ…ã¼Æ
£<¨&,q]ºÕ&t‹Lû,KŠ—Ñ.Ìh(bòA¢ºvˆžMNI-rÎYH"–ˆ&âi’ÅŽšAÈ"¶¬!ÓTÐ6Œ0[5‚p#à‚ü{ì<BC²f0Hn†Àûç×G£@IX˜„&ÁIx ½Ò„%õUó6•p%`“áׂ°Kô¿Dð(ï…c›uDMp¢‰i¢:ñöùí<Ù -ä\eò?ìW»Žä¸ýþC'x“†H‰/gzŽ
GÌ`±'°ýÿð¹ç’¥ªîé™YgÖA©Ôê*–xyyK#˵QæV4½¢ÄÕ³NƵ‡rç16L
¾!4ĆTaH¹3jkÃÖ°7Y#eê-:7óÈM=]0>Á9zW…s½„ŒÚÄÂ=žëS,'L¡’ù)RA¼!œ`›O¹ uˆ„7à› -ç§Ìå+u€:Tj¥¾g2¿œ•@Î 5vä…°$V¢¾Žr>˜Kyf—K'Ùv5ÖwUí÷ŽDA9@½3ÉÞc},˜Ô=¡núj //ÂĬj=€iWp£°ª°©y -m. 9B´¤Á
Ì—Á6Âr¬¶ƒÉfR—YÙx.Ô>ŠYñ«+;µA\'l¡ˆêª*¦(ÁÎbI%£(('ÜöGî.ˆ|‡º=u»–Ãð|±vØŠµ˜þ¥Èm¦ä -*óèÚL…¥œQÖÐA-ÞÉ|Ê„KaIJ -ƒS¿ãü¡Ãe -©?Tõ2טgdÔ Ì7™¹fe¢9˜bó‹çfLÜj÷ÒÎ}c¹O&ø² -´#Æ_RÈΊÚÓH_MôÕ>_óÅ4ßÜ2§nšQ¾U 7Ç7W|uÄW/ÍÅ_ýïÕù^=oçw9QfÈô11wXæIcaÆHØ›,9¡\¿9@Ùwjû>ÍØË;Úc_Á<Ýà"ô6~†:DЀ/‚oé€6öÚL;éË&îËÆÞ¡+´`³Á -E„GSÍ„ÕÁZ®XÕ™¶@VÚsÕ -§Ê¾QÏ¥Y'Ú¢Þó4äɾ¯ùîÌvšì4×iª;óœ)qN³Ü™ã|©äX\—ÞÖRSªÖU*ËÚšR^-°–XŠ¬eÖBk©µØ,7`KÅQó^en„¼ƒ¼X™‰YœÐë¶å€tl =µT(ÁÒûo´™ÜЧCQhκΨW¼˜È
Ô;/`$Gl9;°’ë<£ª‰å—Â[–Å6¬s(žÒÒUn(¨3ÐWÖf”ÂiÉ´
Í¥ÔçÒ€†¹·ßùÄr—öÓæ{ÞzkßzÚx÷¶«MW[®6ì0–DŒ‘¾p¥L†p¢íûÐñuóÿ=Úüÿÿ‡îÄÖ°*Ô'¨–®ä¾¥hï\”8>AH¯ ŽJù³ÆfÓïRŠý|»ÃÜZõ~¿á¨``;j~-ÙõÌš]ØYÆ{Úsq±\Õ¿b‰™þPœ»xwÅFÐ÷b7×kð– C‡–ÎÈ„'Æûu˜g7I§o@WÒ6¸ØÎ–Ý ƒØùR€YM¼sA.H¤#E "*”žµQ ôrI h{V²ÖBæšÉ^™á.ÃT:E<Ç@>;èÔ;€ÙÉz -¨-ó¬ÀHªst.ƒ::u9âxÄ -†zÖßô}üö²™Ÿæ¿ú_ö/Ÿþò¯_?ýþùËôÆòù·ß¿Ô[~ùÓß¿|ùõŸŸ?½üVn½¸ŸÍ³›øéeù„-Ö<©+nDýHÔ*ò -$¾Deå%Z+/(.>dñ±Îå¨ÇÑ1ƒÌ
Ç‚{Xá"f¸ ¬>¬Å“á`6†t`ð*¶”¦ô‰#UºßRÖrœ\‚iÖì"™¦¦œ>.Iîc,fЩëtuêçUØø -¥ðlt7ÁÅ9èÞ_·ò)kTÓOK¿Ò¹Ãó7ßqeOÖ[2µ¥‰F4þЮ4¥‹¸K9‹ÊZZT§¥<Uõ~Ü‹ÛM_Þâr#ãFf -N.¼Ç¥êÝS*üªj×x5§×ÑNáäæ?h<ê–ÙkpØÝ:–ÅN¦G|€¼PwÃ@ý®&$8<ƒ»GûC†Ó'ƒ²#Ú;¨ b’I¾èÅŽp(’î%ˆAêƲ¯ˆ±{´?f<}¶!¯ÓŒÙ¿â\ÄDØ… ·1øÇiv2û£ý˜ÞOwø™6¯(nÉ,¨¶ÜÄL„ÅC¤’ 5#’Ho™XØvBÂÈ¢Éf;ÛÅ®Àf÷ÂQ£›L!)¥¨µ#©ñFRkGSc‘ú“¦6èÓ§q†DåIUÙÏ~ñ›ßiã‚KšÃ–°†
‚w0 -]•:»UL„ðö‘fVK½Ù½À#ƒAx4‚M8U ÇB¬ÀPÀ¾Ç2˜u+”ë¨`Ãâ‰@D"¹anàa–µ`+Øi³XË„;²!&6Dm‰¹µÄ6ìl‹³1®7ª‚M7
[/*¦-r6É|mSäìy§XªJm•Tšeñ«4Œ?Ø2gÓiþÑÎ)½Ãî¹öNížÒ?4WÚ@–
TýZÈt=¤]töѳNŠ›2û¢tª´”i=e»¾ÒÎ:{K»Kû«ï°¹ë³Ã†ë±ý—ýrÙ‘·‚èÜ¨Í -œTàŸ~ pIB}0°À€e±r»ˆÅváàÑüï“Alàí -RÊ©€ã…hÌF -.+áò&\fÄÅúäpÙ=.Þ&ƒªàfniÂEÜžÇMky‘w·—ùþRë‹ìý³m£Á¬Ì|ÂìOX•ˆµñX¡ëÔaµ¨Q°r ë7a#ÖÒcE¬k‡Õ5â0(c¹g,úˆ¥0€ƒ
zpË:3,àX†AfØd„Y,ãÀº›ŸEæ^ -âØ@ì âž5ÉðÉ(Š+L‡=—E«k O-d!ŽÛÎÈÊæ‰d$÷¬t†XVe¢9±%é÷ñO½Õ+¦¤îêŠ;®ëdjªe‹ýÍ…&¿iØÔïý ,¼Ý VwÕóQž(¿!¬¢èÿh~SÓUryk|—â#ÉÍáCòWɽ7oä>"yøO÷In~Õá¿M»´ªÙ³lzÖÍ‘…S+gfé4v,žAÇC3õ³`H3ÒÁ -Š3 3,¢sƒÙ -:¬ÒÑbàtð†NWàHŽÏY8©™¸Zt„1ȸCܶãˆëßG%†x! -«ÈÌ -Y=ËFh° -{QwQ–0ÆÝÊ]ä/ -E•ÔMãEÓEóEé(ÙâäY×ãVsöÁ+iSŒ£N—‡É"cø„aÕ(´8n໎¡|àd{ü¡#|¨NÔˆžq¯ºÈFhËšÖšØ,ª©}BþH5»3ÖX¶k^S¼'x¢þaKóÈó‚'´ÐÍvKõêj¿e{u·æû„ˆT¶”_sþšô׬´/ú—-ð×È¿†þujðmê$¬³P³ÌþuÁÇ -ÑKÞú\Ü’kÞú\Ü’kÞú\Ü’kÞz·H;‚t!HQª
¤½Æ -Ñm§'Ÿ®2ÛÏ“N ¢ÜÄ£Z@ÓöÄÄ™;2wz…û9©Â]ÒO†ðÒ ^£x
ãÇ£0‘×L^Sù1—Ÿ“ù“l¾{E.f¹µÊ£\^]²zdsˆÀ"«AÎöPsÔ$¾ú¢ºB=QaÛ†ºº^Za5šºÕ»êúëêcí98[•»Q8i¼+·{ÕÓ‚)¬ñq`ðéáÌ~A§LÂMWÍxU+ä´ÕQŠöi="5RXDO¯x0TÍV˜†¬‚ÉõÜ•SãëÜøªZ¸³WÆ*e{2¶*µ•³s5©TÔ*l!<ݱoª«W™«ÔGz´q·‘· -üUúvBWÕã›øÅÄñÉ©®äÔt»Vç•ŒRæ¨Ã: ÓÛY—8~Z²ªîã¹)5Í·Îë}µG›öWU~“k”Ûå%õ¿KÅú³*‹«¦ƒt_›à.éܦ:ÿ¾¶fS•›wiLM“JÈÚ«â¥`´Ö•ü¶Vú‘¾úõû kgíÞ,¸ï¼BËÿŽjOø‰îx_îþÃ'ŽŸ°®¤áMôØF¶Ó€muÄö:c›ÍØn\©…‘zÖU-ƒæ˜€è'Dy—u -\=ªÑ×ìØ»õ™]ºCGÙ›gørG`Gñn`ÀÌ÷ãM¶Û°áŽ88#´á5[ì -bçFyLW4œ—Øý¼tM/rAnT¾&qýõ•Ë×^¾F÷ÿüiA˜Ä0æ±çq’³,@™Vv‹2U -x´ŠÑ‘Aš¤–ÛŒ+J7[‚›Ñ¾ZSÜ$¡"V7Ù
JKs‚äÈ5Ÿ -ùÿçÎÊ^”¹,ÑnôMR—%®½¼ª›ƒýwwÿ¿
ÞvGØaw„ý‹¼#쎰;Âîû7ø“°Ý»Oã7!{úmÔµ›ª¬ÂG<NjÕÉÞÊðÄéÆM’ÊÛN²è·òïœì°_¨ú¯âݧ×VÿŠ_øN™Î©^·K£gÞ,å{ï𫞨ÐÛ!vWï|‰}ý€Vö–½Ñ)œ©,±Ö¡Bî+£ä8‹wÃ/îS~zøùÛ燯OÖãã—¯OË£»~{zúüûãC÷¥=êLòïÅùÇÂ$Ž¼d¯Xåú¼»rS¥yæcè¬í]ìi¡_Ýfä¦Ú=Öëù>{moZ{n5ì{ŒÐÖµø 8àæ&„`Æ>3 -—·8ÿ´(Äå‰* ½vˆã1}°#{¶s3 ;ß7¢« A!‰bÏä!Pž óA }r~u–]ƒa× Z”ªÞ¡ -Z;͞ıQÍŠL͆Ps¦YÜLYŽÀ‰)À+¥8À5MpO9]…ÁXÊÃ]EqÀP'9§ep§(ÿ,P¯eôvÀ0(tÑÑmv>°c°A©- -"²íŠðJ¾i€šá© -¢»âž8îCÚ,¾:.?æ5[à&zm1éÁEžJØUˆUÁË6ÛÖÄÆÕ³u5d^áoNö5±=ì,Â,ØÇ«“u˦2éºt1â`ÙÊi‘ˆH˜®,ŸYüHÖÊHG×Ë9jôói´ª§9ÅÞ(ëOHxuL$m¥¶[må-¯a¼S¤‹ñTÛë>iĤÓ÷_ÛBý>æÞ·ÊØ ØÔyœo•QUÛMeÕ#ÛϿ²þºJ(ïZm¸øà)Š!ÖÊ6u˜8uª»ñÍ5ßD`wŽÀnGà9#ÿ› qX™ 磃dÌ#%‹÷€m -9”زJ•g’g’Iœs…°Å±‰8BSÊ8VG,C;%ÒÅ–S!Ÿâzk®³ä9œálÑÄé‘s,RU‡nF¤ ]Ysë -˜ZbñÅM3bÀ¢Ücƒ„·üE}¹æ:ªAxÞÃ]Á‘ßéþû_Ò*HNf4éj(IBšWûëj]]Oº%îiWp¤Îà;µ°»¢ -?ª2îkl—+§Ÿø|ÜO+;µÔ,XwDeÝûÂ4v¨:ÿÒ¡¶ŸH®óă³ò ‰ÒÙZÔ…ôÜ©¹˜`èWºMùÊH£0|˜Þ·FméÑ›ðh@"ò;vh!ýrdª}…6#éêζæeªßµ]g€qo·Ž‡ ˆH?œoï…!1È -Sâ¡ä? -Dœ5VªÁ¨ðˆÍ)]E@« -v1ž¬Š`UšF qA®¹®à³ØJ켄®l:»²è5‹_U}+R’üªí5‚`M®$û(š¡Q[sWÓ^5{ µˆWÄ»¦ó§Éà€ñ@á÷ZÉ«–®§ïŒ†õøéå€þû§¥žÞ³cžXËr×þŸ;ŽÞ„ÈÿÐÑ͆"89¹!ú¡ÑarFÂEgáÓ¹4iR1û·Àö.ît -#ðDÃT1!X…-ãF/T%‰ÀV -H‰ä—ËŽ¹E¿€ÿPö¦Á÷ÃIÒðÚðjƒ$fa-ÆþøF™Å¬®’ZÓ…“Wê®®ÊbòqâFóííËË¿‹B>ùzû€j‘>dX–夗^È -5ÙñMº´2Ê*yTT ʪ¨
ªª©Žq•¦Ëh«ÐN(ê½AUwÝøÑÊÐe!(š¨BÍ4žžH7Yg°ž ¨Ú
j¶9ÉRN;ÑËCÁE(³6¨@ÍUW…—®»îÕ”4}ƒŸ º’¬<µšçä.ô"»È/Š'•“êY"âDB§Ÿ‹ô]Ù‡Zž&ø—?O!¦ÅWï¬*«DÌOѶK\_>Gî>½÷ÚKO= ÜMW·ÚJK-4‡DSµ×ZKM5V_mÕUn}«[ÙFðÈ0½©ÒK-[É%• B¶è¢rÏ-o¹ä„3ôH0“u–©§–¶TRB¸„䬰±Ç†9wâ(tNUDâôÐðR !"ÒÄ!mÒHé;ò¬"ã -òò‘2“²”ò•2—ò˜Rš’›Ò< d|àìw΂`Ø m‡Ú¤F±Jœ#ÉÈà"Üh4Ø-B‘©LÚ˜ND)¬¼ŠÌ-‡¾G—f•Ä9ðÄca[™X b4¦™ÁžÅ&ŠBsD=.559®úT@ðPÚ•CyQZ…!1_ø¹W²wen%æý
½ùø/Ÿ)¡¤ìÏ”xîp°ßŸ&k«[Í€O@Q6ˆ\¹µmÛ2ðP° ?òŠ:y?‰o‘S - -ý‚ÆÈ`ñÂâ·¡wœÎ¼.FMÉQx¡u°N]è.å/þâ䎙Fý—øðã“G-ÿøòe.N½HàpÖOöû_¼Ã^½P‹p1ö-‹=}ïþçïŒê´¿hùbt -w¾{ÇñýÆ"äùK×·qg©âCþ§û±}ùô_úôËç/ÿo”Ï?ÿòeëo—¿üûË—ŸþóùÓåçù¦ýWq÷]l.åŽWQå“ìµ43ÖÁ|ûñI]ª…v‘;>_ï²×¿ÅéÏ{·¾I\•gÑÓI
ë<*Ë6kÊîœý¬#vñÏêðгxˆ5äZEn«É]¹Uƈrh0«Š*—¦ƒ§:†çâ14pæä¹²PåáÊu¢ -Í€£GEdÐ>Œ6/AÇHózÂpûÌÞ±À§íÔ;n¸Wo•[{-·m\uÑ64Ù2¸².ºê†Óœ`Þ@ÉMVÙ ®$¤Qã;Û¢¾j¾±ê¢6Ä/=$u{÷ˆÞñ ÖO×þ»ÔH.xwÉD,ÆqU“ºc›8{g*«™˜Um*CD‹…âZ4VÓ° UŽ
›Eq¯û%‡Ž
À†àvœ=¢™úQ t -D¹•çd— æמƒ™D‚]¹ƒOñ{äOÈxÿh;ÅP˜,Ê‚€4‚õAÊ&É õ9Æe(¯1t)ëÄž0Ü13ïѨ[8bú&š©0Ú+jª–¡ìü:”zÁa„óÌÞ?Ü>3‰Œ£¡”´ð_4‚JÎk^nnœƒ«ôt -x~j;ÈS¡{¨ˆôŠ\¨‰•Y…µMí×^*úО¹¢©C;ÉÍCÙC÷?W4 ãÏg¨ñ7ÏæSæÏÂs¼Ïë!Y¬^m" -â7r$à DÅfXíQ,Ë-•k©[\|Ôâf(R -GÊ(•Ô:1«å•¾x£¸×In>"ƒšŠˆÎ±`‘ÏŸz…w8Å$|Æ7LˆØE§šqž
g©qŠÅ)£P5YøEFL9m©aâ:[IÌ9$B/ª˜b‹e´¸r½Ôé‡2·Ë¾–{ ÿ@X¯àS¸U| ô@ù*´òl°7*ËÔa‹*v«`Ïv.`ÿveô6@ŸŒç@j¤£ôñWq|‡8ú¶G][Zû6q¯qC¸ÀÄ¡o5 ÅŽµ<k`çcÙïçÚØÙ¡ÇÊqG`t둆K:û¤³Sê“݇[bÇWHÊS‰§ÂÒðÞkyÍ©åå¦WÜt½Ü÷²É*¬ÿ“_.;Žãf~¾ƒ7
L6‘"E*hu ²²Ê¢1@7³H/fòþÈ9‡ÔÅ.¹º«Ê`::°,ËÖo]ø<g¨ê%A
ýXÔI¡ÊêG_Ö<%à¹ÕÜŠKëé¤säÔŒ€ƒŒ€¥·²€wsˆŠ÷Ú£Ëb–g˜kY½Ôàþ]X«a`¶nžºµ˜³t 'nãÞç2úS—ÑÓe´«ËÐãtc+ùúâÔ7¡ Çþ áVF+uwéí?cWGt4Õj°4êêE¡h:h¼/£•*/~mŸS8ò³ì¦ æµ…—x^×Qô¬´ÑêoÅsÁ‘”Ä#WB3ŽY×ÆëåïyBJ¹MÍŒV¢üï1ô;d´’[r5Çu[’ê|8•<'ÕÔæ.K»ÉßÊh¥s~)øß}Oe´Ú(ðÑ視ÚÕ[z†ŽƒSg¢ÇÄñ1§7ÎbŒ¨~›cíàôCü®ÓƒÁÃÀP˜0(z“€Cf-å‡ÆGИæ8ÎxÒó¸Ô¼k1JŒýž)N?N ÑFÔ$+Q1ŠƒÀ’uësÛ
Ó¬7w½ÕøÿkVF”?¦Ë
òÊ1¢D[ñŽN8*Ïx¦A‘tÇ þgGÒãJŠ‘˜2P†‰›Å8ǶNô
}Ò¡ˆ§%f•Œ¥M¿Örí¬}bÍýW³œãC.ùá÷ð”OþŒòØ‹Âa¥|õ–¬^qÔÌݼúèâ¢3™QóVÀTEkÒrJZþ¦70:ŒY‹<´¯éŠÉ -¹J™Šyê:Q]ç)«<Õ–<ÕuFy*)Oñ••©&e*å*&+¥«f5ÅÕÐHÉ蕵—🦼ÕÆuÔzý¼·òzíZK¦n¸j*÷3pÊå%纞uÕ¼‡£·éd½jܶÖýóáó~ļ\ÖÍ3ígwütªz‡MÝ8Þt{sûŸËßUgê
¿V8l§ÅÓ½ToàöªR0?Næ‘Å~‚{ìµJªDR£„¹oRŽ&X[a£ (²@‘:"ÂV‡fPÈÏ¥C>dË`ÈC]àCð8A‡KeÈõK%‰¯cGŒœ"åLøþ=€Nü.!€¢ãÁŒ8Ø‘V涫¦$ÖL°¾ÔÒ/´'CkÄëù·C”úa²^ã0á5Þ—Ü ËñÕâåa\|që:¹Ý·‹—É\F½Æ<Óúì¯Õ«Ý,½—3ê´^í|¿z\Ã:r¼c]¼¬Z½q}wrË®¾·’¯ïd½7øÊf}§V¬ÅÃÖª=·ÓÔ™ºÛ´îªŸ®÷\+ÝUg¦î -¯’.ù¡*ÛÇÉ<²ØRðˆ$·A) K·>‰®~¼ASšÆê“,|ÀÓ&º¤Ìòä“ç³<
| rIV.‰) R™¦ìTU´C£¡%¨Ó±Û˜4o’Y==°EpµÉ×5Fˆ€iÍ`5C;Ëøb¼"Ó<ˆæ´ºJ6¶•Ø•%Ä/±naë#Ü5ÀëœÔV\9®rãN -ŽCUAã(û!&R¶2Ñ
~S0Š]…bªh,VJ
2iÃt¥å(Q2ë†Py+GÝ]EsêãÓAý«ë:<V¥àíònÆ=šê‚BÒ²,¢À€^ˆð*~qK3/ó4˜©{tR7û¹íÜLó4adæ;™X75Èó8¢Ú€®ŠcgGZe•F“'–Asv™Ó[ÎûÝÅÐ(Ð4DtKP ¢Õhè?Ðjt%ƒ‘Q¡i 204306hÞbuFŒWvXöŽjõ€¦Ðþ–ˆ -·—ü÷£Ñ²›ÚëÙ£$Ûg™vÓ1ÔÖiÅ<Kµ{®Ý“íÆû2w¿àd>'LÜ2Å4/à§ÃßLì=&øiyÃbÞrЛ -êôÇaá-°Úá>tpã4cªláFàpaŒKƒÔëR3.‹Ëµº»0¸à¸À},³áþ?îô13tÍ]¡kõ7®º›I+Éß0v9ͺKµ849&‡É6ÇÀéxÉ)€qZÖÂóMUãAù™úUfß¼–Nc¶Å(Ùg×cÄgŒü °t
dÑ-ý?—ˆ^áápwøþ7Ï…çŇ -sû¦9 -¤]¯K -UŽA¢@Èúº= ¥¾×ÿ]ÌöÄÉpDªÅ(~£Œ“‘¹VŠÌ¹ -!ÿBÖW%þZüS%þ:æ¬Jm«„šë†‚Ò½_‚€š¢{•)*ÌU¥é~)öj]¦E÷¾ŠBÑ$; Ͳ“>Ñ4›òDóì%¨áz/ˆ»ˆê=Æm’…Ò¢9D_5¶J“ÀÚÕz˜E—¸HY¡ -µáKÓNª6Äa‰®’$ÃýðÑ´‰îîII‘Ôö_ôˆø{ÛÒ䈜—¡MU#Œ»bXĶꑪEdœÇX¤êô)'-Bæ§Ê]UŠ3‹òšJDÇ«™¶¡C?íÅe -¥ø“ -™¶&
Eê".ú®$§þ4sÝGÄý±ƒŽE0mC6̆®˜§,âcz¢sÔOÝãÑ]®¡<Ð…1‘ -€+’0ša -RÍ9–]”Ô'¤ƒt!«KT‘ ®.Á–QÞo¸”I¯§}ž£ ¤«€g² -ƒãÞõa¬N†‰d—¡Kc~.$ ˆwOeàô+Co3†qN€Š}§7âb¬ôR• -&ùQäV4/ñ¨ÊÖq;‚j3&M›Ä4¸to ˆ{qtØ€FºÊ›÷p÷“HðBWbÃPý<~½‹ÓŽ…'sëkW,jŠ¢àj"Ò‰G¹5e{ |·ð¥ 9"0<èÜCÇ㘑PÝ)[þÏ= -utƒ¤XiSè[ÆUIiÆÉ"ŸÕQ -C654˜(³Q<8˜(DôØi˜—§/O¿øå¯è›/^}õíÛ·¯xï&ßß¼øûÃWË[DæÙ3ƒ¿xýý_öN/þ!¿ûå‹ÞýóÏ¡ç³—ß¾yý -%øù Áÿ¯<½ÃÿÉš§°Û{|üüÐ7õæ77üSºy%²¿;=CGÁ¢Q•ä”–úuVÐÐûøîÆ*Ô©’¡ávÀ…¿=`ÓpYq“¢…פˆy`‘Ð:Z$®ò8þ@Yoš¥Ú[Q{‹TÖhÒL¥‘`n»Ø§°·[A¨aªã„®vXv/çÁƒœÑÞÁÌÒÜæ.ø‚чÆLù±à¿ÄUhŽœKÝ/OèÜ3S?³rwµ¿èùéL)XJÅ׳ѹ€ûsK7iòg¯ -Ù÷çÏ?d7W…¬<lóêaÃæÿÃÚÇz~úîôò4o>ûüæëßã/ÍiÁYFÿ§DWô06½³”ÿè„Å;d/BæŒÔÑZ*‚¦ÈÝ’ñ€2È`=u‰Ø)Ïí›ïOÙî%a\„ -5ßa¢€a -Ðr‰â,æ,d8Þ€U¦21¢ØsEã¸ø -à˜ÊÅdG“9–ûÈ‘çÙ¢¥çGÏê™…s%‹´;¥K”U¨Òr•¤$ÿàÚVàN
W/ÄÏÝÂ…R4ž©mËH¢!Ë ÀE!›«ið9†y/Ïõ£rÌæ -…pÕuYÓŠnh¯…)¬ZÑHûÌâ
YÌ^)??‡õ+mÙƒÔñŒ
¼÷ ý¶€5žÜÌ#ÙKv`}íñ - -vL·@–¡¥@§Kp+.‹m•BÁ©Œêçfñ¢2 -;x8)ï`î5H¹,ºf™¬0îÉ›>ÝãH]UÎ[’gX-M=>ÙãÖ<äë6 ‘œ -fmÖÚœaØzÎÏ•ù“‹¾a”Û’{äQJªt 9J$Gªäç ™ÝÝÖY͇RÅÜÖyO®*ûÞ:OµHÙçû´ó²è+ î 2ªß £J(àÁšóC‚d‘i(rŽÚÙ}=¨/ÈÈAžÞĆ\B~]-®BÊ‚)^kÞXSsk)ÐÛÀ±Ã«~>ôö‘ÜŠ:NŠL
ì·X]BwÏ$kõ·as,®kenois¸Š*11ØÁNU^h©íç·™ZT©lh‡Ó¤Õµe;X8»Öí¸¹)î&ÌFŸ,® ×#’-Þ;Ð"è
*;‘öµÍxXÒ×ÎŒ.Nñ„Ö=€{í‘b…Ùe¹¥ð¸4wGu>LŠF3È(xípÑ!•m`mÑ;¦ÄÖÎÆjêð°¬ÇÑ…‚^¢MaMmKšh¥3¬ýœ™rä5û‰ÊK©lÞ6$QŒ€9‰X£t¥Pñ†Ð‘–¢E8°½1‡cˆÁ*jw¹ -ì -YKî)l±M±>Iu¹_©[fHê•h~˜n]«´§x”Ñ¥@D²ðÂŽÞ=ù8M³G%“µ€ó¨ï}˜×ñóÜl2€3GqæL![¢^RGýÁeœLãzQr¥®„Ž¡!G½I§±»@–莡voâŒ3ö™;ƒrϼÌDQó(•ÅˆTÊdlä‘©˜Ù¯"Š -MÁ¼¥>£`¤Ñˆ!•zw°¦3þ -½m«sxáºÙ\͆ќᙔ—^^K^Ž9RÖù>§´†è5 ˜‘?1¹kFöE~ÑYNuõu-¶1„4R®Dy‹ì¤I×{uÙÒc˜Pðoº« Ë¢…m¥— ‚¨ã?ý¯§ƒ¼U¿{RçUŽrQ! ƒNlÉ– -AòÙe.ÁŠû†0h4žC -”5ÞÀùævþþIX…Ìqe,À¥BNR"0ãþ5¶·y"ˆYk'íhÑ.9Ü7MÀ… - ep/Ÿþ$|e>àe–!VÙñz†þaéí¤Á¸÷ž³ëón\@«´ýu\Z§]û@§Ä!.á:8Я8ÛJ—•FÍD^ÜAò£‡“–ƒZ·VZ4‡ßyÚf€½¶òcyá#ËãÈ -ëÔ4£ªnÂýih=ÀšT”ûDbú Ði¯ý iŽ1'8¨ƒà¶ì¨Ì6ʺ§Ê -ð>t:Ôpr -b‡QwP´¤-ßàŸIµ¹05àø“¨S¹Vº$(°“ÿ*Fh£íoŸfÔ3yi,wp ´À«ý©P°KN¥5HÖ«S¯ -XÇÎzÇeß³J/;ý¿õÏUE -°w€¹¹}ƒÖæ}n¿¯üû -Ó |;r²¯ÝÔí-*såè}fbÜcF]8ôMXÝÆ kÿX4}Ç-µë›œdË–„͵ÐSž×*±)|‡]ð-?vçª -ªd.Aø쳺698áª6†½ö¡`m—Þ¸YL¼VÃ;»®VK/@ëæ‘ñÔ©yÌÀ*ŠR^|íR¡k?Pº¥í¸ì -mǧÄw9ßìN;ÕÉؘ´úÜïc¿×5«¶^Ì>gúx ÈWÿU2®€=¿umh€6I6›&(Óès½à=™®p”þ±É.¿àiœZ×–ñ PLÕ’÷aŸ·zÜ{Ȳmî`Á -Œ¬lÆÚùŒ£•º˜¥:rØ¿>Öêdu6î)zîW¾Ìô1³ð -ßó`á p±Mp¤æè¡Û" -îv"¬Oìb -Ëç&Âö´¢¸Å¥Üoæ]Eh -ÒUØÑÙ€Á¬ãðÆw°½šFJ œ/6¶v6àzŒ3‹Eì`3V‘»ãiæd½ZÜ(Q—+¢ -ù¿ú+¾â!ç*ž«Š'ñFpŒÉ -.c‚¸Þ>ç]gþ¼Œ®£U~±Ìàvîð,POpLI‹œzµ-MGéWò”ƒG<›LtÅ›ƒ°U+LÁ]™±¬1±1kŸÛåÔ”Úºv
˜½&q2½ö‚0ØÚŸÝÆÁ¢6_V$äøf •¤¸ëK.ö´áhú}+S-å|ÃÎh
äu§³l¨Þ£Ö¢%¸`ë¢Bãæ -Î*5€ëXªCu´¸àbÛ].ÕÌŒ‡%8ƒ]YóØƳÅçƒàYSì?Þ@W+i#<34Ü—à5í[R±0ݶƒñ -Ôæp˜º¿w3ÀoíÅ `Eý–À¯ÌL¦×à efR1SÖ|±¾hA·;\Ölø@)3+1]3T¿µXlõŸßWbX*ûènþ_‚«[Ñ}ÀÚ¨¼±yŸXç>ª-ÓÂI+Ì6«»ÃÇ<ýn„?|^yõ\Vø“r•±1*IK‚Í -¿gMÉR™xÔ^uî63À;+¶Äìh±ë,8î‹0tk'ì‚ãS0- &Û¥Ô矃0º“ˆÛ†øƒ“Ô¿¤WM]5ýï?Ü
R»Å‰“8˶b*ª !4š©ø¡ÒªâßsÛ¹÷½™²)ˆrßiâ8Ž}|üÎá v˜!›—&·pT†k$`:禅þ*Ì6.Qõ&)Õh‚aÙžtÀÞ(
t'ƒ)Ìß<â‚$àöë€!{ŒÍs‡Ïè½ßœ¾zñüúõÃýË÷ÿùý‡ÛÞ¾0ðåÛßþx8ƒŸ½yx¸}÷ö~›èx«ÏOi{ÿn>>žh{ñ7¾iKóß›ñã[|ü èÓÆÛwÛÏ¿¤í^—¿žï<CT<ìÇuü äÈu,;ûaËpâG=^Ïüþf«‚¼Z0wÔ>*:mR€ -¬Î %æÒiq{˜Í¦¯N3uî!Hƒ´cÈÅ"Ѭ,)É1HŽ\ÉáË ‰™¿>óñ3ð¤sä‚”ðOÑ -ƒè˜—êe»¦`ÜtëáV,øÓ/ýÀÄÂYª[—Åòå™Ï3g‰~ѹ·H”yféØϳÚø*E€vØ`ÈNSˆl²‹À"öÏ•·»¹ó‹v™ Sk¶ê -¶ú³¨~ÄßÛ~‚_¶¨Ê˜±ÐµÚ1ãT1˜$;¦`µY†(’°±lR£îÀœýDÚˆùÖö³ö²îÁ^|¤ìñá'Bït3”¨ (zö@јC«‚Ð'~[J)@Í
ÔäCm–”sò£ªV†œ«¯›ý/¶Úý^Moh2³Ôˆ@/…C§J4ç3 -¹ôÄ2u1«™Db+¦ -N~µBr fß;)µåX]J.E`Üèæ•ÊJ|¯|?óðZâ<l)l9Ñ•‚"#2.òðanÆÅ°:RT~*7
‘g\Ùo€ÖQÃåìQ¸µQu2qÕ Š¿_Ël™PÚðDŒ
K³l1@¦êGì—| _û¨îÀTdá@¯R.n -ö+d4¯e`NsjQ#3,]ß3Këز¥‚VFCcÌhymïÉ£ -ÚæØÎÉ#ÀªÖö2nîgÓXGÄùÔà -{
XEµ*š²È¼V#²jÚÓA±Ì¨W>E*FÝ=¥ÄuQñ¬¨ OO¼oøsWËpýœšLŽlðgá–£eîþªC§(£— -
endstream
endobj
82 0 obj
<</Filter[/FlateDecode]/Length 13905>>stream
-H‰¤—Ý -%·
ÇŸà¼Ã¹)´…lɲåË
íEË––”@ ”’íÝ¥¤É†¼}ÿ¶$gfÛ›–œýF–dY\ž_?~¡¹´—Š–§æ./fyëÜe°òêµ7‡Ê% Òñ}¥æߧ$ÝeKÏd -SÀ\ªÁ¬\—ªÅeS…)™4Ûauv˜„šÁÚ—õ¥½¹aÐTŸñUXËeÁ²üâÔ–‚ÚXSkÏ€J•SX«+hTê¡ -ã‹8¬Uûæ¦}KøKøT‹„,õîPŽÏHQÏ -šì6úKKž…w¤ˆãû&«[@´PÏ[SÞà×þyí…o²¥òô’ÎtÀPÀY|Ýa—+„)×¥`Ã*aA”>B½CcüñqÅ™Yo²;LVÏÆaÅÚI6U+}ÙRf@$KÞ ) -f…
†»ÓÆ›ìÈMƒ1*œ Ò¦`aÌ~!Û0Y™K>®íŒäø|£½ô»èKÙa(gO²Å:ÃéüB½,>/Io’¬Áfxo0Úú™Žrü$‰q÷µëqþ¨|“ÝáòiÂ¥`¹µÉ¦nÂbí,5½Æ@•‹$1_BºCÌWýø~aÞq<ñÁŽŠ—ŒÔš—ýæ–òÅ~Œ%™,}‡W6Ùöj9û”|ØkHéeƒ¡@Öd½É¢ˆ»‚œ+Ý¡¦O)¨£î½½ãZŸ7µ°žàRK1Üo²³ˆûÐC+ZäCAN63Ÿd¨ÝØÜê®ßùvå<Œ‘“4öվõu%i7Ùc˜K™ÃÒxƒ¡€+ñM–s÷Ÿ¹«CTÕ†‚ìÝo“Åd•»¯k›¬ 1‹OøµOa1Çdažºê
,A‡ -u,Qoïxl)W=ÁЋÇp—ÅëkðTÐcDÛmÙÑE,¶
7ÒÉ¡ËO<+¢H{Ôû®Žçrv†xØZå1õÈMÚXó\Ü!Õp®<Î&³v:_•0
ô^}“L[iÙ·²Æ<'¾l›^luu®JÇÉã³Ô¶Î±©õB‹¥®èHå³dNÝO¶–>v:â¾ÁXɈWYŒ#Dbd•lmÛé#B8Æcô4ƒ–S3m0ÐÄârÈ"‚¨¾lv‡sœ2³HÖ
`6d£¥Õ¸8ëpÕüÄß`(`t“-35§Ö(éã€DÛQ¡ š‰… yÂÐ>ËÉÉ-~µY%/!(H~••Q=.I[T.ž“ø°`Ȭƒ‘Þ
“š£Ncc,¿ðN4õ[|¿;ËÖLäÆ ®4<Ñ^R‰~ÈÝZÏ{‡’V•Üqå5ÃY»=Å%Æ¥Kc>ÉâÍT{\ˆaòÒy@d ñ±#Nûccà€I×–ˆp9K¢Qù“M(ežÅÕW‰¹ù¥Fë -mk˜¸ö×í90v¢€,}ƒ«Ïh—›¬ÁQ‰´¹ÁV»\\ÉÇ º6'ÄGZ=™µà¤ÕÆÃCV0Š•~ÄÍB ¨öµùÄ?«îü8æÈ<*vYáê;F¶€µ¤ºÁPÐT¯²x#OmÁI6 npŸ7Œ`x†6k2IZ—Ú´àÐ`Fàh^›l}€ÕŠô+º`êKÁUl°Û%À@Ÿ†[‡UãamÎÅ]`,V—€#DÙ’ë:ÒRp`2nl.a6‡ÑºÆ8Êa¸ÐóE¶¬£O£æж)v|ÎlÃÆHôœ=‹º„lCwsHÜ<ØÄÆËcÌ -•í(4?°Ÿàx2Ì5îàÀ(q~Áðú”mKœ7w@û~TyëÞ›,î°åK9GS˼5Ú•Ç#Q§]`ÈS–s+ ’õƒ´m¤‚±y>º“,*TŠZ;á ¶#ã†ñ6ûi…s<³@Öü¤y¹€5Ƨn9^RÔè5¬lŒ¶¹ý„grÚYeÅ;jüAá½y†¥I¾È*¢±zj¤æ>E…ϯœB0àœ=³s,Å$“D›,žZ£(‡y=Ï„AØ’ecw±=Å;ž2cŠOÕf3$¢
èÆKàFù&K³HþWHyU£ÙdR‰xÍ”¹šÕŽ·È˜W¬#“S -Yɉ·Iø - p)8p‹ Æß0ˆii¢0_(ËI!]
ž2 ð\z_o¾§Eò¡•$^‰0Ã×K!…(ŠžhónPñ裔P€ƒÖ+ˆ>×ЧÌ鬅b“ÆÆ -rI¶GÀ\÷U¥ú<ç%B ‘*Ù;g®õ(Dó«‰áàê‡]'Ä Á®t‡³è†‚‹P4ÌŠ*œ% -ݪvÀxDŽËÖQ¿þÔµáϸ¨Ža+*†!ÜêˆîÇÇiñ®ýìÝѨŒF¤EÓ5(c~-Ý`í½Ý kÑUnŒÉ!Ê
—>˜¯ÚÚ
bÈá£d/Œís•÷þgÌaAH¬.GÁ“9P¨«2ÈyND€Dž;Lœx)Œš\½ÇêØ -‹ÁÆ¥Ÿc0\ÐÞä"û¶Ë$I·…Â+x{È
Ø¡4¶w∕§áÝ×A€ºëYæüºj€sh&+ö±œãPÀí³üÓ¸øˆ #á™XgÉW¶´JŸØÔÉ·5 -×lcÀ³Èxb]ÖŽ"s[°Auõ,Hwžn8§¯àZÔ!fÍ{ö 1\äW·€Qçò¼ ¹tkJôqÀØÁÀFŸXÍ”™ö€"-ºNmÉ¡Žšîé h•wµ^ÚÕNs´ÂQìô–_&º«éÑ!ñ0ñ2òÊä£íá>2G/IÞäQm¥e+°œmD½¡ -˜-€q¯ftöúóÒ»7Žóð“ëÎ~î0q;`|¬`…OìL¿wiŠá‚1¹WŸØZØa2sAÍÿùÃÀíwïþ7÷ß_ÿù•~þt›·5[ãœ3þ¾´uaƒÉÚ=àT`mG÷ó%é[]…¹>
/kGëÏ#eÜk9a,À4þ%vÁcÕÒáóë4e]ÊKó"âðÌ3ÙòO_úøÄšÑWØRû(ãX`á!·=À¦†”˜õ -
>`ü•ÃŸØ¬)orŒ_©ÆÃŒt8L7(ú^ì·Z¾Ü/ûÉ‚¿"§õT‹AœËN…Sq¯¨†sæÙ¼PwY°ŒÇ)uv¬3YK5Ûª%æXÍoq8G×·†u‚«G -XÖ®œc¨á+¶tjþ±Päïg\úš9wÚÃÅ.KBü'Œç)Üú‹\h‰ŸÎpÂÁK6ÆuF.b¬Xw€åÃÁ–6µ{TUƺ^a`X5¯™É:)!…sæJ‘?ÖZX€h½‰ÔvÇÅPrv·VâªÁí‹õ;¤)°ÔzÀX æðÛGìôù¶ƒÒÚ²úˆXàÀC"¶¬;˜ðñ1>L½ò¥Yå:GTnÔ™£ŽAû¸Ž1²Œúó2Hó,sªšÞù€öû‚gb~bQb¬/>§0½¸â9âºN<Ïm«öh'@Se‡Üû cš]±&QsèôŒ9Ùžº.LcƒšÏ‘?èWPŠv¯mí_œ?±–æsBdïßë|B«}ˆ1‘šæÖ}>äþI/`¿€Òk6 :yßÔ !ã³@WIŸX<F\«þoP»eü>ä¼ë0ç9„JBFrxͦÑNh¿g¨
É'–eê=`_R±·vh`ÛMÚ‹;"«CH\9IµGfî—£Á$`ݨ„À`9²K -fE囹”ƒ-íÈe¼‘ÁÐlÝ>žlŽzïÏ+LN‹¾MæUѧêÏ?¿nŒp]‚â–lZ|ᬥ2Ë -Å0™©óã»9Œß÷l·rÄ¢ˆ»eæ¡MÕ¾ä'³½`¿„0§|G¥^=@6›ˆ7§†ŸíænÌÉúò#×€êºV.¯Wl–òŽm"§7hkÁX`dúÆ"/\/—ª$FvXÔ'G2& <Of0vëÕÂq—¼@ü´¨«º£¨¤q{6…ROÓ?—eºŽØ–¹?kn4]yü|ã9ývŽ -¥Xµq@×#À’–»ƒÑ"ò#Œ¼&¢Ü9^¬ûªŒbº`ØKË‚#™Ú×à _=Uض»Üxp‹r™ÃW<Œó
‹lwx`h»)™ -8»à„äYxA^ùÆͬ¬ÂPR^ôvÂXÀ}ó;ØÄVB‡é–Æ~.{ÄdÉkÉѬ#v
a%í[ö)Œ -W±©ò‚èÝå)0XªÔúºÃwßæöH/¶d/›œ˜?°«c^à™LwHCi UÊ#“#iw¬&—7äóÍäý¬ðôáøT¥.«Ÿ1qTsöæ‰>Ú3ÝÆ“`ŸÈ*0åÈd´÷Z£l˜ªÇÖÜ–ñB‚™,{ÛòØ©2(Ãì 30$¡så'ž)Yá²Þ†8Är¸ƒÆò…ý¯!í·Q?0Ž ·qo¾‘}ÖتæЀ¦$OlÃ+H¸÷ÐÕÎÎlÌäýéYËôX€ÝÆø^ã…¬Èq²æy€énĘ–Jæbâõo‘‰7¢ì±ø–8l)@0ª±•i'Ø -Â’,‘ª•ß<€ÃÏ.X¼ÎHo(f²QaÝAIZÅw¦•Ypù‹)úO솹§ö@ˆQ)õ³ -«PHÈXçr¸và=õŠ©…Üq‹ÀОÐÀ;Wzc›Ìò…ó\k…çÉìc½‹+[S™þç׋EÖÝÆnaY⧾»=ba»•œ™»)Æ3ÉÁâçµôO¤µe}Y©Íæö×Ïþ?ée·²ÙmCá+øîá=)´Û²,û0i{Ð’Ò’”RB’þ‘%M:äî»dI¶÷Þ9+ÃÀžgôʶ,KKḴׅ%yÀœc0ºàĩ߶šMiùR©Ÿpí€ÓÓvd”1b[’Æ ÃŒŸ°íÃj tÈ°¹ä©ËáÅqµÓ·U™°·¼p`o`¸„úÞë©Ct^{[´î¾Òý’r:¡9hPk¡Å[Ì@tìö›¬©àÄÜÛpÛ2L «ñíéöŠ…-å£í:µyØ6 8G ƒ½H>`HúD+»Âö„’óxÀªƒÛr-gÑrúí“'¦Òn. -åPp|*Aí¯oÞþö–^¿žÿ©3Ï”3;¥üúö¡1¦Æ«M³3è™dÁÖN8w
<¤ÜmQ‘mƒÇ”z,ÑGŒ§Xó̆jìUÒUÚ{ÓÜ{uø¥A¬\mEzØ2?!ât±4ûcGÆC½î0iûïͶ!ãÌ/`5ŽÐLc±‘¦NL5fO=DŸÚQ€[~=.g¸|{ÜØ—¸NS›Ùå‹|XPÖý*‘vOl°Šµ®fÚ× Q9aÈà’ÚÓï1졪6DpåàÀ¡ÖàµÙP:¨”„”½ƒ…‡ªÛ_ÎQ ÷áª?&ÝÁcâI1„¥Q¯–p$&~ô‹Û
â¤\Ö0”‘3í:õœPJ턱}VE[ä·Ï“¸ÆêB ýÍ÷€æ -é¤Ú§îR œ›-3Œè&=~ºöMª
·ß¼™¦?›˜…P¡¤2çC“À!§à$…mºÐ)Τ! ù›×8ãíüx
C`=Û? SþðñdÿûÐÛ¦¢u$¡&k’Øx^ÝEc™Êe«¹C†Ï&~·ÅbþÉR’×€_®«•ü°=Ìf¥a’ê÷yÅ{ÛkVéñãc±œSõBß[gKÙ& \}‹Þ;' [µ’j`ÜÛâýxóÎÚlŽB>Iôš#^H‚5¥ÍyJ¡–Õ©á;TY-³À²hž½·l¡ZGsªC,,Õ8cŠE‚Ш옺òj[†l¦·/°R=,,Rb -ÒORócA„“ÁªË@tV{n: ºx³.ys\¼;ÐüÆ¡„âf¸D`S¿‹MÖ±!í°Õå˜)‘Cô;9`ÜÂ|©†sݵaÓ,ÄTë8àý.¶„rí)£šá -/;8q)&íÔ+³kkª=®1L®ƒÛ>Â(Ù´NNpÿ™A4ålèÙÛÁÂjæz\;}Ô$¤u„ÛDîÉ_óp«K¥v¸Ɗêx³UyâÚzwA”õ$‘-œ"RZ¯½hœ;¿.kŸT…ï†ñæ[3i}±åÑ£ÄEžpê¿p°ñ:(¼š`IÜÃkçœ
æÖö“óLO¶¹¬œžæ¨Â£ìmŒ`xÑaUzÍz2SYU¯²‹º£Èk#µÖ'Ö&tg‡äw@ZÃÝAO·…&éW¬¡a‡U :kéÀÍŽQ.P[/âuscD`x‘/Û2ô\).ÌÙéÃBPó§ù2QOˆÁ)¯ŸoœˆâôTÙ>»N -WŸl´rQ<ÌHKT®¢ÖŒDo—›íêEºØ(õo°1ƨB5ò]8•€g{Xp•›’ÆÍÖ[Ø„5™*¼À\úX1Œœa:´LY^JŽâ2G:ƒÚh®!˜éÕÛ’ ófr1É
z¬’½0'ŽòŽ¹ÅL5:o/qßF(s½Ù2Þqõ<êK¤dÏy<x^… IŽKèÞ`¢LÝ^üŠö„‘ÉEìf›½ÅÍÀ¦qch:ÔƪÞ
‘³IJ¼šjuEg–ÝóÑÏùô|‹ƒk³R(ÙÃD@ĉü!zÜ.cc»úúlºß«fšzp¥&ã¤õ„‘D¥YÕ¼ØBÒƒÏÎÔ\ -taÉCn‹á -~B+ù¦p›e<¨ ã -<JÛ §névHŒÒp -8„;ù‘µŠÇŠŠCŽ‰“Ûû„ڣ¨ÃÁ’ÏWTø»qÒÙ{;HfëPÏ&Þ0:§øˆ™S÷Ø–4 ”€Ö¾±±RŸXßXªyÂSÄÖfÞæ€ Z8ª–Ú¯"´:L¹´
ÚH³t½bÇüÓœ°ê×;ñHMÁ[ðXM٧ܘûh\HÜB¯¢ó(q\æq-‰†€ðç-LüÝ®Áª-`Ëq•% lG°|…ÄVõÛ¹ð÷rAš¦ýÉäܧ®m[>\Üðî#Àr0Ån#1€iž‹à´68ë -娴\Þ`¼FÖflÇaamó¥d™†i%@ÃÐqk€èüì2$,È¥;¦Ñt½Ihë.!µ·ÊPÃÙP&V¶žJ£c¤»–¢M¡N꣥•!Êw,uñ¹}0?}r5UÇŠ½ŒÔˆk*HLŽYÇçe›¥æXC_€kÕA|\Œò< :íš‹¦&s†±aE‘p™þ¨Û«C[ -…ã´0µÆªöè'ÿc¿jwÛƱèøüg€vÑLù-ræWÒÎ]dÚb3Ý-°XªÔš:’×–Ûfž~/E^’’²±²‹‰íNZ´.)^òòÜs<u!øDº’Xhršy\éÀ'$iÖ"dë›”LkdÓ–À^gKcm?ã8+Ql -º Àtc%l¨(?«Éú ,+~]ØW¡ah¸OA(g -)œj³É2®0l¢ l«•ò`k4ýy)âÛôÏ,#çö£(dk—š–^1÷(]ÚfèdD'Ö(îA¤Â -LÆÂnY¡û±Øi,È„¾/ÂÇþaAä$C›Ç G—õ>¢Š;¯a“5¨‡I`d ŸÑ¬+¡¾5u«Í¤3aRÓÄc¤Òà&föëÕï/}ŽK
-Év®±ÀL4^%`§R˜j’ùHFQ½óp -¸ö5‰›(5—ÝÆšìlž6R!¥F¡nTl¾±Â‘Ô¥-–:× Šš' ÞÆ,Ó|ò_ßFËØ3¼øŠá £˜ñ ðëA.1ƒX&™èÍéôC"ahÔB°}k鈕`A ³Éb70Æx˜kˆ@äW -¶ÝG#D¦ó±'Ò]n´I°D Jš€¨ÇAC‹^¬†s4ÞÔ騱&"ÐW„CêÐS½5NP9°UÖ-¨ŠK°Ò!–ãÞetI–°qr§3§vܘ Y‚áp¥ŒèFÂ:Â!‡M ·™HC"ýÇ~èI¤ÓiºÌeæ‰4‰µ’5lº¤ -E=(Š@kŽ°òTž‚’è@{êà B/ -âlª¥
÷úYº+-ÒÙNY<QÚ³„µ”"lÚ]H!¢ÄÅ{0è.%e/úTµ%`±ëyÚ²AɈÓuö¢·o–-ÞNÌôÑãé»ÜBÒ‚ï_ÕÕ›uY5eõñäÄÁ-—¤/&¯Vö
%îÕÅß_ü\.ašÉÓð8ýaòôÝ/ç¯êyaŸ—³¦¬«|}}Û‹§¾^-+xuËZ—¶M±y<}2yzº^罈٢\Î×Eeß³éÓ—UßÙÿšëUaß=¢„|÷xúômUÎ -69 -zï¥5>1>qÈNáÓxNþ´JŸŸ?|2>üféÀ‹u¾Z”³o¥e.ËæM^î²’Ç×3óuÙ,®ŠfüIýi{çîµJÛ//ÿÃ~ë4aø xFh#щ©1”E¬(‰/±‘‰‹ã@ÃÓR*µ]ò‡ -Û‰ºßÉþ}wŸï/È„²l)Òãç¨sÒý¼d– ®èb-þïŽÒn={tGéùÍÙhù|?k2<‚Dp=¾@[’“È8þ›mÃí/…®éS0ÃaI¿ÑÖ]v¨R«©\(™ÀBÖ°µ!Ó‡—[¥d¨‰¾†:k…Ec]Š_)1¡*sVß-T-oˆÀ:Ôp¹örËX^µ¸®Í?b¢ÄŸdnóïÔºà>⢃7~s*W—ä¹Û„…ôÅf2!#òs®ôŠ+©²ªGÖd€X‹‡‚µÁÀ®È f'˜e•Ð’0Ü)1V)†1œÆ¾C.ÉŸ)æhÖiZéÑœ§:JL$•(`o’Á’lO²Ýbð.æýÔãüò}ìñý¸'ËË_ù㨠™¦÷’òÿ1²¬ÌÕÒ“pTeÑD? I¸»Ù˱®p‚JËË·EÊÊvS /é[€ -H‰ì—ßr;ÆŸ ïÀe¶êdÿ9I-W¶9q¥*8)“Mí«Ñ4 D#Íj$lòô+fÀöÆÓ"ÇÒŒC¥’`è6úM«¿þºóú.R%ø†Í¹H4ÊtþxÕït?HÓ¹ÿlõYf¸ú¬ÓÍål÷Ó[|üzŠ_¬žX’¹7þo°„´ˆ¸¿ÝÿŒ>^¹÷:ÿzÕrf¸’ —«Ÿ~öÁ`ûËÀ¸ß>±óÕ¯ëži
"ªTGOP½>vgý·ä̽÷4_Î@àÓÁ[¾MôœÏƒ3!óð„³ -
OrD&‘5¡U”Ulx–>Å¥Ñ÷Kcn…!ÓlƒQ–sÅ2£4íqbpÈk*äݾÿØŸå×æÐç™ -"䃬à¤RIòtÆlj¼JJp6™ -ãNNpÂ~Ê&múɉåšm(}±zb…»@Ü”ÁDöŸ9AGëèðÚwübæ}²ÊšÐtt˜AîW[fëhy1)QŒQ 3J“Ñ'‡¼¦BÞíù81Úò<À0EiFµh¥à~ÕÝKÚzÍŸõýŸ½¤R¯èÎh^)O^Ì$¦{Š¦O/rMöž^‘4ïB ¥Gùh‹Þ1òVÛø¡w{Ó{„\“¶8<²ùÎM2ćÕè›ÞNR4¸›çä¹°úW þø-ß–‹TÃꮞ`‹$|r¨Bª -/ÃQ„gzKÊM2ćÕÈX»I‘t`Š—`óœƒ</Ø9([èRC6çŒÞDG]tÔð6jº$0•f*wƒô“iööICݳߩ5E7Û„hšp±©\‹¡G-È÷>¹«ÐàW‹rB9‰ -0x•”àl3ŒŽ—$Üðº©W…»OŽÆe‚S.y])ª¢™!˜¡Çh«dDZ‹@ò~m½
\—‰¨{ÀÜ?q5±Œ•ÕÏD62ÝjDñ>åq®Á -/“Q„gzKÊM2ćÕÈX»I‘t`Š—`óœƒ</Ø9Høtjs²F7]¼ÔáRàYš¶¨Á)Y
¬ž:s4v›îxv“‚Ãõ©pëâ^(é6?I/Û£¼æ"–7̯|;9ÁÑ–(„º¥ò >›÷ù¦„¢›Ö‡i”‰Õ”i¡1UuëGe(r!È¥›OsrËzl&I¹“†é‘Y&8óëèà< naIfrÚa@{MÀ2>’ÎfQœeÁ— Ÿ©Á‚+f 1(
rFnµâUÍ“ª oƒ“.ÈÍ6rﹶ ÈèÓ`Kx€«‚ˆù +8«T’|31›ZƯ’œMc&œ$ã% 7¼n&Váî‚£9‘Á)—¼®UIÍÌÐcðU2(Ææ'ý'0:ÝšŠHž–·íé£>ñøC{w=òuûÁSkæôÛ¶‰~Ùþ$3¡p?¬ŽC¦ªdDºdSòbû¸’}Â]{¦3ËàÇõèiÑ•w¦‡<#=Œj—šgÈÜ´ÒŸl÷ܱªnÍõqªExøíˆÜÄ›‡p¡dÑd¶Ç‰v@_Ê¿î2gö Ü&6™Òꩳ@cç¦é¾f7)‚mK¨x>N½ø02yš"·SUçQ+ƒ…A~,ep„Û\³ínqûš”Æ50LÌ2Á™Ç8\GçqK2“›n´×4,ãc,P|¦3(KBÝœ“ÁÁ‚+fàDh 4ȹՊW5Oª‚¾ N.¸D ;67ØȽCæÚ&D £OƒÊ¶9ÀUAÝÆv³‚³Jç=È„ŒÙÔYãWI‰` -wŸCvpÊ%¯+EUR33ô|•Š±y†u$OËÛÖ–%¶ÿŽ¼ÁžZ3§ß¶M|=¤bñÓ]!Z…‡ù“\ î‡ÕqÈ@•ŒH3Å!wVHšëšÕ5γœa¼^m?®i‹x¬¬fx&²9o¼<¢_ùUlð;Ÿ¯ëñÉÒÛ˜~ë£ì{ ¹%Á -¯¢0Û©D*C
¦Î¢V˜¶ ÑôéB¥™Êy»¦:µ ßk"+¥X…¿ZäÙ÷ý„rÒhº6!Ítc:Èq„O§6'¯#Íš¥¸ÔÍ9{)cSpó¸|q347ó
½R‡ÙÙ4;ÌΦ¹™†ÏN:HÃgç^ûYÓç§ï¨iËè$ߺÃì|q³³þìM»Þ·Õ»ý"Õq„z†«I¨ãó Ò—saP×~wwˆÓÎàUwüõò}‘Ñ {yöáf<‡DÝÞÐofRK\ÄN5ù†Ìœ++w¶suG%*ëø?öËg)‘ãOà;xñ¶+ Ë®Už`)(+,¯VHzœXa‚ùòö;̈3Pµ¦‡-“ Ü»+ù¥;_÷—‡þt[9˜ßKÅ'Ò* -=1OÉgY¦Â:fßámŽu²Ò†
`ÁÉúBh¬í¤`ÃcD¬Öœdý²€{ïžkã0”!sHP"ëPïM†YáAV‘+@ìj&“DƒY ¬‘Nïm¾ÿ¸ ý`ÿª~F'KUÊeh¤È<åô+ähÍ¢³fËö¶%Sà)^ù7áÞg[çžiÉ™IÑH¯ÑÞ‰¾wºh"üb‡jB‚ßkC¬µ½›‡IJ˜\> ]gN(büoƒÓ' ¦/mÆò»õ¥ãåw05]¬ÌÜŠE+Ë9þ±kUÄ–fïÅß3ÓO,6l -‹–ÙÙ˜²h@VO ¶¼í^,v¯‰
ßÑð
ßÑðÅb”‚¾¿ -
endstream
endobj
84 0 obj
<</Filter[/FlateDecode]/Length 12210>>stream
-H‰ìWkOÛÊýùó¥•3/¿ÚOI(¨WPª†ö ]]¡‰=!>u<>~´åþú»Ç&MBi3á\ì8' ˆ3žmïµk¯¡èø]R £ïó8Q¡ìëÅ]*_¢W½#üâ%:þ”D,Ž‹,Jn×7~qYïüþû‰˜WûÞ ½óUïøúâü=¬£×½ã“(("•ˆì¾½YÚ‰4)™Wƒ,v³(3™èûôw8ïn®ÊlRÆ2 äm -* -aç8zOãxÔäOCU&!ø6T¢¿D4âBf°µÈ¶fóÊ -¿WQ.MTFfñ¦†qPʦx2™—qaŒh±½qLØâ¦&"—§™ü«„f¾3FöÀªq€‰QÌLQæÕî«(–æºfÓ8Bã&åüóëÈVML(èþ“ßøÿ8Ó¯P§\Žcá7Áo8+cUfÄéL½„'¦Ú»Ó%[€iË&ÿ–HT*3Q¨ÌÏÒ µž©yªò¨0i™çp Ò.ß}|"§èMïxüùì´²Ø!Cls>“ÑíÌ|Ú/¶7^óÛ`ú…ņ©¹é~wãˆúÄ‘¹hiC¨lƒdçO}(ÞfÂœcG¾Nù&q¹a<>Hµ¡0h#ãµr;ËD:‹‚}Q;Û$¨+gWãƒO^„'òk$´C[êVZrg¢ÌóH$Ã:]9þç&4ŸeaÃ̈¹¼ÛÐj:Í冮îIo5pvœ›ëÌèÏd8ˆÓ™xv¦n‰Ì.5Ø›Æ dûŠUöz‹àËT/©TQq÷[[L¡»Xn1~ªÝc…u_Xb+0]k¦S]ˆê¥|&Bõm´Oõõt掺ÅP¢»Þ;‡ÛöahS–ˆT*3QlÊí -¦¥Ak\7RóTåQ!;Äwa4–ù†‰ß®Û'ŽejºÂ¶±-³©ä8Û(Ò5£ÆÁSp÷É©$/Dbž¶Ÿìvb]aÛ¥oͦqhßf5yÁ‹£ÛY÷ûdáC3“iµ+Â0ãæÿæe13Ëý'½JÈÛè`S$2†/Úc@+i¬“¨â½s4™õL>T|~ßÉR{û$òTe,²ËrÃôìžD2±‹l-#~6l¤1S-œ}û=U‰|Ê¥áAíôÒA/ý}½tK¹dêÃøž…;¨—ƪÌ9ˆÓ™0—MÎkº‰vC8´`kZpSè—ˆT*3Ql1Z—ñÓHÍS•×*¢+¤`¬Î¿lع’ -½µñÒ2ž}_¸9¾Ó@̹ùKÔl„™a- -¿WQ.M‹¡66,‡Å›Æ5VeÈç囆!]•Ù¤Œe'ª+ƒß¶)¤‰Èåi&ÿ*!wÆÈX50Qã"*‚™)ʼÚ}Åú݆×lš?J“r~ ”óuh«&–µöë -½Ï<êû>;Aøþ÷±«+¦«+óJ\lï -ì:¿]N§¹,e¹–ˆ FÚ! -xzj¢„nQu´n×ûh¤æ©N•ÖÚû¦6Å~‰H¥2…ÊŒ1-
Z”ÚóTåQ!;D
O©¶.uÐúê^ËXÄvãí´—Óèz*³Ó(3ÆôŒznWò\ˆ‰yŽk+Ãh,^Ñ0 Š°1ý³þš›£ZµiTNË$øØ!6Ù»*³\„Ñ?£ÎÎuÖb‘ -
Êìù;‰LŠ«L$9(„ÕûX•Y A«¥³(0WjÎkRvD«uAÖéjD6ŒnSô—ˆT*3Q¨ÌÓÒ 5~ª(" -Ù!j¸ÙÄñá¬ó7[pkbi©H«„ëh¶5H+ZzyƒûøDNћދÁ;‚oÞ&áøóÙie©—l½ró^%à<¥ß¯—‡ò6JVoôÞ§Õ3x}k|7Ÿ¨¸wÄBôá.ó(DE”LÔ·—½~ :éat æªßë;øò/¸ø–¾!Ž.пÿƒQ«×{}×"³]Ô'¶Å)÷м‡-Œ)çÖ¨Ålj£ó^_/îبO¹å0æéÅŸŒÏ{à øpô)ÑÑm&Âä"ìeå
·Á‹ÚµÅÿámϳˆgÛ6Z~ú.Áõ—Äñ,‚< -xeèzÞ#Ìò)§hñù˜¡G-ÀÀÁ`Ëgž†A϶°íËO³7«àøÄwúqñ¨)³lδ¥Ža_[R˃û->aÇmì‚!ƒçêjC¶l›U†Ôò ¦är<OÁÍ•rh.ç¸Nº‹K: áŽã!ÈŠÇG„XØe>ês3ÈÊ} -DY’ZŽïStÇ‚ož‹ˆ)p飆.·8B¢ØÖItt8„‹Á‹´ßÄ5|ŸŽ¿øD<OÛÁ(ÍÐÌO‡[”ێΛ.™‡is[Èõw-kÔ÷]ˆ>øÁ8mØrl¬
,×sÙ¯óæPZç
ã{;Ûa@‡|øØyÜü#Ä«Üõ|Rz˜2îB‡SÌ¡ýa‰¹«]eÄbÌõÿ•ò⦄?Ô¯ÿÔÿÆŒ ß\Կ׃Êh…´µí€£z\t}pÐ÷lR•£ÝŸëUØÇO»G bªê~™¹>0ñ „ç>C¯æð÷ þ|tô]ÿx)Œ±j„™cæó®òêV{=[#(C¾4Ä߶±Æcq¨hªiØqÐ=VWwÜô€¿G½jÑó¨W-BWøÕ> p(½T
³j‰ºúu˜î-mâêÐ( Û^³$¼Þõê—ú¶‘t/u=›V‹Ìñh½Ïöü:â6Ü®—˜ÏkS—Cƒ©†kR¬ojè˜Õ¼À<.–‚+˜\#3R5•^"z®Á -ç¸Z±-ÂuT~ŠkÐ[y8Ô®£/–À ãÄU?!„ú^
Ñ%T‡S/2\Gæ9u(8q.éè•)ƒ®e¢Õâ¯ÇšM0‹”Ô–@>¸N©È(s¿®o›éI»RLß´a«…€¡ï •Š
áÿÖ@‡•{Ô¯y{Baê×Ù ü±°Ž é?õír4ÕD¢‘ˆã<Efe>CWJÁqL7”àõ‡Þ¶1{ëò{ëp6´OÙ ÐSû„ðÚ_ûÖ~†œÓÅ5x4ÔØ[ =Ç9ÀãÚæÎ ÅÚQëÅÍR5WžßTÎÊðæƒ(fZ7¿¸É|SÍ>î¯v4|„=çvr?®R„ïCVójÉ
X¡.·+šûóÕ¶ÛƱ¿€ÿ°/tDÍý‚<‘¢pp -FbÎ$'G{#X¦ñz”Dc¸¼éd¸:[M¥L‚J®_ BžŠý< -}„°±Ï£jêdÜþ?}7r‚QpÐN0ŸBÃB„Z¦Nó–20ntšmÞ~‘»e]¬Ã;¦1Qà9ȃքÂâ‚Î -ãŽP')b”Ô Îk£9†<ß ®Ô±!2á -[™“&a@ùƒŽ:Ûâ5°zzb˜.³1ŽžH‰Gn…,éï€Ì÷)zò?ZÕ5G4CÔ¢pN«úiŽ Ϩ@boèçÔ.ùPJ'Š°_ºøÝ+÷ýWÅÍŠÒ5Êx;ƒÏÕãJÐ0‰(t_ðtÄó³à~â¼òAx`LѸ,$ÐÕd,˺v‹U$— GÊHw-5OœâߢWª4Â@WBU(?”rtꀄLò ƒ×UÌÑàr”ö‹UÎza!`•^(4ú/8ôÅ«ºÔQ˜0”ßZû•Y=‰õT -°øÁ›/U§í^ÊkÿŠeéî%‡68Š¦³Š¨ÿçýOÇ×Þ½ŒOI -ˆÛ
ÜZ€Ë’å2FÅjr\bXy~÷*¤žg|²Ñà-È“õ Óˆ'çTžlÑn2¹o–6›|¬FÍ™ËeÙêP’Ú5±ËmELd°¬ªá÷\°ÅrÚJU¿Ñ°·;[
›:®˜ -*Ô»_Éø£2þ`…k¸'œ^H‘Ÿ`bÉ;°”u$¥,…„¼ªn>Ñ
¼$rÐ
ÌËDyª+q™Çn Ù&ñ"m0 -ýðé‹ -Ш¼’_•vÁK®‚sHDÏTÒ·”Øtö‚E:¸²Ex@‘÷©dmó[ÜZ›Çk¢%Åâ€zM¯.x‚}zl#•ßðÿ˜¯¶Ý6Ž%øú‡} <˜šé¹6ò$RR F -¬‘O}ƒZ4¸”³m‡±¤Öa~.ØWb@ØSf¬w11z×È®Š¨%µžDl_I<È_ÖYçÄüªBq -IN8bm0pu¾"¡´0©·•R -:<YeõTWSÓ{¤.oáç™<»ž: +±cãÐ1Þ1ºåËZÓãÉÀ!5Ö%íÉø¤eÜ‘eqí…pÖ„–Ôž¥¶>ÿRúˆcœ(‡+-WWW.\¢€Î!(¶èãü[Óz¼ËAúx½ñÒ]Ãô¾úýçé«?gw‹ßþ¹[lê.ùÃÔ›ïøÊí|ù웜=úôñßà]Ê“³›Åì}wzóñÓòv¹¸¿¿YÞ¶ùnTXäýû‹w³‹‡Å_ƒ×™´}¾|û~±~÷Sw÷ÙÒœŸÚÔAX=µ)5æ¡Muÿ¦Ÿÿjý¡þ^×;7^/ïfËùbz1{˜M¯/¦/gw>9¿Öéåß‹ù'p{ -w|äU#®•y\Z„Œ½Çìä®M+§Agú–x@Ô¾GD€W --ˆ\ê3 -C
ð&ŒG@Üã[Zs–$5sˆÙT9±ØdsŽ(ÿ`-ZUš‰ª€'G<í*¹Ñ÷“/u4ýWí3.Á«‰Š‰ï–þæêÖc‚Ë´SI«§Á@¬&¡I»í¥£KLÆ`û T’›SÚÄÍ`¦[áwE$›ÕÍØmãš›ó¸à:|0²•½g`”3L“ìfnÎÌ%‡'Õš-Q“UºJDv2‡I+H¨…>tkÌ`k燰ŠPè1WнÁÝupÆ¢Y -ÈÀC¶’¦’Ýzed-¬B܆ΚYÎYøP2Jœ¨4ŒøªÄd}{»ÁÔ)šiß³¿Š¦¸_1>óÄ«È;;·V -†Po+ôKà”BÅ×æÇr¹£fˆb—üV$ád1þT¢ñ5¤3#SØ6b‹~„Àè 1‹lv•”¡Eßš3Tž)zN²‹…Ž&´Pú–Q£~(Þ´C
2Žà!@<Ž*áV -6/ÿ vzgiÒÃu7½~pì6O<´ÍP5±{†Æ¤éòÝK -AT¤òjðWˆ4Åaæé$ dS䊽FI±7uh±YÊff/8€i.;ë>é0=yƵža$W‡´}¦ÔØ~]QÚ-4ôLm:5ÿ’£ùÊ5.ÑkæacæVyض#¼^íí¤Ra, ¦è\ -|«‹ôF¤Ø‘¡å|dFhI°õ„#{Ld઴™ø.á×êÒƤÚEuE¤4×ѲDÜ6kDFŸ Â6#òV×ó<–@sÒ<&Ž(¬\ÑâL˜XT _;êjÌìhDã¶Å-¨&WQr4q-F›øµ-]…½ÑUôˆöÀÈøÿÎæAñWAÒãñ²;8á&þ,pº3‚*° -íBA£]?¡¿P/Ç8#¡:8Œàº=Ô>~ABhØÐÔRr3±«·L´Xùiîm"UÉ1b\A`´¼IòvY+[`é_æ«m·[‹~þa^à>X&¹yEŸ<–\HPÀiŠ¾ ª¬¦â‰Q;hû÷gÍÑ]r%¸ƒ -‹Þ'£›QŠL<6”‰2ûr$1ã%cF*î
ò¸à.„zÐÐsH Q
=`¸S::Öo„®,' piþT.Ù‰¶òàV¼ÊE{"®„¶óž÷>ËQ£ž§N½Î)tÕÇ#CS€LJW€ -Òˆž -CÁŠåüã΀)ÂP½IÔtCAHà‚ˆÐzò¹ÂP*z -®"Æ-R ë(‡‰žÞ•@CéŸ`©Ê0¹hL.Õ°óغÖ~´+œ9[]–JñLm -s]ˆ‰Æ8OWälÇnFÔF|ó$]ØXA'éÇ\iWPèraq>KÙèÓ¡o;„„×!<aשم·Z.£P×¥ÛÂBŒOz!ï¾A)Ý?ÜÓ@¸+¿¯<_ˆýÌ÷±Ï¼áÒßÂæ›
:ÿ)°¿ÓÃ9Š<T)
0j£T×NÖôË™¢Î²XÛGFhŒm¥%š¤ù²u__¬É’r»´D&Ipm.'ĈO‘ÆóÉW¨–çc¦×¡GSZgæÀui§§ÅÉbj±Ê@JC0UßY›tw¿]€£Mž¡B,®j“‰Xdb%²0\¼Žú&Ø+«¬8‘` mR-»€Åt:÷ -'mØÙÃ,1 5àéiÎQb± eš3v!nßÀ"Â>úéªP«Nj)¼XÈñ4eR¡÷J›Ã·¦RǽO‹°gÇ p²žƒ -Ð#:T 1 œGióý -H‰ÌWmO#IþýêËH ]š²]¯;ŸÂ¬8íèV03ËétŠ2I/à awù÷÷¸ºÃ$!aáöîfƒ€´Û.»üòØæT£!®‰›ÃjÀ IàBâ˜M!$ -JàìzB/$ÖG3«~®>VÙì훳Ÿª½áüúsc§——ç·Ó›/33º½¿ûb>\__î2ÖxoÎ~¬ÞØd£
ÖsâLrdíø(²¼—ì8êó×ÏкÕGéÏÈ9^~Ï8::>bëB8ÊL†·‹ñÅlqqÝNoÌw ™ƒÓÅíE{n:Ë'ÅØf>ùqºø²oþŽ·ø¬±µO0^Ϊòo^…þÚ·ÍÁq»0{§Ÿ¾Ÿœ~™Þ4nšµSiç‘o&dÆø»êp&ÊæJ‰¶¶–\ð†]í²'ó¨Jdç¨c…¹?y‡Fôm–ž¸q¨ÛW_â`ƒuóÙÖÙ%ÈŸ4ÓK³wr}ßÎÛæîî¤wò¶æäxù~|1½jÍíÊkÄ4/_ÛóËæñÝ[³ç¶Cc|V©¸ðœR/‘w*ÍÛ•þ^Þ?fYoô‹ùó£æ.?ۻŴ5“ñt1'ï§7,Ãã<9ú™Ý«ë+¹Gz¹ëÖHò%ßî‘€«ž&ÖUõ4Wž¦Ôzê‰2mËÑÑgÕû±máô¹ÁÅç
r+î—"D-ˆ®$–Gç•«%sôàl²3bî(šèƒ„Çšƒ&±õu¶AÌÙD=ûNÒWvH†:¦ I ¹a“Í*®#¹“jç“ñ2£+u…Ë¢"¶&ñx»0çÚ;°%Ê©v.aª½wŠ»YLÑïuY-VQ!ò*ú¢»rDIRQê`§Þôg~4ªXnŽ¾M&ú3¦åà +ÔбKt[.¼Pþ Nc’ë‰^ÍHJ$äxÆoNûç§S£j[B|UmŽÌ€êÈZHÛe©–¶L¬JXå¬sÊnGm#¢ä"«:’ïóÈ%‚¥j -ÚGäC—HQ’üWéÍä^ÛbF¬9éçLYäî/ÝÏÙ°ÀJi°²æWÐßw—˜ESÌãîeÂA& -³C&L‰¡(°2fö†Ô)õ3v_ˆôHZ;O‰wøÕ)m9¨Z3¼é{Þ+®3ÝÙþŠ/ÿ2zgÞ›üÓš9¨g'U1Bœ!Ñ&q§ -àbVQ®)y¥ ð 0²Ö!@¸&c¸5pO„^Ü=áU|ÃQì@¯Z¬ Ê>ƒ/\N˜ñW(h0ɬx5Y»öì8 R|õJ¶û¯9³‘/ šƒM(cic0)`ˆ -$JÁ4´µxFUE^y|ºz(©Øƒ«§ŒSGu!<'X=”€’Ë]\17Ϊ¯$ø“Œò8Îaƒ€´_“qämwng‹³Ð¤Š!YR -¾KªNä‘:@ˆÌêmôi‚“JfæBТ=¬²bE:Ñq -p 8t¨`$ªdÅ
Ê +´A’!€ 0©¸QÌ @aEÌ¿N‘×ÓHF‰0è@¢8CQ¶£u<Å9É®¾>SA'[Ü¢ˆV¤mÆ5Õqàë(EÇ2潎%-X -`K‚vœ™)”ÀÇ.ˆu˜ÑÑ%”Ž‰—4²šv¤m£ -˜RŒ¬ª`¸…Ý ¯ -m-çP†UÀTôLMæ² -€™/
t›-óƒ×uV¥ÊŽ#æïU@CQyà?Ò“5(ü"”]Tž¨#œëx$ÀÒ€A${=§TÚ+:zÆ=À 5!f•ÇL6XHLöHô.྄…*•¤ÁsªSi÷|i¹p¢LN€ï„`?DØgögV -uSÕP–1Ë•y, áG:=(‹×™f pƒ¶_²¤J@‹Éˆ›×¡!;4½¢q§ˆ"ÏA8Bô:þCÉ3ÝL1òx
+ü5pýpòPy̹«» ¢Œ¥]ƈNÀЬ ®çˆÎ¦`Óq°èÖ¤GôݱñßÌ—»Ž]·…Ÿ@ïpÊ4#l^7Y&jS¥p¨µ&à·Ï÷-žlM ðÀH¥37/?׿.üHi/ÑÌ3†&ƒ“qš`;‡9N£”Á‹}ú0¨Ëí#ÒKy¼¿;Ôµ:Y§ 9ó:Î+Ÿ5*Å»Fw YøHãÚ3tû󉥗>Ï%¢)w¡ ”5fÒ_'\qæÔÆdºày@`«ozCŸÄøns¤——èbáÛÎËÃMN<’2VP•ÆËÍK=}QÖ}º@WíóW»êÍFŸqEÿ“QÿòbAÀ`ùÍÿíoýüù?_þñ¯ÿÓ¹¿v´KáÅo‰gà"{|yA¼Í¦Z§šPg\›ÔIl…<A™ ]Ôëº!ELbÊS…‡Tç”t]t·¶/7Æ’2ái+\P„—‡cpåñfá¯ïvçZ Y¯”ê:¢°k?Ù§Ó§g¯[ý lW.'bØÏK³_%“áæÎér QˆHò“âqe\z^·¸¼2»\¹†^ÛužùͺïweKZJnÑW”rÝ•.väž5?è44̲̎u ìé•¥ñÚQ:ÎJ¿M®¬+ùgo5P:(%1q¨jÁ´Iùt±½ Š&{Ñœ6¥tc‘[^*³¹ýO™¼›C{•µo™ -ºþÊëüš,½˜¥û!ÖÞ·ÐxôÁÜ{ó¿0§²ðI@XØýxs÷«x_S·Ì}{ÓhR¥1K~ŒQå¹-Ÿ)} -y½Ñ*N‚l7o•¬`Œ:—r˜„:_µ3d
î6êy«UKÂÄ[¯Ò1ðþùƒºÕýÊmeÚÓÓ¿W]E€lï‘o:ŠI†¤Uð|y¯<ÅÇ“x gT¸n†Dõµï¡‡„¼mè}|‘rWïYø½ÜõG\žë2”F±ÀpõnšÊ’R"ó¦Òb”(1T…q’«CQJhô%Ÿ£˜Cãs¬R/aÏPÌ)‰ƒÒèÚ¦@´Æà
æï¾×‘„çFõŽyU5¦ŒÍ“!bhö’_‹Ú7sÜüëÎK“«×9KEpun÷hg§8‹, 02tÛÐÜÊrà:s8~¯›óÓàièÏž¯Ê†/+‚ÔôëÒ8t6r2Ö¢¢ýÌÉ«hŸ$íZýÇ0—…a Ѽ¤07vµ|¤Š×sâ+€â¾ž–ÐgQKñK-¶žÈ|Í^Za¦ÔFMÞ<÷{u:í®bo£À—]Dh‹dwC.4ê¼B9àòxØ«£èÌi‹çÄ€©4ÁÞÜMÅÐ
^qÙ…
˜Svyè
pdp÷ÓÖr«)ÍξœÃq²ðüµs`PõFä*ñØóPˆo²t†v}£8Íg-#Å2Éí¾®ö~n
žJÚgÊÍv¥2†[^®êñx–f!ø -Â+ÎAÿO°²x&»¯‰Z€âíÂT½« -ÐAèHÑøðJË<õ,Î&Åõ&Ýè;J„i™h -•â-Εt,íHµß{¬^—è÷ÄUPèK' ‡mVÆf)ϘTÒòÉR}Ç8=*Lmu㉢ýtÎPu -Ä… -ašv]!N¡¢s„O´ào–~/–üãzá‹AÜÁæ¨úD W -¥¡¥CR,‹-$0mpxVÚš9<„À ²B§é½£®jÐm\{ŠW1î{Iü-ƒS̺œÛs¥==ü=Xûî1éÊ’ãš+u½‚vçìêºÎ®ðè,ù_æ˶ծ£Ã¿`ÿ‡ýEh…]Ö¬5/k>j´ T‹1E¤èI‘jÒB±•ü{¯ëžJkÎ)4çÌ™5óÌór¿8ì‘(ZÖyÇ\¹3™eí*|󄦘`û.S€òaÿªØ0´I¶k9Øé쯃·’Qéí$>VSÖYa`•zŠÇhP›j€5Ò‰fE®0O¶[¨üLK °1™RñŠn>‚;~sö–¡ìÐÛ]†“—›ùPçKˆûÃJ°”‚®8gî¥Qîjª`ûNpQ³ -9É؇U5TÝØÂ-‹d(IW'/`-KÂ3CüÇ׬=µ«@/…§Au^øbG×i…Þ>óûï=™”¿W½¿V¯¼öŽÑÌ|«éf?Î R„p„•ëGÓ3¤tè’ØgrPEKü[Ø-Ã÷ ‡@Ñ”ˆpðÎå<kŒ ZG‹çJ{B€{‹ï€©›jFà Âr -•žF%uï»®e›m,¾SÙáåõ\Û+ÖAºFEï1G[¦c”×ml°0X<Tä³:Ñ$ÆæH"ßHÕ#±Œs÷†'Òuò¾ÝˆpëZ£úZ =˼GvJ ªÝ0™{‰NîïÄâ@Q×Ñ‚”Ÿ…RW—¾Åçdi?&ʸ£ ý¨ìñ;[ºÎ`÷ܺ¤ä«K“t›··em_¸gå.¨îôd¶H…ÔŒé/Ûn0+mÜù…s›zÎV—.ºÁÉ¡†¾õ~ÛÝÓvölÆï ³ÚRuбkyö%¼çàhß.›¦Éùá¤e8yñO–ìè&Qû|龫Œ·‘¥‘¿»p}w ’3œÖõ“wËñÉ#5Š´'»Ý„›=²· 4š3
eK•J¯¼`¥Y{¿G£+`!ê†ú¬ -Zæ®Na!”±+³<§#LÛ0ÂU‡7î‡Ü`pÐk†û®©]A
SeXT\ýNÚoDÿŸç'î=ÒøHZT“-D‡ÍÒÊTõ¥æˆ7œ¢»`øFe²J†ÎB^¶sÌ¥3pgöT9……è?³{T%ËIþÓéBZ ¾‰Eµ'˜ «E«b’Ž‹aøa™9[ýŸ3S¢í2?§úÍè"RëkoÈJÐ^¸óC®Î66þì‚Èc‡ÏÆÜHß‘xu5Þ)ªòÄq®v8úi‡psCÅe,§—…»¿Ät)ùXÀ“1ÿa¦QÐΈݺ#M£ l£W#ÊDa6{J0;Êk6Vúj`‰úææ€5xpÀ]£YM<½ÑN$ªŠÅZÕu¸´! -Ù¾s¡ ˜é1ÏéÌé -uäÒ…òqf †Nãf
å¬ê_–¢7nö}¢²†ø#:À!‚aã¤s¹Ñ›ùœÜŠ!·*Ctmk3¡>>’è2è„ÆÍžÂO¤Þ•üéÿ€ægn9²…ö)Ά{ʶŽ)ø[E›¬I¥çÜÕ?‡~ä`ª;oÈSôCNc!w4çlq'G[í8„S;êèú~Ôû¶òÉ–TU
É›c²kªPJ¤¥H)É{1´?£f©ëiüH's(#Üq -¼µ.Q’:î%{Ú=*&Ó«ÿqó;]õXŠÂ<ĤÕ;§"Ôd¥éú¹fÎ`¶f*ÛÍô -ºD¸ÙÓõ]ÝÔï÷+ùDÖŒUËXå¾Ý©Cw -
“¹¨k.¢ÎžD2lå̆mªN´MI_E–yÓ"c™Ç2į́å×îeM×¹èGë&õá‘€}®BvçÝq¶î ± \‰hUñH®¶qwøi£TÙ…³Í; ~Dû‚<
-!h{‰ka¢ë:¾ˆ~a…Pñ%¶3Huk>C"R}w‘êF´&“¬(9o‹¸ö„z.å°Ÿ¨¥œ°ˆÇ¡è|çÌïQù¾.Û²Ñ2(ÿ ÄKÕ×Q{e
ºV¬)òÜîƒé>5Ì‚(´Fºå&ÞêÒŽ¹ ᆠ)µêBx99ÖÒbÍEód&ˆnŠÒ3S5Ë”?ɧ;¤a±;-º´ë;á?y,¥¨kÚ¶%Ü—J~*]Ñx£7Dˆˆ%Ëóئ:~êžZddn£×3ô•ª -ÑS‘}[0AßÓÇdNtÝi-wêШì^±»“ÆÕß»ªýdÄlt—¢§ös¹M„SÚ†-n)»˜¥mn©âMãRcå4)ùÙ~}u~Tû¢U<ÕÆd”ñ'¾‚œpÄÛ¥`;x}È~«` -
·9h;À±8wI}rìq}E¿Úè’„™\ãR–]ZytEWëÊz*+趱VÆÈM”vQš·ÎÕk…ùg'ï:¡ÞÊ_À(êao´Az¬È¾Ö½5q„šã¦ÔqR½y”iÁw¼˜í,
u¢
4ìÕ•¾Œ˜¸™’åñb C~•ïÇLÏZ˜–ëÓ_²ÿ®²·TÕJ?‘¸Ž¡Û)äuͺ¤2 -Ï$1N -|aÊúp©ö9u-pêyò5£Mxjq>‘`˜ÕØJ›{|T„.ÿÊ›e—Z;*…2cÄòo‡F§˜¼×¼[78Ñé<}—tØi` 8m7dµ ö÷ž½ùK³¨(ÔA¿Nâ‚årA…M"Žºt±ð´_Éònø€…3úO¢Ëän\ ¢È‡v Øžuýçï€|ûç½¥9u š$€ZrYÅs„íñ|mݶ4vªç3‚ôy#k¼óžÈïv[¿P9ìx0¶BY6UÓ9%Zˆ€Rns€
“ÒUþl™-®ßWïyêÄ{Q•îˆû%X4O_Ò9žJc¶åÞ™Á²†O¯7€Ú½§’SBß’íù¼‘•Ho§)Dþ9%1ÚúÍA?÷½§·7wE±Š`@cì7›#YQÇ•~nlÎ'Om$Õ4†ùŸÜå™ãÆ^i¦Ûè7ÃåˆsÞjZ¼u»ØÔÙ0ã¤I·jØ++E…a¯'s5`ŠìÒÔ½ËÄ`¾(Rþàͼ±–‘ÇNñýô©·ƒN-¢QÈÍœtÅ¢»uñk¤rˆÌštj^ŸÄ¶Et°{…³=7“µ¹W㌽Þ|Ÿ7ÖÞþÞm<Ö;}nš75Nú˜¥%%:&;¬ŸŸ1ß>ï%k—_ŸŒ¶h¼´À!® -‰7$]Óô™R/Q£Š_=2“4¡F`;bŒîI,óýÏŸƒGf$ÐÇ‹6Ô-™œ ÙI½gŠj õc›4xUéL›©™¥e2ºóV¹ g\û&MqÔ”j0Yk¼ÚÓËÁžíìÄJhÌHÃÆ ¶Ù9 -âñl\@"†¼ÝÎ)}!ÛÉ> -~Å@ÙÚ8ÖÀ¼RÚ~蘔õÙõ•Ì й!¦ùWl*þðu}U»²J8¶²ª®õ"‡L‚¥—®hŽ½ÓAï1€Ó/ -§Ìí½Ì §R>0>2¤õF‘¸ž»„ŠÉd21[‰LO"•‚ÅÔØN®{а².ÏKïsåšËªX¶a×Eq¿Mý¹öƒ€§üO'PvÊ÷8^è…è0>0HªØ.¿ë@¶-£vÄ5ƒ}^£*òE®…Æá^¸µüm'“÷Ê.ç–o{ "Um`y„[×}¥|æÈΗš—.UžxèŠXh‰ud‘åÂý]º“Å@£Ý¦ê¤y¦¿çöt¥&u!!ÃÝœ]Z9oŸt4¹®Uˆ$äŸ.zSeRdI§·ê)ØicRõJc\
U<Toò¶€Þƒ‚Ë"SyAõA‚ø\á%(î–Gž/Þ{$ͶµmX¶Ï?ø?õŠå"·tʵE“çùÂÒ×’ÑŠÙÖÁ~eLÃ3 â•‚‡"¸~.å+
Ât@wQa±)ÚÔ‘ÖKéw¹Rîçʹ0´[QÄa¹çM¬ª¬ 5-b܆¢löPËE} bÂô© Y?åÉb“¨VWÞˆêõò‹}2¯l;Ì¢ëYvR‹Åi‡BÚ-G±yËpB:»h;ÊU¿x(âid‚¦Ñ«E ,×_°šëÚlA¹ápïªj[§qFxíPÜQT©ØÛ¼‰º’Úî(ÑUâçƒ=_rèDÂo– c5_ÓW ô`Ò]Š<ÿs‡K”=¤1çÎ8¡)ŒÒéXé—KéK˜‚@µµ «U‚MÍ3þõR4ßó¥d™ -'z¦‹›ù+ÇØY0U -XY-˜±1¶;´°•êÜ©(¬–¸Fß÷>“»JÿQv,†Öîi!K6»9v¡Û”MyÚÀFC›“ÔqÃ5ˆÒBqô¢04o²úÙ½DFôÚO
¿ðJ;&`³ŠÌ‘ª)déÆí®;…J¥!º9^¡m.a¾¥ûAZ7$. ¥ …e æ-¹¦i?™ÍΚ¥¤‚F-HÖXÓë³îG`–[ÇÊ“
LŠ3ü8sï»å{g÷œˆÈ–¢Ãªf~.˲Š1[|1Ýë3Z$ípp¦WB\](„L£ETs„[³D*d; ¡õ7–ˆÿL¢Ò*˾w3KÜÁɺÞdj»¡zê›TÍælY0;݆ÏÉ)¤…~ZÞcÀ‡„ƒ³-2´¥ÊÌ44HXݦ*çŠÈsP 1°!Ľsl?GÉ»2ð*¡Xy²*xD(¾}àœê²/¬×:ç¬r»ªYnuEô±ÊßÓv¹ðDEfβŸÖ*²›ÝUC™¶ -cè"ÕÎnBXîÛ
ä{ÿ×yë䣛Œ
ŒÏ™wB
¯Ðèбeç„!xÞ{ÉÎ%Ú_”{fgVÑ -Á‘z¬e9\Pô"‰%´Ãü_óX¡H$Û7kðž$áB¢–¨GAntž -ÓŸ þÅ
Z6µ“<WÐU»o =(YÙE°5Ñhôx¼BÍpàøƒIwÔŒD.©³ž%Œ~›T¾úƒo’•êHQ>!<eî©4šH³eáɶˆ.Ýh|Ó¶’PaÁ¿šÕéÅŸ{>*Ë‚°åˆÐ¾y
ŒC“ì£Éôsï:Ö~íjscÒ²ÔÚZK -;J‡ÈÛJ7àêW—Â,$8Ñ4Z¼³‰˜›¿ÜcKƒAý˜{…zå1Á\}}[bQ jôüÈìŒñ¢ü.Æ\¨~ÀÀ44y¦± ³«Â{ -4DÔ`"j®(Énœ3C@>… !0õ”1X'LeRŽˆÜØߨ¸[›¼÷’§`Óv§¤Ø¥ë/ïXåΣÝü _Ô|¤5»ßyN
Û¨ ¿…‹bûÌúþx&MÙ*ŠA5–ôÖ-¯àzÀ· ¡¡kƒñlŠ9(€× ?tPkH}ÔåYSíÙà‰¨yïÕrÖØ¥ìÞXhœÀc 9ö}ð;PÎ:i×\{$Åjx÷àï_€
3ñ&½E|då|q©€¾6Á(‚9EÐ+dÑ4èò"+žÅ‰0l¾Ý:A!lðã?]Kî ©:Üßë¬pƒ -dYħïŸÀñ¢'‰ÈßD“œ@Hm”*a°ö‹‘x¿$Š‘§ékL WFM†@_©“Zð/t.´‚8‘K -]ldèåWWËì«L¢#õÆjr•ªåEâá -Äì\¼a‹¦´ÊP†Œ½ä«¦J†HWw½±Ub÷ZI¯..àÇJ_ -e#µT×ëF{‰´½»UÚ§"oÛ;KŒÔ6ùoåç¶àeø狈5Y®¦6¾9æ€ÝeèçKtBEM°\<î–ý¼3-"¼YNknÜžjÐÀ("j‚L~`UÇҪ黻pE²Â,R®ÿlÆ>¿[1r¯íQ¨ÎOF&/P‚½ ®Ã~Õ{í˜hMuÑó½ü¥ÚPñ¾:õt_ -yo5:
JÏŽ“7Y(®>üC¨w9‘g„Qx‰¨.
ƒäS¼¿2*uèëœàÉ*•Åô³ßÒц -uè–€Ú‹ßu€hºšìä~l=¤÷æªh¿ÐßÔ(ƒ;^êl5¯œe°¬ç´AÛ.wv€È¸b6¸g\›ÜÙ»7¶WÒJìh½N{[F~xê<ažÔ×´‘ü§›¤Œ,:º…$j|A4@Aöæ]P[êm@H™©*õ2.l@àè0 þN3'Õ¯™GTêa·´©"[‰F'Ãbµ'.Õ]üÙLU žõTÐÁÆ|h~”l¿}Óí¢ñuëÉ(k´DÆ|]VA÷ôqlþÞ#4r'×h -æH,N“]ë¤ÁŒ<t×fJz{‘óÊ—Xö†þ kÇbCŠ7ÂâU:M _Y-þ·¤óZlƵ˜k‰ÕÕ•ŸO©hÐìHf]T’ða=»3Â’N Zµæ#;!W¨ã¶Þ:¤Zx•Ÿ÷
Õ‚}'îºI'rôn™?*)Þ$4‡W4±øùçë¾RäÒ0Œ•hóéiQ&î P¨è’m³%gf3ðîI‚^ÝÕRç7ŒÇNà Ô)´FmÌeQá
«5Ú5ȯr¥M8´¼IK¦ýú`¨Aéíà”¼„ûkn¸›³ë6xd®1Òdb.†MÝŽÿ2]æÈ•ìF]÷À
´ó`Ó•Ýßî=hý:çâµBYù -( ‡;ÌX ZÚ÷ ÊLêFšµYßõCàXì&ÿ™Ÿ€êb)%ÿ^ DÎÃ~šœ!ÜXd¨z[BK᳤@Í¥ø8œ>¼.'®¡®;öÐ0, Zöƒ|û^í™ -ßÉþóµ˜í«°™ça&û€®7WŠ|üíÖ¨Áê¢ß’çÕÅÀ ,Z##¶^®üx½£¿}Ì69œzÑ,º[9§I<ë¡@kk3k€ã[†Ð^¢~Ê -µwÛV À»$Xx`ïåeå5ÁQÆ"BÒ€¡Ü€Ób€)m/ žfÛÒÚ|_ª¹“ÒKÖ7Ñí÷Ñ"‹ÆÉ2Hë~n}ŽïXÞN -K2‹uMZPõ$ãÿᥨnÖÍÈrê!Ûχ‹„Ï»Œ(T¨\Ñ·Ÿû÷øÀϸ†;Ì7ËRi¼9gÊqo*Øgc€/ä/¹rv†z õ¸Ûg(SNOÀÐbš|Ì -x##¼Ò·ß€ñé÷
~Fâí:´†l¡[©f ^˜ìm¿/5‡ˆªÚyÎlLÀ4÷B‡Q$B¥‚„î}À¿§b -X!¡R]@³(°ÆÓͦ‰³CÔa…«›©¦øÈÿ|›+ï[ñN-õÉs™ˆM‚ãìKw/õ“U0+*ºãq„ýAV8ä43ÄÆÎòpú¼Ë¬O - ¾Âï@ª• 6¸ãcFÈAÖí¡¬vN°œ£Õâ›Qð¶ÁlO«-‰¯±MíÅ<C"åzW4Ö¿"´§ÓF–ù¿}N÷/a -ØÝïFàÅÒ€8±] °Z‹eM«|Q-(¥‘“÷àµkÊ)r„¿Mp>.ý%·:¡„:%Üû…Š”®<¡þo·?_ÂærƉõ\Ñôíþø}Fâ‹!2}dõS~¾Œ¯@œÝ“·_rªTUԬˬͺ`ê4G’à³Tª€'¢€Âq‚RF.ÉYm™n¶ìö(ð5@Ž’Û¬ðÿ¸Å;Ь¥\AM©¶èJBׂÁ–kï„Þï;ä-ÓüK:aúÝ-¦1è¥ô®Í0Yì–f¡3göÃÚÛ¿64ŽpZ(7Q‡TIrž@ûŠ³_4=Šòt#9N¤üLïÃqÁ㇫Âà[%¨}T{L˜´ïîß4M%ݲH¼ÃiS·°wFËÈ.ø×( µs -2T*×~
q]Ÿ@i$OnMÑ˹ -2y˜ºDJa\´VœÔ×i»?¡ø(ñÎ,²æVM,-Xnç¿ß^òÙ7š±:°Õšß7I19¼ã, h„¥ôY…\Ðù1°Êëº.$üù"a—dN’ -Þ(`èW¶¤K¿oO&‡ -ò";*ŠQõ /ØÝ‘€Ê॑ÅØÖ±UšþmÊ#ÞdªX›_æ/ÌcËÿ|5]$A¿E²'6uÂ6—üÝrã%Ò—Ù–ãB ™q¸*#M{‚›ó 8~5¥@¨·¡ZäAìßúÙÙÁ5g0øƒˆ…žiß5˜Iµ³8«Oý/rWécé -CËTÏc}Ašçô9ÏÃc#zË#g¸Ý7ÖÑ Â¿z¾‰¢Öm™s‹~tN·c˜I7y&7Ü?zÆ:Œ0Ñ\•:ç·%1<#,ëÍ–SÂÈ–›
_"ײ …ߪ;ßÈd¸ú -ÜIÜ -“ø\4àÕ¥ˆŠO%ª¸}}ˆ×ÿXŠRý=^;Ðïx¡)œ
•"êiÙ|ÎÓiTzh(Þ ä0È1µåW4åp]q§·¦« ¥knû™›yª¶§F.„/Ý·¥âpvW:‡#Ùÿb½Òþ½ePp?O}Ë0?ž`ª$ÈÌ–ˆáw&ž‚h!H+Ï—ýéÝ:2{NÚð1¾)ƒ•v&=¥0³~SPà9Þ–/.ÐßO4—£XZ¬Q´é¨O%Ûþ½ ô£<ØÍ - Û¢ŽöùF,ƒ÷Ýâ’º©"Èá¹» -l&€…Mé?¢êK=¦® $Ñî‘n—4%Ê« -¦=›%7žu^ËÒÔUÉ`“±¥¬ö¹ÑÊyŽå”;/£ÕÛËÏȯc5E`¥yÁÚj¼e¢E!AÕÙy>ˆ,çþ6"˜ê$—û§] oRÖ”‘çÖ!=Ëž/ØQÓš£ÖàÄõz¬¿(:H%¾@‹úBÁ¦dƒ~³ ÚµGMÓIfSWÞ¨øºû1<†rDÌp„ÿ5ÖÏŒZœxò–âH³«?³àÔø¸“G«ÜyrB]Ä¥´tø,ôòGõÇÈüëä=¥rœêÓýŠpÝ¢Góz‹ÊRܯX²˜ÐZ‹¿`Tvó„å_¡Ý_!fÓÓlkþËt™Yp[Q4æ0 ´ª±6]Ùª[90~sÑdÉši|¬o¹Ëºr¨½ (¾5j¹²N°ïFùkÂÔ’qe×P½ªÏP$¶’¦®—‘]¼$»Bü”·1SkúIî-*s5ªp]3¥·èŸªÜöéõ”Ï©Ù -D¨Ú—‚âxߪþXÜ‚îúY0êÅ%‹ßhÇiòIȳ€ÄÜi\ý&* Mc7¬Ï"Òú@—l(sz›AðdÑ¡vQ!#Æ7뵇*HA7EBd-ž¢SÇÐÚ -Ò©±ðÐê»Ý7»aI׃y+Þ®v8@\54„[ɇ’H”%´^zH“&e©¹ƒ‘,e‹XÑ[Ú -ÒÓJæ€ZŒK‚f‘ï¬ÉN¹ª–~x,ý'¥¾”[;#AùT†-Äm©Å–¤›lä5u½Ï`à-AÂ*}»ŒÙòJSºU˜¤hJf¼WŽ:°î-3» +¨þ0«è³®ŸUéˆüàßÐ:¡prËûF>Peé!›…$ú¼,îä¢jó šC`§öbyJ,eÿ âwáÅ -¢]
W5úPJ{ÞPk,Q…A÷øQêNIªWÓ¡ª€'¤YÛ”ÈΦO’$ö¢u"Ŷ{|”¯¯ë©$÷žÜ+¬^ºaJšŸ>ê‚4œËý—¥nÖÅnhQmJ´¥L»‚ZÒWpÒÊÉ[´áS©zˆ£±Y( -T«›×K,}¥ ~Hìš”û_¾h G8‡ŠL„´I¸RYZ´øa[c>wS¡5A!qI ×üSÁ‰Uñû¯=í{†[õeP` -Šá13<˜í;BU§Òebqi¾565â}œûWŒC~w7Y–²}E[
ŠnB"“RVEk½RÌK)oÇûÈDnø=ÅndÈàQ•¸FôNá隊úæI¹ýî‹gMÝÅÜYQÞ;¬Ð§g0ÊgºzšdúÁA1sÛ¢R®ôÆ*|µuãr>Eg,¸kKž@´ÝŒ}å,4·É™*þ_
i%Àú¾P6ýÝNžÔ±ËŠŠþÿ¼CÕVp6áíï!˜Ï´ªÔ9Dá@èÀ&Sú §SÃÈ»©pÊîˆí}ï”ÌnhƒéÊØÒ!CSL^º¯ðÄÛUï¼÷n=ç›êDJIcSÑw}ÅD,Þòˆ#I -w¤þgIš_Ô71—Vä\Á±ŠÎ?@M 3屸)$Ò&d#J Uç&™1°¥Ðv™æzx«º£ ¦èà-„Ñ8zÙ·«_¥Ü·V•gÄ?ifSí#2}TÕ¦ž~—ææºO¶ð®îZ¼ÁZëÊ“_uymüÂH•ÕˆÆJNqþš.:e>"¦ë¨Ö'ŠbG¢m–µqueô§‘k«÷*€c,ÿkG¦z‰›‹U-Ë©”3·ázúÎýÅÊÖ mD‰G -¥Çë{±ì´‹6Ñå%FÊLÕì±à2·nM³µ}i=*„²Ï•ÄþN=8ß"f5&{*~â< 9cøxÄþu¢Â‚*ˆþÇ[HaFhÕÎ]îQóYšŸ”B—-)Î~rå„^åºIï–=h¶¼VÑKÉöb…ýN»˜*“ª>ˆÊÛçù¢ ¿œ–b&Æ$Ûg«ç»q;/áàû€$73hl¹ýjŸã€„3„á¶ó9¥Õq±%ÿ$'È}˜¼X"Jq¥#ö4%òªì]œÎ”ÚÅʪ˜˜Zaç͹'zý¢Ï*[dªB¿»&ÊFæj=åM…®»æÿ†Ônèß™0NÎ@ýjeZô6}©QøËÝ -#J)ç³¾°Î&«:gGARöii’†`JónƒŽÙÖý>w_tÌ•ÂX×+EhQþSÿOúðÊE -˜#ï£<ÄùöEJz<!§±ÇöÍ„NàAÐOm£{ðúO‚,;[ŠÑÀ¡d`©é`ß.4—ZÃœ’ôŽ¢ZÜm¯ÙœJ>ZòWó2_›*ûÎ(‚;®ù+;¤^¬ÉTD™µ#fJV`šg}OŠî U'ª@å!õ¡m¸ÖED¦úk‹("ß›¢¢@m[°V†!^Vª2Ô¸|fBQ‹˜&ñÍÌ+íÒèaï"AG«(Ö÷øߘ/øcßÃÇÌ>]Cj‘•oãBW¸ËìWÞ0TÕ¼Ì Ö:€d
´¹Ñ“(ÈsûfÖoQC£zxY´•Ã]R÷ÆcÎs‹~î̶»‘›ˆy.jÿ!€Ö'ÕWNZG÷¨rW&³í6Gnë¿0ï’ˆ÷íK˦ª<g)‡¶åvU+‹ÀÐêIMpßdZÍÆÃŽÉ}ã*!‚ßq®U9ÖÓÄ€?bŠsSKÁl0pø¹Ê&,ÜÓÿ1¢]ü£ºÀ²+ºµ -*p#1F©P{Ï•EC>ïúMÁ3⢪@øæACëÕÃ.3:íêög…¿kÔz“¸xi—ÔuÃ_¼ÀŸ÷œpôs¹|Ž‚vö9ÍSÏÑåG¡?hÎNÀe¾—Ú€´Tðgõ†cN30ý“Uà÷ßP€;À[ ½Î˜²}ctQÉA -ÎãŠÕ»/]¼Rt=B‚ù^í3žÐ0-ãPÖûÂ@7kÈÈì{ØÅÀœúÁ³ -¹—0ä©öÿÜÈ!)œS†NZô¸ÈÌ<Íg¤*w½Ö.ÙS -ÍmI)¸Cb -bØÄL -ORìÖ“_H?½˜žŽ7Ûóå|»\׳ÍSñˆŽq*Œ.ÕIqúv»YÖ·Åñd2žÏï®ÖÛ·žÆÆŸñ+ÔØkQHðâ»FV2ë,Ñ›ž¢$Òû¶µÝ¿±}A¬’eà(“ Àƒ*¼>püëc÷û£TŸ×?ÒŹÌn. -V>o¾|©)jÓ›t\8Yþ£ÙbˆŒÜ¨A `K•—ì;ÿ1Ö£] M•”8…Ñ^ƒÌ!öiÍ -Þ"cJ^»f¾Êk<&ءيæ)FÐn®Á÷°6QF^\:
Ó†XgOíÑåOžóJU®
çŒ×kÒc¤X r†è…†\“B“„\UëÁ-îè˜ot´~¨d`œ~>ðÁn É~ŠRl÷xeʃ‚R#RL@» -M5FgSëö5YbÉÄBÞÁìRå@nì²M|™YàPH…^ -„Cýä±²PµÏ‘ÐéP$-‡"«Ù\r¨9CeLr9‹ºk `ûˆÐRou¶t¸nÀ_–ÝK»uçŠnÝ{«“ô.Í’ÎíYÐÇ&‹ØRƒNBAUºƒŸ¢Á—} -c9›³(rÔê·ïåØ FÎ_ý÷Iá”ÝY!‰Ÿx¾×:6]á(/: fÐô²k7›àý¦üØñTIl(³“®÷ì"~…OžN"Ù2ßÄ! "¨ààÅ~Í4#„VäV ì˜,‹œ>ìÊ¥Û1PuJ´0$Ι³˜Ø£y.Ãj‚ ˜Â{O:;ÂNï|Ù hª±Ý*ÃXç -°ø½õ
XZðA»]–$û©ì¿wítÔI4œr0fcC¯AÚˆ¬Îk:Êj=Ð@ “ÕÜ¡Iá±åÆlwž"¹ Æ÷·Ú:™àGЖéjIñÚ¸•¤KÙHHRs£„ï–²ŒºL2E7œ¥aá -C~ŠÙß’4gð\[1‹Ì¤T˘Ši¥kÁE³;.‹÷Tè.¾FæŠ%»9Ë»Í`Ùa+뚘ðR
Å_*ywŠ¸jÎNЙq²SÄdò„oá,Uf›ï ƒXŸ5v™jyí¢³‡ gÄ¿˜å),O@}ΩGö8œ -åÁ9·f£*Sh/ö#Á“Ë·W‡Yr*Ñë¸õò¦u×ÀTÂæŸí¹`—ö
ÀX‚6|¸Ö -[ø ƒIÈ9ñù|^ƒ_
ËEN‡?"ÖŸò˜ ÓLûz <øEDsÁ¤j[GäííÛËØt:Ò³vÕ£æóHÌ~ƒ×ç¹!…}|ÒèµÖ¨$æ•”xwÑíŽK%“¢yǶQ‹ÒÕߦ˜ÁXÄ$í8Òz1GX¿?ˆ:ª¤räàX%ÁÀdP²*€»È2<߸ˆ5U£¡TÕ1æk%¤Š¹©Cà¦Öen`ƒ´]«VŠHï’íV%–vÙ¦[Ö†nPZY/ZæúŽûûðH{ÁèÞ…î†Aº5×´ìeghòD²üÔ@ò&gìeÓ2Ë@P27H0gt:£„Õd-˜ÈžäË?ÙDÆä¹f -È‹—‹ëo\gLRò™JLòðƬ%=µLŒGŽ‰î˜/S/t{ÙùƒxïÊ߶óйïÞœw_žzC²²Ë)Àh¤€oq½Çf(„šwkt³Ø|ï7é0u·&®þfr“w{D™¹ÄåüœÍunÏ°mŠÛ;>àiŒ»i«k¡95óPV5Ã.±Gr²aµùm¢ ˜MsfÌ£O?z‘ª7‹B£œ*>&Ëæ1j
S(É<ƒÂ2ˆÚæŠÝÆXb\¶àÿ´ldÏ‚”Èç¦GAxŒ?›f¨ÍÙµIµtRFi¦ô ‰Í3Õ‰£ç=O+«Ÿ¾€æé+³½ÜæeêHl}í$(¯°v=–µ|‚g—¤n½oV«Ù›³Mp§ƒP'û%ØøÆ4ª±—³Æ6¥nþÌ0¾:"þf!ÓnÕØ‹Þ ˜¥Ãi -|Ë”žÂîÅo¥]6¨ìÓ;›hÏd¤&Ÿ3éÀÐÌ6ƒ=Fu“ÈMTsš¦óo¨®ƒÒª-âÆ(³>‚šJÙWµäúNnÑ2'ØUŸÞéÀáâ:› e@òØ0˜P“×1Q*$Gq†E¬v~[¯ßÝ3r,
‘šÐ°¿çsC‰¾Õ<Á.œé)i š—•=r@—œõH«ixÎ],'w;#ðkj%>ŠÄ8fÆhÉ" -È–Q-<Äk+`Í: ¬eIxQðø+ã{Ò˜b -
jzeS
Òèµ Ä‡ncNl$˜¥(²1?•5Q»\|ƽ“¡hã¶&¦nS¹«c¢*²”DiʹtE¸1%½¸Íéò‚Ê)±Ø£y„â\Ö y×c¨åŽJ©‘lðÃgBtƺÃvl–éÅz8˜âÚ%GÓ".›Í¼UïÄ`.'n›UÐ;¬˜ ˜ˆœ]Ý›Íqç}òÆì\š¬4ÊÆ Ònà}›°„ËÅmN—Ô¿9¼÷݇Ý?|r{ýpûæîêþÝò{Bnùðã7o^-ïô¹_^=<ÜÜß}zwõý«›ÏÞÞ¾¼ùùÙò;VùåÃÏï/úõ§7÷}÷ÓÍX’4Y œÔÄ®%xË Hòf“PüáW7W¯¾¸z¸¿ý•-Þ׿~u{}óõõÕ«Û»>»¿}ùç›wÿóã_ÝüpûóÃý•nr>ÂøÿÐ×.yåî»Oï^~ýîõ÷o^Ùsúîc6Þ‘÷¿zsýãÍÃ3\Ý[svj)ÇQ
Ô²W õségX›hÈ¥·KñðŽ‡?ñãß„þ³¤å‹åŸÿrËË¡¨6O¡‹dÛƒ!ºLÌW…âðb°I)úH´‰oùåp××-¦Œ¹$k ìàÁ8HAß±& -ß]¢:x‡ mªšó~±Ï³X|kh•ëÅÁ©G?0ÔµBÂæ¯fNàjÛñž^áˆz»OãM×K¥Køž”.µm“dEM»È÷ëƒF§4˜ÓF`›Ì¸N+Üâ—É{q8ê&6·Ð%.È -|ë¡Ži“PÙe0"Š§3‘®§¨þ£]=ó’\ùÇ|Ä“Uc! -H‰ÜWÛnÛHýþC¿°ˆê{³'O¶3 ²ãÄœd½X,FbMhQhgü÷sª)Ù›²-GY`Ê…,V×åÔ¥«¤a¤ÆjÃÊDðÔfŽ¹TÊÌH\ʽ‘”LX-ˆE¥ÊjÇDšig-(_“½‹þá¬~5Öãj’ÏnÙo í÷8X¤â€õÏêÙxrÉöŽ‡Ãë«AUçÄ{À^€ó%þ&ŸÏöØù?“넳AÂSo8’½Á«`<üÎo“lÔÆfS'„ì -$—zሤ¼ÕëIøa•`0Ök£ØMÒ“2µ2óLøTÁ[ÖÓ2õΦàmæƒh©Rnµg8®ƒaÓ,s’¹L9Pf¸·ŽõpØ9¥ C%2ˆÅ ©‰|pŸ
LfµbÙÒ¼¶·É^K›òLÖS25ÂYxÇ„†PéRGXà ð™f†ý+Æã$é‘q›,•šKE¤,™óžùT¸B¤¶¥' 0ò"3ä„ᜂpzB¦NeŠ)›Jo=,)wJ²Ï‰Ò©Œ ÖIû•ÅñžÔ)r2 -L4ˆG[z`V0ŠÀ8F»È3¥à›VAµ‡ W 4ðŒÛ Û:“‘ÁÎÁ(Òr\z”¡ -|îLx’VBW6\a -ϼö•–º]ù!Øá4Á€”:á†{õŠHžK$:3Wžú©I¹xgd'”åšFêé$¬Óá6uz•º±]¸±{¤W:¤üq‚û_}jzBLy‚ã5CW€tÔCâ^!@0žgAž–¨‚ã$"ÉC?‘¤¸]@Èœ¢[Ñî³ †pA‡’<ŽÑ9Ùöœ°×ˆ¬nã+j¹BP+T¢)yIi@=XÒÐ - _É^f:ÝàÔ1Ý#ZÏ÷ž1žñAŒ§üàU{·5Ѥ¿wñ”Y\ÛOûP÷œy¿úç‹šB匥è`ì¡„¦cÉ!NMÝÃÚ»XáÁqô®°¼xi -ÄW¦´Nvy;6Ñ\™g6>4¿Å܇‹H®Ž~ÑînG·¯Àî_!£ÛX˜cÙÁv‰B³êpÇbÊ6ZÍÈøh9mª½ž…PGZ‡ª–s´¦-jÔ@Û«ZÈçõemï"^×b»4ÃNÖ?wòéí+öÛTÃïE}¡.ØË°ñðããréúßÜÞ'Õ„Y#þ¯—Ó°ß'£³Û«/UIï†^/ÞW“Hjz½†|q“ÕÉû)}Éš/Êkü{úåÏbX'û‡£êKÁŽf×óoì]>É/‹;ŠÙÁÃßXóñ8/Ëñå,Ÿ~œsŸI6Svz“ã9f=`=ˆXå7òw°¯Ë¼~”_þAu=óܦ1oãˆ0ñ äàéþ¶&úø[>V÷N‚+ˆè`ý˜O‹Y1b(ÿê{ñ ØÆŠ×e5ËKv6]a_dX‡øDÎfÕ†D<~êMU(L›ŒB -®åÓŽórìÈ¿UÈé•b@8oþ†·E¡>dí³”ß'wP-ég™ÓwjÅ/Q«Z.cµ¹sxå·s½
ÔTkAa
²>üùµJï0&¥"(ìaU
Èâèu-q¯oò.+ «Þaײ„dì³O“I~…‚nxÀÎtŸ-„TŸ5sk*—Ùùlè6X´Ú}6Z%d·YwF‰ÝµÞC[fIþˆ1ÿµ oê·0¸i¸5¦“êÚÔÐÞÃ'Û8ŒÂvçhÅDolfUXSAX ÁŸŠÄókß?›<TÆÄàaç—šEpQ6 `§óR‚!ˆXyçÜeZ ½%[g†o¾ ‡ÏêÛ²˜'ý?&ÕIxÁô\ìïá -w~>žÏEW©[íßdj¥À(•_Je9Jå÷HeÔ¦vz¤‘ÉœSê…j©L¸‚L*Ìq¦ÇWJ㻼1Â:ÂÖkkÛŽHpÇ»ÈOo—þ¾žørC´«ä¼£µdWûð¬ßç·xsQFìfl°cŽ&¤-»ÓxçzÿHò§$ÏF’ÉW6ò¯š¤¢JÒ‘<2ÂŽÅn¥e:?ê -÷x„l ›; n\úäŠAì9å†AŠ/ÄYp¢ø(-Z ’Óîü2|<ŸŠ®R·Ú'¾ÉÔ*Q)¿TÊrTÊg(e.©b çFQÂP [c¬ÌS€bÒ@ƒ[F%h†9åšI‰"Zh%^µ|&\Á&Ÿ ^Úô˜÷Šèi|—7†Ý«€SeiV«8Ÿf%‘R*ƒ^+ÀUAƒq€šã²®L²ÄÆÚÁ¹#–\Äñ.òÓÛ¥¿¯gÆÜí*IñhÖ‚ÀŠø~p~‹7eHoÖÉ;fàt‚©èNão c8ÍlÌgd¿Œ*ùWMRQ%éÀ³œ°]~ëœ6ØR‰2™u¦IÕR¿N¢GéÇGÔp}D6{v”ã`!fmüAUB@O‚ëç(Üã²lî$¸qé“+6½ç`”Y¾ÐgÁEˆú£´hJNW¸óËðñ|2ºJÝjŸø&S{(F±üR,ËQ,Ÿ!–\`|j¤¶bš©dÉàôGPÂD
F©V²F3®…àÓÌÙM©®ˆ—Æwyc U@ÌË Öš(•C,„&¶€tˆ-±†±v îˆq¼‹üôvéïëi07D»J<Zë@}µïÏŠ`~p~‹7eünÖÉ;fðÞBÚ²;w¾aŒ”Jùl¤ü3(ŸÀg$PÕÈ¿j"Š*IÆõXÖÛ%×·Îiƒ-Œ(µùQ[©Œúõ=ºH/.Âè`]D6{€v$ãpÎ*dø~PuÐΓàú9 -÷x„l ›; n\úäŠAì9åF@Š/ÄYp¢ø(-Z ’Óîü2|<ŸŠ®R·Ú'¾ÉÔ*Q)¿TÊrTÊg(e!áÉj¦¬Á†!œXƒŠ™S®94(¡VeZÃDz&\Á¦žIö -=¦½"xßåQ÷*Þ–0 -ÂœF -J5‚OÖ - œNkùWMRQ%éÀˆ)NØ.‰¿uNlÉD‹š©•’©_Ñ£‡ôâ!ÔÖEd³hG>a•TÈðý J¡œ'ÁõsîñÙ@6wܸôɃÖs0Ê
¼`Ph³à"DíQZ´@$§+Üùeøx>]¥nµO|“©=£P~)”å(”ß,”Q[E8SÐà‚kƒ
f%S˜ˆÃ A9þ2KXj&\Á¦š æ;Óc¾+¢¦ñ]Þn@«”E|‰¦’ˆ¬’šèhB³!Æ)×<{ÂmÒ–XÃX;HwÄ‹8ÞE~z»ô÷õœ˜¢]%uàÁZXÙÎoñæ¢æÍ:Ù`ÇžYH[v§ñÎ7Œ…‘ÿOùŸüÿfþG - „ÓiM#ÿª‰@*ª$åcv¶KÊoÓ†[$‘ü¤3MZ(“úõ=ºH/.B‡ë"²Ù´£‹°nàª: -w~>¾k…w²YÿUT5’ʦ_{ýor°°eòïLOM©é/ ½5ƒ\¥nµO|“Ký4Å>‚¦~…÷p /¿¢ÈýÞTÕ -ºíÞÅ*ýM¯–ëuys{Ÿ„Ó¬º~ƒ@øœáZ±Ò§|RfÆóe²n×ûŸ‰ƒ)QƧÓÅÁì[âÏ!P{¨N/ÜÏÜy‚/‹_Á9þ9=ªMÿßÕŠ“Âä]|2?Ú?&²Ü㮽hÆ
yçW|ívG½Ùqþ½ü•,ñìÅп@„ä#D[pøÝâtäk§gý–¾:lò׉Ç{uÃrðõ©‡•æ½\ðÝ%aº‚øù•¸Ÿ¸àn»^þ7ÿ÷sUÓ’0p—¹ÒVž5c¨V-¡J”¤yñzšË’ÆŒ+ÓIÓc¦ûqbŒRR!<Z¥º9• Îî/´Y—œŠÐíˆ -¯ç‡ -ôÎÝûÿ)Î.ÐzAkwî>ªViÈ…‰r¾¨³‡ùüu³¨ -ï»ïoý
ïçÝú§ÿý'8mwš7ù^8lól·New ôþ¤|ÿí+èÛiøÇ Ô³ãâõ¼€åÏ~jøïXÃkšüDÿÜ€émýZçÕêõ¢~û¹8®x=zkýÓ¤•“¼ª±ƒ÷ÇEïWgù¼øítRÔgÐ"5
^=ÈÏÀ´½ -ÎŽÁeÒZÎ÷&eŸëìÉ>g,{¾ïYö.7Œ7[MÁŽùa€¹†b€' 0=B:
›ˆÌifײe$R¼ÐPnzPŽ¬Û -e—b=ñFÊ Áz1ðœ[@”–à4Ì08Ç«M#.´ò=D©7¨·bÓ–Q:½É1¼€šjs{ÃÐ! -
y`Ö<ž,xIchŸm‘‹PÃÓ)eÂ6,Ø…Y,t«Ñ,<m¸ˆÆm‡tPxTL0¦¢Q±h,•ËI©aõv(˘Pô1G,°×†”Õø:¸¶-N›¶žSa$p›ó$ÒÞ„2Ò…ÐD0Oál“L¶FŠ\&Œ•Š\í½ŒæBÏ)!O„]?§ÕAiR2AÄÈubr2rBâK²6ž˜¥«>¢Î$ÒFc2»„À°¦D—+ÑF‚Ä4î‡Â£B³ÒJºËÁ½ÊÒWé¤*µ1f½4 fˆfµW®ã
¤-L"È>=1â´Q÷ÉÝÂsJh -¢HÖAá‘?
XÂ\ˆHè0IvVI= u.Ø"gŠ|.½%N²…"z=Ó.¡éêAR`}À¡¹’LÇ.½Þ€ñ¦ó\KO³‚!õmH>£
ñ]4n„¥«=ÕQh¤=<±@`ÕïM>f Ee û„Œc–$ˆNVA) ÅÄY¡ÉJ§Ã§¤Ý…x Ð.(ii(c$60tGhº«Ñö[uۘ맣†† -„Îk‚\4‚Ô‰ 0¨Ü“4êdï{Y£7AcøUëghd#d’£˜[¨º®!ÿ´-@SÃãùöܬZà.~Š'@íQSÒÚ.ÄUQÃ3h'^¨DF¢§‘£3ì a¥•Jò”)IvA®i‚–BJÖ+H@DÖëü.[g¸ŸÝw9^ñäg¥œ!6R¡yµÆ¶ê¸—F§Æ-4”|8¤„$é¹æÃV®dT -t5U¤mÂeà êèi¦ÒiŒ‰ -z·m„FmSh®‚S!gÅ`*j•}Ô¸xAi½‰+»«¨ -TZ§¯üv -ªV¹ýúü4’¸jýäìç3æÝmÔ~Å¼Ä -0000000016 00000 n
-0000000173 00000 n
-0000045527 00000 n
-0000000006 00000 f
-0000207674 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000016 00000 f
-0000207931 00000 n
-0000207962 00000 n
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000032 00000 f
-0000207744 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000207815 00000 n
-0000207846 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000046843 00000 n
-0000208047 00000 n
-0000045579 00000 n
-0000045904 00000 n
-0000047143 00000 n
-0000047030 00000 n
-0000046124 00000 n
-0000046282 00000 n
-0000046330 00000 n
-0000046914 00000 n
-0000046945 00000 n
-0000047217 00000 n
-0000047603 00000 n
-0000048584 00000 n
-0000069960 00000 n
-0000085678 00000 n
-0000094131 00000 n
-0000108214 00000 n
-0000123920 00000 n
-0000142479 00000 n
-0000156457 00000 n
-0000160374 00000 n
-0000172657 00000 n
-0000199033 00000 n
-0000208072 00000 n
-trailer
<</Size 88/Root 1 0 R/Info 87 0 R/ID[<F744BDF41FE14BC9945784F7EE756AD5><483C8ED581764D708BA6E8CB7C460DB4>]>>
startxref
208242
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_more.png b/chrome/app/theme/omnibox_more.png Binary files differdeleted file mode 100644 index 438cd3b..0000000 --- a/chrome/app/theme/omnibox_more.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_more_dark.png b/chrome/app/theme/omnibox_more_dark.png Binary files differdeleted file mode 100644 index 4ed7ccd..0000000 --- a/chrome/app/theme/omnibox_more_dark.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_more_selected.png b/chrome/app/theme/omnibox_more_selected.png Binary files differdeleted file mode 100644 index e336e2a..0000000 --- a/chrome/app/theme/omnibox_more_selected.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_search.pdf b/chrome/app/theme/omnibox_search.pdf deleted file mode 100755 index 91d8953..0000000 --- a/chrome/app/theme/omnibox_search.pdf +++ /dev/null @@ -1,1278 +0,0 @@ -%PDF-1.5
%âãÏÓ
-1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 55 0 R 80 0 R 105 0 R]/Order 106 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 55 0 R 80 0 R 105 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 44167/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:ModifyDate>2010-04-05T10:32:25-07:00</xmp:ModifyDate> - <xmp:CreateDate>2009-11-11T14:17:05-08:00</xmp:CreateDate> - <xmp:MetadataDate>2010-04-05T10:32:25-07:00</xmp:MetadataDate> - <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>256</xmpGImg:width> - <xmpGImg:height>256</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgBAAEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXEgA
kmgG5JxVieu/mf5R0ktH9a+u3K/7ptQJN/d6hB7/ABVzIx6WculNcssQwXVfzw1iUldMsYbVP55i
Zn+YpwUfccy4aGPUtJ1B6MWvvzD86XpJl1aeMHtARBT/AJFBMyI6fGOjWcsj1SefVNTnNZ7uaU+L
yO3t3OWiAHRhZQuSQqw3d3DT0ZpI6dODFevyOAgFNptZ+dvN1mQYNXuqDoryNIv/AAMnIZXLBA9A
yGSQ6sk0z86fNNsVF7HBfoPtFl9KQ/7KOi/8LlEtFA8tmYzlm2ifnH5YvyI74SabMe8g9SL/AINB
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</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" - xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" - xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> - <xmpMM:DocumentID>xmp.did:F77F1174072068119B30B52A3A51FD83</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:bd407505-de62-e649-b02a-a5414552438c</xmpMM:InstanceID> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:OriginalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</xmpMM:OriginalDocumentID> - <xmpMM:DerivedFrom rdf:parseType="Resource"> - <stRef:instanceID>uuid:cb58d661-cdc7-e34a-aa9f-b935d8a59714</stRef:instanceID> - <stRef:documentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:documentID> - <stRef:originalDocumentID>uuid:f1395a26-f825-8041-a99d-c8a014968b5b</stRef:originalDocumentID> - <stRef:renditionClass>proof:pdf</stRef:renditionClass> - </xmpMM:DerivedFrom> - <xmpMM:History> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <stEvt:action>saved</stEvt:action> - <stEvt:instanceID>xmp.iid:F77F1174072068119B30B52A3A51FD83</stEvt:instanceID> - <stEvt:when>2009-11-11T14:16:58-08:00</stEvt:when> - <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> - <stEvt:changed>/</stEvt:changed> - </rdf:li> - </rdf:Seq> - </xmpMM:History> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - <dc:title> - <rdf:Alt> - <rdf:li xml:lang="x-default">o2_mag</rdf:li> - </rdf:Alt> - </dc:title> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Pixels</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>White</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>255</xmpG:green> - <xmpG:blue>255</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>Black</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Red</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>242</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Green</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>62</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>160</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Blue</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>35</xmpG:red> - <xmpG:green>28</xmpG:green> - <xmpG:blue>129</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>120</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>199</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>26</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>16</xmpG:green> - <xmpG:blue>29</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>55</xmpG:green> - <xmpG:blue>10</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>123</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>157</xmpG:green> - <xmpG:blue>32</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>251</xmpG:red> - <xmpG:green>237</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>202</xmpG:red> - <xmpG:green>221</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>101</xmpG:red> - <xmpG:green>192</xmpG:green> - <xmpG:blue>39</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>54</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>136</xmpG:green> - <xmpG:blue>51</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>89</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>173</xmpG:green> - <xmpG:blue>94</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>155</xmpG:green> - <xmpG:blue>140</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>154</xmpG:green> - <xmpG:blue>221</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>96</xmpG:green> - <xmpG:blue>176</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>29</xmpG:red> - <xmpG:green>36</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>30</xmpG:red> - <xmpG:green>21</xmpG:green> - <xmpG:blue>80</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>91</xmpG:red> - <xmpG:green>18</xmpG:green> - <xmpG:blue>128</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>141</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>126</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>158</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>79</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>235</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>101</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>184</xmpG:red> - <xmpG:green>165</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>142</xmpG:red> - <xmpG:green>113</xmpG:green> - <xmpG:blue>100</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>97</xmpG:red> - <xmpG:green>82</xmpG:green> - <xmpG:blue>69</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>75</xmpG:red> - <xmpG:green>57</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>192</xmpG:red> - <xmpG:green>134</xmpG:green> - <xmpG:blue>85</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>162</xmpG:red> - <xmpG:green>103</xmpG:green> - <xmpG:blue>58</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>73</xmpG:green> - <xmpG:blue>42</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>105</xmpG:red> - <xmpG:green>58</xmpG:green> - <xmpG:blue>27</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>84</xmpG:red> - <xmpG:green>41</xmpG:green> - <xmpG:blue>11</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>26</xmpG:green> - <xmpG:blue>15</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>R=104 G=127 B=173 1</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>104</xmpG:red> - <xmpG:green>127</xmpG:green> - <xmpG:blue>173</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Grays</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>27</xmpG:red> - <xmpG:green>24</xmpG:green> - <xmpG:blue>24</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>49</xmpG:red> - <xmpG:green>49</xmpG:green> - <xmpG:blue>50</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>70</xmpG:red> - <xmpG:green>71</xmpG:green> - <xmpG:blue>73</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>89</xmpG:red> - <xmpG:green>91</xmpG:green> - <xmpG:blue>93</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>109</xmpG:red> - <xmpG:green>111</xmpG:green> - <xmpG:blue>114</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>128</xmpG:red> - <xmpG:green>130</xmpG:green> - <xmpG:blue>133</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>149</xmpG:red> - <xmpG:green>152</xmpG:green> - <xmpG:blue>155</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>173</xmpG:red> - <xmpG:green>176</xmpG:green> - <xmpG:blue>178</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>197</xmpG:red> - <xmpG:green>200</xmpG:green> - <xmpG:blue>202</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>224</xmpG:red> - <xmpG:green>225</xmpG:green> - <xmpG:blue>226</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>237</xmpG:red> - <xmpG:green>238</xmpG:green> - <xmpG:blue>239</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Brights</xmpG:groupName> - <xmpG:groupType>1</xmpG:groupType> - <xmpG:Colorants> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>0</xmpG:green> - <xmpG:blue>7</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>68</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>255</xmpG:red> - <xmpG:green>216</xmpG:green> - <xmpG:blue>0</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>0</xmpG:red> - <xmpG:green>151</xmpG:green> - <xmpG:blue>56</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>17</xmpG:red> - <xmpG:green>43</xmpG:green> - <xmpG:blue>137</xmpG:blue> - </rdf:li> - <rdf:li rdf:parseType="Resource"> - <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> - <xmpG:mode>RGB</xmpG:mode> - <xmpG:type>PROCESS</xmpG:type> - <xmpG:red>118</xmpG:red> - <xmpG:green>35</xmpG:green> - <xmpG:blue>135</xmpG:blue> - </rdf:li> - </rdf:Seq> - </xmpG:Colorants> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[107 0 R]/Type/Pages>>
endobj
107 0 obj
<</ArtBox[2.75 2.75 16.2495 16.25]/BleedBox[0.0 0.0 19.0 19.0]/Contents 108 0 R/LastModified(D:20100405103224-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 109 0 R>>/Resources<</ExtGState<</GS0 110 0 R>>/Properties<</MC0 105 0 R>>>>/Thumb 111 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
108 0 obj
<</Filter/FlateDecode/Length 373>>stream
-H‰ìTKN1Ýç¾À¸vì8É–‚ºªPé‚TP©eÁõ±3SØp -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
112 0 obj
[/Indexed/DeviceRGB 255 113 0 R]
endobj
113 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
105 0 obj
<</Intent 114 0 R/Name(Layer 1)/Type/OCG/Usage 115 0 R>>
endobj
114 0 obj
[/View/Design]
endobj
115 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
110 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
109 0 obj
<</LastModified(D:20100405103224-07'00')/Private 116 0 R>>
endobj
116 0 obj
<</AIMetaData 117 0 R/AIPDFPrivateData1 118 0 R/AIPDFPrivateData10 119 0 R/AIPDFPrivateData11 120 0 R/AIPDFPrivateData2 121 0 R/AIPDFPrivateData3 122 0 R/AIPDFPrivateData4 123 0 R/AIPDFPrivateData5 124 0 R/AIPDFPrivateData6 125 0 R/AIPDFPrivateData7 126 0 R/AIPDFPrivateData8 127 0 R/AIPDFPrivateData9 128 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
117 0 obj
<</Length 936>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (o2_search.pdf)
%%CreationDate: 4/5/10 10:32 AM
%%Canvassize: 16383
%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.25 -6.25 7.24951 7.25
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: -9 -9 10 10
%AI3_TemplateBox: 32.5 15.5 32.5 15.5
%AI3_TileBox: -305.5 -395.5 306.5 396.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -38 25 16 1283 706 90 0 1 62 237 0 0 0 0 1 0 1 1 1
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
118 0 obj
<</Length 14725>>stream
-%%BoundingBox: -7 -7 8 8
%%HiResBoundingBox: -6.25 -6.25 7.24951 7.25
%AI7_Thumbnail: 128 128 8
%%BeginData: 14590 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD25FFAFA984A87E7E535A535A535A597E7EA884A9A9FD6AFF7E7E
%535A53532F5A5353535A5353535A53532FFD04537E84AFFD63FF7E7E535A
%535A535A535A535A535A535A535A535A535A535A535A2F5A537E7EFD5EFF
%847E2F532F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A2F532F7E84FD59FFA9595A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A53A9FD55FF7E5A2F5A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A53532F5A7EFD51FFA9535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A59
%A9FD4DFFA87E2F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F532F7EA8FD4AFF
%A85A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535AA8FD48FF7E53
%2F5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A53532F537EFD46FF595A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A5AFD43FF
%AF53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5353A9FD40FFAF535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A53FD3FFFA92F5A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A53532FA9FD3CFFAF535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%53AFFD3AFFA92F5353532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532FAFFD39FF535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A59
%FD38FF5953535A5353535A5353535A5353535A5353535A5353535A535353
%5A2F532F5A537E59847E7E597E53592F532F53535A5353535A5353535A53
%53535A5353535A5353535AFD045359FD36FF7E5A535A535A535A535A535A
%535A535A535A535A535A535A535A5354537E84A9A9FD0AFFA97E7E535453
%5A535A535A535A535A535A535A535A535A535A535A535A535A7EFD34FF84
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F7E7EFD13
%FF7E7E2F5353532F5A53532F5A53532F5A53532F5A53532F5A53532F5384
%FD33FF5A535A535A535A535A535A535A535A535A535A535A535A535A7EFD
%19FF7E5A535A535A535A535A535A535A535A535A535A535A535A535AAFFD
%31FF7E2F53535A5353535A5353535A5353535A5353535A53532F7EA8FD1B
%FFA85A2F5A5353535A5353535A5353535A5353535A5353535A2F7EFD30FF
%A92F5A535A535A535A535A535A535A535A535A535A535A53A8FD1FFFA853
%5A535A535A535A535A535A535A535A535A535A535A53A9FD2FFF53532F5A
%53532F5A53532F5A53532F5A53532F5A535353AFFD21FFA9FD04532F5A53
%532F5A53532F5A53532F5A53532F5353FD2EFF845A535A535A535A535A53
%5A535A535A535A535A535A5AFD25FF7E5A535A535A535A535A535A535A53
%5A535A535A535A84FD2CFFA85A5353535A5353535A5353535A5353535AFD
%04537EFD27FF5953535A5353535A5353535A5353535A5353535A535AA8FD
%2BFFA82F5A535A535A535A535A535A535A535A535A53547EFD29FF7E5453
%5A535A535A535A535A535A535A535A535A53A8FD2BFF53532F5A53532F5A
%53532F5A53532F5A53532F5359FD2BFF59532F5A53532F5A53532F5A5353
%2F5A53532F5353FD2AFFA85A535A535A535A535A535A535A535A535A535A
%59FD2DFF535A535A535A535A535A535A535A535A535A535AA8FD29FF7E2F
%53535A5353535A5353535A5353535A53532FAFFD2DFFA92F5A5353535A53
%53535A5353535A5353535A2F7EFD29FF535A535A535A535A535A535A535A
%535A535A53A8FD2FFFA82F5A535A535A535A535A535A535A535A535A53FD
%28FF7E532F5A53532F5A53532F5A53532F5A53532F7EFD31FF5A2F5A5353
%2F5A53532F5A53532F5A53532F537EFD27FF7E535A535A535A535A535A53
%5A535A535A535AA8FD31FFA85A535A535A535A535A535A535A535A535A53
%7EFD27FF5353535A5353535A5353535A5353535A535359FD33FF59545353
%535A5353535A5353535A5353535A53FD26FF845A535A535A535A535A535A
%535A535A535A53A9FD33FFA92F5A535A535A535A535A535A535A535A535A
%A8FD25FF7E2F5A53532F5A53532F5A53532F5A53532F7EFD35FF5A2F5A53
%532F5A53532F5A53532F5A53532F7EFD25FF595A535A535A535A535A535A
%535A535A535AA8FD35FF845A535A535A535A535A535A535A535A535A5AFD
%24FFA8532F5A5353535A5353535A5353535A535353FD37FF535A5353535A
%5353535A5353535A53532F5AA8FD23FFA9535A535A535A535A535A535A53
%5A535A537EFD37FF7E535A535A535A535A535A535A535A535A53AFFD23FF
%7E5353532F5A53532F5A53532F5A53532F537EFD37FF7E532F5A53532F5A
%53532F5A53532F5A53537EFD23FFA8535A535A535A535A535A535A535A53
%5A53AFFD37FFA9535A535A535A535A535A535A535A535A2FA9FD23FF595A
%5353535A5353535A5353535A53532F5AA9FD37FFA8532F5A5353535A5353
%535A5353535A53537EFD23FF7E535A535A535A535A535A535A535A535A53
%FD39FF595A535A535A535A535A535A535A535A537EFD23FF53532F5A5353
%2F5A53532F5A53532F5A2F7EFD39FF7E2F532F5A53532F5A53532F5A5353
%2F5353FD23FF5A535A535A535A535A535A535A535A535A7EFD39FF7E5A53
%5A535A535A535A535A535A535A537EFD23FF5353535A5353535A5353535A
%5353535A2F7EFD39FF7E2F53535A5353535A5353535A5353535A53FD23FF
%5A535A535A535A535A535A535A535A535A7EFD39FF7E5A535A535A535A53
%5A535A535A535A535AFD23FF2F5A53532F5A53532F5A53532F5A53532F7E
%FD39FF7E2F5A53532F5A53532F5A53532F5A535353FD23FF5A535A535A53
%5A535A535A535A535A535A7EFD39FF7E5A535A535A535A535A535A535A53
%5A537EFD23FF535A5353535A5353535A5353535A53532F7EFD39FF7E2F5A
%5353535A5353535A5353535A535353FD23FF7E535A535A535A535A535A53
%5A535A535A53FD39FF595A535A535A535A535A535A535A535A537EFD23FF
%59532F5A53532F5A53532F5A53532F5A5353A8FD37FFA85A53532F5A5353
%2F5A53532F5A53532F537EFD23FF84535A535A535A535A535A535A535A53
%5A53AFFD37FFAF535A535A535A535A535A535A535A535A53A8FD23FF7E53
%535A5353535A5353535A5353535A53537EFD37FF7EFD04535A5353535A53
%53535AFD045384FD23FFA9535A535A535A535A535A535A535A535A537EFD
%37FF7E535A535A535A535A535A535A535A535A53AFFD23FFA85A53532F5A
%53532F5A53532F5A53532F5A53FD37FF53532F5A53532F5A53532F5A5353
%2F5A5353A8FD24FF5A5A535A535A535A535A535A535A535A535A84FD35FF
%845A535A535A535A535A535A535A535A535A59FD25FF7E2F53535A535353
%5A5353535A5353535A537EFD35FF7E5353535A5353535A5353535A535353
%5A2F7EFD25FF845A535A535A535A535A535A535A535A535A53A9FD33FFA9
%535A535A535A535A535A535A535A535A535AA8FD25FFAF2F5A53532F5A53
%532F5A53532F5A53532F5359FD33FF59532F5A53532F5A53532F5A53532F
%5A53532FFD27FF7E535A535A535A535A535A535A535A535A535AA8FD31FF
%A85A535A535A535A535A535A535A535A535A537EFD27FF7EFD04535A5353
%535A5353535A5353535A2F5AFD31FF7E2F53535A5353535A5353535A5353
%535A53537EFD28FF535A535A535A535A535A535A535A535A535A53A8FD2F
%FFA82F5A535A535A535A535A535A535A535A535A53FD29FF7E2F5A53532F
%5A53532F5A53532F5A53532F5A2FA9FD2DFFA92F532F5A53532F5A53532F
%5A53532F5A53532F7EFD29FFA85A535A535A535A535A535A535A535A535A
%535A53FD2DFF595A535A535A535A535A535A535A535A535A535AA8FD2AFF
%535A5353535A5353535A5353535A5353535A535359FD2BFF53545353535A
%5353535A5353535A5353535A535353FD2BFFA82F5A535A535A535A535A53
%5A535A535A535A53545AFD29FF7E54535A535A535A535A535A535A535A53
%5A535A53A9FD2BFFA95A2F5A53532F5A53532F5A53532F5A53532F5A5353
%59FD27FF595353532F5A53532F5A53532F5A53532F5A53532F5AFD2DFF84
%5A535A535A535A535A535A535A535A535A535A535A7EFD25FF5A5A535A53
%5A535A535A535A535A535A535A535A535AA8FD2EFF535A5353535A535353
%5A5353535A5353535AFD0553A9FD21FFA95353535A5353535A5353535A53
%53535A5353535A535353FD2FFFA92F5A535A535A535A535A535A535A535A
%535A535A535A53A8FD1FFF84535A535A535A535A535A535A535A535A535A
%535A535A53AFFD30FF7E2F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A2F5AA8FD1BFF845A2F532F5A53532F5A53532F5A53532F5A53532F5A
%53532F7EFD31FFAF7E535A535A535A535A535A535A535A535A535A535A53
%5A535A7EAFFD17FFAF5A5A535A535A535A535A535A535A535A535A535A53
%5A535A537EFD33FF84FD04535A5353535A5353535A5353535A5353535A53
%5353542F7E7EFD13FF7E7E2F53535A5353535A5353535A5353535A535353
%5A5353535A53537EFD34FF7E5A535A535A535A535A535A535A535A535A53
%5A535A535A535A5354537E7EA9A8FD09FFA9A97E7E5354535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535AA8FD34FFFD04532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F532F53537E597E
%597E597E535A2F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A2F53A8FD34FF595A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%A9FD34FF5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A53592F5AA8FD33FFAF535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535AA9FD33FFA92F532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5AA8FFA8A984A9A8FD2DFFAF535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A59
%5A535A537EA8FD2DFFA9FD05535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A53532F53
%7EFD2EFF595A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A7EFD2EFF
%7D532F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A2F532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F537EFD2EFFA85A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A537E847E535A535A535A535A
%535A535A535A535A535A535A535A535A535A7EFD2EFFA97E2F5A5353535A
%5353535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A53532F7EA9FFA85A5359535A5353535A5353535A
%5353535A5353535A5353535A53537EFD2FFFA9535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A5AA9FD04FFA85A535A535A535A535A535A535A535A535A535A
%535A535A535A53547EFD30FF7E5A2F532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F532F5A7EFD07FF
%A85A2F532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53537DFD
%31FFA9595A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A5AA9FD0AFFA95A535A535A535A535A535A535A
%535A535A535A535A535A535A535A7EFD32FF847E53532F5A5353535A5353
%535A5353535A5353535A5353535A5353535A53532F53537EA8FD0DFFA859
%2F5A5353535A5353535A5353535A5353535A5353535AFD04537EFD34FF84
%7E535A535A535A535A535A535A535A535A535A535A535A535A2F5A537E7E
%FD11FFA95A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A7EFD36FF7E7E53532F532F532F532F532F5A2F532F532F532F5A537E7E
%FD15FF53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%537EFD38FFA9FFA8A87E7E5A7E537E597E597E7EA884FD19FFA95A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A7EFD40FFA9
%FD20FFA92F53535A5353535A5353535A5353535A5353535A5353535A5353
%535A53537EFD60FFA85A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A53547EFD5FFFA92F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53537DFD5FFF7E535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A7EFD5EFF84FD
%04535A5353535A5353535A5353535A5353535A5353535A5353535AFD0453
%7EFD5EFF7E5A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A7EFD5EFF7D5353532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F537EFD5EFF7E5A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A7EFD5EFF7E53
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%53537EFD5EFF7E54535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A53547EFD5EFF7E532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53537DFD5EFF7E5A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A7EFD5EFF
%7EFD04535A5353535A5353535A5353535A5353535A5353535A5353535AFD
%04537EFD5EFF7E5A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A7EFD5EFF7D5353532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F537EFD5EFF7E5A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A7EFD5EFF
%7E53535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A53537EFD5EFF7E54535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535AA8FD5EFF7E532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A2F7EFD5FFF7E5A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A53FD60FF7E
%FD04535A5353535A5353535A5353535A5353535A5353535A5353535A5353
%FD61FF7E5A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A59FD62FF7D5353532F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F84FD63FF7E5A535A535A535A535A535A535A535A535A535A
%535A535A535A535AFD65FF7E53535A5353535A5353535A5353535A535353
%5A5353535A535384FD66FF7E54535A535A535A535A535A535A535A535A53
%5A535A535A84FD68FF7E532F5A53532F5A53532F5A53532F5A53532F5A53
%537EFD6AFF7E5A535A535A535A535A535A535A535A535A535A84FD6CFF7E
%FD04535A5353535A5353535A53532F5484FD6EFF7E5A535A535A535A535A
%535A535A535484FD70FF7D5353532F5A53532F5A53532F537EFD72FF7E5A
%535A535A535A535A535A84FD74FF7E532F5A5353535A53537EFD76FF845A
%2F5A535A2F5AA8FD78FFA87E535A537EA8FD0AFFFF
%%EndData
endstream
endobj
119 0 obj
<</Filter[/FlateDecode]/Length 15646>>stream
-H‰ÌWWÚÊþþ‡éR”Vä¥@ky‰Å‹ÕJ«=UÛÉ -™cÝö0Ù—MÌyù¿0¥XZgÌó&Æ<ÿÛÆ€mJSÌQ!¨1 cqÅ´‰fnbÕò™ÜŸÛQJµ#™UØ®k -R›)¤MmSåX’ûŸÿýoS0ˆÀ*øOyÿ!m•*¶AL±Iv…ÀÎáûK¢j¶n§º-+ç®ùbj -œôokõK%Ôõ¢!¶…z:ä!1 C׌p"ÐÇà™Jù¨üÖ3ªÕ?F˜‰ÅLE -Õ)Ce4 -ȯ…Nñý´Ëˆê"«•Êae5²"°"°„Áñœã 6'è3yèLÕiº&<1.W.{y€Í‰']S˶¼zI\Í)ÕÒò.äÈû Æ‚G\Fæ³Øa]ã1ÞÜ¢^†V}¶°ªyÔ꣖-(ºÁ\¦ýCbwJÿXØ‚ôàšaC® -UnôÛ6™Š•_ÛΈúÜŸÊT¢.[Š -©øϾH“RÁ²X^±9<š8F%clëž½ÕRÙçÇ…ö‚ÚñJÔ”H?xÉÐ%cH^P—j±åF?¿hÝŤ'”“Õ 0‘$÷8 G<²éÜžè(ÊmùBå
8FŒ©yÊ&ùTòfîE¸Å!é‰×ZÜ<…¹²tåeu¦¸Åäi.Œ€6ï+vbVNŒYž‹=Å“f$Ëf
FµšòØyU„$Ãí‘oÕaÒK<¯/ô6‘Ï4Yš©“Lð¢u¯ -]à)¦; -+FH8²_òÃ<º##Ô¡0©è!;¼»º~xæåtFpÅèXóK«œüLD[lC]Wþ×8R8h±ô$™Â…î7gž!l#gÊc~£MÎXªôœnnLÊR7¾Ü
[p"¹Ì ‰h¬+ ãø̾f¥ôZÉ,¥ãºØ‘3`¬íœt<†ÍumïŒÁ–<*»¡J¸61ñò¸:QÛTùêÀP¯zÙÁa>Ò„SGB]‹
ï«Ú7¨/)B®‚<ì#+³¬ÓÍ5|ñšç8RöO0'¢,ʵ„ÝréU`¨cký¬ááRæ§×SNÆ›UÛœòYDs“32¡‰ þùr%1ë% -ZîÑY0™º¢™ã”ÞãÀäÊkÛš@¹¶Q²f<âƒ)ªi<DÀDl€e‘1w:,Õ•p³²Þ -“]Zã’Œi³¥Ó -Á.Øa')ÓÏ¢cêz:ŠÏ4ú™™ c°
1N¤
l³g1ƒþ™_Žk:<éŸÙM‚:ꃤ‡R R7±ˆ†cåÅ|)X¡¨#“¢ Í#ÍDRdïõûYòâ[äÓèyåÁ€8$¶@‘:š= -¡ÐÖ|}j
;ýþÛJ—Èê”Þ_íÞïŸÜ½Ûk௹‹ÃÝ«ƒv“ÓúÄ|uÑ{•Ëîu4œç;Õ/ΪÛõæ—óÓË£÷õÁÃÞe“ÙJwV¾|›)m‹¼ûÔäŠ;ÍÆ÷ü›æIÎâMþŸra+Ól^1t!Ú“ŸÍ“#2ìhïN•n>¿7Yzj þïÕº½L½öí\tŸÛGßr-ƒ8øNL÷O«Ûv¯{´s×~Ò÷î¶2Ýqñb”xÙNíx\»ýtÿÐúÜÉß®~4Œ«?6Of½Çfçýn.c÷²çêx+ã8«÷óÇ•Ý?ÞÕÚzSÿZ·§¢3}+EÜñs·«”¿š'ï÷îÜ{€2ï|Ÿ|§ðÓî¯n_í¿j¼}Úi
¶M—ÃW¬Ú[™ã§ì¾r¦T>e;Ó£“Væpw¿ý1÷s¿ÙÙûÒëûÍéíÅö´¡(x&ÒöÏƃ©ûr©XÀ5¦íü¬kß/Ô¶žy¿wÀöìÖ`¸ûKòÝl\L·2ÕÆíc³e*{Æþ»ËF¡f<¼Ójµ¶˜Ò/íÏê¥àF¥{ÁoÁmµ=R»;,ªuSÀßÒå»ìAŽ´õÚµáZð× ÓìôO¶ïÎrÇqéßW·Okú}ÿäV½¯—GÛε§f:¾Ù–!¹¯ÞU?™ÒO§íÙ¹¯®õÔ‘$ü~LF ƒ@ ƒ2‘s0Á‰h‚áý·Ô-ÀöÌ™½Ú¾F]]á¯ì§Cfh¶çE’:KRäƒõ(¢2¤ÐÆÅqA$OnrúüCg"£°æ‰íÈ*&ƒò3‹ö¢oº]’Èdä`TÊê¯&ŸÎ+›ž¯Ë#äÉ›ÂÀ¯"ÄM)@$n --(ßkÝ ZÄз¸CÆjiñ•Ñ}z=ã›Òš´ˆz”?>¼.ž¶jLÕÝmñQ¨JZcuäŽÃ”þäb½æƒÙ§ç}yLm!Öå+Š´îŒÅÕšŽ¤µ[WD-@€™I"QŸï-yÉÆq§ò•b@U$ÿ\ÅØ\ƱÞ?Â5"Ûþ8bƒ2tòƒK7ÏÏ|³p¾|7íYWGtOŽ+«dNE<?¹åþÜG'lV"•wî… -N™Ÿ\Âlªøä曥9&ÃHB±·ùI[Di£Ëõ$%£¹Xé{䜫Š¿ºM+R¼%2¹IèÉmÙVÍ4E–â UÚ¨à„©|;ˆ„J‘É! ¬Ïó°ýlïùæ²ë*qcpƒûrTñ„¾®-½ðlèh¢¸ÄÕÒ/iÞ<
Úî—¸ -ÊínþZÂA€:l¾(œþÚ5 -üDšÆ–¾åž}ÝÓyøzs°M®·!U4«€ë~_ Yaã;¬6Gùlµ½_|Ø1^b+Ö9½È¾×cÇê4·É¾sBõo÷É ‘~ûÒ bÏœqºl|cRÍ[†Ÿpl^ɤ
U è¨þeÌ7.͘u‹ˆ¡ŽÁ‡wš¥<Ø[öüŒôØlEüL$Ô'Y88Rõídø™¤JÍy|*ô^8u3ð탳£t½ -›¹djƒU2”C\@C -6q4”ò
üÍd†¬BRŒ×ÝT~ZdMl€²eµ½.œ+,µ²ð3àíP"ñ¾wE‘Ù Àxö½å+—o!Rîõ³kÿ©#Üp“uä®`¢&ù sÅéLgýÅñ‚"Çü]‡_lù— ðéÊѼ½ûk„…á—_ã/¢ï(Ú²Bå;XèÂòXØV„Ä›Íñ ¢Ø°ÙlxCìÑjxcÊ»±¸×Æ–¤ØÜAæN¨ÁífP¾XÞº÷*ÆÎàˆÉ‰ŸRÅLH㙑 -Œg†¦·È [Z éÿÉmÍÿß]T¤Üƽ€ôªÁ€Ímgp -žs‡ç)ÃéXùžmñ—%…õâ -“ã[Ž€×ú‘šÕ³•(×r0æ¦Ú, -ÇWïÃ`nr_Ø”XDªZì– )c1 ›è«Ãº¸;™šï¶¤á¦‚m?«iAaå÷ðKB
NEþ¼@VFÝÌ.‰#+芒‰Y± Ôª\5êïíʦ¢—ž›¯•mEòϯõ‹‰ñÞC&6—i•,ÂÛÜWeqzlfåƒìÿµä'÷-$îtZ¶b©R'‹¤Élzblw"©1â›wå ä…ØE ©`ëËqçƒÁˆgÒjèvÑŒÃ+íbr;=òJÀŒA¹êÀ~œBwª+ÊØïX–¾pìtôÉuj„'µ$+h~ÌŹ:WŠÕ0MÅ™š¡ó!©p -LpŒ}‡œÁ”·ü½cögÙ¥yê€c›¿/’F¦½6EŒì…Up¯‰«¯
¹¯…0?ÈGñ#³Y¨¢-Ñr½„6ËQ2š‹•ÙÖй¯ÙûBåDu‹HRTÒQ†Ü÷÷ªg^íQsìÆWµ<—æ;&x
>ß³¤y³¤$清öŽL8LåÛAÔ¢åâ©Åij0qÊW#Â6\§€iãOn,±ÜJåñÈ= -•¢¤
²U)w -©ò׫ºˆï‡÷®ìÀÔ•œ¸rV ÈSÞ‚µžàAaËæ‹n‘ -úᥠ“ÐívGlVChYQÖ[äÎaÌ5¶§ô-\»üÎ"¶ý@*œHv¥¹¶EJvµ†IE[a¯”–Ö!j÷|q¼hÞ‹`“¹Ô:Ó~›j·ûÛõU^Z„n-°£:£ - -rkðÆ?ï;»…7•:;qJ¤d³Gr¶´ŸTvB{CyˆÉ¾\a'h÷‡˜7%†Gb -?Ïh2sg˜e$³@˜à=òT‰÷VF^ÌVðænÈí¹´Y9*Òæä[^<eK‹ÌL×3×HpwØ᪠õ44/Y¢þ‘zµ0sÝØJÛ=h.üØ&ž}½ýÈ0Ä@þh±Â÷øÅœ¥×Ƀ½4>ýè‘B“|ŒP—YXu{qÀIó–÷Ì 7^[bàãHË©¥ `O½ÑS¿T+óÁkoX^¢ÐIŽ©z½ -gÏ*ÔÅ,²¸;ò0žZÌddÍ©šP»vv#D²)§îb£&oqª!Å>¾$ÕéÌ8pÛ‰ÅqbåÌÀœ<¾ÊŠÿöúÔìˆ×± øÖ:Öñëc}’íáì1wÙ%±hÀËW}—(ÝfyÒ‡µF
-<¬¹MVùºÀRa9Æ¢ƒz™ÌDk¶½€oqzõ ˆ>Ëü¾8;…Gƒ˜*ód«^å`Îv'!u¼0Ä—<××°½Æè…Ÿ¡³šLŸç= dpæøëµ^;†i0¯ŸÚfBf^£y,”.7C!WkØ,Ê©!âÖÄpæ~“¹8_
id™•Sý$⪾<ŽÎH–2ÂئÎÝ_)1ËU!~êï`%\„~™æ–Ej$|. ìàOJƒ…™³úÌD²S™BÕ”JÿÃÈGW¬—3P—ö0ª¹Þï"øýز™A¶÷Ï4=eéô‘O<máP€z
zk)û·,ÑïD~¼ŸD7ß÷‹9š›,¢¤z{Ùf&ÁQÂn†WêþRBáím¿óµVµ‹åž{Sx‹Èì$"@mÇ÷èª2/^×[±œo„åŸF„£"Åf>†¯^‹2ŽÇ)Iê|-Yæâþx:û¡›‘,t]$ -=Ä4_ª‚©^`}•íÑ/WÙY_¿ðCdՔͰc’ó¦ãÿJþ·¼'HÖâ Ͻ6õ´Ö¦¬©†‡âL.ä‰ÂWÇÓžXM5Ïœz”ÿ·§b”ÌÛ¿qú»'ç‰=hfWä5]ç3º³ãLS—§–)1Y]*†yÃk–jnl‰{jêÒÓ
Ócý‘}Ì늜rêÀ¶Õ¦˜·–$¢ÉèÚŠÔÍ4}Ù•góÝD"}&´ýÍŠ¦h:¥ý£Üjˆµ7É©ök÷èøwW+Új‹†w,N‘Í÷Ÿx½Ó¹÷¿sÚg¢þK$y]›rfƒ{uc{-òÄzªÌk‚ø÷ÔÙoN®,sm™à@TͶ®I²">p«ëÔ®›šªñsȱèzt]V…Ð_ˆÕÖ_>6±}¬^MåËvÖÖ™ÿòê‘øETEÝ£Y¦"«¢Ç0um)fY3Mmõ}Yì‚~…$Šž÷™õlkáér†)êòœOW44ŲÿüÞï±&G8KOŸëÊO ÿÑö9þhÿ¤Ü5Ò§#¿DÞÔtÏ”S8•ÿº
¾± Vè†(™®¤/WS4æW¬„‹0Ô_вÐ|iŠ‚l\öF߶³óf›JøîPƒéêå/«oð)È]9^‘×^³oÿëÑÅ™=.™ÿ1iÁúGôYd;K5 K²¨ÿò§¼û±vÁ—šDcêœEJ”8K1¿)¯)ŠèÌÿ“^¦ë©*K¾ïATœ5ˆ³qˆó5qH²4NÉrˆ@@÷>ëîO5 ÒšuΞĂ~«ª«¿®ÒU(Pî˜;\÷KŽÙ|Ä{¸†Ý³3"k?¬YûJÛaCÀ”ìÿ®YÎ.1ÿ ήw¿‘ÐÏÅ¿díÀ±¯øãR¶¿Hò’ð4.ö‡?Ú8nv¨b%VFhe¹ß̆³o `çO9.æ–ø`í›z™±1`;ØA€ÚVNˆtüX#÷šô@›ßœ¶ŒBãà¤Á;þSÃo$û‘Ûq°SáŸU,ý!nm/1U ¿y†¥Ã
\¿oïÙX}puiýiŠ' °™Üé€ßâsºÇéøµ„JgµÆ#WÊë¥/Ø'¸]õÁq‰T‘ç}´w·3 q -»ºšÂ˜¼?ü‡ì‰zµ\MÆ^ -}öxLÐx|?4¨VÉ -v.N×Ü}`Éš+b }´a#]QïýÄ:Ö,1•œk¶o
í•}ùo×¾m
ÜeòöÅXJþÂøáɨZšêZBµßIWO?YAm$U›Nk˜XNrÇuÊ8(CÕƒ‹Wkh*zXor$Cm¤9Ág° BG!¯)Á…n,§¦·:ÙÕÐq–j'Cõ› 6Rr4X>ÑgB4`“‚¹~ÛïcM8“»Um†ƒV¨Žš–¡¨ÆL±6¿3[±Û·„î=Q,ô‘D)+(RþØ{ˆÌ}«X%Çcƒí¾}^K談û…Ö½ÅR†ÚÈËXßëÔ룵†¶£äKí!›³† --‡4a_çuÇ“à÷'êðX±†vòÕù¬7ZB§O»¦E÷Ëe¬ÛQ|UÃ@')j*}…¬¡Ý°J§¢&(Pdì¼â° ÉA€À@G/Tu³oYBS݃x˜†@Ç -„…e·ß'Ñωf¨Ä»s*ôP˜"%&Ì»O–F‘¦Qƒ¢ô’'€Øð¥*5Cr¬ -SEä¨&M*>_%ÕG°Ã« -TåÓ{^¥§•ŠœrPËé±ôx+éè¡:ã1ñyl|6R‹P~`wð´Çíýsžãó«5f!j^_®$ëçûÇËõ©L?LÖ•Å"þÒ¶†]Êö“r?%ë>ôW•¥Õ•áFV*«>ùþûÌ[æš›±ZÉÿwæéÒ8ݺžw>YFéñ]JϬj”ž(VzþËz•n%²4Á'è‡`édgF¸£8,‚0Œ¸ÀÀ¸ \qøô¢BÃûUÕ[UQY]
þéãñhVfdfD¤æ7º»ó
›2 aQ»‡ö06À@>©FÊúØØåßÄØÒ!¶¡ìÅb@i£pðÒh#Å+ƒ›®ÔÍŽó¾©'¹ªh£ªšõ2†Ýý-m Wï -1štÎ
)lÝ5¤çü1a ä†u M©ü$k‘P-»“ƒUzþž<v&‡šäi1Ë«…"¸cŸl—q°½w“3Õ½“oÒÊIx¸‘ö2’Oõó)ü¹µÎ§'cTŒbÆx£#j'BŒn(þ †â§À&£ú\Üž‹K7%*/R˺)Ìì¤95¡"Os³u?»å¶[â]|ÝävKžš~.L•z^LM…IÁ3zŒÜÌí”%MÒß&ƤÜ=‰vÿ©Éò´ -ªÇ‡ë-ytNLW–eGñbcØâHA¸/þm:1å'—ˆ=ÉÛ©ø°€R"œ·Ü
Ÿµ§Áˆ^'‰úÛÊ=×2·Š‹„ç¼¼¤J³ÆÅÃ*†þ§poN38‹_n>çxæ8|b‡œ`Hâa„ô,ȹÜvhz¤"; -f£Üátì,?FòÑåùÈ0…]¥ÿ-ÆMu‹Âç„wÛ—òeB^šÿœw<ñsõ˜tÙœtx݃ -Âœt4;¬èíB -¥æ/7øƒÃ¿=¥êW5üù)þ,E݆\ÊöOãUp/<¾ú:_™y}E«X¤CÿÖ^d²æQë0\(—p÷”³Ý£·X.{<ܬVßÃzïù»û^ƒš@ÇN¸±Ú<fÒô¼0&¿þ^rN&Ï~DúÿÝŠ=ý5Ãg/yðÑÜÙó¯köz¥jý1òíñ¿Ð£Oô£‡×QêÑ£_ÕkêÑ'ÈàÝwž5#ó™gŠÀ'Ëè´ùóhb>Šà=.0®?K×ZÊýý‰^- -À££{îQMg -õœ[¾] -joX/²–Ìù4;(åÅhiy(ï9Å–,0ã•?0—’ÀÂ!lðÂùO2Þ;‘"³f¹X¹YçX³Üñ̲Ãcüjf¹Xé'# -à éÜ80tØCC@ -¢Š^p¹(#*ûûOwÒ$ÝMo!üÉ7߬ª>U§êæ¤SO#åîöÓ8ó‰ßPJHs5¡Œù„=œRÂ6Œòƒ²‘y×qm—äP·të'ª20$,‡,¤º €áéMÁR½˜¶$ø[HÞaᎤūùoŠ‡½…wêj -ÿ¤ýæ(7-:íPÀYðd§ ˜Ûk·=cïɇÍðš1»`Ä—]ãhñêg]¡ËW -âGoÇj|!Ï4ãˆw·/äŒ6Z¸ƒ|ŒŒ°œ’¶C¡‹ìˆMø706É(yùàª8_i¾Íò…hõ•…G„Ê¥Íeô˜òíâBù9Š‹¡´û?rÕZl¯çže9IˆÏíÅâ<ÆwLñ¾£´œÅyàö£$¬P¯ëjC®-1 -uŸ¤a×3
KѬ`2À¹bÄåÆ¡ì/^È -ÖŽDxÁ÷¥arÕ^ ,¿šAîò0ßb÷Òh«ãðs°d<'‹à<°Çœ¥‰ -øB¦EI½.?i >Ìp“fëÕ[*©Ù3ía0tó_ë—ôMÔH±¤Ãp8è$],K‰¥uÅn¬•I\莛Ǜ¤Æžô$œ‹õ›–¦’šyðÉñ÷'éa08?\¿°“zÏܤ -N¹êSñj/|1F+Eœî-‹Äú‹˜™¥\¼8øÜLêÝkqœ•lºÈ^ ßèƒ646±^råÙÀ,àç ÐG®Cq$²ù¹³žÿ{ 3ŸVÑM®NF“>-T°ÙQ;v$0Í]Qø‡W±·è9)übŒnÉ{5Óô×¥!˜óc4ÂæTB»í±@›Î3îÙ†qîd©ý:5ÝôFb'ã ƒ‘2A›m‰„An.›sµ‹ü^·Âc¯ž´>(ŸöCµÓ¾•ƒ|@¥ðƒÈ׎D˜=}´4*è¾ýÿ3ãiât»²Òœ=h -Žîµ=Ä*ºÐaÅ}–¸CÌꥢLfU»Ãµ{åé -—ØßÚŒ6]’µ\%ù÷‰X~1û#Ý0Z#âýi•ÒmËü[Ðòq„"‰…M’r -¹Z“æ¼Êh„}!î=ŸçöÐ+£7#·åÖ옋2lmK^›èC΀ŧÉY0κäc6HÃ@tСî¹ý¾ŽöÛÙ–tGn˜Ò_œÀ‘Pð¯ãìf
ryæ‰,ä8ð‡¡ÒÑÄMjÉŽ–„ŸgJr[|qf¢A‹nöˆ³E7õ4Gr[ -–?颧ÆTçÓct)´òÞ¸ ãZ¼úYÇ|ån -FÓ'¦ncëVî@ÜYdù(EŸdÀ@™#ÐR@s'™Ã_RÿF@æ`¾åÚ~U
ü[ô›ûf_HáÔ¡^ío.ïÄÜl~³[`¨R²- ¦[a¨Œ -)%æF‡±Þ„Á²Þg¬fî>3Ö½‡ox{ŽCIVf÷ãôf;Vã¸$3ŽgšQHkoK*Nо% Q0R²K²BY{ŒFJͲqÿC]>óßdW:©'œ@eÖ~84Á\+<Žæ7«UYføíâBùÀ‚’ÙÜH -DD,nþ¤\¼8ø´³tà>Щ‚³Ä2á0{©(›ñˉdQr»•ãª‹ˆ¯$¶C5×*ÚcÃ`°¶ß;÷;Ž‚w/6. ®!ïrŠ²œüv_1ÎGdÞuU
ô•¬8R¯T͆„ö|»ªlâÜÜÚ””o´Î
œÝø³ìhÕ}AGVEËÇ>²hH‘ÐR¡!hDÚ‹+YÌq×_nV{¢¡þòH3GºÇ¸4Ô_zÏjà톛AëÍL¾ü/À -H‰¬WéZÚL½‚\„@H ´€e‚TÄ
\ÊòˆŸ•¶ ûÿf&Ûd˜%ÿŒ> -çÝÏ{Þ#óO±z1©èÏÉ«SrÔXTNÌ›¾Þž$eð¤’z{:lÔS—E«¸Ôª·³œžÓz—ZÅô¹µ¸_ã H¡p^”÷!‡"ÉŽíƒã ”Ô{¥=éTŠ$ã8ãmZ«¦ëÀJéVÏ>ÐÀ˜P’Œ¿ŠVÞê¡ïÀø4ýYy¨;`ÓA
þíÐý6 -×3ÿÛ9’åÜïòLÍ+UýLϯÒZõuSð¬¸ØÀŸ!¨åèÐÜ3ïž)`¥øý²TÀÿ_i‚Zešûqü6þ±Áž¶µ.£CG²¸`Å%¬øÖ=çƒÏu“NÞ -0?N\ã5oÓâÂ%´+ßYN:‚ž¬^ÉI*‹>R9i'Þ<+#då ÉÙ%péÁùuJ;:Té]RÏÌÂJr€ü…ÂÜÈ3˘&”6}àT€¥ÄÂH&‹“3nJLeBA+j³+ܾðÛ‚¥Ø~Uî9
*º†™Y…êíuO´5ýJò€lI¯eÎs^ÆXùÚpl/0û”ž ÖƒˆÑ€KüŽäë¡h3·ç_èö\é—ÍYGíòucaÔk¹Î]#>ï\Ir£ª]]——íüföOs¥Þ>¶žóJ%Ö°O{W0÷ÜßâpRSFúG¬i}ýYàFÇëp½¨•Ç¯’lÅoG},£•xAØ¿À©¯íJ©þ0ò[)×ûúOÑsåáv½.¦†ÙÂùËwšÑõvR2‚œ0«·ôtaô8žø2H=1ŒŽ™FA,±ÖªÀŒU7ã÷7L£ÊÙ,ûŸkÔüƒý~ò‚X@c$ð÷ò˜Ñçd2îµ”/ɵg´0zôšR«hF%&ø 5h4Öšf™FõV÷{Ÿaô8.6&Ȩ£Ç‚ sŒš‰c¶Qó2~O3*ɨ•ä‹ß½)=ÁÅÑ€môëÏî-Ûh³yÓBFÝÌ&àÿ3Þoö'×Ût9¬>ãs…ºÎüš}×ö$]úQ+-7MM‚˜GERtº¿)(7“ñåY÷¨]Bró| -žŒ ©G)È›?1
Ó w3y•†ÛÍ -œŠÅwho€»¼øºŽ®G@QD5d’þ)Í[`tÔ T×DºÍ¹,XŠ$d}ŸÍà˜‘KMŠ@®‹“Q²ÜeD¸3p*_»?é0–šP\Šû.¡ŒáNùÅ¡(A> þÒFõ=¢‚ÕÒeoŸú9± déóéøæsšAŸ¿Ío{/0kqÂ/xñ‰Áˆ²_Æ^ŒØè“2öRRï?-c£í™±óâ#ìb@0-M:Ë׆£Ã >lÎ1Ÿ·î®*aꎯ! -²÷¸Ø~¡ù -Ö§Ah*?4û™÷¡×.³KòN–Íþ_qTI;*zW‚š§dŒR-a@mpìvzÌnu%¼+w§8y/FOÌnZœE†“˜¸7³;;ÄÌ2:Ž.Mx’}§P½ÞèAÁÞ%;iÀ%W³${¡z£Å÷l†Uã143öã„kü£wDéRaVÒÙ/þÃ'aZIì±@pAÑ-èP†#²ADåí—ð -k~»Œ=ûdµôå}ÈoNÑà–.ŒiBi#l¥ôÁć\´:[²U/ÌÎÌg‡1½ÅÌ -!G’úý
®º}]m±l´ZîVrx¥U'gÌJÚ£À¥žñ¢VÙ`„n¥·ÅΩKë1¶»ï¢õ̶?zî1xï¦<—#zŒ‹c¤ko}¨ -S°ÑËgC™Ø]øñT¾ÍÓ¡R Š„ð:ÙJ¨×R€½ê¸k¡‰Ä2~9¥ òðìð&„xNüí’Ö‹°.‘•{ÚÖºaˆlqÉ+$¾uÏ÷›YkQä}…jtà·4E -‹“ÙÇ‹‹sø)QQÇǹŢàäØWîëR+»=„“ý²@Ã<^øLMu¶k¹—¡äA,@{¥É1‚?†ÞÞ¢!t”ÒÇÇp´ -!ç%9Ü°(cH¡w‹¹`û!È6y-~@׸kÈ“@±Ðq>a| -ªÏ77¹Üïx)r‰1„V†þºœüÑ1,©:“Ç|@l±ÀîÆS9^s®-\PS ÕžLæâäŒË5JLeÕe¨UÕf—›1»Yàš‚¥8`F÷\<•°âŒª·×½Ï¸+A-³žóB0¡‚|Þ’ÄŒ[aJCV{eCvDN¢^hä}öRÏîÃzV°Œ}ah_¯Li8âÝg8ø…³‘óµáëk¨ -Û±ÀÔÚ;þÛ¡¨¸=jGR -. ,3¬š°,Ì[ -'óõ‹~Ü:àƒ”– -—›^ -8á|<¤J¬NHKûÁ‚¸HB¬
!¬IòÉÌ0OØ
’ËÍž¢úYÇ/DZ2Î5l@ª ´^¡¹íœa³åè‰ý3ë@
P{œ|8(%qøwÂ6Íf´ù1\áüļë½p³eÄšËRxTZè}¢¥ãµg„'±ò ^%Ƽ¥³ÈnlÆl¦ð™S¬g›ìÚyÌÂÇ -e-î -À—?©ô¥Šáùï¹øà¼S1‘ßYñ·6Ì• wù± -éò!QigñÉùSN£Ì¯³úN7柄ÅÏp@QÙØ\¾uÃë°¨HdäÓ
'âkPæÿ&?)6]Åð`ª`‹µáÊúÝpbðwhyx6?-¶Þq¬qø%ÇÚÇ_slsýGLŽí‰_r¬wü5dž§¤ÞO`ŽIÊ÷4}åÆö(UŽ}‰Äîö;Fçg„ØwH|©BúI滯bïUl>òg¯ -¶j¼#Äþ‘TÃ݉ח?To¿tC±D†ŠØ_»q³ý•
àË{+FvûwñÉ_&¦ -ÂÝÛ¶ -$é}
0*òO‘6òßÛpŸ-¥í/I%í.¿Í–ÒñúuÈÈ–’üË—n„u»²ÛîóØÊeW‡u ½&(è«Áw>»¹&øÁ4g:ËØ·t&x¶…ñp`¶›¬æÊ9ýè<©&t -¿¦Ú7ǹѺÁ"¯8ƒE~z›%5
g‚ΡŽˆpª®g!ƒ,}?Ï63Ú2:Ùû [šzÐŠÓ Ûç‘Ý'´Œ•¨*ÈEAØŽp¼ ƒùêÖ«t-q¥ _÷0„„¬0²(‚0%Eƒì<Ïùu®ý«î¬zf•ïOžî®NuwÕûÖ‚?tø2ä‘mâLœ<Û·J^AÙVŒ]ŠçŒ—„ùd7N„AÌZ„¸òyÄ> ¹æ¯$‰Ú¾¨ p¶E[ŒPè—1hö<V åUæ8 -@RY~‰¤íÈÆψ•I:c¯p¤ŠÀ#;xruŽOh×m׬kO`%0ž/_e6<lj n(4ÁiÚVÉF½/9ÄY‡Q“Ê„Eº1ñ"(Û4g!µøoΗ©I‘¿øÁuN+}ßÚ??=¯0¾KW¬Bo½ØT÷º~§ÿs,oN¯úúø#ýƒ+våz=™(ë›…Û‘ófNô¦KÑM¹[r·ÎHt R~L)F-ÐÉÎ˼šs¤¢•d·w;‚Y¾Ô|$A?°$ÁL#‚«]"R;0hªš)*—Ý’ñƒ¼ÅÇÇóYÎæïÜý3(ëûÒ©B7¿Þ±›å‰Zjv§d}dåWIï¸ÃS†«‡×åaµß-pG~ƒ3üÓ–²o—ŒóÊ@¯sd½´q€<|Tæ&Nĸpîi”á-Ár’#ªP@«W}ë¿Aï»A‚<+J‚ijDt€šb¾KZÌAki3NGeáÒÂSu:µ ÙÞ`ˆc¿t·óô„€Ñßñz›…Àð³øo)˜z=ò|„åð±(b^tœ)‹>ᦴ5MGb}` -l{lÄ-½ôÑb?PÄÁê=p㘲A¹ïrYÚ#˜å¬-!>¹"±4ìåmQsRðò©hÞQ…\a–¸kÞ“™Á8‹<g+uÅþ(pzL#ÂR†^ >R:žJùÓvÁÕ=…?âWÚULñ¨Pë%4î9«_Pµ“æþ¸¶ÝâPLcà€]¦=¬6j:‡k$®Ù5PL¾£=irb_![4bΡ3ûvÑËÜ<J?ýj¦qÈÆÕ•½œÀfG7ì[tÃÜp-»§ur_Ð(†sþ²‘ºJÞ¦’JµÖïÊõE–°Ø¤'Šor µš,x©ó¸óô¹^Z+†Sõb
ÓgÁ^ð‚Ö¨S0 V¦Ñ&b.UÁWÚ\BÝ/âX…åZ£ƒ5ÆÀèiˆÔÆ€³þ6F¼=š¸hÓÄp¾‘³nc,$`BHSx.Zg͉ßbY.9•ùEx$ÛÑ‹\yÃŒþfP´„@ƒ¢I®Ð'oÆf·mý>Ì8qì“ ÚG~3E)A#Œ}+E)AûÈo¦è/%h“?™¢1,â´\ñnÇÓ!inKelXÄ»Ò04Å·u–‹§©.ï÷YîÓ'=^÷'8 æ¡é&B2~S¾å些÷´7b™|+𑦊ú˜aߪXæzÓhÅnC=HЙ7X=`-y2s|h(^yúE´ÆW2-SDÛoÿ«âôFE-TóR%Þ
Ûù: -L¿|¨B;œG)eyrXùMo´ÇÛO`¢¥GÅ;L·§ ÅgMÙÖn´üã3¢AŠ¼¼Û¼Q±!þ~Ó”àýßßbï·U¨¯® -¾ÖT¼ûÔ±ƒ_Õãx¾z_ë¼ÃXûõLŒu×gcL?žy‡q6Æúë³1¦n¾zÿ«@Û;û - -²¯·Y -Y6³¨)Äð,hX“S°ž_‚f„Ì°!Îc]’SŠès¾Œ$Þ¤3ÂD3gØJŒô¾ñ(˜]T3¸Ä%–4&bÆÙÃT -û1ø -H‰ÌWÛnÜÈýþó ÀzÐ,»›}¡àÕñbm’vƒÀZ¢$ÆÔpÀ™ñÆùúœªæÔeí0óh(ª›S§»ºêTéèOg'éMÿ±9Q«(ŽŽò¡©wýpòhø¦ëöÛÝ@C¯ÎC¯"¼”¾qWã‹¿5öíק<Å“}ûÕ»öú¾ïêmøs»ûÔßÞ‡¯Ž1yÙîºÓ½¼Ú6õp}¿ÚÜÜxa¨¨w˜Ò?‰(Ñ©’aú–æëõçz»mÿYa”SËúýú¦]ßeý¿NÃK?.t˜øk{ÞlÏš•ÔãÝ®dœhA¿5^.úëýC³Þ
ýu³Ýæ}×ÛÓ0ÿR¯Ã·õfêðïM×õ¿‡YW_ -°}}Uµ]ƒ>Ô;¬’ö¾ò*Û·ÝÍ»ýÃÇ>PÆÒ°ºb“¿naf陆íÕ›Œ\4» BòÝùël¹2^}8oîZ>¸èÇ£Ù¡ß<ÔÃ'|÷$¡ö˜Ÿ»l6\É›Wr¥C¡q›žÆ·° ïÑô‰JøÈÐ=1‡÷f5ŸÛæ÷Óð]¿n¼Òawá%Ž£ÈßýÌù¾k†_×íë34”xG¼íošïO߯ºš÷ÏóÝ¿pYwÍçÙwûGš;0ÀÑ¿Ô_:-á Þošõeÿ¯ñD¹§-L(¤S¡L˜xÛF†RّГ ‚·J6ÈÂÁ4ñè'õ~hïÚõé¸0{õzhoæÓ³rþáÕ¯Üâ“>~™Øñn׬Çe#nò·‹8ˆVo/ÀY®oòþܾ¥XG -'t6´k²¼ãwuÖí1õzè÷›7ëÛ>xåsür¨¯ñZøþã?›ëu˜Ÿ.öí®YÕíæø«†°¡ ý$¾Ì~ûÛEs‹|š¿îGËõç¦ë7³ÓH½¾ ÿV›o›>ëêu=„<>Yþ¥ýŒ™>šmÏcÿ…ÑzwEhÖ7Ûɦÿó±=?öm{×C˜
ûí}xÙ÷ÝdöñÔd}æQzÿÇà8ã/¬ß¯½ƒž3/<e‚üp,xû0ù#[Ïë®kï†zsß^¿DðÂüÄäçþ—Àúòð±ïÚíÃO‹‘³zص×]sñe»k¾f¼qÛ®oˆ,:ójû‡
ôðâ¾Þ4lsw_ñ›“A}a\JßÉÉW4Q™0[/æ_õM¹E{’÷›
–pŽº;žü
Ãì&øü9ˆè€d( ž '†0Rþd@ŽO{J Š*Áv…3ŒÐÂân„ ed@Œ¨DE+ -$[t) fhÀ -®_×:б6Új§S¹.tŸ’+¤Q&æm€¼bÞ˜yÍÞÌžW2³¯™¸g扗X5xN˜—XKf%Ne´1Æg“šÜ¦4ÎXXeck¬µÎ&6µ¹-li+œ¼°œØigœuÎ¥.s¹+\…p‰Âöµ?ï|ýÿ
ò6*ºJ `ä@ÆH„á -å@¤ŒÀ¡85ÞÆĘLnbˆ'Ë‘·ÈƲɈ-L)âB‰IY^Xy‘Ó•åižä.G„ä&×yœ«9„\‹à¦’–”åY–¥Y’!T2›Ä~œ!˜3‰ŒàÈ2-¬:O³4M“1•ÚÔ¤:SD}*!þ4ˆG@ÜÅ#î™yæ=°&XœiLŒ3³á\Kl?Ç·Ó$I\b“h·B‹$™—ðoŽ¥.AX¤ƒv1冄ªE‡ÎÏm†äIDɤ-¥x]ee:i—eéë(<ç?)˜”‡>^,+AÂjàõ gM U(’‡ˆBxJóGbáÃ#EË#cätðë€brj >$¦¢8hJöHU$ëŠfe9hˬ.Î[ŠKBòÀÑ”…è@,&Áå©8° -G'áÚ‡]‡£MqÄ9κL+”)ˆ_„Ch¤’ÁRfU!x$ü#˜´C€¥yÆÛ'1gÊŒÕ#FÍ!DœÆjä”ÄÉ„HÏúˆ—Xêá] Ð+ä›ÀùÆüÑÈF‡ÌÌÿeQQÆB$Î’ ¥R;ãT¯ 9 -Zd¡Pà€ô<»:-ANP‹V`n–
À¡ô\ñ¹ú(¿¾ÜÏ%øPä3.î%u_É5ç€[”ÞjŒ~uˆú€C>‹ß²ôÍE³â%J<V -’-3ÊÖ(\$ÞÏtkVƒ~,dR®`!"“ŒÌB²Ð.û\»8T–zE FIYˆÊ#YY -‹—ÚÖB™¾®M/ªÓsq -«’S"IqÂ(e%˜#}SNd‹”ÖHm…¶A˜e®DUÈ‘I)6áÐÖ´q€–C¢ñˆ %N…t$Å9ÖÒ …Óq¥¢*çmÌÌ=2?å~Êþ”Z- WðÒ^ZÖøJg$±†%—.‰@ŒH’DfŽM¹MtÔs"vcD°D°G(ðT—O†8O„[êüšÔypëÊ=!UY.ðjÙnÛ|ÃHÍÚ·€Ê1µc÷(§..9è-{áëE¤eD.„DÃÅ–Ë»›$¥àËG16<Áƒ6!Àh
÷'zêKÔØ—@æžékuS¾ƒrSÇdø. Sš•Œí[”àС`A9–Ji-‘Î'qŠöÿ -[EhÈæU~'{¼¶)âè-ôŒ"NȨuQL[F‰ÿ°_.;nIý‚ü‡Ú°7D>«2
o*ëa˜Õ3/„†›#4¬¡©çÿçFDf=ؤ-¹iÃÈ‚E&³2nÜ8×ZIÀJ¾Ó!I)7ϬhkÝÞí–Äó¨Þô?†wÓéñ‡OÇÓ³¼‘ïŸNõïšoÆã§ãÇçæíÿNŸŽÏߪ³¿7«æGÈý=3ê†À¸CÀÓ3žÌá3O[æH(³CæF™4&Ä U™Ž ]&FGtÁsƒ&‡°:ÑúDY–‰Ýð`vÌížíŒL-Ò¥øT ¾gßcnîFú±+Y¾È—{Çëýgþðö¯äOÜ’A0#c¿aðÅ‹+ôýŠ-™(<0W_(œ¹ß2‡¾µ -ŸwEGÁ¥+ ãA¹ñz²ú20FÖ
Z*2Ëäp¬¯°Êbp¶Ø—øUdÊÅ—ÈØ…Ø~Z¶›ž3`Æ(‘VŠÅå‚’å¯Ü=íG:uÃýaK0lë“ùªgV2
Èâm!VŸòXÚ#½Y”šzÆ‘ü¾Z%‹
œÆ¤+9ÌAtì=#‹Ó€<ÖãØ(“µüJ ƒ1‹K)7Å,+ö*Kö*ŠÁZ1XJ‚ý$pz¨P@Xà$Nhd—‚47UÜ<*J.fAš!½ˆS®¶ù(Å%9Îq¿S—'>NqF‰q0DU2œ8!»`ñ?q>ò< n5¶Ñ¸Ž/;ˆ;Ó«žOAër0uÃH:e?’¸cTiÏÊ߬Þi¸Vÿ¬ÿQÔvZ|t«:Æ59¯È -lž{Q€ç”þ“Þ£¾óª@[Äþû‚lS?ds8ÀÀÖ2”T¨i5f´ -TU€%•q‹ò\2¢ Å™ÑÃ^„7ãx÷ -ω›`MhnlòÆDÜø Sllcš¶ ºÁ'iÅ·êÍ»®˜?aÖwpþ€ÕÉÓW<ŒÞÄ
¬=¶ô‹!jÌÜà¡5¾%˹xðhæ¦3šöëNÿ„µyÏN—øÁ¾ÌØ»]6bìПm´0D^ÞƒYÖî -zþÎZÒ³åyh×µ¦(ÊPæ,C¥’ ¶ -H-*1Ïæe>Ét -e>í§“Ýåe0QÊRLˆžé02Ò -÷K…G=q•×:¿¨´B¡·,"4ò’Eö4Rë}HÔRt*»ðÈXÒYª8Håó¾Ì^EjC]ÓïÉ ÄØ‚[;,AVírÓ*†kr(‚`=TE°ª"ÔEI\E•bÕÃçW6—ÊNK÷nûw×Áj©ëçS¦Ôõ -iª];§M;SeÝÒÏ×ëz†ÔjCÔÃE¢Wë[ûÜp}K…ÕÒìÒîýÕS•kk¥»—•VKó¯å^-`[ñZs©z[k¿¯ì^á‚Û8·=·QgÕçnº¨ù\1¢NR¦èRTIšEÖÔCJË⎇þD}#+ÏBu¤¹½Ñ1ezDÈj„œI ¢åÍιxh&!‹bð(~DÉGÔ× šºéÑ•zÍÂy[8EŸK®rC@¢‹CâÊÎ3äˆ$™áà ë à€¸é;ͬ§AtD$Íðù„ˆÚÁÁB«ƒ£šI3²êˆ`›1
°v—aô£-¬Y#§NÃ8C†Q$ür‡f ƒÇN,ö£óœ§<b»LØk‡ìÛa÷Feá2aÔ°šH²lñjñÀžðÓßCý}Т'|¢Üa’FçLÜCŽ¬'óŒh±ýæÑw6\ÏèÇ™!ù„^íеýëÐǦÓèë ÅP’½Ñü-LÀ£TV¡b:Ìp‰~‘ÑA Œ8/ñðoÑ~†ÏŒð›ŒNK¨hÁA4Ö´›¡†•ô’` Ô !o3NÛ^7B_*KP[Íh1*Ôf†Gè2ÿ•ê¶uÍZݨ®\U*ªºeU©¨ê•UÝÔTJªþxMá9 -vºNCôUèÚ£ãŸÛ4oÿíNÿÙÿK¤Ïæ8=¶ÄÔg)R§J².Ø$ƒo|©S„Mâ[8 ‹¼"·åñ(Fæ^á§Eä'V€{ü -=%«ß ûKRcǼ!ýšæõ^ -«å¤s›j»ê®²+w)¬ÒP¤Âd&7„ -w6CzÖÓ:´ðŸz“¤( ™Q”¡DÅ)@~r”¤ÛJ-èžÜ)B¥e(µ…æ!§šmÒužaÂuµ(ÕXCõÕU+y¬eÁ“M¥ád)¹¤¼ØbŠÎž¶å’³Ê)Çì³Ë6›´âɧÔÀ49¥’K²Æ]¨€”¶MÔøöçÐB
)€òƒÆ¯¥¦|ñÈÞ#¹k·bÀª+ðá€üaÚ¶Õ%'[—>!gŒ3‰nÑME.Çé‘Ÿ<Y–πЀó;4½&uøÑÞT}Eå,5vòÒâ -›7Çæ" öDf׆Ø2ËÖm«du°åù¤a;®Q•j˜ž•“T”)Lü±NÊE*@}Ø9i}m)L_øvÆ®˜å€óáúb—–†5ÌËVÅé_mƦcÓX -¤úFܹ¥íªTÙuE—Ž/7 -CÝ]6·éÞÓ}¨R•“¨×ª -âöØV±ür,Ä<í2²DK´ÕÍv뺉Už8ø*ÕŸT¼µ×ˆž•cT¬)3«ÌÊúsbMºŒòÕŒb×Ò€aX&ûâ+¨¦mf¿ -U Ñ0ZŠ7dÐY` -1r,±£& -)·2°«¿fî\1XÝô€³”30å ȶâEtÝ— -¡‚¡.›ä+h#a’Ê\÷ý^–, -G‘x- §[!˜F°}ns0ìiaGTôúC¾å¾ü÷¡®Óè[ÅÜZ{¾þf:3 ºd‘\ –ÞËÈ©—cÄð¼3àŸ/ÆF-±î•Šw#Q4žmÁÓNxöŠQH‘€‘q!ÓŸpëåùÉÆs
-ÈÛšó\›ö\kÖíw¸)n{‰"Ž?Üxm}ýuÜÚÓv“Ùï°êº»oÏ·¸7nWúÑ‘MøNÝ(¤GçÔÃSç–ïôÚqHáŽzxÙ¯—ÚwËs¤žèÿ. 3×nLžÆ$9»Â˜“gFÌȇUò!lÉÀ˜¤~Hx
[ZhKŽ¶$åPS°¥eØ’”½D‘jd¥)uCʬ0Z/*`E›
Kˆÿ²_6;’ãF~‚|‡º`_"E‰’1I¤Ÿ
Ÿ|,0ƒÅ܇µßŽÌ$)J¥êž©./íV «Xú¡(5óc„P‡p´hspÐÈ€À «˜•Ú®x,ÓlXÆdWb
UéA^E'!BcĘ¢„†‰q‚µJ¬06EˆK’2T^Òç‰cDæà?NY3ÈçF?%dµÈ%vv$ÒIDé$¦ôé³G\ñZô›‡9Ìr‰1ü·€PÃB0Áú&Z!ü”oigÓ‡ìcŠÚÅŠ´Ù’h-g¤í§žBgÙçNÔî•e†n¨Ô]I&ÁÕy©Ããþm¢Ò¬ïÓëÍ>Hï¦ÃL¶BÓ„™á™Ø¬w LÀ´K.ù%ÆRïoŠóDŽ䨵JP‚”fÅ)5É'
É#…äI.Ù¢l‡V¡óÈ‘,¿^V*uH(j -ok·7'±ßcÁïø¿LàMµñ는țƃ°þæ¢lkÅ)Ê2½’»-J+ÄQý½¢Òô=ª£wס€i]× -&Li*s±…]jÂ–Ý “Ý£þºÐòb¹ð -d¡æ¥º“ÕÞp>€%0F‰½Ä‹‰(9FÜÇ,‰gÀüïQ5ÂQ©‘èÄAj&Ôˆªó¨@®CÎ_õÙ²D´…ƒ
ê˜ÃvçÙÂOqá7 -†„#öäQ²‚ ¨pH(DÀC¨C -–æä’Ê IiD&a(YÌ HZ”H”Äžˆû¡$uBìƒj©ýQeÛSHäW-‚¢áÕJ*üY’Kaúxªà³¡'&1'+¡ÐÉÄQÞl´QÖ$ÎPÂL†Œ"¦fKâJŔ̓$‰!Œ*ì؈QsBéPa_úÇÊ.Uz,'_ÔG¶³+m%Ü›*Hí·f¯f½R<5ᦖWté|w3Ý+ºyh¼Otï…ï¾C€É]>}™§æ©ÁÖš—ª?ì‚b?øÓŽý¥yòƒq£Ac0³–÷À<™
ëP+ftÆÜ -ìœÌ§N¨¨ÿí¡Ì¬<·bš[&½da®ï - -L Á.¬påXÅÁŠÌÁŽQœ|wê¹Î<)ñÈJ”âŽt©1#iKÇ´q’7·ÎÛ£¹¿vïg&<Ïím¾ËüßæÛ-DŽ±eƒƒ7Ö¹áÂÖ1̹‘¾é6B¦Ã›`Ä¿-;"sb²ÐúË'-R›¶gÂÞX3Ümk|ïØ«X6Ûqo˜
I½Ùö ¬¸×mtìUÇù¶ç}Ü›{³qóçÆͳqëÔ¸ý„qáóíÜøð úÑáOÒá|ªë3¸5^é9Âë»Õìý!Ña‡¿’î}©“Ýù´»ðö‰ßÑ•žW°g×|rR_’SÐIº¢Ævx½Ç®sY”íN¶´ŽÇlú<ÊdQóÂ&õ«ÿûã
ýÀF?rò2¿.Úýœ^Õø‚éW%¢þJÝA.‹ä«d+™$noþq-ŠE!‹Êóæ
.zž !É‹ú$ s+²"#R0ÃÐ>$H¤—ÄÛ(òÓ0õ"8ì©YÈLf\¡(BøÈ—ð6¬=ì:L~«ßBb -/ 3Äd@åG”6EÔoDÆB¡Å†{—óyš…ULÀДn@™##àIQÏô™ ÌuÌÚDTçh Pl0l& “t÷<ðâ„w.€²ÀæÇŽ„j ž1‚c#HæA1'kðÔ‹Äì¡—óî‹¡¥Èò,EU -áåˆ×ìâß#NþMKþ -#ÄügE½@;£o8Áã@®P+ô -sÀ8vóaH3qyP˜:à€å;3AÉ(F-ðË0–¡¾ŸÏ@Kd™Bf -¨ -@Ó Í¬ÁÛ Ž¨Œ4§õrh'—÷h}Òã'3ÒGó¼<Kí8AÁ‰ÒºÐñú©Ÿµ*~æm´jTÀÇ
kü»}kol=¿*‡–Žºm©#¬æ-µÙÁo‘*\8÷++lÎÿÂ+Ë]¿ùUL—_ÅD¯¢Û¼Š_Y™Ù¾F߬¦aú}¹ü^^™È½ñ¶æ— -¾ór/øo,HIrÿÎ˽à½à¿»`?£¨Ê†,ö™g!ð7 I®P&¥¸+ >-½"RÍdÄ«Ô#bXˆÈe)•r°U@âò¨UkSñídœ¦áZ4… -m1Eå}î¨\sAhˆV GjÜmG´,) hÚd’Ä}wÄÐŒ0êx-"ªÄ¥T„Öˆ -÷\uÖÈ>ÚàÓØTQ!Á*-»,2É€ -”L0¨chQ@ÂE
6*ð)H‰´¤µÒ -bn¬§¢”‡¤¨¢i4_·øÉVdm8ã˜ò/³°wŸÚÝÞÞÞþ3Ia½¾/÷‚ßkÁöÄÛš_*ø¾Ë^œÐ—0GÈKˆÕÐ×cÅ|{wŽà?þáñŒ´Eìó†rBÝÐN8éÖ1y¿Ï¾qAuâ«»õ«0„˜ÿ\Á^Å]ÄK/è׊°!nH'äeFðŸz èŽ}é‹eÑ3@Àøåž ƒÈ$&3”e*3ÇÀf[Pεµ@ü1"$/JGiM#ÊqZ¢ XAQ¨“7¥ÅGyK v!ì!~%„°*‡²Îª‘¸:“±‘Í!¸D¸h¢%ΊX×!z" -WcœH}]B,„
Áp'¤p±ñÏ!43bdE˜ì’D¿„L‡¨8‚g
M ƒî9œÚÇ€„šT+ëRqˆuˆ³1eDÛJ!ªy]9æœKn¹ãÙjÜ Å#éæRJƒ¯$:ÊVWCMµÔŠ D·ÙæZh©•Ö`-ÕMw=ôÔ¾’ÏÄÀª>,ÚPØõÏÄMÜžr‹ÃÄzÕ"ƒü:æ*öœµ Öø
aC<!Ã&G§”•YŽvYÓž¦9Ú¾™³8g¶ÎìÅ=³}fÿÌš4[höÐÑDp‘2’Ü)z£$–œ4[iñRf/-fZÜ4ì$¨¥µ¬(¿RÔZR¬)•âK‡¨œcS‘§S
W –Õ©®® Ko”•gi±³ä°–meÖVgqé!.q%¨«¦–:¾F‹º<Ô• ® -yíy±»’€¼jéЗb}yÖW&}aÊ¥ÐM®ù[^ ÌvßcÏ$0L¾Îf§‡å‹ø]¨INrÂä'''%%íøU<|8ßQþG{7oiçƒ4§-¶;O[é¸Kxf“w;Þ_hº=bi]&î¨_'‹C0–O_Ø–r'%^+=)@ÿàð’´³‰Ï)]ŒÚN«Ê£HÓ¡nló–&ò/îC~üùËÇÇÏOÏÍÊÓ§ÏÏ˦Ÿ¦~{~þøÇÓãôilš”ùQ\ÜŠÂv*xdt% -+ ]å ªã6¬Ò?:XlOùÛ78^Ô´4]ÆÛæÇ;7™¨;ù
IqMúuoßXa<éW¶öOR™7œ©pãùÕ o9ÿ¨pÛùåÎüæ·\^~Í%½çæŸzÏozmWŽ¼±õ
K›¾º‘*ÜxîU…ÿ½×Å]|[½,îìe¹º2sþ²|£ÿøؾ+ßKÁz LYÞBÞ"Î7
Ò ñ«„^ìý·Án0{½AbA}`YÚr ™0ð²@`:HðlÓrJ’àÞž+¶VAa05Åt’ÀÜSK ¦Ã´ú¿ä—Knƒ@O0wéù3R6óû)Õ
+‘¢,¼O²dY`<Më©‘«Ü{‡u -ãA/9ë<0W¬ãÅNɘªj¼6™Â,v®=qY,w4Ķ¢·êái§…ìØïäóŽ£ÏXqÆŽ#Žì»0•[›Øsk“Fäqê@f²øîuWü ظg@;¿aò/¹áìwOx¼0¥·ï8~Åù#î/,Ôâv:¡RµA²°n3õÔNZh1 …dQQ:…¥PFBF¸h?NTè(!ƒÜ©_¾Vh}mÉ.›T½ªGLüÃÙÊ¿1ÿå‚Ï1Üõä¾'<„N_þökê÷úƘúžô#ñ[ükÜ’'FâWžcÜiw¶;劒Jœáªñš{=÷™a×é–ÍR,Ù-'Ã]›étKèzœ(Ã9ƒs´Ú
¶iéR±!´fXo€H$¾yÀÖ-Mo¸;è>ù.[pE\:lQgí@Þs`ñý`q'·Úô4pÏð>樟Æ}3ò³‘²‡ÒO -H‰ì—I¯ä¶…ÿCmp6âL -{ÃoÐì¾FøC©ýAáî‡H´6=ÂàêCO{—ˆï¼}øì–ÞŠxûW'ùeÄeWy•úM`._éW0ßÏÈœPÄVôŽ£5Ù
·Ão„ WDð˺åI™ÔI›tú[Xƒƒ—8¿ -<
[bG!ƒ€DË” ñÇVX´-Ós‡zI¿’SE!öSÁîæ -|†„«žxÑÏ¥°¼¡ÜÒY䇀!uC~È‚÷ˆ‘eOÿW²Acý/€<€Âù -O+ØÍÙ'ø®{ðÓó7ÖßãOäÐ7ƒ¯,R~üà0~¹<Ÿ¸¨0xpF)‹7‹Gñf‘ÁÑ!©¢‘ôFÙ”¡3¹ñ~‡Qƒ¿m5y¯ápf¹ŠOéoöKûþõ¯¿üøõçoßÿ=väo?ýü}ÝõçÛÿøþýÇ}ûzûiîºIÿ'ñp/!ÅMý,úqk¸÷s b.8̃ù¡ú‚ùÒ0o2fPÀlr˜WsLÖŽ9W1¦¢ÇÄ´óTU‰¹Û0æµÇ<7˜øª,D…H$ã!#u©,¡¿†ÉŸ Ù -v|`MLqØŽtuk‡=’!{énE~EŽEžUFò™†«`¯\,Ë.F¿Wìep3ö³.7àju8›`sƒ}ÃàÂ(0ltdudv°;^§¤²pÀ¡ŒÄ,±Â©Mã{gÅì-wÅ™¨‰|†çÌòmžzrWü‘ÄukÔÀ¢U‰¨PFÅ*ª×qBÅÑ(³EÑ=nBÄMɸ]•î"Nœæ€Æ"bI«C“‰õD2ê,År°<óÏ÷̳sš§±â~×r§¸Çͳ»íb6¶hjgGf7[¶Nvô±k{ïaìÚ¾ŠúW{í`9C¯=¬ÝºØ´ö±¹¯¬ž½¬ŸÝlž·Ï¨«9æºq)àN·}K¶#×z1cíj/‘vhgžý,xbü…‡*¿`öˆmvŸQ®ÛuÖviœiê…ò -»^¶þíð¾Õ†_®V:,v˜ï0å²¹øp÷.h%€åI~¬ë‡æ•Æð"4–&ÇË-f‘SWâü•9Œ5žóˈ.b¦üB=ià„—g‚A†áÓ—š6Ëá1p¬¤&·qEå¸PÚV?>—n—î—¯—.øê˵ƒùO붖a0níº*;õb.åaVe˜<)L4¦è‚øB¡±€”ä–t§0ÚÓhPbT M‡´eP.…ÿ\\‡UD²Œh¡eE[èZ“wK¬b¯|†ð#2ž‡
X˜Fö“h—ϬÌí^àÖβv¸]àf`t -WÇÞ$PÅ‹"=ˆ±³xà€~ëQÖ¸Q `÷€8ÕÖ×Äô,,OXØØÍZ1ƒ9SшN -‘´’žÚÛi*› —ñ͸fŠ1B!©„^Fï×0¾7Èú™µt. -›õöZšŽ^Ô•ŸRpJŸ9;KjŠÈY5Î>q¶Ü ¸Ã#û㚉—™›IÍ,—)¤É[²]f?ç¦
5%òºÌÒ7QX;Ç]fjæò¡}Å<Úc¬c¡÷“Ü9B¯Ì`Í HgÈ©Fô‹"Ø"&íbM¯Üé”<ƒQøLÀת -µë“¦Å|ýa…®ëÓ®N]óÊ]–H°YI…í -T:0@špãÊýØ“"4‹¯EÃ"@âY(Z¯B0.Ž~ ->мéù3¤/-‹Ì‰mj/ñŒ‰©7êƒâ¯Sw8zÛms[J{[‹%æžÕ•gK—ëeÊg¾<^ö’5m£ár4\2hÁñnôO¤®DÒ©DR_ÔæÌå¡ÄÓXê\ÒysdjXÝJXÝs\ÍâVãj_â*ÔO:H5¤.úSñrJ55 RL—OS¨[‰¨ -§5Ð[It~Ä…Qz„‰|1¢bþ¬@ÈX¸qŸTY:þ(ø[§WEˆšLéAlŠêIÚCVJJ/;WÛ·ŽQ‚" ¶ÛÞnøðú¯½àdkÎÃKº7C3ãešžeîTÛº•JÏj[a[»UiU¦-Tµ_ÆÚ¡hýòäEp¢° P %g3ºìÛ1X¶„ü•À&d°QyÛ*Uo -ÊIÙ7(Ó:hÍ -ã{ßS¶{:æZ»ˆX‘1sѱXz¡g©ªÚRµm- -· -—'ß©rg«èÂ7òWÆÕ™êø:%ý›"± -ä\e2U±\ªd®ÅÓÙóœëdúzSýùêŒuÎ7Õ9K^m$¦é„s£1.uÖ:[ý˜Æ‡,«ˆm#údõõ¿vÁû&ß™L8Ùpkå·Xc¯cn9иük ¿B`ÏŽ½íkå2©Ì\F’µKs(;\nwØÕÎŒØïV€£°©0 -ä0p¸ÅT#Á -ÚXÐs?@1ý‹`pÄ‚3œ‘ ¨³¶•4 -GÖ‡^ZàdtA~–ä[›ÊʈFŽ7ê—³,„–±«EöjN½1¨*&•ÄMõЪŽ*ƒ,‚HOÀûŠD¸¨Ÿ ÁĈHG 4Yw(¢uPÈH™%‚V äZ!;´Ò‚qR¶ÿ¼
#è˜@Êée‡Zu@Æq y#(œ@䪳C`-È=€äT÷HÄOˆ^+d`7P]M
ÑÍ#GEDºáXöv¨±…œH„ââ!2¹/ArVH϶¢‚ä LÞ ‘E(U‚bP®"n¡dÍAÚ<$.BêDo…øíPs9 Œé!•1ï®8Ó·Œ¹û±{ÿœ7~÷È5Mc ß>·fܳ´Üùðͱoyôá‡I£æ¬V~ê>ÅàÇÞã€3ò ü -¿ÄƧGÓ“ëžð<ÿï懟Þ}~úÝè7Ÿ†Î:qл.‡Ë#žGkùÁ -!3%RfZfbfj‚œà&Ù™ù™JŽf–vb*¸jDW–”%iI[—ÔJ*I^DâUDæÈKD³šžcyÅn3dWAÓ7ir¸
M®õ“G¬3ú'gLWòåTfN™ù=çÍPòf,Ys.Y³92Mð\KÒÜJÖìò{Éœ¶äÍ^™Äá}»Ï)?AІ[|᳂ÌRßW!~ÕJíD¾Ðß)Éò•ßql IM¤ -HRc=fìuRzZE”®ÉD¥…Ë‘¸uHÒ‡"…&ƒ72)ˆMä.VÑç6Zt£VV®Gߣó‘n$)GÒÞE%±ÿ£õ†D¾®¶|_ý ©N¦éM'š¯ýéèL-p+lkI*µÈ4Èg”6 =¡¹8ž€< 81-a -
—r±²¥åþ3«ûøÚ{ŽÖsvžÚxî -/Ï^;ÏÜ´ž±é=[i>3»¤t:ÊÁCvÏl@Ké@A-È•dÕ„6u¡s¯F4ªYµ¢M½(ùÙ¨y•£QõȪ mPÍÂŽÔ’\éIVMi+]iV[ò°$—“Áæ°4mªMIÅ)¨:9•§^õiWZT¡¢JÔ¤5`‹¬šÔ&5Hܱ`¡rغAºÒ©VR¢[$YNRÖ«`íÂQÖÆ(Ž¢eJÓúÑ4åö¨·Üè£âö² -CÎPC X¶†½á¨ètÈ)Soѹ™Gnêé‚ñ ÎÑ»*œë%4`Ô&>èñüXŸb9a -•œÈO‘ -â
áÛ|Ê©C¼ ¼ß¼P8?e._©Ô¡R{OL,õ=“ùå,X¨r°#/„%±õ]p”óÁ\Ê3»\:ɶ«±¾«j¿w¬ ªpxÊêIöë;`Á¤î u›ÐWyy&6 `UëL»‚…U…MÈShsÍy¢%
n`¾¶–s`µL6“º<ÈÊÆÃp¡ðQ„ÌŠ_µXØY¨
â:a{ETgP]P1E vK*EA9á¶?r‡tAìà;Ôí©Ûµ†ç‹µ£ÀV¬Åô/En3%WP™G×f*,匪°†jñNæS&\ -KR¨Í‘ú -Ý*ýŽ¤0áSŽõHòs‡¥ÃzAÙ4º$ûlj4\`;\=Vœúç/.SHý¡ª—¹Æ<#£N`¾ÉÌ5+ÍÁã˜_<7câV[¸—vîË}2Á—ø³d Â3<ÁŠÛýj[ô܈Îó迈ËèÆ]¹‡ëaÑ9#6¶‡5Œ¬õÌZJѤ<Öpö'ùð3ô{CíéÀÒZ4刾õp -²Õßð¸–E,8ŠÍB(r4¨ñ"Õee'˜·žZQŠT1ÁF8Åó´à¶ AvHoÇÖt0«ž•Ï¨¶Tú0,òÄâF–UJº±’}
kWVïq¢ÓDã?–³+gy·|¯gË_ÎÚãç™W<›þ=ë–þƒú^ ¦É•Ÿ'=¼nSvPìÄ+ßÄK¥KUK•«¾õ—îæ!Ÿ¹ÇÊ)½e¬Vñj#ìIC8\ÌàÄWµ~¾¿D¯7óµð%ùhoþÍ*Ï$Ï@•šÙRƒµ«…åð"S 1þ’BvVÔžFúj¢¯öùjœ/¦ùæ–9uÓŒò½9¾¹â«#¾záh.6øê¯Î÷êy;¿Ë‰2ƒD¦‰¹Ã2oìL3FÂÞ`É årøÍʾSÛðiÆ^ŽØÑûzÎàé¡_°ñ3Ô!‚||K´±×fÚ©H_6qÏX6ö
X¡ó˜
V(B <šz„`Xh&¬ÖrŪδ²Òž«îP8Uöz.Í’8ÑõΘ§!Oö}Íwg¶Ód§¹NSÝ™è˜çL‰sšåÎçK%Çšàºô¶–šjUµ®RYÖÖ”òjµÄRd-³ZKÅf¹[*Žš÷*s#ääµ€Ä2ÈLÌâ„^w°-¤cí©m B‰–Þ£}Ì4àÞ€>Šz@sÖuF½âÅDn ÞyÉ à - -\}o‘åÇ8õÆ®êi=ªQ•LË(†qG -¾-§š¯ÕåÔ¥&Uó‘¨ú-IÕ¼UaO{f´Ú àТwF„gÈJÐùz¿Bõ·VÙ¢Å$sy¦®{0#y’½š4‘䯩$°ÄÜ«™Wó®eÖ-QÌ0äÎ%í%Ù¾“ȸ’Å'*ðOwù¦¦u÷îÇcצÚýû¶¬OÐRʼnùù Òâ S.Âü<¡·;LÛÌ=ÞÙÒ\ÉBüÏñ5¿IÙrzœÓñQÑx€û8ÌSùúVL'LÿÇWá¿óôö;ÇFþa†WYÛѾ¯†ÅÛ¹,÷p)¸8á¾ÃŸáÅãŽ|÷oæ§_¾ë»Ë¿å7A„ãå³ÝP“r’‹Øåñ•öm×ÿôwÁ'HyiÂG\‚JG~ߤËÄ瞤NQîeg}<¿?uðcè3Œk™T,Dü`3§‚a‡ñ2Ìá5pRm”Ð?ÉŽ„çÑŽU¾çüĉ¼Z¹’òdÜ¡ƒ®›Njò#Ch_´LqrR;<2ÔõÞVÓùU0Ô³~ü¦ïã·—Íü4ÿÕÿ²ùô—ýúé÷Ï_þ£7–Ï¿ýþ¥ÞúóËŸþþå˯ÿüüéå·rëÅýlžÝÄïL/Ë'l±æI]q#êG*ðx¤V‘W ñ%*+/ÑZyAqñ!‹u.G=ŽŽ,`n8Üà -1ÃM`õa-&˜³1¤ƒoüP±¥4¥Oé¬Òý–²–ãäL³fÉ45åôqIr‡c1ã€N]§«S?¯zĆÀW(å€g‹ » .ÎA÷øº•O‘ø[£š~Zú•În¿ùŽ+»x²Þ’©-M4¢¹ö…†t¥)ÝXÄ]ÊYTÖÒ¢:-婪÷ã^Üfhúò—72ÈÂ>¿»Ñóîša(ùµßÔÿú¾ß4Šš–BKÒ¬k[ÍûÈeerkÍüôÞÌ–ÍõlÚ¿JW—…ƒk¬þþêî{oß;ûåÁÕ·žÇ’ï´ºyzyÎr°ÈÃ|à±6Øæö9ÃFGØiyXC?và eÓœ[Æß7
úc1h”Œ†‰hòº“®¡obð[øëâ_Ùku¿éŽÛJµ$hZ,qðºß6»_³¾—ÃÜÞÕ¸(½/\ê†Á:R»ËSprá=.Uï&˜RáWU»Æ«9½Žv -'7ÿAãQ'°ÌnäXƒÃîÖ±,vª0=âä…ºêÏp5!ÁáìØ=Ú2œ>Œi=ÐÞA“LòE/v„CÉt/AR7–}E„ŒÝ£ý1ãé³
9xfÌ®øçÒ ž Â.¸Á?N³“ÙèÇôvx*¸ÃÏ´yEqKfAÍ°å&f","•‘lEz;ÈĶf@M6ÛÙ.v6»ŽÝd -I)EI7’Z;š‹ÔŸ4µAŸ<3$*OªÊ~ö‹ßüÎHã|ˆXÒæ°„5l¼ƒÐÂÏŒ oCŒ1aqç¸Ä5nÚx 4Z‘'Š[/oƒÄ
¹*sUèªÔ‰Øb"„·|0³ZêÈŽèÀ£lšÀ©9b6€r -yçCKˆ#¤Dk„-Þ7‚k"Ü™½Ü1Âfƒ¾ÚàlµÁa„bƒÍoXa3Æ’
&›Ö“ -O¬) -•p2D>Âì¦8láª-ΦH²»â@M·ÛâjÛØã°HciÜrvLõÌÙ -ßéøOØF¶¾ªÖjçÍÐ'ºÉ¸Ýîz°sešYyVL¬.VûÖ4.C®»œVíªÔZI,Íà¥ö\aÌÚ&øÏÀyž›à´
p–“ÀIþà—DÔ‡±ÌV.a1Ø.,<:ÿà}ì›GxÛƒ/3¶‚SÌà¸A!³á« -'Xx•'XÚÃÚX„0NXHL -?¬ðà -?¬p±Â¨½÷w´JT[‹Í…ÖáI†/:|^LqãKGíEŸ×ÏþC~úù›>»üß©;þ |ø¢hÿdóßðY|ç’ä§ùïöçüúåo¿ÿòå·¯¯ÿ)o,_ýíu{ë//úçëë/ÿúúåå×úÖKoþ,wßʼníËòñÿ:yýONxõ i9å¿¡I‚ö®Ü=Éå-_!?,¹ù•D
”'I‹,‰ªLUª’«$ëJº*_•°ÊØBÙÂY_X+;n ܊ܺsoånCÞ{úzÙ\,l^*‚}Ep00 -§Já©RØ“Âà°°Átì6ˆC±#ˆÖ¤ŽOFQYa8ìظ´(]}j> qÙv&V6G$[ y`¥ëˆeU"š#[’~ÿÔé1RƒbZ@꾬¸åj°NƪR¶Ø߬¯r»Æ]Ã!Ùaáͱ²«žüDé
aEÿ÷@Ë›š¯’Ë[Ó»InÞð’»Jî½y#ûÉÿMró«ÿµhšµVÍeÓ±nN,œZ9KgWkçÈâéu04ó°†4!¬¬ 82ÃÈ"ê17˜-àÂBšõ"@>?´«…y=ÒˆÚzF6Ñ’šQeÅàB1GÄbX¼Ž"ÆgFÊY0N ™'£Ã*
NoÄ`ètyŽäÄñ\„“šˆ«UGƒŒ;Äè`[Ž¸þ}P"`è !•eu -ÉiÅ(¸+½ffOŽè¡Ô›@—Æ$²&«#g$Ä@C
”B©µRÁYEâ]Ó¬ÇR©ÂÑ\µÅÒí2‡dé[qáïo8U÷·¨§Æ³Ïèf§”;›ç[ºÝ~ûç»ó[2Ï%oýÁ;õÉãæ„GjÆàkä>¤á»hØÕ7*ºRù"ìÜÒÅ]›çª‰qåP‰0Ùîø@êzÞ}Rßáa|þøãNX&¶cÚ,RàŒGœºŒc°Z#Q>ã -qC€+¾Þ -nÅvOd{…uE5AVD+žÎ+±\¬@.0V+ƒ•¿Ê^åna®òÖ -P«˜]À×ÂV¥ª5 -ÇôÄ %÷fR.Í«c=BÝÈ{xBà‹+lfÄB‹4åAè \\2äŠ4i*¤K‹Äå‘7§4 ¹ †&ÄQX×0¦â) ´Zì º-²zfºÕ”«éUD€a&ÖlÌ-Uwämƒ×lPâÅmÀ27êŸjxªë^~Òó\ñ ›Hsõ0NU5ÑK;Á®ÑóPø4SÆ7"éÝ +ûË›ƒãVKÛÛŒ©Mfë1G‡ÙLÓ_¶ö²U—^´¹àF¶æ2×æâjsékkɵµÌµµ8¶–b@Òõ¨,‚*Ų³ô%ÚX2Ë‚‘›0xãgÙXzm,XÄ̲²ÔªâYTF)‚à¤-%³¡,ì'ÝIJ—ôØ(´ŽdV‘…$°zX–Ðè`À€D¤¼YÀ“ -X•„]Ò`µ4 -MXÅÄR×c‹°Ø,&,,òOM?#Ó¬™FŸ„]Poù=S›w˜v†šrBM8‘Ùf©¦ ö&Úl35›õ¶óÞÝF›
ußW›HÔìÎ×Ja.ê/ÎƸ[Ù‹ÜEþ¢ ’ò£jºh¾h¹(¶’=Nžu=.aeí.Â>Xc%mŠqÔér0Y`Ÿ1¬ÅáƒÇ;ø®g(9٨Ǫ5¢'Ü«.r'´eIëŠMìÕÔ>#Ä’Ýë:X¶¯^S¼#x‚þaMóÈó‚'´ÒÍfOõêj·g{u·æûˆˆ”÷”_rþ–ô·¬´/ú—5ð—È¿…þmJðuÊ$l³P²ÿÐfÿ²àSè%o}.nÉ5o}.nÉ5o}.nÉ5o=Š[¤=Aº¤‘(Uú -ÒAãNè¾Ó“OWuûÏ“N ¢TÅ£X@ÓöÌÄ™;0w{z…û9©Â]ÒOá¥A¼DñÆ5Ža"/™¼¤ò6—Ÿ“ù“l~xE.f¹µÊ£\^\²ydwˆÀ"›AÎöPs”$¾ù¢¸B=Qaꆺ¹^Za3–ºÕ‡Êúëêcí98[‘½‘?iº+·{UÃiÁ–øx0ø´9³ÛEÐ)“pÓEBÑy#5Gõ†¢~Z@MÑÑ+ŽÀ -j¶žî4T•‡Uˆ«ÌUêN=Z¹[É[þ*}{!‚‹ÊƒqUübâ¸Er,+9WÝ®Õy%C#OÊ´jÖI˜ÞκÄñFjÉ¢²§ªXµÜºl÷UQ¨:^¹]¶Rî8”w””pü!MÛÏ¢D,nšé¾èwÁ]ÒÛ]#uþý8Lɦ*S6ï\!«f•µW…KÁ¨…+ùmô#}õ3Ž–ÎÚ¿Ypßy…†ÿµªOø‰îx_îþÃ'ŽŸ°¬dÇ›°Zl§Ûê„íuÁ6›°Ý®¸R#
¬«ZÌ1ÑNʈò\ÖàêD×{&8w““:O×` ŒˆÅ°xŽÒŒ1‹˜¼ŒÐÁT=&wÄ4;ŽÿD(ºp½ -AÝЖHÄñ‚½H!¼¢N){rל¬]ÈÙŒ6Ñ‘®ÿe¿\v䶙(ü|mÄ÷K`Ð…²²òÂ00ËÌÂÉû#§Š”ZÒtw¦gŒàÏŸÖÇjI¤ÄK}uÊ0]U±zÖiõ«jõªÕ©¦Õ¥f†¦Zí©_é¸ØRÑ\©Yi\Ñ7“e#Zm¨[-h5 ój>õj<¹ÌJ\hUËYV»¹”[q_pñJ²‡Öl -§Ä`C'É!N|ŠÒà©Nãß9Ù!}P'¿ŠwŸÞÖÉø‡Ø>@[¿í€O# -T³ Z -VVÅÆÃÔ˜6®\$2ÎŽÌÇT#’ y’®¸Üh[¹
?ÊÄc™º~&. m¯éå·<Ü4_“¸~ûvÝ;üOtxa™V½XDLNjf€)öc¡?èIçæÈ, - -ð¥Àü5„†XÅرce‡1ËsŒ1YÜ€(•d
d„2µÁ™Ù!ͯHKgÆ8¦\kXÛÃMot o -«âª´ -.Ö<¸§ŽG>¨l%èO–g¥/Ê\–h'ö&¹Ë×n^•?/qéÆkõ_ìV -öÎÛŠ+¦¨œ±ÛGÄ^À䛬°µfì΄íì°Íõ,¢$!zbIOUéŒx`t¼@$šQrÈØá#ò`Dâwˆ_=(Ø“ŒxÆqîàw„'šaF -öÏBàT¨åÀ—'Tp†ÒìÜL¡Á&rpðŽÜsð‘nRƒƒÒ`nòÞ‰E4Øô€'ž6tÀ¨¨@´.ŦñƒyaFŽã„ƒÆÇÇŽÞ£¹©ÖBkPšÖ«ÂÊPEÏÄ"ôUoWm${P°¾Š‰]er…§®j}«åh©E–U'~¬Ü“ÓªQŽ‚þ°¶n3í -ùÿçÎÊ^”¹,ÑNôMR—%®Ý¼ª›“ýwwÿ¿ÞvGØaw„ý‹;¼#쎰;Âîûwø“°Ý»Oã7!{úmÔµ“ª¬ÁG\NjÕÉÞÊð‰Dtã$Iåm'Yô[ùÎwNvØ/ÔüWñîÓk›Å7|§LçT/Û¥Ó3w–ç{ïp램ÐÛ!v×îüûö½:í;-{£S8ÓþøÄÚ>„:¹otºŒ'ÇY¼~qŸòÓÃÏß>?|}|ú³^¿|}Z.ýØýðÛÓÓçߺ/íRg’/Î_î&q|à%{Å*×ëÝ•“*Í3CgmìbOýê0#7µî±^Ï÷Ùk;xÓzØs«aßc„¶®ÅÁ 77!3ö)™QºDºEüÓRàÁ€l< /OÔ -2²í.à•"|Ó -]/Cä¬ÑĶuhU£9ÅÞ(ëOHxuL$m¥¶[kå'-¯a¼Sm¤‹ñÔÚë>iä¤Óû_ÛC}?æÞ·ÆØ ØôñZ9ߣ©¶›ÆªG…6¯eüv•ð¼ká⃧,†\+ÛÔaâÔ©íÄ7·|Ý9»çŒúo‚Æy`ET‚žCŘGI1îÚr(±U•*®$®$-Š 9ç -a‹°‰¡)e„•EˆÅahQ²!]l5ê)n·Ö:KÃÎM\i0Ç¢Tuø̈²5á“GÖÜ> -LT%¥Õ—W˜‘Å¡Ï}|žb8 ÃʹUùAôP qƒŠ]*t%sbàcù±CÁr¬7¤¬ó¶c‘¶²-ž’[¢(UvµÎ«5ÍK1SÛyÉ>;|=-‚¦2u]û7—¶¼ãº¼©.0æÏb&5Í)¿Ò'?øÑO~öèÏTpôV
øµ·aÄŒòVÀiÌ´Á|»º-NG.sËPÀÔ‹/¶hlšæ/êË5×QÂ+ðî -ŽüÆH÷Øÿ’nUÙ@r2£9èJCLÒ¼Ú_W¢ºâ -ûD?Ÿ‡jzT$Ü×Ø.WJ:ñù¸ŸÖvj©=Y°îÈʾ÷…iìÐuþ¥Bm?‘\ç‰=g¥@•³µèéÙ©¹˜ ¨WºLùÊ(£0|˜Þ·fmåáMø?G¥ˆúΣZJ?$¥Yj_¡ÍHªº³¬y™ê·fm× ÜÛã!(#ŠÅç[ç{aJ€×[™ð÷¦íO48eJðº1 ¸Ý*ï]?=Rv©ø•©“ãûéSŸÁÀ¾¥%ÒŽM:Nñ?ÚÉVÈ‹fÑÿ -ºbu+:'º*&~éÖp^²© ùÒnh’ÍÓœ ¦™‡
L)§’¦TÓŠ~êá?3ÄuÎ"…CuóP6µ«'Í‘¤:Fá1Sz”
íÙà -FXÂkX`)CHÁíØÉ[Y`/¹Ì&«¤ -h žL3„dT™ÇGÌó\¥`×y«xP¸/À*W¹â€–©Žu&¼´,u«ëbëñ¶Xib/=—¤j©©l›>ž¥p©)]h]¨]*Ä¦Æ ý ®É`“!„¹Bri¥h› ÞZàÔZ÷e#Ñ»Ku=üÑh€b‚ŒÚ¦#òK@¯C/},]?–caú‡é×Ïxæ[ÅúUñôé_/§xýÛò!ês˜_ü»q{Â#̽éþ²„¦ïd’Ͷ -#ðDÁT1!Ø…-óF/T%¬ -H‰ä—ËŽ$·E¿€ÿP›äMƒï‡1@&IÃkÃ+-f háYÈþøF™Å¬®š‡º @PÞ™îêª,&'nøæ¿Sbyù£x/䓯oP-҇˲œôÒ (”e6Y¡&;¾I—VFYå ¯‚Š*AYµAU5Õ1®ÒtmµÚé -$Dd@š8¤A© }GžUd\AþQ>RfR–R¾RæRSJSrSš'ŒœýÎYÐ -@q@òA€ò7#h…¼BH°Å -(ú¢^UËg5JÎnpŽn6èÝ‹
³~±J¡pô¨ˆÚ‡Ñæ%èi¸uVOnŸÙø´zcÁ
÷êm rk¯å¶«.Ú†F [WÖEWÝ`šÌ›(¹É*Ô•„4Êc|§ñq[ÔWÁ7V]Ô†ø㥇¤rïÑ;žÔúIãÚ·õïÉoã."™ˆÅ8®jRwÌ`ÃbgïLe5³ªMeˆÈ`±P|@‹Æj6¡Ê±a³(îÕc¿äбØÜŽ³G4"Sß´ƒ !†r(aÃB{”X¶ÆâaB±rCßæ¡ÀŠ¬(óÏ¡y¢|ºûvŒ#P«BåÃ\
ŸuÄâ6Ž¡óiÛqÞØ(‚jÁÖ5Âê8`ò3Dã -Øw Vq‹`fÍð -·Š”(_%ðVž
öFe™:lQÅnìYÂÎìŸÃ.¢Œ~Åè“ñ¼uHBt”¾#þ*Ž¯àGßö¨kKkß&î5n— -Iy*±âTXÞ{-¯9µ¼ÜôŠ›®—û^6ÙC…õòËeÇqÜŒÂOÀwð¦É¦ R¤H -EÂa0`Ȭ¥ü°ÑøÓÇOz—šw-ÆA‰±ß3Åé‡Â)!Úˆšdå *FqX²n}`n»aº‘õæ®·ÿÍʈ2âGÀÔc¹A^9F”c+ÞÑ GåÏÔ"¨1’î8ÁÿìHz\I1S¦Ê0q³çØÖ‰¾¡O:ñ´Ä¬Rƒ±´é×Z®}‚µO¬¹Ÿâãj–s|È%?ü¾“òÉŸQ{Q8¬”¯Þ²•Õ+Ž:c˜±›W]\t&3jÞ -˜ªh sMZNI+ÂßôF‡1k‘‡ö5]1Y!W)S1O]'ªë<e•§Ú’§ºÎ(O%å)¾²2Õ¤L¥\Åd¥tÕ¬£¸)½²öþÓ”·Á¸ŽZ¯Ÿ÷ïöO^¯]kaÉÔ
WMå~N™ ¼¤õ\׳®š·5ãÐbô6¬WÛÖº>|ޘׂ˺y¦ý쎟NUï°©Ç›nonÿsù»êL½á× -‡ít¢xº—ê
ÜþCU -æÇÉ<²ØRp½VI•Hêa”0÷m@ŠÂÑëb+Œ¢`4E(ò@GDØÊàÐ -Yã¹tÈgƒlÙ9`( ³|'èp‰ 9£~©$ñu¬õˆ‘“A¤œã‚ ß¿Љß%ÐAt<˜;ÒÊÜvÕ”dØ’ Ö—Zú…ödhÍà‘x=ÿvˆR?CÖk&¼æaÁû’d9¾Z¼<Œ‹Ï"n]'·›àvñ2™Ë¨×˜gZ߃ýµzµ›¥÷rFÖ«ï7C/ƒkXGŽw¬ë‗U«7®ïNnÙÕ÷Vòõ¬÷CÙ¬ïÔŠµxØZµgãvšú"S7p›Ö]õÓõžk¥»êÌÔ}CáUÒ%?T¥`û8™GûA -‘ä6(%aéÖ'ÑÕ7hŠ@ÓX}’…OxÚD—”Yž|ò\`v€§T.ÉÊ%Ñ!%A*RÀ”=€ª Švh4´u:v³‚æM2+£§§¶®6ùº&±0¬fhg_ŒWdšÑ¼‚VWɆ£À¶»²„ø%Ö-Œaýb„»¸³`“Úª€+ÇUnüà €€|õ¢ 9Hfp°ÐpÎ)o -¦B±«PLEÃJ©A&m˜®´2JfÝ*oå層«hN}|:¨•`]‡Çª¼]Þ͸‡CóO]PHZ–eBÐ^Å/niæežæ3uNêf?·³›iž&L@ƒÌ|'ë¦9bGTÐUqìòH«¬ÒhãÄ2hÎ.szËy£»˜š†ˆn -T´
ýZ®d02*4-A†fÆÍ[¬ÎˆñÊëÑÞQÐô Úßq!€f¤Nô -†V«?<D–8PÅÒu‹‚$#»†
MãÄàa\¦qŠÏJ -"XPPoä#}ï"Ü%Õù¥j®ZóŸigÁ`6<õ¥MñJݕ•êbü¾´ÏäîÈÞUc|ó²ÚåUÂÄ3?V¥àcŒyp*ú -îHÊHR»ØyŒ²`ˆ¢iˆúŠ!Bh' ¨'€0ôAì±Ç<NØ!tˆ‡¸)°!jq¦c -a -]V²ª€)q1'Y$‰•!……“¨1ˆQ¤ðB„抄, -r…Gµ§Y©,¶J6Ó.Ò\5Ic•ŒŒÁj¨ê7¥ª¸©Û:£-2uÃ]évinÕ,§š›™^øLÓ74Þ“9Ù™ß#sº{x»Ì{þAž#‰éIiCÒR‘”Hš…¤~G’•¢¢¢¢*þ‡î§XŸb{ŠéY
O1;aµ9F.gER:@ée$ÝBiõ'ÉÈ”„
Jö•P²·P2Š+G(½KFdŠ˜n±ôý`ªh2+›^DÓ9œNñd® u -¨çˆ:Ô -*sU/êX™×ðë{tƸwQîœqÿß$ùð)ÿfš§Kk_Ú(úÃø7öûäÚ6]š§º´=6bkAm„¹áäl‡fÛðhxqØÄç=«þÓ|øôàªùwc/
Ô]l{ ö©j×ÿ:ùfýýSðEgŸØ¨—Ö?¡óýÕq翸>>¢jpÝÅ5OëãÉñ·¿ØŽ±\Ds}о¿Ì“ù0ü#|š¿~þûo?þõË×ÿ–ùË/¿~]wýõòÓ¿¾~ýù?_>_~©».)üÅœîEáö’?ãñ~4šCvS{={”dû,Ón:†Ú:˜g©vϵ{²½Õx_æîœÌ焉{@¦˜æütø»€‰½Ç?-oXÌ[zSAþ8Œ#¼ÅV;܇®cœfL•-Ü|.Œqiz]jÆ¥âbq¹Vw† -q8™g
C_¦ÍYêñÜçѽdÙ¿.V·#üüâ[êg;‚7‰À{\ ioµÄ¤ -üHþVã¥($»knU%VX9u«ä—Xœ5µ[2ào£PI ‡¥ö0Öyr̓
iÃp´¯ÆƒYÙU7*"šœ?ÎSƒ–_së˜5<Cý K´ëõ `I¡ÊQ#HY_·'¡Ô÷ú¿ëC€Ùž8ŽHµ¸%Ão´ƒq22×J‘9W!ä_È⯠⪢Ä_‹*¢Ä_ÇœUC©m•PsÝPPº÷KPSt¯2E…¹ª”!ÝO"eØV¢ËT¢èÞWQ(šd'¢YvÒ'šfSžhž½u"\ïqqB½Çò¡M²pAZ4‡è«¦ÃVixA»A³è)+À*KÐ¥µ£C–Ìñ"KÔ¦²Dö±Ì]U ©\+P¡6|iÚIÕ†8ì!ÑU’d¸>š6ÑÒ=© )’ZÂþ‹bo[š‘ó2´©j„qW‹ÁV=r@µˆŒó‹A]€>å¤EÈüT¹«JbfQ^S‰èx"Ó6tÈ㧽¸!P¡R!ÓÖäƒ °¡¨U]dÂå@ßU‚äÔŸfΡûˆ¸?vÐÑ¢¦mȆ¹ÃÐó”E|LOtŽú©{<ºË5”º0&`Ó6tG¿˜Ë!<ÈN¶=ëŽ,<ûCv`®æCM`€ÜYt p Ò4&ú)ògJŽ9^ø\m*8tUzÒ*7ÔeNóWņ^jÑzqÕƒ÷ ©ñ¼»´Ôt#@¹@oî¥%ªÊC;1ÔDÏ·ApEF3LAª9Dz‹2€ú„t.du‰*0ÄÕ%Ø2Êû
—’ éõ´Ïs4ôaðL@.¶ß -¡ŸÇ¯wqÚ±ðdn -}c˸*)Í8Yä“£: - ªã›Ž1íZjódw¡ü9¶HæéX]“5Ó&YJ%èdk ô˜1¼éŽ5O†iø)#Qz'p¼ÉÎq]lM6ÎašÞíqÈ^ÙXGH¢ýÂ6àG—ˆ+Ý -ü”p"%k<´M¡FkD—ÉJ:^ÑÚ+ÍMéèA-©/:c¸ª¼¤×YyiÞY‰éÕ`¦'±û5=ð.NMt¹Ë.~Ò:À(6Øo@sÒÐñ•¸/2‹ ‡ -w!Y<oÝ?Ö@5Jï’ÌP褊gN1ÒÚ½ïÅP
ìúåÈéåB±C18Ët1DY%P^‚Žo†N#Ž9`Tö²Ö-õ¯¯FiL¨Ûܦu§@Æ<K
ZuÍ¡cÖpY¹øãbŠµ£Oì—·±£Ó‡Ó×…íI_……"PlO)¤*{º)€“¿ÄÀ¡»}©K+{©K+y©SÊ]êÔK ®’zv¯ÌUˆyyWÀM% õ6‚^x+p»ØH2³¹T2±rÄRŒÏÿã¾êz켉ð/8ÿaoÚ‹¬lí±/iÔÐ*¤ˆ"„ªj“YPI¨òïyæ˯Ϟ“’¢
´ŠtÞgÇãñ|=3‹³Ö÷ÆYsÎ=Íd§¬Úl¦(:‰µ:Ð|Å`#4«€¾è*blŸ$I–¬ÄOäÅU1gFªð\±30Û–Œ¨ä“ý— CÓgD5°¸É&<…!ËŽ4µ¾7–Z˜“Ôã€>9G1Â5Ð\vŠZ˜3#Ì í*¨‡á‚þ³ów‹Ë’Á²Ô:â{£‹…9§„Ž ¸gg¦°eÉ„¡ãÑ{>-aph]†ª•RºÃX+1V¼‚Uf'%–áŒiq¾k™tÃsì0#aô)¥, l¯•±GÅ÷Þë6 -A3qËÎEaÈ&£†Åcv"Š…C‚ˆ;-óòôåé¿ü}óå믾}ûöõòÝäû›ø -ay‹È<{fð¯¿ÿËÃþ‡Ó‹È_†ýå‹ÞýóÏ¡ç³—ß¾yý -%øù Áÿ¯<½ÃÿÉš§°Û{|ü?þ -èÇ›zó››?þ)ݼÙßž¡£ƒ`Ñ…¨JrJK}†:+èèý|wcêTIáÐp
;Ž?àÂßž@°iH¸À¬Œ¸IÑÂkRÄ<°Hh -’@Wy?PÖ›f©öVÔÞ"•5š4Si$˜Ûn -–Rñõltn@àþÜRÀMšüÙ«BöýùóÙÍU!+Û¼zØ°ùÿ°öq žŸ¾;½<Í›Ï>¿ùú÷ø¥9"8Ëèÿ”èŠÞ - † -þ¬à -08áCËhå²UÈÓ CªÊf›´ -ÕëXç'÷ˆ¬Ë¢É°’r„ûjÄÀ19ঠ-ÐÜIw³ -ƒËõ$PSi6f/²%[Å+m¦l©‰6€ý0{ó”Àª7þi탊:mò2”Ô»RáeÜ_/¿=š§töyuêO5`ÏWYVß1dÕ|YÛ¤´©iZÄûGTÖ½ôÎ'Ø4‚èIÃâRe _–-ä0oÊ\ÙŽ~ -0›Rucu„ºsÖò™w#KÊp÷bŒ% šƒ™»ë˜Âa2nX¤·˜z((X1ÝY†–.-À¸,–U -#@¤VX0ªŸ˜ÅSˆÊ(ìà᤼ƒ¹×0 å²èše -°Â¸g$oút#uU:oIžaµ4õø@fS<Œ[ó¬Û€FrR(˜µXkp†aëa8?WæO.ú†QnKî‘G)©Òä(‘©’Ÿ'dvw[g5 -Has[ç=¹ªì{ë<µÖ"esœïÓÎË6¢{¬€ºƒÈ¨~S€Œ*¡€kÎ ’E¦¡Èi88jg÷õ ¾ ##yzr ùuµ¸ -)¦xy`MÍ¥4BoǯføùÐÛGr+ê´z8)2it6°ßbu Ü=“®Õ߆ͱ¸^¬•µº½¥Íá*ªÄÄT4b;QTy¡¥¶ŸßfjQ¥²¡N3VÔ–í`áìX·3\àæ¦<º›0S}²¸‚\H¶xï@wˆ@ 7¨ìDÚ×6ãaI_;3º8ÅZ÷@ -z‰6…5µ-j¢•Î°öpfÊ‘Öì'*/¥²yÛD1æ$"`Ò”BAÄ.@GZ -ˆátÀöÆŽ] «¨Ýå ©¬Â±€„7Ã]9Œ5HêY4«¥ºi–E³n}R[¢}Žp¶Q(h°+d-¹§4²Å6Åú$Ôå~¥n™!©W¢ùaºuÒžâQF—µÉÂ;z÷äã4Í•LÖb -Ùõ’:rè.Ëàü`׋’+u%ìp
9êM:ݲDwµë|gœ±ÏÜ”{æ¥`&ŠšGñ¨,F¤RÖ c#LÅÌ~Q¤ -æ-õ#Þ@ì®Ô»ƒ5ñW(èeøk[ó×Íæ*hŽ0ŒæϤ¼ôòšXò*èÍ‘²Î÷9¥5D¯ñHÀŒü‰ñÈ]+0²/ò‹fÈrª«?¨k±!¤‘r%Ê[d'HºÞ«Ë–Ãøkü›î*ȲhEa[é%¨ êøOkÿëé oÕïžÔy•£\TH:±%[2 -´Y^‰£‹V^ –úzv,°=º|.1@|ru±fØÙúüó4X»h
ðÌš B~h¦ú® -Òæö«e´s‹GÀi”÷½ÝoF -¸ ÷§¡õ -³ - -T‚Έ -}œ†¸=!çæÜnû¸g³—í¿·#W¡
ó"áÂVþ¬–yq‚p÷¨Åg9D<‡^ctáþSšêÕÏ¥V¥Yå†ò–¨ÌúþÂÆÊ@Pe·œ= -M÷(]¼„wËÉAÈr§/Éí€6‹mÔ¤ ¸kQNË(sÊpäPèe(‡R08F¨K2èzŽ -`-[N4×BOy^«Ä¦ðvÀk´üØ«´þo&¶¹w´jÿ¬`êç`o2¹¦ß’?.O}´´óÒM+×bâÜ|t7û\(ùöÝ?ŒçZMz®U¡´p²ò ›UN0@_ÑéiüÖ84‰0k3ÁY¤ð)p¨’¹à³ÏêÚäà„g¨Úö2؇‚µ]zãf1ñZ
·îì~¸Z-½ -îŒ2+JbK«P[ÚB½ê‚Øã¨\ÅbT´.Ð
Êw:Q¹€{Ñ{í"³¹æš|˜GA•bÔqþ^Ö´%wP–ƒ4VöØwPéa"3À¨G‰íP| -ØælÆV|¯Îû†]¸àf\ù{”
Y -ØÎkn&àÍ(—èh[j09ɶjß ˜€{¸A"µÅ6èÞõ`ÅdFØm:»š¨³4‚sÞ ¬Ò3@- -€åfH(¶—‚2>GÌô&€iúšËÒc?”‘Ý%žkÐÀK]ßÎÞÿ'»^±ÂÑ0 -a|Þà”t›¢¸= -›ô…+ƲǞs¯â ›¬*2ïwäÊFKÓ-l[ ôT¸€gï<»öÑòuì$Ó’àé—iÓb9ÝÞ¸ðÃØ×¾` -î‹ð•*q¾Ðå¢sÇ!§\þáɾ^GöKf¥µ±YŒgÛn4ˆšèŸübj -©kA¢_‚é9 6vHp€R(8«Ô -òJhÁ4P{øhè´I„ˆ;„˜Øö›Û¨sI׃SÙ”éÁ³@òdÍÍsBµj›ú´ÌóPóªËvÐoîGøúžfþúÌÇÏÀËÑD[åþÔ·gÏ·›Ÿ4x·LƒÁnY’¤Âª-É4—4lYŠÛƒ4ÁlF0cuÕ¹‡ rÒŽ!+G?²J°¦ÄÇ 9r$‡/ƒÄfþúÌÇÏÀ{Αÿ RÂ?U4'Ô—ÇÊ0ÍwéÔAê<ÚyÀtí<H†œiÇR+Ãã1‰=r]†ˆ³ )ò8H -?’š»?…õTðñ2 -ÎñŒó·¾~y"¾O -Åo›S -ÐsÕAB5åB›f -Èë0Àƒ¿ùÚ†8Gj,«]fN÷ˆhW(uÄ(Vò`³Z2sŒbÕ”@‰ìÝR5Õó¸f¦0Àì…p˜C”xÝû2Ðû^9æ6Ôßý¯x‡ËòæZy59ٟ̓e[fX«EâAÃ)ð»Ð:8*Ü=gÐŒS£¸W]=^F+tJ -|?#ؽM7€N¼?Ëô•¥·ýüDìvËpÿ‹è:¹ä -k2Æ•P#³:¸´¶L±2C%í‚ʃ8·0Pjq°<LúNÿ 0 -H‰¤—ݪ^¹
†¯`ßÃwRhÝØ’eˇڃ–”–)RJHÒ?šM™Î$äîûÚ’¼¼ÖJ{R†0_žhÙ²,K¯r—g!.wO¿Ð\Ú³Š–‡f`fyëÜe°òÜko•K@¥ãûJÍ¿OIºÛ–žÉ ¦€¹TƒY¹®¨·M®dÒl›µÖÙajk_ÔgíÍÃJõa_…·\,ë\œÚZ 6VÇÔÚ# ’Aå”Öê4*õX -,îu8™‘Ÿ‡“ÍR]‘ž’Ê׶awRp@âºú<âóñDsovhs´¢f•éhéZGè*¶ÔáM•qôͽ\á?J‡CpÓc8v?o·Qä±ÖŽí,½{Ç 'æÊì™Ì©×G]ÂÊŸ¦xÙ¥„4až…ŶD¼QV¾œƒxœîç#‰¬ùÝÿ}#o±’ÝFÖ’gáÂ)âøñ†Éê-Ô³³Ö”öÎ?®½ðÕ²TžÅ饜ýç€ñ=g¹Û¢ìu‡]®Þ§\×V ÿ£îŠºâ—§+ÎÌz³Ýa²bî06+^ÍN¶©ZÝË–/"[Xòm`—'[\¢CäÍW Zïò WkôŒ&M+l„*òéfÛt]ÎgñvXê×fI®¶èJÕ •DBaƒqÜéãÍv$¦ÁÐ '¨´-°0„_Ø6( «qɵÚÎHŽÏ7ÚK¿›n°”ÆqØ“m±¶pÚ¿Po‹ÏKÒ›%k°ÞŒž~¦ã‚|ÍN¾“„Ö=Aízì¿0Jßlw¸Î4áZ`k³MݪƒÅÚYjz?º•‹%1_BºCˆ«~|¿0TwlG\ÕQñ’q‚ZóòÿÀÜR¾øM’iÁÒwx=ÁfÛž[Î.€’+1ƒ”^6È’Õ›-*¸/s¥;Ôôµê¨{¯ï¸ÖÇE-¬'¸–¥Pö›-j¸„âα*úãcœL0Ÿl¨ÝØé®ßq»ò -Ú`ƒh»íb;ºˆÅ¶áF:9”bù‰gEizßÕñœÌÎ[«Ü $Ü@kž‹;¤šÎygÂÙdÖ@çsÔ@ïÕ‡7Éä°•–}$kÌSîeób¤«sN8¦GŸ¥f°uŽ1:XLtEG*Ÿ-s꾓°µô1Ð÷
Æ<†D¼ÚBVŒM½*7ØÚ6ÐF„°oÆèiCuδÁ@‹Ëa‹¢ú²Aø]N9en‘¬€6d£¥Õ¸Öáª;ø‰'¾ÁX€µÒͶÌÔœ«FI$Ú¶Šº ™Xš7 (öYNNÇâç6«ä%©Ñ¯¶2j£Ç%i‹ÊÅS††Íª1Ðóî˜ieãb¹œïDS¿ÅÀ‡»³-`ÀDnœàJÃí%•è׉üXëyïPÒª’;®¼4œµÛS\B.]bRød‹7Síq!†ÉKç‘%ÄÇŒ8í*Ædà€I—KD‹p9[¢Qù“M(ežÅÕG‰9ö¥Fë -mj˜¸ö×í90f¢€,}ƒ«Ïh—›ÁQ‰´¹ÁV»\¸’Ë º&'ÄGZ=¹µàÒjòð°HB±Ò¸YÕ¾6Wü³êÎïCGæ!¨Øm…«ÏHlkIuƒ±@S½ÚâmŒ<µ'™Üà®7Œ`x†6k2IZ—šZph@#p4¯Í6D`µ"½ÁŠ.˜úZàÀ*6
Øíà «aÀÖÄaÕ¸Ex›sñ#0«KÀ¢lÉu‚i-p`2nla¦Ãh]clå0ŽÐóŶ, éÓ¨9´iʃŸ3›Ø‰ž³gQ—°mèn‰››Xã -çx4æ,ý¤ycŒ«n9^RÔè%V6F›n?ᙜ¶WYñŽ?BPxožq‚Ò$_lÑX=5Ró€ Ÿ"Â…çWN!pêAÁìF1Éd#Ñf‹§Ö(Êa^Ï3AûV²<`Ì.6ç xÇSfˆ ¸ñTM›!M //å›-Í"ù_!åUv,dʤñš)su«o‘¡W¬#“S -[ɉ7%|…„V¸8p‹ Æß0ji¢p_(ËÉ!]…ÎOx½¯7_ÈÓ"¹(‚C%‰W"høz)£EÑmÞ
*}´“`â õ -¢Ï5´Aëé#³‡ µPLil¬ —d{ÌÕz_Uªs^""‘‚*Ù[ge;ö_MŠ®~ØuB
öEw8‹n,p`ŠÆ8 â°D±j·ª0Q±pï¶uÔ¯ÿuMxÀ3.ªClEÅ0„[Ñýôt†EZ¼kß{?hTÆ#Ң锡_K7X{o7ÈZt•›C9D¹á2Ã÷U[»Aˆ>Jö˜>WyïqþíÔˆTÁèr<™‚B})ƒœ§"$òÜaâÄkÀ¨ÉÕ{¬Ž©°l\ú9ãÚ›\lÿÃv™$[w£@xÿÞìPHÛ;qDÊÓŠðî+ îxx¿àê¨2i&+ö±œãPÀí³üh\| -Ä„‘ƒðL¬³ä‚+[Z¥Olêäۅ붱à‰Yd<±.kG‘¹-Ø ºz¤;O· œSŠWp-ê³æ=û„.ò«[À¨sy^\º5%ú8`ì``£O¬fÊL{@‘•ˆ-9ÛÃèî/zZå]—vµÓp{}£eã—‰îêcztH<L¼L£€¼2ùh{¸ÌÑK’7yT[iÙ -,gQo¨f`\«Å«½þ| ôîãÄ<üd纳Ÿ;LÜ+Xá;ÓïÝAšb¸`L®ÃÕgǶÖ#v˜Ì\P`óþðpûÝ›ÇÍý÷×~¥Ÿ?]ÄæmÍÖ8猿/m]Ø`²v¸XÛÑý|IúVWa®OÃËÚÑúóH÷ZN0‰]ðXõ€tø|Çz„ã*•æDD>Y&KaèKo¤™|e-µ/“åO<ÖwÌ`?CJŒy…0þŽ¢áOlÖl7H9&¯TãMF:Ì¥{}*63å~ÓÏûÿ…ä8M§šâ\vb,œŠ»|@µš3Ãæeº¿‚8`<K©³W±ÈWªÙV-1Ájf‹Ã9´¾Õ«³ÃXÅ7RÀ²pÍDõ^±¥Só…_x/8ãÎ×´¹þu™é²?a¼NáÖŸX¤BKüô„^*°1®Ó3óĺ¬Öµ´)Ú£ª$ÖõSª™ÌLÖB œó0;Šì±žÂÖû7´¦Dê·ŠãbJ -(9»Í…õªñÕà6DŠ…úR
ˆŒXj=`,Psí#v|ÛAiíY‹!8ðˆ-ë&ü_|Œ‡S¨|ciÖ¸•ÛuبcÐ>®cÌ*£þ¼š<‹œªfw> ý¿à™˜ŸXTë‹ÏñK/î…xŽ¸®ÏsÛª„=Ú ÐMÙ!÷~ÂØA«&CW¬iÓœ6=cN¶ÇSçØÀ æ¤ÀúÍé
mm_œ?±–æsB`ïÿë|4«}ˆ1‘šæÖ}0äÆI/`¿€Òk6 ZxßÔ !ã³@WóHŸX<F\«þ6¨Í2þ:Þçg9„JBFrxͦÑNhÿgh
É'–e -=`q¡#ŒFÅÞÚ¡-€m7iO,!puäp"Õ™«_V#€u£åÈ®(½™¦R¶¤#—ñFC¯ußx²9㽯p7-Ú6™IDŸª?ÿüº1Àué‰wX²1ñ…S¯–È,,+Sdv¦FÌïjä0þß³ÝÊ‹"î–™„4Uû’Ÿ \2ä‚ýÂBœêEüUzµ -Œ—óÐáÉ -.,Q)ëÿñœ"aÔ™úø—Æ°Óü‰õNÖ}vðÜ”ôÍ‚5] -šc¦6à\ â²|#¶[ýO9°M]¢ÒÖß7N5U$mSp±fh Ò 'V—è>ÕÇÊÀclƒ(àl€’gày5ã7ó¯ -K@Iy-ÐÛ c7Ëwì`³
[Q Ý¥[û¹ì“¦n$†,íâŠJÚ³ìSðý¢ -2±¸öPŽPÉQÚ½X¸ õ±gÃC9ô[uu=ïÐzÖÞN¸Ò O{Æ6mDÑ`McVÕsù.=«jî
?lv³«_JE¸Ò˜˜?±hn±*™Q¸àly±@`¨XåÈCt8ºëû¸‚³h}Q>±ÝÆK]5Óq5íJظŠM’DÛ.O}ÁJ¥Ö×%v(¼û5÷Ez³%{Õääs®.y½‚c$2Q\"a@´q¤T)ŒDŽœÝ±š\ÞŽ;7ÇÔ[xzo|ªR—ÕΘ8Š9{ïDí™nɹ7‘(`Ê‘ÉèîµFÕ0U¹…-ã…Yö·!ä±*eP†;ØAg:`(BçÊO,ìR²ºe½
qˆÑã„qåË_
B'Únƒ~`Á
ö±-8Föùb‹šC[ -'ÚªÖ[à–ßÝŽBØài?GÀ#£Ê~î{èêÑæó¬9…‡¦$KCäiå7 `¾ð·–—3Ò›Š™l@XwPRÆkVñ¤ib\Öb -þ»aî©=:TJý,€)ªã"‡,+µæ 9!IÏ%*.\Ö+”0§åqól²Cˆì#ôÖü¾({&.Û Xu´rƒHñ -óm£Ÿ±IÍÐg2“(zÍ–H]¢ŸáKžrhùfà&5:ê€X>Ó#¬ÜÃ!sg,Z†®"Á]]špRØ3 îid¶†zA4Ù¼uyãZ#΂֑¤é[ÆdªtÇJØ°î -Ÿ0@¹·O솨„ü{VºpK½˜f¯êHÐ?h¥Á‰+÷ð&<¬B¡c=BœËáÚ7Ô+v¤ZÇ-v -@Wã:&Û3.k¥¼X”¢#P‡ñ}íCn¶MBÎáÇ`/’7r>ÑJ®°Ý¡ä<n°êȶdKYt†v{uÇTÚÅ`ÎQ -D%쎿ÝÇ”³ƒ\JÀ± Ø‘Úy›^ -{o™G¬ßùÄ -ÀÙV¤‡-óò(î@K³;vd<DÐã -“v·ÿ^l2Îü¦QcÍ0iª$ÀTcìÔMô©<p -pËÛåo·{‡ë4™]¼È‹‚¢îW‰´ë¼cƒU¬q5S¾‰ÊC—Ôî¶xÙ`Mu@Nâ±l8´¼6‹ -ˆ+ßl‰È¡Ähp‚‘GgšW—¸år¬£*m}í
´F@s©Qãzrƒ%¯)èÀèiK ϦVC -4ëS\’’_l×T°êñòTÁ‡ƒ—Þ/Â^·5†³Ê-,>o)Ž/,QB±©Ëþ!H×EO¸aæëYio/ýÃ; ç´ÃpÀ^ÎO¶{@Î!s¥–†ƒžXn¶P¾Ù”‹Ü ôK>,\¥Ç# -ŒòS[aÈwŸ”¢ÔèÊÀÒ|® dY\IÛßbE¯p;/ÛnW}AâOs‡’äøÞ).žyxÉ@îVvsñïUlô{/É::ÎLä¶äïÖâníPûä7¯Ÿ^?ýâåïú_ûüþ»?ÿçzûÓO~|6ø݇¿ÿóù„ùúùùí§ï“>€,¿‚|z‰¿o¾<}~Ê—ÿÆïüHóÏ›¯øÇïñã_@_õñ‡ÇI÷jþýì'Å/Aõô§É=é/1¥Ïãçˆ~õêæçÕӳƤ|ÿ”ô’ ù‚Æ1ðsKgýJhwh©Rñʵµê/ýQ ¸Æã
v†käÇ—uàÖ¼pã=TÅ\œÚ†?>ýÙŸéè4¶Ý-¢í— -^š""¤n¡¡,5¨i•"ýÁêQu‡ôª?rÃýŠþ¨¥4Dꎥ˜øÒYt;UÙ°‡]F…öXdêÝ®…ˆWŒ!pž^Ëyžg%T!ý!ƒæ©1B”=ØR1Áˆéç§koçqjƒíÇ'Sc೉©QÈJ*r°?4lrÊMÒZئáL’¿y=g¼¯çc¬{ûæ32åÿ÷ß"û¿„Ú6
5YsÄçÕ$ð6”©X¶¢0DøláW[ÓO–⬺|·®VòÍvv0›”† ª<FÈ3>"8¼f_o‹åœª8ùÞ8[Ê6Gàê[tÞ9GØb¨•TãnÜïÇ;wÖncpò9¢×ç…$X3Úœ¦jY -¾C“Õ2,‹ÖêÙy˦r€ëhŽC’ -ÁTÑÙàůӞ029£Š]l³·¸y°i\šµ±ê€wCäl’¯¦ZÝFÑ™ewôs@ÝßâàÚ¬JöÅ0±A"¿Eˆ·Ë쨄¾>›ð÷ª™¦\©ÉØiÝa$QiV5O¶ÐôÅ Žçgj. º°ä!—Å°xÊP»2å`ëc»ÃQK$AÕ9±ìÜë
ÎÛ\#£›?„¥¢öÑã`ºÐW?”&[#ƒ¶?ÃjO&ò8p±äõ<žER»$Lã}F—s¸" v·(1GcºÜRWDVµùêf=´[¬ïgŒNØÖØèp~_UîÚ%œls·<v'(-nñ„!Ôød;×a=]# $Qf7[´½€Í’K˜BT¬¢S×êg cGÿ1¥s¡TÊÁìsœV‹b–Ã{‡²–íZ6ˆ²Y(NðÀ(E©_ê¨ÜQãkêåÚªê×Ñ/¶ÅRñÞшïS¤ñ ÔaljÑ¢5ÕÔÄ -–Ïaì#Obažü¾VK±]pipÏo,¤ß!µôÂíoÌæÇŠùqB’]€NˆÁ`ÇÆ1G -;šrn»¯qs‡CØÐŒVç0ÇáÑàg‹™‡a´Å;ë+ÃÔTƒ¹¸‚aõÙÊ¡-ÀPŠÜ>±eµ8¥Cº#‡øS(94¥eê1Dm(µòñÚû/@©é'½XÉÄ µß¬‘5Z^¾Ìí;j¿RöXî¦C¸
·ÎÁJÂ3º~¾iÙxB+ù¦p›Å&^‡q€>ç+0Û‡1þBt€Â“[$€Ä€æi1`ü‰ïŸX<\ïf}ë7ybeŠä9í¡$A*ù€QCœFû¾bOØüil–L9ïßdrë…÷.¦pkäùñÑG¯m-0ϸñGü뉅n¬åæ*¯ÝºÉw¸vËÖhîØÊ•5 :Ñc$ßc9ÕX §)b€ðÆÍßìøôÜã [cêIã!³Õ<4 ŒÜÛL «)¢CzWEMáý‡´·ä&,vœ3:p|KšË`¡0¹Ÿs¸$s©ãŠÅŸÊÍ6 -ÿùq/³âß?ðÌæÆS‡ÅQ¾mvAËËn²|t3H{"JëÀî\®ØÒ\‹lOT'öÙKÖâµ½ÚÖ–úþüŠIá³Ut-Å¡»û€±@*ŸXHC‹ÊB²Ct{9`˜Ä¶æÜ3vAÌ¿€u9„£ÑPì wß%j/}9ؘû:BìM«÷ð®ÈÜ —ÏÕ_Ä’¤¨"±-JzÂX`Úãolet[IúÀœùX`áè÷ãc=£BËØŠì#l¬mm¶„8u‰5c§Æâ×YË™ˆ‹'EܧÃHH:a˜ŽðW¬ju‰Ê¼¶ŸšaŸ™¾PäÏ'¶
¯}ïp8ßÖ(‡
¿»½b[n>áÁ -fŠè„±€¸Î\±Ò’»!Øk~à<×Z`áy2ßKp‘Õ½ú K¥íI7æ¼r»aV„?›è—M$Ò'6,%,kß#r¯¾bIS÷mýöºgÃEzÄJj¾ôHyàÈûÊ¡SÜ=û%àù‰Ù)¨kõ¶Å(f^ÚЗåÀW,Ì€lcx›°ËÀ!Ûɇˆ¬U<VTrŒ+“ØÞÆÓe@þ•|¸¢ÂóÆIWïíX -˜Cu<›xwÀèœâóeNÝc[Ò€RZ˜3c¥¾°¾3°Ts„¦ˆÍœÍ!´p<TÍÃZ¦\Úm¤Yº~bÇ𣜰ê÷„»ðHMÁ[ðXMÙGÜúh\HÜB¯¢ë(q\Öq-‰†€]pNëž·k°jØrÜBe (Ç,³Øªþ8þâ^>~¦ir -W7YXÙ*v‘BëZŠ…"©Œ~V†"c©‹|h‚ùh’»£:Vìe¤f@DXïSAbrŒ>’(Ûµ&š9 -Œ›a,APf†A®i_£À àzàm–¡Ù!¨ _ëx"Üfæ«“òLc!úÖŒ "^±N,Sm¯²+à„Àh–:p†U¤˜Ž! D^¯L³Ä"€þÁ»±@]ÔO³ê‚ÅIÆŠ¡£™¯#}¯JA-
Ü*=y±˜îõNºZJ¶êlAÈÅÞ7'õþ
—Ì•1#Áªé@ȱ‚bTÊ_zá˜0CE‚¹ÑP -‚M·T¸’ºl¡¹RgÔà*AIóÄ»˜ešbAøëÀh;p†×^Q"d3¾^=ˆÃ#fË$½9rh@#
Zˆžo±ÚK#(d6YìÆsícéˆì - ´¯Ä |ÓèÆ‚Lô å4€®!ˆHÚÒ~7V† $f‘Læ•V¹œM.&túÌoš/å6à²ÇÞ -Ví6@FˆÛãì‚ JŒŒäáÖçtËÈn - -'ˆ0¡N»[H_4 0™[ëAœ@IͱÒß - \õV;3àVÉ8;ç -ª Ý PÔƒB ´°æ+Ïå)(‰¾´Ç>œ 4 -M6Ûõ‡í²¨fÅØíqCGî~gYÍg]l¶ËñäáwO1 Çæô!ß?¯‹ÿná`ÇgoÔgXÕçMÙÌvt˜å¦þ¥\ã/jgÌgÈƦVm/_Ïšüó-2K‡Œa ÿ±~zÃú¯'ú„9‹_R:¹yÁ7lþ³EYí8ôíÙØ;¯±óz»žÏ×ùjQÎƧu‹¬öÔ®õÅLêU±Î›z=:Ÿ8`o·æi}¹ª7e3æÒühÅËÎo?+.¦?>¸½CÌéÁíf÷Ä퉷÷—p{ë$âòU]nüÞÁû=ú`÷î·ÝM«vï@ÉâÁî=ؽ»wxvO|ƒvï9Ý»wľÃw›LÞòŸ‹åù"Ÿ×_Þ–˜ãßýqC®už,W‹ü[iœ–Ûðþ¡Ñ*zÓÌŸŸËÜ.è!´7Mð<ßn6e^º¼/ZzôÙÌÇÓâ|¼8>‘ñj¾Vu8t6«/.6Eszœ¶§kÿºÍð]ø¥UÇ°Ò£Y½¬×?|Y83’Ÿ¯–;‚;ÄÜF?\ ?ËfUÌ^ow܇û§F«V›ÿv™¯ŸÖզɫñ©
Þ}’ä¶YþôuUWÅÿ‘exçYÊÑIn×ù¬8Ÿå·áÎ ûäMŽ(?c7g¼&Ù‡$9’·He¼N܇L<b·9–ßFçòÛ5È›º¬š3Û×Gè?e瞇μ¸¸Gzè¼Þ®gÅÉrµÈÇ‹vÕÀ_6<¨ ½¨ ]Û3ªWÅ:oê²6É)Ø+=/Wõƹ‹ûB£Ã§ -69 -zç¥5>1>qÈNáÓxNþ´JŸŸ?|2>üféÀóu¾Z”³o¥e.ËæM^î²’÷¯gæë²Y\Íø“úËöÎÝk?”¶[_\lŠæt¹ÝqHàúíé _¿³_Æ:
ÃPýþ…ÚHtbj@EСˆ%ñKldââ8Ððõ„”Jm—ÜÕv¢îïɾ~öñ½:£ß“ì‘ êŠŽ!Îâxp´¸†tëÚ£;JÏoÎF‹—ûYÓá$‚ëñz%9‰Œã¿Ù¦Ü¾)pM_‚Kú«¶®è²Ã”*XMåBɲ‚…¬™>¼Þ*%CMôM0ÔY+,šëjTüF‰ U™³zo¡j9û}Ö¥¦€ÇµÓƒ|\ÞÀòª%um9ÿˆ‰?’M¹}çßéê‚~ÄÅ
^çÍ©\r\’çiÒ—˜É„ŒË>FÌG¥—\I•U=Š&ÄZ<¬
fðDN0;Áì_Q Ós•â`(Ãiì;Äà‘L1Go}ž¦™½óTG‰‰ä“áu38’ÍJ¶¯ìżõ8¿|ö¸?î‰yã–?Ž -šiú()Oðs¯ËºÀ\-Œ0 GUMõ³„§›ë -'¨´¼|Ÿ×¨üì l»å_Ò -H‰ì—ßr¹ÆŸ ïÀånÕæ -y·/äãÄhshÈóL -
¨üÊEx¾Dúr.Ö‹xwˆÓÎàUwüåò]‘Ñ m>{3äÞÐw‡¤–xmíÚ3¢ÈðnéKí&<¸•+«^jÈ朽Ǜ7•J£2Ô`”&3mâ©©ÒÙÜmˆ³åAÑ~ZÑþü•P´ƒ¢áŠö—vo,ÚAК.h¸º¨=;èEÏí g=;èYûõìlžsçÂꛓ_YÖÈð¹I†¸à°:¹av“¢5MµÜ‡¶ù‡ÚæͯÜ6døCÛÚæ¿CñIÀò¦ÿÏ÷L`5ùŠÌœ++w¶suG%*KéB
ÝïäG=íuN{~x×èw]´=ʧ1U²ÅvÂ版uî÷jŠ¶ÅI,}Y(bƒÃÐY&8óØæÖÑÁy@Ü’̤17
™ê>>ü¥ëôG½NÿÔýÛ븿÷Úý?pt¨¸Å+ºâlƒÃæ™à’¬¹wÈ\Û„àdDÙßÂÝ÷Uq~"წà˜RÑËŒÙÔ -0x•”àl3ŒŽ—$Üðº X…»OŽÆe‚Sîì™Î=3ôs•ŒH‹ -Hž–·nCiŠ‡šˆºü` •"ÊB0VV3<ÙÈHtÛÅsø”Ç9+¼Gœé
(7ÉV"cí&EÒ)^‚Ísò¼,`[ä l¡K
Ùœ3zytÑQÃÛ¨é’ÀTš©Ü
Ò¶¦ÙÛ'
uÏ~K¤2Ô`Ýl¢iÂŦr-„µ ßúäR¬Bƒ_-:È ä$HÍs®€ÐUù[Q¦ƒÓAŽÛâ;›>2÷3mäÛ×–Ù š›yŠ†îÛ~ÙZö¦Œß½n¬wFªåõW“PËç;@¤/çÂ`ýfØâ´3xÕ¹|Wd4ènž½¿ùÄïP|°¼©g•Ë™ÔB1ÁõSM¾"3çÊÊÄí\ÝQ‰ÊRºP““ûn''8êi¯sJöÃåQ¯Ñîº<h{´VcªèñX„Ï1v¯¦h[œÄÒm@~#³Lpæ1×Ñáýš¸…%™ÉÙJÚˆ–ñqÄepÔëõ^BS¼¢«Ì&<8 ࡦ[¶T•‡ÆµMNF”ú-Üýw_ç'>È -Ž)•$Ë<0fS+ÀxàUR‚³iÌ0:^’pÃë¦^î>!8— N¹äu¥¨Šf†`†£’i-ÉSø¹õ6p]&¢î?pÿÄÕ4Æ0VV3<ÙÈHt«Ågø”ǹ+¼LFœé
(7ÉV"cí&EÒ)^‚Ísò¼,`[ä áÓ©ÍÉÝtEðR·†KgiÚ¢§d5°zêÌÑØYlºãÙM -ק‹{¡¤Ûü$½lòš‹XÞ0¿òíäG[¢ê–Ê'ølnÜ篙ŠnZ¦Q&VS¦…ÆTÕ•¡È… ?–28üm>ÍÉ-ë±™$åN¦Gf™àÌcü£ƒó€¸…%™Éi‡í5ËøH:3˜iD9p–\&|¦®šÆd 4ȹՊW5Oª‚¾ N.¸D ;47ØȽCæÚ&D £Oƒ-áý® -"惬à¬RIòÍÆlj¼JJp6™p’Œ—$Üðº™X…»OŽæD§\òºRT%5C0CÁWÉ ›`ôŸÀètk*"yZÞ¶§úÄãíAÞöÈ×í;O™ÓoÛ&>øeû“Ì„Âý°:™ª’é’MqÈ‹ìÃJö wí™ÎP,ƒÖ£§EWÞ™òŒô0ªQ\jž!sÓJ´5ÞsǪº5×Ç©áá·#roÂ…’E_Ù'FØ})ÿºËœÚƒr›ØdJ«§Î›¦ûšÝ¤¶-¡âù8õ -àÃ4ÊäiŠÜjLUG.ù±”ÁnsͶ»ÅI<ìkR×À0=2ËgãpœÄ-,ÉLnºÐ^Ó°Œ±@ñ™Ì4¢,Qu;pN®š¡Ò gäV+^Õ<© -ú&<8¹àìØÜ`#÷™k›Œ>
*{Øæ -Î*÷ 2fSgYŒ^%%‚È„ód¼$á†×ÍÄ*Ü}BÙÁ)—¼®UIÍÌÐcðU2(ÆæÖY<-o[[–Øþ[òzßyjÍœ~Û6ñqôŠÅkLw…hæOrP¸VÇ!U2"u̇ÜY!i>¬kV×8Ïr†ñzµý°¤-jà±²šá™Èæ@¾ñòˆ~åW±Áï|¾®ÇGKocú²Oìä–+¼vŠ"<Âl§©5˜:‹ZaÚ&DÓ§•f*çíšêÔ‚|«‰¬”büj‘gß·:ÈI£AèÚü-†4ÓAŽé Ç@>Úœ¼Ž4h–NàRC6ç쥌MÁÍ'àòÅÍLÐÜÌS4ôJfgÓî0;›æf>;é
Ÿ{ígMŸŸ¾£¦-£“|ë³óÅÍÎú³7eìzßVïö‹TÇê®$¡ŽÏw€H_Î…A]ûÝÝ!N;ƒWÝñ—ËwEFƒîåÙû›ñu{C¿™I-q\8Õä+2s®¬LÜÙÎÕ•¨¬£5³_>K‰Ä@ßÁ‹·]]vòKAyX9`yµBÒãÄ -Ì·ßaFœª5=l™åÞ]É/Ýùº?þt[9˜ßKÅ'Ò* -=1OÉgY¦Â:fßámŽu²Ò†
`ÁÉúBh¬í¤`ÃcD¬Öœdý²€{ïžkã0”!sHP"ëPïM†YáAV‘+@ìj&“DƒY ¬‘Nïm¾ÿ¸ ý`ÿª~F'KUÊeh¤È<åô+ähÍ¢³fËö¶%Sà)^ù7áÞg[çžiÉ™IÑH¯ÑÞ‰¾wºh"üb‡jB‚ßkC¬µ½›‡IJ˜\> ]gN(büoƒÓ' ¦/mÆò»õ¥ãåw05]¬ÌÜŠE+Ë9þ±kUÄ–fïÅß3ÓO,6l -‹–ÙÙ˜²h@VO ¶¼í^,v¯‰
ßÑð
ßÑðÅb”Ìðý` -H‰ìWkOÛÊýùó¥•3/¿ÚOI(¨WPª†ö ]]¡‰=!>u<>~´åþú»Ç&MBi3á\ì8' ˆ3žmïµk¯¹EGßçq¢BÙ×ÿ¾Š¸”/Ñ«ÞÑ÷—èøS°8.²(¹]ߘˆyµï
Ò;_õŽ¯/ÎßÃ:zÝ;>‰‚"R‰ÈîàÛ›¥(àA“²ye1È2ñ`G0‹â0“‰¾OÑñ»¤Xkq—ÖÞ
ÞÝ\•Ù¤ŒeÈû÷¾.AE!ìÜ -•ãY´Ö3#5OU&-óTÚeã»Oä½é?ŸV;¤bˆ_˜VÈLF·3ói¿ØÞxÍoƒé[¦æ -¤ûÝ#êsD梥
¡²
’?õý¡Tx› sŽ=ù:}ä›Äå†ñø Ն Œ×Êí,é, -öEíl“ ®œ]>yžÈ¯‘Ðmq¨[5jMȉ2Ï#‘ëvåøcœ›Ð|–…m3s æò"lC_¨é4—ºº;$½ÕÀÙqn®3£<“á NgâÙ™º%2»\Ô`Whlƒí*VÙëI,‚/oP½¤RDÅÝklm1…îb¹Åø©v7^ŒÖ}a‰Àt™Nu!v¨—ò™Õ·Ñ>Õ×Ó™;JèC‰îzïFlÛ‡¡MX"R©ÌD±)·+˜–qÝHÍS•G…ìß…ÑtZæ&~w¸nŸ÷–©é -ØÆR´Ì¦"ã@l£H׌GLÁÝ'w¤’¼‰yÚ~²Û]ˆu…m—¾5›Æ¡}›Õäm/ŽngÜïh„ÍL¦Õ®ÂŒ›Wü7š—ÅÌ8,?ö7žô*!tnw ƒM‘ȾhwŒX´¦±N¢Š÷ÎuÒdÖ3ùPqðù}'wHíí“<ÊS”±È.Ë
Ó³{ÉxÄ.b°µŒøÙ°yÆLµpöí÷T%ò (—†µ{ÐK½ô÷õÒA.ä’©ã{î ^«2ä NgÂ\6m8K¬é&Ú
átЂiÁM¡_"R©ÌD±Åh]´ÆO#5OU^«ˆ®‚±:ÿ²açJ*ôÖÆKËxö}áæ@øN1çæ/mP³9f„µ -‰b['ÑÑá ./Ò~×ð}:þvàñ<mO P4C3?nQn;:oºd¦Ím!kÔßµ¬Qßw!úSàã´a˱±6°\Ïe¿Î›Ci7Œïíl‡y -¬qH±¾©¡cVóó¸X®`rtÌHÕTz‰è¹+œãjŶ×Qù)®AoåáP»Ž¾X: -4„üSXVîQ¿näUì …©_gƒðÇÂ:‚¦ÿÔ[´ËÑ T‰F"Ž#`ðth˜•ù])Ç1ÝP‚×z/0;ØÆìËGìÃÙÐ>e'd@Oí6Âk?|íX?ørN×0xàÑPcoögä -5j™:Í[ÊÀ¸Ñi¶yûqDî–uA8°;ì˜ÆXDç CZ -ˆ:+Œ;b@x¤ˆQJP'8¯æ|ò|ƒºRÇ„È„+l9dNš„å:êl‹cÔÀêé‰aº<ÎÆ8zB %¹²¤¾2ߧèÉÿhU×Ñ,Q‹Â9ê§9‚0p<£‰½¡ŸS»äC)(Â~éâw¯Ü÷^7+J×(wàí>Ww(AÃ$¢pÐ|ÁÓÏÏ‚û‰gðÊá1Ewಒ@W“±,ëÚ-V‘\‚)s =ܵÔ<qŠ‹^©ÒHe\!U¡üPþAÈÑ©2Ƀ^W1GƒËQÚ,V9ë……€Uz¡Ðè¿àЯêRGaÂ`tR~kíopTfõ$ÖSœ.±ä*â6Cø ½r"o”†Â‚вÆàÁŒ‰ÒV¬’'Ãîš0º_Bk¿ã“¢ƒlÊ©CÚL¹Ãc¥®v>8y¤-˜,iw5Bä].š6P«(«y?-6$Á÷$tGñóU³QÅüHKÕuèV h1Ùnê‘Eüµ&¼òršF«íXp=7H£hz{»”#Ge{>®(ª—·Öäðìq¼ÁÜ+š509œÀ¢3\›8 -:Ù¦ÖAé)öêµd½REý ÈXb•3r=ѼW°å¨í‚„ÈñÛ>Ñŧí%[„$ó¢ßdbk¬6EçÉHß뿯VOl&ª§ DÙëë묦W}õ¤^Z= ü Ô¡Ð!jWypÊäÁÌJÚ2g1\ä½@Vÿųlš -WßxT>là-x=—c -Ž08Riݨ2ãDk¨˜Êe-îo+Àâ[l¾T¶{A(¯ý+–¥»—Úà(šÎ*¢þŸ÷?_{÷2>%Xk1åÁÎ7Ž&ø Ö* n7pk.K–Ë«Éq‰aåùÝ«z>ž!ðÉFƒ· OÖ'L#žœSy²F»Éäb¼YÚlò±5g.—e«CI:0h×Ä:,K´1‘Á²ª†ÜsÁÈyh+Uý¶FÃÞîl5lê¸b¨2suJ¾•L’À•©÷¨q‚>m7ž FÀGp±k^iU7‹–7Gœ4¦¦¨5"¼™>ç"9€tB²¬©Èx"¶ÌÙi¹„V¨ƒG`YŠÇÑâ´8V9‡RU “5z¼e1Åœ998\jK•:u›L²\¢‹^‹¶"1ó%ƒ>/&RhöÛóòkñ÷êê2£®/ƒ›Î¢½rjâf×ö²‹®“—Æ_>fŸâï›áÍcsqIpöú÷_æ¯ÿ\ܯ~ûç~ÕÛUÜò§¹2ú/!ÝúÙ7¾ØYºûÊ #/nW‹ÍÙí§Ïë»õêááv}WüñŽº±þ>{Ùô¸ú«ó3è¾Ýü<Y¿û°Úþössæ†/Aš
8v(:øÈ¡/ãà¡yøЧš|ÛRõÒ'¯ÏÛ“K3Þ¬ëåj>[<.æ7³ù¯‹û%“›<¿ú{µüÌö:¦Ü§uc“’æ*AƇá«gÓ$‡‹h2L<Ð&Q’Ðhˆ-pâœGïmmAÅuû¾MÿàéoÖk¤þ®AøwïWè0ûé{W©J£¶ÿOß´8‚oÿBÂ¥`dÞ•IG [1'Ò æ-Ôc†ƒÂŽ›¿ŽÙ2ñ #FS±’ÞZã@“7O;Q¤®†¬~^?¹†\˜6.]Azñµ©¸Y©#‚Uq OO‹1઀>:â“V¹£tEðtpç%» -…ˆÉçðwÈ1A2ŒBtA’‘!Ã)í1eƒ¡T<íÀéÇ“ü µ0@à–Xq;åžQ£G•a%)¨Pï~%ãRÈøƒ4®ážXpz!E~‚‰%ïÀRÔ‘”²òªºùD7ð~ÈA70/åAªB®Ä
d»f›tĈ´Á -Jr™kJv‹ˆ¤n÷f™D=¶=ø’lQ}õ–à6&ÄRŒ&–œ[—qû²
&ŸR 0›ÍÞëNzD}ÁªB?‹¶¨µnªmô¢íjIªg5²üºTSq71ykM¯ŒÔ®m» -Î!=SIßRbÓÙéàÊâEÞ§b1´Íoqkm¯‰–|‹ê5½ºàeöé±TN|Ãÿc¾ÚvÛ8–àèö%€ò`j¦çÚÈ“HI€ä8ðÁP<Ž›"'ùûTõ,É¥HÊ؆s5»së®îªj=:&øʪFJœk'!›ËI…oíLUÚ~Æ7Æzl+°F>õ
jÐàRζƒZ‡ø¹`_‰ -Å)$9ስÁÀÕùŠ„Ò¤Þr@JTJU§y)FŽBpkê7®R×Æ<ÙªÍsg¢–X#¸HÎF{›2ʸùÇ‘´g¹ÕKd*–Åá #Å8ªo1öñ†®öT)èðd•ÕS]MM¼…œgòïzê$¬ÄŽCV@ÇxÇè–/kuL'‡ÔX3”´'ã“–qG–AƵZÀYZR{–ÚNøüKé#Žq¢®´\]]¹p‰:‡ Ø¢óoMèIð.éãõþÅKwv
Ówúê÷Ÿ§¯þœÝ-~ûçn±µª?¸äSo¾ã+·óå³oröèÓǃw)OÎn³÷ÝéÍÇOËÛåâþþfyÛæ»Qa‘÷ï/ÞÍ>,
^g6ÒþõùòíûÅúÝOÝiÜdKs~jSaõÔ¦Ô˜‡6Õý›~ük¨õ‡>ú{]ïÜ@z½¼˜-ç‹éÅìa6½¾˜¾œÝ=úäüZ§—/æŸxÀí -V„ã™Á†o>pª¯©YgKì™™,ñŠ™Ä”ÁFãù |€(éJ;‘ŽÝtlŠ|¥Ö°½äpðÄ8Q^Å|æ\(þX)æA/p’áðLrºÍ(Üñ‘W¸Væqi2ö³“»n<6œé[âQû^)´P r©Ï -›|©S\eÚ¨+q2NáR&h6“m§ê¾µSe( ÙJšJvkèQ”‘µ° -q:kf9gáCÉ(q¢^Ð0Jà«“õíí7R§h¦}Ïþ*šâ~Å<øÌC¬"ïìÜZ˜&_3P…‡ ‚ -Áî!‰`r¸8¸Q±Þÿãý§¹ìžÿ‡éî
ÿ=¾ÃþeŸdœ‹žu¾ìzÇSÑæ€x€ª <@õS¡íNj½5[§Á%´„ÅûŠŽ0·L‡d#â]ûñµÈi@)æ´ö9è'ÂÖ‹V<„•Ž4x#x´Z\²ŒJõðkk4ØÐ2ÛLÁ:h†N
?±jãÀÌ‹±Í¬¾Âé:?*¾”FœP}¥ÛÊ^ŒÖÑ,4lÖý Ý&›–ä²3âx+g¬z‚B¥k1Zð9ºÜ†Ú^kHô›Ù(aÑèÚT´ß=#Ù[;ø$¡Ii+B½Ð/S -_›·Ë1䎚!ŠN\ò[‘„“ÅøS‰Æ×ÎŒLaÛˆ-ú£ƒÆd<,²ÙUR„}kÎPy¦8è9É.:šÐBé[Fú
L xÓ5È8‚‡ -¬Ÿè`'QÄ£œS:°#K´šô#Wû‰5Cpán£PÔì^(úMMœ(ؼü'Øé¥I×ÝôúÁ±Û<ñÐþ5C9Ô4ÆËw/)<Q‘Ê«Á_!Ò3„™§“€M‘+ö%ÅÞÔ¡Åf)›a˜½@à -ÛŒÊ[]ÏóX͵Jó˜8¢°rqD‹3abQ%L<~í¨«10³£#ØFT· š\EÉÑÄE<´TmvàwÔb´t:@ôFWÑ#Ø#ãwbHHü;›Å_JÇËîà„›ø³À]è^ÌJ¨À‚¶|´v!ü„þB-¼ãtŽ„êà0‚CêöpPûøE¡m`CSKYtÈÎÄ®Þ2Ñ2`姹·‰T%LjqÑò&ÉÛel¥™¯¶Ý6n-úú‡y9€û`™äæ}òXra A§)ú&¨²šˆ'Fí íߟµ6GwÉ•à6Ä5nî˺èZÌôœØˆ6ǃÀ‹’,à4²‹Ç]æ -C©èI -ˆ,Uâ= -H.ä¨*bÎU6@O˜²[³«:'\ªúƒEdÚ…òœµ]³ÙK©£Åz_ÉHb+ã‘£Ù¤ŽËצ›|:Þïyj.n`ÏÞýüÃäÝïÓ‡ùO?Ì7Þj¾ò«Fä«âqwò=.¶ÝþŽq -çɨõäçÅÿ퇡÷ K·¤Ð¡l¬#‰IðDAGªšÎнʬÍ/÷¨\GçÍ-ÅíßèÝ0ÁÁjAÊCq´³øFͪ1öè¸[Õw>A%*ýÂQèï݇™FК€¸¢›¸ô` -¼áŠƒ$Ñ'2%Toº]RôMß&¬Äf[6RÄÅWÍLÈT˳Á²!gðËžA‡§fÑ×t¹1³9˜¼'E§‹¼ -Șxä3Æ\á!'Ñ[΄ƒó%ôÆ„´Á¯¼Óa_¥ßFk…¦×#Fêj Ñ5ËóG¼[;m©–È‚3ŒÂêªé@¦¨óuEO[µ?k±&˜Þ~ŸŸì]é÷-—”ù\½‰ž–†5*
¯ -æ.Š–/Ždn±Ÿm™ª7MvÔ
žeOdO¶„XrwÊl[[$ô;öS_xÌ/n#° T6:„ -q[’ - wü
Õn[UÀa
…^©ü Ú -?hi·0«DùÿÓ^öºQA~ÞáB[3Ó=©Í9&A"CÈAâõùªg×ëóB8Á´wfú¿ª -u]º-,Äø¤ò>7(¥û;ƒ{úwåw€á•ç±Ÿù¾ ö™÷/\ú[Ø|³Aç?ö7pz8G‘»*¥æQm›ÚÉš~9SÔYkûȱ´D“Ô¹lm®¯ÖdI¹^Z"“ŸI˜Ú\NˆŸ"çÓ\\Á<ÇL¯C¦´ÎŒŽêROO‹“ÅÔb•*”†`LßYtw»]€£Mž¡B,.óÁD,² -0 -H‰ÌWmO#IþýêËH ]š²]¯;ŸÂ¬8íèV03ËétŠ2I/à awù÷÷¸ºÃ$!aáöîfƒ€´»\vÙ»jÎ.›§:ø
q-ÖG3«~®>VÙì훳Ÿª½áüúsc§——ç·Ó›/33º½¿ûb>\__î2ÖxoÎ~¬ÞØd£
ÖsâLrdíø(²¼—ì8êó×ÏкÕGíÏÈ9^~ÏØ::>bëB8êL†·‹ñÅlqqÝNoÌw™ƒÓÅíE{n:Ï'ÅÙf>ùqºø²oþ‚oñ[YckŸà¼þœ=Tåß¼ -ý±?nß<šƒãvaöN?}?9ý2½i><Ü4k»ÒÎ-ßLÈŒñw5àL”Í• -mm-¹à
»ÚeOæHUÈÎQ·îþPô +\0¢o³ôÂMUؾúK7Ÿm]‚þI3½4{'×÷í¼mîîNÚy§okNŽ—ïÇÓ«fÑÜ®¼FNóòõ°=¿lß½5{n»Ø4ÆgŠÏõy§Ñ¼Ýèïáþe½Ó/^Ÿ-wø<nïÓvÖLÆÓÅtr<ž¼ŸÞl,çÉÑoÍì^\WXÁéá®[#ɼ݀«žëªzŠ•§Z‡žè¢m}V»ÛAŸ|~Ñ -—EUlMâñveεwX–(§Ú¹X”©öÞEè: ˜¢ß©ê²z¬ªBäUõEg划¤bÔÁO=éÏHühT±2Ü -}$ú3Brp°jêØ¥º
/TE|‚Óœä:E¢×d3äšR' y#Ÿñ›§ÓþùÒië”ÅÂ(ƒÚ–_UÛ£Ç -@ͯ¿ï.1‹BÌãìeÂ…Ù‰Sb( -¼Œ™½!
`JýÌãÁ†±.Dzí§Â;üꔶTÞô=ïÇ™nŽlÅ—=‹3ïÍ?þiÍÒ³“ª8!Îhˆ8S -3shÑVY¹¢Kè8 -@a7•ü$/3Í.B¡HÄ•Ì%T567ó
°A„㹶)dRÛä9°îP^ƒ-"$m3 È"¬óÆòÄ($œ³Ò‡}Á¢p€CFvÉâlf‰_Œ-e"zD¸ÒwaB £ºQdˆ¡äœ“ˆÌfUþÑË£1h—Æ<Âœ&ïœ×/ö[_5Šß7=½ç)±jxƺ¬õbcÁ¨‡;ú%[*¯XH0-ê…Ib%ÙuVBÈ Àž`ÿÇÿ®oê}VX]'h¼êkö¸xNHôSÖ •õ\l‰ùuëݶôƒ-Öm7Û-^oÛòÙ–0.má?=ÐË{Äš[^ôªÊ…ƒ²ÎFZ¢(?¯¼!D·2´¨! ÝÅ¢Ësèø×5à°2 ƒ ®†BÜ`=&)•Žêaåä°7hÀWˆÀ¡«À+Ñ -;Ùe´¢m3Ž©ÃºNRl,sÞÛXÊ‚!uzžm•ôz_E„l°_ñ%*©Û€¥AF×kt‡¡š“²7Z¨ížƒò¬MˆBD 'ÐŽÑ»`€ÉÊÅIÐÖK<Å$’{6¿²w!h<gFi I€_I#4JŒµÛ2n˜3l€†°-Í .ÐñÅ2€)P[?––ëØ3S(#€ˆu˜ÑÑ%”Ž‰—4³ -;Ò¶QˆZCWl¯×¢fªË£Åv¹"*F.ív‚yZ*¸uŒ#ʃå(`;è(’ŒÃPÞ6†á·n¶ÐüÎÖñqûæÑãöµwúéûÉé—éMóáá¦YÛ•vn©L>þÒpûê3l,Ý|ÖšNšé¥Ù;¹¾oçmswwÒÎ;}¼O^–ïǸ³.šÛ•×™üòí°=¿l_½5{n»:ŸÿœM/àÃÝ6ÙÙi4o7ú{¨ÄXïô‹×çGË:ۻŴ5“ñt1'ï§7K†Çyrô[3»W×VGz¸ëÖH -ϸ¬]Öö›á1ÙÉQ;?}¸ú|}YžÝdÔœ_´½dï]ƒ²in÷ѾïWZ¸Õž‰ù_‹ˆS*}wœn`ç2Àë_.N‡)]ÁãÓkúx$ôÓìÍÀEÌÈÍ®ªØ·Ôóz9r&Š'žA_zgú¤K\t*ÂýM¯SXÜ– -hˆ!êÄtgP
-¿(euMÔÎuk$ÀÓ€A${ݧTÚ+:zÆ=À ³Êc¦@,"&h{€½„/áB• -hðœêTÚ=_Zî@l‚,“Ó-;!øö%˜ýž‡•ƒA½©j*˘åÊ<†% éœt‰×™f ƒ¶_²¤*@‹Éțס)A8¿^Ù¸3Dç œŠ zÿ ‰¡àLo¦y¼¦ñ¸~8y¨<f‡\¶Õ» ²„5K;ĈNÀ°¬$®ûˆÎ¦XŒ5NÇÁb[AÑwÛF|)¡µŠþ‚yÈГßAÖ5X‘ÿÍ|¹ëØu›Qø ô§L3Âæu“e¢6U -÷Zi~û|ßâÁÖ‚ŒTšCqóòsý낧QÊàÅ>}Ôåöé¥<ÞßêZ¬SÐœyç•Ï•â]£;,|¤ Žqíº}ŒùÄÒKŸç’@Ñ”»ÎPÐ Ê 3i‹¯‚®8sjc2]ð< °Õ7½!„Ob|·9ÒËKt±ðmçåá&'I+¨Jãå楞¾(ë>] «öù«]õf£Ï¸¢ÿɨy± `°üŠæÿö·¿~þüŸ/ÿø׿ÿéÜ_;Ú¥Öðâ·Ä3p‘=¾¼ ÞfSSÍPg\›ÔIl…<A™ ]Ôëº!ELbÊS…‡Tç”t]t·¶/7Æ’2ái+\P„—‡cpåñfá¯ïvçZ Y¯”ê:¢°k?Ù§Ó§g¯[ý lW.'bØÏK³_%“áæÎér QˆHò“âqe\z^·¸¼2»\¹†^ÛužùͺïweKZJnÑW”rÝ•.väž5Ðih˜e™ë@ØÓ+Kãµ£tœ•~›\Y50VòÏÞj tPJbâP%Ô‚i“òéb{@Mö¢8mJéÆ"·¼TfsûŸ2+x7‡ö*kß02+tý•×ùk²ô<b–î‡tX{ÞBãÑsïÍ[üÂœÊÂ'aa÷ã͵ޯâ}MÝ2÷íM£I•Æ,ùcŒ*çÈehùLéSèÈëŽPqd»ax«¬`cÔ ¸”Ã$Ôù‚¬!kp·QÏ{\Z&Þ~•Ž÷ÏÔî\èWn+Óžžþ^uý²½G¾é(&’VÁoðå½òOâe€žQán¸}Ô×¾‡ò¶¡÷ñýE~È]½Odá÷r×q}x¬Ë<PÅÃÕ»ib(KJ‰LÌ›J‹Q¢ÄPÆI®E)Q Ñ—|Žb=ŒÏ±vJ½„=C1G¤$J£k›Ñ/0€74˜ß}¯# #ÎêóªjL›'CÄÐì%¿µoæ¸ù×—&1"V¯s–ŠàêÜîÑÎNq1X@`d趡¹”åÀuæpü^7ç§ÁÓП=_•
_V©+è×¥qèläd¬EEû˜“WÑ>IÚ':´úŽa.Ã@ £yIanìZkùH¯çÄV -0§ìò4ÐàÈàî¦åVSš}9‡ãdáù1jçÀ êŒÈUâ±ç1 ÞdéíúFqšÏZF>Še’Û}]íýÜþ<•´Ï”›7ìJe?¶¼\Õãñ,ÍBð„WœƒþŸ`!eñL:w^7´ -û·)øƒKï -kw_†9ÝHU[ÊŽgÑØÝÓŸ…yÑåê1I¿òbÿ'HjÈÛéò* X }À‰w|5ØâaJÐÅæÆáƒø¸Û$“'ýЗ;ƒöÅrH˜mÄ&Vçç}ËPUŸ!¼!·„˜@ÚPêM6àÿ¡ò+ïŸ6”©?À¼ŠâšW¥«^[²?ƒ•4(ñ|¶bðÔ|H¦†]ð×½Z,Œ d§èЮ ×|QÕaU¸`hJ9žÝéˆuëEÝË3!~ú -ÐAèHÑøðJË<õ,Î&Åõ&Ýè;J„i™h -•â-Εt,íHµß{¬^—è÷ÄUPèK' ‡mVÆf)ϘTÒòÉR}Ç8=*Lmu㉢ýtÎPu -Ù(¥cW$yĤs1úDkð´ôP)O·o†s2U)Î5:µíÓ¸=È£©®4v1E pêO15¼œèA©êswTç°Õ¨×OÖ™ó†éJ˜<a¬N,!‚pǘ¿ØûWâ-ѤeUTz$¦R)@w5ÐSòèj¸ªà™Ëcs˨À]L•Ÿ>ì×€ÑNþ™"?6–S™VréÉ…c&rÌv3†ƒs·è°öÐÚÌhTÍàç·ð^ÐIÍ -ÍÅëk…0M»®§PÑ9Â'Zð7K¿Kþq½ðÅ î`sT}"Ð+…ÒÐÒ!)–Ř68<+m ÍBà@Y¡ÓôÞQW5è6®=Å¿+÷½¤~Ëà³.$çö\iOOÖ¾{Lz'²ä¸æJ]¯ Ý9»º®³+<:KÚì±(FÖýä\»³éeã*pøá -ÿe¾l[í¸Ê0üöØ_„VØeÖÌz™õQ£¥¢XŒ)"EOŠT“Šäß{]÷Ú©$±æ|BsÎsÖÌ<ëy¹_šb‚ã»Lʇü«bÃ0&9®åàx¤³¿îJ D¥·‹øXCMZg…]€Tê)£u@mºÖH'š=¹Â<Õfm¡ò3#ÂÆ<dKÅ+¦ùîøÌÙ[–²CowN]nÖC/!î{+ÉÒ -¦âœù.ˆrWSÛw’k¬²˜å˜m´„Ïl%H|´yè' <7.„Ðê"ÔC‚RV÷ÁŽì"„vR i<uX>ÕîÃCêy¨Qùëg=`ðšlòhÀ}ã&JQPŒ¼œ‰s&¿#Ý}¸|ü8mÚBS‰éy©®(ÍzÚ<UL$“‘üÎHǧ¦Ú™âÌd
€§)_5§¼qt„²¹ˆ.åÉ¥mÐ| ãå®Ò Â|’moñ×Å?l’þK)¤m¤–Ü<Óî|«Îe!xAm–º*ú÷à´Ó#ò,Ég>fT×w}<ü~O£äîá[XYø|ÐÀc¨úÈt³BƒRüÈû5Š2“s1––g:ÂLo½ðwºÎ'£; -"¨aª,‹Š«ßIûìÿóþDÀ½GY)‹Šƒdr„ì°YZ™ª¾Ôq‡St×ï¨LVÉðЙ—P—íséä™3UN!ýguªd9©&]HÔ7±¨ö$dµiULÒq±?¬22b«ÿseJ´]öçT¿™]Dj}í
¹B Úk -ÚY±[w¥”môjD™(,ÂæL©¦ -?òbº;“oÈ·è‡ÜÆBíÞ³ÅmãN¨£GèûPïÛªK$[JU5XoJŒ©®U¨B))P–"A¦%GìÅÐþŒšP×ÓøNæPF,xâxk]¢$}ÜKδ{TL–Wÿãáw¦ê±…uˆI«wNE°¨[I¤éú¹vÎd¶f*ÛÍÌ -ºD¸9Óõ]ÝÒï÷€|"kƪe
ìrßîÔ¡‰;…†É^ÔµQgO"¶ræË6U'Ú¦”¯"ËüÒ"c™Ç£2į́å×îËÚ®s#.Ð>Ö—Ô¤Gö¹5Ú{ÇÙz&pD@!¸ -Ѫâ‘Zmã~ï&ð3Fé²³’Í;~Dû‚<
-!h{‰ka£ë:¾ˆ~a…Pñ%¶3Huk^C"R}w‘êF¶&“¬h9w‹¸ö„ƒz.å°Ÿ¨¥¼`y…¢ów~÷ˆÊ÷½pÙ‘–Aù%^ª¾ŽªØ+kÑ•°bM‘çv/Ìô©anüDa42-7ñV—vÌ
7LH©UÂÍAȱB‹5ÍS™ º%ÊÌLÕ,[þ`&KP˜œîÅî´ti×wÒòXJQ×´›mKº/•ýTº¢ñFoˆK–ç²MuüÔ3µÈ<ÈÜƬ)fZé«T¨·ßûÿãciDOGömÁsÏ“=Ñat·µÜ©C ²{ÅìN]tWcíªö“sÐ
!DOíçr›§Œ5ZÜRv±JÛÜÒśƥÆÊ
hRòsüúêü¨öE«xªÍ(ãO¼5;à -ˆ·K
ÀvðúžóVÁ -
·ìp ! -‰7$]Óô™R/Q£Š_=2“4¡F`;bŒîI,óýÏŸƒGf$ÐÇ‹6Ô-™œ ÙI½gŠj õc›4xUéL›©™¥e2ºóV¹ g\û&MqÔ”j0Yk¼ÚÓËÁžíìÄJhÌHÃÆ ¶Ù9 -âñl\@"†¼ÝÎ)}!ÛÉ> -~Å@ÙÚ8ÖÀ¼RÚ~蘔õÙõ•Ì й!¦ùWl*þðu}U»²J8¶²ª®õ"‡L‚¥—®hŽ½ÓAï1€Ó/ -§Ìí½Ì §R>0>2¤õF‘¸ž»„ŠÉd21[‰LO"•‚ÅÔØN®{а².ÏKïsåšËªX¶a×Eq¿Mý¹öƒ€§üO'PvÊ÷8^è…è0>0HªØ.¿ë@¶-£vÄ5ƒ}^£*òE®…Æá^¸µüm'“÷Ê.ç–o{ "Um`y„[×}¥|æÈΗš—.UžxèŠXh‰ud‘åÂý]º“Å@£Ý¦ê¤y¦¿çöt¥&u!!ÃÝœ]Z9oŸt4¹®Uˆ$äŸ.zSeRdI§·ê)ØicRõJc\
U<Toò¶€Þƒ‚Ë"SyAõA‚ø\á%(î–Gž/Þ{$ͶµmX¶Ï?ø?õŠå"·tʵE“çùÂÒ×’ÑŠÙÖÁ~eLÃ3 â•‚‡"¸~.å+
Ât@wQa±)ÚÔ‘ÖKéw¹Rîçʹ0´[QÄa¹çM¬ª¬ 5-b܆¢löPËE} bÂô© Y?åÉb“¨VWÞˆêõò‹}2¯l;Ì¢ëYvR‹Åi‡BÚ-G±yËpB:»h;ÊU¿x(âid‚¦Ñ«E ,×_°šëÚlA¹ápïªj[§qFxíPÜQT©ØÛ¼‰º’Úî(ÑUâçƒ=_rèDÂo– c5_ÓW ô`Ò]Š<ÿs‡K”=¤1çÎ8¡)ŒÒéXé—KéK˜‚@µµ «U‚MÍ3þõR4ßó¥d™ -LÀf™#USÈÒÛ]w -•JCts¼BÛ\Â|K÷1‚´nH]@KAË@Í[ sMÒ~2›5KIZ¬±¦×gÝÀ,·Ž•'˜8.gøq:æÞwË÷Îî9‘-'D‡UÍ>ü\–;ec¶øbº×+*fZµHÚààL¯„¸ºP™F‹¨æ·f‰TÈv@Cëo„-ÿ™D¥;T:—}ïf–¸ƒ“u½ÉÔvCõ:Õ6©šÍÙ²`vº
Ÿ“SHý.´¼;Ç€ 9f[dhK•™ih°ºMUΑç b84`Cˆ{ç&Ø4~Ž’weàU&B±òdUðˆP}ûÁ9Õe_X¯uÎYåvT³,ÜêŠèc•¿§í sቊ̜e?U(:d7»?ª†2!lÆÐEªÝ„°Ü·È÷0þ¯%òÖÉ1F7þŸ3ï„Z_¡Ñ¡cÊÎ Cð¼÷’K†5¿(=öÌά¢Ø³MOå´Î4¡º
!`Éø&Q%fMF]Ý6»å(UȘH£ÚˆœrÚrŒø×åÆÝj$îO2{örÃ|0> -$0NAÛ°C!S?LÚF:È*2€P`5+œ\=©Á3;Cð¯ O} -Àû}2ØÒRù2¼o1p
ò/yõ•[ƒ.ØnwF¾g7$— -VDjL½m*„h·£Ò°Ü‘ˆóHæB#Œ¼ÕM´ë½ô¥’#ýÓ}JØ´ïô×tUÞ–±k@h„¡ú¨U¤éæTç ÀM¿Ýp‚[#õXËr¸ èEK2h‡ù¿ç±B;‘H¶o>Öà=IÂ…D-QŽ‚þÜè<#¦?ü‹´lj'y® «vß@
zP²²‹`k¢Ñèñy„šáÀñ“\Rg=Ký6©|õ3Þ$+Õ‘¢|BxÊÜ%Ri4‘fËÂÿ’m]ºÑø¦m%¡4‚4ªÒ‹?÷|T—-`Ë¡}ó ‡&ÙG“éçÞ;u¬ýÚÕæƤe©+´µ–v”‘·•nÀÕ¯.…YHp¢i´xg17¹Ç–ƒú1÷ -õÊc‚¹úú¶8*Ä¢@Ôèù‘ÙãE-ø]Œ¹Pý€hhòLc)@fV…÷hˆ¨ÁDÔ\Q’7Ü8g†€|AB`ê)c°& (N˜Ê¥¹±¿Qq·6yï%#NÁ¦íN5H±K×_Þ±$ÊG»ùA¿¨ùHkv¿óœ¶Q~Åö˜õýñLš&²Uƒ -j,=è[^Áõ€oABC×ãÙsP -¯©Ájg<õ -Šš`¹xÜ-ûygZDx³œÖܸ=Õ QDÔ™(üÀªŽ¥UÓwwáŠd…Y¤\ÿÙŒ}~·bä^Û£PŸŒL^ {/\‡ýª÷Ú1Кê¢ç{ùKµ¡â}uêé¾òÞjt”ž'+n²*P\}ø;†Pïr"Ï£ðQ]-ȧxe8TêÐ×18Á“U*‹ég¿¥£
êÐ-µ¿ë -IÔø‚h€‚<ìÍ» ¶ÔÛ€2'RUêe\Ø€ÀÑa@üfNª_3¨ÔÃniSE¶N†ÅjO\ª»ø³™ª<ë¨ ƒùÐü(Ù~û¦ÛEãëÖ[“QÖh‰Œ
øº¬‚îéãØü½G>hä>N®ÑÌ‘Xœ&»ÖI# -‚y6è®Í”ôö"ç•/±ì91ü@׎ņ%n„Å«t8š@)¿²Z -üoIçµØŒk1׫«+?ŸRѡّ̺¨$áÃzvg*„%@´jÍGvB ¯PÇm½uHµð*[?ïªûNÜu“NäèÝ2TR¼Ih¯hcÿðóÏ×}¥4Ȥa+ÑæÓÓ¢LÜA¡PÑ2$ÛfKÎÌfàÝ“½º«;¤Îo†A¨Rh<ژˢÂ=Vk´k_åJ›:qh=x“–Lû[õÁ.PƒÒÛÁ)y ö;ÖÜp7g×mðÈ\c¤ÉÄ\›ºa¤–f½¨h&q#•Öšú¾á‡þËt™#W²QtÜ7Ð -̃MWvG|»÷ õëœ‹× -Ydå+ €î -Ô\h€¯#ÀèÃërâjàºc
êeaß:È·ïÕž©ðÌá?_‹Ù¾ -›yf²èzs¥ÈÇßn|¡.ú-y^]L -„±¶ö1³±8¾eí%ꧼ!¡P{GQ±mÚ ¼K‚…Öù^^V^õg,"$
ÊÁ
8-˜Òöêi¶-Í÷¥š;)½d}Ý~-²hœÌ ƒ´îçÖçøŽåí´ -«U¿!G;Rk9OàeOqÑ[B?¼÷\€q”'ņ§~ü® -<Júª°$³ØQפUO2þ_^ŠêfÝŒ,§²ý|¸Hø¼ËˆBµ€Ê
é|ø¹ï€üŒk¸Ã,p³,•Æ›s¦÷¦‚}6øBþ’+gg( —PO»}†2àô-¦ÉÇ Ò´¡ûY -+5Xv)‡Ýo‰°íw<‹ Vs©)ÅG@!¡æ -
P¹øU˜=ײãmnä[glVT·»ñ°ãíó&ÅÓÐä¢ydZ ´½ -]¥b²Ã¢h7¤ÿñpWNvAyw#óº£úOvañ4Ðl~?%Lrä™õ´õZhQq}þU ´¿×,ò,×'þ„¾^®2-«án±5N»3IPV+÷ƒŠ¥=x:3'¼‰
mµËÙR”°£€72Â+}û
Ÿ~ßàg$Þ®CiÈFº•jâE€ÉÞöûRsˆ¨ªçÌÆ\ñHs/tHE"Tº HèÞü{*0j©ÚT{×›@‹°i-‹¸€¼‚&sô"WFWüXo
Øi3dt#šž»Ç,¦Žõb ±™Ì446ö†¦Öâ -N{Ek¨
ñXäÑ÷¾°=is®·¥Zt$ÙâÙ-Ó -x" -(÷((e䒜ՖéaËnPä(¹Íê -„zªE¾ÄþŸ\sƒ?ˆXXì›ö]ƒ™T;‹³úÔñ"w•>–®0t±Lõ<Ö¤yNŸó<1V0¢·<r†Û}c
"ü«wá›(êaÝÖ™9·èGçt;†yt“gr#Àý£g¬ÃÍUy¡s~[³Á3²Þl9%ŒlÙرÙð%r-Zøº#ðL†«ªÀ˜Ä0‰ÏE^]Š¨øT¢ŠÛׇxýÕ¡(ÕßãU±ýŽ'šBÁÙP)¢ž–Íç<]F¥‡†â
JƒS[.pESn -Zºæ¶¹™§j{ŠaäB¨ñÒ}[*¾ -3ë7žãmùâ²ýýDs9Š¥ÅE›ŽúT²íß›@?ʃñÑѬ°-êhŸoÄ2xß-.9 ›*‚ž»«À¶aXØ”þ#ª¾ÔcêšàAýèévYAS¢|°ª`Ú³‰XrãYçµ,M]õ‘6[ÊjŸœçXN¹ó2Z½½LðŒü:VSVš×ì¡Æ[P&Z4TÝ™çƒÈrîßðh#Ò©Nr¹/|ÚÅú&eMynÒ³ìù‰59j
N\¯Çú‹€¢‰TÒá´¨/lJ6è72 ]{Ô4d6u劯»±Ã`(GÄGø_cýñ̸± ň'o)Ž4»ú3N;y´Ê=‘''ÔE\J»ÐH‡ÏB/ÏqT\Ì¿NÞPº Ç©>ݯˆ×-z4¯·X¡,ÅÀ½ñŠ%› µøFe7OXþÚýbv8=Ͷöh?¹ -ò¬ ±všW“•„¦±›Ög‘i} ŸPl(kz›AðTÑP»¨Çã[õÚ‡C¤ ›"!²OÑ©cm…™ÔXxhu‚Óî›Ý°dêÁ¼oW; ®ˆÂäCÉ$ÊZ/=ʤIYjîà_ä#‰²E¬hŠ-måi%k@-ãR§ Yä»k²…K®ªe^KÿÉCé/åÖN$(ŸÎp„¸-½ØÒ‚LÓ€¼¦®÷Þ$¬Ò·ÛȘÝ%¯4¥[…Ù)ŠÆ dÅ{Uè¨ûeýeftÝ_f5}Öõ³*‘üZ'BnyßHª,=d³DŸ—Å\Tqdsìô^,O‰¥ì¿‚ø]x@±‚hWÃU€>”Öž7UçZ$KTaÐ=~”¾S’êÕtB¨*Eà Ö6%²s³é“$‰}—h(±#ÃåëëºM*ɽ'÷ŸÅ«—nX’ágŽº
çrÿe«[5E1‚ZT›’m)Ó© —ôœ´ròmAøtªâhlVEjwóz‰¥ï¯5Á£À…]“vÿÇÍô¨çP‘‰ —A*£5K+GØÖ˜ÏÝÔGhMPH\RÂ5‡)¨àĪøû¯3í{†“[õeR` -Šá13<˜ í;BU§Òebqi¾565â}œû¯‡üîn²le犱4Ý„D&¬ :ŠÖz¥(˜—Ò.ÞŽ÷Q'*ˆÜð÷7º™¡^€GU"à>ˆèá隊úæ7’rû»/ž5usç‹òÞ`…>…:ƒQ~p¦ §)¦¿58(fn[TÊõ‚¾ÂX…¯¶n\Χ£èÌwm©ˆ±›±¯œ…†â69SÅÿ£!£XßÊf>£Û©“:vÙQÑÿŸw¨Ú -Î&½ý}#d -ûv1U&U}•·ÏóeA~9,ÅJŒIµÏVÏwóv^ÒÁï’ÜÊ y°åΫsŽ[ -&rKý)Nú0y±E”âJ"Î4-òªì]œÎ”ÞÅʪ˜XZaç͹'zý¢Ï.[dªÂ¼ûM”ÌÕzÚ›]÷›ÿ©Ýè߀L˜€‹¨ßAL›Þ¡/5Ê 9¡[!cFieáá¼õ7ëë„0YÕ5; -’¶oMKë’KÚ˜wt̶ï÷¹û¢c®Æº^Y(B‹òŸú2¤W.M'c¼¨KÀyå!η/SÒã 9=®°§iF t: -f“y„ÃÏU6a‘äžþ¯íâÝ–]ÑPPÀÄ¥w@í=W>òy¿Ðo žUjÄ7Z¯v™ÑiT?а¿öPøûZd’/í'uÝô/ðç=§ýÅ\ =FNóÔst@ùQèƃ³“°G™ï¥6 -ü™úFñ¦™˜þÉ*ðû7àÎðH¯ó&¦lß]TrP«‚ó¸bõîË/CŠ®G£U(0¿WûŒ'4ÌÈjÃþ`_èV
™}»˜˜S?xÖ! -Íx¨¢pËHk™.ˆórñCѸ4᧴ô -ø<
Öl;uÔkMIˆD -?‡B®9aO‘ì>‹deM¯fviy`)øP„íÏüüÁgS’nŽ‹§Jü'Ûo£ ˆõ5Á»ÿQ_m»m$Gôøób@ -ÂUߦ§;ûÄÑÅPbc
ÙÞUEŽe&ÔP (ØúûœS3Ó3¤hÇÈÆ‚,v±«»º.§N dËÈÃÊYƒOCÅŽ1BJóƒÏÁ_ɱ³@0!ç±èÙ <jE$>1*A'Bm„!È°2ä¬qNFË`CæÀN™ij)Ê!eÌÔŠM‹¹æ-s -AN5(!v 2ñÌÖ:{ÎB¨4Í\Z”™‹8l>Òœ›€Ý|¡Ø/¨ÒÄJTß3¯ü oÿéýwž¢²“Ëz›M.µÊæë»ûõc½È>Îî«ìn½¨vòòàU8¡\¯Wr„}3Ûn«M}^ÏnVÕËÇå¢zhNÐý=iÓçûõfûîé¾½´@X8©ƒÊáMôI€ > ýùLáç䪚^Ïð¦ÏÐÙ90¾]-çÕÛùl…÷¾Ü,«ž¾xûUu»|ØnĽ
òЮü^Ð)Óózñöéîf½’µ›–P¬[ÉÑËMUÕÙd³Y:=âG¡dUö~µ˜«²ë',þŠÿ‚èSæ²×Ù?þ©²¤×W ÈDÏv€¬bm£Éæœd½ê×FË®QJ8——5¿ŽÑw_wËV{çðò¸Ý>ÞÛ°¿.o€AGïëzvW-²ÛÍl±¬àÇÂËÓÐêtûÎîÿò–•ÄA•wY„ ô}¬í<Á +Eë|v}7âX€aw(¢©âP¶Z4i”=xD9¬(Pˆéï7ÝX~Óœ—9(+rP,ÞøÑ+Kd -€+ôþÃGSµ¶–ÖFLTƼ€NH”Î#Ü¢ -pM,š,h%äªZ¶hqG/À|£ƒõC%[0àô{ðvIòóPC»Ç+“”‘bº0ØËc{ÔwãŠÈcÒ‘=Ö"þšÏ0Yª>®Éy9U ¡µ‚#èb®Ñ2‹édàsÌH®Q¢ÌFä1eÈ㌓ŒGq°c¿ír´¿ˆ¦pºkM¡©Æèdê`ݾ&I,™X‘v0»T>Ѐ»l_ Cf8Ô#R¡€¤ƒ4ë%ÅMÕæ£
™ÜŽi}:â [än°èí‚Tk¤ù@¥-P4ј3 -P«<R-ú€ì¿¸˜œŸ—¶5@Ðì…ÚùçvVÐÞûW:gºÏ@VYêÜ( ö©Ï¢Î¡1£ŸcÄò©[-¦ óÜÝȈ5ì‡ø³ùÔc¯Û -µúí{9v -(óWÿ}T…pÊÆî¤ÅO<ßkš®‡pdŒŽ -] fÐô’k7áý¦üØñTIh(³“®÷ì"~…OžN"Ù2ßÈ! ¨ààÙ~Í4#„VäV ì˜,³”>ìʹÛ1PuJ´°ˆœ7 3&1-°Gò\‚Ô >…b -ï=ét„Þù¼ÐTc»U‚±Î`ÿð{ë°´à;‚v»,IöcÞïÚé¨[“h8å*`Ìƽi#²:é(«õ@ŒVs‡&…Ç”³Ýyˆä¦0^¸¿ÕÖÉt -9úø¤ÑkQIÌ+)ñî¢Û—J&&EóŽm£¥«¿M1ƒ±ˆIÚq -¥õbŽ°~tTIåÈÁ±J‚É dU -øÞoÒaênM\ýÍ å 'ïöˆ2s‰Ëù9›ëÜžaÛ·v|ÀÓ?vÓVÖBs:k桬j†\bädà -$jóÛD60šæ̘GŸ~ô"U/n…F78U<|:L–ÍcÔ2¦P’y…eµÍ»±Ä¸lÁÿiÙÈž)‘ÏMŽ‚ð6ÍP›³k“j餌ÒLéA›!fªGÏzžVV?}ÍÓ%ZWf{?¹ÍËÔ‘Ø:úÚIPÞ(`íz,kùÏ.IÝz߬V³7g›àN¡NöK°ñ!ŒiTc/glJÝü™a|uDüÍB¦Ýª±½0K'†Ó -4/+{ä€.9ë‘VÓðœ»X,NîvFà×ÔJ|‰q0̌ђE -àñWÆ÷&¥03ÄÔôʦ¤5ÐkAˆÝÆœØH0)J+Pdc4~*k¢v¹øŒ{'CÑÆ
lMLݦsWÇDUd)ˆÒ”réŠpcJzq›Óå•Sb±GóŹ¬[ò®ÆPË•R#Ùà‡Ï„èŒu‡í:Ù,Ó‹õp0ĵKŽ¦E\6›y«Þ‰Á\N&Ü6« wX109»º7›ãÎúä)Ø
¸4Yi”A¤/Ü:Áû6+` —‹Ûœ./¨[}øÕ·/>zwÿÉíõýíÛ»«wËo¹åÅÇoß¾^ž}ô¹ºº¿¿yw÷éÝÕw¯o>{ûêæÇ–_³Ê//>¿»¼èçÞ¾»ÿóÃ7cIÒdrRoD»–à-' É›ALBñ‹/o®^quÿîög¶<z_ÿêõíõÍW×W¯oï¾ÿìÝí«?Ü<üÏyóýí÷ï®t“ó~Ëÿ‡¾vɯXî¾ýôîÕWo¾{ûÚžÓ·³ñn<ûòíõ¿nî?ÀÕ½7g§–rüÕ@-{•P?ט~†µ‰†\z»<üžÿ$ôï%-_,ÿ‡[^
Eµy -µX$ÛÑeò`¾*‡ƒMJÑG¢M|ËO‡#¸.¸n1eÌ%YK`/ -úÀš(|w‰êàq:$´©jÎûÉ>Ïbñ¡U®C§ýÀ<P× - 3˜¿>˜9-€«mÇ{z…õ~Ÿ.Æ›®—>J—ð=)]jÛ&ÉŠšv‘ï7Ni0§*2À6™qV¸Åß.“÷òpÔMln¡K\bdDYQMŠÜ[¡§×zy ¡Ýï]¼í‹¼\íxd,AéÃ2,öpn¸Ñ¿"ZëäÂÙž4Ä™±”?Þ Â(k,›Ëi€DþÄYf\广H.yGtz¹HƉ„þ×}&6Iÿa½ì•œ‚ ü~…PìÎþ‡wNAñHd ஊ·çëY -_I&Bu‰n$ïOÏLO7¶ ¾_>~¦s¾}]Þ=??]¯/·Oßz¼).[ªÆ8õ«ÙPuV±2z½ç„‡¦á ‡†O„$g•§2N0ôPý赕®û¶fS`g¥†¯] ‚”»Ä³ - 'qsîÂDPHdã"t*¢Œ3JعºäÄõVbÒQY\Íx@ƒ}¶Ýs= -|ë¡Ži“PÙe0"Š§3‘ÖSTÿщ®‹Žˆ -‚žyI®üc>âɪ± -“³’ê§ä¬‰ëh¨‘¨ eà…´^6z»º
]!yû%k¦$ç8>ôeˆ@v8ïѹ5¿”µ7ºâŸóÏeãÂîJ‰²s“Ë››æJŒâû';™ªOƒÆ¤Â€÷U…Y£`a4ÌŒJ½&1
º©~ýK•Êuåa2½&BÝWJ1–e³ùëa¨‚ûáèìŒl}$Õ&A•›SD×QÔZ*9<”š7 O)CóÔLJÿªTb£¢{œ0pº×vƒÃš— -H‰ÜWénÛH~¾Cÿ1`Õ÷1ùe;“`vœ8“¬‹…ÁHŒ£ - -’œŒß~¾jJ¶Ä¦y”v¡d±ºŽ¯Ž®ª2¡reµc"÷ÚY˪ìK¶wÑ?œ-^‡‹q=)f7ìö{,R -qÀúg‹ÙxrÉöŽ‡Ãë«A½(ˆ÷€½ -¼ -j`½å!ÊÔF’C³ 'Í2Ò~ ¨(ù$ðem䆻ŠHÛ˜«LC -ŽzR<(ä&påi‰*8ÎÒ ‘ôIÛïÝŠÎðà£ÂKò8EçdGØsÂ^#²:|¼¯¨å -AP‰¦ä%¥õ`ICúNby†öè$z -Žcà ‡x…Åà¥KhÏY"Û/8öœÕ!¹íò€CÏXpêÄîBË!Ôô 4w1‚hpžB©1ѬŒÂ“YF7]@ö.žµ‚4²¶^Bbím½†àÔs‘ÝaN—áÝ
BKÉ.V šËC®ƒ÷Ô
ÑÒ§Rƒð
ökLÓñZ‹ÓU†®ƒd™±cADÓ…¦CµC€:Ö-Yl½ÉjƒÃérÆd½‰´ö‚Ó¡z—~Å5çïÕ\Ç’‰Û¯Iäk²(5ÄmW%¤sº,ñëàI¦HÜzeê@ëd—·c͵yæއ淜ûpÉõÑ/Ù½âõèöøÑý+ft{‹sÌ#;Ø.qBhÖîXÌbÙ&«Ÿ,g±Mµ×³êdAëPµÓrNÖ4Ð’Eh{U‹ù¼¹¬í]¤ëZªb—æß³“õÏßž|üíû…íêá·rq¡.Ø˸ñðããjéúßÜÞ'õ„Y#þ¯—Ó°_'£³›«ÏuEï†^/ÞÕ“÷HÔôz
ùâ&ë²wSúâ›/ï«kü{úùr¸ÈöGõç’Í®ç_ÙÛbR\–3v:•³ƒ‡¿±æãqQUãËY1ý:.9? -ó&£‚ù´ã¼¼väß:äôJ1 ?œ7ãÛ²P²öYÊï’;ª–ô³Ìé[µâ§¨U-—±ÚÜ:¼öÛ¹Þjªµ¨Ö°Ùÿü\¥·“Rö0ȪdñôºÈ¸×·y—ÐUï°kÕGb2öÙÇɤ¸BA7<`gºÏV?BªÏš¹5—«ì|6t÷X´Þ}îµJÈn³n»5j³‡¶Ì’ücþkA¾¯ßÂà¦áÞ¨1TצÆö?ÙÆa¶;Gó(&zc½UqMa‰*Ïs¬}ÿÜç¡êt0%F;¿,Xevº …!¢ˆµwÎ×Jè-ñØ:3Bó9|¶¸©ÊyÖÿ}Rÿ˜ÄL¯qÀÅð`2ìb²ý^®¾öë«)u«×ã -X?šÃx††zÐÌ«K–˜šûŸÆó1Æ_˜J8[Ão[H8*æãášõdt=^<åèËŒõß³E·ÛzÒ²ãá^cy¤ýæPä&æ¼O‚&Ô8R.ƒ±Ÿ -Û‡ñ"J‘Q|u:kúY¸¾— ¤õbPkÌÔ#|Ë•‚VšË*®ý7È«Aù…6¸µk˜=æZ=)iá[šö"3+¯Æp!"ú"»Uï½I9ŸoP£9ŸŠÙøvñä«-†¾¼*§åd4?M¿JX‹dýP¯ºUÒ>¸iX§ÂÕÇ’7În ×ÿ8ëêExIçÓª¸i^#äM°–õ…dÔ -Ð/yÚ™xI¬h±#ä\:
úùavÛ#Øù
^þ‡?ˆA9û¯oÙ¿ÿÃÙÏ1ŸòK–±ý5õdÎKs†J+Í*@±E•<”ƒý(ìÎy\>uGÀ½éÇwî±ÿW–…òd_¶¬°ŸÛÀƒ—r7±ýIMðôË—y¹ ‹ïëïa$¾¿Ø¯¶Ý¶‘$úú=&ÀJìûeßl,ü #Nö]¡È˜¶Ô¢ÖÚû÷[Å‹Æ™\Z&ép@0ÚÝÕ×SuêT%çu »Ú‡gEø>8¿Å›‹2b7ëdƒ3p4!mÙÆ;ßÐûG’?%y6’ü{H¾²‘ÕD U’Œä¡$œÛ%É·Îip-½Ìº„hš~ú¾‹®ÿ¹Åj•9nñ§{,^Gü•'B;€úò᧲ê€è]%¸6e6?ª&E©I/ÂäËË|8Ãoá#zt‘^\„“Áºˆlö -w~>žÏEW©[íßdj¥À(•_Je9Jå÷HeÔ¦vz¤‘ÉœSê…j©L¸‚L*Ìq¦ÇWJ㻼1Â:ÂÖkkÛŽHpÇ»ÈOo—þ¾žørC´«ä¼£µdWûð¬ßç·xsQFìfl°cŽ&¤-»ÓxçzÿHò§$ÏF’ÉW6ò¯š¤¢JÒ‘<2ÂŽÅn¥e:?ê -÷x„l ›; n\úäŠAì9å†AŠ/ÄYp¢ø(-Z ’Óîü2|<ŸŠ®R·Ú'¾ÉÔ*Q)¿TÊrTÊg(e.©b çFQÂP [c¬ÌS€bÒ@ƒ[F%h†9åšI‰"Zh%^µ|&\Á&Ÿ ^Úô˜÷Šèi|—7†Ý«€SeiV«8Ÿf%‘R*ƒ^+ÀUAƒq€šã²®L²ÄÆÚÁ¹#–\Äñ.òÓÛ¥¿¯gÆÜí*IñhÖ‚ÀŠø~p~‹7eHoÖÉ;fàt‚©èNão c8ÍlÌgd¿Œ*ùWMRQ%éÀ³œ°]~ëœ6ØR‰2™u¦IÕR¿N¢GéÇGÔp}D6{v”ã`!fmüAUB@O‚ëç(Üã²lî$¸qé“+6½ç`”Y¾ÐgÁEˆú£´hJNW¸óËðñ|2ºJÝjŸø&S{(F±üR,ËQ,Ÿ!–\`|j¤¶bš©dÉàôGPÂD
F©V²F3®…àÓÌÙM©®ˆ—Æwyc U@ÌË Öš(•C,„&¶€tˆ-±†±v îˆq¼‹üôvéïëi07D»J<Zë@}µïÏŠ`~p~‹7eünÖÉ;fðÞBÚ²;w¾aŒ”Jùl¤ü3(ŸÀg$PÕÈ¿j"Š*IÆõXÖÛ%×·Îiƒ-Œ(µùQ[©Œúõ=ºH/.Âè`]D6{€v$ãpÎ*dø~PuÐΓàú9 -÷x„l ›; n\úäŠAì9åF@Š/ÄYp¢ø(-Z ’Óîü2|<ŸŠ®R·Ú'¾ÉÔ*Q)¿TÊrTÊg(e!áÉj¦¬Á†!œXƒŠ™S®94(¡VeZÃDz&\Á¦žIö -=¦½"xßåQ÷*Þ–0 -ÂœF -J5‚OÖ - œNkùWMRQ%éÀˆ)NØ.‰¿uNlÉD‹š©•’©_Ñ£‡ôâ!ÔÖEd³hG>a•TÈðý J¡œ'ÁõsîñÙ@6wܸôɃÖs0Ê
¼`Ph³à"DíQZ´@$§+Üùeøx>]¥nµO|“©=£P~)”å(”ß,”Q[E8SÐà‚kƒ
f%S˜ˆÃ A9þ2KXj&\Á¦š æ;Óc¾+¢¦ñ]Þn@«”E|‰¦’ˆ¬’šèhB³!Æ)×<{ÂmÒ–XÃX;HwÄ‹8ÞE~z»ô÷õœ˜¢]%uàÁZXÙÎoñæ¢æÍ:Ù`ÇžYH[v§ñÎ7Œ…‘ÿOùŸüÿfþG - „ÓiM#ÿª‰@*ª$åcv¶KÊoÓ†[$‘ü¤3MZ(“úõ=ºH/.B‡ë"²Ù´£‹°nàª: -w~>¾k…w²YÿUT5’ʦ_{ýor°°eòïLOM©é/ ½5ƒ\¥nµO|“Ký4Å>‚¦~…÷p /¿¢ÈýÞTÕ -ºíÞÅ*ýM¯–ëuys{Ÿ„Ó¬º~ƒ@øœáZ±Ò§|RfÆóe²n×ûŸ‰ƒ)QƧÓÅÁì[âÏ!P{¨N/ÜÏÜy‚/‹_Á9þ9=ªMÿßÕŠ“Âä]|2?Ú?&²Ü㮽hÆ
yçW|ívG½Ùqþ½ü•,ñìÅп@„ä#D[pøÝâtäk§gý–¾:lò׉Ç{uÃrðõ©‡•æ½\ðÝ%aº‚øù•¸Ÿ¸àn»^þ7ÿ÷sUÓ’0p—¹ÒVž5c¨V-¡J”¤yñzšË’ÆŒ+ÓIÓc¦ûqbŒRR!<Z¥º9• Îî/´Y—œŠÐíˆ -Ž~µG±|þ~gýùÎäìãܸûïó²)⺛Õd4Ïu¼WVãf½½Þ«t0áðé‹ÇÙq1MK¥sÜ÷öRh#¯<¹ð¢˜Ïº†SR¢™œk¦eØKÃÃÞ†kãðœBI.m‡ñ3L³Ur\`@„ÞëmÞD¨p´Ñ‚‘ÔáŸy@ -æråÃ-™•\“iaúÔ;éàÜb<¿(6Üiôd3BmxUYÄè žæ³¢jòˆÂ•uÂg1Z*8;—I/h9gÜ›”}®³§ûœ±ìžgÙc¸Ü0Ül5C8æ‡b䊞4‚2Àôé4@n"2§™]Ë–‘HñBC¹éA9²n+”Q\ŠõÄ)'$$ëahÄÀsnQZ‚OÐ0ÃàC¬6¸ÐÊ÷¥Þ8 fÜŠAN[Fé8ô&Ç<ðjªÍí}C„(4äYóxB²à%¡u~¶E,B
Ok¤p” Û°`f±ÐF³ð´á"·ÒAáQY0Á˜NˆFÅ¢±xT -,·&¥†ÕÛ¡,cBÑÇp°À^RVKüáëãBÚ¶8mÚzL…1ÀmÎ4J{O@2ÊHBÁ<…³M2Ù(r™0V*rµ÷2F˜1<§„<výœV<¥IÉ#×iˆqÈÈ<ÊY@d‰/ÉÚxb–N¬úˆ8“H ŒÉìÚ]®D Ó¸ -/Œ -ÍJ+é.C÷*K_y¤“~X¨Ô:Ęõ>Ð $˜!šÕ^¹Ž7¶0Mˆ ûôĈKÐFÝC$wÏ)¡€›€…FQæ„ú!ñ3À -\'MèäDç
„KàVÂÐZ0‚Çú'7Ú]³ÐvÚ÷¢–`Cê -"ºO(F‡Ö±Ê{ºÎëlK2ãCy)ˆ"Y…Gþ4` s!"¡Ã$ÙY%õ€Ö¹p`Cˆœµ*ò¹ô–8 È.ŠèõL»„¦·2¨Iõ‡æjH2»ôzÆS˜Îs-=EÌ -†Ô·!ùŒ6ÄwѸ–®öT;D¡‘öðÄU¼k4ù˜%•î2ŽY’ :EX¥€·d…&+Ÿ’v>àüA» ¤¥¡Œ‘ØÀСéB®FÛnÕmc2¬ŸŽ*:¯ rÑR'Z€Â rOÒL@ª“¼ïeÞ0áWŸ¡ IŽbn¡BT躆üÓ¶ -T*ÉS¦$Ù¹¦ Z -)Y¯ X¯ó»lá~vÜ ä4zÅCJŸ•r†ØH…æÕÛªã^n·LÐPò!à’¦ç>˜[º’Q€±HøƒžR
жkqº¥%45È^A”Iâ Éjˉ´x<¹†¬Vý̳Gl€¿ÞÙ*òTr>-AVîÅá$sûÿxãÍx¼³ñ}‡ô0ŸY³ÈÂÈpÎðëˆÂâªñ9Ãùüú¦¿ôdñ¦ ›f¿–³ -·+·éÎý Xu“\T«âj#‡_o5ñp±\uŽs%àðkÜ}X®Î³IfÖÕÞ`uø÷²õ*[®-ˆRGRú¾¤ñ&§$9xhš*)å‘ú:u„iw‰¬²Ÿ÷9ÄxŸ»óØÎw!B®ö`ÿÉìæjè1©‰Bñ´ƒ/÷žhUzM«
7ü´‡
Ä nº‹µæ•€}«¬ý@(ÐéÂ@Õó@u†ôb"ÑŠâÀT›°®ìž‘V…v¯Û.bDðC’³F‘}ÞëÃÚ–=\ÐmÊyEbDˆ‰+XMO’µª¥ìÐr7aM+„"žSt…‹¹`‰ÕŒÖ÷iZ©Òžh·%;¥@0SR [¨©"m.QGO3•NcLTЛ¸m#„ø0j›Bsœ -9+SQ«ì£ÆÅJëM\Ù5XEÀaî‹JŸ©ÖÂÂP«MvÛ¾ÜèÊ˙c¤°˜EýB0hÙ>®Kæº$ÝeIÖÉAmé HTKº‹ÁÈãnH“êȧ)Ì£f߆«SAërvÞt%Ýy…ƒOoƒ Y_trs8%öŽ -£§\C² á†õP¬Þ<!}ï×1\—KÒdØŽqZ„¦©moŒÃj¢Äùö‰µ7a½ÑüyÍH+©t‰ ‹h¶Ä¹¢çú8Ï°¤=È»_f-qž2èiÚÖd´Ù‚8ïÜ=8Ò§?UÓI>ÇfîÇŬ¬NŸ-ªI]VMYÍvž-ñoêæäÜWQkÂ0Þð?äe£ÂœºM˜îÉMd'¢0„1FÚž6,M$Iuý÷»´v(L-L×¹—Òó>®ßw¹Ë&æÐcÚ”œ—LhÄÍkÇg@}¹À—¡Œ„Oî¥ 4ÁìÌpâF12„ ÏqÙN4.y |b¤ÀIë´•€ƒ -0000000016 00000 n
-0000000204 00000 n
-0000044448 00000 n
-0000000006 00000 f
-0000200574 00000 n
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000011 00000 f
-0000000012 00000 f
-0000000013 00000 f
-0000000016 00000 f
-0000201205 00000 n
-0000201236 00000 n
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000021 00000 f
-0000000022 00000 f
-0000000023 00000 f
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000029 00000 f
-0000000031 00000 f
-0000200644 00000 n
-0000000032 00000 f
-0000000033 00000 f
-0000000034 00000 f
-0000000035 00000 f
-0000000036 00000 f
-0000000037 00000 f
-0000000038 00000 f
-0000000041 00000 f
-0000201089 00000 n
-0000201120 00000 n
-0000000042 00000 f
-0000000043 00000 f
-0000000044 00000 f
-0000000045 00000 f
-0000000046 00000 f
-0000000047 00000 f
-0000000048 00000 f
-0000000049 00000 f
-0000000050 00000 f
-0000000051 00000 f
-0000000052 00000 f
-0000000053 00000 f
-0000000054 00000 f
-0000000056 00000 f
-0000200715 00000 n
-0000000057 00000 f
-0000000058 00000 f
-0000000059 00000 f
-0000000060 00000 f
-0000000061 00000 f
-0000000062 00000 f
-0000000063 00000 f
-0000000066 00000 f
-0000200973 00000 n
-0000201004 00000 n
-0000000067 00000 f
-0000000068 00000 f
-0000000069 00000 f
-0000000070 00000 f
-0000000071 00000 f
-0000000072 00000 f
-0000000073 00000 f
-0000000074 00000 f
-0000000075 00000 f
-0000000076 00000 f
-0000000077 00000 f
-0000000078 00000 f
-0000000079 00000 f
-0000000082 00000 f
-0000200786 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000200857 00000 n
-0000200888 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000045998 00000 n
-0000201321 00000 n
-0000044501 00000 n
-0000044831 00000 n
-0000046304 00000 n
-0000046190 00000 n
-0000045274 00000 n
-0000045434 00000 n
-0000045484 00000 n
-0000046072 00000 n
-0000046104 00000 n
-0000046380 00000 n
-0000046779 00000 n
-0000047766 00000 n
-0000062544 00000 n
-0000078264 00000 n
-0000086991 00000 n
-0000101076 00000 n
-0000116788 00000 n
-0000135345 00000 n
-0000149315 00000 n
-0000153230 00000 n
-0000165528 00000 n
-0000191920 00000 n
-0000201348 00000 n
-trailer
<</Size 130/Root 1 0 R/Info 129 0 R/ID[<F744BDF41FE14BC9945784F7EE756AD5><BD77DDF9D2694593B7CA60D65FF6FA9D>]>>
startxref
201519
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_search.png b/chrome/app/theme/omnibox_search.png Binary files differdeleted file mode 100644 index a428789..0000000 --- a/chrome/app/theme/omnibox_search.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_search_dark.png b/chrome/app/theme/omnibox_search_dark.png Binary files differdeleted file mode 100644 index 7f3d0e8..0000000 --- a/chrome/app/theme/omnibox_search_dark.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_search_selected.png b/chrome/app/theme/omnibox_search_selected.png Binary files differdeleted file mode 100644 index 603389c..0000000 --- a/chrome/app/theme/omnibox_search_selected.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_star.pdf b/chrome/app/theme/omnibox_star.pdf deleted file mode 100755 index 14ba712..0000000 --- a/chrome/app/theme/omnibox_star.pdf +++ /dev/null @@ -1,231 +0,0 @@ -%PDF-1.5
%âãÏÓ
-11 0 obj
<</Metadata 12 0 R/OCProperties<</D<</ON[13 0 R 29 0 R 46 0 R]/Order 47 0 R/RBGroups[]>>/OCGs[13 0 R 29 0 R 46 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
12 0 obj
<</Length 18811/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:CreateDate>2010-03-31T10:59:39Z</xmp:CreateDate> - <xmp:ModifyDate>2010-04-05T11:11:33-07:00</xmp:ModifyDate> - <xmp:MetadataDate>2010-04-05T11:11:33-07:00</xmp:MetadataDate> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>256</xmpGImg:width> - <xmpGImg:height>248</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA+AEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYqpXd3bWdrLdXUiw28Kl5ZGNAqjqcIBJoIJp435t/OHU7uWS20GtnZglfrRAM0g8
RX7A/H3HTNnh0YG8ty4s85PJ59eX99eyGW8uJbmQ9XldnP3sTmYIgcmkkl1nf31lIJbO4ltpB0eJ
2Q/epGJiDzUEh6F5S/OLUrSVLbX63loSF+tKAJox0qQKBx+Pz6Zh5tGDvHYt0M5HN7Ha3VvdW8dz
bSLNBMoeKVDVWU9CDmsIINFywbVcCuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux
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
irsVdir/AP/Z</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Mac OS X 10.5.8 Quartz PDFContext</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Points</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:DocumentID>uuid:8070e083-2488-dd4d-bcc9-691d852627e3</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:9a3a8343-3848-9e4b-bcec-cce7b393a9eb</xmpMM:InstanceID> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[48 0 R]/MediaBox[0 0 612 792]/Type/Pages>>
endobj
48 0 obj
<</ArtBox[1.41162 2.0293 17.5889 17.5601]/BleedBox[0.0 0.0 19.0 19.0]/Contents 49 0 R/LastModified(D:20100405111133-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 50 0 R>>/Resources<</ExtGState<</GS0 51 0 R>>/Properties<</MC0 46 0 R>>>>/Thumb 52 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
49 0 obj
<</Filter/FlateDecode/Length 415>>stream
-H‰\SKNC1Üç¾@Ü|ì|¶Ä -!Ä‚TÀ†"î/áÉkÒ'ôÚ—Nlí±{x>ÒáéèîþHîâÅŽ·ïÏ»{£oXb!{w±w©J?Ÿîðøèó×](R°'R7¬%D:®ÏÎ[ˆdûé#§(äA'@3Ž -œO\r!/\{¥/ç—v¸rØP³š¼e$ß8l¨%W³kã.,yøö®8bHªŒ£)|…Siäû ´<jm ®Ìjã¢tË…#2›½æâ„»Z™Ñ*‘ºñ•¾]ÈÖO6@Í0´…Ì;slWsf)åœ9Ý‘CÄÄ=BØê²Ké+¼²x‘5îÒ¢¨¶³–®+
ís¢_]ýBYb@+]Z7¡†©%¤®SjÀÞÛœFTæˆ0¿z›†Ûçpë¨ã:w,…LprØ™zÛ¬Tš+˜¢Î}›[ˆgrTu6/u¤–-æš`ÂÄšJÒNí1ËV;öä:ÚióÿbçBOj+@µÞð*éË}¸÷ðdÇ÷'À -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
53 0 obj
[/Indexed/DeviceRGB 255 54 0 R]
endobj
54 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
46 0 obj
<</Intent 55 0 R/Name(Layer 1)/Type/OCG/Usage 56 0 R>>
endobj
55 0 obj
[/View/Design]
endobj
56 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
51 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
50 0 obj
<</LastModified(D:20100405111133-07'00')/Private 57 0 R>>
endobj
57 0 obj
<</AIMetaData 58 0 R/AIPDFPrivateData1 59 0 R/AIPDFPrivateData2 60 0 R/AIPDFPrivateData3 61 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 3/RoundtripVersion 14>>
endobj
58 0 obj
<</Length 957>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (omnibox_star_action.pdf)
%%CreationDate: 4/5/10 11:11 AM
%%Canvassize: 16383
%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.41162 2.0293 17.5889 17.5601
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 0 0 19 19
%AI3_TemplateBox: 9.5 9.5 9.5 9.5
%AI3_TileBox: -296.5 -386.5 315.5 405.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -18 25 24 1107 729 90 0 0 164 109 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:-296.5 -386.5
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
59 0 obj
<</Length 14483>>stream
-%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.41162 2.0293 17.5889 17.5601
%AI7_Thumbnail: 128 124 8
%%BeginData: 14342 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD3BFFA8A95A5A535A537E7EFD76FF5A532F5A5353535A53532F7E
%A8FD71FFA9535A535A535A535A535A535A2F5AA8FD6FFFA82F532F5A5353
%2F5A53532F5A53532F537EFD6DFFA9535A535A535A535A535A535A535A53
%5A535AA8FD6CFF535A5353535A5353535A5353535A5353535A535AA8FD6A
%FF7E54535A535A535A535A535A535A535A535A535A5384FD69FFA85A5353
%2F5A53532F5A53532F5A53532F5A53532F5453FD69FFA9535A535A535A53
%5A535A535A535A535A535A535A535AA8FD68FF59545353535A5353535A53
%53535A5353535A5353535A2F7EFD68FF5A535A535A535A535A535A535A53
%5A535A535A535A535A53FD67FFA92F532F5A53532F5A53532F5A53532F5A
%53532F5A53532F53A8FD66FF7E5A535A535A535A535A535A7E7E535A535A
%535A535A535A5384FD65FFA85A5353535A5353535A53532FA98453535A53
%53535A5353535A53FD65FFA92F5A535A535A535A535A535AA9FF535A535A
%535A535A535A535AA8FD64FF7E532F5A53532F5A53532F5353FFFF7E2F53
%2F5A53532F5A53532F7EFD64FF7E535A535A535A535A535A53A9FFFF845A
%535A535A535A535A535A59FD63FFA92F53535A5353535A5353535AA8FFFF
%AF5353535A5353535A53535354A8FD62FF7E5A535A535A535A535A535A59
%FD04FF7E535A535A535A535A535A2FA8FD61FFAF5A2F5A53532F5A53532F
%5A2F84FD04FF7E5353532F5A53532F5A535353FD61FFAF535A535A535A53
%5A535A535AA8FD05FF535A535A535A535A535A535AA9FD60FF7E53535A53
%53535A5353535A59FD06FF7E5353535A5353535A53532F84FD60FF7E535A
%535A535A535A535A2FA8FD06FF7E5A535A535A535A535A535A59FD5FFFA9
%2F5A53532F5A53532F5A5353A8FD06FFA92F5A53532F5A53532F5A5353A8
%FD5EFF7E5A535A535A535A535A535A59FD08FF7E535A535A535A535A535A
%53A9FD5EFF5A2F5A5353535A5353535A2F84FD08FF7EFD04535A5353535A
%535353FD5EFF535A535A535A535A535A535AA8FD08FFA9535A535A535A53
%5A535A535AA8FD5CFF7E5353532F5A53532F5A535353FD09FFAF5A2F5A53
%532F5A53532F5A2F84FD5CFF7E535A535A535A535A535A53A8FD0AFF7E5A
%535A535A535A535A535A5AFD5BFFA92F5A5353535A5353535A5353A8FD0A
%FFA92F5A5353535A5353535A5353A8FD5AFF8454535A535A535A535A535A
%59FD0CFF5A535A535A535A535A535A53A8FD5AFF7E2F532F5A53532F5A53
%532F7EFD0CFF7E532F5A53532F5A53532F5353FD5AFF535A535A535A535A
%535A535AA8FD0CFFA9535A535A535A535A535A535AA9FD58FF7EFD04535A
%5353535A535353FD0DFFAF5A2F5A5353535A5353535A2FA8FD58FF7E535A
%535A535A535A535A5384FD0EFF7E54535A535A535A535A535A7EFD58FF53
%532F5A53532F5A53532F53A8FD0EFFA92F532F5A53532F5A53532F5AA8FD
%56FF845A535A535A535A535A535A53FD10FF5A535A535A535A535A535A53
%A9FD35FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF
%A8FFA8FFA8FFA87E5353535A5353535A53532F7EFD10FF7E53535A535353
%5A5353535459FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8
%FFA8FFA8FFA8FFA8FD12FFA8845A5A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A5354A8
%FD10FFA9535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A537E7EAFFD0CFFA953532F53
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53FD11FFA85A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A2F532F7EA8FD09FFA8535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A537EFD12FF7E5A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A7EFD07FF
%7E2F5A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535AFD045384FD12FFA92F53535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A535359FD05FF84535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A53FD13FFA95A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A53547EFFFFFFA92F5A53532F5A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A2F7EFD14FF595353532F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A535384FF
%FF595A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A84FD14FFA9535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A537EFFA853535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A5353535A535353
%5A5353535A5353535A5353535A53FD15FFA85A5353535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A53532FA984535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A537EFD16FF595A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A53547E
%535A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53537EFD16FFA82F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A2F5A5A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A53FD17FFA95A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A53535A5353535A5353535A535359847E7E597E7E7E597E7E
%7E597E7E7E597E7E7E597E7E7E597E7E7E597E7E7E597E7E7E597E5984FD
%18FFFD047E597E7E7E597E7E7E597E7E7E597E7E7E597E7E7E597E7E7E59
%7E7E7E597E7E7E597E7E7E535A5353535A5353535A53535A535A535A535A
%535A535A537EA9FD65FF7E5A535A535A535A535A535A5353532F5A53532F
%5A53532F5A2F597EFD62FFA8FD04532F5A53532F5A53532F5A7E535A535A
%535A535A535A535A535A7EFD60FF84535A535A535A535A535A535A535A7E
%8453535A5353535A5353535AFD0553A9FD5CFFA87E2F53535A5353535A53
%53535A53532FA9FF535A535A535A535A535A535A535A535A53A8FD5AFF84
%5A535A535A535A535A535A535A535A535AA9FF842F532F5A53532F5A5353
%2F5A53532F5A2F7EA8FD57FF595353532F5A53532F5A53532F5A53532F53
%7EFFFFFF7E535A535A535A535A535A535A535A535A537EA8FD54FFAF535A
%535A535A535A535A535A535A535A535A5AFD04FFA8532F5A5353535A5353
%535A5353535A53532F547EFD52FF842F53535A5353535A5353535A535353
%5A535353FD06FFA95A2F5A535A535A535A535A535A535A535A535A5AFD4F
%FFA97E2F5A535A535A535A535A535A535A535A535A53FD08FFA87E2F5A53
%532F5A53532F5A53532F5A53532F5353A8FD4CFF7E5A2F532F5A53532F5A
%53532F5A53532F5A535359FD0BFFA9535A535A535A535A535A535A535A53
%5A535A5384FD4AFF7E5A535A535A535A535A535A535A535A535A535A7EFD
%0DFFAF5353535A5353535A5353535A5353535A53532F5AA8FD46FFAF5353
%535A5353535A5353535A5353535A53532F5AA8FD10FF7E54535A535A535A
%535A535A535A535A535A535A84FD44FFA8535A535A535A535A535A535A53
%5A535A535A537EFD13FF7E532F5A53532F5A53532F5A53532F5A53532F53
%59FD41FFA87E2F532F5A53532F5A53532F5A53532F5A53532FA8FD15FFA9
%7E535A535A535A535A535A535A535A535A535A53AFFD3EFFA87E535A535A
%535A535A535A535A535A535A535A59FD19FF842F53535A5353535A535353
%5A5353535A53532F84FD3CFF7E532F5A5353535A5353535A5353535A5353
%2F547EFD1BFFA95354535A535A535A535A535A535A535A535A2F7EA9FD39
%FF595A535A535A535A535A535A535A535A535A535AA8FD1EFF59532F5A53
%532F5A53532F5A53532F5A53532F5A84FD36FFA853532F5A53532F5A5353
%2F5A53532F5A53532F7EA8FD20FF7E5A535A535A535A535A535A535A535A
%535A535A7EFD34FF84535A535A535A535A535A535A535A535A535A53A9FD
%23FFA85A2F53535A5353535A5353535A5353535A535353AFFD30FFA85A2F
%5A5353535A5353535A5353535AFD0553A9FD26FF84535A535A535A535A53
%5A535A535A535A535A53A9FD2EFF7E5A535A535A535A535A535A535A535A
%535A53547EFD29FFA853532F5A53532F5A53532F5A53532F5A53532F7EA8
%FD2BFF59532F5A53532F5A53532F5A53532F5A53532F5A7EFD2CFF595A53
%5A535A535A535A535A535A535A535A535AA8FD28FFAF535A535A535A535A
%535A535A535A535A535A2F7EA9FD2EFF7E545353535A5353535A5353535A
%5353535A2F59A9FD27FF53545353535A5353535A5353535A5353535A2F84
%FD31FFA85A535A535A535A535A535A535A535A535A7EFD28FF7E2F5A535A
%535A535A535A535A535A535453AFFD33FFA87E2F532F5A53532F5A53532F
%5A53532FA9FD28FF84532F5A53532F5A53532F5A53532F5359FD37FFA953
%5A535A535A535A535A535A537EFD2AFF535A535A535A535A535A535A535A
%84FD39FFA9535A5353535A5353535A535359FD2AFF7E2F5A5353535A5353
%535A535AA8FD3BFF5A535A535A535A535A535A53A9FD2AFFA854535A535A
%535A535A535A53FD3BFFA82F532F5A53532F5A53532F5AA8FD2BFF53532F
%5A53532F5A53532F537EFD3AFF7E5A535A535A535A535A535A7EFD2CFF7E
%535A535A535A535A535A537EFD39FFA85A5353535A5353535A53532FA9FD
%2CFF8453535A5353535A5353535A53FD39FFA92F5A535A535A535A535A53
%5AA9FD2DFF535A535A535A535A535A535AA8FD38FF59532F5A53532F5A53
%532F5359FD2EFF7E2F532F5A53532F5A53532F7EFD38FF5A535A535A535A
%535A535A53A9FD2EFFA85A535A535A535A535A535A53FD37FFA92F53535A
%5353535A53532F5AA9FD2FFF5353535A5353535AFD045384FD36FF7E5A53
%5A535A535A535A535A5AFD30FF7E535A535A535A535A535A2F84FD35FFA8
%592F5A53532F5A53532F5A2FA8FD17FFAFA8FD17FF7E5353532F5A53532F
%5A535353FD35FFA9535A535A535A535A535A535AA9FD16FFA9535AA8FD17
%FF535A535A535A535A535A535AA8FD34FF7E53535A5353535A5353535459
%FD16FF842F532F547EFD16FF7E2F53535A5353535A53532F7EFD34FF7E53
%5A535A535A535A535A2FA9FD14FFA97E2F5A535A535A5AFD15FF7E5A535A
%535A535A535A535A53FD33FFA82F5A53532F5A53532F5A5353A8FD13FF7E
%5A2F532F5A53532F5353A8FD13FFA92F5A53532F5A53532F5A535384FD32
%FF7E5A535A535A535A535A535A5AFD13FF7E5A535A535A535A535A535A53
%84FD13FF7E535A535A535A535A535A5384FD31FFAF5A2F5A5353535A5353
%535A2F84FD11FFA95353535A5353535A5353535A53532F5AA8FD11FF7EFD
%04535A5353535A535353FD31FFAF535A535A535A535A535A535AA9FD10FF
%A8535A535A535A535A535A535A535A535A535A84FD11FF535A535A535A53
%5A535A535AA8FD30FF7E5353532F5A53532F5A535353FD0FFFA87E2F532F
%5A53532F5A53532F5A53532F5A53532F5359FD10FF5A2F5A53532F5A5353
%2F5A2F7EFD30FF7E535A535A535A535A535A2FA9FD0EFFA85A535A535A53
%5A535A535A535A535A535A535A535A535A53AFFD0EFF7E5A535A535A535A
%535A535A53FD2FFFA92F5A5353535A5353535A5353A8FD0DFF7E532F5A53
%53535A5353535A5353535A5353535A5353535A53532F84FD0DFFA92F5A53
%53535A5353535A5353A8FD2EFF7E54535A535A535A535A535A5AFD0DFF53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A2F7EA9
%FD0CFF7E535A535A535A535A535A5384FD2DFFA85A2F532F5A53532F5A53
%532F84FD0BFFA82F532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A7EFD0BFF7E532F5A53532F5A53532F5353FD2EFF53
%5A535A535A535A535A535AA9FD0AFF84535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A7EFD0BFF535A535A535A
%535A535A535AA8FD2CFF7EFD04535A5353535A535353FD09FFA85A2F5A53
%53535A5353535A5353535A535353542F53535A5353535A5353535A535353
%5A535353A9FD09FF5A2F5A5353535A5353535A2F84FD2CFF7E535A535A53
%5A535A535A5384FD08FF7E5A535A535A535A535A535A535A535A535A5354
%7E84535A535A535A535A535A535A535A535A535A53A9FD08FF7E54535A53
%5A535A535A535A59FD2BFFA92F532F5A53532F5A53532F53A8FD07FF5953
%2F5A53532F5A53532F5A53532F5A53532F5A84FFFFA853532F5A53532F5A
%53532F5A53532F5A53532F7EA8FD06FFA92F532F5A53532F5A53532F53A8
%FD2AFF7E5A535A535A535A535A535A5AFD06FFA9535A535A535A535A535A
%535A535A535A535A2F7EAFFD05FF5A5A535A535A535A535A535A535A535A
%535A535AA8FD06FF7E535A535A535A535A535A53A8FD2AFF7E5353535A53
%53535A53532F84FD05FF7E2F5A5353535A5353535A5353535A5353535A2F
%84FD08FF7E545353535A5353535A5353535A5353535A53537EFD05FF7E53
%535A5353535A5353535A53FD2AFF535A535A535A535A535A535AA8FFFFFF
%A87E535A535A535A535A535A535A535A535A535453AFFD0AFFA85A535A53
%5A535A535A535A535A535A535A535459FD04FFAF535A535A535A535A535A
%535AA9FD28FF7E532F5A53532F5A53532F5353FFFFFF7E532F5A53532F5A
%53532F5A53532F5A53532F5359FD0DFFA87E2F532F5A53532F5A53532F5A
%53532F5A53532FA8FFFFA85A2F532F5A53532F5A53532F84FD28FF7E535A
%535A535A535A535A5384FFFF7E5A535A535A535A535A535A535A535A535A
%535A84FD10FFA9535A535A535A535A535A535A535A535A535A537EFFFF7E
%5A535A535A535A535A535A7EFD28FF5353535A5353535A5353535AA8AFFD
%05535A5353535A5353535A5353535A2F5AA8FD12FFA9FD05535A5353535A
%5353535A5353535A2F5AA8FF5353535A5353535A53532F5AFD27FFA95A53
%5A535A535A535A535A53A8535A535A535A535A535A535A535A535A535A2F
%84FD16FF7E5A535A535A535A535A535A535A535A535A535A7E7E535A535A
%535A535A535A53FD28FF2F5A53532F5A53532F5A53532F5A53532F5A5353
%2F5A53532F5A53532F5353A8FD18FF7E5A2F532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A5353A8FD27FF7E535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A5AFD1BFFAF7E2F5A535A
%535A535A535A535A535A535A535A535A535A535A535A535A53FD28FF535A
%5353535A5353535A5353535A5353535A5353535A5353535A53537EFD1EFF
%842F5A5353535A5353535A5353535A5353535A5353535A5353535A537EFD
%28FF842F5A535A535A535A535A535A535A535A535A535A535A535A2F7EA8
%FD20FFA9535A535A535A535A535A535A535A535A535A535A535A535A535A
%7EFD28FFA8532F5A53532F5A53532F5A53532F5A53532F5A53532F542F7E
%A8FD23FF595353532F5A53532F5A53532F5A53532F5A53532F5A53532FA9
%FD29FF5A5A535A535A535A535A535A535A535A535A535A535A53A9FD26FF
%845A535A535A535A535A535A535A535A535A535A535A537EFD2AFFA92F5A
%5353535A5353535A5353535A5353535A535353FD29FFA85A2F5A5353535A
%5353535A5353535A5353535A5353A8FD2BFFA82F5A535A535A535A535A53
%5A535A535A535A7EFD2CFF842F5A535A535A535A535A535A535A535A535A
%84FD2DFF7E2F5A53532F5A53532F5A53532F5A2F537EFD2EFFA8FD04532F
%5A53532F5A53532F5A53537DFD2FFFA9535A535A535A535A535A535A537E
%A9FD31FF7E5A535A535A535A535A535A535A84FD32FF5A532F5453532F5A
%2F5353A8FD34FF845A2F5353532F5A2F532F7EA8FD34FFA9A87E7E597E59
%84A8FD38FFA97E7E595A597E84FD3AFFA9FD60FFFF
%%EndData
endstream
endobj
60 0 obj
<</Filter[/FlateDecode]/Length 12855>>stream
-H‰ÜWérÛ8ÞÐ;`k+[rUL‘Ôíü’í$ãY*Ë9¶2)DBb` låé·¢.JÙ̬ÕI¢?4úîæ«¿GǃPŒÉqÓqQíÕ«3I°òÙUtÁX¢´4KõÛ#äµ@ƒ‹Þ}üH¤¢‚ŸX’%¾3»ë×4˜ †úê1™¡úï¨fÈ"ât,žî•ÆòX8q89Ê%€ûs¬Ùj´ž‹<ïÄóÐàÊÐ1Ÿc¥èw zf¯ k§"á!åÓSñ‹ÈG^>@øÞµJuZž×ñ‘ï¸~¿‰¼®Óîõúö¿ãz°å\ID¸J¥ÎR ³æè -O‚Ñ¿ câ2<ÔÀíûw”Ð<ÂyփϿ?M(¯“hLÀ&ÍN×,7ï-Ë -x[sm–»÷¬ŒˆÖ *hlyûþ´,,ÚwýË-™Rë0Ô×£Œq„åƒJa(ÕO)w$Š˜Ó ï´Ëßâ[ê±ßï -5ÆBÃ,pI&úFRxd<D«Í=/ ïÛ‚7‰È©HxøìÚÓs‹C˜ƒ~VŽþOÊñPIDøAEº¶›¿\‘&º%J°ÄdÎW`óÓ -u<'†c†y°Þ{׶ŒÆNæ!õ r -*¨ÃtÐYUôZÄR©ž>.Þ%ŒåAð‘HŒº=%W[òˆ°ß°†½—"ÀÌÔIU -³X0‘çed™|g5Í©9 <’pS Ô¸úGȹ7ËQ£ÇÒ £Éj¯cB2Á ËÄêx~jë¸Ò`ÝíïD•Ÿ)êçd~ -ÑxÎ%Ô¹Ù©Ö÷/{Ÿ»íˆ`M’Ý ² ÛÌcA6ë2a«eû&Æ«²m2dÒ‰`w•`2t„œ:•Âg˜y)Ó¶£Ä&ÉyíÅÍ+$· ˜‹Ý‘’b®ªL -
}2¯ˆ[£r=8J/X…%-²%oÎ;1ô€Ý"O¸vB¶â’•ŒsšÛNR#sÂ*dQΘšÔ¬„p2ÅËƸ®¯Æ0ÏTKœ‹¼Ýñ€S3Yªñ[Q¦¬r¢2T·½å̧ØY¯äÛ0¦ï -à]'[Vcª#\Qq4ÅÈÍáxkû†êCŠ6ÏRªYÄc†ƒ‡ -¬íæ&P¼çx -[m‘3Üe¢!à…+fsZkìì,ô<kYØóºGÎrûhÙ<çH™ÄIûüÂ1bÕcShh¼µ ùéhŽÿ´˜=²Þ=`-:‘(Å7a% )ƒD«Žß«è¦“ô`0ÞSÄ¶È sOYëi"nj¾fÐR4¾úcØNÛê^}†µþÕÄ5ÆàãVdaß*à?-ºXQ‡ô)ðVÍ.k²5fѺ,@o±’QLÉÒŒ$cÐ!!…b&–_çPÖ^ -sIì?’µFÛ1œ„„å))dèx¢|Tø,±š×& -‡EØÙúÛŠ/5CAZ¨ê!E]åë¡ÕÁŒKåUsªÄÍÜ•ÍÊÕV Z{UAV²E˜ÊשöVÂüAõäPh@¶êïÄ ûÔ-l Ò#;ДšÕ  -䜕V”GPì¤_jF›€«•µ•¸ä60Ÿx‹xc3Û
Yì:–A0Ϥ¶× fÇ_ª_è|3&õ^˜Ö¢É)URqQ}®v9?J–.ë7/Pû±Mq<…ûÏRu>‘7 -Õ#õ•]¹#x8ªD±±zŠ0ÐAƯ7+ö¸ö®<ܳTÓGFñ€ÈU0¬[±=±«ÖUÄ̱¨ ~N5Yq¡{ôÑZ¨~ÔÀ±É#å#££N‡@ ô™1PŒÍƒplKlJ}¬³³ƒ¥˜ÿ4ZÊW§Ãu‚ -ˆƒ
_ß)UÞ۲® a
´|Ô&b8LÒ~ê—E¬=JÂ_^dpLëXþç§PÙæ½kø´¨³î–YqÒ÷9¨ÃïÿÚÙñy~†„)#5˜oG¸påXm¥ÍV -+È“ŽÜ,I½·bVxéçît$ÁÏÍF·Ô’£r~„™ü’Ýh±ÆzàSN VOî#nÝdÐR<M¿= ´'lM?¢,±¡þ¿µî6y
IxHûÕétŽôJúär9*Å•Ë"¤þ÷†ý‘÷ÐVÀÌùô¦2;LÕóDI¶ü¿IpF$`ÆÕùOµ®X¢›gE¬!«í'×’;VO‚òÒU奄'ÎM«7)ÝÏñËs«P·7YÒh !;pìßÓ}§+"½ä9ý˜S;‚a!Ò
ª²2͊̆‘i„SµŠº‚OTÜnõìhåLÙœ úÞËü¼´›¦%Fbð?C¡÷YõÌ&?Iÿ¼Ææ{Åz=+±¸šñ¾Lì#á˦A:èkú|Ù…Á¿…£éîmdÐÝÿ&¤"Ù¾T(}ÞT—5ÇãSú¤G™ýiØw÷_Ø=‘ÚÝt?Úœv_f™¶{Z/7öëGŸ»o{Û³_7ŸKv?ÝÓÁ»Ñ•³=ݨ›ð¸Ò2šmd"…d$‰¯_ÒþŠFè¹vJ×Þ٢͉Pænš¿Þ´îs7b&YKá%:(£ñ]z©Œú•»üÝ,äÍ'øJä²ë+ú½€×ˆ›¹«8ˆ4n.!bGF
¡”Øë:Œö7´—‰ÉŠ4¿ K=w…dä¶v-šÐbîNn}™ªÝ%;.祴Åd5šüúVWðõ¨d£IsÜ%ƒVo±Ûú[€úvÙjØœ°hœ{¨:É iûCNDí„ÆÑ‹ðWµ95XÑ}Ýô›€ÆWŒ{T&ƒFGÏt…ö6‰ •yÜæ¼L<zZ$_éJX2;œ^>oúAW/O(ø¢ƒúsîú4ðLðøßvÜîƒðFRÒj.ƒB-NËÆœŽ ’'áû†õg5ð½k} -§mAwšØN…ò…ØJÒ-ºNÁ5 n‡ Ëé˜éªñŠ’fæŠ Ó)Ô#]VyeÓ©¦.È\o–®&d 5{ô—Þˆûí»«ïš¾©e÷_ -Íïâ»Õv41´€9hùVËYVüZ–"ùùú^›~ðWê¿[T˜]e¯4; Æ
Yä”[X ÉÀ¤6¼+SrߧV -ó‘–þc±tۛ䈱BìÙ…1º)°uœˆïÝ$9·îÝX¸[ºØ;ûC“<.1z)—dí¡÷*ñC‹‰*ÐÚ •ÙPøÐQ°Rgc,4ÌÙˆÎ#K\h’ÓKFdÉe2ÿßEž¤œ—(*ÌÚÔÝÅ—/,-¿î®l±Ö-ôT kËbrÒŒÄ,¾WHTÅh‰=öwv¾õ®žè»‚ŸðöÅ‚ùÅCºl¸ÒŒÇ…¤þ>}¬®õÝwÛA¦¤ÓAv´
Új~¢ƒN’Î}ÿVU©»I>ÆØ{p\²‹Ýsº;ìâ2ß0ÆšyïIšªî*F"í‘#ÍsÅ4¥±´d¾?ˆ’‡k®JÉ»:6c[©Å³É: &hé8ö§Ê”ל¸'°éZ¡ -ñâöw¶òO5ù²Í×ä>|艧æôNnr¢Y˜ËAÕqöÚèÚr¯:•Ö·ó‘¦i -F.Ùµ -¬}qÑ&»Ïˆ¦”¨¡8¡€›@¬Úò š8ý.n§Š&jˆJQùþ(åz‘Ðe86#5-IÐ}úÓkT‹''7Þ„o&%Jíná$¢ðÁXp† Ì8ÑSP€1cØÊ}Ýþ -)¥ëV)Mî¾£˜Ö{nû¬ÝNiñDh;%LÔnQ'iP%o1OD˜nÿ¾ÔxÀœ§Û<zùÅnÒæ<×U qö“^·ÞA -¢…)ˆÖõŽhÆõjÍÿiþˆ¶žÅ-׫{O1–°!Ã4'D[Ï’Ç+¥8„cw¿KC´v¿ëÑŒî[íh]Ñ®<Ô‰h‘FÒ°rL7Ý8Žª,$vIRYqf6>þ9dv€C×(†¶ÔC &JÃl˜ôð4q3Ìæ—§Hv¥Ì`;i ì0ŒyY´ûL˜,Tÿeýî(˜ù.Sœx´@]+FÜ!Œ£«ó
Èeg'ö+YQ• Ôcí°7‡)É1ua1–ðnŒÅ…2Ú+öŽÑ÷Ä—ˆ»øà…å@`Ž9³!0ææ|dr!qY -xZ¾Ç@y|"èGª5$ú’j“ìb½,Ä£ÐÒ€IKä]醘&k›#MÎK a
Yì²ÇÙ’ÿ -tôÏØxe}j8¨}Çâë“OiâïÌÌyÁ¦BC‹SízÕÝ -å×(Ó©RΟ6NO}þõrÄp:xåDv®B…?a;TVéJ8=¯ú–§ÛáÎ)ä²À/¸ÓÔƒ/pûºƒ9}|¦ÓÈå¿î=ÃéÉ''†¯{á…é–ÌuÀv*”ÿ(L§Jù¥Ú1BuAXœÅŸ&,§c§%Ítʉ«õŸš‘ë©úN»t§W¼l—ém€T «pa£( -Ýë^j&RÛ®êêºávZDõ(¥ãH)yœHjZ -Uø¬hײr}…°}Qù ›H)!†’*ŒÇ5Ãü;ªÅcû¬ä²Y‰k†yjñƒ<äS¯²©7(–MµÚ°é>µÚ»ŸzðÛ,ßÖ»beJèÁû8yïLE¥áZ†Û1ÎÓ®PšTº“Äzû!“BaMåù×°ª¬nJ¤ÚÝûbÞ5·×/èÈ -'‡wI)Û%Am’i~φaaÙã€Üš†Úª~sÐ!¡ì»1˜¼[$ò¬VŽˆ»ÂnËd898éJœ5Ž
>UM¯³•ímåji³Úüq&0rò¸Å ääHfäw¨–¥%Ì;C®HJ—ž–—Åâ¿x5O>b“JÆGÌb§‰9òž/óPJâűɉ Ì0ÑåÄë—ÈØ~š~®¸/ÖVJÔ_4c·K¹œàP„ºkáW&•¶ô&éÝJíì£ÅîZ™eK¬³)>L×ò¤rGËZHI"¥=mÉ&Åð=#½Ö)õï A~BoeàærÓ÷ï=)ïò/ŠD¯ôÞV16Øùûf&…ºšº“¼`ìUY±»× ±Ñ|cˆ9Œ¶*b3zÐöçxìûô/œ[Ñ@üiæýÂ’Ù,gÕq-PˆqBo+„ -âä–Ã'SˆLƒÍÉá¶áÃ*ôJ€U½`}(¥DŠÓ×/VýuÆ•æÌãx3)âx”;Ÿä_겺)ÿh9J‰éùGy½bî'fËÀ웓Ÿ>ئҳJzÎÀây± 0,…Àø,0©dD‡±ÙSšdè"³bùø“Ëh¶8Çx@M,Ϻ¬XÖ¬ñãÀ\»4’rP0èôó.¾5ÝÐ^â3ăκ•Ä×î)W{‘ƒ“,í0#-M8ŸÜ}™uù£'Pñ|¢žÙúKË/ˆaõ‚’;‘—rIþêvNu…ÅE°x7!ƒOHo²è”ë7ðIö×!)çÿèèå¸ÎŠ×ú»ô›Â¡ów8uGVïMaïäÄþe<Ú–÷²ø/^Í“S³µ•Ã¡Š¢PX²T8Xiýkî[sÆçmW'¯çjªí’¤qXÓ¸R6„“×Þ@’ÍhF±kqmŸsKr²`¬}§Ä‡ò.²+6íÿsd¿ó—ÿ]Ø•læd~
Q°5ŠÑcÊ·„òB%ÕgÚÂDD&K~rtÐN¼x¯\b>0Á„^l¸oüâ5„‰@9è:¼ñFö{K>@*JÂ
uú©¢-i -óèîßLºvûŸÿ(ª…ø~4ÖÀGKî·ðèB,¹ó£ù ®ug8’<j%öàG_ñÿQÌÉÌ(%þ;Cö%ðþè^"3ÍËÛÕþ÷¼÷'û—óÏìaQéw•F‰û½/ü/KÙêw…ˆ¹êtiú§Õ<Üá…¨ï’tÁAmˆL•KR®›-¯`¬»Ì¦?<^mú[ìTÕî5Š|8cÕEî¬,<äÓ·Õ…y÷ÚP}“·£‚”´¤ZR9Â)Åõ¿?ãn¡ç^{©szš¯ -úHéô“K ]19NÙïSˆwí¥ÃˆÁ8ÇÖÁÉCiª%ÙC_z”%0á°ÎßÁ”(5®6OÖÕ4z}ža*4Ìû…µ‰úx5¾:è,GSÒ’jIMÚ—iùþ³ÞUÁ‰Ò²Ž˜rYu˜/=ê·
jRÍ»ÆLƒmš:lÃü\î5dž>õ -)H”škû -6ímVج?me….€#!Æ ½½b@N8äV^ö'd»—5x»)éƒ?În÷tDqfŒÚîú`2žHJ±r}K…¸×ЃQA^ßgÊ%ÙÃzþÂ:TzZ¼^‡Ü—¬#iÄŠ²°û"0h5Žá(G‡ƒC4mž¸R@¹´£Àꇖ„“ZÛ -j#Ð\ÙúK‹¤äò˜bRÁ””¨@Ç%ežD)¡Wœ¤FóÍàÄ:ÌÿY¯Ö¦Ä• úò# &¼^Ë*èâ%<¼<¼DÜB]±\QAÿg’Ì„éÌ€~™²¬pzº§OŸÓâ P§‰,{/ic7"c{#zk²’”v;s÷Ê&Þ^½2¦“½’_±L‹mo¯¤†‹œ%Ï
Ú&IÅ4÷¸L˜&¾Yû«©EIjdK¢“ó;’Iß›/Í- -ó³Ò•M^ü‘‚Þܧâû$Ô\¡Š1žq»wÈÑhé ¯É}äyoN;X¹Â°œåFuÇmÂWÏà ê<YÆHTls\=§J´ÎÔ©v®ÜÿLã;œS¦…»¶À³P¤ÅíT”[»ò ¡òr^G¡Ú!¨æ-Öq@-¹>X˸ïï‰b/ü– éÞN%Ÿ¸èôàÔXé„ûs/ü-´ŒLVAý‰_üzÆî•{%”~Š|ƒ[SR·Ø±Z¹q
¦ Q±nmh¨“þ²þÏHüÉ%þ$tŠ&!uîm-T^c¶ûKb¾Po9¼òûÖí) é[ò›ŠMt| ¶ò›L¨vÂÃõ–%_@¥'÷ã˜{å}qŠgY¡×—ÄÙOò˜-‰à|•Å7»ÝiéÃñ´ä!ƒÁ· -\ A9sŒcfµM2ê)ßš9úI°J«™ä “ÄLj(rãýÆ®riø¨[Ÿ;9<Øóc°¬±£v¥|™Ä}¥„Þ…Z$Lvk14½Fe9Mø.ÌôØö†‡?Øɺ¯÷Jã¯g{: ”¢e¯*-Q7RÖ0–;(µÚ_åþršÛÓP[’…z°ÿª (IÑëKâ¤vºÍf¯äàHÑGxÓ·%U§Žù<Kœ8]$žhˆ ,
³t[$+QÔck}=é˜24DÞ+î§!úŸÿ!¶öI^ïDC_³£ŠmÚÝž
KB‰9ÒОƒ4”wã¸Þ‚}Q¦Ñj·Õ„¢}Ž€>2Û+Áù}6*†qÌoÉ*Í lHˆ]ߎ֞€ex` ”¢±`sºîbIòѯ£³ƒ—9è‡P-ÐJÇé‘a§¢îöêk¯Lø -x®Û+et‚m‡ƒmŽ"ct°uÏ%”ø1§Þh‡ìì9©œypûMçÀ‡âEÙg9ýo§Û¸¯Ïâ á2üzV¨‡l‰]LŒSŒÞÐx×,;(=·}’XÅ6ó>I&ÈÃ’~øD'ë>üizò90Í¿j1 1ÚÑ}—†)
‡»ÓÐGBg ÔÓ
à©£Üt)Ç߮Ū2®
HŠK‰’œý˜d„@Qï…ÁÊÑZKØrø@‚¡b0+X¦Õá7W,W¾îw¾c¯D/i¸——Ø+‘Š*z
æŒ!ê1|)_O@!g-#å3†8Še´DÒÚ 1Dc‡'( "g+Ãç¤Ì(@‡£bðûZ†`-òá¡Cïb?dÔ°n$Ý«ÀƒÚÇÃd+vX«¦ê
jKÚ~ËF÷MàçÃ’Há>ìtGˆ'šMäìT1±<¿<ö¦Íú8Å‹·y¡ñÄZ,ÊíÔüŒXõ~ù§hÕ›ºÝ¯ÞÔ§ÿœúM«bü±¬ŠÙJ ^ÍáÑ^Ùë¯ÿú¥æ"è»æ›a.ÏÔÁüuä5;‡ï‘´y2\)Úbq¹öÓ±[QgCž)\[öŠ]º•Æ‹0šÝTâä²ðœ(ý¹èP½Aýñ׎C3z&{a‹¼=„ƒ†ë&4]ïWz¼ Š†ÂTíâoçž—+z´‘:¢‚>êºê],‹‰% Š<lóÃçvÉ Úx¥ƒ‡£tÐüÕt±ºË¼ ¨b¤ÀÇ¥·K7W6hAU? -«[~м=ƒ¢ò¾eIPÏѹ¦ë³~ª·'ÏPÐ /(Ú_ÖtÞ‚N×ÎG
èáÙÁ{®4†‚öHPJ‘UBÍÍÈ_뇷^Ÿÿ] üNÑè/ó·m)Ä|¬»þn#“íÇt:įOö‰'*ÖÉH<µc×'veL¼c€KÖÃtõYðV*§Í£j&^y©{7„œ>6ñ~Îùc½«È^ U,øRŒ¹Én] ™$j”×n§uŽîUñc½.½ƒÐ^WètGÕìïU¥Å»’¢uÊÏ€:EBPþ` -H‰¬WébáP~‚<„%‚ íб;¥”.c™êhµEÂûϽId“›ýs)ß=ç;ÛwŠt=…ãÔ{vf‰<]£©d?Jæ—;ÃS¾Rä.)±R‹Ì¥Ê«\Zx*sùá}~‰Kþ¾Ë°d~8§hŠlÝ‘¹“¹Xk
ÁÀ/„O†^Ud0ÕQ~Q\Ke2't¿r›ðë=†k¬öÿ"µ\”,‘mQd)-ѯ¡ëj
¼3^Ú
éWbÆ;˜Lù㌉?*gú‡á&ÇÙËýcfA¢ª›d`ìdÒ'¢W“0ÜÙ(¶ø˜®_œ0.Âb‡2ª ØÁr›Èï¡<%óiŽ®NkhHÏhÃ8¶90Û/À[€ê×g½"2ç3þÏð/’ yÊÙ¥p¢Âäôê©déæû€ÿ““móLlÀÄàñ$Û -ì—mãaôÃ|Ãàôð`í èáê1•áU¤k\ð¦Ñ´síP/šsN®=]Ãá‚GÏbˆÕz1›\½Š„d¯ì³ÄÜ\½ŠC “m¢åäP9¡çŽ]æ(Ç¢›éY©tKC À-ÏÛ3‰1Ðò– ?ê6ÈU©Ó¹ÓÒ&¦e2é -O¶Ö½™a–ÙE¢ârï‘J5gÍBÙ’Ì""•¿”KWƒÚ-ØxG±lÚœÆñ°^ï&»Vè^äµâ™èmÅê³—Ó•k*Xð›9 -Cw“†¥ƒ©èÅa"Ï%f$ªö3ÀØ -<P œ\¥kŽzl²'Ì`a4X>Ì7\E¢aÀô…`0¦Ñtó¦aæ—޷ܦ¦‡N\JPšé -ì0H0Äa‹£ zÈØ
¨aœŒò˜.ÃAUJô[3™8ͤƒÉÊ\P/0È•Õ‚¦W”2÷Û:àíÝàØc>7ÆÀMU&–>–Œõ XO3 d*ûð—!.Jc>d XvV•1Í_>Í›(ð%Û»ZúÂO‘½/N×L_jJ¢ÈJ·¾è?ñŽŠã™÷ÐJݦ®HiY£ÖûQ]üJGóOÁG¿¯¶‹øn+=Ê?þs• öe|õÝo‹å&ŽáWýævr½zmþ+¬¦íecÑO§ÛÏÕí°ÏloýåÝûç@ ZûáDˆ„'“ù§>:_]òæmC>v"Þ¢È}þõbMátpyylþ’i²Îmƒ_MXûøwYó™®/ú"´|l±óIÞüMè -ÏÑ•û‡ --ÖmZè´—¢øž‹ûeŽˆX{÷Éd7¹-OfµŸ`H|¢˜ßÑüðz"JÿêX•…mCRã2Y”D1'íÊ•Ûf%{›ýË9YþJ‚’RËQÜöìÉúd’ýå t²Xø¾jûÚ
ÒÎWÅÓý4Œ†ðQ7øë泈wûB˜ökÙd:Ôº÷Õ¿äû@˜žùøu3ôÒ‚¬HþJ-îß_@&ã÷VŒ–Žh®§’±|¦ø§1Ñd9R¾+ê®éÓÇÈCþšÀ@â¬Ù$ÿPÜÔ.Z&ÓÉ9UäÙj¼kÕoƒûömõjÚ&Ó©l¾’ö^K/õ@Uö”-ŽI^)ëê4@€ëÂð)L–cø¾®Öjÿ'óÃKï3ŠÁùæÿ®¶išâì¤ú£©Ù6g|}‘–qøk00³ë—ø2ì¡·ƒ'¸ÑT*‘?Æ -kð1CÊ1”so^d .bòüýŸõ*ÝJ]YÂOÀ;lP$!! sdE”I&AöYëþºÏ~«º;IËQÇsÿd¥Sêꪯ¾ªJŽŠC±w¥=Òót¢êÞ‚ÝW¼¡²¶Ù?/Èy'¶ -4›ÄnÓíò2üvzFæu]Ýe®F¼q?]XW€ùr -;ÁŠn#ßèöù§z˜½-[y$ç÷½Iv£ Ž‡ì͘‡QE˜ªvÓ¨±‰±6†ËªFõ÷·L÷HlÛhëœ5£Äô=ÆD!©pß.ã]&ö]º|¥ÅúéV3µñr4c³Àg4l‰Dóš ‡’ð–¼L«»Íášü~ܨJ361š¡ˆ¿|¥ÑEæ„S`ËKÂ
’µéþ
HCV,û;”ªöuû°Œl2tA÷gÂ"<RXFü”aÆžfˆhÆêÍŽ>0¶%"v.]èî·4fH’Rôs+Þûr9äŸ>¤ý@.û~«ÈâG†‰½KøU²M~£*`£™#,' -½Ô¢ßyéCfÔ4!Æ®ó£e·æúdÚÏ8ÚÁD„…°,¥š…)kROš)R¬’WtÖ"›ÜÝ$äw——|=y;ß×,#ï¡Šý¤ñDtOÛª³®qÉ•NòÍê eܾcoÕ‚ÍÏI§ßB$‡:
^Ex]<T¬ôMªÂêõhâÆ"+DÏ_³¬Šý\êÑg_Ço~öuá‘0ÈaÓž_/¬Ž#®;…?ýà“ž[äûÆšv8ÂEoI¢Ï¼‡ "Ðî*™x…®6ÕÞÃMÅGl»<¬íZ¶®ÑP -:Sœ¸´Ýkµ -•_‡ó"¾Xaô© -¿÷P‡ËŸ -•ßøÁÊšûQaãR+ç›KEgõqŸè€O+Þem[;ûŽÄØ7·`>ÄØ·*¾Àر8yŒý,ãÅc™ÏÁØ_UpûÑ5xŒýð_aìS(Æ8¢"»}ùþ
³ÁØ
>*ð0W‘õ„ßAå±6VdÿÜ÷½
<*-D|R‘¿‰†ß©Èß×mqÙÿÓŠLƾÙËL%
üÖ ñû™!YÓ+L 6¦‡Ck’k¬‹£…·æF—çs“Žµdà„Ù@!ÿÚ^ß5MPT:®ÎÆC½½ÌüðGçJrâ³ï
GʲĖq»Âr€-«!¦FØwkÞh™×uuGæO<~13͈èˆý.¯%JIœh|šKY‚\ÀÙnëÂTTG<MÌ3– ®Û‚`Ú»D$—R~ç+ï»RNæÜÉ¥Š‚pö=ô%Ì
Ìó—=nu²^´Ü°l¤©f—UáŸL(¢Œ›³,é˜Õ?©I»(À«¾…-uÁ.Ão§°lµ~µÑªµæç“;pþIò¥a~†ÆNÕqÌÈ:e?ïòê8yŸ¯|b²zqú#2w˜±Rû”yùǸÇá-Œ¹¼`ã*÷ÔhøLOÞÒ'^FobÑ’Ë[LûfwùÊ4åfpï´u¿w†”—½û¢P®Tq9<aðêŒCöÅÇ<¼&õ -é>ZsÆ=P ˾ß*Xx%:1ŒÉ±w$—+É6rßSÙ´GIû¶È.=«¢."3‹å®4Ɍܗs£Ef¼¸ßdœ‹¡‹ú¨†‹€o¢ºÅ–¥–"×áïk™°—^š‡\Â#µñ†vÁÓ›ÿš®¨5~E
Mÿ¥Þî—³m}ûgþgõKv%\j¦¢ëÕt]ÜÎfw³ÿ¼ç×Oû×ÙêýWü—šiæ*•h8?{ZOg°4ŠØ™"1„K5 =hnì7"H`ÏæŸc¥Eùä65Î?kÓ–´*‰ÁrÊP}·ÐpHæ"鯻1·üûˆFÏŠ[ÚÇ›n¹ÖλZÍÀ*"ã|ÜÕâÐWf0
FÏ»ç¯Ýd`T\G‚ÚÔ‘jåá,‡åÓLM2òæú2}Û™ÑròA)®»¡û¶ßÕòÝb箘ʤžHî±SÀü[’ÿ_]—]ÈÿX„"
7xi»åûAŒh»…À؃÷»ÄGÂÈpë³[ü³4ÝÕMß-=)1,©Né=#”¤ÍÞÓQ’G»ìé ú€é_û4}©N˜€ˆxHX;ÀàkgË·²žeÈ·âNÙ-H½ô³z¨{d\ÊvùÌ)±²bÿÈ¥'\3$pEs*qK÷s•±0ˆ'-ANáj#Ç<fQáûAÚT¹Ò|8¤¦ñ'—ÒGmþìRÑ)>p`X¦TµØ±T×o$VÉJ-ƒ6ž«9‰Ô>ÆÕ -Ž…·½Ÿ¥J£ªÐéKµw°¼ÕtxLqÙ¦j!_V´1ÄSEdN§B")ñ¥¾SWØ)ó‰Ù@|Îý>/Ö³ËèIô¬WùZâÊ‚¼Cd -î¢(£,Âqåœ;ÿÜg¿UÝIˆŒãaÆûùÒUêêª_mHr×ö×[%!Œß*|äÆÊÖ8(Wgú{ò¤ÄŸKlHT6¶7JÅFr³SúæÔÆÅ‹âðJTÓVZg_å¾ù$Æ#„W'êß^]MÑAôÎ4Q/+_ËŠxëÆ.E
“Ÿó*ƒ®Ë¨æÆ©þ5@ikŸ¿ù®í=X¢@b›¯¡aëLÁkî:g€ìbJ¼EZ«§.‹TFlêÂFðéÁ€Ë¿K“| ³×Øo8ªñïAÑ,ifãã4Íršä™Âlz€yósMuMUò酪øršˆ‡ü*Ê^WétñçcS÷[çk¬¦fŠè³f†ö,¸.&—Yî[pÞq+™ÜIò%Ú€_¸ÃÖÙzaíÖ÷>f•Ü9úcsƃ!©?ªôÕ4Ç•ƒŸ ‡ŒüåQ-¨íþ
¿o€~=šaüX…V=P¹æRµAñ.5}Q•ß´êuB¬^-[è¢ {;¯6¯É¼V¥Ãb§òµèG4è‚&:l˹ÏWA– äòâ~9ÈGk['q`žŸ^Oq(-€§Ý¹(LIk´‹§GŠU¬TŒÁgg3Ü|ùfvÄl‰T%*B}¬,‰È”âù -×LÓ§V•¥¼kcQ–9-Ëå÷H?1,O&Û#‘£yÛÝM,DAÌÒ—D4›'ÅPÄ£è -, û3tS."ƒÇþ²ˆ°¿,ÂkÛ«•ÞìÓÓ‹}ñ¡±yâïÛ}ao÷eVÂØG·ÒWÉ:RâCÙOâ\×"û³ˆ×WHˆ±ŸDÏ^#’u¤ÄŸ]ƒý–cËZÿmUsû°”:Lr–ñF -ð™bo„†¹ÐÄ)D‰»„=Ÿ'*ª§Ü6Éeœc'@eêæŽó3@Q-éß*|”²é3sjÄOQžL|ÿ7‰$"ê_¦[™Æ&XÌÎ5Ì£¢sÛOq¸3åæ|ÍÇïu‹_Fõi±vuÕYÀ‹)óþSpñ«TX¹º±%ÐÍÊ7û”Ã^J°òý±%B üÜ`þÛ¼u‡:–XEé¶ý7ö`¡KˆhßPâ
<zlÄÚÏu"¾mÏÏ„lÖQšßÞ¿a}:›ýï¢7f¦rÙ¬â]zá]n` «;!@’<e+‘€ì:Å€ø+¦0ÂÒܨü”ó±¿ –×À‰™"ú,…Ú¶g»vèÂ[òÅ,÷Jߘ۫ -Çùký•/áq=Òü°.¬ÝúÑ[Ò -døpK ØÖL—š¸Ç}]ÏŠì±5ÏqHDÓ\Ï1£g;šg2ÃP–5®K»à²ò‚îh–
ª¼H®æZ–g‡Wc®Eùšš6K\Û4P’e˜L.B®m€¯á~¼D5ò)Ï@?^H¡ší”âÚ0ÑnpaÃD…Ãrå{ 4wmj …24£fÃÀo³e´¥…‰¸P ,Å´™£9¦ ¨K&8Ý6Ðv¨
5Í%ŽÍ€bp•a³
¤ÙÌÔ,Óv¶`[Ðô0áÛ6B™ †²4J
Çáç{†¸Ç_Þƒ³IÈspÝàk[cž Æä—B˜€]7ç0qhìyFŠg;n(pÃÃÎ`ê -0000000002 00000 f
-0000000004 00000 f
-0000019066 00000 n
-0000000005 00000 f
-0000000006 00000 f
-0000000007 00000 f
-0000000008 00000 f
-0000000009 00000 f
-0000000010 00000 f
-0000000014 00000 f
-0000000016 00000 n
-0000000177 00000 n
-0000057684 00000 n
-0000000015 00000 f
-0000000016 00000 f
-0000000017 00000 f
-0000000018 00000 f
-0000000019 00000 f
-0000000020 00000 f
-0000000023 00000 f
-0000057942 00000 n
-0000057973 00000 n
-0000000024 00000 f
-0000000025 00000 f
-0000000026 00000 f
-0000000027 00000 f
-0000000028 00000 f
-0000000031 00000 f
-0000057755 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000057826 00000 n
-0000057857 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000020674 00000 n
-0000058058 00000 n
-0000019140 00000 n
-0000019471 00000 n
-0000020974 00000 n
-0000020861 00000 n
-0000019955 00000 n
-0000020113 00000 n
-0000020161 00000 n
-0000020745 00000 n
-0000020776 00000 n
-0000021048 00000 n
-0000021231 00000 n
-0000022238 00000 n
-0000036773 00000 n
-0000049701 00000 n
-0000058083 00000 n
-trailer
<</Size 63/Root 11 0 R/Info 62 0 R/ID[<A78B44F0012A26A4453BD72CD1EE62D5><4ABD15A53E9A4ABBA0EA3290E25F4C1F>]>>
startxref
58213
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_star.png b/chrome/app/theme/omnibox_star.png Binary files differdeleted file mode 100644 index a3800bf..0000000 --- a/chrome/app/theme/omnibox_star.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_star_dark.png b/chrome/app/theme/omnibox_star_dark.png Binary files differdeleted file mode 100644 index 1ad8495..0000000 --- a/chrome/app/theme/omnibox_star_dark.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_star_lit.pdf b/chrome/app/theme/omnibox_star_lit.pdf deleted file mode 100755 index a6aa7b4..0000000 --- a/chrome/app/theme/omnibox_star_lit.pdf +++ /dev/null @@ -1,222 +0,0 @@ -%PDF-1.5
%âãÏÓ
-11 0 obj
<</Metadata 12 0 R/OCProperties<</D<</ON[13 0 R]/Order 14 0 R/RBGroups[]>>/OCGs[13 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
12 0 obj
<</Length 20649/Subtype/XML/Type/Metadata>>stream
-<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> -<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> - <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> - <rdf:Description rdf:about="" - xmlns:xmp="http://ns.adobe.com/xap/1.0/" - xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> - <xmp:CreateDate>2010-03-31T10:59:39Z</xmp:CreateDate> - <xmp:ModifyDate>2010-04-05T11:10:22-07:00</xmp:ModifyDate> - <xmp:MetadataDate>2010-04-05T11:10:22-07:00</xmp:MetadataDate> - <xmp:Thumbnails> - <rdf:Alt> - <rdf:li rdf:parseType="Resource"> - <xmpGImg:width>256</xmpGImg:width> - <xmpGImg:height>248</xmpGImg:height> - <xmpGImg:format>JPEG</xmpGImg:format> - <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA+AEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYqpXd3bWdrLdXUiw28Kl5ZGNAqjqcIBJoIJp435t/OHU7uWS20GtnZglfrRAM0g8
RX7A/H3HTNnh0YG8ty4s85PJ59eX99eyGW8uJbmQ9XldnP3sTmYIgcmkkl1nf31lIJbO4ltpB0eJ
2Q/epGJiDzUEh6F5S/OLUrSVLbX63loSF+tKAJox0qQKBx+Pz6Zh5tGDvHYt0M5HN7Ha3VvdW8dz
bSLNBMoeKVDVWU9CDmsIINFywbVcCuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2KuxV2Kux
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</xmpGImg:image> - </rdf:li> - </rdf:Alt> - </xmp:Thumbnails> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> - <pdf:Producer>Mac OS X 10.5.8 Quartz PDFContext</pdf:Producer> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" - xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" - xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> - <xmpTPg:NPages>1</xmpTPg:NPages> - <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> - <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> - <xmpTPg:MaxPageSize rdf:parseType="Resource"> - <stDim:w>19.000000</stDim:w> - <stDim:h>19.000000</stDim:h> - <stDim:unit>Points</stDim:unit> - </xmpTPg:MaxPageSize> - <xmpTPg:PlateNames> - <rdf:Seq> - <rdf:li>Cyan</rdf:li> - <rdf:li>Magenta</rdf:li> - <rdf:li>Yellow</rdf:li> - <rdf:li>Black</rdf:li> - </rdf:Seq> - </xmpTPg:PlateNames> - <xmpTPg:SwatchGroups> - <rdf:Seq> - <rdf:li rdf:parseType="Resource"> - <xmpG:groupName>Default Swatch Group</xmpG:groupName> - <xmpG:groupType>0</xmpG:groupType> - </rdf:li> - </rdf:Seq> - </xmpTPg:SwatchGroups> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:dc="http://purl.org/dc/elements/1.1/"> - <dc:format>application/pdf</dc:format> - </rdf:Description> - <rdf:Description rdf:about="" - xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"> - <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> - <xmpMM:DocumentID>uuid:496e2a28-b71c-f441-ba06-aa5e08cc250d</xmpMM:DocumentID> - <xmpMM:InstanceID>uuid:1c1f2091-19b6-344f-bdfc-1ff7fdba2d20</xmpMM:InstanceID> - </rdf:Description> - </rdf:RDF> -</x:xmpmeta> - - - - - - - - - - - - - - - - - - - - - -<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[2 0 R]/MediaBox[0 0 612 792]/Type/Pages>>
endobj
2 0 obj
<</ArtBox[1.41162 2.0293 17.5889 17.5601]/BleedBox[0.0 0.0 19.0 19.0]/Contents 15 0 R/LastModified(D:20100405111022-07'00')/MediaBox[0 0 19 19]/Parent 3 0 R/PieceInfo<</Illustrator 16 0 R>>/Resources<</ExtGState<</GS0 17 0 R>>/Properties<</MC0 13 0 R>>>>/Thumb 18 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
15 0 obj
<</Filter/FlateDecode/Length 490>>stream
-H‰\TAn1¼ëú€dQ¢HñZ·è)(‚ú -™%?Êͺ§Jî4ˆÞ—†¥T‰7Ä)M‡š®8Å:±æÊ}cGÃcIÝ)=¹‘ËB£2¸†o;·dnó¬YÇBe"^Z²vƒ`UKŸîi ®æºôµ!æ>È•…g·k›pÈ,‘uèí‘°.>±µÁ+Ÿæ4€½`òÓ-ëd{7·Ì"çåæ]ÒïÈË,¬M0‹WÁË/¼Ò[5î¬bý¸‰„î}"ß~ä1øZõC+ðVÄ°µ„Ôº¥4»(‘ì¡~zÖŵ]\q¼×MÁÜzFÏAKÕÝR€•úî·Ý…x–3ª9y3Ž:Ú¼é`CžZ‘På1oéè+ó<rojkòfi·-}¸»zScðºžøéyNà—ÿCyÿ -8;V'g&!$eu0E;4r!KR~>
endstream
endobj
19 0 obj
[/Indexed/DeviceRGB 255 20 0 R]
endobj
20 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
-8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 -b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` -E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn -6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 -VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< -PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( -l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
13 0 obj
<</Intent 21 0 R/Name(Layer 1)/Type/OCG/Usage 22 0 R>>
endobj
21 0 obj
[/View/Design]
endobj
22 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
17 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
16 0 obj
<</LastModified(D:20100405111022-07'00')/Private 23 0 R>>
endobj
23 0 obj
<</AIMetaData 24 0 R/AIPDFPrivateData1 25 0 R/AIPDFPrivateData2 26 0 R/AIPDFPrivateData3 27 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 3/RoundtripVersion 14>>
endobj
24 0 obj
<</Length 964>>stream
-%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (omnibox_star_action_active.pdf)
%%CreationDate: 4/5/10 11:10 AM
%%Canvassize: 16383
%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.41162 2.0293 17.5889 17.5601
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 0 0 19 19
%AI3_TemplateBox: 9.5 9.5 9.5 9.5
%AI3_TileBox: -296.5 -386.5 315.5 405.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -10 31 24 1107 729 26 0 0 164 109 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:-296.5 -386.5
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
25 0 obj
<</Length 17441>>stream
-%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.41162 2.0293 17.5889 17.5601
%AI7_Thumbnail: 128 124 8
%%BeginData: 17300 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD3BFFA8A95A5A535A537E7EFD76FF5A532F5A5353535A53532F7E
%A8FD71FFA9535A535A535A535A535A535A2F5AA8FD6FFFA82F532F5A5353
%2F5A53532F5A53532F537EFD6DFFA9535A535A535A535A535A535A535A53
%5A535AA8FD6CFF535A5353535A5353535A5353535A5353535A535AA8FD6A
%FF7E54535A535A535A535A535A535A535A535A535A5384FD69FFA85A5353
%2F5A53532F5A53532F5A53532F5A53532F5453FD69FFA9535A535A535A53
%5A535A535A535A535A535A535A535AA8FD68FF59545353535A5353535A53
%53535A5353535A5353535A2F7EFD68FF5A535A535A535A535A535A535A53
%5A535A535A535A535A53FD67FFA92F532F5A53532F5A53532F5A53532F5A
%53532F5A53532F53A8FD66FF7E5A535A535A535A535A535A7D7D535A535A
%535A535A535A5384FD65FFA85A5353535A5353535A53532FA67B54535A53
%53535A5353535A53FD65FFA92F5A535A535A535A535A535AA4CC535A535A
%535A535A535A535AA8FD64FF7E532F5A53532F5A53532F5453FEC67D2F53
%2F5A53532F5A53532F7EFD64FF7E535A535A535A535A535A54A6FEFE7C5A
%535A535A535A535A535A59FD63FFA92F53535A5353535A5353535AA5FEFE
%A55354535A5353535A53535354A8FD62FF7E5A535A535A535A535A535A59
%FD04FE7D535A535A535A535A535A2FA8FD61FFAF5A2F5A53532F5A53532F
%5A2F82FEFEC6FE7B5453532F5A53532F5A535353FD61FFAF535A535A535A
%535A535A535AA5FD04FECC545A535A535A535A535A535AA9FD60FF7E5353
%5A5353535A5353535A53FEC6FEFEFEC67D5353535A5353535A53532F84FD
%60FF7E535A535A535A535A535A2FA6FD06FE7C5A535A535A535A535A535A
%59FD5FFFA92F5A53532F5A53532F5A5354A5FEC6FEC6FEFEA52F5A53532F
%5A53532F5A5353A8FD5EFF7E5A535A535A535A535A535A59CCFD07FE7E53
%5A535A535A535A535A53A9FD5EFF5A2F5A5353535A5353535A2F7CFD04FE
%C6FEFEFE7C545353535A5353535A535353FD5EFF535A535A535A535A535A
%535AA5FD08FEA5535A535A535A535A535A535AA8FD5CFF7E5353532F5A53
%532F5A535453FEFEFEC6FEC6FEC6FEA4592F5A53532F5A53532F5A2F84FD
%5CFF7E535A535A535A535A535A54A7FD0AFE7C5A535A535A535A535A535A
%5AFD5BFFA92F5A5353535A5353535A5354A5FEFEFEC6FEFEFEC6FEFEA52F
%5A5353535A5353535A5353A8FD5AFF8454535A535A535A535A535A59FD0C
%FE59535A535A535A535A535A53A8FD5AFF7E2F532F5A53532F5A53532F7C
%FEFEC6FEC6FEC6FEC6FEC6FE7C542F5A53532F5A53532F5353FD5AFF535A
%535A535A535A535A535AA5FD0CFEA6545A535A535A535A535A535AA9FD58
%FF7EFD04535A5353535A535453CCFEFEC6FEFEFEC6FEFEFEC6FEA4592F5A
%5353535A5353535A2FA8FD58FF7E535A535A535A535A535A547DFD0EFE7C
%54535A535A535A535A535A7EFD58FF53532F5A53532F5A53532F54A5FEC6
%FEC6FEC6FEC6FEC6FEC6FEFEA52F532F5A53532F5A53532F5AA8FD56FF84
%5A535A535A535A535A535A53CCFD0FFE5A535A535A535A535A535A53A9FD
%35FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF
%A8FFA8FFA87E5353535A5353535A53532F7DFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FE7C54535A5353535A5353535459FFA8FFA8FFA8FFA8FFA8FFA8FF
%A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD12FFA8845A5A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A5354A5FD10FEA6545A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%7E7EAFFD0CFFA953532F5353532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEA45953532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A2F
%532F7EA8FD09FFA8535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A547DFD12
%FE7D5A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535A7EFD07FF7E2F5A5353
%535A5353535A5353535A5353535A5353535A5353535A5353535A5353535A
%5353535A5353535A5353535A535353547BFEC6FEFEFEC6FEFEFEC6FEFEFE
%C6FD04FEA62F53535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A5353535A5353535A5353535A535359FD05FF84
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A535A535A53CCFD12FEA45A535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A53547EFFFFFFA92F5A53532F5A5353
%2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A2F7DC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FE585453532F5A53532F5A53532F5A53532F5A53532F5A53532F5A
%53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A535384FFFF59
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A535A535AA5FD14FEA6545A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A535A535A537EFFA853535A5353535A535353
%5A5353535A5353535A5353535A5353535A5353535A5353535A5353535A53
%53535A5353535A5353535A53CCFD04FEC6FEFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEA45A5353535A5353535A5353535A5353535A5353535A5353535A5353
%535A5353535A5353535A5353535A5353535A5353535A53532FA984535A53
%5A535A535A535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A535A537DFD16FE595A535A535A535A
%535A535A535A535A535A535A535A535A535A535A535A535A535A535A535A
%535A535A535A535A535A535A53547E535A53532F5A53532F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53547BFEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEFE
%A62F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5A53532F5A53532F5A53532F5A53532F5A53532F5A2F5A5A535A535A535A
%535A535A535A545A535A545A535A545A535A545A535A545A535A545A535A
%545A535A545A535A545A535A545A53CCFD16FEA45A545A535A545A535A54
%5A535A545A535A545A535A545A535A545A535A545A535A545A535A545A53
%5A535A535A535A535A535A53535A5353535A5353535A5353587D7C7D587D
%7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D
%587D587CC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE7C7D
%7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D587D7C7D
%587D7C7D587D7C7D535A5353535A5353535A53535A535A535A535A535A53
%5A537DA4FD64FECC7D5A535A535A535A535A535A5353532F5A53532F5A53
%532F5A2F597BFEFEFEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEFEA5535453532F5A53532F5A53532F5A7E
%535A535A535A535A535A535A535A7CCCFD5FFE83545A535A535A535A535A
%535A535A7E8453535A5353535A5353535A5353535453A5FD04FEC6FEFEFE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEA47D2F53535A
%5353535A5353535A53532FA9FF535A535A535A535A535A535A535A535A53
%A6FD5AFE825A535A535A535A535A535A535A535A535AA9FF842F532F5A53
%532F5A53532F5A53532F5A2F7DA4FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEFEFE585453532F5A53532F5A53532F5A53532F537E
%FFFFFF7E535A535A535A535A535A535A535A535A547EA5FD54FEA5535A53
%5A535A535A535A535A535A535A535A5AFD04FFA8532F5A5353535A535353
%5A5353535A53532F547CFD05FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6
%FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFE
%FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6
%822F54535A5353535A5353535A5353535A535353FD06FFA95A2F5A535A53
%5A535A535A535A535A535A535A59CCFD4EFEA57D2F5A535A535A535A535A
%535A535A535A535A53FD08FFA87E2F5A53532F5A53532F5A53532F5A5353
%2F5453A6FEFEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEFEFE7B5A2F532F5A53532F5A
%53532F5A53532F5A535359FD0BFFA9535A535A535A535A535A535A535A53
%5A535A5483FD49FECC7C5A535A535A535A535A535A535A535A535A535A7E
%FD0DFFAF5353535A5353535A5353535A5353535A53532F7DA5FEC6FEFEFE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE
%C6FD04FEA55354535A5353535A5353535A5353535A53532F5AA8FD10FF7E
%54535A535A535A535A535A535A535A535A535A82FD44FEA6535A535A535A
%535A535A535A535A535A535A537EFD13FF7E532F5A53532F5A53532F5A53
%532F5A53532F5458FEFEFEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEA47D2F542F5A53532F5A53532F5A53532F
%5A53532FA8FD15FFA97E535A535A535A535A535A535A535A535A535A53CD
%FD3EFEA57E545A535A535A535A535A535A535A535A535A59FD19FF842F53
%535A5353535A5353535A5353535A53542F82FEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FD05FE7C542F5A5353535A5353535A5353
%535A53532F547EFD1BFFA95354535A535A535A535A535A535A535A535A2F
%7DA5FD38FECC595A535A535A535A535A535A535A535A535A535AA8FD1EFF
%59532F5A53532F5A53532F5A53532F5A53532F5A7BFEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6A653542F5A53532F5A53532F5A5353
%2F5A53532F7EA8FD20FF7E5A535A535A535A535A535A535A535A535A535A
%7CCCFD33FE83545A535A535A535A535A535A535A535A535A53A9FD23FFA8
%5A2F53535A5353535A5353535A5353535A535453A5FEFEC6FEFEFEC6FEFE
%FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6
%FEFEFEC6FEFEFEC6FEA5592F5A5353535A5353535A5353535AFD0553A9FD
%26FF84535A535A535A535A535A535A535A535A535A53A6FD2EFE7C5A535A
%535A535A535A535A535A535A535A53547EFD29FFA853532F5A53532F5A53
%532F5A53532F5A53542F7DA4FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEFECC58542F5A53
%532F5A53532F5A53532F5A53532F5A7EFD2CFF595A535A535A535A535A53
%5A535A535A535A545AA5FD28FEA6535A535A535A535A535A535A535A535A
%535A2F7EA9FD2EFF7E545353535A5353535A5353535A5353535A2F59A4FE
%FEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE
%C6FEFEFEC6FEFEFE53545353535A5353535A5353535A5353535A2F84FD31
%FFA85A535A535A535A535A535A535A535A535A7CFD28FE7D2F5A535A535A
%535A535A535A535A535453AFFD33FFA87E2F532F5A53532F5A53532F5A53
%532FA5FEFEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6
%FEC6FEC6FEC6FEC6FEC6FEC6FE7B542F5A53532F5A53532F5A53532F5359
%FD37FFA9535A535A535A535A535A535A537EFD29FECC535A535A535A535A
%535A535A535A84FD39FFA9535A5353535A5353535A535458FEFEFEC6FEFE
%FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6
%FEFEFEC6FEFE7D2F5A5353535A5353535A535AA8FD3BFF5A535A535A535A
%535A535A54A6FD2AFEA55A535A535A535A535A535A53FD3BFFA82F532F5A
%53532F5A53532F59A4FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6CC53542F5A53532F5A
%53532F537EFD3AFF7E5A535A535A535A535A535A7CFD2CFE7D535A535A53
%5A535A535A537EFD39FFA85A5353535A5353535A53532FA6FEFEC6FEFEFE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FEFEFEC6FE7B54535A5353535A5353535A53FD39FFA92F5A535A53
%5A535A535A535AA4FD2CFECC535A535A535A535A535A535AA8FD38FF5953
%2F5A53532F5A53532F5458FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC67D2F53
%2F5A53532F5A53532F7EFD38FF5A535A535A535A535A535A54A6FD2EFEA5
%5A535A535A535A535A535A53FD37FFA92F53535A5353535A53532F5AA4FE
%C6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFEC6FE
%FEFEC6FEFEFEC6FEFEFEC6FD04FECC5354535A5353535AFD045384FD36FF
%7E5A535A535A535A535A535A7CFD30FE7D545A535A535A535A535A2F84FD
%35FFA8592F5A53532F5A53532F5A2FA6FEFEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEC6FEFEA5A4FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FE7B5453532F5A53532F5A535353FD35FFA9535A535A535A535A53
%5A535AA4FD16FEA6535AA5FD16FECC535A535A535A535A535A535AA8FD34
%FF7E53535A5353535A5353535A58FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFE
%FEC6FEFEFEC6822F542F547CFD05FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFE
%FEC67D2F53535A5353535A53532F7EFD34FF7E535A535A535A535A535A2F
%A6FD14FEA57D2F5A535A535A59CCFD14FE7C5A535A535A535A535A535A53
%FD33FFA82F5A53532F5A53532F5A5354A4FEC6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEFEFE7B5A2F532F5A53532F5453A6C6FEC6FEC6FEC6FEC6FEC6FE
%C6FEC6FEC6FEFEA52F5A53532F5A53532F5A535384FD32FF7E5A535A535A
%535A535A535A59FD12FECC7C5A535A535A535A535A535A5483FD13FE7D54
%5A535A535A535A535A5384FD31FFAF5A2F5A5353535A5353535A2F82FD04
%FEC6FEFEFEC6FEFEFEC6FD04FEA55354535A5353535A5353535A53532F59
%A5FEC6FEFEFEC6FEFEFEC6FEFEFEC6FEFEFE7B545353535A5353535A5353
%53FD31FFAF535A535A535A535A535A535AA5FD10FEA6535A535A535A535A
%535A535A535A535A535A7CFD10FECC535A535A535A535A535A535AA8FD30
%FF7E5353532F5A53532F5A535452FEC6FEC6FEC6FEC6FEC6FEC6FEC6FEA4
%7D2F532F5A53532F5A53532F5A53532F5A53532F5458CCFEFEC6FEC6FEC6
%FEC6FEC6FEC6FEC6592F5A53532F5A53532F5A2F7EFD30FF7E535A535A53
%5A535A535A30A6FD0EFEA55A545A535A535A535A535A535A535A535A535A
%535A535A53A6FD0EFE7C5A535A535A535A535A535A53FD2FFFA92F5A5353
%535A5353535A5354A5FEFEFEC6FEFEFEC6FD05FE7C542F5A5353535A5353
%535A5353535A5353535A5353535A53542F82C6FEC6FEFEFEC6FEFEFEC6FE
%FEA52F5A5353535A5353535A5353A8FD2EFF7E54535A535A535A535A535A
%59FD0CFECC535A535A535A535A535A535A535A535A535A535A535A535A53
%5A535A2F7DA5FD0CFE7D535A535A535A535A535A5384FD2DFFA85A2F532F
%5A53532F5A53532F82FEFEC6FEC6FEC6FEC6FEC6A653542F5A53532F5A53
%532F5A53532F5A53532F5A53532F5A53532F5A53532F5A7BFEC6FEC6FEC6
%FEC6FEC6FE7C542F5A53532F5A53532F5353FD2EFF535A535A535A535A53
%5A535AA5FD09FEC683545A535A535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A535A7CCCFD09FECC535A535A535A535A535A53
%5AA8FD2CFF7EFD04535A5353535A535453FEFEFEC6FEFEFEC6FEA5592F5A
%5353535A5353535A5353535A535353542F53535A5353535A5353535A5353
%535A535453A5FEFEC6FEFEFEC6FEC6592F5A5353535A5353535A2F84FD2C
%FF7E535A535A535A535A535A5482FD08FE7C5A535A535A535A535A535A53
%5A535A535A53547E84535A535A535A535A535A535A535A535A535A53A6FD
%08FE7C54535A535A535A535A535A59FD2BFFA92F532F5A53532F5A53532F
%54A5FEC6FEC6FEFECC58542F5A53532F5A53532F5A53532F5A53532F5A84
%FFFFA853532F5A53532F5A53532F5A53532F5A53532F7DA4FEC6FEC6FEFE
%A52F532F5A53532F5A53532F53A8FD2AFF7E5A535A535A535A535A535A59
%FD06FEA6535A535A535A535A535A535A535A535A535A2F7EAFFD05FF5A5A
%535A535A535A535A535A535A535A535A545AA5FD06FE7D535A535A535A53
%5A535A53A8FD2AFF7E5353535A5353535A53532F82FEFEC6FEC67C2F5A53
%53535A5353535A5353535A5353535A2F84FD08FF7E545353535A5353535A
%5353535A5353535A53547CFEFEFEC6FE7C54535A5353535A5353535A53FD
%2AFF535A535A535A535A535A535AA5FEFEFEA57D545A535A535A535A535A
%535A535A535A535453AFFD0AFFA85A535A535A535A535A535A535A535A53
%5A535459CCFEFEFEA6545A535A535A535A535A535AA9FD28FF7E532F5A53
%532F5A53532F5453FEFEFE7B542F5A53532F5A53532F5A53532F5A53532F
%5359FD0DFFA87E2F532F5A53532F5A53532F5A53532F5A53542FA6FEFEA4
%592F532F5A53532F5A53532F84FD28FF7E535A535A535A535A535A5483FE
%CC7D5A535A535A535A535A535A535A535A535A535A84FD10FFA9535A535A
%535A535A535A535A535A535A535A547DC6FE7C5A535A535A535A535A535A
%7EFD28FF5353535A5353535A5353535AA5A553545353535A5353535A5353
%535A5353535A2F5AA8FD12FFA9FD05535A5353535A5353535A5353535A2F
%59A4C75354535A5353535A53532F5AFD27FFA95A535A535A535A535A535A
%53A7535A535A535A535A535A535A535A535A535A2F84FD16FF7E5A535A53
%5A535A535A535A535A535A535A535A7C7E535A535A535A535A535A53FD28
%FF2F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F5A53532F
%5353A8FD18FF7E5A2F532F5A53532F5A53532F5A53532F5A53542F5A5353
%2F5A53532F5A5353A8FD27FF7E535A535A535A535A535A535A535A535A53
%5A535A535A535A535A535A5AFD1BFFAF7E2F5A535A535A535A535A535A53
%5A535A535A535A535A535A535A535A53FD28FF535A5353535A5353535A53
%53535A5353535A5353535A5353535A53537EFD1EFF842F5A5353535A5353
%535A5353535A5353535A5353535A5353535A537EFD28FF842F5A535A535A
%535A535A535A535A535A535A535A535A535A2F7EA8FD20FFA9535A535A53
%5A535A535A535A535A535A535A535A535A535A535A7EFD28FFA8532F5A53
%532F5A53532F5A53532F5A53532F5A53532F542F7EA8FD23FF595353532F
%5A53532F5A53532F5A53532F5A53532F5A53532FA9FD29FF5A5A535A535A
%535A535A535A535A535A535A535A535A53A9FD26FF845A535A535A535A53
%5A535A535A535A535A535A535A537EFD2AFFA92F5A5353535A5353535A53
%53535A5353535A535353FD29FFA85A2F5A5353535A5353535A5353535A53
%53535A5353A8FD2BFFA82F5A535A535A535A535A535A535A535A535A7EFD
%2CFF842F5A535A535A535A535A535A535A535A535A84FD2DFF7E2F5A5353
%2F5A53532F5A53532F5A2F537EFD2EFFA8FD04532F5A53532F5A53532F5A
%53537DFD2FFFA9535A535A535A535A535A535A537EA9FD31FF7E5A535A53
%5A535A535A535A535A84FD32FF5A532F5453532F5A2F5353A8FD34FF845A
%2F5353532F5A2F532F7EA8FD34FFA9A87E7E597E5984A8FD38FFA97E7E59
%5A597E84FD3AFFA9FD60FFFF
%%EndData
endstream
endobj
26 0 obj
<</Filter[/FlateDecode]/Length 12838>>stream
-H‰ÜWérÛ8ÞÐ;`k+[rUL‘ºåü’í$ãY*Ë9¶2)DBb` låé·¢.ŠÙ̬µ,ŠDhôÝÍW‡˜ã–ã¢Ú«Wg’`-ä ²«è‚±Xii–ê·GÈk;.€†ýûø‘HE?±$K|gvׯ©?+ô;Õb:=Bõ# ÞQÍEÈéD<Ý+å=ö5°°?âDÁô(–ϱ†
íF§á¹ÈóNà:¼2tÌX)ú¨^·ÕoÁÚ©ˆy@ùìT<Á"j"¯ÿ@øÞµNuÚž×m¢¦ã6-äõœN¿?°¿]׃-çÂCÂõH -Ÿ(u&˜ê-1GWxŒþMè”aÿ¡VéÜ¿£Œ€B¬‘gÍ1¼ðš÷§1eÁuN˜¦Õí™åÖ½eùA/`kîÍrïþ"„•1ÑD…IoߟŀEû©¹%3j݆úz”²•" -±|P Ì¥ 厄sZœNñ›"@|K=nº@8nõÍOËëÀµív2ÜÊ8dAÉã ºœ$J=NœÒn»nrM(·1#ò§$kš¥Ab‚+ø|ÿ;†g*SÒ[]À–3¢ÁŸ‚ÅÚ†^?;L|‰—ÄøÉK¸‰¿ŒÇ:-ˆŠ6„‘ÛC½æ -Áà:Wc8ý-ÎDh< LØCp&f -¿·ØG‰&öùœ5’”žµkKéßX¤÷RÄÑŸŠZ=Éÿ;‰}€¡›É7âkHâtau7Ž©&¦ÑQ)#PK”a³}Ì~ï>'SHªÕödõ-_&¢Û|ó -+#,5õ/•&a7c)å¢-:+iE™ÞŽÆsËSÏßYä8gع‡ÂX,}ÇÇå5qPL?ÓKFTñ/.¹}@'µú(J8fúëj\ã ׵ƘB‡%ÄE75àÚNÉMòùŒaÃ-lèuܦ¡v{ƒn¿eoÜf³iZ„k:UÒ¥>kYs„‡%<ü7ß`éµÑúòÕE¬~¾YîA‘´75Ô -ò1Ô4I'±&Ðr^èPJü¿añ'ð/ ü9LË’ðÓD°LN5½4in¨õru¿ÀR½,w˜UÖ ÌâkÖÕ‡N`©$jí鵇±¼‚a˜ðHPÅ2òõóê5¡öMΫ À×V‰ÃúÑ’ûÒ^©%*éOñ„‘*Ы¿R¢Ÿ,*§º>sDõüXi>o%ûëâðDa3™ž)V5ÿò¼ -Q¢ÆDh˜.ÉTßH -¯ŒU´ÚÞóú¾-xcKŸœŠ˜ÏÞø¡==·!Ñ8€9ègåü¤ÿ„‡„W*Ò°ÝüåŠ4Ñ-Q‚Å&s¾›œú°3ã6¼ð<tžnD0àÄzÇ '$QD£ÕëV§ÙnöS¥†„¥ž,ä&$j¢I.üAèL’ÌN±2{§ív:Î~¤Wà ´ ÀAl.@^¬å¬ä‚ ;ò¤ÑÛ€j<¡Œê´»9Ëm+_b>‹ñŒ ‘ˆâ(Í÷×ËŠTQ'´ÓLæ‡$…X=l,aFÕ†Ü*i„´òZá Èãhx†±è+M$ýN6xûD8‚ðP4Œ!V@àõ´Û¶àº9Τˆ†’à!(» [¥®î¢ìã9®ýCnvã
¶ï\çÈn³«TIõÉO3d“D«ßÊ…Ís†ù«ñ.Á}Yv¡.ükˆ‘9n”BæaM ( @¤l<s3ÃK]5ÏmYHÙõ^eàZb®"5Æ_‚4 -u¼ ¾†›`†¹¿Ù{7¶øŒFNæ%õ r*¨j:hÈδ*zmb©PO†ïbƲ øH¤Æ@Íê`;EQãZè!gÆh¬:}#Š¤ãÇ -&ƒõ,ÚÄdŠc–êÑõš™§7q…¹¶7Ø‹*Žôõs23h²DçRRn7ŠÍý«Öãî:Âßd?¨(È.óX
úTØrÙ¾‰ÉºlÛ™tBØ]&˜!gN©ð)fQôÝ(åcF2^q‹É-(bþr¤$Ÿ«2“FC›Ê -ÒΨœ…ŽÒKVbI‹Ú–õƽJð~‘§\;[sÉNŒŠ'™V]')‡‘a%²(gBMj–B8™áU_Úòׂ—c˜gŠÎDÞíxÀ©9ˆ,”Ø(SÕ8Q)ª×ÙqæSälÒ]SG÷ - ßmà ûÔëŠò-7Ñ”šÓ  -䜓VTGPì¤jƘ€«•ó-iɯa> ñÆ×l7Hâ°è8XÁ<g‘Þ^˜¿Ô_˜|³&õZœµ€¢É)ÕR±“Qs®69ßK–)ëç” RÛ±Mñ…ûÏR}>‘7 -Ý#ÝfSî‡B•)‹ ¶VO:Èø¯õŠû|ö>¹»géWoY Äol"[DTŲn¥·Ä®ßn vEÅ -ªÃIŸ&£÷ÖBýQǦŒ´G8F{‡@ô‘1Ð.Ûaÿ.±)ͱҮ,íúO£¥½:.£BÏ)˜8ÊÆr²²¦Ö¬ÀŽ"âøÃFôkÌkOÕá¿À¿"ZÞs3‘ )Dýe+”šøWXù^Ê3¨û·<Co °+^þ>"ýýo ý
ë—çHœ±r›ýæÐqô‚Ë[•"¯ -ë‹+~þíøŽ¦Þ·M'nºD2wÉÏ̬PTæ„Ú•‚©i¬OÏ)-›>åÿS%µmû8çÄ('#%d¹dSúÄ^ÿðî²6-`ÎR]üÑ(jf¡(‡Ê°)bsü,Ñí‚71ãnº4Nü—d%L„•ån5ÛLçvV=ÙÌ8×fŒ©—³øc -2gnŽçÕ|3¯y^e~@šF±þˆ¾ ŠG©µ€ -àßù$stÚÊ»ûc½µ¢Á«-Ôb{g••|
X¯rêܲÌv{pì@àŽ>•¯™Àò+¼GŸ=ŠEzžZhà$TL‰úûÉ ”ÄþÁ°e6?ÅJøßå…8ã(À¡›9¥î$õ“ðÓú±oQ¡ÖÐnT1‡ƒ _ÆÐÚç>XP~¼(LØö© -¬×PÛZ‡HÊü›×jœÄÆg44:
VQJ|7ày‰R„¥ -¾˜`‘+k½'xú‹Íl@û~ÿNx“yyµPA¡gukN ’Ÿ×]ØÏjô)uÙ©† - 3ê©Jý÷9b€OÚeø1[äˆ ãv\´½kÄ+Ôå%øzC×É+ÐR`ü2y+A'¥Y -œŒa__ËòÄ&ÀÓýÜÈ ÝÞǯûZ!H}–£Ï—}_¿ú!ß½(C¿~È ½« -(‚hGÝSO†Ð+i -§â¹Z:«‡wÂë.3=¿ú,_\[¸囗׀°±}*¼‹G²mß/ -UÀ—,»Î|öÞ'ªDéoïz€‘?7ãjœñ~ðù¥lRÆÛ¯Õ"1ŸÓߟ;§½IBû-¥bϱ'sº÷=^=xHy;dòé¬ÆªØlpWÛÚ3ú¯ßåçÈg#@}+<vßDþ®H{»^çÇ]NP®»¢ß'÷ßgJv·ôßîÐú×økÃ?G*Ô·»×œ®øWôv¯bà}>»~ŒM¬_–Ñ«¥yñ-H.ê¡O„^rýµS6O³3Úi†_|¬u™æ¥Jï‘—^À]9~ûÍ‹OÑü«ïÏ2ŸhÌÏ´Ÿò‹9ˆæþù³<§nÏ¿#àìбƒ®¤÷+Óm0õ_~ -/PçNŠÄÍu Éwú±Zà\*þ›_Ú±3
õæ8ïãn³ÑÛi ö’`:•k¥Ó6Ãéi\IßÊåØrK8¾88Uù¶SU]M§ -T˜ÛózpuºNÕdŸq§Ùû^Þîusú-§ÀËå¿þåÖV`8mKºÓìpÈv¨ý•‰$Ý¢Ûá\“àv˜²œN˜N¡Wå3W¤H˜N¡é³Ê+YN5uAæÚÛºš–€Ö@îÑ_z#îvož¾kg¶Ýg|hçyßwã¹€¡ÌÙDË×fѶºà×’/-6wÚôƒ¿ÊPÿ5PaŒÊš¯¶{ Æ·’þ(Ê
X ÑĤ.¼+³RߧNÀc䩬Ç=é•@ ¹Ea)¾ý¶ Ét_J}Ì*|M1ËêÜ-ž§J:Vú¬ÁÍ„{…BUÀ -øÜb±_7;÷¢£GOË/ökZ¥æWL·nhùqž!zLZþ)Ň߷ný“nõy÷œ±ýA´—1çbyïŸzÿ
rñU,cìaçãnK~¬^'Ëš+³bød-Ò“P¤î«ò¬º§¬I>ºòÓsÝ9§bÙ g(}Û¡§:*/qfö$ôp‚k7^ªéêóF5M(ôª°.ʨ[Yµ·Žñ l—àã ÕÔxX¡ÔlªXmÑ`›½•QfjJè²uã+5’Å´R‚î¥k;Ä -DžMÆ}++|ƈ¬¢a”F‡Ò’¤ —„SU’˜kH̹<ë$äVÇÛTPG+TX±# -óžÿ°Xºk„MrÜÁX9ùäÁÝØ:NÀ÷nšYØ÷n¸YyØ;çC“<©™1z)U%í¡÷*ýM‹© µ*%²¡ð¡£`'¡ÎÆ$p›fÎFêcÏÛâB“œ[1"ˬ2¥?Mz’RI¤¨0{KPCŒ‹¯0?_ÚZ~Ý_;bWèQ¡ëDjbrÓŒÄ,¾©$ªb´Ä >û;?ßùWOôÝÁOyçbÁüR®!]¸ÒŠÇƒ¤þ>‚¬®õÝ÷ÚA¦¤ÓAv¼‹8j~¢ƒn’Î{ÿÖ&U)Æ$cì-2©:ÇÅ ^¹ÝNq™Èocͼÿ$-U÷#‘öÈŠ‘ˆæ»bšÒ0-SäáZ‡«Rõ¯ŽXÁVjñl.È Z:Žý3å5'ì lºV¨C¼hüÌVþgžw¥–›Ü‡=ñì‚ÞÉmQ°js9¨:ÞÏ>P][îUGí|¹iš¦`äRØX ÀÚmr:ñlhJ‰Š -x Ä®-ª‰ÛÚp†*š*Q*E•ã¬çEB—á$°UÍÔ´$A_ôéÏm`P=,ž¢XÙúsû5Rj×€“<L¨>àƒ± à0Câ_A --Ï:É0D~: 5÷h™žUXËŠ>ì_My¶™?"u±×- 5w$§*´9‡^ÔVX˜û,¦„.VY¯…a–y¯ÝcAAœ]÷ròÉ}’1ÜÌ°‘RZ)þÞʤ”nÙ¥4Y|¸û®bZïA®<°v†Óâ!‰Ð>NJ˜¨Ý²EÒ BÞb¾ˆ0×ý}iÙ9ð€9Ïuyôò‹Ó¤»Ìy±/(âœ'½e#½ƒ -¢Å(ˆÖ÷hæõjÏÿañˆ¶™§l׫wO1–v!Ã47DÛÌ3Ç+¥28îÇî~Ÿ†hì~ß?¢™Ý·Û9Ñú¢™\y¨Ñâ·Óʵ<ÛöSh|8ª°‘hØ%Ie•¹ÕøÔÇ"ž7 -háfŒÍ/ñÂ0¡¥Ì`;i ì0ŒùY´ûL˜.•Ðeëæ(˜y¬²œp´@]«Ä½!Œ«»ó
ÈÅ°“ü‘¬¨Jê1Ÿv؛Ô䘺°Kû7ÆâB í‹
Ñ÷ÄŽVˆ»øà…åB`&Ž¹³!0æå|dr!qY -ãDqÍ0ûjñØÆ~ - Å‹µa$±MØéZp÷êwšƒIeÉ:¡:›-_o•<[Q¶”v_GQÕ/qÁ€¯pë¼ñ”K+ \ˆ‚´xÐ^ tdña9Í‘:òœÒ‘,ȵ8®#y“ü°|ßSC¦Ur•‘0v•)!Aò/ç¬l¤Ç@Jq…÷÷"ÆÅi•T]W¾¥„)éš$)Uœ -³Éøš;ÐñQV‚?
SœL%õ¬”¨@–R)ÜàD^JšŒôAR‡·î ÛGá]1£
©÷¾î‡(ÅNæOGÌØñœ=cF'B͘W:9ø³^.Áãä6”ÃçSLƒÍÉrÛðÖ&z)ÀªÞ‡±>˜RBÅéÛ—V-ÿêR¥93F8ÞT9^Êí5úWYUV'á-G)=ÿ,î WÄý„l˜tsðÓ綩ðlD†‚ž°x^,Iá`|˜–R¬…ƒØ)M2ï"“bùlM‹e0{”ã< &–çR,3kÖèq ®^q1(
ð -øyÞšŽ´—ðã1AçRìkç‚*¼ÈÁI–vš–ÆœOê¾Ì;ôÑN({>AÏtí¥éD0ŒzAñƒP‹‹¹$u;§ºÁâX¼ãOKo’èkw'mù$sö×!)çÿèàå¨NŠ×:ø»ä›Â¡ówŸsê*VïMaïÄ„þe2Þ÷2ÿ/Z΢S³µ—`ƒ¡ò¬PPqd'WqÀ`…íg¬Ž¸oË\"´]¼]œ›…ll—$ŒCšÆ²Aœ¼õ¢lÆn»×ö9·$# -FÚGvJt(ï"»bÓþ?ëò¾|ðïdWšc³ 'Ók‚m¡ð¨PˆÌS¾]\(¯ÄPb}q¦M&"Riô“ÊI+öâ½r
ùÀä&ÌðbÃý${ã—¯&âÊA×YÀ7Òß›âRQn¨‹µŠ¶ÄLŸšœ`½½íwÿš¥àÃÉ -hqâ p/òtiLbz‹}p*`BIë1PæëɹPÿêd°$¯/ÃL5iv„ˆÙ×~Àõ…ÁR‚`Fçb7fº,Uo®º²«I0±ßI··—y/yi0Îq(ÖcúÈà¯pÏo¼òŠ‘÷†q²}·Çìqv¥_.¿<l?ß?7îš7—gùUíÂ\ü>Ÿ^5^
-^¯åÛ·è¬}Ù¨f.¯N?3GàOVüR¯7£æSQ¯D¶&l=Fu,e÷OQ¸½)`H"æòËjOd¼ˆhqPRo?sÚ?ú»ŒÞ{Ê•hI±Ûo Ñ/J¹~?ôÇ+ßýò®ò§ƒõbqäJÏßX.Öe2ñ¬ÿh¡YHw9EcÇýÔçÑáˆzT‹cµFšóÿQ+zwÍ}T?Ÿæþ¸Zÿá~Ûêöà2†Ü;,b>%Q^ý8±ð-þM%«÷ÿù‚Z€øFš“÷ÑB³óÇyô ?øÑxd×z0µbGüG_Ñ;ÿQÈÉÄ(ÅþëNxöðþèÜp<fš×M²«1øïYïOö/ëôi^éw¥zú½/ô/éòw…ˆ™òÇÊôO'¨yx@Qß%錃Zg™*—¤\7ŵT´‚°¦ ›þðxµá_l¶SU»× òéœT™n‘!yЧo«sôÚdP}ƒ¶£Œ”´¸ZRõ®Â)E õ<§n¡ç^{‰%qz¯ -ú—“ÒÅšJ \11NéïS“‰uí…ƒˆñqºŒlƒ“‡Ò‡'}1pèA>˜Àä€uùÎM SãjódÝ|„¯Ïó/D…†ù°´vQÆ7äfJZ\-©érGûòQ|X×:*8aZÖS.«³ï…'ý¾ŽMª9ªÏ5¾MS‡m˜]ˆ}£æØÐY/—à‰Rsk -ôöó——–¨ee1 Q¼È³ÂluGJA‹ã‚pªÎ;m̅ᓘqbŠøÕ†¾{%¤!öó×/|qã뱸Aw¿_3v¿_q½[‘%n|¶T"W,…éßGÔ}^R«j›£¸~ö½5SI l%ÿBÊ¥=Þ¿“·ÎS•§ ù÷xøþalI€eõÞv5@jdÆ &ƒ¶¶Œ¼*["æ¨Â]9^ì10TAlŽÚãñŽ}âUEâ°l›ô6+ÍÙ¬?-e…Î -k -uÄbDAÞÿv7$éÝéø§Ë²Âùö¯×&÷®Œ«è®¤g,Ó&IÛ½+±å"&És‘¢®²®I”1Åy®9¦=ëZ…†®$<8¯"™ö ßtêlí0=*UÚÅE_) æ?$ ÖdŒÐŒû½ƒžf[eêš\äô3O«9®`ÅCÎ,=1²³n5On\
²óbêc^v ÌqøKÑ6R;Û¹Êà+
}¸Ä6LvmÝÇ€+¡P‹[©5w•¡&ÓbÞZÁÚÁ¯–mRQ@=¹}HÉ
fßÛÅ~Ô¿–LѽZ1†>q,£ÓýC#©“ÝŸ[~¡whe¨dD¢òëOXñÛyWPú%ú9òoM‰;ºÅ~ˆäÊWR`b -‰áèöž€fu2c~Iýw$üä -þEt’"@uŽ·&H¯¾^I8/X-G7^ݺ¿u+€z³½c1¿Ð~z‚qÙŽÛc0ߢÃçÓcééã$î¸|(Bq%+«ú‚8‡Qq%!œc'¡xv·³-=8.—<åâl0B2\Pö#ÁH©m“Œ¹Ì·œgµìÏÒr&9Ì$á3FŒÜ|¿±jÔ1|Vͯ@ -ù!XVÈ]ÌT¾NžT²ê‚’>"ªµ8Ø^c·²žk‡‰Û¿0¬‰’îÛ»’2ñ·‹•
JR²¿7Õ6¯±2Î0–‹”Úcg=Ï(°+É=XJ+'J’W}AœT ovw%Gh|¸Þž+©6wqŒÙB+Û]Äßh`@È1Ìâm‘¬Æ@mùµÜ5DÆh¯„wÁÿ¼…Ø»_Çð6Ðzšdl×îÖòÛÆ@‘C(°Ç˜ch-™c(®Æa¾9÷¢H£Õïkš¤|g|D®W„sÔøìXâßUš@Ù
!T}¥=ËÐÀ˜P’B‚-ñxˆ'ÑG¿N/"¯Îä€6Cu_)ÀW†•Š9׫§½2áoHàcx´á\¯˜Ðñ—9 -ô%p‹ñqŠ±;¼Zåªï´O²Ønßk,jò´Æ¯u³NáÏÓÓ¯¡aü•‹IÖDÛ¼ïŒaŠ2†£àcèB{ÀÐÓÌ1$d€Ëbsã©œ¬<·Éb@82 ÉO%r~ú¯oQ…Õ%Æ«ÄêmnËÁ´ -„Š³§€eÚ¬?c¹Êí ûw%¨¤î8/pW2V*Èè-{1† Ç Sžž`u„˜04õ”GB+¦ÎáAah1…!ȹ\Ba2r¶:š…X@¬ðØ,Æ®¯©sÎ"Ü*«.¦þC„}á³ëE£,¿ -4¨C4L¶j…U>kÊîòÀ®¤ýZ6{ï¢`Œù|Z#ÊC³Ov¼#øÍBtÃì1>= ¿ÜéMIŠfoW¡ÉÔ\*åÜøŠšAå§%)µ»†5¨ÝÕWçÿ\-³ªÿ1ͪÑÖÀo–6ñ(o¤{—Û¿~ɹ(ø®õ®ë“y¸|»FîÉG4m”GIYÎBc=×y9s2*èâ@3…ëë“~±‡·Òd[ —ÒÊ×…™VúsÕÅz7úc–PÎB|'»fW«¼5b
7ž
¦ÑtcPíÓŒJ -0[•«¿ÝGZ¬ÐèƒÑfê3ú¬ª²ktµ.jkdh´ÉçG³NÉ6Ú|Þ…c¸ÑüMÄ5ºÚ<dtšQ1”à³Òûµ+i´ ËŸ…Í=ÝhÞ3‚ô¾g‘QWᱦ‹Á€iTíLgÏ,£SšQp¿l[é²?b&8]¿7FO."¹Ò„e´ŒbŒ,£ÑÜ9€þÚ"TÜ«>ý»ó;IÁ¿Ìßw„óñÞö»Mv -Ñinct²‡<A²Ê+æB¢±y>‘'£ö®I
ÓSþW©7k™DõµázÈRJðÙÙû¹¤¯õžú)êȘ¿S„¸Éî¹D¶Êë÷ó…÷jp‘Z¿ApËUºãZö÷¦Ú¦¹$)Œ<åŒ<ECÁK')4§H™{hž\JGÕÿ_€ -H‰¬Wébé\}‚<„!‚h/½†"b¦”ÒÉðU¯V[$¼ÿwN™ä$Aÿä¶n¬½ö´öœfhªÅ%ÿÞe8ª¸–ŠôrQpD¶ES¥X¤Ä¼…®7)_)|—”Á;*?œË߸£rÝКy#f<C'û Àð¿9—˜ò06Rü¬8€E[kú#; r)á‹åŸW*¿Ü% ^õÊTNoròí^ƒ87>v$ª:%Ë)¤L”&¢WJîLŠ+>¦ëgê¤S‚y;©‚‚å6á¿
Bù)™ïLsLu_C"=#‡qtsP¶_€o,Ô?ŸõŠL=…ãÉy¦¿Ñ°A¸œÔß(¯riá•gùIÐ"MØ•¢Âäòê©béôÀû@üSšlšòltÀFáãIæ -xË6Šñ0û$ß0#<°t!\}ÌFeøª02´Dð¦Ñ´íÐ/ZpN¡=CÃá#=9/*f1›\£ -‡ä¨ì«äÜܽJ@ ’m²åP9®×Ž]å(E7Ò«Ã-‰oyÞž)ŒA–÷ù¨s»R¦s§•MT«dʬBhl„Âp{°d´g27çàè}*´›ù›Î1{0snïœú#‰Êå}9Á²K'†R¿{"p%ò¸ŠÜÎy›æ«MPÃL†ãŠYìô³y"l[h3‹CI/×TL>>ª<4Å2[ƒbJ’´íF!‘¶FY€ÂðFìi=oì«Éž€)Ñˇ„ƶ€Þ‡å¨ÕØ®ì}vWvn -½¼:3¿€üë¹Ô0ü”á -ÄZ¥kŽbEÔed¢¤*f"µð#—šÞh^(iÓ¸‹#Ržš<S‘ù3Ï{›¥ÍG1Ü[ÓåO‹EkûµbÆ-{ÿ"0Ú/÷Æü¦bìï)Æý¦b‰ßT,‰Ó)©PÇîPï—kñÈîr’Q/îð_ì“?tpÂ(‹¿·Àpg( -âžUŽm
³¿Ë…Ñjþºa›¿âh‡ÛÍ@eWZÜ€ãŠcÈãÁbÀð‹IÜk¦íG(ä…©ùd×$3iõàiµ+¹cP¬zÊI‰Ðs4áb`¸W9\«ÍtûÍü;Atå2h.y=HÖÇBée_l˜ü˜Ñ›(|Ž¢²¸§i7»§š³{‚5f±¨fx‘~|'Dš\ë4M± -Ñ%°t]ÚÇ””»òˆÔ;±y7ª”úeq¡NæKÕŽ†{$•º$uª‡QI5“ÏRýØ6_¹y¶.Y®ÜD0½Ùc¸×;}åæÙ†¹™®\u&3‹n<d·àûêÖ«E“
yâ!û®›iâh(hÇ„¡–ÐŒÖ0œCËgîZ¡MC`OÃ! -O2[À{\¶©ˆ\U
»LjûEÉ%|¨EŒÂ›F"xÓhžšZc†\æÙ°× -E±lMã~ñ^¡ çl¤øYñÖûÖ€ð¤sí¸7.Èð¼•eÑœÒyÂXÖ¤,Ê®tv½P®ø˜®ŸÙ½r¤×G€w³ÿ-ÏÈï‹œ–B÷û⾃ECfR›0LT~¨Q¾ -ŒöRæS×¾Æ si•äÉwqú²ÚZÃ]q†ëGÁ¨/gßûÒsb£v Š‹Gœ‰èÎ& mJ‡‚Ù·‚™OØÀ¬V3'ôä½g¾ÅÀ§æ[í¸s<^j2”æï@,—8<™û0Ã,»‹BååÞ£”jÍš-„r%™MD8"ÿQ.]
~joÀyÀ;šeÓå4Ž‘z¿›ìBZ¡g‘׎g#·kÌJ^Nw¬¹÷* ê`Áwæ<¬ë»´g°’OuðÇ…6\[ì„E«18ÒêáL6Ð'k8ïÄvtyT6&^¿ÅNÁ1·¡éʽÓÊG? -œ0H0Ēኣ zÉØ-èaœHy¬—å :%æ½™Œ‡fÒ²²Ôl‡*ʆHÓ+ZÙûm]ðé=àØc=7Æ€Ÿº2±Ì±d´Áz©íÉoC^”Á|¨@pì¬*ašzš/QK¶wµô‘Oá½/Fx¢™þ¨)‰"'Ýú"ÿÄ;:†gB‰‡Vê6uEI˽ÞψêâO:’ ->ú}µ]Øw[éÑþñëU&Ø”ñÕO¿I,–›†_õ›ÛÉõêù¯°š¶—E?n?W·Ã>»i¼÷—w_ní‡!LN&%*ü9N}v¾»ÔÍû†z,ìD¼O¢˜úüëŚƙàò&üØüoH¥©™Û¿›°÷ñŸ²(æ3]_äEhù¸b狺ù/Y`*L>ÇTî*ŒX·¡Ó^ŠâG>&î—9B"¢í9Ü'‹AÝä¶<•ýÓ~‚)ñ‰br|ÇðÃë‰(ý«`Wv¶IÍËdQÅœ´+?Vn›•ìmö?ŽÈùËòŸÄi)µÅmÏ^¬/6Ù_‚À'‹…Ÿ«¶ï¡Ý ìbU"ÝOãÁHuƒn¾Šx·/Ô‰i¿–M¦C+ð¾ú·ü>¦g>vÝ}‚² *’¿R‹ùÄPÉxç£Õ«¥#šû©dlŸ)þe,4ÙN€Ò„ŸõÐôícÔ!M` pÖ\’(n‡z)Séäœ.ò\µ -2Qù§Dðïßie~j0﯅…›æÿ¤WéVêH~ÞÁ ‘„„l€,Bd'(Š(›ìȽ‚€ ç̯yö©^’´\uçON:Õ©®®úê«*nv_³†ÊÚjè¬ ÇÔ}VÔÔ§ŽHaóÔ³#ÐAÐWþenD|S½TñŽœoÞìáÉöR_™8¢ £§´Ihè›JKBä–õ³WÝ:¯hiÝã>ï辕ȖñF¢e©/> -Ù49Ï!=·ÞüVŸX5¼¤j'®ŽÇMm%µÚX„@z/c©!ž'·Ü+ö)šè‹iƲÁä¸ØO_h>’@™„Pñ„ùçôJ™4ªŸéóðÿC£ÆhÔÕÓ]Rj^lÏÍfø&}š -$›ÄNƒóð¿í®‘y]Wv™ëÇÇ¡/CÜOöÕe7`FÞJ¡Nð‘ ÛÈwÊ:}~R‹Ð·eÓÀo€äü¾ÛÇÉnÄÑ€¾óR!*4ÒØÇØXƒeE#zû;ª{(¶´uÆšáÅôyŒŠÂRá¡e¡»Œ»tØJ‹ê§[XÍÔ†ghÆaÏhØÍ4 'á-y•Vw›KÌ5ùý¨^û”f£4CõJ (¢Ï >`Ë+Ì
’½éá
HCVXövHª:×íÁ2ºÊÐ=‰ˆðHm`
†ya¬ÍPoNôaP["¢Î¥ýÃÖ$ìMŠ~n&ºŸ@.‡ø§Gé<@—ý¿TÄâG†‰¿Kè«ä˜üF•ÁF3‡YN -—š•oŒmíÕÇ}¢>xŸulm?ì;cßÜJ<‚ùƾUñƎŹÈbìg/Ë|.ÆþTÁ`ìG×`1öÃk|…±Om ;´âˆŠÌùó½[jƒ±ëT8`>¦"뉀‹Êcm8¬È#¸ï{XTÚˆø¤"€[‘¿'®Úb*rà§}³—™Š>øf[÷3C²§W˜/è˜VìI®¾.ŒjÞ]žÏM2Öâfÿh{}×4AQɸ:
úö2Àš+ñ‰Ïþ74RZ]&ÔZAº¬„© -aßíy·¬e^וž?5kô§fšQÑ`û=¼-JIŒhäË¥lA.è -Œl§yiʪ+ù.æ[PÓA0Í/’K©€û•õ])'3æäRYAp -ÙoÓ0VAø¸ÃƒàÞÄ,[*þÞºšýÖw‘56ü—“Z³˜† ú®¨Ï…Åؽ6†Õ7ßy'ë‚pix<|Ñà’Û#ïî${¤0`QAq)]ð¡·CrU*<´,th–Q -ú -'í
N®¶ò\P«¨bøx;wUŒ8ä+3”…bçó×N28,®£!mêJ5k0Ë¡Ri¦Æyss•¾Žï̘•|TŠëNø¡°íu´|§Ø¾/¦2© Î=z -¸ÿçÿW×¥ -<¡ Ã
^ZœüÐ/€ñ-NŽ¼è~WèqÁ3¡:Üú¬Ï‰¿—&\Ýö8i¢ÄQùäˆH›½§c8\&ÇØ‚Áèù^{$ý©vÃHw€:HáëdÍ8ËIOò¸‡Sv\´öé^-e§Tæ1Kq~dÒ“E®˜9„„-H˜*Xè'’¶ -3óÄrYTÁÓ¾Ÿ¶¦$®_ìÉ¥´Ä±>{v©èš>8° ,SªØìXªiˆo$ZµJM1–«ë9 ×9ÊÕõrÐÃÛxÛhªÔ+ -)†þTkË;
Ñ)Z¶ˆZÈ—iaѧˆ”óÛeI‰-ëíšBOÁ˜¿˜õÅçܯób-»ŒÆHâÐNýÝQ†oå<̘ü‡õ*]KœYÂW{ˆ LzËæÂ" ¨¸‹¢Ž‚ˆã8*(Ëóùs®ýTu'!2Ž3žñ™<IuS]ýÖ[ÛKX°Ž¬÷ôi©¿×Ø$±¨l®-WÊÍôJ§òÝÝy)Ÿ”ûgªš®_f¡MVü5n[ab<á½:qÿvùXÑTÝB÷ÈTõ²öµj¨·›Ä©ª¡ -$¶TPóš&¶É¼æ-ÊÐ]Ψ·XõxÃb•¸¨é{¼apawi‘/Qöz ÚŒzòGX4KašYþ8Í@†ÁD3›f yf0›ncÞ<À\S_ÈÅ“wÒLr6Í(ÆC~U…¯¥yFüñK°éæÛäs¬§"C¬q3C{^“˸ðŠí¶ì®\á ýo¶ÏÒa‹l±´px3L^Ò9ÖCk,ƒ!m=ä—sè«h„kÛ¿PŠ§{;ŠÑšAß -myhòN^Ò|“â]v¬iU~Ó–7±»;EÜBc
Àæú«#«²¬•{Ùè†Ø©|-͸’©Î -SÚlà)û±b•¨”ð³£1n>}3'b¶D©W‘¨Í¨ÈU’Åš´Ì´Fveüs>-ËR–HŠ›¤—êW‡ÃµJ‰ñŠ<Jll¤¦*È]¶fT´ZåHŃê -–2*½ë°'†îo@!È&c+¯ƒÅLu(! -swòÒa&#s2ª¸)î¿Uñ)R¡‚)¥ -º-uÊ"4“¥–sÁ`»vô -Ÿ¥%õy5º“³ß"O®®v‚y÷ºt_Zi,qšŒ›™'ýN´•Z*Xª¤ºÑR>þ›&íEf|á~í[´@bKÉïáž!o -LÞl$n"i.>â^›·ÑÂR|áe¸d(Ô0ÝîÁçAú™Ö:q©Ñ¬{RšeN>Ì©MÝŠL>\Š:æ$[,dê(3Õ–[§‚z‰lèém}_~jo/.)¹;0a"8ßÈY»Çà'y<Ö™á,GÀœ˜êb$=žŽSµ¼o\—VÈiRr'deææŽã#`ÑN:¸Uô¨,eĈ'QŸN|ÿ7$¦Z_F«¹æ - æšb¯ì^õ2’î̸8^ø{~ÉÊσƨ¼svÖ™Ò‹“Þcxñ³UXµ¾†±¦Øͪ[TÒ^K±êí¾B úÔdÁÛäòm¬°šqÓÞؽ*l¥¢}QBðè²k?5ˆúm{r¤t³ŽÑú>õþ‹ÙÓYéý
½¹Úi«ŽwéFw¹€¬áFIË”A¶íT -²óŒ< -ß³…N“øé³F©I<¼)59q½¡áwx\ÂLâ2®{&óõPÂMÇaTç&÷|ÇI¨Ù1µ‰ -›"f¨á½ÄµC,lOZÃ\—+,(Õ1 `Á(ÞÃi - -’!\Ó†³x -×%15Ìô|WÄÏ$ã^L2kqCÛ -6•~†ˆŽžœyC+”×Ç RÌ}pa¬«¬ÓSCŠ3s€…~zqbYªBb^^~IbIjPF!½(µ¸$¿(U¡8#¿$ÔS¬>üÝx -0000000000 00000 f
-0000020949 00000 n
-0000020876 00000 n
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000000 00000 f
-0000000016 00000 n
-0000000149 00000 n
-0000022549 00000 n
-0000062606 00000 n
-0000021271 00000 n
-0000022849 00000 n
-0000022736 00000 n
-0000021830 00000 n
-0000021988 00000 n
-0000022036 00000 n
-0000022620 00000 n
-0000022651 00000 n
-0000022923 00000 n
-0000023106 00000 n
-0000024120 00000 n
-0000041613 00000 n
-0000054524 00000 n
-0000062631 00000 n
-trailer
<</Size 29/Root 11 0 R/Info 28 0 R/ID[<D2B085C8EF9425BA7048C04C9B839056><3C67E84257574E33AD87C6A0321F10FF>]>>
startxref
62761
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/omnibox_star_lit.png b/chrome/app/theme/omnibox_star_lit.png Binary files differdeleted file mode 100644 index b5bd800..0000000 --- a/chrome/app/theme/omnibox_star_lit.png +++ /dev/null diff --git a/chrome/app/theme/omnibox_star_selected.png b/chrome/app/theme/omnibox_star_selected.png Binary files differdeleted file mode 100644 index 5dda354..0000000 --- a/chrome/app/theme/omnibox_star_selected.png +++ /dev/null diff --git a/chrome/app/theme/reload.png b/chrome/app/theme/reload.png Binary files differindex 99550be..c033579 100644 --- a/chrome/app/theme/reload.png +++ b/chrome/app/theme/reload.png diff --git a/chrome/app/theme/reload_d.png b/chrome/app/theme/reload_d.png Binary files differindex 37a4d1d..ec5811a 100644 --- a/chrome/app/theme/reload_d.png +++ b/chrome/app/theme/reload_d.png diff --git a/chrome/app/theme/reload_h.png b/chrome/app/theme/reload_h.png Binary files differindex 7ee1024..196727d 100644 --- a/chrome/app/theme/reload_h.png +++ b/chrome/app/theme/reload_h.png diff --git a/chrome/app/theme/reload_noborder_center.png b/chrome/app/theme/reload_noborder_center.png Binary files differdeleted file mode 100644 index d0d7a9b..0000000 --- a/chrome/app/theme/reload_noborder_center.png +++ /dev/null diff --git a/chrome/app/theme/reload_p.png b/chrome/app/theme/reload_p.png Binary files differindex 47aee77..a4d6ddd 100644 --- a/chrome/app/theme/reload_p.png +++ b/chrome/app/theme/reload_p.png diff --git a/chrome/app/theme/secure.png b/chrome/app/theme/secure.png Binary files differnew file mode 100644 index 0000000..c65d05a --- /dev/null +++ b/chrome/app/theme/secure.png diff --git a/chrome/app/theme/security_error.png b/chrome/app/theme/security_error.png Binary files differnew file mode 100644 index 0000000..6dbe71c --- /dev/null +++ b/chrome/app/theme/security_error.png diff --git a/chrome/app/theme/security_warning.png b/chrome/app/theme/security_warning.png Binary files differnew file mode 100644 index 0000000..09026ec --- /dev/null +++ b/chrome/app/theme/security_warning.png diff --git a/chrome/app/theme/star.png b/chrome/app/theme/star.png Binary files differnew file mode 100644 index 0000000..987aa04 --- /dev/null +++ b/chrome/app/theme/star.png diff --git a/chrome/app/theme/star_Template.pdf b/chrome/app/theme/star_Template.pdf new file mode 100755 index 0000000..3e995aa --- /dev/null +++ b/chrome/app/theme/star_Template.pdf @@ -0,0 +1,1641 @@ +%PDF-1.5
%âãÏÓ
+1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 55 0 R 80 0 R 105 0 R]/Order 106 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 55 0 R 80 0 R 105 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 64336/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <dc:format>application/pdf</dc:format> + <dc:title> + <rdf:Alt> + <rdf:li xml:lang="x-default">starTemplate</rdf:li> + </rdf:Alt> + </dc:title> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> + <xmp:MetadataDate>2009-08-11T10:37:28-07:00</xmp:MetadataDate> + <xmp:ModifyDate>2009-08-11T10:37:28-07:00</xmp:ModifyDate> + <xmp:CreateDate>2009-01-21T22:28:19-08:00</xmp:CreateDate> + <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> + <xmp:Thumbnails> + <rdf:Alt> + <rdf:li rdf:parseType="Resource"> + <xmpGImg:width>256</xmpGImg:width> + <xmpGImg:height>248</xmpGImg:height> + <xmpGImg:format>JPEG</xmpGImg:format> + <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA+AEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYqh9R1Gw0ywn1DUJ0tbK1Qy3FxKQqIiipZicVfJv5o/85WeYdUuZtO8kk6TpSlk/
STKDdzjpyUMCIVPb9r3HTFLw3VNb1nV7g3Gq39xf3DGplupXmcn/AFnLHFXaXres6RcC40q/uLC4
U1EtrK8Lg/6yFTir3P8AK7/nK3zBplzDp3ncnVdLYhP0kigXcI6cnC0Eyjv+33q3TFX1jp2o2Gp2
EGoafOl1ZXSCW3uIiGR0YVDKRihEYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7FXYq7
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</xmpGImg:image> + </rdf:li> + </rdf:Alt> + </xmp:Thumbnails> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> + <xmpMM:InstanceID>uuid:8467cc14-60a8-dc4b-8446-0f23925977fd</xmpMM:InstanceID> + <xmpMM:DocumentID>xmp.did:FE7F117407206811B4F28F4470BB07B1</xmpMM:DocumentID> + <xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID> + <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> + <xmpMM:DerivedFrom rdf:parseType="Resource"> + <stRef:instanceID>xmp.iid:FD7F117407206811B4F28F4470BB07B1</stRef:instanceID> + <stRef:documentID>xmp.did:FD7F117407206811B4F28F4470BB07B1</stRef:documentID> + <stRef:originalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</stRef:originalDocumentID> + <stRef:renditionClass>default</stRef:renditionClass> + </xmpMM:DerivedFrom> + <xmpMM:History> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:D27F11740720681191099C3B601C4548</stEvt:instanceID> + <stEvt:when>2008-04-17T14:19:15+05:30</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F1174072068118D4ED246B3ADB1C6</stEvt:instanceID> + <stEvt:when>2008-05-15T16:23:06-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F1174072068118D4ED246B3ADB1C6</stEvt:instanceID> + <stEvt:when>2008-05-15T17:10:45-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:EF7F117407206811A46CA4519D24356B</stEvt:instanceID> + <stEvt:when>2008-05-15T22:53:33-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F07F117407206811A46CA4519D24356B</stEvt:instanceID> + <stEvt:when>2008-05-15T23:07:07-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T10:35:43-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T10:40:59-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:26:55-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FB7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:29:01-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FC7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:29:20-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FD7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:30:54-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FE7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:31:22-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B233668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T12:23:46-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B333668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T13:27:54-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B433668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T13:46:13-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:47:57-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F87F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:51:06-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:52:22-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811B628E3BF27C8C41B</stEvt:instanceID> + <stEvt:when>2008-05-22T13:28:01-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FF7F117407206811B628E3BF27C8C41B</stEvt:instanceID> + <stEvt:when>2008-05-22T16:23:53-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:07C3BD25102DDD1181B594070CEB88D9</stEvt:instanceID> + <stEvt:when>2008-05-28T16:45:26-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F87F1174072068119098B097FDA39BEF</stEvt:instanceID> + <stEvt:when>2008-06-02T13:25:25-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811BB1DBF8F242B6F84</stEvt:instanceID> + <stEvt:when>2008-06-09T14:58:36-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F117407206811ACAFB8DA80854E76</stEvt:instanceID> + <stEvt:when>2008-06-11T14:31:27-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:0180117407206811834383CD3A8D2303</stEvt:instanceID> + <stEvt:when>2008-06-11T22:37:35-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811818C85DF6A1A75C3</stEvt:instanceID> + <stEvt:when>2008-06-27T14:40:42-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:25:39-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FB7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:26:20-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FC7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:27:11-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FD7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:28:03-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FE7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:28:17-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + </rdf:Seq> + </xmpMM:History> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"> + <illustrator:StartupProfile>Print</illustrator:StartupProfile> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" + xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" + xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> + <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> + <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> + <xmpTPg:NPages>1</xmpTPg:NPages> + <xmpTPg:MaxPageSize rdf:parseType="Resource"> + <stDim:w>19.000000</stDim:w> + <stDim:h>19.000000</stDim:h> + <stDim:unit>Pixels</stDim:unit> + </xmpTPg:MaxPageSize> + <xmpTPg:PlateNames> + <rdf:Seq> + <rdf:li>Cyan</rdf:li> + <rdf:li>Magenta</rdf:li> + <rdf:li>Yellow</rdf:li> + <rdf:li>Black</rdf:li> + </rdf:Seq> + </xmpTPg:PlateNames> + <xmpTPg:SwatchGroups> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Default Swatch Group</xmpG:groupName> + <xmpG:groupType>0</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>White</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>255</xmpG:green> + <xmpG:blue>255</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>Black</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>27</xmpG:red> + <xmpG:green>24</xmpG:green> + <xmpG:blue>24</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Red</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>7</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>242</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Green</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>157</xmpG:green> + <xmpG:blue>62</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>160</xmpG:green> + <xmpG:blue>239</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Blue</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>35</xmpG:red> + <xmpG:green>28</xmpG:green> + <xmpG:blue>129</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>120</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>199</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>26</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>16</xmpG:green> + <xmpG:blue>29</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>55</xmpG:green> + <xmpG:blue>10</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>123</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>157</xmpG:green> + <xmpG:blue>32</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>251</xmpG:red> + <xmpG:green>237</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>202</xmpG:red> + <xmpG:green>221</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>101</xmpG:red> + <xmpG:green>192</xmpG:green> + <xmpG:blue>39</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>173</xmpG:green> + <xmpG:blue>54</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>136</xmpG:green> + <xmpG:blue>51</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>89</xmpG:green> + <xmpG:blue>42</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>173</xmpG:green> + <xmpG:blue>94</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>155</xmpG:green> + <xmpG:blue>140</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>154</xmpG:green> + <xmpG:blue>221</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>96</xmpG:green> + <xmpG:blue>176</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>29</xmpG:red> + <xmpG:green>36</xmpG:green> + <xmpG:blue>128</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>30</xmpG:red> + <xmpG:green>21</xmpG:green> + <xmpG:blue>80</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>91</xmpG:red> + <xmpG:green>18</xmpG:green> + <xmpG:blue>128</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>141</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>126</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>158</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>79</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>235</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>69</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>101</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>184</xmpG:red> + <xmpG:green>165</xmpG:green> + <xmpG:blue>135</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>142</xmpG:red> + <xmpG:green>113</xmpG:green> + <xmpG:blue>100</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>97</xmpG:red> + <xmpG:green>82</xmpG:green> + <xmpG:blue>69</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>75</xmpG:red> + <xmpG:green>57</xmpG:green> + <xmpG:blue>50</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>192</xmpG:red> + <xmpG:green>134</xmpG:green> + <xmpG:blue>85</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>162</xmpG:red> + <xmpG:green>103</xmpG:green> + <xmpG:blue>58</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>128</xmpG:red> + <xmpG:green>73</xmpG:green> + <xmpG:blue>42</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>105</xmpG:red> + <xmpG:green>58</xmpG:green> + <xmpG:blue>27</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>84</xmpG:red> + <xmpG:green>41</xmpG:green> + <xmpG:blue>11</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>49</xmpG:red> + <xmpG:green>26</xmpG:green> + <xmpG:blue>15</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Grays</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>27</xmpG:red> + <xmpG:green>24</xmpG:green> + <xmpG:blue>24</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>49</xmpG:red> + <xmpG:green>49</xmpG:green> + <xmpG:blue>50</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>70</xmpG:red> + <xmpG:green>71</xmpG:green> + <xmpG:blue>73</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>89</xmpG:red> + <xmpG:green>91</xmpG:green> + <xmpG:blue>93</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>109</xmpG:red> + <xmpG:green>111</xmpG:green> + <xmpG:blue>114</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>128</xmpG:red> + <xmpG:green>130</xmpG:green> + <xmpG:blue>133</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>149</xmpG:red> + <xmpG:green>152</xmpG:green> + <xmpG:blue>155</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>173</xmpG:red> + <xmpG:green>176</xmpG:green> + <xmpG:blue>178</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>197</xmpG:red> + <xmpG:green>200</xmpG:green> + <xmpG:blue>202</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>224</xmpG:red> + <xmpG:green>225</xmpG:green> + <xmpG:blue>226</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>237</xmpG:red> + <xmpG:green>238</xmpG:green> + <xmpG:blue>239</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Brights</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>7</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>68</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>216</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>151</xmpG:green> + <xmpG:blue>56</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>17</xmpG:red> + <xmpG:green>43</xmpG:green> + <xmpG:blue>137</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>118</xmpG:red> + <xmpG:green>35</xmpG:green> + <xmpG:blue>135</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + </rdf:Seq> + </xmpTPg:SwatchGroups> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> + <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + + + + + + + + + + + + +<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[107 0 R]/Type/Pages>>
endobj
107 0 obj
<</ArtBox[1.79199 2.18945 17.8027 17.5601]/BleedBox[0.0 0.0 19.0 19.0]/Contents 108 0 R/LastModified(D:20090811103728-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 109 0 R>>/Resources<</ExtGState<</GS0 110 0 R>>/Properties<</MC0 105 0 R>>>>/Thumb 111 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
108 0 obj
<</Filter/FlateDecode/Length 398>>stream
+H‰\SÁNÃ0½ç+òñìØIš+qšÐĘ€Ë@ü¿„_GÚuêºôÙõ³ýìî^öqwØs|xÜÇp ¥ã—üþyoñ;0 ×ÈÄÝþÿ>Ãîù•ãço¸D‰ì—ÄNWmT*K<}Ø¿BbªÚü1 eÎѱ €ö K§2U·5›â9¤JEí7’¶ø51’2£® +Ôªj"ÉÞA%O§Öù˜³62žðªQÎnöÚE‘¦!H”ÌêÕPÁ-F\9LÚ›”ÓÑ‘â©_ùª•Ù[ƒ_ç^‹—2WÏ:-Ð_W~Ϫ²F«÷¬7ì0S›PéÖlš—PðÚÂ{ŸUåïmÉ÷¡áiijØ¢ÆV,ðnÄ„Ö}h
Ø!Ùu>"t:ã³u|˜m³ÅØó;v¢p +ÛÙìàºkcq]U$k¾™B:Tʆú3Y/èFJv8DT‚Ü aê^ð9¤+!°®c•oºK;ê9‡pOÿáO€ +8;Yc,@*f)`0E;+-!*9~>
endstream
endobj
112 0 obj
[/Indexed/DeviceRGB 255 113 0 R]
endobj
113 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 +VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< +PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
105 0 obj
<</Intent 114 0 R/Name(Layer 1)/Type/OCG/Usage 115 0 R>>
endobj
114 0 obj
[/View/Design]
endobj
115 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
110 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
109 0 obj
<</LastModified(D:20090811103728-07'00')/Private 116 0 R>>
endobj
116 0 obj
<</AIMetaData 117 0 R/AIPDFPrivateData1 118 0 R/AIPDFPrivateData10 119 0 R/AIPDFPrivateData11 120 0 R/AIPDFPrivateData2 121 0 R/AIPDFPrivateData3 122 0 R/AIPDFPrivateData4 123 0 R/AIPDFPrivateData5 124 0 R/AIPDFPrivateData6 125 0 R/AIPDFPrivateData7 126 0 R/AIPDFPrivateData8 127 0 R/AIPDFPrivateData9 128 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
117 0 obj
<</Length 946>>stream
+%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Nicholas Jitkoff) ()
%%Title: (star_Template.pdf)
%%CreationDate: 8/11/09 10:37 AM
%%Canvassize: 16383
%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.79199 2.18945 17.8027 17.5601
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 0 0 19 19
%AI3_TemplateBox: 12.5 12.5 12.5 12.5
%AI3_TileBox: -296.5 -386.5 315.5 405.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -58 53 12 1320 661 90 0 0 78 210 1 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
118 0 obj
<</Length 14108>>stream
+%%BoundingBox: 1 2 18 18
%%HiResBoundingBox: 1.79199 2.18945 17.8027 17.5601
%AI7_Thumbnail: 128 124 8
%%BeginData: 13966 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD3BFFA87D2727F827F85252A8FD74FFA827FD06F827F8F8F852A8
%FD71FF7DF8F8F827F827F827F827F827F8277DFD6FFF7DF8F8F827F8F8F8
%27F8F8F827FD04F87DFD6DFFA8F827F827F827F827F827F827F827F827F8
%F87DFD6CFFFD05F827F8F8F827F8F8F827F8F8F827F827A8FD6AFF52F8F8
%27F827F827F827F827F827F827F827F827F852FD69FFA827F8F8F827F8F8
%F827F8F8F827F8F8F827FD05F8FD69FFA8F827F827F827F827F827F827F8
%27F827F827F827F8F87DFD68FF27FD04F827F8F8F827F8F8F827F8F8F827
%F8F8F827F852FD68FF27F827F827F827F827F827F827F827F827F827F827
%F82727FD67FF7DF8F8F827F8F8F827FD07F827F8F8F827FD04F87DFD66FF
%52F8F827F827F827F827F8272727F827F827F827F827F827F852FD65FFA8
%27F8F8F827F8F8F827F8F8F87D7DF8F827F8F8F827F8F8F820F8FD65FFA8
%F827F827F827F827F827F827A8FFF827F827F827F827F827F8207DFD64FF
%52F8F827F8F8F827FD04F827FFFF27F8F8F827F8F8F827F8F8F852FD64FF
%27F827F827F827F827F827F87DFFFF52F8F827F827F827F827F82727FD63
%FFA8F8F8F827F8F8F827FD04F8A8FFFFA8F8F8F827F8F8F827FD04F87DFD
%62FF52F8F827F827F827F827F8F827FD04FF27F827F827F827F827F827F8
%76FD61FFA827F827F8F8F827F8F8F827F852FD04FF52FD04F827F8F8F827
%F8F8F8FD61FFA8F827F827F827F827F827F827A8FD04FFA8F827F827F827
%F827F827F827A8FD60FF52F8F827F8F8F827FD04F827FD05FFA827F8F8F8
%27F8F8F827F8F8F852FD60FF27F827F827F827F827F827F87DFD06FF52F8
%F827F827F827F827F82027FD5FFFA8F820F8F8F827F8F8F827F8F87DFD06
%FFA8F820F8F8F827F8F8F827F8F87DFD5EFF52F8F827F827F827F827F827
%27FD08FF27F827F827F827F827F827F87DFD5EFF27F827F8F8F827F8F8F8
%27F852FD08FF52FD04F827F8F8F827F8F827FD5DFFA8F827F827F827F827
%F827F827A8FD08FFA8F827F827F827F827F827F820A8FD5CFF52FD04F827
%F8F8F827F8F8F8FD09FFA827F827F8F8F827F8F8F827F852FD5CFF27F827
%F827F827F827F827F87DFD0AFF52F8F827F827F827F827F82727FD5BFFA8
%F827F8F8F827F8F8F827F8F87DFD0AFFA8F827F8F8F827F8F8F827F8F8A8
%FD5AFF7DF8F827F827F827F827F82727FD0CFF27F827F827F827F827F827
%F87DFD5AFF27F8F8F827F8F8F827F8F8F852FD0CFF4BF8F827F8F8F827FD
%04F827FD59FFCAF827F827F827F827F827F8277DFD0CFFA8F827F827F827
%F827F827F827A8FD58FF52FD04F827F8F8F827F8F8F8FD0DFFA827F827F8
%F8F827F8F8F827F87DFD58FF52F827F827F827F827F827F852FD0EFF52F8
%F827F827F827F827F82027FD57FFA8F8F8F827F8F8F827FD04F87DFD0EFF
%7DF8F8F827F8F8F827F8F8F820A8FD56FF7DF8F827F827F827F827F82727
%FD0FFFA827F827F827F827F827F827F87DFD35FFFD21A84BF8F8F827F8F8
%F827F8F8F852FD10FF27F8F827F8F8F827FD04F827FD20A8FD12FF7D5227
%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
%27F827F827F827F827F827F827F8F87DFD10FFA8F827F827F827F827F827
%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
%F827F827F82752A8FD0CFFA827FD26F827F8F8F827FD05F8FD11FFA827F8
%F8F827F8F8F827FD27F8277DFD09FF7DF8F8F827F827F827F827F827F827
%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
%F827F827F852FD12FF52F8F827F827F827F827F827F827F827F827F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F827F827F8F852
%FD07FF52F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827FD04F87DFD12FF7DF8F8
%F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F827FD05FF7DF827F827F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
%27F827F827F827F827F827F827F8FD13FFA827F827F827F827F827F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
%27F827F827F827F8F852FFFFFFA8F820F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827
%F8F8F827F852FD14FF27FD04F827F8F8F827F8F8F827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8
%7DFFFF2727F827F827F827F827F827F827F827F827F827F827F827F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F8F87DFD14FF7D
%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
%F827F827F827F827F827F827F827F827F827F827F852FF7DF8F827F8F8F8
%27F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8
%F8F827F8F8F827F8F8F827F8F8F827F8A8FD14FFA827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827F8F8F827F8F8F8A852F827F827F827F827F827F827F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F827F827F827F8
%27F827F827F852FD16FF2720F827F827F827F827F827F827F827F827F827
%F827F827F827F827F827F827F827F827F827F827F827F827F827F827F827
%F8F85227FD04F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F852FD16FF7DF8
%27F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8
%F8F827F8F8F827F8F8F827F8F8F827F8F8F827F82727F827F827F827F827
%F827F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827F8F8F827F8F8F8FD17FFA827F8F8F827F8F8F827F8F8F827
%F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F827
%F827F827F827F827F8F827F8F8F827F8F8F827F8F8275227522752275227
%522752275227522752275227522752275227522752275227522752275227
%52FD18FF5252275227522752275227522752275227522752275227522752
%2752275227522752275227525252F827F8F8F827F8F8F827F8F827F827F8
%27F827F827F827F852A8FD65FF2720F827F827F827F827F827FD04F827F8
%F8F827F8F8F827F8277DFD62FF7DFD05F827F8F8F827F8F8F82752F827F8
%27F827F827F827F827F8F852FD60FF52F827F827F827F827F827F827F827
%527DF8F827F8F8F827F8F8F827F820F8F827A8FD5CFF7D27F8F8F827F8F8
%F827F8F8F827F8F8F87DFFF827F827F827F827F827F827F827F820F87DFD
%5AFF7D20F827F827F827F827F827F827F827F827A8FF7DF8F8F827F8F8F8
%27F8F8F827FD05F852A8FD57FF27FD04F827F8F8F827F8F8F827FD04F852
%FFFFFF27F827F827F827F827F827F827F827F827F8277DFD54FFA8F8F8F8
%27F827F827F827F827F827F827F82727FD04FFA820F827F8F8F827F8F8F8
%27F8F8F827F820F8F852FD52FF7DF8F8F827F8F8F827F8F8F827F8F8F827
%F8F8F8A8FD05FFA827F827F827F827F827F827F827F827F827F8F827A8FD
%4EFFA827F827F827F827F827F827F827F827F827F8F8F8A8FD07FFA827FD
%05F827F8F8F827F8F8F827FD05F87DFD4CFF7D20F8F8F827F8F8F827F8F8
%F827F8F8F827F8F827FD0BFF7DF820F827F827F827F827F827F827F827F8
%27F852FD4AFF52F8F827F827F827F827F827F827F827F827F82752FD0DFF
%A827F8F827F8F8F827F8F8F827F8F8F827F8F8F827A8FD46FFA827F8F827
%F8F8F827F8F8F827F8F8F827F8F8F8277DFD10FF52F8F827F827F827F827
%F827F827F827F827F8277DFD44FF7DF820F827F827F827F827F827F827F8
%27F827F852A8FD12FF7DF8F827F8F8F827F8F8F827F8F8F827FD04F827FD
%41FFA852F8F8F827F8F8F827F8F8F827F8F8F827F8F8F87DFD15FFA852F8
%27F827F827F827F827F827F827F827F8F8F8A8FD3EFF7D27F827F827F827
%F827F827F827F827F827F8F827FD19FF52F8F8F827F8F8F827F8F8F827F8
%F8F827F8F8F876FD3CFF52F8F827F8F8F827F8F8F827F8F8F827F820F8F8
%52FD1BFFA8F8F8F827F827F827F827F827F827F827F827F84BA8FD38FFA8
%27F8F827F827F827F827F827F827F827F827F8277DFD1EFF27F8F827F8F8
%F827F8F8F827F8F8F827F8F8F8207DFD36FF7DF8F8F827F8F8F827F8F8F8
%27F8F8F827F8F8F852A8FD20FF5227F827F827F827F827F827F827F827F8
%27F8F852FD34FF52F827F827F827F827F827F827F827F827F8F8F87DFD23
%FF7D27F8F8F827F8F8F827F8F8F827F8F8F827F8F8F8A8FD30FF7D27F827
%F8F8F827F8F8F827F8F8F827F820F8F827A8FD26FF52F820F827F827F827
%F827F827F827F827F8F8F87DFD2EFF5227F827F827F827F827F827F827F8
%27F827F8F852FD29FF7DF8F8F827F8F8F827F8F8F827F8F8F827F8F8F852
%A8FD2BFF27F8F827F8F8F827F8F8F827F8F8F827F8F8F8207DFD2BFFA827
%F8F827F827F827F827F827F827F827F827F8277DFD28FFA827F8F827F827
%F827F827F827F827F827F827F852A8FD2EFF52F8F820F827F8F8F827F8F8
%F827F8F8F827F827A8FD27FFFD05F827F8F8F827F8F8F827FD05F852FD31
%FF7D27F827F827F827F827F827F827F827F8F852FD28FF52F827F827F827
%F827F827F827F827F8F8F8A8FD33FFA852F8F8F827F8F8F827F8F8F827F8
%F8F87DFD28FF7DF8F827F8F8F827F8F8F827FD04F827FD37FF7DF827F827
%F827F827F827F827F827FD2AFFF827F827F827F827F827F827F8277DFD39
%FFA8F827F8F8F827F8F8F827F8F827FD2AFF52F827F8F8F827F8F8F827F8
%277DFD3AFFA827F827F827F827F827F827F87DFD2AFF7DF8F827F827F827
%F827F82720FD3BFF7DF8F8F827F8F8F827F8F8F827A8FD2BFFF8F8F827F8
%F8F827FD04F87DFD3AFF27F8F827F827F827F827F82052FD2CFF52F827F8
%27F827F827F827F852FD39FFA827F8F8F827F8F8F827F8F8F87DFD2CFF7D
%F8F827F8F8F827F8F8F827F8A8FD38FF7DF827F827F827F827F827F827A8
%FD2DFFF827F827F827F827F827F8F87DFD38FF27F8F827F8F8F827FD04F8
%27FD2EFF52F8F8F827F8F8F827F8F8F852FD37FFA827F827F827F827F827
%F827F87DFD2EFF7DF8F827F827F827F827F82720FD37FF7DF8F8F827F8F8
%F827F8F8F827A8FD2EFFA8F8F8F827F8F8F827FD04F87DFD36FF27F8F827
%F827F827F827F8F827FD30FF52F827F827F827F827F827F852FD35FFA827
%F827F8F8F827F8F8F827F87DFD17FFA8A8FD17FF52FD04F827F8F8F827F8
%F8F8FD35FF7DF827F827F827F827F827F827A8FD16FFA8F8277DFD17FFF8
%27F827F827F827F827F8277DFD34FF52F8F827F8F8F827FD04F827FD16FF
%52FD04F852FD16FF4BF8F8F827F8F8F827F8F8F852FD33FFA827F827F827
%F827F827F827F87DFD14FFA827F827F827F8F827A8FD14FF52F8F827F827
%F827F827F827F8FD33FF7DF827F8F8F827F8F8F827F8F8A8FD13FF52FD04
%F827FD05F87DFD13FFA8F820F8F8F827F8F8F827F8F87DFD32FF5220F827
%F827F827F827F82027FD13FF52F8F827F827F827F827F827F852FD13FF52
%F827F827F827F827F827F852FD31FFA827F827F8F8F827F8F8F827F87DFD
%11FFA8F8F8F827F8F8F827F8F8F827F8F8F8277DFD11FF52FD04F827F8F8
%F827F8F8F8FD31FFA8F827F827F827F827F827F827A8FD10FF7DF827F827
%F827F827F827F827F827F827F82752FD10FFA8F827F827F827F827F827F8
%F87DFD30FF52FD04F827F8F8F827F8F827FD0FFFA827F8F8F827F8F8F827
%F8F8F827F8F8F827FD04F827A8FD0FFF27F827F8F8F827F8F8F827F852FD
%30FF27F827F827F827F827F827F87DFD0EFF7D27F827F827F827F827F827
%F827F827F827F827F827F8F8F8A8FD0EFF52F8F827F827F827F827F82727
%FD2FFFA8F827F8F8F827F8F8F827F8F87DFD0DFF52F8F827F8F8F827F8F8
%F827F8F8F827F8F8F827F8F8F827F8F8F852FD0DFFA8F827F8F8F827F8F8
%F827F8F87DFD2EFF52F8F827F827F827F827F82727FD0CFFA827F8F827F8
%27F827F827F827F827F827F827F827F827F827F827F827F827A8FD0CFF27
%F827F827F827F827F827F876FD2DFFA827F8F8F827F8F8F827F8F8F87DFD
%0BFF7DF8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F8
%27FD04F87DFD0BFF52F8F827F8F8F827FD04F827FD2DFFA8F827F827F827
%F827F827F827A8FD09FFA852F827F827F827F827F827F827F827F827F827
%F827F827F827F827F827F827F827F8F852FD0AFFA8F827F827F827F827F8
%27F820A8FD2CFF52FD04F827F8F8F827F8F820FD09FF7D27F827F8F8F827
%F8F8F827F8F8F827F820FD05F827F8F8F827F8F8F827F8F8F827F8F8F8A8
%FD09FF27F827F8F8F827F8F8F827F852FD2CFF27F827F827F827F827F827
%F87DFD08FF5220F827F827F827F827F827F827F827F827F8F8527DF820F8
%27F827F827F827F827F827F827F8F8F87DFD08FF52F8F827F827F827F827
%F82727FD2BFFA8F8F8F827F8F8F827FD04F87DFD07FF27F8F827F8F8F827
%F8F8F827F8F8F827F8F8F8277DFFFF7DF8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827A8FD06FFA8F8F8F827F8F8F827FD04F87DFD2AFF52F8F827
%F827F827F827F82727FD06FFA8F8F8F827F827F827F827F827F827F827F8
%27F852A8FD05FF27F8F827F827F827F827F827F827F827F827F8277DFD06
%FF27F827F827F827F827F827F87DFD2AFF27F8F8F827F8F8F827F8F8F852
%FD05FF52FD05F827F8F8F827F8F8F827FD05F852FD08FF52F8F820F827F8
%F8F827F8F8F827F8F8F827F8F852FD05FF52F8F827F8F8F827FD04F827FD
%29FFA8F827F827F827F827F827F8F87DFFFFFFA827F827F827F827F827F8
%27F827F827F827F8F8F8A8FD0AFF7D27F827F827F827F827F827F827F827
%F827F8F827A8FFFFFFA8F827F827F827F827F827F827A8FD28FF52F8F827
%F8F8F827FD05F8FFFFFF52F8F827F8F8F827F8F8F827F8F8F827FD04F827
%FD0DFFA852F8F8F827F8F8F827F8F8F827F8F8F827F8F8F87DFFFFA827F8
%F8F827F8F8F827F8F8F87DFD28FF52F827F827F827F827F827F852FFFF52
%F8F827F827F827F827F827F827F827F827F8277DFD10FF7DF827F827F827
%F827F827F827F827F827F827F852FFFF52F8F827F827F827F827F82727FD
%28FFF8F8F827F8F8F827FD04F8A8A8FD05F827F8F8F827F8F8F827F8F8F8
%27F827A8FD12FFA827F8F820F827F8F8F827F8F8F827F8F8F827F827A8A8
%F8F8F827F8F8F827F8F8F827A8FD26FFA827F827F827F827F827F827277D
%F8F8F827F827F827F827F827F827F827F820F852FD16FF52F8F827F827F8
%27F827F827F827F827F827F8275227F827F827F827F827F827F8FD27FFA8
%FD05F827F8F8F827FD07F827F8F8F827F8F8F827FD05F87DFD18FF7D27F8
%F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F8A8
%FD27FF27F827F827F827F827F827F827F827F827F827F827F827F827F827
%F8F827FD1BFFA852F827F827F827F827F827F827F827F827F827F827F827
%F827F827F827F8FD28FF27FD04F827F8F8F827F8F8F827F8F8F827F8F8F8
%27F8F8F827F8F852FD1EFF52FD05F827F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F827F827FD28FF52F827F827F827F827F827F827F827F827F827
%F827F827F827F8277DFD20FFA8F8F8F827F827F827F827F827F827F827F8
%27F827F827F827F8F852FD28FF7DF8F827F8F8F827F8F8F827F8F8F827F8
%F8F827FD05F852A8FD23FF27FD04F827F8F8F827F8F8F827F8F8F827F8F8
%F827F8F8F8A8FD29FF2727F827F827F827F827F827F827F827F827F827F8
%27F87DFD26FF7D27F827F827F827F827F827F827F827F827F827F827F852
%FD2AFFA8F827F8F8F827F8F8F827F8F8F827F8F8F827F8F827A8FD28FFA8
%27F827F8F8F827F8F8F827F8F8F827F8F8F827F8F87DFD2BFF7DF827F827
%F827F827F827F827F827F827F8F852FD2CFF52F827F827F827F827F827F8
%27F827F827F8F852FD2DFF52FD05F827F8F8F827F8F8F827F8207DFD2EFF
%7DFD05F827F8F8F827F8F8F827F8F852FD2FFF7DF8F8F827F827F827F827
%F827F852A8FD31FF27F8F827F827F827F827F827F8277DFD31FFA827FD09
%F8207DFD34FF7D27FD09F852A8FD34FFA87D274B2727277D7DFD38FFA852
%52272727527DA8FD39FFA8FD41FFA8FD1EFFFF
%%EndData
endstream
endobj
119 0 obj
<</Filter[/FlateDecode]/Length 15322>>stream
+H‰ÜWk[âHýþ‡vEAnrQ@$!à¢0^@pt¼4I-!Á\tÜ_ÿV'Hˆ;ï<îî »«NU:]xÌ¡àÏ¡¬¨ÙûT–4¢ì ðZà1Ž¢UŘ®²ã}DìUmUz³ë¯X6Ç‚¯X£¸#}çã½ +Ž·æ¬ÏèM½ö
þGYöC ¢AUkïöo¯EWØ +2Ü×Ô!™ž?£Ê¢´Íö)s^žO`Ž*©ÃH +ëñKO…$ý±Wûày·wQ0C-ÞTm`߇žc¨;¹ËÔ1!tw/9—`/4µKeRUD(%@½Pa@û[HáV·%}•Ä•žiMVô•Ú®8rpÑÉý£ñœ¨Á0aÔð;èÀøÖJ¤VtJ¢êäˆë¨¯>\Zü]Æo§sÔŸ÷ú¹ò\Mß9Þ
7ê<ë?U¡’ +#
;[…áÑ ]êÈmú ›²ÃÿE™Žà¢gÈÂE߃óãú&=ƒf¼\žiSæGvÇS&¬ÛSæJš&\)P^íÁÝ“®Áp^µ|‰Ÿ£{:®»¤Ý 3KXfß{…Ûn˜ô±"—RJåÿ?¬õ§óÝ-Þ‚`S’ü)pÑ
ªàÙ»Ó+1Ö˜A´:mž¼©•½×„ +6&SúºÙû]O6O<]QÆdfñ™€+hg¸×ÞýõPÃÀŠ³Ìê<55:dIÅþŠÚAÜï‚%’VÉTÑÊ'†„F“w‰'ßf‡µ©ªWŒ~«4mfo +0J/0À›0<ÖôÕ[ÇRØt½W7Ëd^ÂkXŒð@¡1³š}P]xÝúIöŒŠ ÐJ=½õ‰‚tüÊ8‡äžg™Ž!¬³¿9IíÀÛN¨ i<QGxc&ásÖØ»j¢hõ%LFÀ2sm›ëaª :ã(ŒÀÙ䨕B†ÊLˆQƒmÆHÆ°f hªìº)ö¼ªº@{ÊÔŒíM2˜€NíNÝS™Ê@½Šø–Q£#ŸZȺ|;9ì(˜Êº_jN&G¯~vÉŸûjñd\)mÒiQòæŠ{Jò°lwuÞ™«úéÃiÆ9HK‘VŽ—]A±›-—‡ë¨^›LCö¼M`$bïUÿC¶‹äe»Jx„-í¤ÎÓ$‡‚pÄžJ“·áøùÉSçéÉ5JÕêAJ Œ±l1y|¾uÊ·¶sø&|º¿u¾Çµ“a?ÛSÖO+ëáàv‰âˆ¾™¾þ³œÞȯO +õäq¶öc»^ÔL1S)'êx2¹‹é³ÐÇ6‹¹‡Èn1éEý,]sµuÍÙtjð½?/kÅ|’4Jô¨ +‘ÈvoÁUMúþ2B%ÍÜžÂó=Ÿ¼ÝsCµ¦sÕ†ÑÒfEHn¶ùgy»½º±Ó·Æ63‡ÝLëòî×,EZ˺÷eï‹ùA徘Õ#Ø•à‰Ô]Xɪ<ÁŒ#tïÛ^.Ê7Ù.ß7JýÌm|&O[‚¯½óÇÛmÛ@ÖK½¾m½U©ºÎï<or½
ÅÆpƒ%s-pø‰e1u,õ“¹<Øß +ñßÂO¡biûºR"æn¡uºÑω"°o4TîÖú¶çx,Š3Ý|ÊÒ‡S‰—ÇÛ{Zè‡ÉÕ[/ÿN1wÚß_¤sû"§ˆÛÃÐQ=ÍÑL&ªw÷9M¬ÆCƒl|bQNõ¤-³M2íý˜”¥¥(†úÆëGÁ½0áåÌÅÐŽà{-P,Uóírø0¥C]ªwéB¦¤>„ò-é.›èlÜ[fJ +åpB8îí´ò9éùÛƒUÉ `°wΧÆ^`:p?]±M$iý—Zç…G+Õ ·ÇÉômúYäšÂsHèFÏ^ÊooòéÎõåáEàæš;/ñB·A_Š/÷ÙÞZ€O~o>ÚɼMK·åÇx¨Å'o¸óŠðÜ~,Ñçt4×z•Rw7 ,<e2W’:õwÐxžqçµÝ³Š°#Ù¹qmsªoŒ"—¡ã~±*¤p1×4þàš§†¹Ú\f]yp +q£;¦Ð9ç%c-P¾•½ÄSþXˆU~÷- +äŸòرñêáÃ|f3ë.¬S›9ÿ㾺֓G’èø!09” "G6`‚Dμÿ–ZBã™vöjoüÉtw…SéTny¹!”À+N¥rž—b(c¨à13}²a0ª=ˆû]#J3Ä~k’Ñç9ú¹%ÞÜÁrD43 + P;LK˜«JCQí<àšÓÏ)KáBdf&Câ½ÇÔÛ®Mök^‡¦ä³›…Ľ¸™ve„“%y¶Üß<³Ý´ÜË÷ ŠFˆcñ|¢ò3s®uÑ_ßfD>9ˆ³ùIøÅmú^ÍdQà“‹‡k]Ôp"±B7„”òÑÉ1À®¯ó»ÝwL{ùáRÐpB‡j\ô„‰!Ó”—^xöåañ`y©uK?/{8X{Xj]Pè~î-H_í7‘VÞ?Ô?ᧉeé¸gû=Ól·©õ6L¡ŽfÐbžJÅn|Ç•Håc>Ko4ßVL`–Xšu›Þßû©gNš‡SÈdß•PÀ¼EëÇyjÌ/2tì™3ÉÆnÛ!Óš”8ý”d&4Uà"peÒ….Pö°±ÁmÌ´ní„yŠ.Cƒvôy–öhѲÖg´OåjÜž ¤o'VºiLòíø3g1)6g´¯Rÿ„¯,üöM[‹),zZ¬7¿õ‡’Oáî×ðå'ëÚýõ]&Gvá^® _k^»¢_>jZóÔKV9HËŽa1ÞxQÚÌyÝÍ$Õ8$lPµhn"‰ªQ~¶¥ý¦C^!-êëGˆ“•–)‡|æ,¯K×—:9ø3d¬P"õ¾}G‘jX Ððx«w)#ÆD´Øõ<´ÿ4a0´Äù;X`¨~}˜½ãdƒC»gþ«åÊUóO~ñåOB‚<оîõSÛ¿jZ¨qù%1þ"-Ž²Õ+3U~‚…T-ÏÀÒ|EHÜá°ø¬^~ +*Ê
‹Ï:€b^Ã]Ÿ!Ân¥H5w‡Y›RUž¦ô#‹êÅŒ–=ªvªDí: ñ¬Tô‚TŸ©`MR¤jÅE=ÿ§Pÿm¾ È?4×Ì3o¾ÑÊPáþ«4D!ÑÝEˆ¡JVuûñÚý9¤º¡yêý´S¿ +¿“[©L©t#M`tö™ªYV7+‰€ÕTÝmÉx5zöCÀGž…ÑJó“Qí¦l=9ø7Ëɬ&*Sú—Ëɬ&:ë324¬º6Õø¯‹ e¢Û~2mn´17”Ô6r.è1è¸7:?ú(±ˆÆš8™¢þ¿6â¼rMîûTá“—XÜ +üS¶AlÃýuEt+åcÄœ¬»Jû,.Eøâšø6aƒÍBN‡ŸÙˆî¶Üfj ÒªSKNÓß– +
Ï,ŽŒÈ³[\"öÿâ6ùÿOC5>¿q/ ¼@°éí¾B×üñuJ’ÁL¢j[þeI¡¼Z‡É3-„×Ê)6kæjqºã õMµX +!Ž¾NQØß *ãnr—Ò2+äŠSĬ\buº÷÷wUÝÐ[ßÍ4ª®Èûç÷ƒÞúMÇøàÁˆÍmZÇÊÇÈ6©-Κõª|Ðý¿Öüâ6RR¤Ïçe'‘®ôrHAËe&êvÇa2É-²kG¶À&n,u.[†#†ÌHaã 8EVÚÅ„}~-Ä€?”€vÕƒý&4ßÃtjŠâØïXªž¾ÑÔt´§{ '½¶V0üÈ5ÊsKw®•’ꚤUj/„ùÒ90ÑrìgÆ8„¬vÓ¨_›°?«Þ8ÎxЄûÛú}ãe¬4ýƒêµ¢V/¬‚™[]V8Ô¾N܃Dr³8K¡åû„>q,žOTÅ60¹ïÕûËsÒ]IÇRŽ*Ô¾¿_¿2R?6×Âø.Uçü|G†îÉç{åeo㹂SFáƒ#‰Ä +ÝQªqÉôbâYè8êQviÆ@hkhÇ‹[ÓXí¤¾„ñÈ=ã}bG>cb-¼ƒ®‹»Ü€YTgŽ"L£ƒ•Ã Ž=ÄÍÀ·>¯Ë +0%¢W9¶ì³[»IPoÂBÕ¦cà&µáÈ~aÄ>™„l@ûë¥4. «sÒT®ãá‹»ÕMv?"L#PW˜f;(B½¸ó_»‰ÍÏVª¢
”÷(_–*Ùh¢+ЩÖ3ãSm«%Žž>/^ì6å +ñ%Ÿß‡ÈQûˆI(î
äùš‘]å¥ ¢Í‹à²u¼©±:ŽÙÝu]¯†æ2„Xqàײ›lG¶#¯+ó”.˜¯ªÉéÊZ–Ó+o£”.Ĉ|¿xæší^2øâÎ|†Ÿu© ª³LíáJf1òo8e)\ÒU%³B‡A:c2Æ´’âW~w
xÕ{ë{‡ù‘EÎÌ’ÊR#29ü#ÏU¹nî!7pgšîä³gÇhó© A¦Ov¨‹Â" +XÓÝvñ[¤ø«ÅèÄÎW:Ý[(têxsËÄ8óS‹÷P¬ ‹êË?õT£yv)T~[Ù³D¾ +Šg󅺈]Ýî=Ñ©3¬*ùʉ³J@œZðêétnÙ|Ñ.&Æe}õRI‰è»#6ï¢dUQ´O[äÍýjÌ3¶V Ëg^¿°H¹h…Gt{<=†mñ˜¤ÛøÁdâOßÒR)ͬ•×ÞùâÜrÊŠ!j›Ì/c/ÛwÛbãû®ý + ŒÍ&dÃ-š¢ÔgcOg1à(„»nB6Nàf.éwóQxuw¿RV¸¨Wƒoëìî;»…¿kláÓ(±kcPX“#°¥ý¤«H+úfo()ù¸X^Ú%ˆûPRp$¥Tò¯–¾¼5Ìjâò+ÁEî/µton”PñtonG½7_Ïisòˆ6ÙÒ¢/mâ áZüh=L–ÆÒ·©Ÿ3)Ï WÚ.‹æ(L}§ÐÛŽ«L È;VWÚ_¿”³ô:q°÷€&”O?z¤Ü¤;ñ +äer®zoqŠ“Ð}™H†lAHm•Œ#U/f’D½ô†/—ù›Ú]mú[ +ÙV¨RneGL£Q–ë~ø=Æñ§l¥4ììÌ·bd&þ-Ëf0sÇÝVrý
æ_+Fô5Ä4î³PöÇUÍP]¹¦žù…Y»b&9*TŽ[ï2uý}ÎÂtþÍ•9qQ+~ZQÓ’“<f,–ŠçÓØU%b`IËàÈ°–ïH¸j\;%VõÍ%Iì3üùsUI¤»·¯ƒWòbVWQ\@G‚Å})S—êgÎn”PãÝ'Þd“&oq²1N%úø^„V…‰±â¶
‹£ÌÜ™Eyt/U•ðÍ٦ٯ#øZkYë¯nõén/ß]Ç®0«|=ÀËç}(u£üÙ‡¥‘M–µukºÁªž•»Ì¹œËñ·F•¾Œ×m{§2¼ÅéÕ• Úùer +1Ué§ÆpòfÇ!³áR+Ãý.ñ}üÛkŠý +slËìèuÚÂI¼ùÀ?©ÞÓï¯Ã<pï;msQ³„Y‘ŠæªÍhTΫõlÕ‹A«‰ s¿ÉA9ŸØÄÛå¤zÑÏ&<Ù—Gñ ÝeŒsê»Áß\½3(ËU9½yßÊÊùô‹Pœ]1CùíØSh+;ùå¡3g¾ËD¶U›V¤SWjý‘OfZïÇ\¤Q½„¼<âØó~Á/ǖͲ½æX¡ËæÖ̸qóÀwPO“B¨~aÿ¯Pé·b§Gá|?KJ^¾ï_Yþó+N«7¿ž¹ÏÈ0c7Ã;sÿkL®Ý[Úþ•êOwmªøÚà-ˆ[HD(µ[Ü“È>ȼ(\ðžð¼•*©ÒË°â(„ØU³”ÊÏ߯ä|>eŒ³´.ÖÓ±Y1Nç +1¶+@×ÅâÐC]ƒ¯ïÀTïT;)ôØß'…I_? +ƒgw6ÃŽèîT4mÿ{}þ(ºžÎ÷X ž4SƪA0¼ÉG‰8|Íçó9"UWMTGþ¹¨-aÏG<ëÈ@fòØ…E‰TÇÔeuâcá‘Ÿ/,¤‰TcÅÆøÒ58e²Jˆx®aC6—·ýn"I¶æDX±lSÃí[è:Á)¼i"éŸüos±5EÖˆ\£ ÀìÄuÜ ÀÆóÚæ
é©$šX'ª¼Â«âÒlŽ$RmÄ{ßê¼$#8Ï«ÑDÆÔã´{(Kþ8ô «ˆ u÷Pýcþ8´?i‚}î¼;?±O–©Ø^Âx†|bå–ÿ£åžÚ®#‹ö_¼þ—(©Gl¶‘ˆu IÎgráv +‚¥Ë‚e"#¥izR´ÏW!ðÅHhÌ[Šé‚(Èß»mÜdÉœ.ÂT؉š"y2]‹0h/“á/Áè24d¸§Ê"–Ð2ÑÛçÕUzI¿+Ä-Ovƒ¼Žø…Ç™:¿¬H°o@›¾ý4¨èÉ9œrL—’XŸ$_`þ,²FîD"¯ ¥½¸?ž; Mÿî®#ªFPHcÊÐU“Ým2Ÿ%
ó¯I#(I{0¢ŽµÝ.U3)))ñÅ–°|UÖï&#© ?H ðÅH +²ÝšMxš $bÕÄj0FIÛã„7ðÉΘòÒÑš}Qc XÛèEý£%…
âóLjÀ¾» +˜µ.R_O°€‰ëbl®j,`râñDÔÞÙ¹ûQ{JÈ'*¿Ö(~õfÄ +ØR%cwŽV@OïºÙÁñ† ›s>€ql¨‹Ñ·ÔÔ®ñ
ì"Å44lÁÈ•º^œD¬ÛŠßs= +Ö^7‚:~¥b ›öÒÃxE`õ
™»í¥ j'|þ?ÒËs;yXYÃWà{ˆ›¶éÍ06Ð’ÐK PbÃ^ëÜý‘ŒÁ)eï?^à‘õÌŒF¯Fsy«˜½þÅ`]Ø~kðú£^#¯1¦ÏÊJ8¼åáßovñ¥;<Êï ãúf˜Ú“í ‚(ß—è·V's3¥¶f¨6F¶ +’z•Dü÷邽×E¹Nàîø}¦)œzéý¡2íxdûxé˜@̧•5¦Ã)\ÉÿY½íþï;½ÔNëk÷zpåÊ,ûð÷!wþ |¼Y)uXýóHîCgu:jóý¿3€‡§Ãñ¬•h~ +’ +šö‡äC°q8µWoy ú-œkûí§r<_›§«[åýö¡¤ÃàOê~ÎAåʉiq¿¼ú'ÌOsø’e§y =û.X½«Â÷Æ7ÐÏ\§P.Ç# +ª(œÕËGf1oöyd‚޺כ]ŸBðN·’¡›¡uû¥R¡l÷”ÞÒ¶dogæÂ;ÓçoVΛiGפ;TÊþ ³MP¤—ߦIwc }ë`š½Hï9Ù!}õWô3uŽ fú.!îVXá”:pN؆³ÍÊÇCñè º¤ý3ñ{ 1KÝÊ”¦«AÉ2ŸYä|ÇF屚Pøx)ýƒðsQ
a ö»b&—yc=¹Ø^£„-oÁïi^-Š÷P TK8@ÆîÕYN)] +…5f‰µü•|ÜÈ6ÚI9CXhuÕ 1((TþðÐÏt¦n*VÅV-ÃÛ…„>;÷ÿ°Ðκ5[¨P‚ºu(1ÏÕc
…¨žø˜Î ¡ÇŠ
š±ÏSÉvÂ$xØd^²U
óÅé¤5#¡ã涬Báùrë¦YŠè(ÎŒ•O?ÚØwÍD<dŠŠ–ý{l‚eªã%1Ð~)~ì*Hh¼á·‘c?Ð1€M~Y7Íy›jÐEÈmÙ4îAmîQ¡œ“w•Ì‘Ö˜™'™ƒPŸˆÓn¾®¢Ÿ‘På@g4è)ëµDJŽæC÷šï³e³úd¥Ç“€°{U*ûÕX´pº“Â’-zfÙªß"„¾c¸q9iBŽd¡ªB!EÃ:dy¾ØC(cÊrnu¸Öo…´@•È&©4Ùd+`I¯í°šu XͧQ³S¥=9$±Ö~‹Ý=ã¬k¦4£ÎºõNùô +4æk°´·põk³ŠY¬Ñ8;íjVe¿Û•ÑýÚöŠ²_Dñ©œaqÎÓžáëùÄyËؽ=Çу7¬µæÝg9¼uÑ|OéVKÆ¢ö¦ímQÂ|/Ñ¥tO¹Xß_ Ë·=ïǵ9}gmÉ»Œõ•Îe¿¨œàÝÊXëµ’xëHHf®CØgÔ$æÀZ7§§c kÝ>sù–n½ËØn+òÜ×À¥V*‚µV¸0ÿŠÏõ¶_tj¸¯i’.<Xk1W_¬°Ö +—µ±øŒåHÎáNb¬‘SÌx®1'])‹ÕÛm)YÍZ¤»²ÔIžœn+a_Û|+0Kç° éÏŒú„Ö£v§‘‹ôäJãòˤcÜÉo˜Ò_IôÁ
sÓ… +b1Å:ÆBA‚•0 +»,” `ÿ¿FÇš&ßAkN,Tí)t(Üû&,ì)º¦U]%®xõ—¶îÂ`¹û͸Éy·7î}ÌȨýkR|mþ8.²ÖêNS‹<ˆy”ÓÔònëÎ\;˜öú„‹gYºóhÙñÁ{Ò§?ø£k ‰¤/š“JPüÑ>Þft©Sð‰’c£zÁ'¤¡ +˜eòÙ¹ÃYR} +ÐJ„Ñ–áz¢8{"رÚUN@Q{å§vñZóàž7ÖDiÎú€xÅÀo¬û¡³øŽó9…;ß ð@í•Û; c
Ã…ÁœÊe‡aI* +òå)ywÇ@‹ÓòÜ^þz¥:ÞV:7v×GÂ% ŒÏy:Í…Ìû¹ª»Ÿ¨y³ôO\h{KÍ +xâT³ð‰£_T“õe‰>ð>¬…>qÒYñøøÆŸFeº\Ãô[XžŸS"xìC±|*ÉF`*0‹ð¸êÓ +¾Êß
øQ,Ze@’;}Þv(Jk6.†ªFßeSˆv±KbSéïhZTÕ¤„ú +~ä"¢<_Ì´ZIÈÏÆšb1ÑìevÑìe.8¢¹î•©4æë:*¢|DóÜkÏS#šA`šÑFQ
_ewüúˆ¦ÆC´À·âG4wúlœèˆ£`Ds¸2lÑ,2J¾•q×çpX2Lž HhüÊ +‹Þ]¿é
þÇÆš<_£Ôò—ÎUº§=+èÑßÓ÷}Üœ2~yJ¯Å0¤©ÌÚàÎlyÇ:fA°q,ȦfA°i<*ÌŒ¡"¥E €©Êi Œ:Žž´FµÀ8`ú“èU=UâS^À•Áâ42¿—#‘äX]0ÁÄg¨Ò÷,‚úrP]ÐlþZˆ¢ï‰%½_Ú‘ßäOßó¸Ð0Õlø+¾çq¡ï,`°èúþϚDžAYNM®ïõXƉ¢ï‰(˜Ã³ŠÃÑ÷¼(ؽ +â財œÂüYGfCŠg†Ñ+à¯QÙо‘)ó.ÚåÊÒókîÄéäJÌ6’‘tª‡›ÌÔOäD÷ºå·0‹zÝD^œÛöo_‰µtÇ´ä®7IøŠÈYµîèÐÏ1¡úöPžÚ¾IeRn¬E}^,1µ‹…=ZjKZ¾Rƒ˜¬Öäq'RO_Ëóí¨Tú_¢‘G¿zÌÈLýí¢¥×Jãz° Ì—
Vy³nvh.þ²À¬ö*VM~œéÑ´cƒIŒûø¶+˜ä¬(Ùd6˜àاÈâÈ7Â0ÝÐJJs#öŽËedçt}>;úgøÂuîÎìÍƲÿÆ +/³X~|Û‰¾Uoc…~½ +WÚýz4;> +Ú{hQª>KÖZ/<ú!‘¼\Y·‚G§7Ì£†I5Ø®‰íæïÆÂGÓóÌÇgþ£_b`“Å
ŽŸœ¥…nìÑQLøhìëMá'©.À³óº— +ÖÚ§²á«š¯sGçéžÚF¯puÝ +L…aë~w*½ý¦—‚§äpå~RíâuÈ>ÑX“EQ`-Ú€·k8²Yk:ð実&˜>ßCfSh;øbyšßÊ%)PÃPàJÌ óg)S&þ\:¥|{èðJƒ³ïiƒ–VHÈKó¼Øü¼˜9PÐåîùJ]UÊ©Š³çh“ÁÌ™ã5«7š„.©;H’|oLÇbêÛ^[´„™m´¬©Ê†tgóC98(ØYä]åÍnï¬5SsHL¾? dzÑUŠlïC5®3øq±æ<`ò}|XÑsrnfàÿ5Ö‚¼¬µÕú]ï3Eb=–o>óîÇmGŽì˜«õ<²üô@ïºí§~;¢ÖÇ`“ƒÊ‰®Pvý¸ääš!”=ßÇ®Rv1]Mwùi^Qp’L·RÍzˆñš…Ze ‚ŽaXR&US’KiÊ‹¹I='DI}Å£ÓšF{|•{œ›f&(œ_µ9þ9”ÏÏ05'¸Áò3Ä2:Ù
¦òÚ›µ©´'(”‡ÉQ‚©7^¿c•ûdº÷^£±6R‘>¢…ê˜C§Þ¢YÉ´ +QžßÏFrƒ`˜î¤ù².ËÕKÄ ÍÊj~ñ$
ÿ,¶G¶òö‡¯†©h‡ÈÄí½¸³aj¶C¦\@A´ra2öì•DG6lVG63Ç[–&.Ñ&/N5:O¤É±JŽR:…:²§oWÒº±·\6¡ÇNu/Þ¿w¡[œj_¼ÌR‚”C8ýè}z.ÉWÀ`¬„xXS$%Ò¿À¤,](P¤D³šÅ$}ªé¦ä8>YRíâuÈ>¹¨ƒY¬ˆâÕ{É…bÕ§•ÇÓQ;Öù³<áìXRz—Ú1\:µøÙZ|.„%œ”›B$Î
SÃ6T“bŠ¼i|CÞE›øsÉ;O)¡â°FPZ†Wâ}ÊñÎÏaÞ|¶ +êïh¯Ò +íút)!•W“õuM>s¦-ZÒ™mÔI`È ôœz“áÝñ™ËÕæÏm™Ë_,{8Æ> '–«ÍQ.¡±†É¬UðÛ€6 +RÚå2²/6áoÒ`mòšù TÊYZl³“=ÃÇT{EáQ¡¬"3 Ç´¹KØÊÅü@ÞJ<øQ‹¨Ö² +‚ŠŠ6qiÔÆÆ
yÿ©JŠTª¨-Æ?uúØá[î·Ý+PIùé,}°î"ùFBŽaÑ_øL#®ëA?g_4†€{¥è1“‚BŸ~¡Æð*Ì®›Ýž;®àT†C`ŒC…=ÆC{®:†6ñ¦™fÞ¶èåIx `'Øø0Õ«cçÆXÉ«]1©‚B4jï#åSë%ˆJX#†~sŸÌ8Õ*ígorÀ-SH¥Sþ•agÔÊ@¦ð׈27P0 +Ÿè![A‹ÉíTלhNϼöÁò0íãÉ%«YKáÓý¢WøÃÂÓçe>ÿŸVÍpÇÂ,ª>9†£Ðcˆ†°š(öAð#.·ÊñB µ +Š¤¾_À ¡Î|$Æ“\
tã}“ß30 +&7¤H ~šá攟oó{ÚóïÉfã!@/BŠ¨àTl\WŽ¿e^¬§OEœÎ1—Ed +ý"éx©U:ÛÏëNým:máî1Ž²R‚Íɤ#P†&uGɱ³3Ÿ¡u +¦ÈÎsúçÑd¦V7º=.OFÉISËj +R¢ð4Èé˜Óób*ÝÍŠ½@ÍIâcTK^«¹aÞ--Aç8ÕÕ®„vSc2µòÁÙ„Í,ÜÉRù!Tj¦£ÄJ&#i‚1ß ÅYŸ«]䇶÷ ozÍŒû Æ;UNïV>–¢*…€¾A<άéC´oP¦@õ½ÿÏOgéƒÍȪìF`‘k”H2ÓH ¦ +†tNn˜êٖئPð×)vó.¹<K„²øÍP¿4ÄEԌ̥‘Ï
E¹ÝyÁ=Ñ¥I7»ÅÙ¤›J
Sn—Áò;]”ÚARµ?}|Œ…fÞ_\Pq#Õxnûtå׊•Z3"ÝîÆüÂàλÀËßjâZ¤9b
Ñ! 4·“9óKòß8ð¬Åa.'^VMð·Ä7çHLáÔ¡ZYƒ7î܉+¹ÞüNµ@See[@·BSyl +1%æF‡˜oBc…ð=Ötv_È]À\ +·ô˜ú_€ +H‰¬W{Kþû!‚µË +»HÚhÑ`
RJ.uùENm‰åûŸ™ÙÛ̘ÙKäŸ9NèóÞŸ÷y/ºR}ÙÎNê©›â×~)¯ÔÖf]K_öN*ùé‡R-rj®x[p¿ bîeÙ@O>¢_4ófW©œ5V•c<Tª¥>ü_ãO±z3«¨OÉÛoηÞښ%Eð¤’jk>nØ +jwýáfÇmwØâq7‹÷È +°7i0'GÑ“êB€yã3°˜¾äŒ¡þ0‰ùú…
!ˆ…SÕÑ1cè4Údƒ†Í˱8‡cH¡¡p"!…cA8Ç!DqÆBAÄq@k;
[zó«gïY`\(AÄÀÀ_^ÀøõIº¯ã“£ÅNý'¸ìRF5—ko¯Ÿp>#øð暲祀_Ñ!èë±ýÖþñÁ÷µŽ;/‡Pà¬ÿ8`Å5¬øÒ¹ö¿ë$í¼<;ÙÎ÷Ù1LeñÁ<ÖÍ°P+pÞÁ›Võ)œÜ‡D¥z(ÃDÅÑo+%÷²VÊNu×`*Õ²(¤Ø«H¾vwÑÆX+|¦f£ÜÍÀ'ÇœhØpï{cX’3cX’ +ÁCjÃŒÇ~cˆË +ÜXU#~7ä•®Ùÿ£ÆÜèד”gÄ#'¸w–ÇŒ>%“qϨ)}Jn]£ÂèÙKJ®ÞÿaD˜àG<VÒh¬9ÏrªÍÎ×Çèy\,~oÌQ[‘ žú5ç|£F?~Ç2*ˆ¨•Ä›ßÝ9;ÁÅÉ€oôó÷ΈoTׇMdÔÙÈÀl~Ÿq?Y¿ÜîÓåY}Îï +u•û;4ûŽíYºtQ)wº·&AÌ“"-:OÊ
äd|yÖ½êœEÇ=ŸÈ“$õ,yó;¦aôn¦¯Òp»`—7¸ŽPºy¦RBÏÀRúÃªÉ õy}]‚Ìwª¾¥œ"]ŠTþiÃÞ{½¤)ˆÜ„ÒºþJ¸t½çº$ˆÌ<¥/:3OÔfY:[ÃNÝÆ>$Oko¥;Õ§—:ð“ü0nÿùºdeI×OÆh}L|ù5ýÑ4Øçc´øHÝ͘—ÐI'9"À%Aôsja~L +JY`væí0Ò‚P!ó¦ú$Íu¿>Ç0M¥²º¸ò©Át/Ù–=W2§œó&Í0œBÀÇÎNq;Eþ;ÇP]€ÃÏ=û<Ï®gð¼çyÓ×2C-ã>÷NÆæ±á"nˆS±øí
p—WŸ·Ñõè1F¨Æ\ÒÿÆò4Õ5n³/ž" Yß'ƒ3z© Èuuq”,gQ.ÁŒNåkwmÎRTã„KqÏ%”1Ü)¯x!%Èç*á¿´Qý@…¨`µÔïS?;”,u9Ÿ?¦ÔåërDìý£ÀÌÕÏ~Á‹/ŒÚ*ÇeìY‹M>(cÏ%ùîÃ2F1Ú‘».>pÀnÓ²Ô¡±|m<9%õaëcŽY€ü´wve fîx +ù¡Ë ¦K0–§òQ„ªK.¸wå»óTá¶÷ýœ +.A³:ç:e§è¶É+7{xåþm£+×êä0w.ïÊm£;ÈçÊCƒôX*‰f‡y"TµN‚ÒM›ß‰ÇÎX!QÊ&qZpÇÐ!Ñ}¾Ø†~]S¡y +Ö£…€ÐdÿЬgÙƒ^;Ì.ˆY6zƒ£JZQ±»Ôœœ^1FµjïÉEpØ9è1:IÔ•ð®<œ¶Bââ=1‡i±9dŸÄÄÝ™UøÙ¡f–ÓÉptYºÀ•ìèߪ?v*)Ø;´`§
8¤à¨qžd/T‡JüÈfØt0〞±;\í»#J}‰[I{¿x? ƒÐJrôÐ`Á‘¢; C9Žˆ•»_Âw(¬ùh) köéj©ÏÒÛØ¿9ƒ·Ô?Ñæ ©…|°”Ò;sbpÑê@lÉW½0;38;œé-f„¶„Ië_ô7¸êŽ]tu´Å²ÑjyXÉñRY]\q+i1Œ—zÆZæƒQº•Ý§.«Ç ØᾋÖc0ÛÞè½»Çཛr]aÐc¾8ZºöÚ<† +Š FZz|oÜ d¡¡q‚¸Ûil›n…”Eð#NØh`¤Ô”@Ódd´÷°[REyë;9a/5UßyP˜‚®ð X>‚Ìbwñã©|]¦C¥> áv²3•P¯¥ +Õ:èÀ/i!,Næo@,Îé‡DÅû‹‚“ã_¹/k¥ìôNBìË
9†y¼ð™šlo×r7BɃX€öJÓcþPÿ1t‡p„†ÐVJïÃÉ&„œÄpcÀ¢Œ!5„î-æ€?† Ûôµø5^â®@ž +Œ…óãP²…“·ÅqTîRÒž+ì†`Ú`¼f©úI墕xµ§Îø‡Æ‰î39Ó}'É©Ìn/-ÆL`T›ÇÆûè2‡ÓcóØ4|m„‘9 + —1õX-6‰î
Å–§$ßáC<kWœ›¾Û@Þy¨ðV1&*;f%ïþ›ºÜ
s¹ßñR&äžRcŒ½!t8ù½cX’U.y2€ÚbÄîÆS9Ýú\[¸`¦ª<™ ÌÕÅ•/×Hÿ³^ké;Mô +¼ˆPt¥JïÒ ü¥&Àý¿³› +Jñçû%Ov7™Ý9{fæ̱1òܽt¨8™)]DL%z +Cµ{=+
»—ú3k*0Ê…ŠÌ';sâ\
8Jð¸eŠ®é±oÆr„뜱À-bJÕ0š±šÛ}ÎXðc7i>Ùµ¹®WMûõL7™«NLb猉Oiw©äý\,êâ‡C
ä›qµ8¨uŸù¡<ô.i´ç\uË1E_Ã’ +b¹ù®qR+avêg΄³j–<ÅS
am„Hùþ„M:Ç +îœXfOÒ0íÕLÌh·þÆ‘W>¹_ÃðÞ‹¸!á¶0Œúp†±»¡Šõ˜HÑúY&›á+!0›g©´ÏyÈ’ùBó¹ç«Ìd!?°LìÞƒŠ÷ÆyS\8õߘá`!JYÆŽTôΩ/¥üæŸìµâúB1GøóI_x挅¡[.ê5çÌQÝÏ¥|–%´·f'QHxÁÓ…|öðo»/H€¹‡‡B¼EÀ°–0màqsYúÄËe³$æXz²`å¹€ùØÕž@9àƒ
dÈ:µ6ë«=ûSyYðo“¢böˆR°½b™nÙ„åÝÜåàöüifq=~®Ýl$#~Y¨«;ש[¥®oLü +ߺÚ$—Ò~4çÇHp¹í#s¢½°Ø2bÍe)<*-thÑc¼vp%V>¡Â«D™/£tæÙ™-À˜b +Ï9ÅjºÎNë4|¬PÖâPEŽÄ_,& +}lbk¼H 6öHVµ@0|DŽ¸º³Ã\è j+W/Z&šÄ2‘gÓDý»‰Ã‘‰¼+o
ñå¤â +§hàP•‡ôClÊSèÆswNôγÀZß‹Œê¢¢¦–¤{ä
ÅáuFˆw]XDy]S€‘äM1‡Ý¾ÎäJsHô¼!EàÃS‘ð +.9;"ÐB«+u!¼lUÊEŽz/IO û‡oà¶}µ°/T¶Å|ªmðy<d¼¿4/9éUÖãœ)ó¨ð乂ܦŸÆĽâÅQ©ƒÐWIá‘3Að¤zÓ¡œÆªEÙ€`h…€ÿ¬ô@ÁZ@€óXAØÇä³ hŒ#U¡¿äB&¢$Z㘶&xßn6¹ß!6LF…@Ivû?ñ +Z ¬ejb,øÃû™±À€/GÍÄYrI¹QõZçZ¤¤\õY>Å©±@c É;,Æ‘Ëû³Zâ0\>Þ@úնôI!`ê*NÜÄqÿ¨]·¯‚ù”ä&þ(êJêI¼ÂýK]3;©·°YxØ#vtM´¸ŠS½K_DTÓï‰'Âh—°oîÉ%ýé}ªM>ÊéRxÅ8î1 ¾L]>’Jþõ*ÛJ^i¢OÀ; @ÈÌ' s€€‚L¢L2Dâ2³Öõ?û©îŒxÔOåÜdu§’êꪽkXí¤Œ<~´ð0€m©r)ù
éó|¢±YMÙóÑ}ï«÷ýØS®}ð¿û³n%Ø(šˆ÷‡QÖÄPo$Yº‘ñÅ=¤qõBæÜË];P,4m9ìw [»§ÐJ° +‚‚NlæcÚ-€ Â{Hu›ð– +˜,‚, +·dšöJtRxŒ«ó²¯•šù^Ú–Šf‘]ßlˆðókÙCÌKáñl@„ÅR›•wa´í%*Z“òNò7ññr¦>I[ü@¸ÿо‚¾ÍŠLz÷ŽÝ,·‹–ã“5å!‹wy½•åvOI®œë_ú¥Ûv–Ûó+\‰àŸ†b“}mÞ´;?7Lz]+ó¦ÕÔá}€ ’×2á‚·`ç¼ +CÇ¥½ÂOO·^o°Ð̽,þ[òÇßö<b9¼E, +™«W—DʤOpà -cn¡ˆIØÛ«²©â±“Ø›ìŠØX½nìãðÏ)Gà¾A:ŸS¿’² +ä'G$æûŒ%ªpŽ@ò_<å,Á;ªÌçûdU cœ‚E®³Õ +‹r?
œ2ˆ°¤¡WèÔ–€·R¦CÀ¶‘utáòJ£„)NÅ¡žÇ@ã^RÄu;1aêChuå´0°ñöƒÕÒFp¸Æ@âjí9ÊÉ7Œ«LÎìT‹jÄ>tb‚ÁŽ2z›&‰§e°SJåW›|AÜ]YÙËNlVvCÀn"ã`áRq4~¤Mr?Ð(ÓÞ‚¥‘ºŒ5ã1µ”
ê7…Ê,E˜lêu»ŠG5ZŒ}&¼zSÙ¾úÔ
/Á%œz¾„m‡3a¯uyA«V(X
³Òh#1¯ˆ+m*¡Œn¬g2Va†vÞÂ#àôdêy—3ÿžxk5rЦ‰ÁL5mZ3ŸI.ÁˆÆpÜ´NjßÅôJ\J„VøYp XÙ‹\¸ÓŒþžfP¶„Dƒ²I.Ñ#cäšðf]ÿ8ÍØyì›ÚCþ²Dÿ¨@#ŒýªDÿ¨@{È_–èhœ“¿Y¢1,ä0Œ\r»åš4½¦’,ä¶t†šxÜg9xëÊv›â^1]qÑãuo”jîjN!$åëB“Ÿ‘Ë|¼eÜå+HfÚX‡4TT†aöXÅsº3¦‹Öºë@~Lauçƒw±ƒQã}ñÒ5/¢w|1Y7xHôyóß*G*ʲ›*r;hÕkT±ðµé1ðTfЊµßqøôY°Ô†Ûé}hk¤(ŽýwS)¾M&‰ àÜ[Ü&)sBš¿5„¼)« Ø£V$„:SÃ'2uo4-Èx&yñÖBœ@ÜÍøÁÅ¢sírfŽ—<u…ï‡#pÏz_;`?S‚CYÜËC€í¡B™Á º$mxL:¯Ïy.Õ= W +èP¯yèC½†(qü^£xHz°•4Ë Áq¥ôg#Ë €n·äí‚‘ÛâSÓvAßqÜÙãvÂ>½ù›¦ÉkÇÒ`!Ä@ŠÒX÷¡à„13$ßpëЧK¬¸¢á‚m¾7øÀJÓ ÙƒÅá8wƒ€í„î8PoW¶‡ï€„0ö½õ)XDS‡›Oøž
ãí× +Œ¸|©BÛF)õù`³ò—Ñh×ßÀ4dK—Šw˜nŒ?¡Åw]ÙÐwN¶üô´ß¥"£lVG*VÄßm0\ ÑÿØŠ×RÑ{sTðåZïÁý]ohã·ç +<_º/·Þa¬ñv"ÆÚË“1¦ïO´aAœŒ±ÛåÉë~”zÿ@ÛÚû"ý¯®ñümW~Š±ùá´hôÆ.ºûÈ_ªÐ~–ùP{¯BßžÞóî¤L}T½ù/€í!T,'^cK|Ę_¾ƒ÷—6Ø}rßçû?ÅÝÐQAoŸÛn4íóàªÈ_yBÓ7§Ø€²¥ö|"¨´ùîÔl©-÷Mu_Ö!mspõÉ?¢øÚœ0÷¾ê»eâ–×÷Ùîñæ!ñ˜æšä¦þ·!WaâëEñˆ£âOsôŒwhcCºˆírÐ^ÁÉ¥ÃͶ´3ÛÂ]`ºÅÃnØvµeÖþ‘cŠ·Ý2²f(en×ykþ”Cö4yÿn\uxbõÎÌêˆÄ`¦š¶%Ö%¸?Œ²– Ê;÷ñj‚Âã“s2Š‹šeœŸm}^Š8p`°¨V9þ2J¢ßê<ôÉQFòÇß +a~9ù‡ÌªÝmã‚OÀw +`ΖËo¦@YN\×J]´qá¢
.çø¢¸‰O©,×õŸ>{‡w¢N غî-g?8Tééù .|4®EµAÖè%g…9‡H…ß~˜¾ÿ<¹Ù®'N¼r×ç/³oÉßéñߣ9¿ÀÂOØà÷E?9ñ?'¸_†i<
hóÍ.½Ó³ì„³ûòÓýßœ«Ésýª»yÛþ»:Y|x¸k;üf¬€üÚ®¾fW·óÛnÖ<µKÁrø(|òÿ$ë(µs0\Fg×â ÷•|(g¨êo'ËÕÉí‡Õí¢k–OòE†®ÞÌ.ÏNä9øÖðýN€ªá¥C‰®Á°JNðwõ(ij<]EAÅà½Täƒ
>åg5¾BLÁŒX¹3¢’eŽãÃU#Ô:D}‚ñ#þô(|#ÿx§äMÞð‘($£dO*¦(ï3‘4¾-‚ÍÖŒÑÛ€&´Œdö‡m('
y¯Ø(Q=¹ä +H‰ÌWÛnÜÈýþó ÀzÐ,»É¾Pðê8XÛ‚¤Ý 0‚¡df©á€3ãóõ9UÍÛHZï0óh(ª›S§»ºêTéìOW7ɦûX_„«À÷Îβ¾®]éó¨ÿ¦mûCOC¯®Ï}¼”¼±ëáÅŸë~ßtÛKžâÉ’¾ýê]s÷©k«½ÿ·æðKwî¿:ÇämshkLïU¿¾wmu¨W»ÍýùÈ
c9Æ.}ûƒ?±/‚ËÐøÉ[z¡Ú~®öûæ?˜:´!ÆÒî¸Ý4Û‡´û7}é‹Lüµ¹®÷§³+‹8öåJØ8R¾0+HC¿•¾“wwÇÇz{¸ê»»z¿Ïº¶ë÷—~ö¥Úúo«ÌTþ?ê¶í~õÓ¶ºûŃ+ÔºlÚ»~¬X,ù y#ä:=6íæÝññc
„ÚÐp¸f“?íaf陆ÍúÍ#FnêÃk!ùñúuº\¯>\×
Ÿ \õÏóÁlßí«þ—½{MÀm±›ì< WêÉmx[à7.d¬1sZú +…{¨ñ½ÙAõç¦þõÒ×mkç…¤?ܸ“‰¢ pw7s}lëþ§msÀê4
ÅÎ
o»MÝâýéûe[=ìÇŠùî^¸ú‡ú€CíÚãcÎŽpóÕ—šÎJ8‚÷»z{ÛýÌk¼PÖW!vë‹P¾Ö‡±¾3•ïÎ*Ù £iáÙÎé}ß<4ÛËaafýºo6óÙ9ÿ°á•]|âñã–‰õvX6¢&{»ˆ‚`õöœÅv“uäö=<Ž‹Èh»77=ó¾~ܹõóßkœÐUßlɦ÷Žgìúª=bêußwo¶÷÷Êe;VÓ×¾›DÂòŸãïUÕìοúí¼¾GÌ_w£ÅösÝv»…Ùi¤Únü¿Wýî÷MßöÕÖï¿ÿø¯úî + „@ÄÐB ƒ»@c#F +d@Î(€R”´"O²IWDhÀHíý…¶12ŠIÁ +¼zâž™'^bUàµ*f^b-˜•8C´ÖF[ëDg:×….qÆ„&2ÚcMl“™Ü¦ÄÉˉ¬²ÚkmbS›ÙÜ–‡Ø¾r§ñ¯ÿ¿AÞFIWäŒH 3,`P@ÄÉ 8Fl’7ºr c¤@Ä¢P +…GÒÀâ°@§“ƒ@)þ¨A,œ`8ăh9¤ŒŒî~È((—àCi +)Š…¦¤'ª"YW+˨-³º8o).1É‹GS^, 18˜G”Q¤âÀJ„chv-Ž6Ág8ë")Q¦" òH|¡‘ H2K‘–Y€à‘ðg„`ÒЖd)oœÄHœ 3–'ŒŠCˆ8GÆrà”ÄÉ„'¤žc=á%Ö˜ƒ:Axçôù&p¾²Ñ"3SÄ‘—”±Ð‰³‡¤{Hi‹ÔN9ÕKhN-2P(p@zž]£N‹È ᢘ[€e0–þœ+>W_åוû¹E>åâ^pQw•\qØEé-‡èǨ÷8äÓ¡ø-Kß\ô(<K^¢DÁc¥ ÙÒƒl
ÂEâýL·fõõc© “ry™dd’…v™çÚÅ¡²Ô(Š7HÊBTNde),NZh[eúº6½¨NÏÅÉ;U'$§D’â„QÊ +80Cú&œÈ)Ú!Ú¡”¹U!C&%Ø„E[£ÑfDZ‰Æ#€8Ò‘gdYsHƒBœžˆ(µPok`fîù)÷Sö§üÓ +hÞ°‚—ÖðÒ*°ÄW‚8#‰Õ,¹tIb@’ì!23DhÂm¢¥ž±!‚%‚=@§ºœ#xRÄy,ìRç‡Ð¤~Ì[Wî ¬Êj¼4Ã0¨e‹¹ms
#5ohß<*ÇÔÝ£œº¸xÔ[ö*Â׉H>Ȉ\‰‚‹
—w;IJΖ|hx /‚m‚‡ÑjîOÔÔ—„C_ ˜{¦¯]ÔM¹ÊN“滀LhVRnP”kQ¼±CÁ‚2,•ÒZ"sNâ)ìþ {jt—mn48‡\C…ˆÊ!*@\| g’ËÎØÑ¢âćl¢rC²³è‚ïäRϼ/%ÖËyõ,«^Ì)ïiR=Ï)æ‚ö7ÃQ;Çånc·c亸M=ºü¿Åi—ó àî•?æåÛ,ÿk5B/0…ùðïžC8A.À—Ç÷E b¾VÅœN¼`E%+´>È7hpÐ4‚+¾Àc̾Àʬ/1ª}%V(m†CxXH²z㿱ÕtuâȤà1‰8À4ŽgƒÂЀàz@Œ½-ˆùÄlˆ7!ôóZ¿¹e^o( MäT+Ü~C©ÇÄ +.$¢1¦q$ÄäÀ7v !›WùìñÚ"¤ˆ¥·Ð3Šè¿ì—[¯Å…Aÿ‡y‰/V_gº/ÓsAH<ÁÑÛ'Ú"ÇHÉ>ÿÿ¬ªêž‹·
1Eö2qìvOתUßJ´hµ§GFh%Y +,¥Ü³¬Ø«,Ù«l(kÅ`) ö“ÀA^è¡Ba/`@h8¡ ] + "Ð|ÜTqó¨(¹˜i†ô"N¹ÚB棗ä8ÇýN]žø8Å%ÆÁUÉpâ„ì‚ÅÿÄùÈó$¸ÕØFã:¾ì ~ìL¯z>uCÈ1ÀÔQ´#é”ýHâŽQ¥i<+[|³z§áZý³þG=RÛiñÑ^è/Ôä¼"+°yîE¶ž;PúOzúΫmûï²Mý\Íá[dXËPP
¦ Ô˜ÑT×
‘Q@‡áÂpû¬d\Ù¸Òq_¬r`Ç#F&ÃÔŒÈ$«?¡dñQ½cdú–G€À1µcÞÙýl&X>µÑ q +ôql'¡bfø¨ä4½ð3´?¨ fd™‚Êë +¢I_:>%êG]úq.ÀS{2-š<pϺrÁªOTlǤ-ÑU™Åü[óõYL‡Svxü¦’¡¿õ2<2 +£â)AÆø4o]úE˜•¯Ê—+qžéG¼þ豧;#rHØeÆ^é53˜Ô°‚ëa‹-gˆçBæ€iâ#°Ï™¨uæ)N´=·ŠY"Ò‚ïâIq<ø”LòEŽ;1®ym«Ã½ +«=k°(PU–TÆI,ÊsɈ‚gF{>F<ÞŒãÝHÚ"H 4Nm†Zih«ô•ø”@9>Da¸q¦s–nP(<'n‚5¡M¸±ÉqãƒN±±iÚ&蟤_«Won¸bþ€ýYßÁøV'O_1ð0zG\7°öØÒ/†¨1Cpƒ‡Öø–,çâÁ£™›ÎhÚ¯;ýÖæ=8]âw ú2cïvÙˆ±C¶ÑÂyyfY ¸ä•ÖÍÞrQÞåò5è:å·š+Wþ‰Ÿ_–ÀÉ¢²–ôäÀ—u·Yn¿³Ö[Ñ×å£ýRA£XtãtˆÑÖ§4‡ÖØÔw0´—û»Á¢¥Ê)is×ãf×YªIh°¢5zÖþvAÝèmi?s%ì'êUÿ}x3¿{ÿðøt<=ËùøöéTßú¦ùj~x<6Ï¿7ùÝï¿}ÎþŽÅl“ÙÀÖ€)ܺ¶‰n‚·ô‘f¤ª;¡Šq¯7ƒ‘UšºJ#«4u•õyê—×¼wÁ_nµ ñ³{YÉÛ,÷)åüáét|xßÔwPÐówÖ’že(ÏC»f¨5EQ†2g*•µP˜@j™P‰y6/óI¦S(ói?ì.o-ƒ‰R–bBôL‡‘©ð\F/
^ºi¸ÓùÜ2j+êeUÆì¥ø²…å¡ÂòËøRâk‰®ªó&»sí²kI¯ŒÒÓ5!u*Ñ@þ$ÀΊ)[®±\_Ä{DÞšéÛ0[¦pÇ$î™Æƒ +½e¡‘—,²§‘ZïD¢–¢SÙ…GÆ’ÌRõÀ™@*Ÿwðeð* +PêšþL%ÆÜÚé` ²j—›V1\“Cë¡*‚õP¡.Jâ’(ªX«>¾²¹TvZºwÛ¿»VK]?ž2¥®WHSíÚ9mÚ™*ë–~¾^×3¤V¢.u¸ZßÚç†ë[*¬–f—vï¯Ö˜ª\ë\+ݽ¬´Zš-÷jۊךKÕÛZû}eoôúÜƹ5è¹:«>wÓEmÌçÚˆu’2E—¢JÒ¤(²¦Râ X†w<ô'êYyª#Í%è&ˆ)Ó#BV#ä„Lu(o†pfÈÅC#0ỸGñ#J>¢¾ÕÐM®œÐkÎÛÂ)ú< Xjt•]Wvž‘ G$ÉOXÄM‡Øif=Í¢#"i†Ï'DÔZÕLzœ‘UGÛŒi€(hµC¸£ÝhaÍ9uÆa2Œ"á—;4K<vb±ç<åûËØeÂ^;ì8`ß»7*k— £f€ÝÐDŠe‹‡ôxT‹Öö„Ÿ øêèƒ=áå“4:gâpd=™gD‹µè7¾³‘àzF?ŽèÌÉ'ôj‡®
è_‡>6F_O(Æ€’ô赈æoa¥² +Óa†KŒð‹ŒJèdÄ1x‰‡§Xx‹ö3|f„ßdtZBý;¨ @Š ±¦Ý…Œ0¬¬ —Kè ž +vº.CôUèÚ£ãŸÛ4oÿíNÿÙÿK¤¯æ8=¶ÄÔg)R§J².Ø$“o|©S„Mâ[8 ‹<"·åñ(Fæ^á§Eä+V€{|²R1Ð÷hÎqu;iòŽ\D +=%»ß ûKRã‹yCú5Íë½vËIç6ÔvÕ]eWîRØ¥¡H…!ÉLnîl†ô¬§uhá?õ&IQ"2£(C‰ŠS€üä(;H·•ZÐ=¹SZ…JËPj +ÍCN5Û¤ëZŒaÂuµ(ÕXCõÕU+y¬eÁȦÒp²”\R‰^l1Eç£m¹ä¬rÊ1ûì²Í&ù”˜&§”BrÉ‚CÖ¸ ðÒ6€£‰ïþZ¨!P~pÁø³Ô”/™Á{$wíVLXu>?¬ÓBÛ¶Úb£äd«ñÐ'$âl‚qÆ Ñ-ºé¢ñ¯Èå8=Rø“Ëòðp~‡¦×¤?Ú›ª¯¨œ¥Æ—|§t§ø†Â&ÅcsßDf׆زÊÖíSÉî`ËóIÃv\£*Õ°<+©(SXøcŸ”‹T€ú>°sÒúÞRX¾ðíŒ]±ÊçÃõÅ.'l
{˜—ŠË¿ÚŒ=LǦ±(±Eºgq %‚µÒ²±êX¸‰÷NðA±Ž¢d)õ-·ÀÍ£K²¡Kܬø7WøŒl4pHö‚u*aApI*Q0¼!ÏmÌüI–†uÖµ +YŸÜ>~ü£œ‘Uªe(®‰¬a¥5ÁúB–¶ÚÀMK] +7¬d°°1Ø°0矫πï’=J~\j$óß(¦ü‡R‡oWˆÓ+jg©ñ¥Õ]ùNé¤pÒÎTj ÇUÆ^›ÞdÖ]×’u/Í4„òKD–Ô¦L¥¡8¨çÆ4P1Tˆ*êzØàÎ-mW¥Ê®+ºt|¹õ€`ìnif'šû¦^;ñÞöü€baOúðÚ½.¿BêÍÓ÷oå[⛬nÀü,ÿªÂCaí(. «ÒòÊIõ ±\?¦]ó®e׺iŸ‹Ù¡Í{a +»0ÔÝes›î=݇*ÕX9‰ºq-¬ª NamË/ÇBÌÓ.#K´D[Ýl·±®›X剃¯RýIÈ[{èY9FÅš2³Ê¬¬?'Ö¤Ë(_Í(v½
&e²/¾‚jØfö RžˆAo\ð*„ +·5˜ö´Ç°#*úV}o¹ï#ÿ}¨ë2úVq·ÖçžO£?™Î¨.™E$ˆ¥÷2rê%ä˜1Œw|àõÅáe¬%Ö½Rñ.c&ŠÆØŒvÂØ+f!aFfÆa†LáÖËóÈƸ€·;:ëß_ã‹áë}†{òõ°wå•7&a‰Z\pkÒj*.ÊÒ±k¬0€¯{×è³ÏÚÀº—ds–@מ|0PïÍ;‡ó„ù°e„Ç–Ä2ÂfZšINHrDÞ_=yñ^¼ŒO^»,¬ÅÂȲÙ6;Ù™df¹„"<¢ªñ*¯$¡„H¨Lÿ}Oð‰]Rz¹|a×{gWLá™é»KRøľ§q¦rÍTÞZÇíZ'jE5ŠÃžìßÒ¡DŒãWo·EcܯämÍy®M{®5ëö;Ü·½ÇDÇndÛ_?íés“Ùï°êúuÿ<ßâܸ]éGG6á·:u;<P| 5žSO[¾ÓkÇ!E„;êáe¿^jÿZž#õ¬@ÿw™¹vcò4&ÉÙƴИ<3bF>¬’aKÆ$õC²ÀkØÒB[r´%)‡š‚--Ö¤¼è%ŠT#ëÙ/›¹u# +?A½Co$›IQ¢x#¶¨ ë «,ŒØ¸¸‹xq“÷GNU‘¥VÏØãÎ…1L7[?¥a}<G ¤@%aD
@QÁÐ>Bu(G‹¶ò·ŠYiíJÀ2͆eÊv%Õà`¨I’ ð*z #¦%4L\'X«Ä +‹`ár´P¸$)C$mpÞ‘8&dþãäQ´p™S4ú)i¤¨C.qÑ“DH/¥—˜2äÏq%HhÑoæåcø»lB
Áë›h…ðS¾¥]L²ê®N¤íòËÕDë8#m?õ„:ë>¢þt¯,3tï@£þF2 nÎË/?&ªÍö><¹~¸ÃéÍtØ‚É5hš1S<›õ>ƒ X‚V`Ég¿ÄXZÄûÛêü1!9j€’”à¥è“8%“}Ò˜=Ò’ý#Ég[TìÐ*4by’å7ÈJÅ£^2Š`Ä8ÚP¤É)JjRþˆ/ö€<$ș哳L ¸aظ‚š¹¯”™„2”aªDPå*dÁ_¡ +&]ž6³dÄß$ì35b&ÅU¨"šL¨0²÷µ¼ù¹¸¸Ü´´&æë„o…Þ$½ÏWÝâUâZ‰r3eª-.¶¶Ú*—ÛºwÛÑÍ[G¢z‹æ¢Ån*Òó踻Ø.(¿ÉÓÜ^É¢›vþý¢CGéø6_ßáƒôf:ÜÀôÀí[:´YNÔ ½pqà@&y’ùÈ•¿û7‰–VÂ¥XÄKõqW¦z9…fp ³MGç3<›°™pË7{ T'{»âî\
œÅám“ã¦u lóØÑ,ÇËÔ¸<M5u·píDýXÂÎÙì1e³Ùi™µL[毼mÝ^Ìb¿Ç‚ß#ð™À›Zã×W)‘7Ma#üŪb[¥)ʲî/©»‘¿/Ê+ÄQÃkEµ#zTGo®CÓº® 5¯#*¥_ýêV“Ö´`)˜1¥ªÌ§vÉ,ë²`Ù1Ùê¯_:^,¯¼‚,²PóÒ
ÝËjo9À,0&‰ƒÄ‡‰(9FÜG”Ä3bþ¨ á¨d$:qŠ„Z˜PuÈuÈùË¡>͈!KD»r°AsxãÂPâ!;ø).|à +0l@!}–ZoÌ^r"Àš°S9F‚1Löp<%ÙF1p¾ˆ¡„øÙ“ÊÃúu •³X€l*i5g,v=Z Ê + +£b{*‰ÂJ¢« h|C-„2‚*®Ù¥0}5ðÙГ²ÇˆÙJ(t +q”7m”5™3”1S £ˆiÙ’¹Ò0¥ðd#Ifãƒ*;6b´œP:´@Ø—þ±²k•Ë)T
UÕ‘íìJ×÷¦RûÍìeÖ¥3‘Yîêú‚N"ï6ókEwM¯½öÂ7ß!Àä/>ÅßÉ<l}®¡úÃ.ø'öƒ?Ý4\ÌSŸ,£5Þ9Þód;4œG4Ìä¹ÞLþÂgÙá2\zsAp¯§ŸÜkü7¡h¸àÂÞâ‚q*÷:9RÎzìó¥óO ‚ß]w~Æþú€^{7\œyêÜN®?žQ¯AÂì/Úvã̸Їùoý§ôõó_ÿåóo_¾þGwÄ/¿þöµìúËåOÿøúõ—}ù|ù5ïºX7ü™Îw£ëî?ãü‘°ŠxYEºìàl]M6?©7ìso^fd©¡¾ÄË®ÊídOdî‹îàEKY/½d‰^ïŸXd±”OH3u¬ã’9øsYÒ²äï$mý†;H†´ÁMH××´mªV9‡žý¾ý1ˆî¥%>ÜÇ܉Q)¥+]—ÒëÄ5h-[’_©îÙŽ¬´>x»Û¡?{œ¸÷8¸8nE¸õ8ìrœº˜œ“£6‡Žf.žMžàw4QðRmXp=Iœ*fÍÆ…"Úš{Éð1ñ¦§Ç¼dNO˜å3~ÁÜÇËjÁImx™æ.åþñ¬¸/ÆPÆÅc\iXuÐ2|}
c>+WÍn(·ÛXD[s/¾8 2/ÅÕøT,˶m Ì7Ú&51nSxFãó¢»xøú¦ÌXµ‹çØ›š£#jÜÓf¬N}×N·^íDt÷@]µ?*¬Ì$'°ó2Ÿz¡¢þ·Ç:³ÊÜJynÙü’u†ùaP(t‡+cÇ0Œ@€BªÂ/¦Y¾MºB¾…ÂÆ’}îo-K8!Åœv'ðˆ©ÔRj’.¥¸0ùeÆ;™ß<{gÔöU¾Ây;<} +.¬påXÅÁŠÌ˜ÀŽ+¢8ùæÔs›yrâ‘•(ÇéRcFÖ–4Žiã$oœ%·GsëÞÏLx™ÛÛ|—ù¿Í%¶[ˆSÇo¬÷ã…b˜÷7‚éG6B¶Ç›`Ä¿;"{b²Ðú™FÇ'ŒR›¶ gÂÞ8;ŽÜmgÃàÙ«YX6×so˜
½Í½¹î ¬¹×mtìUÇùcÏû¸7÷ÃÆ-œ·ÀÆWãöÆ…÷sãÃè{‡?I‡ñT·gpkºÑÿr„·wkÙû]¢ÃŽp#Ýû\'»óiwáý¿¡+=¯áÀ®ù䤡&§á “tEÆvx»Ç®óE”ÝN®¶ŽÇ\þ<Ê‘yf“…úº<Vÿ÷¦;úŽ¾çäk|Y´û9¿¨é,Ò¯FáDÃúƒ|ÉW×È5²YÜÞüãZ•ª–"ªÏ[6¸è8CcV
Y<b'r"+R0ÃÐ>$Hä—ÄÛ$ +ó8"8ì¹9ÈÎvZ¡$BøÈ—ð6¬=ì:L~«ßAb +ou"IZ¡EÄHƒ˜¨ü„Ò¦„úM¨ÓÔA(´d¸w9Ÿ×¡(¬bê„Xú¥» L+#àIQÏô™ ÌõÌÚLTçhŽP46I:ƒ{xñÂ;#¤[@Ù`SOB5
ϘÀ± $ ˜Ž<õ‚E"†Qè僅ûbh)²‚ +Ždx Þ;|3N÷EÏ|îw8¿NtØñ_öËeÇmc‹¢_PÿÀIÉD¨÷#¸“z)È8È(Ã@7Ò'ÿ»ÏaQ¢(ÉéV·ƒÜkqÁnŠd’EÖbíru8ýyBû[.,bµ¾¿ÍÚ.¢Îc¢wŠ9Ãnpü‚+á„xBZ‘W”uAðtuau—<Ÿ%9ÿ¾Ü^!¼ñšƒ]ü{ÄÉÏô·ä¯À1BÌVÔ´3ú†Ã<ä +µB¯0ìc7ô1i…©X¾3ó”ŒbtÐÿÆ2Ô÷óh‰"SÈL ¹Ž{<‘O"b…™h2²?ÏíiAîBÎʱP¤‹
tõ7Èad2‹§D7èð”×ñDª”áð}FÊ +‰Î ÙY<6‹¢º ‰¯ ûQ²ì†, +‰Ð :ô]vD¥ŒÔXKpò¾Êª))X:tTDÚ̵ y6ˆxßdSȤ×ã^ê$×ÙÈ®ºF¶uèÒÀß•"XÌ{¸S³=ûŒ|Õ‡Ždy_¾û‚õíˆÍ†ö +ú%Äêǵ¯íå¬t¾hBÌs‚=ÁX&ˆ3ÿ¥A>Puг-™ùj–Åm€Ž™eÒl«ƒ§è†‹‘€n‰ +aÆÈ…ä¥h ƒo0žM5–¦ƒ½•@ѹ©‰µÖ‡‘~ùÁ[…Å(¶ÃR…‹¤êÖ9þvÍßÌ¢o³¸ÙÑš=LÞ
¬ØÌJ%‘îÛS³0+2±IŠE¨Ù€žÍ—Øx°ÝðÜl¸Ùm¤5(MŸ‘ËÈcd12˜f{‘¹2Y:!aYÈ*@V…D…WQãöfEÖ“êFÀMd¦-‘”î*°ëÈNÊñ»P“œä.„ÉONNJJÚñ«xøp¾£ü9ŽönÞÒÎiN[lwž¶Òq—ðx&ïvè ¡éöˆ¥=v™¸£îœ,Á€9i|a7ZÊÄ7Å£v”.Z;áØ”ÆhÚ†ç¥ÅŠ1A;G»,^Ã0i¬*’1L‡y—Z¸&||ò/îC~üùËÇÇÏOÏÍÊÓ§ÏÏ˦Ÿ¦~{~þøÇÓãôilš”Ž?ŠË›Q]ýˆJׄ«Røâà‹•ð™¥/5MhšÂ#¡™5xÔ±µã‘ƒqæó´^Ž¡³íäòOzüdFúhž—Gc‰¢'(8QZ:^?õ³öA¥ÑϼV +á¸aŸÛ·öÆÖó«rhéÈ¡Û–:ÂjîÐR›ü©Â…s¿²Âæü/¼ò·Üõ›_ÅtùULô*ºÍ«ø••™íkôÍ`¦ß—{Áïµà•‰ÜËok~©à;/÷‚ÿÆ‚”$÷ï¼ÜÞþ»ö3Úz lÈbŸ‘yâ +.&Â(,žÅ8YCn±l5,Æv:IÌ,Œ<‰éJt5ÊÓ±•!—D0{ÄÁ#QC%PD'@#!‘8ˆÄTE׆ЇӕRá.±@ —ìQ»°MbN0ŠƒNlÖYáâö©A)´„ä ›4‰EàR¨RŠ‘Ýbà
»tø¥„¿xö‹bÃt\tñÙ'XƳg4L³g×TW\vAÀ7Æ1NCË“mdïx묶 +ö¡»®¦À@Ƀ:†$\Ô`£‘‘‚€”HKZ+ æÆz**AQAyHŠÚ)šF“ñ%|‹ÒŠ¬-gSþeöîS»{Á{Á{Á{Á¦ )¬×÷å^ð{-ØÞ‚x[óKßwÙ‹ó +¤>‚‹.!†`¸ÇR¸Xƒø烈1²"LvI¢_B¦CÔœ Á³†&A÷œF
Níc@BMHª‰u©8Ä:ÄÙ˜2¢m¥‹Õˆ¼.‡sÎ%·Üñl5nЉâ‘ts)¥ÁWe««¡¦ZjÅGP¢Ûls-´ÔJk°–ꦻzê_ÉŽgb`Õ +³ÓÇòEü.Ô$'¹aò“““’’vü*>œï(Ž£½›7†´óAšÓÛ§tÜ%<³É»ï/4ݱ´Ç.wÔ¯“Å!Ë'/ìFK¹“¯•ž øp'¬$ílâsJ£¶“ƪò(Ãtè‚[ã¼¥‰‡ü‹ûПþòññóÓó_ó†òôéóó²é§é‡ßžŸ?þñô8}›&e~·¢°Ê#]‰Ä€ÂJBW9ˆê¸
«ôC‹íã)ûÇ‹š–&£ËxÛüxç&u'¿!)î I¿îí+Œ'ýÊÖ^ãI*ó†ó/n<¿ÚÁ!á-çn;¿|Ùßü–Ë˯¹¤÷ÜüSïùM¯íÊ‘7¶¾áqi³ÃW7R…Ͻªð¿÷º¸‹o‹£—Ž,WWfÎ_–oÔà?Ûwå{)X)Ë[È[Äù¦A:!~•pÀ‹½ßà6Ø
f¯7¨RÌ!¨ï,K;PäAb"AL žMcZN)@ÜÛsÅÖ*(ÌÉ/—܆aˆž@w¡þÐ>öýÔGÚµƒ(ºÈ®À@`XQHó4'U°-hY +í/yê\+T +ñB§eHU1^L¡;{OXÊ
°àrxÁij¡;ô;¹ßaað*ÎÐq„‘}º²s´ =·V!i@¦!¡'‹ïPw…¿ð{´ó&ÿ’Ì^`÷Ç]ÚaûãW˜?ÂþB¡Çé„JTHÄÉBÝfê©9˜´:bÉ"¢tK!Œ„(´p‘~™¨QB¹¿:yúcÉ.›TÝU‚# +$þá¬òoÔÙðYÃ]oî{ÄKèôòµ_U¹×æ©ïJ?¿É¿Ê-ydNüÒ³Ævk»U.©S‘3»ª¼ê¡çœ¶O7m¦bʦh:=¬ÒÚL§#¡ë:\ÌÎ;G‹½¸Á†––ŠÐšÙzÃØ Eä›ÇØ:ÒôÀÝáîÓßeK\-®†:¬¨³vLÞÌ昵ÆËèŵécØ=_†÷ùpxþÀõÓ|ßÌù9 +0 +H‰ì—I¯ä¶…ÿCmp6âL +SYÃD'%‹)fÉ®8ÜgˆšdMÂ&i¯â&y“À‡Ä!r–ùú”ºà“ µ½Å“æ+`݃!ü»ô}›üÙ +57Á¾ p†3DxCaoXà
šÝÁ×(µ±?(Üá©•Ö¦G\}èiïñ·ŸÝÒ[oÿê$¿Œ¸ì*¯R_ Ìå+ý +æûy‚ŠØŠÞq´&»ávø0áŠ~Y·<)“:i“N@kp0âç²B§aKì(dh`™4þØ +‹²ezîP/éWrê¢(Ä~*ØÝ\σpÕ/ú¹–7”[:‹|á0¤nÈYð‘ ²ìéÿŠ@6h¬ÿPØ" çó-°Àg0n%O€+,ðÅÎ`ÉA »F'Ý« oÀ%ÌíÓ—ü‹ø§·å¶<ys7»Üä²Ð¿‹O_®ò¯óÛÎŽ>>9¿èã/οRá)b»9ûßu~zþÆú{Òá‰úfð•EÊÃÆ/—§Î(eñfÑ!â(Þ,28:$U4’Þ(‚2t&7Þï0jð·&ï5Î,Wñ)ýÍ~iß¿þõ—¿þüíû¿ÇŽüí§Ÿ¿¯»þ|ûáß¿ÿø¯o_o?Í]7éÿ$îå"䯸©ŸE?n
÷>cḊya0?T_0_æMÆ +˜MóJcŽÉÚ1ç*&`ÂTô˜˜V`žª*1wæq¼ö˜ç_•’¨I‚d<dd¡.•%ô×0ù4 jñ«$á
²Èä°Ë©Å²ª°Æ.Xm+¤qÖcµY†Ó·BM +xÀzn”—Xòÿ³ˆˆÁ +d…± R4È©@× Ä#DX„ä"í‚dÓ ¸÷‰NùÅ È)4-š˜†††ôœtˆIÄ 9RzAÕ ×IèÅ<’ŠE¢ThBÙ%j‡I2HœZ îTB5
J/ðH\ @ÈÁ SË›6^Íû;oþž6¦n”ÁèÞFÔ¦…‚VŸu‰ýQÎ¥üôƒõïÖ> öà´ÄÖ´»¦`ýtj
¶æ`߈- <¾6×amÊ®=¸7ë{øÖhVä†: 'òuÄ£ôOÏ1î¤Ü¸¶˜0’ç€Á?pVÁ®“¬‰)NÛÑ€®nó°'B2d/]ÀȯȱȳÊH>3Ápì•‹eÙÅè÷Š½nÆ~Ö%â\gln°o\E†Ž¬ŽÌvÃë”T8”‘8€%6@X µi|﬘½å®85‘ÏðœY¾ÍSOîŠ?’¸nXTã*ʨXEõ:NH¢8e¶(ºÇMˆ¸)·«Ò]ĉÓÐXD,iuh2±žHF%¢X–g~àùžy–cNó4VÜïZît÷¸yv·]ÌÆMíìhÃìfËÖÉŽ>víbï=졃]ÛWñBÿj¯,g赇µ[›Ö>6÷µ“Õ³—õ³›Í3ðöu5Ç\7#.ÜÂé¶oÉväZ/f¬ÝBí%Òîí̳ŸOÌ¿ðPå̱Íî3êÂu»ÎÚ. 3íB½PÀ]XòŽk[.ø;b¾qìØÛ±‰yÏ’æ;9ÿ1/Xó³–MO×kz#o]4.¨·#._¿sGì?¼Š}ñp÷Û½Çü, úco;»ÛZ/íí½Á][ÜÑä? G€'ˆC¯KÖð¸ßQ9’ý—yîí‘g.Ù<™<Y|a{—|cÛz&K‡ÀÈÍÉÉ#\¼ât%»·cç†k³ck¸5{u&—f‡6pçÀ¾Ü x?&7ÎäÁ0`²_2ßã…íÂ9Èr‡áFT›Vp‘§ÏrY‡ÉR%_0ØË…Ã]“žÏj>Ó«œ!h<04ŸÇryæwü,öÆóX])-Ý÷Ž×É>S1¼ +óJ,88ß“ð9ç-õròeêö`øBaWÃËÖ¿Þ·ºÃðËÕJ‡Åó¦\6îÞ°<ÉuýмÒ^„ÆÒäxÙ¢Å,rêJœ¿2‡±Æs~ÑEÌô¢‘_¨'
œðòL0È0|úRÓf9<Ž•Ôä6®¨JÛêÇçõáÒíáÒýáÒãõÒ_}¹V`0ÿiÝÖ2Æ]Wåa§^Ì¥<̪“'…©“Æô]_(4’Ò’îF[`
J,Ðc‚*´é¶Ê¥ðŸ‹ëð¢ŠH–Í"´ì¡h]kòn‰õ±Cì’Ï~DÆó°3ÐÈ~íR㙕¹ÝÜÚYÖ·ÜŒ +· ÆÊpA³Br(è¤zx +ŒÞ‚¨i×xHí˜á†Cq)2tÄȪ€7äJxת8ê8*9j9ªIõ5UuuÜý¡¶b–wx”˜Š<Ê< +=J=ŠÍårV5߯2³Ÿ2üØ£ 6äŽ{ +ƒï‰Ú'íÄã<$ßxJâCÂÄŸpw† ¯–vøÏ-ù–ï·o‰ÃOÖÖ¡Âö:üôî«éä«i:kùûU³9nŸ€ïàËÉe J¢H{õää”Ãb,övóþHU‘¢¨vÛ=ãÙC¸?¸iÔY¿ OEZY†Žßœ½¼ïŠ’zÝYHm=Žßzà7
xeM +
®Ž½I ŠEzcfñÀýÖ£¬q£Àîqª®‰éYXž°°=°›µbs¦¢"i%=µ!·ÓT&6.ã›qÍc„BR ½ŒÞ¯a|oõ3ké\6ëíµ4½¨7*?¥à”>sv–Ô‘³jœ}âl
¸<p‡GöÇ+4/37“šY.SH“·d»Ì~ÎMjJäu™¥o£°vŽ»ÌÔÌåBûŠy´ÇXÇ:?Bï'¹s„^'˜Áš2ÎSèE°ELÚÅš^¹Ó)y£ð™€¯U´Só'¨)ƒèD"Š"éuP_ÆÑx´êQ«ºhѸ<ÖèéG=œ×ÍÏpäTàWVía#X1aw2ƒ'c+Bd§è:@Ü|)²òl™õžÒ³L +]ק]º>敺,‘` ;³’þ +Ú¨,t`€4áÆ•û±&Eh_‹†E€Ä³P´^…`\ý| yÓógH_Z™ÛÔ^âSoÔÅ_§îpô¶Û涔ö¶KÌ=«+=Ζ.×Ë”Ï|y¼ì%kÚ*FÃåh¸dÐ6‚ãÝèW¤®DÒ©DR_ÔæÌå¡ÄÓXê\ÒysdjXÝJXÝs\ÍâVãj_â*ÔO:H5¤.úSñrJ55 RL—OS¨[‰¨ +§5Ð[It~Ä…Qz„‰|1¢bþ¬@ÈX¸qŸTY:þ(ø[§WEˆšLéAlŠêIÚCVJJ/;WÛ·ŽQ‚" ¶ÛÞnøðú¯½àdkÎÃKº7C3ãešžeîTÛº•JÏj[a[»UiU¦-Tµ_ÆÚ¡hýòäEp¢° P %g3ºìÛ1X¶„ü•À&d°QyÛ*Uo +ÊIÙ7(Ó:hÍ +ã{ßS¶{:æZ»ˆX‘1sѱXz¡g©ªÚRµm- +· +—'ß©rg«èÂ7òWÆÕ™êø:%ý›"± +ä\e2U±\ªd®ÅÓÙóœëdúzSýùêŒuÎ7Õ9K^m$¦é„s£1.uÖ:[ý˜Æ‡,«ˆm#údõõ¿vÁû&ß™L8Ùpkå·Xc¯cn9иük ¿B`ÏŽ½íkå2©Ì\F’µKs(;\nwØÕÎŒØïV€£°©0 +ä0p¸ÅT#Á +ÚXÐs?@1ý‹`pÄ‚3œ‘ ¨³¶•4 +GÖ‡^ZàdtA~–ä[›ÊʈFŽ7ê—³,„–±«EöjN½1¨*&•ÄMõЪŽ*ƒ,‚HOÀûŠD¸¨Ÿ ÁĈHG 4Yw(¢uPÈH™%‚V äZ!;´Ò‚qR¶ÿ¼
#è˜@Êée‡Zu@Æq y#(œ@䪳C`-È=€äT÷HÄOˆ^+d`7P]M
ÑÍ#GEDºáXöv¨±…œH„ââ!2¹/ArVH϶¢‚ä LÞ ‘E(U‚bP®"n¡dÍAÚ<$.BêDo…øíPs9 Œé!•1ï®8Ó·Œ¹û±{ÿœ7~÷È5Mc ß>·fܳ´Üùðͱoyô(“FÍYÿ¬ZýÔ}ŠÁ½Ç=fäAùþˆŒO=Ž¦'×=á;xþßÍ?½ûüô»Ñ_>
u>â w#\–G<=ŽÖòƒ´Ä•ëù¡~ý÷\wÐ}sí4ð?ôÃäG^crÕ¹ÊP¯{wx$çp€¿Åp^ejÖữ”ï'vSÐÉa¯Ç³SÐSq'ª?‹=žù<lïäý×Ð=tаá²}Í&ºoX> .XOï[P¼ûùêÿEhq—ó3˜: Ÿ×ïâñ«ÏÅw¦Õü0ÿÍý´=þëo?þõËó¿óéË/¿>ýåéOÿx~þù__>?ýR>z²áÏæ~ú’}Ô™G¯:óQg>êÌGù¨3uæ£Î|Ô™÷Õ™ÍRúŒ¼ÇÇE|
èx%c¡âW3ñ†‡æ>_áá•…-+Í=*ý\yx‰-6S™)y2Ó23Sä7ÉÎÌÏÌPr4³´SÁU#º’°¤,IKÚ’¸¤nTRI"ð"¯"2GîX"šÕôÃÈs(v›!» +š¾I“Ãåhhr娟<bѯœ1]É—SI˜9eæ÷œ7CÉ›±d͹dÍæÈ4Ás-Is+Y³Ëï%sÚ’7{e‡÷ ï>§LüA;n=ðM„Ï +2K}_…øU+µùB§$ËW~IJ&5‚´ 1HYô˜±×IéiQ6º&•.Gâ^Ô!yHˆšÞȤ 6‘Ot¸TXEŸÛhÑZY¹}ÎGº‘p¤Ix•ÄþzÔùºÚ¶ò}õƒ¦:™¦7h¾ö§£3µÀ°%©Ô"Ó´"ŸQÚ€ô„æ^àxò€âÄ´„)4€^ÊÅÊ–”ûϬîãkï9ZÏÙyjã¹_x´*¼h<{í<sÓzƦ÷l¥ùÌì>Òé(?Ù!<³-¥µ WzUÚÔ…D<B̽ѨNdÕŠ6õ¢äg£jäUŽFÕ#«‚´A5;RPKr¥'Y5¥t¥YmÉÃ’\nL›ÃÒ´©6%§ êäTžzÕ§]jQ…Š*Q“jÔ€-²jR›Ô qw"Ä‚…ÊaëéJ§ZµJ‰fl}d9IY¯‚µGY£tt:Š–)MëGÓ”Û£Þr£ŠÛËÅRu7™Å¢Í?*o”±Ð`¼‘×8¡a”õ„%®K·Ú„âc‘‰aŸeiA@ñ2:Â…€
EL>HTwÂѳÉ)‰¡EÎ9IÄÑD<M²ØQ3YÄ–5dš +Ú&f‹ F°n\O‚GèqHÒ¬‰ÂÍpxÿüú¨óc( K“Ð$8 O´Wš°¤¾jÞ&°®l2üú óCv‰^â—¥ó½pl³Ž¨ nB41MT'Þ>¿' Û·î}OÙîé˜kUì"bEÆÌEDz’ÍUÏRUµ¥jÛZn;.O¾SåÎVÑ;„o8䯌«3ý‡ýjב·¢_ÀèdoÒ)ñåLOñáÈÁb,6ð¶ÿ>÷\’¢TÕ==3ëÌ:(•Z]Å//Ï£!6$…)Ô˜AÎ&—F–k£ÌhzE‰«gŒkåÎcl˜|Chˆ
©Â„sgÔ(Ö†ao8*:²FÊÔ[tnæ‘›zº`|‚sô® +çz
µ‰…z<?Ö§XN˜B%'òS¤‚xC8Á6ŸrAê/oÀ7/ÎO™ËWê +K9£*¬¡ƒZ¼“ù” —Â’” +ˤbK’Vb×&îM1ÑÓÍb‘Äií›ÁwvìýCTV´LôBø¬À•ÆžÅU)„ÕùÑ÷Ž÷éæC˜‹#K#ë²rM,×#p-Y ¬ƒ¬‚¬@Fõ7<®eÑŽb³Ð#Š
j¼HuYÙ æ-§V”b +Ò&ÉÚySTWœW`ßÀ[dù1N½±«úFšFjDT%Ó2ŠaÜ‘†oË©æëAõC9u©IÕ|$ª~KR5ïGUØ“Åž6(ø´è$á²t~†Þ¯P}Ä-ƒU¶h1É\ž©+ÁÌH^«d/¤¦M$ùk* ,1÷jæÕ¼k™uK3¹sIc{I¶ï$2®dñ‰ +|ÇÓ]þ€©‡iÝ}‡{Àãñص‡©v¿Ãþ€íë´Tqb~@~‚ô€x”‹ð +<©UäH|‰ÊÊK´V^P\|ÈâcËQ£c˜Ž÷°ÂEÌpX}X‹ &ÃÁléÀà?Tl)MéG:«t¿¥¬å8¹Ó¬ÙE2MM9}\’Ü!ÇXÌ8 S×éêÔÏ«±!ðJ9àÙ"èn‚‹sн¾nåS$þÖ¨¦Ÿ–~¥s‡[ço¾ãÊ.ž¬·djKh.†}¡!]iJ7q—r•µ´¨NKyªêý¸·š¾¼ÅåFÆÌ +îð3m^QÜ’YP3l¹‰™‹‡H%AkF$[‘Þ2±°í„„E“Ív¶‹]Íî…£F7™BRJQkGRã¤ÖŽ¦Æ"õ'MmЧOã‰Ê“ª²Ÿýâ7¿3Ò8Æ"–4‡9,a
ï` +Òf°– wdCLlˆÚsk‰mØÙgcÜ[c1]oT›n¶^TL[äl’ùÚ&¦ÈÙóN±T•Ú*©4ËâWi°eΦ Ò6†}£Sz‡ÝsíÚ=¥h®´,¨ú#´ézH»èì£g[7eöEé(4Ti)ÓzÊv}¥õ_ö˧7rÜ +âŸà}_Hn¢$þQ‹DRAÎA΋f°ØC|Øäû#õŠ”DµºÛöx°A€Qa×í·ZëýXux«¸«ø«uØÜø¬Jh¸Vé¬÷[a©VÈ;ZBœ!
$Z#lùð¾\áμèåŽ6ôÕg#¨
#lFxà +›6”l0Ùì°žìPxb…HQ¨„“!òÉf7ÅaWmq6E’ÝjºÝWcØƇE£Hã–³cªgÎVøNÇxÂ6²õUµnT;o†>ÑMîÀív׃+ÓÔÈʳbbµp1°Ú·¦qrÝåÔ°jW¥ÖJbiX(µç +cÜÐ&ø0Áγðܧexl€³|˜NÊðÏ +Ñ(˜
XM +O•Âž‡…
¦c·Ù@*ˆA<°&u|2ŠâÈ +ÀaÇÆ¥EÑèèSóIˆãȶ3±²9"ÙÉ+]G,«ÑÙ’ôûø§N‘ÓR÷eÅ-Wƒu2V•²Åþf}•Û5î ÈÞovˆ•]õ|ä'Jo«(ú¿ZÞÔ|•\ÞšÞ¥ðHró†ÿÜUrïÍÙHþÓøm’›_uø¯EÓ¬µj,›ŽusbáÔÊ™X:»Z;GO¯ã€¡™‡E0¤ é`eÅFQ¹Ála +^È*‡ìšf=–ªHŽæª}(–n—9$Kߊ麿E=•0ž}F7;¥ÜÙ<ßÒíöÛ?ßß’y.yëÞ©ïHî7'<R3_#÷!
ßEî¾Q¹Ð•Êaç–.îÚ<8WMŒ+‡J„iÍvÇR×óî“úãóÇwÂ2±Óf‰š +."’‡ÖÃBKZt¤Eª´Ð¶¥¬p•=X¡¤Hý"ZÆ€Š
†œPJ('f0"ÔÇùV®æÖe¨%Š– +PY kÆ¥¸P‹ËÖà´249<шրšž1)c•ðÔ&Û¨a0ò¬—™eR#QÀª$ì’«¥QhÂ*&–º[„Åf1aa‘jú™~¼`Í4ú$ì‚zËGè™Ú¼Ã´3Ô”j‰Ì6kM5M¸°§0Ñf›©Ù¬·÷î6Úl¨û¾ÚD¢fw¾V +sQÑp–0ÆÝÊ^ä.ò•”UÓEóEËE±•ìqò¬ëq +kwöÁ+iSŒ£N—ƒÉcøŒaÕ(Ô8ÞÁw=CùÈÉvøC=&øP¨=á^u‘;¡-KZWDhb÷°¨¦öù#–ìÎX×Á²}ÍðšâÁôkšGž<¡•n6{ªWW»=Û«»5ßGD¤¼§ü’󷤿e}¤}Ñ¿¬¿Dþ-ôoP‚¨sP&a›…’ý‡6û—Ÿ +D/yësqK®yësqK®yësqK®yëQܪ í Ò• D©‚ÔWw +D÷ž|ºªÛžtJøÛ¥*Åš¶g&nÍܹÛÓ+ÜwÈIuî’~ê/
â%Š—0®q<yÉä%•·¹üœÌŸdóÃ+r1ËUåòâ’Í#»CÙr¶‡š£$ñÍÅê‰âS7ÔÍ
ô‚Ð +›¶Ô8PÖ_WkÏùÀÙŠìüIÓøX¹Ý«N¦°ÄÇ#€Á§Í™Ý.‚N™„›.ZðŠ6È©9ª§0õÓzj¢°ˆŽ^q0ÐQ%[a6° +&×qW¶Î•¯Kå«jåÎ^«”ÈØ"OÖÎ.ŤRP«°…ðt§¡ª<¬B\e®RwšèÑÊÝJÞ"ðWéÛ\TŒ«âÇ-’cYɹêvÎ+yR¦U³NÂôvÖ%Ž7RK•}<UŪEàÖe»¯úˆBÕñªÈí²•rÇ¡¼£¤ü€ãi¢Ø~%bqÓÜH÷E¿î’Þî©óïÇaJ6U™²yç +ÁX5«„¬½*\ +Fm-\Éok¥é«ŸÑpœ°tÖþÍ‚ûÎ+4ü¯U}ÂOtïÀûr÷>q|ø„e%;ÞÄ€mÔb;õØV'l¯¶Ù„ívÅ•i`]Õ2`ŽˆŽpRF”ïಠ+áuJÙ;»ädíÙ/—¹m& +?ßAñFàýt!ƒ¬ƒ¬¼0ÌÀð"³pòþÈ©"¥–4Ýé#øó§uà±Z)ñR_™³Õ„dº¦+°*VÏ:~U^µ:Õ´ºÔÌÐT«=õ«5[*š+5«#+úf²¢lD«
u«t^ͧ^'—Y‰j9Ëj7—r+î.^IöК
À^r«š6Ú•lË›ÛͽƆƒÒNÇ#NM‹üNî ]ˆô¶´§E;QÉBÙéX€Í[‰04î4”vÚ
/ð!Âéð;¹ƒZî«Á³™=«gŸsIâoñ·I\¹é^#qá†}ijKæm›ú%:#…ì¥ Ò¦NöFKîNá”lè$9„€Á‰OQ<Õi<à;';¤êäWñîÓÛ:ÿÛ‡hë·ðiÀhãtj׃즩ÇKÍæs¾Goõ»@\sh½vnL‘N*Y·—s½WqóAoê¦} 2…¥YD…#5õ’vnÛUD‘Cÿ#_%~ÄÓøì©Ckñ:³û°ïØ+gÔÒzz +9W:—N=p>(¼§#å
ã]ŒzÓ—J=%öÓ~§þðmã,Þ
¿¸OùéáçoŸ¾>>ýY/Œ_¾>-—~ì~øíééóïÝ—v©3ïŹ‹x³íƇF<[@äš
Û±¦Nwé>C-Mg*Mq_.ѸíÄ£3ëçÍÉxë¸ÔÞíϼ•Þ™·>n£Ž"ó'Xd…í·Ù)öð[þL¤ÝÚÃ>꣆ŠÇÖF+çw¼ðºO°|çÞc‡÷˜G󬵤ʹkz¤Ópîý7öp?vò³Ù3*Àvn[˳#iÛ·Å€>š¢ÀÕ(øP¾fÇØÏìÒ
:¾‘½y†/7pä†p„/0á<À|0Þd»
îˆð@ŒÐ†×l±ìõ›I¶šL5êj§OfºZéê£Ø‹±‹Wlôb¤+½˜i²ÓÕPÃR§O]]5‰³¯e{íØb{v-Õ¥¦zŒM›ï™
ø¢B‚‡ÿ§vÒ«ÌFv#·‘ß)ˆS<å1]Ñp^b÷óÒ1½P¨ý¹QùšÄõÛT.K\»ùÝ;ü_ìð§a +3À˜ÆÄã$gY€2ìeª +ÊZ9&BÖc-À&L̤Y–EŒ¬j«ÕYŠ½zÌMYLyʳlRM¦É6¹UaU\•VáÃÅš·µâ´ÓñÈ•ýÉò¬ôE™ËíÄÞ$wYâÚÍ«òç%.Ýxþ‹ÂJÁÞaBqÅ•3vûˆØ˜|“¶ÖŒÝ™°¶¹ž%ÂaB”$DC,éI¢*oŒŽˆD3êQ;|DŒHüñ«{’o#Â8"ÎüŽ’ðD3Ò D€ÁÃF*{•"iBd' # +ÎPÚ‚;ƒ #4ØDÞу{>ÒÀMjpPÌ
"‚B~"àÀ;²ˆfA +ÖW1‘a¡«¬@.°ðÔUoµ-µÈ²êÄ•{rZ5ÊQÐÖÖm¦âAá ¿•àÿÜYÙ‹2—%Ú‰¾Iê²Äµ›Wus²ÿîîáÿ·Ã;Âî»#쎰q‡w„ÝvGØaÿâ¶{÷iü&dO¿ºvRõ5øˆëÁI:Ùû +gÚŸXÛ‡P!÷N—ñä8‹wÃ/îS~zøùÛ燯OÖãã—¯OË¥»~{zúüûãC÷¥]êLòïÅùËÂ$Ž¼d¯Xåz½»rR¥yæcè¬í‘]ìi¡_Ýfä¦Ö=Öëù>{moZ{n5ì{ŒÐÖµø 8áæ&¤`Æ>%3J—H·ˆZ +<äå‰à!ºíÇrú`Gö:l?æf@v¾oDW‚‡${– ‰òý“[ð«c°ì»Õ²TõUÐúÑìIÛÕ¬ÈÔlugšõÈÍtå<èà‘¼RŠ\Ó÷”cAÒUŒÅ <ÜUÄuÂsZwÊòÏÕñX¦AoƒBŸÍÎv6(µ %˜xæÍê-k·[=š+ŽWÊój…uvTAFV ÁãÀ¼R„oà£fxª‚ì®øKCÚ,¾:.?æ5[à&¾ÚbÒƒ‹<•°«–
«‚—)lZ'¶‰«gëjȼÂßœìkb{Ø?X„Y°V'ë–Me6Òté8c*ÄÁ²•Ó"‘0])XŽYüHÖÊH¡ëeˆœ5z‰ù´j4§Øeý ¯î‰¤TÀvk|â¤å5Œwªƒt1žZ{Ý'œtzÿk{¨ïÇÜûÖ;>^+ç[c4ÕvÓXõ¨0Âæõ¯ì€ß®žw5\|ð”Åke›:Lœ:µÝ€øæ–o"°;G`·#ðœQÿMÐ8¬ˆJÐsè ó(É"Æ= @›B%¶ªRå•äÀ•¤E$ç\!l6!4¥Œ°²±8-J6¤‹¦B=ÅíÖZg©s¸ÂÙ¢‰Ë#
æX”ªŸQ¶&|òÈšÛ +3Ò ø1ô⹃ÏsÁ 0@'aX9—¢*?ˆ +ä nP±K…®dNœa,?v(XŽõ†”uÞvl#ÒV¶ÅSr«sA¥Ê®Öyµæ£y©µ fj;/Ùg‡¯§EÐTF¢®kÿæÒ–w\—7ÕÆüY̤¦9åWúä?úÉÏýù‚ +ŽÞª¢öv#Œ˜QÞ +ø"™6˜oW·ÅéÈe.c +˜Zbñå/êË5×QÂ+ðî +ŽüÆH÷Øÿ’nUÙ@r2£9èJCLÒ¼Ú_WÅÍ£hf(ª+0¼›®®Ý÷²+8Ê
gðÈÚ Ø]Ñ +Çé}kÖVžÞ„ÿƒqTŠ¨ï<Ú¡¥ôCRÊ‘¥öÚŒ¤ª;Ëš—©~kÖv½Ý:‚2¢Xüp¾u¾¦Ä x½õ— oÚþDƒS¦¡¯ŠÛòÞõÓ#e—Š_™:9¾Ÿþ7%üì[Xâ í8Фã4Lû£l…l±h–ý¯ +V·¢s¢«bâ—n
·à%› +š/
á†&ÙÌ`1Í bšyØÀ”r*iJ5è§þ3CüQç,R8T7eS»ªqÒIªc43¥GÙО=¬`„%Ì°†‘2dÜðÌ°•ö’Ë,a²JšÐ‚êÉ4ChAF•yœqÄ<ÏU +v·Š' +—úx‘Ò…Ö…Ú¥Blj1`Ò +`µ£Š°Z«
°³‚.ÆSÂU¬J U‹Q¼ ×\Wp‹Ulô?^„®l:»²è5‹_U¾•)I~ÕöA°®$#öQ4ƒQ[s¦½ÆxìÔ"^ïZœ?MŒ +¿E¼ÆÒãé;£a=~z9 ÿþi©ç„÷,ÇŘ'Öß²Üu…gÂgÇÑMˆô5Ð|`ˆ ‚’“¢&'a$1¨Œ"´Ñ`:—&M*VÿhïâN§0OL‚]Ø2oôBURXÀ + l5)ÅXb ˜mŽ$óÚöJjå¾- Ø”Fm'Œ·FJŒè#ü*¦<×5iò†Šcu×}ßkЙž«9ƒøÙÖ$’ÆÎÓÔ©Ú–á÷X†#@Ðc,æΨ(}Jjïy<‡äÜˈ0™ +nÿXßÆü´÷8êúŸ#!!ù>Ñ9éw§c,xŸp½Äò1NÇš_ü»qèAƒÍõz~æÞtÿWÂÿ +H‰ä—ËŽ#¹E¿€ÿ Mö¦À÷Ãh “¤áµáÕ,tc0÷bìÿ‡o™)¦JêW &ow•JJ1ùˆ8qÃ7ÿÃËË¿‹÷B>ùúöÕ"}È°,ËI/½Š2AYh“j²ã›tie”Uò*¨¨”UQTUSã*M—ÑV[¡PÔ *zƒªîºñ£•¡ËB +P4*P…ši<9<‘n²ÎZa=+@ *PµÔls’¥œv<¢—‡‚‹PfmPš«® +/]wÝ«)iú?'@t%Yyj;4Ï7È]"èEv‘_O*'Õ³Dĉ„N?黲µ<Mð/žBL7Š¯ÞYUV‰˜Ÿ¢m—¸¾|ŽþÜ2|zïµ—žz@¸›®Zoµ•–Zh‰¦j¯µ–šj¬¾Úª«ÜúV·²%Œà‘azS¥—Z¶’K*A …lÑEåž[ÞrÉ gè‘`&ë,SO-m©¤„p É!Y
`!c
s*8îÄQèœ&ªˆÄé¡!à7¤@BD¤‰CÚ¤‘ +ÒwäYEÆäå#e&e)å+e.å1¥4%7¥yÈøÀÙïœ
À"°AÚµIb3”8G“ÁE¸Ñi°[„"S˜´1ˆRXx™[„
"}.Í+‰sàˆÇ¶27°[ÅhL3ƒ6<‹'L…æˆz\jjr\õ©&€à¡:µ*‡ò¢´(. +Cb¾ð7r¯dïÊÜJÌú+úæKà¿|¦„’²?Sâ¹ÃýÁü&ø4Y[Ýj|Š²AäÊmÛ–Ÿ€‚Mø‘WüÔÉ{ø H|‹œR +«d‰n½¦×k†Ý§Ù”XÑöP·¬û‚ľIâ!IPâ¹ÃýÁ¼Âgë¹Çî~ºlm(¼‚4Dˆ ” +bòÉBMFÕƒRÄ©a•†YÒÌ’ýÒ¬¬ ˜[ƒ\ƒ]ƒ^›•ÊKaŠÇÉv–Æg´AÓXy)¨Gb´qÓt´PÓi±ç´\~6_–™g&÷û 1z5öbõ Ã:Ù6±¸£qàq×Þ×ÍÕÞúƒ»ÖËœ¤Oº #ÁçؾV{¨z•Xÿ8´}—Ê*qþó‡•w‰ëËçèÏ= àc/ï>”ß„|‘¸ŒúÒ‹¡ßí?áý”*ú/Œ‘Áâ…ÅoCï8
x!]Œš>’!Z£ðBë`ºÐ]Ê_üÅÉ3ú/ñîÓG-ÿøòe.N½HàpÖOöû_¼Ã^½P‹p1ö-‹=}ïþçïŒê´¿hùbt +w¾{ÇñýÆ"äùK×·qg©â]þ§ûÐ>üÇo?üõÓçÿ7ʧ_~ý¼¿õ·Ë_þýùóÏÿùôñòË|Óþ«¸û.6—òÇ«¨òIöZšë`¾ýÀø¤.ÕB»ÈŸ¯wÙëßâôç½[¿I\•gÑÓI
ë<*Ë6kÊîœý¬#vñÏêðгxˆ5äZEn«É]¹Uƈrh0«Š*—¦ƒ§:†çâ14pæä¹²PåáÊu¢ +Í€£GEdÐ>Œ6/AÇHózÂpûÌÞ°À§íÔn¸Wo•[{-·m\uÑ64Ù2¸².ºê†Óœ`Þ@ÉMVÙ ®$¤Qã;Û¢¾j¾±ê¢6Ä/=$u{÷ˆÞñ ÖO×þ»ÔH.xwÉD,ÆqU“ºc›8{g*«™˜Um*CD‹…âZ4VÓ° UŽ
›Eq¯û%‡Ž
À†àvœ=¢™ú^ t +D¹•çd— æמƒ™D‚]¹ƒOñ{äOÈxûh;ÅP˜,Ê‚€4‚õAÊ&É õ9Æe(¯1t)ëÄž0Ü13ïѨ[8bú&š©0Ú+jª–¡ìü:”zÁa„óÌÞ>Ü>3‰Œ£¡”´ð_4‚JÎk^nnœƒ«ôt +â7r$à DÅfXíQ,Ë-•k©[\|Ôâf(R +GÊ(•Ô:1«å•¾x£¸×In>"ƒšŠˆÎ±`‘ÏŸz…w8Å$|Æ7LˆØE§šqž
g©qŠÅ)£P5YøEFL9m©aâ:[IÌ9$B/ª˜b‹e´¸r½Ôé‡2·Ë¾–{ ÿ@X¯àS¸U| ô@ù*´òl°7*ËÔa‹*v«`Ïv.`ÿveô+6@ŸŒç@j¤£ôñWq|‡8ú¶G][Zû6q¯qC¸ÀÄ¡o5 ÅŽµ<k`çcÙïçÚØÙ¡ÇÊqG`t둆K:û¤³Sê“݇[bÇWHÊS‰§ÂÒðÞkyÍ©åå¦WÜt½Ü÷²É*¬ÿ“_.;Žãf~¾ƒ7
L6‘"E*hu ²²Ê¢1@7³H/fòþÈ9‡ÔÅ.¹º«Ê`::°,ËÖo]ø<g¨ê%A
ýXÔI¡ÊêG_Ö<%à¹ÕÜŠKëé¤säÔŒ€ƒŒ€¥·²€wsˆŠ÷Ú£Ëb–g˜kY½Ôàþ]X«a`¶nžºµ˜³t 'nãÞç2úS—ÑÓe´«ËÐãtc+ùúâÔ7¡ Çþ áVF+uwéí?cWGt4Õj°4êêE¡h:h¼/£•*/~mŸS8ò³ì¦ æµ…—x^×Qô¬´ÑêoÅsÁ‘”Ä#WB3ŽY×ÆëåïyBJ¹MÍŒV¢üï1ô;d´’[r5Çu[’ê|8•<'ÕÔæ.K»ÉßÊh¥s~)øß}Oe´Ú(ðÑ視ÚÕ[z†ŽƒSg¢ÇÄñ1§7ÎbŒ¨~›cíàôCü®ÓƒÁÃÀP˜0(z“€Cf-å‡ÆGИæ8ÎxÒó¸Ô¼k1JŒýž)N?N ÑFÔ$+Q1ŠƒÀ’uësÛ
Ó¬7w½ÕøÿkVF”?¦Ë
òÊ1¢D[ñŽN8*Ïx¦A‘tÇ þgGÒãJŠ‘˜2P†‰›Å8ǶNô
}Ò¡ˆ§%f•Œ¥M¿Örí¬}bÍýW³œãC.ùá÷ð”OþŒòØ‹Âa¥|õ–¬^qÔÌݼúèâ¢3™QóVÀTEkÒrJZþ¦70:ŒY‹<´¯éŠÉ +¹J™Šyê:Q]ç)«<Õ–<ÕuFy*)Oñ••©&e*å*&+¥«f5ÅÕÐHÉ蕵—🦼ÕÆuÔzý¼·òzíZK¦n¸j*÷3pÊå%纞uÕ¼‡£·éd½jܶÖýóáó~ļ\ÖÍ3ígwütªz‡MÝ8Þt{sûŸËßUgê
¿V8l§ÅÓ½ToàöªR0?Næ‘Å~‚{ìµJªDR£„¹oRŽ&X[a£ (²@‘:"ÂV‡fPÈÏ¥C>dË`ÈC]àCð8A‡KeÈõK%‰¯cGŒœ"åLøþ=€Nü.!€¢ãÁŒ8Ø‘V涫¦$ÖL°¾ÔÒ/´'CkÄëù·C”úa²^ã0á5Þ—Ü ËñÕâåa\|që:¹Ý·‹—É\F½Æ<Óúì¯Õ«Ý,½—3ê´^í|¿z\Ã:r¼c]¼¬Z½q}wrË®¾·’¯ïd½7øÊf}§V¬ÅÃÖª=·ÓÔ™ºÛ´îªŸ®÷\+ÝUg¦î +¯’.ù¡*ÛÇÉ<²ØRðˆ$·A) K·>‰®~¼ASšÆê“,|ÀÓ&º¤Ìòä“ç³<
| rIV.‰) R™¦ìTU´C£¡%¨Ó±Û˜4o’Y==°EpµÉ×5Fˆ€iÍ`5C;Ëøb¼"Ó<ˆæ´ºJ6¶•Ø•%Ä/±naë#Ü5ÀëœÔV\9®rãN +ŽCUAã(û!&R¶2Ñ
~S0Š]…bªh,VJ
2iÃt¥å(Q2ë†Py+GÝ]EsêãÓAý«ë:<V¥àíònÆ=šê‚BÒ²,¢À€^ˆð*~qK3/ó4˜©{tR7û¹íÜLó4adæ;™X75Èó8¢Ú€®ŠcgGZe•F“'–Asv™Ó[ÎûÝÅÐ(Ð4DtKP ¢Õhè?Ðjt%ƒ‘Q¡i 204306hÞbuFŒWvXöŽjõ€¦Ðþ–ˆ +·—ü÷£Ñ²›ÚëÙ£$Ûg™vÓ1ÔÖiÅ<Kµ{®Ý“íÆû2w¿àd>'LÜ2Å4/à§ÃßLì=&øiyÃbÞrЛ +êôÇaá-°Úá>tpã4cªláFàpaŒKƒÔëR3.‹Ëµº»0¸à¸À},³áþ?îô13tÍ]¡kõ7®º›I+Éß0v9ͺKµ849&‡É6ÇÀéxÉ)€qZÖÂóMUãAù™úUfß¼–Nc¶Å(Ùg×cÄgŒü °t
dÑ-ý?—ˆ^áápwøþ7Ï…çŇ +sû¦9 +¤]¯K +UŽA¢@Èúº= ¥¾×ÿ]ÌöÄÉpDªÅ(~£Œ“‘¹VŠÌ¹ +!ÿBÖW%þZüS%þ:æ¬Jm«„šë†‚Ò½_‚€š¢{•)*ÌU¥é~)öj]¦E÷¾ŠBÑ$; Ͳ“>Ñ4›òDóì%¨áz/ˆ»ˆê=Æm’…Ò¢9D_5¶J“ÀÚÕz˜E—¸HY¡ +µáKÓNª6Äa‰®’$ÃýðÑ´‰îîII‘Ôö_ôˆø{ÛÒ䈜—¡MU#Œ»bXĶꑪEdœÇX¤êô)'-Bæ§Ê]UŠ3‹òšJDÇ«™¶¡C?íÅe +¥ø“ +™¶&
Eê".ú®$§þ4sÝGÄý±ƒŽE0mC6̆®˜§,âcz¢sÔOÝãÑ]®¡<Ð…1‘ +€+’0ša +RÍ9–]”Ô'¤ƒt!«KT‘ ®.Á–QÞo¸”I¯§}ž£ ¤«€g² +ƒãÞõa¬N†‰d—¡Kc~.$ ˆwOeàô+Co3†qN€Š}§7âb¬ôR• +&ùQäV4/ñ¨ÊÖq;‚j3&M›Ä4¸to ˆ{qtØ€FºÊ›÷p÷“HðBWbÃPý<~½‹ÓŽ…'sëkW,jŠ¢àj"Ò‰G¹5e{ |·ð¥ 9"0<èÜCÇ㘑PÝ)[þÏ= +utƒ¤XiSè[ÆUIiÆÉ"ŸÕQ +h à‹®"ÆVˆI’bÙ“•Ä©•¼¸j ç,bÔ© +¿•+öL̶%#*ùÉþ— BÓ¢XÜdžÂ‚eG +šZ¿w,µ0'©Ç }rŽb¤k`¸ì)jaÎ,Œ4'Œ« F´ +æÏžŸ¸[^Ö,Kñf#~ïèbaÎ)a#H'îÙ3Sø²Î„¯aãÑ{>-A8´.¢jÇJ)aÝa¬‹•+^Á*³'%qÆ´8 ¿k™tÃ’sì0;F‚ô)¥¬Ø^+c>ŠßûYX°Q˜š‰[ö\ŽìΨ£ÁDñ˜=Ńƒ‰" ADƒ‰yqúüô›ß~Aß|þðòËoß¼yõãƒünòû›çÿxøiyƒÌÜÜüÙ«ïÿö°ÿ‡ÓóÊ¿û—Ï~|û¯¿†O^<<|ûúÕK´à§'$ÿÿê§Ó[ü—lx +»½Ãßá +ŠšŒÔ¡ÌÌþ
¾;ÂÐÝ*)®aÛç¸ð'l’.0+#oÒ´ˆš41,ÚçB«‚$ÐUÛhëÝmhLõ·LtÖh2LQŸ ºíPæÓèîAPßÈN0Õ6Ïîå{‘ÊãMa9âÃp›ûƒïp0sa¬ƒ2ëÿ-Ó„ÅR÷—ç„Á˜©¼ÜÇÔ_ôìt8‹‚ÂFc–Q‰õltt pôp“!xUœ}w|þvvª8+ÛEuóaÿÍÛljzvúîôâ4ÏŸ|zþêOøKkMp¨è_*tEÏ€±éJþƒ~dì[£$k7#
Œ–Š¤)rw@ò +Ä +¬ÃEñC +‰,,8ŽW ,Pe×ÛiÏ•³ã( +ìól'»Œq½J +Úà=e˜4ÙÌz™ðj¯âïV—Y”"~ÙÊžÑõâZ‰$Þ10ùv9¥k‰l%RGŸR½ +"¥à
œiÏ‹´ò³*äå‘*…3‡)-€2°˜²Žêa5 lÛE›e)WšZOÐHf6Yþ°š-5 O0õ¶Ð ƒ‘kRYz÷‚Å= Ê¢’a ·e``|X2¨3€ÀT.vv4Ò"#Ô[íÃT‰ïÙ²¥ßž5 +:ªë²¦A†âl…)¼ÚÐ\dúÆd0™¬eŠ?‡+9Ú²'©çÆ;ðÞ_€éÛÖ|"q3[Žð¦¤G +^}›êU9Õäïí±'%Ù¤ÉlWô¬,½ØÙaK
"6P`f@fFugUBÝ9oùå•ÊððBÆ’ƒ„ÍApÛ˜"`"·,%¹U•ÄŽ1—ehPui nÅÏbY¥00Di…£ú÷Z<ÅÑYì(À-(y³èos +«¥i‰bMãÖ,å +ë6 ™œfmÖÚœáX<L¾Ÿ«ò'›j–òÃJà`J*Г,ŠQ©ú:´øp´j¤pŠ¹ï½¸²ì{ë{jEÉæø¾Oû^¶Ûce:Hà
dt¿¨·˜ n€ëæ°NËLA“ÓppÔÎëA}@EF +°’ØXJØ]˜üºZÜzA·O{I +qUUºT¨•(^Ø6»'o_ÓìÑÉd#àÜúÅg_FsÓ˜;ŸÌ + +û]L³<áD2íF¡˜·Ôg4Œz±3DºRïÖtà¯0ÐËð׶:]ÀÊu³¹ š#£9#2)/»¼K^Í»9J6ø¾¤¥—<Ú•CEh£ú¢¾hÆYNuÍmþªQreµ7ÎNQt½W?[zˆ9ð×%”Ópö +õIõyo#΂ì÷_ BÛ {h³¼‡=]yµ‚ZêëÙ±Àöèò¹Ä +ù¡™ê»X'OÌô +±ô#sÒ¨ÕqkÑ¢‰|fÈÓ6쵕Ë×YGF +àó6×8sØEðµ`ƒÑÔ~' +ú>©ªÁ? kúN|NÄ +·ûøW†üØMñ*»tøŽvêh‡~®N«è M–è>€¸T‹+u'¸O37=©ÃöÊûœ<Øô²ž*Ã¥ßS$–í1‘×IŸ me/μޒaØÙ9œp
:¿-ç"€0ãy1%ê¡ñ`IµÐüIa¸äǨi£ì `¶ç\Cr¥_¶-@Ž iž¹îyý¹WÌz›Š/Î%žÆ.xNÈáô'¸,f +@§ý¹EZ0#f`ï +ªd.Aø쳺698áª6†½ö¡`m—Þ¸YL¼VÃ;»®VK/@ëæ‘ñÔ©yÌÀ*ŠR^|íR¡k?Pº¥í¸ì +mǧÄw9߸Däë’±'zoî÷Œ±ß,«¶^Ì>gúx ÈWÿQ2òèùkC´IB°Ù4A™FŸë
È +@méêU7ĆGå*3FÅÁÙºAùÎB'*p/z¯]d6—-ãÃ< +ª”Içï5›¶äÊrƪ=öÁTúB˜È0êQb;ÀSÅ®jä]?UØÜf@Ÿ5}P€{t%°b— +êóë5?_´Jb‘ñÇåð±‡?1^7Ç“9.=µùz+ÈKPwìùÒTwQé½{Ϻ³‹ñh§©/] +G×â×Ð5ÃÊeù%u±_Ýògn.¤…Õ”a×jùû¥³›Ã…´(Éüä(-À}¤} +àƒWƒ[ZñººÚȦ…®é*ÙkÅ3¶æº…°8Û&h¦›Áñ÷—:3ly–®t¹°Ë7¯SÕ…ŽW€RŸ +•Q]¶•ë–žõiÿ5ã~¤UÕ4f\‹n‰çé/¯»4£.X÷™¼:‡líS]n!`•[y%ÖHÑj¨ð=¿¬5.¶ ŽÔ%t[Àvß±Fpvmöච+?7ND€m[A8Jõ
4Ï»†p~ì,ªw¨²†f<v›¹O^-\àtŬ8„A9;_<¦{u£n0L\µó‚¼Þï‚òž`iSÕò¼æIáQÂg:Ã7¦©ˆÁshõÆZM`i×JýVvbA³ï!åi&(a‚·Ä”îÎ+¸Û‰°nT.¸ƒÏM„íiEq¥<]®"4…é*ìèl„éVUuÞø¶WÓHéM×Q‘±µ³×3ù±9cÏ+,XE.ìédh¬×Cë“£y¹" +P:à\·&>ÛïÚ¶xð´-xN¶òäÕyß°ÜŒ+_àq2˜C +oPVé Àò‹ +P¦â.·b‚§Ú°âO‚Öµð§¦è,;ÑRytŽ§™ +Ч‰â¶) +12Àd\Æq¼}λZþ¼Œ®£U~±Yp;wøŽ3PIp˜¤EN}æ[šŽÒCòT<âÙd¢+Þ„Zn +.V‹ +÷Â]äà>Z~Q`'™æîŒ6Ó¦ÅrŠÞpx¸a¼°¯}ÁèÎ胑ËT¾ËG€õ‚ ¾°SÆ”ã‹}h/ƒn.ê\¥=v‚
·3µ^¬\W¨g,]Â5—ƒÐΖ*—J9 Œ.ÍÕçÕ+Xê.¾Yœ[P}lÖ›#n +g•@Šu´@ÓPy€× +Óm;oùZ ‡…I(bÒŸq?⃶_¥0D‰^1öŠJ8ÆíÝÁÆ¡úžÞL 6‡Ãcòìr3ÀoíÅ `Eý–ÀïÌL¦×à efR1]Ö|±¾hA·;\Ölø@)³Y‚åz¨4~k/˜±Õ~_‰a©ì£»ù| +®JlE÷k£òÆÓû$Àjû¨¶L'ga¶il]Ý>æé±~~^yu.«û1&.‡•¤ƒ%AŠf€þåJ
x™šlr…ß³SÉR™xÔ^Õv³ðΊm1;Zìº÷IºµvÁñ!˜“íRêãÏA½°
ñ'©OÂAí7L
¿ð긘j$`îóóAÿ°6º¦>ö›5ÌÞcÿGzµØUÑ/8ÿ°_„äeè{W?N‚ʈ ˆÈp&xÁ‚类U}ö93ñeqŸ5ÝÕÝuYµj{òŒQDÇ(B2˜Âü½ÃÃá4{ Â=Æ€‚æy‚Ïè»ß¾ºþF~ýúáþÕ‡OÿüþÃÝÇï><øêÝo<œÁ/Þ><ܽw¿Mt¼Õ—‡°]ã¿ÛχO‡¸]ÿ︅ùïí¿øñ->þôy+ÛwÛÏ¿„í^—¿™qž.(ä«a?nü‡Êµ_vöÖ=àÄOz¼žùýA{™t¤\/µ‡ŠNT ÀA›öÐ +—à5ÂIëãöÎë\Óuw©hÊtw3G"šv}„|Í6«ôi Ö;UdÞ±lýƶ‡o.àfæoÎîøx]ôÑ`Ï ÜÚöâåvûÓtžú-–.`·¨ƒ$É°:tšÓmQ‹›N`6#˜²:ÍÔ¹;'9²wÒ +PzâýÈ*AÁ‚ìDäÒI„/TÍüÍÙ¿ +ºV :Ž×èsŒsðÒQD?ºýSµ 4o¯ñJCóyÇ”˜ Z½¼®Ã~<è€[Z™‡BO¢¡Iž<©ê`wØ£%eXªGúQš:¿\å0Â(:æ³zÃ*˜7ˆ@Âz¸•þßôK?03‚†p–*×ýótŒQ|y&áyæ,Òg{‡T™gÖŽýeÖ[¼ +h<³P1Dl6Èe`û€¥í8÷b‚Ñ>3áØšº‚ˆ†¹ª ñwÛQÀýCuƵŽ¨ÕŽÁ §šÉÀÐ;ApE!¨Ç
@“T‡gƒåæôg –8ˆ ×ö7ífHö̵=Âñ
Š§LТ4€î£A‰’„¯!¸è¹L°]ÐÒÎ…6Í +ׂ2=‘‡ë¡yCŠk¯É]U¼Ð<kj®LžáXd8á3 +¢ÄHº’hzÓà;× +óD!ÙËàô„Ô¼%ž9&6/¨‘éTI0½4Ù²Â#®2ôŽ†?C×ûöèUŸ˜t{ ô@Q¹vªãÆk•ÄDPÍl‰z>‚çLT‰’õ¶Å…&î‹7sïL‹Fe¥+‡ûu–Æëƒsì <ãÂ^ýEUµªš Yl^ëd2E….`¥Oƒ¤b±ó¦1”º¸xVÔ„çMØ8îdNçÔ´£rH{†¥´äÍ(•Î¨ŽßÙLTW{?Å‚ê oå6[§¿_Fr0áí»ŽÁFØ[w®î)£F]Å˧ÒâÚzä1žÿ*GJäfŒmJh%µ¥gœÂ’ÎqÉåÈÈ£Î'‹¯DáÉIQÑ)ª°«H9l]Åî +H‰¤—ÝÊe·
†¯à»‡}RhÝØ’eÙ‡ íAË”–”À@(%d¦t>Jšd˜»ïkKòòZ+éI CÖ<£-K²¬Ÿ–k{¦ÚÚ£åNO!.o^~ÕrÕg“V3ËÃXç.ƒåg¯6.¿¯¤þû”¤»lé™RáPPr©sãºP-.‹Ë2µl‡©ÂlƒIH
ª° >[W7šòà vk¹,X–_œh)¨ÊÍ1©>62Ø8…‚Z«+P*õP +ØI&³ž*¦°¾ˆÃZáÈá§ý–ð—pª YêÝ!2ÌÜ™#žƒ™TS +§g!
Éâ˜`uq¹ß¿t\5;FªLY@¡‹ +9L]Õ=UñJC>÷x/Ô§€IZ¼i°¨_AËÁ‰³{ ]f°Ï/ί«Pw(ZübSÎ +}ùòågŸý¶ýå7¯ï>ÿöûÿüý_÷Ýûo_
~þþoÿx=áŸùúúõ‡÷ï“>€Rñ’ŸáÏÛ/ß¿äÇgÿÆw~¤ùßÛOøËïðñO òøýã«?§Ç»!þÅ´Ÿž] V’êÉdÕñ¥7O×odüêÍMÏ›—×aÓ0ä‹—„‚¡G‚ÿÜ{Ç’¶Éø(ˆ¤T|à
Iÿ¯IƱ poáÞ«<>zºÍ4G‘9óf2×
ÿëåO/öh{ã¾y·HîbÉ1DÞ•f¦Õœ§±…‘[ã#Ac&%îDóC[ÿ„ +›Q`dF~Fª¥zC%’s\uÃn¤ÂAâ:~Žø|8ÑÜ‹9m†VTò2
-½ÕºÚriÚ*ÃõÍ<´„s|”ƒ`¦Çpœ~>n£ÈãV;Ž³ôîNÌ•Ù3™SŸáÆû«ÐüÔ•UwGÃ}œÕÖã²òéŒÀû_Žüý5²æÿ÷|
MvýÙJ…«5T3ÄñÃ
“Õ- Z¨ggh‚|°oüǵ¾J–ÊÃÑï¥DÆï0~ÏYî²({Ýa—+„õ)×¥`ÃMÂ~¯{m;´ÅO/WœÙ®ð'ašÅ<`V¬šeSuÌ|ÙÂ’7h +€mþ8Ëâ"o~R+ËÌ b IÓã +•PE~¸É¢ÌÔ›ì,ÞKÝá:,ÉUæ4ª‰»: +w§7Ù‘˜cN8ÁFt(X“¹¬b²—šÏ;$YƒÙ ÷Òï²,e‡¡ÀÝ=ËkgÐßtƒ¡ ¤v—åpÆø£±Ÿé¸%WÚÉÏ’$å[?BpàšS»Éîp¹5áR°ÛdSŸ%"âí0i»]^q•«, 1_»CYýP°0^k\BÎ12£Ø鶚—f]™.`6ÉyÁÒwxua“Õ§æìƒPò‰g,#¥—
†Yãõ&‹Jî +rþ18†Î»‚:êß›;®õqcQë .µþ&‹Z.1yçÐJ©î0ädƒóIö€mt½+œËÝUÁ˜rW"ÀÅ<im.õ®å+‰Þd…`îf‹òCWâ›,çîc>cyrˆòºÃP¯0ø@môlù„ßø,ÓÜIöé©·vƒ«Ð¡€B#öì8ᱫ\UlPÚ †^¼†»,æX_‹¸å0,sìÆVˆþ«YB;±ØÜH'‡R,AºEÞÓØ\ÏíÇ2Zå1ûÈM®IUWH5œ‹Ï„è6aÁXglaªøêÕ·8ÉäP‹fßÍ”çäÓ›í{±ÛU_˜ÚZ#±†iIjP;ǾÖm12«]i–Ê»dNÝO¶ÁklvÄ}ƒ±˜!¯²˜/²Ý÷:HnP5ÉRÍ·ì‡1›ALùáTçLŒ +jžøC·J7Ùâ© ™r@M´ +ºÔì!PeÏ—îåds‹Ÿêeòä´[»ÉŠGAÓ¨\lóxq/G‘Â`ï†É8Lbo,¿e2õ[šmygY|ÖLäÆ ®4<Ñ^Òêâ‰Üõ¼w(iUÉW–hØÑo·¸3Ó)†k&ÞeqDµÇ…&/ÄZB|,Ñ¥1\¦A4¶F±d“±p€Õªé!‰/²¸‹âY\c§û_RZWèëÃÀÕÇáºÖ±ìdé\}¦u¹ÉD#ìEnPk—›‚ŠçåsPjÔ7Ñz1Ëᚧ›æUFk°ÒÂk!P|UõÑU×= +`›¦‘E]BVÑÝ«›¸…ð¦[#DÕfECñóëŽ/¯—kÜÁ‘Ñ~b`x}ʶlΛ; ý~TyÖ&‹;Ô|)çˆ`ÒÌ[£]yœl†B¹®®`ÌœalìD€¬è¶˜*Æft›,|LQË°Þ¡æ7Œ,CµO+œãј²æ¦–—Øc|Z`Íñ’¢F¯aec}›ÛOx&§UV¼£ÆÞ›gxPTòEv÷ÕS#5ˆ°õi|`ϯ\B 6z¼s8Œb’Éšý&‹§å0¯ç™0ûQ²,@ðK€ñ”ñV8n<U›Íˆ1 ;Œ—ÀJù&KV$ +R^ÕhÇB6ÙÀ‚T"^3e®féññ„‹µudrJ!+9yÖÏIø + p)8°F‡Ä´4Q˜/”å$‡%.]
ž2àÀc‡ëëÍò´H>Á ’Ä+føz+xý¬Qô¤©wƒŠGí¤„lGGô>,l=}dv¶[EplÒØؘœe{<_z_m/Öó]’E"›do9&Ûq~#ï³ppõÃÞ&Ä ÁTopÝPp`ŠÆƒYqB8KZ»Uí€ñˆŠ…{—£~ý/ØÖ†<ãÒd[Q1!#º?¼œawgoŽ®Ê0"--]ƒ2æ×Ò
ÖÞõ¹•¶ÊÍ19D¹ábáÃý4ÕÄÃGÉ^Ûç*ï=üϘ=‚‘*X]Ž‚'s +·þÄ"ZâG"¼»ÀÁ~ËDˆì¾¬îÖµ´Õ´Gš-±îG˜RÕdfR •é÷óP;ŠìQMaÕþU”húb¸h'•in³Ù\X¯joPC4±PØ U‡È‡¥Ö +JÑ¹Ê .0å‹ó'öÀÒìa"œìû=”ÒRl¢L¤fƒ0O6ruã4/`»€Ò«Öá´ð¶©ÑÆgžæ‘>±x¿ÖùÐ +§Xú÷ÖÇA³¶$ä*ݦÙj6¡~Ïè5$ŸX–Õè‹5:ÁhTôêì&퉅ØÖ!nÙH]7Öéê·•Á jTÜ@$Ü@¶Ž‚!ÑÄ4•Øn¹Œ7Ò–Læ#[3Þó90ñïIM*àšjþþuã|&…Ýd +QìjnÌIõù‘«Ãi·
V.î\2/yÅ6‘èÁšr9ôF¦o,òÂÚåî*0*z³ÛNƒìɘÄñ:™Â\ØŒWs«½ôXZ¸ÐE%Û±M(5Z>ÿ\¶ç +±-sÖ<hÙqÿüày°ß.ë™ Ê<±8‹\‘mv½bÒiå6uh#ŸéK®0/O +a©&Ý`«i¦–<1¡N-¯må%n¿Y“ñÙÏš5sOíñKßÀÁÓ}5¥Z
vßU›U¡/`Ù›1†<P¦gê¶-mŸ +Ô¥kÛ¹ôÓL]OYÛÙ›§wT™š¥¿B‘6ò*€ñÎÅze•ì¥Ý‹ÊÀ©3ìcþ«nÕ3…žgí-Â}yØÛ¦¹Àj9‚ç²
\Ø5°ñ°Ãf3»óO©H€;‰ùqóUI—äù†gŸ¬ìy˜Ù[„×w¸‚¨³¾Æ(ŸØ®ãå\5ÓçÔt*áà*:I^²]žú‚~¤Ö÷%vtxókæ‹æÍ–lU““]L„}ºäý +†‘ÈD~‰„Q"¤T)z"{Ξؙ\&Ç0~Â>õVïMà.[Θ؋9›v¢Ü{¦ÛpbîM¤ +˜²g2ŠV¯¦j±57÷¡e¼=,•³ÀÁmYlA—R(Æì 3è¡så'êž´n§Jb³Y„~åË_¢O´<=`ÁvØ#Û|±›šC] +Iˆ=‟Y_pUË+$ULPË©U=‚Wá„#EèàÙûé/”mé•Be.æ,~#êÕ˜ee€×ï#FV•û¬£Î´ÉØ«9þƒÆÓÏÿži÷(k\€Â‰N?ëÍqËÏn'…>°Á;G +mõwìЧö@캔úY á÷q‘A–Zk„\¤ŽÏ%6aÙ¯P†Ãœ¶»ÍK^q1È9BoÍeâ6œ€uUf
É_a½+k“†Â‹•yÍšH]\ +ñ'K9ˆ_~[2p“-…mòp˜¸ +ê ?=ùàZ=ž‚Ö‘7¤åXú¤ý莕ê±nÚ'l¡/€roŸØ)çügJº0Þßa[Ò7û‡ní4ˆ¸rß±C+ýcìGðsÜ;PA½cGjÞé¼ÏŽ¡. +ôÛ«;¦T/. +<äWöw@™EÑ+ÌÁŽ{mÓ¶;Ä“'¶§¹C¼¾7š ßK·’Ü´ìÆdß‹Øh÷^e&4‘Ù’N½{‹»µCé“ß¾~zýô‹—¿kûíóûï~üüŸüéíO?}øñYáwþþÏçóúùùí§ïƒ>€… ùôÿ½ùòôù)>^þ¿ã#Œ?o¾â~ÿúòÈ?<þò×ðx/æß~’즦O‰,½90”>÷Ÿ#òÕ«›ŸWOϲ'ÙÈ÷OA. šï«c4ŽŽ˜[Z‘H €v‡–ʯ\Z«ü’ ‚«?Þàd¸Æòø2®ÍK„„«Š±8Õ
|ú³=ÓÞ¨o§›DÚ/%¼ 1ÅŽb®yl
e©ÊŽ*ª*tX'ÕåoL-ËT/ìR~dŒR²EÜnZ[ä¤âK^ãUÞ°mºŒí0ÉÐr\Ý"^1†À½ãˆg&T!ù!ƒæ){„HûfSÆòI‹Ÿ¬½Åc‘¨ƒíÇ'U½ã³©’Ë +*rо*9äf‘ZXG;–N…! é›qÆÛùz†Á±œíÛÏÈ”?þßG|‹ìÿâjÛ44Z*a`øtÃãêN ¼†2ËVt
º-üj‹
øôƒQÁ Yu5øn^-Ç›íè`:)uT\#ä‰×–×(Âãëm±C¶2ßg
QçˆÞêw̺XF“ÍŽq7f‹÷c;J·QØÙÑrôxáŽçŒ6¦)h"i(ø†g“Ó(°(,¨Õr.î›Êa¹§jØ%‰!4-…)« +u‡~åñb+:ò”áZrwB´¿Àž-%x¤Z„˜ýútÅèÜñq®½Aø‚6ß ?úZµD¶¥7¯qžƒ;Ð,< +¯¦×ÈÒÜk+1*„öœgõƒ´)ÅŸl&2] O^urq,ÜêÞÂxVtŠH½ªM¹Pše/Su[•‡EÓÞ—µO +Dæ‡ÀÉˆ›ƒØO€.©áF—D»Ó͊Ŵ〽§DMêÁÆ«
#ݪ<j0†…–+É•¹"ý˜^$âvØ‘!‚R¿CÌMq~¾p òÓSsöÙdP8ºÕ€L¦ƒÙôClÙN1¥E…ȺÁCŸá[8ÔäG%NwXÚãúÖƦ-ª”>KÄ¿ò´Cʸ©!¤<…³jh‘9‘üaZ^&"ž[å¾AOA4w¾ØÎ^$‹õ”/ðÈ€…1G%Êžï\¢B¨T¯ÖÎr“B¿Ømaæ ²ð€1µ>cà9ÓÝ´¶$Ž^\ÆL§PÍ58K«S'Ø%4ýçZÂÌ’=q ÅË{,ÝLêÙ;/*BÛ ‡€bÉÛ‚wœ-Z-ÉÓ€£å<|™… rôKhÖ`V!@%Šæ +<¤Va‹ÎÚà±Â¶A_tì%™žW{47ºË´R¨G$ LÅ³}gø`?AƬi
Šª_!·j[ÓHêüÌÄ«ˆ Ö"¦Ž¢ïÞÐ\è +U,劅mÁ` º!zXžZ»ãÑ0o¸5êdm2ž:µÈO,§d°³Có—=ËXÊË°m«`ÒÎõ=qœj·R„6¡{>ƒ¾.Ì<퉅{²£]×\m
Nnñ…öÌ5¼pYÁSž+HjÈC÷.í˜Vu,ì3Ѷ@N®âsvxoáˆ5/ Xbpo@UAO€–óEì¯!Ãõ}‘ +};S`¯è[ß<Nó†þÔaqÄž¯A]d]uÿŒ%5Y>º)Ìk" +sÀê\ÎØÔ&œI7¶&ªÛì…”ýíK
m}~bÁ¤p-ÝCR2èîÞ '‰éŠ…4T¯,!D·ç
ºI¬sÎÝc'ì£ÓËt;F£É¾‚ÖlY9äúÂÞ—=ÁÂÔb½Vjͽ+Nn‡ÓçʱYK_–_V²CO0ìñkF¹w[òÀiK0±÷ûþ±æ‚Q 嬉×Ø;M®N
.åã\«AO%½±!S²ƒaóê0vèÆÃ<Æ+RB¦â-„:°ÏM7ä>éþ|bk÷ÛÇj;ä:OK;¼V{ÆÖXmÊ›ÃUÎ;ô¬ZsÆr
æˆ`±éc_3ÁÄcg¶˜"®Õ¦’—/]˜bŒOlñv„-T–
N«˜³<±n+#JjAòÈok}Äf Í–•ó°ñJ°0sóXÕV€>Éìç>ÏÐhúd—€ +Wµ“œ£4¡
úS$ñIaÆBN‹DXÛø@N‘gÇHU“'@·Wq퀸&2õèúå bj†sï¸Ö!¤6Ó"/„Z¯-,,¤
•»Ê×:ïf(‘2‘÷²ÔÕøŒËmà«”_XPUó熥{ʨ0cÏj+Ž$ú@áIÔ!jÎ3Y}ô¨[¬ÏiqVå)®jÑ\ýç>¤`w®óxxIWjPçÄ™¯Ø„æ¼õ„I§&Øñ¸ƒ\DátqéSlj0è Zà;v-+v±q§Tbº &›)Ølsb\}‡Û<´pš¯°gµQ7Á•Ã@C¸ +'a<õø“Œð¾‚n3-!bÒBÙ(?¤À  4jà¸vãs³ +;z ?E +ÍD·¥Fï$§µ”H¦A¢Ûô䛄o©P"ql&¡§»
J RšE Ö¢RšõlAøëÀ0$v`…e/Âd$5ä._ÄåœÓ³¥‚òµ=rh€–F(hð|)«½4‚AjÅ>`Œñ0ÓÞ6¾jÙ@h_1ˆ`ÓèØ‚Lô`Â’ôȃ¸Híwl¹¡ +bú áÑí¾Â*—³ÑÅ(?õσÃsp¹ÆÞní@Jˆ›pvAP%Fò
p3çtÓHÀÀ4p=Z‡¥eœ”u$P“d,ÛôkìÁ’žx·Ážð5ЫX æ*ÁV<Š –xKÿb«Ð„¯ÙF·…Ì샚µz§†ïå[,˜z›@8hÓ¤áD‘ :.½’RBZ{ƒ%‰WRÒiocR¯eàD£L…õ´™qÂw\™°ƒµmMn”¼}\˜™¤oä0ºÂ$á‹L`iGGæ`Â¥»¬„†¨}±s¥Eln`’8ínA"|Ҁ¤lF× +%ãkë<‘ñŠÆ&ÝÙÌΈè#@ÑVÊ®/ý¬ØÁÈ…kËBV{¸
}ýêåÝøìû0*á_ÂaM¾="TqÑ>jYÚ +qˆñ¥‡AQËv Ò‰Uçg +âÆTKêúIü*
Òy–ÐQ\ÚUÄZR:î^¤Ñâå=Øê.)Äš-ô3Èj +ÒÃB×óȃš·ë¼ÅÚ»Y¶x;2ãÇïþ}i¾Uoª¼¨óâãÑ‘ƒ.‰½ZØ_â~:ÿýù³|ÛŒŽÛã_FÇï^ž½*§™ýø4ŸÔyY¤ÕõM?<?¸ºœðÓ\«Ê?¬êlùpüóèø¤ªÒ5‹É,ŸO«¬°¿Óññ‹¢¿ÙÿêëEf{@~z8>~[ä +2þªÌ—÷óÞžÏ{ƒkòðæ½ä~Ü»÷îǽûqï~Ü»÷þN~Ñ»2ðmãÉž|üÎ|[xt@#ßiö9›ŸÏÒiùåý`%6|ð;œiÈ “ùb–Þða¾ÚÐ +ïð ´¬§O³Ïyj/´…ŽíL<OWËež§.€‡¢¥Çf:¼yMwѽ¶)œ}'òâb™Õ§?2L‡«¾éÕËþuª*ø»T'ËE6y½Úö‡W$ƒ5õ5O«'e±¬Ób¸ký…·î¤ì䪺H'Ùù$gÃì,ºý’mCøëÕ¢,²¿Â°ðÖ½œÛîx4)çeõË—Y^oˆP,õ®· §³>¤ÙäH28†7»«Äù(![ø2\'îB&Ñm|ùs°/îPƒ¼)ó¢>³Å8@‡|—œ{2:óŒp@zhK
q/‰v"‰ÎËU5ÉNæ‹Y:<Rt‹PÑ8µ)—‚/å"«ÒºÜ Ü#‡Â‚±Ò“òrQ.$82piö¼J³|rW(að8ñ‰
vÄšî@oÖoÒ|“F><rÛºí;±
ÖWŸ6äfœqÉ^;‡;Â÷š†çÖ§]¤VZåõì2«‡ÓóÛ;7ß}_Únyq±ÌêÓùjCþž»£@¾Ìª™}ÉAÛ¶Ù»‹ïwžÏë¬ÚxöñÓìbüxt|þûógÍŠ="‰#ñÓÐŒ¼œ±_6;
Ã@~"P+Á4HH ‡rGN¼©L¶õžž¨©é%“'Ê}Wñh2ßî~0ÂnîV°’VR±U¬q%_Zz«ù¯Ž¯h€7Šô^áçE[]ÓæéíÙd–è‡`¨Ë^Xœj¢«áü +Ÿq¨dó¶Œ{²~‰À¦Ô;سN2¸R¥ä38¼Ç°{ÇÁ´1…Kº¤ê%˜¶<>4o{ŽÆ3IBê€ç¯-.Ij#<Ë)ž˜ÏlŠ
ïë &ù\°6˜ÁŽ,0[`¶ÀŒ;w j‰ÄÏ@9Ƙ¯çÂe|À¤ÎeØ’«Á<RÖ·eéÈO(祅慵ƒ!ü×ZÒ~)ö/ÊäSó+õØãËËDö±{TP>¶MÎ> ßÈÎ[¢[á‹f.=Z:ª +|¸èŠ.°â×¾P¨Jwª~Õf€ƒž«GÒ¯ +H‰ì—aoÛ8†Aþƒ?îÝ‹&»ÅùSoƒuZÔ{Å}hjlsK‘:ŠLâþú£%»–“kô*Ý’km{&æ£á¼óΫ£Aïø²½_îS©tB¿®þ±ËŒþÑ{uÔ;žX#Ô|÷Ó[&]ññ/3úÓ™©“¤¸ãÿ+–±Cÿ÷ø?ã÷×þ½Þ¿ŽŽG‚[¡3ËÕOßû`¸ýeÌúß>u–òÕ¯;>7†=ˆà!CjõùÉT¿L_ûÃþ[ îß|P$OGnéŠÐ'_ˆd +ÖlƹKd'«¦g3”IÆq¼$VÜ6€û–
÷¾Í×_(änV¤•„)‘–÷®ny‘}芹<L]Èb0ve!úõ
<ð—ø¼_F¸ïž‹_íöe³ÃKòìÍ.ŠÔÌèÃl–“íPŸÏã–Ék-rxڕɨéZSè+v²/]ß@¿ÚÞöpMžÝö¡W®>J¤\úÁ7Ú-Õ,žªjJp²þ?ûð +6e9½5ô_GŠãfàAV„õeb…å”2/¢ÿ²A wr¢
¥?™:é3b‚Û2˜ø냀·NÀáštEÀØUºSœ“,ðÆ–s&q·ŽŽó Ź¿\0¥HNH·ÚÀdƒCž£ËçB>NŒ6‡F"Ï$ã”’²c–uh¥Ìÿªû½ÚN÷f¼âF¡íã®IWÆk¿·ù³þoð½—(yñ +7à›ðhšw©¥6ã|tEï8¼ûµ^pk»:À5éŠ:À{Qn“Ý +¶:î[w’¢ Àsy.˜ºÎüˆÔ¿ƒâÑ´å"ÕpLfN«'Ø! ŸªÐ‚*°Ÿ¹/w€H_.¤¥z?Ѭ7<:ž|¾z[d´H›ÏßÝŒ„d–nð)©%^[»îŒ¨‰v†Ó•aÙBð}1ˆpE
K„Ãw¨Mxp ¤¸©(•ÎÈ0«
̵Mˆ§¦Úd¿!ΗEûaEûí h{¦hpEŠvP´}R´?Œã`ÑöNÐö΢Ñê¢ôì gˆžÚ¾éÙÞ´ƒžôг+æò\0u!¹9ý™e
†Ïm2¢[ÁV‚f7)ZÓTË}h›¿©m~ÿ™Û†?´Í¡m>Š{’%[Þþþž Œ£§·Ú©ÄŸíBߣDe)}¨ÅmäNNpÔ³~ï¬ßï5…ûT´;Êg(Õ·°Åö²É‘êܯ©Ù–fJóÝ::8Ï +÷©<hw´ÖPªo©Ác‘MžˆŒaÒjj¶¥™Ò¼ÁÔXG‡÷j8Pâp[SĆ÷kòŽ-a¿†Yfme|qžô{'ýa#¡)^á*³ (…"Vs»¶TœI>.=ƵMN¦´‚õqîR'™Åɪ)ÁÙe’q/I„uã +÷-!88¡+p›ï¾.ÎîfÇ*¡™P¢îÆUE3#fG
FA%#ÒZÄ”HÙ·ë2•uøûWÓKÀD;Ãé\f#á¾)ŠijRïœld2ŠðàL¿£@¹MFt+Øê@0ÖnR$˜Ñsy.˜º(Ø9HÄlærX£Û®ÔåRа4]Qƒ3X
œ™y8ñ·=»IáwÞfÕjƶ“mIRê;”OŠùÂúÏåZjÜÑ=Lko×Ýy©Un™ÂûîQ2±Ú2-¥ºn˪E!%ü\ÊààõîÃkØ”æ
&Æ::üý=ƒ’›Vâb4#“wl óxy´Ì4š€e|$)Î
‘zËBC¡1×Ã[¡%Ù¡¡d¨
Ss¸ÕŠW5Oª‚¾ N.…";4?éøØ¿sm‚“)àj1Î]ê$³8Y5%8›¡LzSã%‰°¢nNTá¾%D¸¸O©np]@ ˜»YÁY½ÈÐL(Qwíª’š³£ƒ¢’›ï`žÀè×ÔF‰´ì¬§úÄã=³ßôá‹÷U¤Î.ð+·‰~Ù~ƒ™HúVÇ©*‘.ÙŒF¢ðïïWúܵ:C±K¼_kX‡®¼7=°Ø6pÝQ,wž÷“Ù|p5ÞsǪ:ÙÈ©áá· ¸‰7a»×‚l#ìL0¥33o„&Þgâc7©ÍtëRüqŸy3ûŒn#XÔÅlbù*ÓÉÓ¹5”ê:?^,BJø±”ÁÁëݯYv·4Sš7˜ ëè] +%
ìxRñÀ0LÞ±%Ì㧛e¦Ñ4,ãc,Pb®‡sC¤†K’Rß
½“¡áÐ’ìЋÐP¦æp«¯jžT}œ\ +Evl~Òñ±æÚ&'S~bÁÛç.õƒÎâdÕ”C1“ÞyÀxI"¬¨›U¸o .$>Ä+„›\(ænVÙ¡™P¢îÚU%5#fG
E%16/°Î2%Ò²³º²ÄwÞbküiu‹Mb7ð®Ç¾ŠÔÙÞ?›øàP¿ÁL$ý«ãÀT•ŒH3£‘ðVHÙ÷ë‹X×8/r†Ézù{¿Vä5ðfoýàð6Æ/H”=âHÞO;ÙÈ~áÁÑ&ÚNç2[0¼Z'
Êue¶£,:#Ãlש +”6âKA6‚±ªIÁdטØ4$l‹¾„Ý%~¢Yˆ]gpš¾wmY xÛá—Žÿ$/Ù¿~{ÎîáíY{ðU3·°›?Ú¢M^ˆ¡±&‹XÐ\·{@ çòÜùíΈG§W'éýø:ÏhÐÆØX3“)4¼/ƬÍÆ,Ò„"o•H9úƒŠdðÏl¿ä™‹ž×j`p±†ècÚ{/b¯I[Äq¯‹%v>ÉmÉñRNñNÖ=ë£h3’òkÍYžPÜzîeyLÔÔCc”2ͣQÁJN›®‚æsµ„ïAvüdK)”»ï¨ZÉÇZÙM¬w"WäæÉ–£!ºÖ2-⛼s"æxËåÁp¾ÃŠJázJ@‘"áÄ1;J$ý©®w Î@ï9B©[INVNñΦùBŠã1&Œpý2ÜŸïh54G pûýÛœ¥¬fyG ã‘Èœ%\ȬQ;VÊ@dÊ_0z¯`œvµIļ¬×Ÿúù->ñ;«gVfÍ„¼ )*†Çm¸3œ*«)ÈELp$}…é<Èà¢,jÁ51 +Ÿ×]B qø5_¨TY!
×ÎowF<:½:éLïÇ×yFƒLV÷Úk¸1Ö!t.Ìá¸Ô%Žç +H‰ìWkOÛÊýùó‰J™—_í' +êU)UC{®®ÐÄž9uì?Z¸¿þî±I“ +Sëû½óõWçwóÊÎã·×—E:."òÚ6¥§BØYÃIïÙ8Ÿdü·òARÄ!Ø6HnMMT”˶æ™qÔÖ0/
ýÐöÒ$A.¢÷‰Ê¤©ƒ*°¡goÚ0¯RÙ”O*³"2¯ÐÅös⦄âbvQý*Íx²qbØ2¦6™<Må?¨Ô1»¨Œ“Q®ò`jÊ2+w_ª¨A×0&ô"ä'DžVúé”ËRÛ~…-GDÅ-¤Ú()Ò@Gó©0§Dp¢-ªsú’K2—©È“Ô˜ÐÐZÍ“Ù<ÉTnR2¿Ã€rv©}÷щœ ×½£Ñç³Ó±ESLŸàÓ©™WR㶅LoÂļÿµÑóˆmÎä› +óšæ¸Âæ~÷V3êЩï¯$ oRa®±û#_§|㨨iBm8´ñjÚ9KÅ|ª‚]ášhçήYžÈ¯Jhƒœ}VA
rg¢È2%âAÀ®ŒcšOa#G2™d²¦º£mtzË%ŠŒ®‹T†§;'p¡ù$¼mQÌ.ÅÔ’(Ù™Á¦™®ÔÈ$‚£F¿¤öj‰àËkT-%s¨üî¶Ì w‘l0 ”»[+¦SM³Cµ”ME˜|þ±µï§mkÅóª˜6m[]v-¹$s™Š¼.oW-iÝ0™Í“Lå²CzªÉ¤ÈjúIw´n—Ž
CÓ}³"ˆ@ŽÑdÞYmœifÜÖ0§ömZ)›½HÝLs¸ß7>V>„moüî‹s˜ÄY.bó²{„3éVÛÒ,ÊðÔÌÝé„K‘ø¯šùÔ˜Ï÷ý'å`SN2‚/ÚcV+ˆÖf¬UÖÍ;‰cÖo²¡¬áw÷bÕ¡io—Æ£l.ƒ"éEQ£¾Ý‘Œ»ÐÂÛÐcà~ü¥4–áE$ÞÜΓX>#„Kà2vl^ÚKûqé—F÷BÕÁyé3Æ~ljml%EÈãh>æѪ9ή…‹¶@ª.Ÿ–\’¹LEÞ µ.éÓ0™Í“¬š"º" +Uš¥b>UÁ®È‚qüÂŒ‰è'©üƒPust÷Ä-T“I‘OÛÛ/lƇÜ/5;W3Žluéps"|«‰˜çÖ—6RK¤*ŸÎdn.ÏûÞ¹ê¼ímÓ\Äöm³•¶ù¬Ü¶·Ns¡Þ·ÎmÓ}ëÜ•ÖYoû¶tÝd2Éd>ˆŠ4•áq4ŸŠßÖ[ +è¹Lo¤öè~êT,~ŸJ„I*‚\Dï•IÓd¨À†é°xÓ†y’"
äïÕ›
Sº,ÒqÉ80TWeb<‹ÅÅìòõ«~©!«UÈÆ™YØ6¥6™<Må?DøΘÝÔÆ ÆÉ(Wy05e™•»/UÔ ‚k˜ÖZËZùuEÞgu»KÂÞ\·]×Ï +èaʸN1‡òÿsW›J=‹1×ÿ™rp]Àé×ÿ?êÿ@cFÐO.ªß«ã´"m;ıu» èú` ïÙ¤LG›?Ó«ÚÇÓæQ¬ƒ¬º_f.x§ŠÊäTËž¡W3øû>:|®þ>Çshce3ç Ìû]iä¶{¶f^†x3(ð¿mcÍÇâP.^EÝsuuUÁMô{Ø+=zå"T…_î‡ôÑKe3+—¨«ßY¹éiW»2Öµí5$qàõ®W½Ô÷°½ð¤»x©ëÙ´\dŽG«}¶çW·ávµÄ|^A]9PM +Ö8„XßÔÔ1«ty\,Wй†Úg¤,*½Dt_ƒÎq¹rǵWù5è<r×ÑK ÑqpâªàB}¯¢èªÝ©®¼óœÊœ8—´w‚Ê jÙ/B¶øë¾æDÌ"$ÄWa"¥X‚„`îWùm3ÝiWÒ€é›öÂU¶ +¾°›KéÒ¸íCÕuÖò¢°€—ñ° +}„Û²±Ÿe3n“qûÿôõÈ FIÀA^‚`>…‡…µJ–=e`Þè4?~õnDîV"X‡?ìX&XDÀÎò +…ÄÆ1 N<RÄ(%hœ·Îr>ò|ƒºRbB&\a«©rÒ¨xÔÑV¯ŽÙ«§'†™ê¤:àÉVxäVÈ’ÄÈ|¢—ø½UÝrDS°0D+ +ç´ªŸæÂÀñŒÚEö†}JíJLZ:Q„ÃÒå¯^¹ïî½n¦J×™päí|®ïP‚†IDáAGð…ÈÂayp?ñLÑÄ$<0—Ž\–@’ÄH‚{·nñ†ääȸ#éá®Rs4^iÒHeœ„¦PŽ~Ðrtê„Œ¡dS´MÌÑj–ö:™à£°°Ê(ý—úây[(LŒ-&nÃ
•Y‰õ© +"ÇCìúĪO×K^…$óžrÜdbk¼uªód¤ïõßg«'6ÕÓ9Äø«««j¦—Cõd¾µzrøQ©C¡CÔ¯ŠáèäÁÌ*Ö3g9\ä£@ÖðÅOªlºW_xTÞoà-‘x=WsIœ'¨±u³©ŒarÑËzÜß7€Å·þ8þØtÚö¯¨Kw/yhƒGÑtÖõÿ¼ÿéø:¸—‹¥Àzù(Öq.„Iv)&y°Þ +heà-dI¾Ô +y"P•#‚jü$b
…š;34•´n©ÕHëÚúQáöëè ¡=A¦é- + +òË0!à"Þü¸+[ÜŸ~Ì”jÎY•7ˆ“Ú’²[F¤u»;PË*²í
£WÝ×î ŠésA4bvY³îCÅýu!ZL>•Di"6_c´½‰þ‚Õ¤a½êµ~²}Ž¢îZQšg3²¬ÖÓp71EïÝ œT‘®]à +ßÚIå±Z;‘ÒóÛ +Ì‘O}ƒ\ÊÙ¶ÃXjÝDàè‚Í; +n@)Æ!umÌ“Ú:×z&Lj‰u4‚‹äl´·)£ŒK‘É@{–^"S±´(Ž)_YŒ}¼¡«=UJ:<YeõTWSS|¤.oáç™@»ž: +±cãÐ1Þ1ºåËZ+Ö“{Ò%íIø¬%ÒÁ®½Òj@v¥ö$µï›/e8ʼnr¸Ôryyé€z=±Åg_›=Ð’`^²Çëý/Ýé\ß÷¯~ýiþêÅÝò—î–[_õ?ùÝÜ›ñø»ùêÙ79}4õñߟƒÄ:Ú¾wôüØGrHÝÕêþa±ºYÎÏ‹ùÕùüåânÿõmèN¯—‹÷X½zû~y½ºmsB(®áÝù»Å‡åÃòÏÑ뤨þõõÇO«ÛÕòþ~ýþÇõ=ölJB8°iaŸ;¼i¤À{jÓÇÁ8»ÒùÅßË›O<ÂvhF +R¦òAÖ䛀-r—ªþ æ`N%©C)‚7M—WUäz=¼ýÙ']ì–ƒýܵŽw°v +ž‡ˆåoÉ„_ó½;K± ³¯(ÜŽ®÷,j^+Ä7d¸³tŽ +Òciâ’&‡«ƒkàýì?=Èe÷üßÍwoÐøïñööIÆ9ïYçË®w<mˆÞò媟åhwRëÙ:
.¡Ý(,ÞC*°i`($`hS_‹œ”òhMkÿXƒ~"l½heÁCXéDƒ7‚G«Å%ˤQß¿F±FÓØ
-³ÍĬc€fèÔð«6̼ÛÌ0v +§ëü¤øRqBõ•n+{1ZG³Ð°Y÷ƒ>v›lZ’ËΈ㜱Bê +•®ÅhZÌå6ÔöZC¢ßÌF ˈF×–¢ýî¯ÜÚÁ' íLJÓXÁêíý'pJ¡âkëÖc9†ÜQ3D±À‰K~+’p²XSÁh|&™Â¶[ô#FWÁˆ‡E6»JÊ£zÔК3Tž)zN²‹…S¥PúBÛõ˜@ñ¦jqbàqT)·xT¿¦«oNôì$Q_ \Å…<¡Gá !¥V„ër„ÞDzûØK¢"ç(Éß +¯"Ôú6â„pÛÑ&¹4/Œ.µá%N\î|ïç“éoÜûõj…›ÞvHóí»%ðå°jˆÉÌ$‡ÿ§oÉ“RЉ׿Ê.Ny;<TqØ‚Oä;î
le¤íKÝð»o¡3_]BÒ7¦ìôÐåÐÃïq;N.¨-¾[?ìY +v$С+"Êæ¹áÃAÈCí÷ÀBìæÛBŸñ4=ê–^îS‡… Å-GÒ§Ó“¦ª6ýè+¢@z· f¸o +Ê“¢óLŠÒÄxK +.˜g¬
(Bì1O(¢ë}ëðÉjñ®CåuXXÍõ¨
™cÖÁµi±uˆT–É#NêƒögÆ>¾È£L–o"‘^¿Dº’¼tm~>:‘Ì%Ðù‡YPK¤‡ë:ØIñ$ç”ìHÇY“®N\íÖÁ…»MBqP³{! è75q¡bóò¯`§w–&=\wÝëÇnóÄCû×åXÓ³ehLš.ß½¤ðDE*¯…HSÌfžNB6E~±×()ö¦NT²”Í0Ì^ p +ÌÕEú€#RÌrAˆøȌВ`ë;GöXÈÀUi+1/‘0R—6&%Ð.ª+`Üæ:úA–ÛF`-ÈèdÚf$PÞêzÇ'Ð\«4‰# ++G´8&UÂÄã׎:Œ™hœÀ6b +Ÿª3ÈçÉëÁf¢S¡‘¦Jß Èš9ªŠ¸èB# +fÊPõtvØŽÔÚüz?€ÌuôPÝRÜþ‰Ñ
ìÃI]€ähçìšU;bMÒi;¶*ð|‚LTþ…£Ôß;93í$ Žor2—N O«wh^ +pS:/Qk¶§3z΃€Yå9GÙÛVåqXãWëƒT¾¹F°Î•Y ÛÎh„§&HG«m€4æ:õÄrÚTR§e«œé¨¦¸o¬šêïRa) ÿ |κ×ÑÄ*#Tè¡Û™áLô’•!ÕYXJˆ*d:âÐ9Ó°@sj†à’ÚBw]5^‚*>„$ +Œ+ZAoÇa‘ +Ýí2& Cs¡4µóàÕ²…¢¡]á³Õ†a¨Ð=à HEFí<¾é +∊‰P׃4Á¿xð7Yk]bégéò,…€6âÓ!ôÿæD¯–gé9 ¶(
ÁäAC”b¢ôýÖǸR—HÏåŠ{.ȉ6)n¼xw4ÀM•’˜O“`MXö"zNÚÙ)é\K +¼áˆs®–0›Ë¼±]RôMß&¬Äf[5RÄ%Š?70!SÔΫ†D@žÁ¯zùšše_ÓåÆÌæ`°NŠNy +4Ñ/¡š%›Ðì\ˆÑKm#0‘ëÑXZ3‘Éd42©Èõ¦-|eÛȦ(òxtxV\ +(>vù#ÏËúY9]kmb/YOž¶n¦ŠÀŠ«ÿª\RÃ"×ÔÛ `„ÉÅ’ù%APÄPšð:A—¨¨ + r¾§<O@¶æ¯
û9°'våˆíè{w¶ÿ¾UR¸§…ítªØˆNp“pæõ† +š +6TØ%dÜxä3Æ\á!'Ñ[Þ …çKè i!‚_+8x§—ý9ý6Z+$0=1RG‰®Y˜±¶vþÚP-{„ÕQÒLQ-æëˆî¶,j¿×rL júy|²w¤Ÿ·Ræsõ$º[Ö¨4¼´ôÈ)®NRƒ²Kôihœ6ˆ€.ÈÕxä+Z¢N÷‚ÍìWd
=°ÍCGGÌõÚÝd’b³ÌR*˜#á6*v÷ÇC^à+Ì]-_ +¼ÓÅj|´eªÞ4ÙQ7xzX”=‘=ÙbÉÝ9(c°Elm‘\Ðï˜O}{ypM š€°Ñ!Ü +½ov{3hãÆïó®Aï>vh®ø½Þ ší/ÅòûAµË¶Y~:~ZôôêKv€;C|˶xBvl~…¬*CåÇžiR î§Ì
M®i烬*84ËÏÓökïj°Šz¡þ˾©Æ‚©qiI¶Ð˜ +àNÌÐòóÀDhh['êí g„ôAARæ´RDàŒ¿£Úm« +8¬¡Ð+•T ™}
€³ JÂuÔ‚ ö°Ô,€èî¢â +´d×BIŠnÇVƒô‡Ã€UÔë…@*@!–Š.Ð_ÂÈ%Š{Ö†ÐÒoá®æÁ8Ä{Ð@rÕŸXÏ"#5¡zÊmŠšX¥˜ÿÒ^&¹UÅ@]{xHä¦ÜM~Æ™ 1C( 1aÛçܲßo!2âÏvÙUu›i‰”z5wwÈpw_|k}9ÄLCë‚Ó´y-zOÓ£… sÙh8þäžeýÇîÀà=W£¼•û3ni°ç\Và©(oS£µùUļÉõé3Ë|BuNÉe_¶ÇFŸÖ¦ÚŠ^IrŒù<"âÌi_—d…¼:É“²õˆDb~^,k§ã#ViDk`Ô¶u<×&ø©è¸»qŸš#êp£éÕÂ}Ys—ÖâHÞ +vH5ÂÏÆýú&U@žMž)fšò¹Äi˜m ñüoômgN.1r +Ž5û‚Œ¤Î2GìÓ‹ÐÐMRÆŒÕ1¿rVS$LB:Eü%_¦6Â6çŠ~?ÝÔcJ„l±_z.:†Bÿ¦7A§ù{¯N”Bs$ƒQ¨
·ÉúÆE<äL²G$¸•×¼T‚J"¡
é9 +Dœ;¸ +Þ
1*¬k—¯ár’§°•“)¬À0:5?:ÌqV!1„BjÀÿ~ÅÚêvS)‘Õqc*Êvv4uR¥Né¥ÒÛXWê²o©ÝüÚ¾Ö7putáS|YH…q_ÂÇ¥ +H‰ÌWmOIþóúK¤D:]ýÞ›O6&+NÝ +’,§ÓÉrìY fwù÷÷<=cÇ66·w—5<5U]ÕõòTUªƒõQ‰©ÅD§&Õ!éB0Ù÷
VƒsVý\}¬²zýFýT½Î¯?7êpzyyq~;½ùr1S£Ûû»/êÃõõå%J+ïÕÙÕ+cuÐ~˜“Éb´EcßY—ô8òùëg¨Ýú£†ôÖgäœY~·ÞàèèÌ‘Ñ.„à ÑQfr0¼]Œ/f‹‹ëvzû ¾Iœ.n/ÚsÕY>)Æ6óÉÓÅ—7ê/àx‹ßJ+]ûãùsöP•ó*ô×þ¸ûð¨ŽÛ…z}úéûÉé—éMóáá¦Ù8Uöùj"jŒ¿½Ã»ˆduE¢®µ¼2®vÙ‹úTsÒ±ÂÜŠ¼€Ãeù6Ûž¸u(‰í‹/q°Åºýü{Ù°ò}îÎ{6¿ë¸ŒÚq{·˜¶³f2ž.¦“ãñäýôf·‰£Eöœ4ÓKH·ç—ÍI;ïxum]X½_L¯šEs»öÚD¸¬}r}ßÎÛæînõþíê•"9ó>¥&¹§”f—žVºíŒáqžýÖÌîi¦kÖrOhÈu«lò%ßî‘€«'ÖUõ8W§ÔfêY2íÊÑÑgêýض¸å\!Äó‹¹ß”"DDWË¿£óÊÕ6›”Õ + I”$À:•jƒt.f‘¾ŽÑ.f•äZ’'Å ,Â5
†[÷dAÁxðâî ¯"àŽ2ôÔ¢-¢¼ò|árR‡Õ
ƪ5¯&Y{v& !>‚z-å?sfK¶ šƒN(c©c0)`Ê +bIÁ¸ØZ¼ŽI”AUE³ölñ
3×!æaOR¸zÊ(1L¤á9z…”\îãÊÕã+ þÀ$CgrØ" í7dJ¥;7JÇ¢¡Šš!Z¬³¥â»¬êdV”Hì +…b] ]â<Ê@dèÜ$ +zYß" +} €lÄD>7*`H1ª‚ávƒ€ä¬Ú\ÛhD=T±¬v³¡Nï.)¦á†uœ,Ki +¹«2”eÎre KBø‘Ndñœin`û!s"%-&#nž
‚!;˜¿žhÜ)’„Æs°&Bôœÿ@‰¡äWSŒ<ža…¿®N*Ù!—c¹"JàÁ\ÚeŒåÍqžc9œ‚<Žó`ÑͤGôݱ_Šk5³¿ä<hèÉÈßA&82Úq)ñˆØá¿™/w»n3 +?Þá”iFؼn²LÔ¦Já>Pk!M"ÀoŸï[<#Øš@0à‘Js(n^~®]>êrûˆôRïïuNÖ)hμt^ý|Ö¨ïÝq€há#MpŒmÏÐícÌ'–^ú<—ŠÆÜu†‚NPÖˆ˜H[|œpÅ™S“é‚ç-üxCŸÄøns¤——èbáÛÎËÃMN<3VP•ÆËÍK=}QÖ}º@[íóW»êÍFŸqEÿ“QÿòbAÀ`ù•žýíoýüù?_þñ¯ÿÓ¹¿v´KáÅo‘gà"{ŒyA¼
§Z§š? θ6©“Ü +y‚2@º¨×uCŠ˜Ä”§ +©Î)7(èºènm_(nŒ%eÂÓV¸ .Çà<ÊãÍÂ_ßíε@³^(ÕuDa×~Çàãïtúôìu«tƒíÊåáDû¹siö«d² ÜÜ9].! +I~R<®ŒKïÏ+ã—Wf·•+×Ðk»Î3¿Y÷ý®lIKÉ-úŠR®»ÒŎܳæ:
³,³cƒ +y½Ñ*N‚l7o•¬`Œ:—r˜„:_µ3d
î6êy«UKÂÄ[¯Ò1ðþùƒºÕýÊmeÚÓÓß«®¢?@¶÷È7Å$CÒ*ø
¾¼WžâãI¼Ð3*Ü
7C¢úÚ÷ÐCBÞ6ô>¾¿È¹«÷‰,ü^îú#®Ï€u™J£X`¸z7MeI)‘‰ySi1ŠªÂ8ÉÕ¡(% +4ú’ÏQÌ¡‡ñ9ÖÎ@©—°g(戔ÄAitmS Zãð†ó»ïu$aĹQ½c`^U)códˆš½ä×¢öÍ7ÿºóÒ$FÄêuÎR\Û=ÚÙ)Î"ŒÝ647‚²¸ÎŽßëæü4xú³ç«²áËŠ uýº4œŒµ¨h¿sò*Ú'‰AûD‡V?Â1Ìead4/)Ì]k-©âõœ¸À + ¸¯§%ôYÔRüR‹í†'ò_³—V˜)µQ“7Ïý^ÎF»ë†ØÛ(ðåCšÀ"ÙÝ:/…P¸<öê(:sÚâ91`*M°7wS1tƒW\6Aaƒæ”]žzƒ +M)dz;±n½¨{y&ÄO +^ç7¼žFW/"tÂmÝL¡R¼Å¹’n€%²©ö{Õëýž¸ + +}éô°ÍªõÃØì1å“JZ>Ù@ªï§G…é±n`<Q´ŸÎª`Ý¢xÆÍQtæø+%¨â¿&7•lägÓRjÝC*Mî»kúÃxä"ÿŽ„²ëyLç¼)×{„èÖöŸ×#8烱²Çkè›Þ9Àœ‡˜A*gx‚ôÍ’‹TâȺ°gBëë1ŠŒå®u(a[WØ«ßãÌ)¶'ÊßåE2,\ëî¿«HÙé¢éu^dzG¼Ê®Z‰ ’í‚›rå·f“!¼eIXx¶ 3'f ¶£H#yKp4žWÑÊùfјº’ˆ`Sêq¯¸¥„ mCu>Ëù›ÿò~&€ÐÖÇÄʱ@-ùcŒª½$¬» +pbù&óßm÷õ*Ál´V«’z—.îÔZîú¯œÔ»úUW‹¦NßvlêbÐU;ôr{o‡ç8s¬Ýg³zçŒEoò¬w=¶-nפG’Nª¾¡4\e;>à-'=@OõdP½ÍÂÿ|Ÿ/~y{µŸÿ_â)™³…[é—«^!¥´`ìŠd£"˜t.FŸhmž–*åéöÍpN¦*ŹF§¶}·y4Õ•Æ®#¦(Ný)¦†—=(U}ê¶õúÉ:sÞ0] “'ŒÕ‰%Dîó{ÿJ¼%š´¬ŠjCÄT*eè®zJ]
W<³cyln¹¸‹©òÓ‡ý0ÚÉ?SäÇÆr*3ÃJ.=¹pÌäBŽÙnF +4§î +Š‘—3qÎäw¤»—§M[Èr*1=/Õ¥YO›€§Š‰d2’ßéøôÂT;SœÙƒ¬ð4å«æ”7ŽŽP6Ñ¥<¹´-š/a¼ÜµCD˜O²á-þºø‡MÒ)…´´±Â’›aÚoÕ¹,/¨ÍRWEÿœvzD>€¥1ùÌÇŒêz㮇ßïi”Ü=|+Ÿz +é)2?~ll»CÀ®´qçwç6õœ.]tƒ“C
/¼ëýkwOÛ9³™3¼ƒÎ2i[=Ö‹Ž]˳/áe:¯öî²i†œNF†7/þIh0Ɇ@7‰ÚëK÷]e¼(ƒüÝ…Ïw"5Ãi]?y·Ÿ<Ò H{²ÛM¸Ù#{›@£™±ÒP¶T©ôJ› V†µ÷{6º±P7ÔgUИ»:… +U(%ÊR$ȴ䈽ڟQêzÒÉÜ +“Ó2°Ø–€.íúNúOK)êšv³mI÷¥R ŸJW4Þè
"bÉò\¶©ŽŸz¦™™Û˜5ÅL+}•* +‰l¦c`VL±º0½}*¿!›!°”ÍÈ’þÛæR̹–=23N‚CN?ÃsJ«atpª|9ð&@>…€õ*@ÀêŠêAŒ©œˆdó9¢O Ŧ¬Ç”è'@eÞ_Žò¢*ç=ÒzÆ™ç"ãˆ5°aÏËCyDÁÍß‹Ú
ŒGÍE&vLŒ^à%q²ðgÓ.a7TÛxU½v&¿t?:C&€¶y–!»bL›TËp4pøzhT§Ðp›ƒ±L‹s—Ô'¯=®³¯ì×B’0“ϪÀ²¡UG#ºZ#ëªDÐmcEÆÈ—h;ì¢4 nkÖ +ûÏIîuB½•¿€PÔ!ÃÞƒÌX‘}¬{kâ=ÇM‘¨)â¤zó[Pv¤ÏqcŽêD=hØ«‘¾Œ˜¸™–åñb S~•ïÇÌÌÚ˜–Ïg¾dÿ]eo«ª~"qC·S¨ë2šuIe,žIb:.ø´õáRsúZàÔóäi2F›pÕâ~"Á0«±•÷>x¨]þ•7Ë.µvT +
d+ƈ!äßN1y¯¹¶nðF·óô^Òag€‚â¶Ý ô‚Þßgö4æ/„fQ?°P¨ƒ~::Å€í2 ¦G]ºŠ\¸Úˆ¯d¹7|@ ÆŒöÍ“Â0=ëk,ÅüŒ }î‘þO¢Ëän\ ¢È‡v Øžuýçï€|ûç½¥9u š$€Zroļ'rÆ»ÝÖ/T;Ì€P–MÕ´CN –0" ”Û`ät•?[f‹ë÷Õ{ž:ñ^T¥;â~ MãÓ—tŽ§Ò˜m¹wf°¬áÓë
voĩ䔄PÀ7„d{>od%Ò[Ài +d#„NIŒ¶~sÐÏ}ïéíÍ]Q¬"ÐûÍæHVÔq¥Ÿ›óÉSIu#aþ'wy渱Wšé6úÍp9✷šoÝ.6u6Ì8iÒö +ÅJQaØëÉ\
˜â#»t+uï21˜/ŠÔ€?x3/d¬e䱓A|?}êí ‚“ÅG‹hr3']±èn]ü©"³&š×'±mìžFálÏÍdmîÕ8c¯7ßçu ·¿wõN_§›æM“>fiI‰ŽÉëçgÌÄ·Ï{ÉÚå×'c€-ï#-pˆ«BâÍ +â>ýïÈUø*ôŠ‰ÛÏ€rªïh¯PBÙˆÏaØg½v]ÅÉ…0—·ÅË i<ó<ï¬L”ÄA…8êïhÃi¨·yi‹“S&®4”¦ì¾S™QÛë¿¡|€ñ½.º²†qò?¦ò¼¯œJ+*2ê$ÏzŸ1ý(ËÀQBÛGzÂ’ÐD¢ùÖF± ªRŽ|ŽJôîCèï¨|F?Ÿ±…ïjVm†ˆˆúýãB÷ úžgùPáË@²+6ŽAŘJ^ñ“ +®Úµ¼ÐÞ U=Á£–$0†à¹ó+¦ò!§¦¸—uq$1ÑÊ(æ•1ÓpËv©ñcšß0Ð×Õ×Eƒj ½ãÇÉ~·(¨ÿÕ +B…Á—ŸÜ¦z@§®ÞÌëÒè[²hgLM+¨JEÀ~†0è¥ÀÝj»åĘy"ŸøÚwQÔlrb¼à*n
]ipÂ^ ½aó€ç[h>NЮq +öDÚ˜T½ÒWGëFÕ›¼- ÷ à²äT^P} >×GxI'Š»å‡ç‹÷I³…mm–íóþO½b¹È-òÄ_mÑäy¾0ƒôµ¤A´b¶u°_ÙSçðˆx¥à¡®ŸKùJƒ0Ð]GTXlŠ6µD¤õRú]®”û¹r.íVqXîy«*+hM‹·¡(›=Ôr@Qˆ˜0}*HÖOyòØÇ$ªÕ•7¢z½…übŸÌ+Û³èz–ÔbqEÚ¡¤vËÑAlEÞ2œÎ.ÚŽrÕÇoŠx™ iôjËõ¬¤æº6[Pn8Ü»ªÚVÄigœÑ^;wU*ö6o¢®¤¶;JôF•øù`Ï—:‘ð[Ň%èØCMã×ô(=˜t—"ÏÿÜáeiLà¹3Nh +#„€t:VúåRºÅ¦ PmmèãjU†`SóŒ½Í÷|)Y&€ÙùlíÑŸ) +LÀf™#USÈÒÛ]w +•JCts¼BÛ\Â|K÷1‚´nH]@KAË@Í[ sMÒ~2›5KIZ¬±¦×gÝÀ,·Ž•'˜8.gøq:æÞwË÷Îî9‘-'D‡UÍ>ü\–;ec¶øbº×+*fZµHÚààL¯„¸ºP™F‹¨æ·f‰TÈv@Cëo„-ÿ™D¥;T:—}ïf–¸ƒ“u½ÉÔvCõ:Õ6©šÍÙ²`vº
Ÿ“SHý.´¼;Ç€ 9f[dhK•™ih°ºMUΑç b84`Cˆ{ç&Ø4~Ž’weàU&B±òdUðˆP}ûÁ9Õe_X¯uÎYåvT³,ÜêŠèc•¿§í sቊ̜e?U(:d7»?ª†2!lÆÐEªÝ„°Ü·È÷0þ¯%òÖÉ1F7þŸ3ï„Z_¡Ñ¡cÊÎ Cð¼÷’K†5¿(=öÌά¢Ø³MOå´Î4¡º
!`Éø&Q%fMF]Ý6»å(UȘH£ÚˆœrÚrŒø×åÆÝj$îO2{örÃ|0> +$0NAÛ°C!S?LÚF:È*2€P`5+œ\=©Á3;Cð¯ O} +Àû}2ØÒRù2¼o1p
ò/yõ•[ƒ.ØnwF¾g7$— +VDjL½m*„h·£Ò°Ü‘ˆóHæB#Œ¼ÕM´ë½ô¥’#ýÓ}JØ´ïô×tUÞ–±k@h„¡ú¨U¤éæTç ÀM¿Ýp‚[#õXËr¸ èEK2h‡ù¿ç±B;‘H¶o>Öà=IÂ…D-QŽ‚þÜè<#¦?ü‹´lj'y® «vß@
zP²²‹`k¢Ñèñy„šáÀñ“\Rg=Ký6©|õ3Þ$+Õ‘¢|BxÊÜ%Ri4‘fËÂÿ’m]ºÑø¦m%¡4‚4ªÒ‹?÷|T—-`Ë¡}ó ‡&ÙG“éçÞ;u¬ýÚÕæƤe©+´µ–v”‘·•nÀÕ¯.…YHp¢i´xg17¹Ç–ƒú1÷ +õÊc‚¹úú¶8*Ä¢@Ôèù‘ÙãE-ø]Œ¹Pý€hhòLc)@fV…÷hˆ¨ÁDÔ\Q’7Ü8g†€|AB`ê)c°& (N˜Ê¥¹±¿Qq·6yï%#NÁ¦íN5H±K×_Þ±$ÊG»ùA¿¨ùHkv¿óœ¶Q~Åö˜õýñLš&²Uƒ +j,=è[^Áõ€oABC×ãÙsP +¯©Ájg<õ +Šš`¹xÜ-ûygZDx³œÖܸ=Õ QDÔ™(üÀªŽ¥UÓwwáŠd…Y¤\ÿÙŒ}~·bä^Û£PŸŒL^ {/\‡ýª÷Ú1Кê¢ç{ùKµ¡â}uêé¾òÞjt”ž'+n²*P\}ø;†Pïr"Ï£ðQ]-ȧxe8TêÐ×18Á“U*‹ég¿¥£
êÐ-µ¿ë +IÔø‚h€‚<ìÍ» ¶ÔÛ€2'RUêe\Ø€ÀÑa@üfNª_3¨ÔÃniSE¶N†ÅjO\ª»ø³™ª<ë¨ ƒùÐü(Ù~û¦ÛEãëÖ[“QÖh‰Œ
øº¬‚îéãØü½G>hä>N®ÑÌ‘Xœ&»ÖI# +‚y6è®Í”ôö"ç•/±ì91ü@׎ņ%n„Å«t8š@)¿²Z +üoIçµØŒk1׫«+?ŸRѡّ̺¨$áÃzvg*„%@´jÍGvB ¯PÇm½uHµð*[?ïªûNÜu“NäèÝ2TR¼Ih¯hcÿðóÏ×}¥4Ȥa+ÑæÓÓ¢LÜA¡PÑ2$ÛfKÎÌfàÝ“½º«;¤Îo†A¨Rh<ژˢÂ=Vk´k_åJ›:qh=x“–Lû[õÁ.PƒÒÛÁ)y ö;ÖÜp7g×mðÈ\c¤ÉÄ\›ºa¤–f½¨h&q#•Öšú¾á‡„c¶›’øÿeºÌ‘+Ù(ºîhæÁ¦+»#¾Ý{ÐúuÎÅk…,²òP@wxæ'`§ºXJÉ¿ˆ +Õ*W4¤óáçþ½>ð3®á³ÂͲToΙrÜ› +öÙàùK®œ¡€^B=îöÊT€Ó0´˜&3€HÓ†îgxL(¡Ò +2˜ÌÑ‹\]ñ?`½5`§ÍÑhzþí³˜:JÔˆÄf2ÓÐØØšZ‹ +5¬Û¼ƒùÚ‹Í>B;°?‹¨EécçÀó-\š_G_¢Ô#Õ¥¤¸ÿšù0ôôK¼¡§]«‰Ïˆ…pAòDÒâ´\ëÆ*ͧnëÓt)8í¡6ÄcGßûÂö¤Í¹Þ–jÑ‘d‹g·L +¬ñt³iâìuXáêfª)>ò?ßæÊ{ÁV¼SK}ò\&b“à8ûÒÝKýdÌŠJ€nçxaF‡9ͱ±³<œ>ï2듨¯ð;j%ˆ€
îø˜Ñru{(«,çhõ„øf¼m0ÛãÆÓjKâklS{1ÏHyÞõ¯íé´‘eþoŸÓ}àK˜v÷»x±4 Nl¬ÖbYSÅ*_TJé_ä¤ä=xíš2B +¤á/CœKÉN(¡N ÷~¡"¥+Oh…ÿÛíÏ—°¹œqb=W4}»?~Ÿ‘øbˆLÙp픟/cÁëÄg÷äí—œ*U5ë2kó£.˜:Í‘$ø,•*à‰( pÜ£ ”‘KrV[¦„-»= +<B
£ä6«üÿ†nñ4k)WPSª-º’е`°åÚû¡÷ûyË4ÿ’ÎD˜þBw‹iz)ý†k3L»¥YhÄÌ™ý0ƒöö¯
#œÊMÔ!U’œ'оâlÄM¢<ÝH`Ž)ÿÓûp\ðøãáª08äV@ jÕ&í»û7MSI·,ïpÚÔmìÑ2²þ5 +H휂ÁƒÊµ_CÜC×'PgIë“[Sôò@®‚L¦.‘R'õuÚîÏd(>J¼3‹¬¹UK–Ûùï·—|öf¬lµæ÷MRLï8K¡A)}gV!— +:Å•-éÒï›Ç“‰Æ!‚C§…¼ÈŽŠbT=Èvw$ 2xid`1ö£5Dl•¦›òˆ7™†*ÖÀæ—ùãóØò?_MIÐo‚ì †M„ð„Í%·Üx‰4Âe¶å¸PBf®ÊHÓžàæ|ŽBM)êm¨ùFû·~vvpÍþ ba±oÚw
fRí,ÎêS?Æ‹ÜUúXºÂÐÅ2ÕóX_æ9}ÎópÄXÁˆÞòÈn÷u4ˆð¯Þ…o¢¨‡u[gæÜ¢ÓíæAÒMžÉ +gC¥ˆzZ6ŸótA•Š7(9rLm¹ÀM¹\WÜéé*héšÛ~@æfžªí)†‘¡ÆK÷m©øœÝ•ÎáHö¿X¯´oÜÏSß2Ì'˜*I#2³%bø݉§ Z’ÀʳÅe?@úF·ŽÌž“6|ŒoÊ`¥IO)̬ßxŽ·å‹Ëô÷Íå(–km:êSɶoý(6ÆGG³B¶¨£}¾Ëà}·¸ä€nªrxî®B +dRc-à¡9Ô N»ovÃ’©óV¼]íp€¸"jh·’%38(Kh½ô(“&e©¹ƒ‘|$ʱ¢)¶´”§•¬µŒK‚f‘ï¬É.¹ª–yx,ý'¥¿”[;‘ |:Ãâ¶ôbK2M6òšºÞgxK°Jßn#cv—¼Ò”nf§(ƒ’ïUA £ì—
÷–™]Ðt
˜Õ@ôY×ϪtD~ðohP8¹å}# ¨²ôÍB}^wrQµÆyÍ!°Ó{±<%–²ÿ +âwáÅ +¢]
W5úPZ{ÞTk,Q…A÷øQúNIªWÓ¡ª€'dXÛ”ÈÎͦO’$ö]¢u¢ÄŽ{|”¯¯ë6©$÷žÜ;¬^ºaI†Ÿ9ê‚4œËý—nÕÅnhQmJ¶¥L§‚^ÒWpÒÊÉ[´áÓ©zˆ£±Y ªÝÍë%–¾¿Ö?vMÚý_4УœCE&B:$\©ŒÖ,@Züa[c>wS¡5A!qI ×ü¦ ‚«âïw¼Î´ïN"lÕ—I”Syª{Ê<Ñpÿ™,ž)(†ÇÌð`&´ïUJ—‰Å¥ùÖØÔˆ÷qî¿bò»»É²•+ÆjÐt™´²‚è(Zë•¢`^J»x;ÞG¨ rÃßSÜèf†zU‰€û ¢wJ„§k*ê›ßHÊíï¾xÖÔ]Ì/Ê{€úêFùÁ™n€ž¦˜þÖà ˜¹mQ)×ú +c¾Úºq9ŸŽ¢3ܵ¥N ÆnƾrŠÛäLÿ†´Ž`}_(›ùŒn§NêØeGEÿÞ¡j+8›ôö÷Ì‹gÚUêœ
¢p tà)ý„Ó©aäÝt8mwÄö¾wZf7´ÁôËØÒ!CÓL^º¯ðÄÛUï¼÷n=ç›îDJIcSÑw}ÅB,Þòˆ#I +w”þ×’4[¿¨or.ȹƒc€ž@gÊcqS0H¤MÈ +F”@ªÎMZ³b`K í²ZÍïáꎘ¦ƒ·tŽFãèådÜ©~•BpßZUžÿ¤™M·Èô1Pm0lT›zNø]š›ë>Ù»B¸kñnoXh+O~Ôåµñ"UvV#šC(9Íùc¹˜´–=úˆ˜® ZŸ(Š‰¶YöÆÕ•ÑŸfB®zÜ« +eÆë{±ì´‹6Ñå%"å +¦jõøà2·nM³µ}=BÙçJbÿN?¸Þ&ækL ÷TüÄyº@sÆþðñˆýëd…ª ú—+¶ÂŠ8ЪºÜ£ægiþ¤mºlIsö“+'õ*×My·ìÁø³åµŠ^J†t+ìwÚÅT™TõAVÞ>Ï—ùåD°+1&Õ>[=ßÍÛyI¿Hr+ƒæQÀ–;¯Î9n +óî7Q62Wëio:tÝoþ/¤v30 2a.N ~µ2mz‡¾Ô(ƒüå„n…Œ¥•…‡óÖ߬/¬ÂdU×ì(HÚ¾5-K2,icÞmÐ1Û¾ßçî‹Ž¹Rëze¡-ÊêÿÉü‘^¹@4Œñ¢6.sä}”‡8ß¾LI'ä4ö¸Âž¦Ðé +wìFm"湨ó‡ +ÎãŠÕ»/S¼)ºV¡Àü^í3žÐ0#c¨
ûƒ}a [5ddö=ìbbNýàY‡@XSw¸‚&‹ øä¸û¿Ðìe·~ +×”¡Ó£=~dežæ3Ò•»ÞIk&—ê)…涥Ü!1€3ƒæ’Éõ´LpSÒ‡$æ'W3ôî÷zr¡[æ`¦?'Ó°¸ÐlÛ´²YÐt©sÞN¶hÜ@H$E‹i€Kýš[áó}¤xtkÿ\—Ý3སE‡MüT¼Ó—¹õ¡ûúšV{ÞŒšÎ~½Iè/qîÛ+n¬ŒjY’Ù¹hZIÚX©$\ãõäUGd^öAg_4ß~ý:P#Dgƒ÷]Œâ+5§7uÎ$¢PuȽ_ÊrNÓª|6`kb +K²c ß6³wž÷l*4ã¡ŠÂ-# ¬eº ÎËÅEãÒD„ŸÒÒÜ +Èâm¨‚Ô§í:¤¾fúÕV=x»ƒX¥.ûúÃï8í›G d#T4ošÃ̈±QVêr)‚Íq;~§ ¶êj”$€GôòŒ´UÎ# ÏÞ¥$%Œ%B›ÜR0Ìmú-ÀêÓ&X@õè]€'ø®ü^ë
F/O½§½
b+‚ÞRVÚ;ép0 eàŒ¸"§Ëå0pzê!ÍD¦ô³éµß¬à,
)yYüÆP»'¦DK`öûÛ‰5€ø<‰ LÃàGÁ³´·BëDöÌ_Üð\F§%ÏíÚb
ÿŽIì†Hƒ7 +¹æ„=E.°û,’•5½šÙ¥å¥TàC¶?WðóŸMIN¸9.ž*ñWœl¿‚"Ö×ïÙ±<vÐÿ¨¯¶Ý6’#úü‡y1 áª/Ó·ìG¢%6Öí]A@PäXfB
Š‚¿Ï95WR²ã…
dcA»ØÕ]]—S§k0ð4Tì#¤4?ø<0ò•;‚ ”ˆŽÇ¢gƒHðX¨…D|b"(T‚N„ÚCaet¬qNFË`CæÀN™©k)Ê!eÌÔJM‹¹æ-s +‰a^|[˳νé)J"½oÛ
ùÛÁ*éQÞˆ29<¨Â«gŽõcì~?JÙÑqvõÛHgg2»åV°òyóˆàKMQ˜Þ¤ãBÀÉòïõCdäF
[ +¬¼äàÜűímÊePâF{
2‡Ø¦ 4øA`‰¤ŠØ" pXI&ä‚Lè6ŠôJ3bœk8@úx¤!C +Œwšô8 =à¡|'p§^€kR¨³ ‘«j=آŽ +zæý©Ï¢ÎscF?Ljå31¶\Î@ä?¸»‘kØñg9ò]½Dl#`Õ‘ßÔ¬VƒÊŽx_MkP¢˜cp$ãØo±=Ûøcó½û–b!Ð?ñ"ðF+0®ÒWIiŸ·o#µ:|$HCZÔ?cáþÓzAwʵƒCÆÒá“ž“|•G}ãË‹êîGGtbŠF‚?ÚÖo³v€_“t»^0-|ð¡×€o|nÅ7ȹ= ˆQ®Sªµ™%“qÃ]À+hˆ€Ü&Z3ÔCûÚWC±9ûN+¿4¸FᆘМ3ŠâIغ +ñ«—:cr‘fÓÏåâ&ì»fËÛ·Rör[–Õ׊Dg'Õû/´EÕÁ¼ê²¼YÝﶒïïÊÆØì¤@ övN«ùõº|ù°Z–÷õ.óô¸éç»Ív×$¶ˆõÕlZ-ß>Þ^oÖ²Îg,¨ÉÌ{~-»Í6{3_ü;+æUUn¯³ÿ°^n=’GþýêiAî%ïû Œ0‹l±±,
³#4ö^Ð0‹™ïïDVe×LÛ’@BÛ“Y•qâœ?ü?ÖÜËš7luiݤ!ãú_+âRµHö±.
åêXâxC¥>“„oèZA›'ù7Ü_\ra%Ð +Ï‘Cä&éG–JÓµèŽ4 ¦Mªlòñæÿ| '¡À9IÝ}Ó¼Áú5áþ@ÎÏ…!¥îž“ùªó45c.‘÷ŠÒ¼s ârÂ~L‚R°4ë.€²ÊÚUìðê4Ûv7ÌNn×·@ÊÚD†|P¤31"”õ_}(9Iî!™›ÇÇaap; +‘~OaÈO1û[’æžk+f±ƒ™´“jS1t-¸¨bvÇeÑážjÕÅ×(Ð\±d7gy·,;cåo]^ª¡øK%ïNCWÍÙ Z#3N6bŠ˜L^‚ð-œ¥Êlódë³&Ãî#S-¯]töäŒø³±<…åé¨/Ðù#õȇàx2ýÚ"µzŠOr$XFN`›úT¯–ª*Ö‹œ³N’—È™£”‡r˜Sfù81IN§?ζÀ«Ù”b}Ó¢ÑÉŸÌž‚;Ò&¹Qªúâh) +à.²Ï7.bMÕh(AuŒùZD ©bn긩u™Ø mת•"Á»d»UɃ¥]¶é–µ¡[ ”VÖK…ÖG£¹¾ãþ><Ò^0ºwa«»anÍ5-{Ùš<‘,?5¼É{Ù´Ìr+”Ì
ÌÎ(áC5YËŸ&²ç +0)à[\¯ÅÀ1F‡ +¡æÝÝ,öGßûãM:L݉«¿Ù¤ääÝQf.q9?gsÛ3l›â¶ÃŽxãÇnÚêÁZhNgÍ<”UÍ°€Kì‘œlXDm~›hÂ&CÓœóè“Á^¤êÅÍ¢Ð觊‡O‡É²yŒZFÃJ2Ï °¢¶yb·1–—ƒ-ø?-Ù³ %ò¹éÁQãϦêcsvmR-”Qš)=Hb3ÄLuâè¹@ÏSÀÊê§/ yºDëÊlï&·y™:[G_; Êk¬]e-ŸàÙ%©[ï›ÕjöælÜé ÔÉ~ 6>„1jlÀãå¬1‚M©›?3Œ¯Žˆ¿YÈ´[5ö¢wféÄpÀ„ß1FÌƪ<ZCæ¥z»ç”
9çe›*]Üm¢&Ã5ï¢,–Ô‘ÖÑá²_÷Ù
äQº>?/©3mœ‰P +ÉQœaÑ«ßÖÇëw÷ŒKÇD¤&4ìïùÜP¢o5O°Ë§Az +dZBæeeÐ%g=Òjžs‹ÅÉÝÎüšZ‰"1†™1Z²€3 ©/ut¼ßD¨µG›¸`ÏùQ 3³{ØPÛë2o*+vÙÐs)iWDÆÑ$2[Fñ<ŒhåœuHÝybVFd.8kGÀeµôV_„)±V›¶Ð&»@Îg$ÝÈd·GBÆÎk4¯6©èÔMsÎ!èB3ì>€Öùå}§K@®š#?Mg¾<”åÙûË·5 rË…†·²eTñÚ +Xk³N+CY^T<þÊøÞD£ôf†˜Bƒš^ÙTƒ´z-ñ¡Û˜ &EiŠlŒÆOeMÔ.Ÿqïd(Ú¸‰©ÛÔcî꘨Š,e +µX$ÛÑeò`¾*‡ƒMJÑG¢M|Ëχ#¸.¸n1eÌ%YK`/ +úÀš(|w‰êàq:$´©jÎûÙ>Ïbñ¡U®C§ýÀ<P× + 3˜¿>˜9-€«mÇ{z…õnŸ.Æ›®—>J—ð=)]jÛ&ÉŠšv‘ï×Ni0§*2À6™qV¸Åß.“÷âpÔMln¡K\bdDYQMŠÜ[¡§×zq ¡Ýï]¼í‹¼\íxd,AéÃ2,öpn¸Ñ¿"ZëäÂÙž4Ä™±”?Þ Â(k,›Ëé¤DþÄYf\广H.yGtz¹HƉ„þ×}&6IŒþ?¬—½’Ó@„ŸÀï ŠýŸÝðΩ#(žÀ‰ÜUñö|=Ká+ÉD¨.Ñäýé™éé~¿|üL~ûº¼{~~º^_nŸ¾ÿô^zSþ\¶6 ŒqêW³¡é"¬’êèížLÃA5ŸYΪLe<œ9`è¡ùћծûš¥)°‹Ò +¥r«^»puZ¶È]J¨7 ó©ËœfO.{«ÛÞøJ qcU¹Ü^ãv*šLÙ¦0ÁÐùÀÉšàت€ +‰lb\„NEÔ€q@ ;7—œ¸ÞFL:ªˆ«h°ªÏ¶{®Aoa=Ô1m›Â¢&PDñt&ÒzŠê?:ÑU`ÕQAÐ3/É•ÌG<¥–X%¨òH”ècaLGe³ÝQ÷ˆËÓÿèæ$
®]ˆ#øn +ñ9eÈ +.¹•‘%–ºn¨ +³EÁÂ0ÌŒJ½e1
º©~ýK•Êuåa2½&BÝWÊ1Öe³ùëa¨‚ûáèâŒl}dÕ&A•'§ˆ®£¨µTrx(%˜7 O¹@óÔLJÿªTb£¢{’1pº×vƒÃš»BZݧ°LŸgnp’“]ê‘r#'UÞmU…¶þ[€ +H‰ÜWénÛH~¾Cÿ1`Õ÷1ùe;²ãÄœd½X,FbMhIèdüöóUS²%6}È£,°å ‹Õu|ut•c.—ÒɪÌå<)@ñÂjŠP¹²Ú1‘{í¬åK¶wÑ?œ×/ÆÃz<óköHû=)…8`ý³z>ž|eûGG‡ÃáÕå`ZÄ{Àžó9þf³ÀöØù?³«Œ³AÆó`8’½Æ«`<þί³žà¹6Á0›;!‚`— ¹<G$¬ö¬'ynÆmû‘õ¤Ìô‰+c5ëi™gSðÖ;Á Zªœ[Žkë GØÜ{'éó"Êz0ƒÀƒu¬‡ÃÎ)Í„É•ð‹Røà>f oµb~e^Û…ël¯¥Í¹W†õ”ÌpžÁ1¡!TºÜ8(‚—ÑAoaØ¿R<N²G±ñ¹Ô\*"ù\x¹4p…HmKO2`„7ä„ñœ‚ð +p9$`NkcÉ>•;oä¡X +5€h xtˆ¨´ÔíÊÁgî¤,Ðñ„›6˜Ã%™«@ýÔä\ƒ +ŽzR<(ä&påi‰*8ÎÒ ‘ôIÛïÝŠÎðà£ÂKò8EçdGØsÂ^#²:|¼/©å +AP‰¦ä%¥õ`ICúAby†öè$z +Šþ®.“½‹«(û”þE‹B“ÂÈã®h.ô¸¤Ñ£\` +¥ÆüE_°x0 +OfÝtÙ»xÒ +ÒÈÚz ‰µ·õ‚SOYDv‡9]†·7u,%#¸X%th.¹ÞS7DKwœJ
0À7Øw¬1MÇk-2DLWº’eÄŽuMšýÕêXk´d±Aö&«
§Ë
“õ&ÒÚN‡ê]úל¿WsKR$n¿&‘¯É¢Ô·]•Îé²DÄ'¬K€']˜"që•©“]ÞŽM4×æ™;šßrîÃE$×G¿d÷Š·ÖƒÛWLà÷¯˜Ñí
,Î1ì`»Ä ¡Yw¸c1‹e›¬fd|²œÅ6Õ^Ïb¨“CÕNË9YÓ@K5j íU-æó沶w‘®k©Š]šÇNÖ?{òñÍöÛL‡ßËúB]°çq)âàÇÇÕNõ¿¹½ °L¦fø¿^NcÀ^NFg×—Ÿ§½z½x7¼GzÔ°·×kÈG°k²þ!{7£/¾ùò¾ºÂ¿§Ÿÿ(‡u¶8š~.ÙÑüjñ½-&Å×rÎNç£r~pÿ7Ö|<.ªjüu^̾‡KÎð¾Ï$›Õ9;ýQà9e=`=ˆXç7÷òw°F¯ª¢~_EþÁôj2Úä":¸»¤¼#¤'ƒ§„öÛ†èãoÅ|8½u\QDë‡bVÎËCùO¿—÷Šm¬xUMçEÅÎfkìËÜê?€èÃù|ú³¡FŸz= + þX$žæXûþ¹ËCÕé`JŒv~©Yevº …!¢ˆµwÎ×Jè-ñØ:3Bó9|V_Wå"ëÿ>™þœÄL¯qÀÅð`2ìb²ýQ®¾ö§—3êV¯Æ°&~4‡ñ„5
õ |—,Ï05÷?c¥$0•pVÃï[H8*ãášÓÉèj\?æèóŒõßóºÛŽm=iÙq¯±¼CÒ~s(rs^ŒgAj)—ÁØO…ƒíøŽRd_ΛþC®ï%é´”Ã)fê>†ånB+Í×*®ý×È«Aù…6¸µk˜=äZ=)iá[šö,»Ñ¯¸I¹XlP_Œá +k‚[pg'ÑÊ_Tõb£ö”YÅÂx6ªÔYt‘X=RïÀ$Ç7<è8yþ8]åjQdÚçè +k‚[pg'ÑÊ_Tõb£ö”Y55Ö¨JE‰Õ#õŽ +uaà•g3× +WÖ ÕÙÐRï˜\&½ íœqoê¤<à:zö +GLX‡_aÝj4½
µqë!•ŒéѨºh,ºJ‰åÖ4Ô°z=”eL(ZöÚ@Y-ñ‡¯khÛâ´´õ” +s AÛœ' i”öž€d”ˆ.¤¦ó”Ζd²5 +,P2a¬Tjïea.DßO <vÙO«{ƒÒ$2AÆ(tr8Ì#Î"CH|IÖÖ³ÆcÕE´ ™$Ú(`LF—Ö”Xp¥¶‘ ‘ÆÝTxaThVZIw"„WYZåQNºi¡R[ Ö¬÷A`†dV{庲…4!ìÊ#-Au‘Â-<'B +Z'Mè&ˆÎ;— „¡µ`õOa²»d¡]h7ŠZ‚
MWuø„bä´®«µgÑYë:[Å’ÌøP^ +²HÖAáQ<
XÂ\ÈHè0I.¬’º'ë\8°!dÎZUë¹ô–4 Ä.Šèô¤]ƒ¦×*¨‡‘ëœæª/2uéô̧è)çZzʘ
Ô·|FÒ»Ú¸–®öT;$¡µì¡ÇU¢k4Å”%•îÇ, ºÉ° +“ZLÚš¬tã|CøºðÆ´JZbŒÄ†áM¸ZÛÞ«n“a]:jp0T t^ÆE#h:Ñ&*÷f4@u²ƒw£¬1† 1ýª34²˜ä(ç*D…®k(>mÐÔðÀø ¾0«x‘?ÅC ö¨)ií òª¨á´/T#F¢3¢þÖÁ°=ÂJS*§LI²¸¦ Z +)Y§ X/ë»lƒázquÚ +ä4FÅ%(ÎJ9Cj¤Bójm§ã7Œn·l ¡äCÂ’LÏ}0>äJÖ +¥=|@ôȽ¸Xê0
°oÇ_«¡É +4+º0Pš<è‘¡¡®©pÑN®ANVaÝbªöŒJÐl§‚B7RoDˆC3s¶ƒ„ìŠSÖ¶%îÂp¥œW41(Ãzp»éIcju5ôÅUXÓ +¡þG}µí¶Ñþ@þ/]Ø@K¶lYÛ';iÐ +5¶ý)ô%ɾ¼J|«”ha}Êoß_豤OkU_éÚYérA“°kM¸ßÊ5R…þ°wà®Å^·jˆ¨ìê܈ðäÐÇÐ)À½H|ûVõZý®e^(ØÐ +ðxØs¥:ºVAŸn+Œ¾o¦É€ºŒjŽtïf®ŽÍªÈ4€Zü7 w-Ì¡¨‡%Uf ÁìùqlÞ¼h ‘6»OZwpÂãl|ñqt×ü³fš‘ì÷˜<Qþ8|&)W”?]Ls=“Ø™‘TµcdBuÑú~CV¸dêŸ6pÜgâæ¢äº’Y @'šÚß4'+FR…Úšv˜è+f+%8Ðak$Ó5É€} 1[Bp{úˆ›ñ]^þ<ð0°S‹Ýf)˜vóAǘ>kölݬÖDê°Épÿ=„aÍ4U1çfê"¥ÙÞœõs½Ívo`~Ž)_Lh$¥þ²1@ÔÍÎg‾i¹rƒ¾øøØñßèOóESEÇrwú¶Ævøa_±wøùî¦0³môé¼åD¤˜Mñ†4m›ß𒽫 +Pg,C-+Z1 +,ÕR`™ÆpWªÅfþZŠ|$ [rTvZV†æÑ÷zà LŽGÁUÛ,3mÔY(©áwÉV»Õu@]TÁú‹tù‹ +ŽÎÃ_“©€žâÔ…Ç/ÆaúÎ[Òe©|É5RùÕ.ÞÁÃ*]S–I⎺ë +0000000016 00000 n
+0000000204 00000 n
+0000064617 00000 n
+0000000006 00000 f
+0000220614 00000 n
+0000000007 00000 f
+0000000008 00000 f
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000221245 00000 n
+0000221276 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000021 00000 f
+0000000022 00000 f
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000029 00000 f
+0000000031 00000 f
+0000220684 00000 n
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000036 00000 f
+0000000037 00000 f
+0000000038 00000 f
+0000000041 00000 f
+0000221129 00000 n
+0000221160 00000 n
+0000000042 00000 f
+0000000043 00000 f
+0000000044 00000 f
+0000000045 00000 f
+0000000046 00000 f
+0000000047 00000 f
+0000000048 00000 f
+0000000049 00000 f
+0000000050 00000 f
+0000000051 00000 f
+0000000052 00000 f
+0000000053 00000 f
+0000000054 00000 f
+0000000056 00000 f
+0000220755 00000 n
+0000000057 00000 f
+0000000058 00000 f
+0000000059 00000 f
+0000000060 00000 f
+0000000061 00000 f
+0000000062 00000 f
+0000000063 00000 f
+0000000066 00000 f
+0000221013 00000 n
+0000221044 00000 n
+0000000067 00000 f
+0000000068 00000 f
+0000000069 00000 f
+0000000070 00000 f
+0000000071 00000 f
+0000000072 00000 f
+0000000073 00000 f
+0000000074 00000 f
+0000000075 00000 f
+0000000076 00000 f
+0000000077 00000 f
+0000000078 00000 f
+0000000079 00000 f
+0000000082 00000 f
+0000220826 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000220897 00000 n
+0000220928 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000066200 00000 n
+0000221361 00000 n
+0000064670 00000 n
+0000065008 00000 n
+0000066506 00000 n
+0000066392 00000 n
+0000065476 00000 n
+0000065636 00000 n
+0000065686 00000 n
+0000066274 00000 n
+0000066306 00000 n
+0000066582 00000 n
+0000066981 00000 n
+0000067978 00000 n
+0000082139 00000 n
+0000097535 00000 n
+0000106562 00000 n
+0000120645 00000 n
+0000136363 00000 n
+0000154931 00000 n
+0000168896 00000 n
+0000172776 00000 n
+0000185042 00000 n
+0000211435 00000 n
+0000221388 00000 n
+trailer
<</Size 130/Root 1 0 R/Info 129 0 R/ID[<E862F3CE059C4629B63D25F059EEC6FF><AB1F0FD1E9F940AD829B369607DD7E44>]>>
startxref
221565
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/star_d.png b/chrome/app/theme/star_d.png Binary files differnew file mode 100644 index 0000000..cf23eda --- /dev/null +++ b/chrome/app/theme/star_d.png diff --git a/chrome/app/theme/star_h.png b/chrome/app/theme/star_h.png Binary files differnew file mode 100644 index 0000000..f6a40ef6 --- /dev/null +++ b/chrome/app/theme/star_h.png diff --git a/chrome/app/theme/reload_mask.png b/chrome/app/theme/star_mask.png Binary files differindex a04c2c6..a04c2c6 100644 --- a/chrome/app/theme/reload_mask.png +++ b/chrome/app/theme/star_mask.png diff --git a/chrome/app/theme/star_noborder.png b/chrome/app/theme/star_noborder.png Binary files differnew file mode 100644 index 0000000..ac73d2c --- /dev/null +++ b/chrome/app/theme/star_noborder.png diff --git a/chrome/app/theme/star_noborder_center.png b/chrome/app/theme/star_noborder_center.png Binary files differnew file mode 100644 index 0000000..87bef3f --- /dev/null +++ b/chrome/app/theme/star_noborder_center.png diff --git a/chrome/app/theme/star_p.png b/chrome/app/theme/star_p.png Binary files differnew file mode 100644 index 0000000..4d0027b --- /dev/null +++ b/chrome/app/theme/star_p.png diff --git a/chrome/app/theme/starred.pdf b/chrome/app/theme/starred.pdf new file mode 100644 index 0000000..af6129d --- /dev/null +++ b/chrome/app/theme/starred.pdf @@ -0,0 +1,1612 @@ +%PDF-1.5
%âãÏÓ
+1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[5 0 R 30 0 R 55 0 R 80 0 R]/Order 81 0 R/RBGroups[]>>/OCGs[5 0 R 30 0 R 55 0 R 80 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 60454/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?> +<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41 "> + <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> + <rdf:Description rdf:about="" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <dc:format>application/pdf</dc:format> + <dc:title> + <rdf:Alt> + <rdf:li xml:lang="x-default">starSelectedTemplate</rdf:li> + </rdf:Alt> + </dc:title> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmp="http://ns.adobe.com/xap/1.0/" + xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/"> + <xmp:MetadataDate>2009-07-20T14:52:26-07:00</xmp:MetadataDate> + <xmp:ModifyDate>2009-07-20T14:52:26-07:00</xmp:ModifyDate> + <xmp:CreateDate>2009-02-11T22:00:17Z</xmp:CreateDate> + <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool> + <xmp:Thumbnails> + <rdf:Alt> + <rdf:li rdf:parseType="Resource"> + <xmpGImg:width>256</xmpGImg:width> + <xmpGImg:height>244</xmpGImg:height> + <xmpGImg:format>JPEG</xmpGImg:format> + <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA
AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK
DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f
Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgA9AEAAwER
AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA
AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB
UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE
1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ
qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy
obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp
0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo
+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7
FXYq7FXYq7FXYq7FXYqh9Qm9Gzkf9ojivzO2ajt3Wfl9JOXUih7zt9nNtwQ4pgO0+f1rON/2gOLf
MbY9haz8xpIT/iqj7xt9vNc8OGZCIzbtTsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVd
irsVdirsVdirsVdirsVdirsVdirsVSjXpt44R/rt+ofxzgPbXV7wwj+sfuH6XO0cOZdoM395Af8A
XX9R/hj7Faz68J/rD7j+hdZDkU3zv3BdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsVdirsV
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</xmpGImg:image> + </rdf:li> + </rdf:Alt> + </xmp:Thumbnails> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/" + xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#" + xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#"> + <xmpMM:InstanceID>uuid:8b0dca6b-954e-6e4f-9d4d-b6e6953785a2</xmpMM:InstanceID> + <xmpMM:DocumentID>xmp.did:F77F117407206811B94B9283E5C1B56C</xmpMM:DocumentID> + <xmpMM:OriginalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</xmpMM:OriginalDocumentID> + <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass> + <xmpMM:DerivedFrom rdf:parseType="Resource"> + <stRef:instanceID>uuid:e5680c13-7927-eb4a-9f6b-4ea688916eea</stRef:instanceID> + <stRef:documentID>xmp.did:FE7F117407206811B4F28F4470BB07B1</stRef:documentID> + <stRef:originalDocumentID>uuid:5D20892493BFDB11914A8590D31508C8</stRef:originalDocumentID> + <stRef:renditionClass>proof:pdf</stRef:renditionClass> + </xmpMM:DerivedFrom> + <xmpMM:History> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:D27F11740720681191099C3B601C4548</stEvt:instanceID> + <stEvt:when>2008-04-17T14:19:15+05:30</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F1174072068118D4ED246B3ADB1C6</stEvt:instanceID> + <stEvt:when>2008-05-15T16:23:06-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F1174072068118D4ED246B3ADB1C6</stEvt:instanceID> + <stEvt:when>2008-05-15T17:10:45-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:EF7F117407206811A46CA4519D24356B</stEvt:instanceID> + <stEvt:when>2008-05-15T22:53:33-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F07F117407206811A46CA4519D24356B</stEvt:instanceID> + <stEvt:when>2008-05-15T23:07:07-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T10:35:43-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/pdf to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T10:40:59-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to <unknown></stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:26:55-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FB7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:29:01-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FC7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:29:20-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FD7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:30:54-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FE7F117407206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T11:31:22-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B233668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T12:23:46-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B333668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T13:27:54-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:B433668C16206811BDDDFD38D0CF24DD</stEvt:instanceID> + <stEvt:when>2008-05-16T13:46:13-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:47:57-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F87F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:51:06-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F11740720681197C1BF14D1759E83</stEvt:instanceID> + <stEvt:when>2008-05-16T15:52:22-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811B628E3BF27C8C41B</stEvt:instanceID> + <stEvt:when>2008-05-22T13:28:01-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FF7F117407206811B628E3BF27C8C41B</stEvt:instanceID> + <stEvt:when>2008-05-22T16:23:53-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:07C3BD25102DDD1181B594070CEB88D9</stEvt:instanceID> + <stEvt:when>2008-05-28T16:45:26-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>converted</stEvt:action> + <stEvt:params>from application/vnd.adobe.illustrator to application/vnd.adobe.illustrator</stEvt:params> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F87F1174072068119098B097FDA39BEF</stEvt:instanceID> + <stEvt:when>2008-06-02T13:25:25-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811BB1DBF8F242B6F84</stEvt:instanceID> + <stEvt:when>2008-06-09T14:58:36-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F97F117407206811ACAFB8DA80854E76</stEvt:instanceID> + <stEvt:when>2008-06-11T14:31:27-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:0180117407206811834383CD3A8D2303</stEvt:instanceID> + <stEvt:when>2008-06-11T22:37:35-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811818C85DF6A1A75C3</stEvt:instanceID> + <stEvt:when>2008-06-27T14:40:42-07:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed> + <rdf:Bag> + <rdf:li>/</rdf:li> + </rdf:Bag> + </stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FA7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:25:39-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FB7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:26:20-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FC7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:27:11-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FD7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:28:03-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:FE7F117407206811B4F28F4470BB07B1</stEvt:instanceID> + <stEvt:when>2009-01-21T22:28:17-08:00</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <stEvt:action>saved</stEvt:action> + <stEvt:instanceID>xmp.iid:F77F117407206811B94B9283E5C1B56C</stEvt:instanceID> + <stEvt:when>2009-02-11T22:00:13Z</stEvt:when> + <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent> + <stEvt:changed>/</stEvt:changed> + </rdf:li> + </rdf:Seq> + </xmpMM:History> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:illustrator="http://ns.adobe.com/illustrator/1.0/"> + <illustrator:StartupProfile>Print</illustrator:StartupProfile> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/" + xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#" + xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/"> + <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint> + <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency> + <xmpTPg:NPages>1</xmpTPg:NPages> + <xmpTPg:MaxPageSize rdf:parseType="Resource"> + <stDim:w>19.000000</stDim:w> + <stDim:h>19.000000</stDim:h> + <stDim:unit>Pixels</stDim:unit> + </xmpTPg:MaxPageSize> + <xmpTPg:PlateNames> + <rdf:Seq> + <rdf:li>Cyan</rdf:li> + <rdf:li>Magenta</rdf:li> + <rdf:li>Yellow</rdf:li> + <rdf:li>Black</rdf:li> + </rdf:Seq> + </xmpTPg:PlateNames> + <xmpTPg:SwatchGroups> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Default Swatch Group</xmpG:groupName> + <xmpG:groupType>0</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>White</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>255</xmpG:green> + <xmpG:blue>255</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>Black</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>27</xmpG:red> + <xmpG:green>24</xmpG:green> + <xmpG:blue>24</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Red</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>7</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Yellow</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>242</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Green</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>157</xmpG:green> + <xmpG:blue>62</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Cyan</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>160</xmpG:green> + <xmpG:blue>239</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Blue</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>35</xmpG:red> + <xmpG:green>28</xmpG:green> + <xmpG:blue>129</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>CMYK Magenta</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>120</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=15 M=100 Y=90 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>199</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>26</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=90 Y=85 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>16</xmpG:green> + <xmpG:blue>29</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=80 Y=95 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>55</xmpG:green> + <xmpG:blue>10</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=50 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>123</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=35 Y=85 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>157</xmpG:green> + <xmpG:blue>32</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=5 M=0 Y=90 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>251</xmpG:red> + <xmpG:green>237</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=20 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>202</xmpG:red> + <xmpG:green>221</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>101</xmpG:red> + <xmpG:green>192</xmpG:green> + <xmpG:blue>39</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=0 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>173</xmpG:green> + <xmpG:blue>54</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=10 Y=100 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>136</xmpG:green> + <xmpG:blue>51</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=90 M=30 Y=95 K=30</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>89</xmpG:green> + <xmpG:blue>42</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=0 Y=75 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>173</xmpG:green> + <xmpG:blue>94</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=80 M=10 Y=45 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>155</xmpG:green> + <xmpG:blue>140</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=70 M=15 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>154</xmpG:green> + <xmpG:blue>221</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=50 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>96</xmpG:green> + <xmpG:blue>176</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=95 Y=5 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>29</xmpG:red> + <xmpG:green>36</xmpG:green> + <xmpG:blue>128</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=100 Y=25 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>30</xmpG:red> + <xmpG:green>21</xmpG:green> + <xmpG:blue>80</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=75 M=100 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>91</xmpG:red> + <xmpG:green>18</xmpG:green> + <xmpG:blue>128</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=100 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>141</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>126</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=35 M=100 Y=35 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>158</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>79</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=10 M=100 Y=50 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>235</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>69</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=95 Y=20 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>101</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=25 Y=40 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>184</xmpG:red> + <xmpG:green>165</xmpG:green> + <xmpG:blue>135</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=45 Y=50 K=5</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>142</xmpG:red> + <xmpG:green>113</xmpG:green> + <xmpG:blue>100</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=50 Y=60 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>97</xmpG:red> + <xmpG:green>82</xmpG:green> + <xmpG:blue>69</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=55 M=60 Y=65 K=40</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>75</xmpG:red> + <xmpG:green>57</xmpG:green> + <xmpG:blue>50</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=25 M=40 Y=65 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>192</xmpG:red> + <xmpG:green>134</xmpG:green> + <xmpG:blue>85</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=30 M=50 Y=75 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>162</xmpG:red> + <xmpG:green>103</xmpG:green> + <xmpG:blue>58</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=35 M=60 Y=80 K=25</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>128</xmpG:red> + <xmpG:green>73</xmpG:green> + <xmpG:blue>42</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=65 Y=90 K=35</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>105</xmpG:red> + <xmpG:green>58</xmpG:green> + <xmpG:blue>27</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=40 M=70 Y=100 K=50</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>84</xmpG:red> + <xmpG:green>41</xmpG:green> + <xmpG:blue>11</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=50 M=70 Y=80 K=70</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>49</xmpG:red> + <xmpG:green>26</xmpG:green> + <xmpG:blue>15</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Grays</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=100</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>27</xmpG:red> + <xmpG:green>24</xmpG:green> + <xmpG:blue>24</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=90</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>49</xmpG:red> + <xmpG:green>49</xmpG:green> + <xmpG:blue>50</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=80</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>70</xmpG:red> + <xmpG:green>71</xmpG:green> + <xmpG:blue>73</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=70</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>89</xmpG:red> + <xmpG:green>91</xmpG:green> + <xmpG:blue>93</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=60</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>109</xmpG:red> + <xmpG:green>111</xmpG:green> + <xmpG:blue>114</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=50</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>128</xmpG:red> + <xmpG:green>130</xmpG:green> + <xmpG:blue>133</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=40</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>149</xmpG:red> + <xmpG:green>152</xmpG:green> + <xmpG:blue>155</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=30</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>173</xmpG:red> + <xmpG:green>176</xmpG:green> + <xmpG:blue>178</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=20</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>197</xmpG:red> + <xmpG:green>200</xmpG:green> + <xmpG:blue>202</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=10</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>224</xmpG:red> + <xmpG:green>225</xmpG:green> + <xmpG:blue>226</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=0 Y=0 K=5</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>237</xmpG:red> + <xmpG:green>238</xmpG:green> + <xmpG:blue>239</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:groupName>Brights</xmpG:groupName> + <xmpG:groupType>1</xmpG:groupType> + <xmpG:Colorants> + <rdf:Seq> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=100 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>0</xmpG:green> + <xmpG:blue>7</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=75 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>68</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=0 M=10 Y=95 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>255</xmpG:red> + <xmpG:green>216</xmpG:green> + <xmpG:blue>0</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=85 M=10 Y=100 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>0</xmpG:red> + <xmpG:green>151</xmpG:green> + <xmpG:blue>56</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=100 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>17</xmpG:red> + <xmpG:green>43</xmpG:green> + <xmpG:blue>137</xmpG:blue> + </rdf:li> + <rdf:li rdf:parseType="Resource"> + <xmpG:swatchName>C=60 M=90 Y=0 K=0</xmpG:swatchName> + <xmpG:mode>RGB</xmpG:mode> + <xmpG:type>PROCESS</xmpG:type> + <xmpG:red>118</xmpG:red> + <xmpG:green>35</xmpG:green> + <xmpG:blue>135</xmpG:blue> + </rdf:li> + </rdf:Seq> + </xmpG:Colorants> + </rdf:li> + </rdf:Seq> + </xmpTPg:SwatchGroups> + </rdf:Description> + <rdf:Description rdf:about="" + xmlns:pdf="http://ns.adobe.com/pdf/1.3/"> + <pdf:Producer>Adobe PDF library 9.00</pdf:Producer> + </rdf:Description> + </rdf:RDF> +</x:xmpmeta> + + + + + + + + + + + + + + + + + + + + + +<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[82 0 R]/Type/Pages>>
endobj
82 0 obj
<</ArtBox[3.0 3.66016 16.332 16.3398]/BleedBox[0.0 0.0 19.0 19.0]/Contents 83 0 R/LastModified(D:20090720145225-07'00')/MediaBox[0.0 0.0 19.0 19.0]/Parent 3 0 R/PieceInfo<</Illustrator 84 0 R>>/Resources<</ExtGState<</GS0 85 0 R>>/Properties<</MC0 80 0 R>>>>/Thumb 86 0 R/TrimBox[0.0 0.0 19.0 19.0]/Type/Page>>
endobj
83 0 obj
<</Filter/FlateDecode/Length 144>>stream
+H‰\K +AD÷9E] ™þfº·¶âjñ‚ãÂY8ÞL¯%¨Jê…L—†ii‡cy8©©wö•¦óÍaýÐfZyTQÍ^%ÆZpߨûyÉs'))áEjkóArÊàYJT“Éø`D‹)6jéþpÏéÈqÇêÀòßÕ'=èJ§Å^ù +0 +8;Xp*q93E#!!<3,1]p2~>
endstream
endobj
87 0 obj
[/Indexed/DeviceRGB 255 88 0 R]
endobj
88 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1 +VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH< +PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
80 0 obj
<</Intent 89 0 R/Name(Layer 1)/Type/OCG/Usage 90 0 R>>
endobj
89 0 obj
[/View/Design]
endobj
90 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
85 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
84 0 obj
<</LastModified(D:20090720145225-07'00')/Private 91 0 R>>
endobj
91 0 obj
<</AIMetaData 92 0 R/AIPDFPrivateData1 93 0 R/AIPDFPrivateData10 94 0 R/AIPDFPrivateData11 95 0 R/AIPDFPrivateData2 96 0 R/AIPDFPrivateData3 97 0 R/AIPDFPrivateData4 98 0 R/AIPDFPrivateData5 99 0 R/AIPDFPrivateData6 100 0 R/AIPDFPrivateData7 101 0 R/AIPDFPrivateData8 102 0 R/AIPDFPrivateData9 103 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 11/RoundtripVersion 14>>
endobj
92 0 obj
<</Length 936>>stream
+%!PS-Adobe-3.0
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (J. Nicholas Jitkoff) ()
%%Title: (starred.pdf)
%%CreationDate: 7/20/09 2:52 PM
%%Canvassize: 16383
%%BoundingBox: 3 3 17 17
%%HiResBoundingBox: 3 3.66016 16.332 16.3398
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 0 0 19 19
%AI3_TemplateBox: 12.5 12.5 12.5 12.5
%AI3_TileBox: -296.5 -386.5 315.5 405.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 6
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -16 28 24 1320 681 90 0 0 199 190 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:0 0
%AI7_GridSettings: 72 72 72 72 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments
endstream
endobj
93 0 obj
<</Length 13793>>stream
+%%BoundingBox: 3 3 17 17
%%HiResBoundingBox: 3 3.66016 16.332 16.3398
%AI7_Thumbnail: 128 124 8
%%BeginData: 13658 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FD3FFFCFCFFD7EFFCDC8FD7EFFCCCCFD7DFFC9FEC6CFFD7CFFCEFE
%FECEFD7CFFC7CCC6CCFD7BFFCFCCC6CCFECFFD7AFFCEC6CCC6FECDFD7AFF
%CCCCFECCFECDFD79FFCFCCC6CCC6CCC6CFFD78FFCEC6CCFECCC6CCCEFD78
%FFC7FEC6CCC6CCC6CDFD77FFCFCCFECCFECCFECCCCFD77FFCEC6CCC6CCC6
%CCC6FECEFD76FFCCCCFECCC6CCFECCC6CDFD75FFCFCCC6CCC6CCC6CCC6FE
%C6FD75FFCFFECCFECCFECCFECCFECCCEFD74FFCDFEC6CCC6CCC6CCC6CCC6
%CDFD73FFCFCCFECCC6CCFECCC6CCFECCC7FD73FFCEC6CCC6CCC6CCC6CCC6
%CCC6FEC9FD72FFCDCCFECCFECCFECCFECCFECCFECEFD72FFCCC6CCC6CCC6
%CCC6CCC6CCC6FEC7FD71FFCFFECCC6CCFECCC6CCFECCC6CCFECCCEFD70FF
%C8FEC6CCC6CCC6CCC6CCC6CCC6CCC6CDFD70FFCCFECCFECCFECCFECCFECC
%FECCFECCCCFD6FFFCFC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FECFFD6EFFCD
%FEC6CCFECCC6CCFECCC6CCFECCC6CCFECEFD6EFFCCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6FEC7FD6DFFCFFECCFECCFECCFECCFECCFECCFECCFECCFECC
%CFFD6CFFC8FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CEFD6CFFCDC6CC
%FECCC6CCFECCC6CCFECCC6CCFECCC6CCCCFD6BFFCFC6FEC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCCFFD6AFFCEFEFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECEFD6AFFCDC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%FECCFD6AFFC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCCFFD68
%FFCEFEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CEFD68FFCDFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCDFD68FFC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCCFFD66FFCECCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CFFD66FFCDC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC7FD66FFCCCCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFD65FFCEFEC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CFFD64FFCDFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCFECCC6CCFECCC6CCFEFECDFD64FFC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCCFFD62FFCECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECFFD62FFCDC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC8FD62FF
%CCCCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECC
%FD31FFC9CCC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7
%CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC7CDC7CDC7CDC7
%CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7CDC7
%CDC7CDC7CDC7CDC7CDC7CEFFCDFEFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFEFEFECEFFFFFFCFCCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC7CFFD06FFCDC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCCDFD09
%FFCEC6FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC9FD
%0CFFCCFEFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCFFD0EFF
%CDFEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC6CDFD11FFCECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECEFD13FFCFCCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6FEC7CFFD16FFCEFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCDFD19FFCFC6FEC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCCEFD1CFFCCFEC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECDCFFD1EFFC8FEC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC6CEFD
%21FFCECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFEFECCCFFD23FFCFCDC6FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6FECCFD27FFCEFECCC6CCFECCC6CCFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECC
%C6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCFECCCEFD29FFCFC7FEC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCCFFD2CFFCDCCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCCCCCFECDFD2FFFC9CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC6CEFD31
%FFCFCCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFEFECCCFFD33FFCFCDC6FEC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6FEC8FD37FFCFFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCEFD39FFCFC7FEC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCCFFD3CFFCDCCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECC
%C6CCFECCC6CCFECCC6CCFECCC6CEFD3FFFC9CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC6CFFD41FFCFCDFECCCCCC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCCFD45FFCEC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC8FD47FFCF
%C7CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCCFFD4AFFC7CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CDCFFD4CFFCDCCFECCFECC
%FECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFECCFECCFECCFECDFD4EFFCDC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC7FD4DFFCFC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCCFFD4CFFC8FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CEFD4CFF
%CDFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCCCFD4CFFC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCCFFD4AFFCECCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CEFD4AFFCDC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6FEC7FD4AFFFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCCFFD48FFCEFEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CEFD48FFCDFECCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFEFECDFD48FFC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCCFFD46FFCECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECFFD46FFCDC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6FEC8FD46FFCCCCC6CCFECCC6CCFECCC6CCFECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCFECCCFFD44FFC9FEC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CFFD44FFCEFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECCFECCFECCFECCFECCFEFECDFD44FFC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCCFFD42FFCECCC6CCFE
%CCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFEFECCCDFECCC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECFFD42FF
%CDC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC7
%FFCFCDC6FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%FEC8FD42FFCCCCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCCEFD04FFCEFECCFECCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%FECCFECCFECCFD41FFCECCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCCFFD06FFCFC7FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCC6CFFD40FFCEC6CCFECCC6CCFECCC6CCFECCC6CCFECC
%C6CCFECCC6CCFECCC6CEFD0AFFCDCCFECCC6CCFECCC6CCFECCC6CCFECCC6
%CCFECCC6CCFECCC6CCCDFD40FFC7FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%CCC6CCC6CCC6FEC6CEFD0CFFC9CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CC
%C6CCC6CCC6CCC6CCFD3FFFCFCCFECCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCCCFD0FFFCFCDFECCCCCCFECCFECCFECCFECCFECCFECCFECCFE
%CCFECCFECFFD3EFFCEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6
%FEC8FD12FFCDC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FECDFD
%3EFFCCCCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCCEFD14FFCFC6
%CCFECCC6CCFECCC6CCFECCC6CCFECCC6CCFECCC6CDFD3DFFCFFEC6CCC6CC
%C6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCCAFD16FFCFC7FEC6CCC6CCC6CCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CFFD3CFFCEFECCFECCFECCFECCFECCFECCFE
%CCFECCFECCFECEFD1AFFCDCCFECCFECCFECCFECCFECCFECCFECCFECCFECC
%CEFD3CFFC7FEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC6CFFD1CFFCECCC6
%CCC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6CDFD3BFFCFCCFECCC6CCFECCC6CC
%FECCC6CCFECCC6CCCDFD1FFFCFCDC6CCFECCC6CCFECCC6CCFECCC6CCFECC
%C6FD3BFFCEC6CCC6CCC6CCC6CCC6CCC6CCC6CCC6FEC8FD22FFCEC6FEC6CC
%C6CCC6CCC6CCC6CCC6CCC6FEC8FD3AFFCCCCFECCFECCFECCFECCFECCFECC
%FECCCEFD24FFCFCCCCFECCFECCFECCFECCFECCFECCFECDFD39FFCFCCC6CC
%C6CCC6CCC6CCC6CCC6FEC6CDCFFD27FFCCFEC6CCC6CCC6CCC6CCC6CCC6CC
%C6FD39FFCEFECCC6CCFECCC6CCFECCC6CCFECEFD2AFFCECCC6CCFECCC6CC
%FECCC6CCFEFECEFD38FFC7FEC6CCC6CCC6CCC6CCC6FEC6CFFD2CFFCECCC6
%CCC6CCC6CCC6CCC6CCC6CDFD37FFCFCCFECCFECCFECCFECCFEFECDFD30FF
%CDFECCFECCFECCFECCFECCCCFD37FFCEC6CCC6CCC6CCC6CCC6CCCEFD32FF
%CEC6FEC6CCC6CCC6CCC6FEC9FD36FFCDFEC6CCFECCC6CCFECCCFFD34FFCF
%CCFEC6CCFECCC6CCFECDFD35FFCFCCC6CCC6CCC6FEC6CDFD38FFC8FEC6CC
%C6CCC6CCC7FD35FFCFFECCFECCFECCFECFFD3AFFCECCFECCFECCFECCCEFD
%34FFC8FEC6CCC6FEC7CFFD3CFFCFCCC6CCC6CCC6CDFD34FFCCC6CCFEFECD
%FD40FFCEFECCC6CCCCFD33FFCFC6CCC6CCCEFD42FFCEC6FEC6FECEFD32FF
%CDFEFECDCFFD45FFCCCCFECEFD32FFCCC6CEFD48FFC8FEC7FD31FFCFC6CF
%FD4AFFCECCCEFD30FFCECFFD4CFFCACFFD17FFFF
%%EndData
endstream
endobj
94 0 obj
<</Filter[/FlateDecode]/Length 15527>>stream
+H‰ÄViSâZýþ‡8ÈfX–D bveÄA É!Á,¾™÷ëßÍœQ«¦^Í—Ô%Ý·ûœ>ÝÖ ‰¤N¢/š·†²ûƒWe[5tÉüéÿþÈXA?ÖšÍiɶMuêØÀòCgÓ”ÞyÉUSL û>9$[Óí½Õ}Ø?7¸<’í +qK6€1®@´FÅ]s»ZÀZ ¯[Ô%—eˆpP§\!wñ{Ð9€¯úš@ þØ`8ÚŽ½¬>F’E¶MI·6Ü5òOˆ@UKý|ž̟*"÷©ïŽ~ ÈÝv^zpÒAQmiªºÃ¶“o;Âïz©)ésGšäÎØl宸u“
SÊûAB²·†}`ÆÃá…».Òþ`jsSsµðƵWìw^½ÝúúÈ–gvÿ™Ï.iVÏíÓÃO×±“XÒ´ãOÇ;?X,ØóOÂY+u3…Kq•üš —¡i—ƒù5|Ûžª–x¿2Žono„PWvƒ"ucZÓg²ß\!I})Ž=\žæïÄ +©Þ•Þ@ËÑl~_˜CüYVÝÊÉt¹Zí¢È—Œk,\µcO(5¸ŒW¤aªžµÓ,m^¯å¹~ZOS‰8§JëŒx¸ˆH™~¸®¶ +Wåæ÷x‹6™…\ë"Š +³ø%?Oagtå9sNS©E[\ö$JWš§æÖ©n³ó›û&M@—S/«2ŸÉÄçïR5•G˜äÅh™]ÛürÌFé³6š¤k/Ð*qD¾p6`—Z|pågX}úË`gdiFö3=.Óÿ}Ò°_yLS+qL—ÌåSQGL\+³“¨W,qòÒvøÙx@²
Ë3vasr„”cãe¼ùJSWñB¶¸çù³O±W¾¦ÔNÙôÅòŒé¦#ºa()ÎI´´L ² ïÜ¢ðR¡˜h>†²·© Jsñ‘Îyµ_,*²,Ü“Š +³æÂÏŒcY‰4Õ³IY}®+¬½Š§Mô»Ã4»±W’®Ôù“(QéiF—ãkô²UÉ’ëï—*IfYž1厮Êø.¢Ì×>,ä )e•ËJP_¼u™H§ +NÔ@høî\J˜øÁr¹lÝ!†V«B*Ç_Í/ƒ8ƒKª¢,oŸ=%w€a¼6[²@'¶¾0ÞÀ—× ¼wÅS–ñJÍëª@Œˆ¥Ìôø%ÊϲWA’âg,1}¸/ÝE‡L›cïøYW}¥_ÇåùI”-<ö^übŽe$¼àhŸ-™¶È//œº$²•Ù::¹Ù9XdG1öù.º¯ëÓnž7D>©4üÚlí÷>TßÞdîÑ«¾ôêª]éÙߘ^ÝvÞS;ªl¨[!†æé6TNN›³O¢ÂH‰ÎsêŠÇÄïtÞkjB‰<ìŽóÊ¥çc+v+„ß9WËñª¹„ëTo^3/uÜë +ÝT&bbÖÈ0Õå’gϔ䰄Ó)1Û$¹ÑY h3#î;À£án˜® ¸JáZÇ µH’›/‹¬È†åÇÜÝhýƒØß®…tjZú•$¥hp'Q¦×RP¸aª%žm>®~…Öóù]?’384BË]Zï;Ǿ“wZEä‹£Z½ž¤O¢{^•<¾H²DºÝ÷N¿é§¼¤|v²9g—¶²f5½o0½Åð†h » +‡ ã^^¤ç—CwÁOøia1`¢²uèc:½'íb©¥)o£í?0ËÞnÔ1Š]%6ªH]ã‰ÐnuÎ¥pMà·$´¬qlê‰Ë×ÁþKsd…œ°É9„ºïì´R³fpcË‘"‹;ÚÓÔ¹ÀZb&4uÃe ˤ·@3Æâ#ç…é:½ÂÞê9Ã=_¬iS.Ç|µÂó™}¤®ÚœN’
)‚Õí'k$Ö|(,ÖÀÆ?Õ/Kð4¬Âw~‡ÏYïÌö”‚‹ÄœÛ^\ÂS²tçß noøqü`ú]uàiÉû.óÆϲƒç:…ãxYÖüqˆøÝúJá4>$œbp³ø4½ˆ.¨$ÛõßÁ<V^÷öq‰v“6© 60ÞÜWç–òH}‚~šl’I
.'2nr“ù&™ï¿*ÛCÓ3=;ûkÿpÌqY*]]IWj,½ŒéëÂEJÁ¡f~zÈ¥êÞ5dn(¦ª&4<»ÎÊÍÊÝ‘/‰zÚšˆ§4^B–ì
,¸¨~¼—¾áô +©ŒR¾±¸~xw÷` m„©·`)oÈgÚƒìdÁÏ !w×VX)®ô]…õã’iu3‹XMñnK+â^ÖäÙ7_øÌ·”k}„ïJ Ôz´ûo–“_¬&X)ýËå䫉®ú†úphMÿÚb´kU{}Ôà†›û†Wü§œžƒ¦}£ë£¯«ÊØ;NwSÿ_›Eì´²oûT®ÏYÊ Ü¶Êô¶j\T9L²Á؜̻ˆJû4UôóùuìÏ6Ø,0p:üh—‹µ”RIÍ"ЪS#çý"?-žiŠ"ŒÈ² +µè©êÿÍ~×ÿß/:—øìÆ>‡òª‚Àf”)<y/ÙÃû„¦=ÉHåÑlé‡%%åÔ:LÕÆ_/ŽÁi-#…˜¦…Ö7Õ1°6ܸz?×U¨»±r˾%nÙø!\?Ô>»){`ù”#F$ðb0d7¡Ëý…Av21Û*$NSÁ´ŸI%ŠSBßoX‰‰Ãa…ݪ2d§·qY^[ MK¶úÉ|†ÜmE¿èµcGÕJ½%òîÙíE{Ö1Þ;ÈØæ:ù$K¿’=KóÓ“g½*Ÿ|ÿ¯=¿Ù
JŠÌé´lFåvFu$3É1Þî8R¦¹¼É¶t`släÊ’AoólyÈAoˆèdÑg¼hDŽþRw1ÁËœÞ9‘p{#Юڰßxg;˜N5Q¹-Ki˜IM†;¦]õ8KO}Ã^«<7ug©DqhERÓTÎÇNÄXãØwÆX„´vÒ¨ßc¿«Þ…êŽýmý†y™,L~Q½¦‹àê…Up/s«óŠ‚Ú—}=Б{²HoæEÎThÙNL†˜…ÊFÊÏf«˜Ü·ê
³\QQ$‚qKjßÝù¼ b'8ÓÒøQ¬ÌøÙ–öÞÈçzçeg†ä¹œUF¾½%í÷s-¯:¢ð墉ùØ1×qÊ}XÅ_‚ÑúN•ovÍc¥£¡½—_X˜#;tkiðº.e³tÏœ…0 tWFíØ=ª[#þèóº´ +ìX;˜–ܸšl§©Â•÷×f>&QYoLâ~Ô»¸ãP©î8šÊõˆB%Èþ¦ßüN%°œÇ7¨ç39éÊç†ç3ïˆBÊm³7‹#»•ÒÑï|©¾ÃøÚt±RJ]Ðç"vj +WÏ}T¿ÙÉ0árÇ£§dTQv¤ FVfäҫ¹o2žfŠäÙÛ¥Ò͈€¢¾b7Šàw/ê!õ¢C1Ôx9“ÞÅÒN˜FwàÙçw¿ +¤“´sŠòLîp¼öî± £4"e;Œ‚vSçVWžB·`B¦Î€UbŒM]% + [ð«É/¡)’mÁ#9= +z$¥0±¯…€âÙó…õý‡ô*kH ¿`þC¯3:¨Ü*xÎȹâ1¢€x;¤–¤;&g܇ýí[0œ}áT×]_}µýœª'ŽSW•\Ç°÷ÈîŠ1_®†-{1\)1ù»J&ÑÒ)m+f?´\À½½ÀGÀõxv¯çkzùZ5záQÛQÓ|Z.¼ävZÀ·[õúaš¼å´µùý[p^7ò8ƒöéæ쟕ZÉC¨K…¸ÍYS¥§Òv*½$ aaª½`1RÞjZáªópµ]ü^9ªî´%ya-î_l<VONöåoÚOQÏ€ÕñJípï¡´³x±žÍ'_T@ùÛ!ìÜžYºÔ·º Œ¯íÕë¥êÉñ´ý粨‚|+4o‹í'‡}ZÉÊAµ¿UXÚO:÷´ðíeWÐÚK}¿®úÝ8Ƨ140ÉÇ1Û?*š+ë‡Å¥*i[68òP)¶4¾lÜüò˜÷wmWÓÔön¯5Ëz*×þûúöšA]DyœE_äÇ£âÔ>8ƒjCk|uo£K¶7ÝB„‹bq«ÑˤºPøN¢Ä”¾=ƶ yÃÝ»ôñX+ëËß¿Nª½òúè@o–Ö.œà«×cÝR»Sl¹Û>ŸBäF7DJ½,ÿìŠ2³v)»ÿÃFÓKVùë~»ºF3ê~òæ¤\ÚN6¤¾ +±¸³:&D³2?*ŽÏðj@¦ÊjéüäÃìßÈ<ä'\ºX‚å@îöp—?Ãõš©=/×k;œÖ¯ +ÅZØýüPØ»z8tÂúÁÙ^¦hÜÐb1c÷6J–ÚÈws˹§õÚÙúLÝzf¨m×ÔoG ª³b~ÙéÔî¾ìô»Ö§eðìhS"ìc©=P…ôñßoŸ–ŸöP¢ÔÈåÑ1Wй)(g6ªbWQ¾‹Å-”i0!Õ¢ÿO*QÒ¸BP³ZGM‹ØD¤Ÿ¹Â=±U”i ‹²~„†Øð5dªT•ÿaë
í¢Ì..‰Ê-hîçÜVÖ÷"ƒhSAìèËͧ +×¹U忘
S'—Äæº#µyºs1OÏ8ãêÀâ ÞŸP¦y/7²`ö’`}úñ:w„ét‰mA,ú–æÐG,ÿmá· +7LÈ—
.¬Sñæ½+D[õž÷zá:ø\²Ä/n
Ë\nÄZÌ¢žÿF,Ä¡SF-,>$v컼4Ø´xê¤ÁTÝ‘®6¹NÕ?ò´ÍMïÙæB% ¥'¨IªÃ¨Ê52ê«(§½ú€Â„@ÐmquqØz%%Õâ +§øX~’òù9
š¨aà>))üu“nÿÎê…x£S?mõc幤ýX]`à&CîúU¨Â™FåÛ†•¢=J¬±ë',èŽú_Õ©‰T.=ÿ,Ò÷@ÊíÊØ e_ÎÎtâîŒhÔ1Bð07®Þºç|÷°sn›æC)`¯ÐS3éÖ.µÎˆ=˜ƒYk™SÒó1Œa§‹3º<\9Ëu<õJTÁ-¤`3•„úC(?÷Œ÷QÈ)Èoñ¡V¿„.¸}[¬´-™†--Ö/7®¶E3l
ýþ݈Ä‚+4@–>lJñ*WË:!ñS5—
¶ƒ°0”¦&'šõ+ØÄ®=:Ú23bÉ{±`ÓŒ-gËQdr&.euÏî[7– Wó[qè"Ñ
-ð›¹ä£ŒøÓ‘2ÛÄaj|%¼‘ƒ 7¡µÄüvlÒ”’à<¤ßïÐö +º…U€jk1áX0ÔÀ³,»rØV¨0pâHQOÆšbS³Ö7 /ñéeº*³„á+ð‚ +Ίà<FÅ1jœ2hœ0’mœ0 ßZß¹úÓ
(ƒÝš}ÎVb<]ÕÕoWÉñ(ßö¼t÷‹-ÿ¹¹}%Šìù;xàøt%JÿQ½PJ½”AÂø-LV¸å÷{
ÍïF ܵžWòïNz9+ÇGßÍß¼¶ìø}¼ì‰"«º‚
ûws/ˆ^úïý×»Gq“ÀÀ Lª77JMÜŠÒ‚—ä['þÒÅ€ÓtWLΉø…¯djsïye"†ußñÒF6¯úκ°Ý÷5¬úÞÆU#ÇSŒ'YàÄÏ"ü÷Æ)V»Ãƒô:®nJO¶ƒ +"ß.Ðo Gs3¥´f¨6F² +’2J¢<ÿüFº`ï¥*×ÌŽ·{4Mᔡ÷N+d:ñÈöQí˜@ÌGAÓáÀ +Ò?Âçîß[z©;ŠÇÕ¹{H?¸õpø¡÷¡pvà¾?-—”âvÿ´’ûÐŽ§ÃC“ßÿ9 x與“>/Eq_èóÿ-Ð|¶BA/-åÂvÛ`ÇsŽ?ýj‹Çžð)JKД)?ÙÈB=9+ï—g Çyøc8<+1ÙÀvœm¶üÝøËCê!Tè—êõD” ,¯úrÑyÜ—]„è¯åóåWGþÅD2Ý{1t/)†4›‹ÜW²º©9zYžû¢‡¹‹•ñe{±áakY"rõl$áËm2„§=JþÕ70Í¿‚„ï”êþÖ;GèC‡²C·‚%O7"3r,ŽÛDòÏó[L°‰Ø(¶eóŠcé¥n¥k3¡d#%)—]ü‡vãñ))çµÌ[°"Ž"¯ei<¢¹Qe8¨dÙÏ°·ßkÖÙõ•Þà5c¸pÕ€‚l3é»rjÊ’”– +( +vVì± –ȾÀ@‡/tù{×@Bí€xœ€ŽlêÇzhN³øLƒ.XåÐxFMÞ«@WÎ]3GÚ¤çÞTBý:P |výsý¬d…Ê"•Õ ǼÏ)1æ?<*´8×ÍBè—ä—( +X„Ј´Õ›†u¦JO +R4¬S’øÅBiT’ +‚x®ßaÊÑuJ»iò©nÐ’^»(Ì6øY̼¨Ú5SXë°Þ½â¬+º6'OºõJùôræm°”¯t^×Zˆ[¬±Dx6Ьò&qu*cû•ýeWE±SO±ÖãíÍñÖ?u]2vm/0Ôèkmúöyo]<¥u«%c1dzýsQü¨QµÌ‹¬Z¿\?IË»/¾ïssú¶§®2ö²hô÷(»ªrœo#aoä"Dàc.•=gaŸ“Ó¸k];‡ÖºyeŠ]Ýz•±Ý¦’›âÞKꦣXkƒ‰äÞñ#?÷‹~÷6EPõ±k-Zkm0y{Ÿ±Á8=)Œ5Z£ËYï9æ”;m±ú]9¯YKÁŒõTÖóª· Û#rÄß3O`%zéú(iú3'·ÐzÐÆÑÊ,ªJOQ”Ûê_&cŽN8a–ˆ@#9æz +k†Þ‚6]X¨ÒSèPxöMXØSL»*$Ïxå/m#<¥Ñr÷¿éi·7ž}ŒgÌñ3-¿?ßõ‹®´ºÓÔ¢b4µ¼:ºs÷f§w©~ á•“¤‰Õ´œøз#å×¹ƒ{ .ÿ*A©š“j#sOæpù¢[ùD.Ys®•Uä’Õ_†dV—&
Ÿ+“ÚÃß5€ÒŸ—Þ¬—=¨NçO0Ù+†VG^=cǾc8¸À™ƒ”ª1Üy#¯(¿²ä—ø‚
íÉ{ÎŽÚ·krlˆ C™ÈmôÒ(I*Xoæ) µ¨M²nY”qI³“”nËϸòtæÓ}ùJW/%å@-'§âÓ½¤Ã‡¶øˆˆ‰ÏE`㳑z„Ê»ƒçýëÛïïŸãŸW«1T„°y}¹‘¬ßԧ:Yü2Y7>ö×ì§l¿)÷s²Ò¿ª,½®L7²ZYÕñÏßg™wÐÜŒ´Jþ¿3ÏGÉÆí¼ÛðÉ2KçZz¦e³ô°Xé±Ý+Ýò¸.xY²)”*=èÜMË°‡ÑŒY¿ìWZîÂ{tî†+Û¸SÙq¹0¡
íšñS‚có¯ƒÖ½TWŸ(¸îf!œÏ•ñ3D%t‚”¶ûW2Z”Wñ¯B)¨0νr{9†Æ:Ÿ{(°¸w³MþC˜wºjÊ@,ÿ{bhü-½}Ùså*yÁþ—õjÝJdg¢OÐÁ¥¹ÈG8£8 AÆÛÀÀ8ŠzÄñÓƒ +
ïÿ%éîtRé4íŸ^.—VªvUí½+
+é“…"¸cŸì”±³¹w÷mݽSoÒÊûèxìe¬”–²øsmŸO‰É±d,3¦Z}Y;blCñ5?•6ÕGYps6Î.hJL^¤–UGšÙaçÁ‚Š<*ÎVÆÛl‰wñ
2›-yìø¹0]êyÝ·&
Ïèý1r3×+P–3H;“np÷$ÛýÇÏÓ°ïžð*RZÕ{ Vž]:ùèX:”lèÜÖ¦^«qµ±ðóü\ßL¥±Ð¿ÎùÜeOrˆ`Woy¡Ô +ÆJмlæ§Á&ê#&H‘¬«Øtù‰ˆñŒ0/¢/UÜ}]n®«CkKwìåŠ^AùteÇ dh¥]nŒŸ#><ÆlùV®êÑOÛÊÆx÷·û¦í€:;ßZ’Nv3õRÿÔÃÆ0·AgMèÔ[ŠèZT–UGñrcØHAº/þm:´Ô'žˆ3É›©ø°€V"‚·ÜŸµgÁˆí^e +½&½(.'‰\÷°S‚‚5~W{[Š¨CÎ$‰»È¦xlj—ï@M±RvXÊâÍè?&ÇþÁ¡š+Ãô_C
¹ÁÁÊy=‹?jQœ½Ìv´ dìgmÁ©˜ÈhÖkzƒÑ¬×LpFs®W¡~ÌÑ",£
=Fs¯× ^æÏhÃiJF†a4º•Ñû'0ꚌÑï>ŠœÑœî‹qÂ3ŽBÍÖÊmãðŒVf£d)g|Ô¹N„FèÞõênãÏ.(×dåe7{io¥³*øæ
=ùÝcò¾¥Ï›“\ +З§ä¦!MgÖD{~¶’-3B,0Í¢`£H ’5LfQ°I4,ÍŒ°§Æ ®!Éj0Œ=kFÁµà8¨ûãðU=•¢Y¤•ÁâÔR¿ÍQXrê.„`ðúù{QQ}ì.x5D¿Í…ñ÷ÌÞG/Ðßø—ÌßË´Ð0ýÕðW /ÓBï²ÀÁÂûû?™U1Ü5µ¿×S1'Œ¿g¢P-Ü^ÅH‰¿—E¡×+GW
ÕZHæÏ"´rZ8] +ZH^A¿
«†NõµTQ¶ÑŽVžß3(N+kü¼Àt©h ¥]=žd¡~v!ǺÛÞmÂÉ(XØífò’춷û¾\Ë#¦ewÝNâW ‹õ2¯µç$àkž#Æõm°<7ò#UH œ\‹ÿz‰ÂÔÌç6d©™/hÝ•ÂTnŒ×{:*ÎVÃBá±Z–|¼ê©"õ7óe=(5–ëÁbT诬ô+߬}¨/Þ°àl÷V‰ÿÓ?Õ§#%b_ƒYŒûèªtršWL²Xö 9qÔa˜ÎLh%¥9Ëå(²½ºžž~¼I/§§ÖrY¶þFroÓHvtÛŠä¾Wn#¹^µAÛÄ?M"Ùç—ŸøƒÃ¿mG²Ç—Müù•¯œVã´¡ !eç§é2ŠVø<—9¸Ü{^Z%sɪX¬’DÿÖ›çÖ~w7Z®Uq÷]”ƒý·d±p0^/—ߢ ôÞÓ7ú^ƒšFÇN´µ\ßåsì¼pf¾•ÿ^N&ÏîÅbÃÿ®åîN~ƒZÑöK |´Ø~úqÅ_¯L{±D©7ýzô‘}t÷*Î<ºÿ£qÅ<ú˜HÄðî»ÏZ±ç™g*À‡‹øœVÚù{4=Eð”9ׇŸek +®Åeâ¶ÅsÄ6ëpM¿ÜñÒDÝ—ß陹YždWjK*P+ö0¹2=hýE gJèÁ¤ŸK»´ï-Yi˜a6oÚ ¥åbêÒÜ[lvžO@(B¹s>÷¯*aW%™s2ɨçÂòmÕ«^À+©ÓO0–|£MÇð}ê!2X¶ÄÀL—Z§©ßÒ"7›Êæ±@Á>Ø"ïJž‰p°{(/„š·ääûv £—l%tö>T¢:À‡kΓI€“’Þ%çd†þ®¶ +;%f¨PÏ…åÛ¦ Þšgñ +ï`ÉìO§Ÿ +4¡’ùÄ=½1£]Pñ)¹Z\z%y«[»ˆð—ª60<,{,¼»à€ü&΃¥±½Œ·äöw7{ÉDÄ)šWò;M¡sj¤®‰ +¢Š^ârQFTåý§;iÒ馷þä›ïVUŸªSuŽxw"x´ÑÂ}+&øÁûÈ)i3ºÈXl¿‰±IÇÉËWűøJómV BÓpm,ý(<"T!k-3 Ç”oÊQR¥Óø‘‹¨Ö`{=6ÜY“”ø,Ñ^,Éc|Ïï[ÊAÛY\[n7JÂõ¼ª·äÚÒ`iÊ
VÜ;lµýr1)ú•
0‡É@d'qÒ²î+ÆÉø©ÆÖcVœìN^•¸¤Üxš:^O‘|£‚4,¸Ÿ®ÇÑu=îä0÷E4Ú+IÓü›¤ ]þ…¢á½®‡ÝœY© +ýÓ#i¨°Ç¸44gª4¨qˆ·7¿È4ýé”^žDq¼Ñ‡é^8; ˆ’S»bÒ8y…j +ÒÞ +FÚ§Ó‰—°FýÍK"mý¨Z>Ûûp˜þÐêB)t¯3§VÚ0ùw-ÄÜ@Þ +NãOò£e/—û/\IsiH’0ƒºOҰˆ„•x^°Ç€¯q¹ÝPæ¯d@ âL”à‘“ò¹ð‘12Tœß—~ª×[Ò‘ƒ0*0X‚_WMkµå¬„=#V¬Ýßuvá+A/³NñR_I,Tp‘Žç/fo–„'ÂÎBÏ%
e°‘ÍlÃFÖU0Ñž4äµÖ C÷* +àý*΂|k¾9½»ã&¶Gã!/éˆJjo˜õ(]^÷ùIõËGƒïÞwñpÀK +ìFWaÑ«ÿBs^QüÝ!ëw/Ô/KOm¥ˆ¥D×þ:í}†½\»¤jsõIÔaôxÎ]Rxßñ,©`Sßö[nÜ{µŠªÚ½~<Õ’õ¦K]Ø’~P¾_3öªïFJ‚|‘EˆàÍ’€prÝBýiÒ¤n¡í^Oiý{örQSп¬’ +Ï«z‹* ö…SiÊÁ)ôÔ:Ä}VQ¤ôÝ'„8óÏrÕÑw LþL^unIOó4ÅÃéé}®Íï¼Ðœíæ}´÷ú`®PR@§Bý¡|±¾£¥"N7XË"1…þ"ae©–Ïö>Ö“úG·ÆÂÞcg¥›.²È7
MD-'ÇFÌL/}û +V"?êf£XÓ|Ñ…Ô~{;ž“ Æè–¼W3M^‚ɱ>F+jM%T°›´é4ç˜MXgáN–Ú¡SÓ-o$v2ˆ0)´Ù†Hx+üÈæ\í"¿6ŸðØ«§íʧ}Sítnå[1¤ÒøAäëÆbÌž¾†: +tßùÿ¹ñ4u¼YYå‡=h +–Y”˜Á#öqnå9.éœ6€wÒ%aäEê±ð¼ø‘ +箿um¹${¹(Jò¯±âbÎGºa´VÌÿÓj•ëŽõ· /äãE’ˆZ$år±")Ìy•ÑŠ"Ü+zþSØA¯sFnËÙ±eÔÞ–¼6чœK@’³`ðº}+&(l†èì+ CÝsç}37Ú/'+XÒ
¹a*×Aq,¡à_'9ØÍZäò,YÈqàC§‰›ÖÒ=-
?”ä¶ù‚g¢E‹nöˆ³E7õ4,¹mËŸtÑÓŽªóéÒct)´òÞ‚¸ ãZ²þÑtùÊí))Œf@LÝÖÆÜ‚¸³Èò^‰?È€2G, !:¤€æN2‡¿¤þÌá|Ë¥óªø·ø÷͈©C½2º_\Þ‰;¹ÞüV·ÀPed[@M·ÂP9 +)%æF‡±Þ„Áòþg¬aí>Ÿ3Ö¿…oxûŽCIVf÷㘳-«Á.ÉŠã›VÒÂ:Û’ŠvnIJŒT«ì’ìPö#‚‘R³jÜ~S—Ïú7Ù•Nëiû'dFµo
A0Ï +£ùjU–™ûvq¡¼cAÉì‹ÛH +DD"iý¤Z>Ûûp²ôà>Щ‚ñŒÙb™p˜f&Îfüb"ÙD”tÝJãjŠˆ¯$6CµW*ÚÒ
džÁ`Ý î÷°‚÷.Ö. ®!ÿrÂŽ²˜üv_1Î{ì§ï©è+Yq¤2^©š5 [ùrQ[ǹºv(-ßh½
¦:§ñ'ùѲú‚Ž¬Š–O¤4¼gÑ"a ¢BCЈ¬W²Xã®?]-wDCýéžfŽtqi¨?™!ßjà탆ëA3g ¥´Žó¿ +H‰¬Wù^ÚL}‚<„@H ´€e‚TÄ
\Êò?+mAïÿÍL¶É0K"þ3µ +çîçž»¨œ˜7}½=IÊàI%õötØ8:¨§.‹V!q©Uog9=§õ.µŠ9Zéskq§UŽÌ?ÅêŤ¢?'¯NÁE +…ó¢¼ù8|IvpŒØh¥¤Þc(íI§ŠP$ÇoÓZý0]VJï°zöÆ„’düvP´òV}ƧéÏÊCÝ›jðw‡î·Q¸ž)ø×Α,ç~—gj^©êgz®x•Öª¯›‚gÅÅþA-G‡æž ||÷L+Åï—¥þ÷JÔ*ÓÌØã·ñ
ö´u +<’ýV\2Á +‰oÝs>ø\7éä€d¡dÀNvò}ÄÏ·ýÌûÙde•ú¾BÐ¥h4¯Õ–VݘÆzŠk%N6º7võ œÜ§D¥û(°.Æ1Þ4>Jîu©•Ýê-ÁT®Ôçk2+¤ˆ’ù’¯ÝŸt¼ÂçñÂgj`6ʽ|rÔ‰†Í +ÌXu3~Ã4ªœÍ²ÿ¹FÍ?¸Ñï)ß(ˆ4FOpÿ(}N&ã¾QKù’\{F£G¯)µúð‡fT’a‚ŸðXƒFci–iTou¿÷Fãrñgc‚Œ:z,˜à1Ǩ™8f5/ã÷4£’ŒZI¾øÝ›Ò\
ØF¿þìÞ²6›7-dÔÝÈÀlþ=ãýdr½M—sÁê3>W¨ëÌÏ¡ÙwmOÒ¥!µÒrÓô×$ˆyT$E§û“‚r9_žuÿ€Ú%$wÑ1ϧàÉ’z”‚¼ùÓ0
r7“Wi¸Ý°Ë+\Gh½<U)¡g`+‰æã¢E¡õ©y¹.ÁNf;U_N]Š¨üËŠ¾÷úIK’™7¡uùJ¸t¾eº$ÉÔ<¥ÌšÔ<›=dé
pê*ö)yZú+Ý>¹Ô?˜˜d·€yõë’%)\?™·Ë}âƒÌïFh4Ÿ,“~>F‹/¨»)ó:éAŽ¸$É<§fÖçô`˧mKwÊñGE~³éªùXI#ºò|hd嫾¨tÕ|<[‹o±$j.¦æÿÕä°³y;cC¿YÑã„ÖWFh£34Œaìà˜¡…Rúf7éT-àT}¶+
-LTó~6ÉùÍéu£T‹þ¢¼…'U*‰(Ì/¬>V¨ÌŠs"ã¥E'ÒfÿcW3˜9& $™ædÞ # *dÚÒŸ•i“×çᦥU'gœŒ·Šsa9s¥2Ê9m‘Ã(|œì—ôá›åß™sÕ8ü¼³Ï÷LczÉF—FæÆÈxσ›±ilczˆ«À©X|‡ö¸Ë‹¯ëèzô¥@TC&éŸÒ¼FG
JuM¤ÛœË‚¥HBÖ÷ÙŽ¹Ô¤äº89%Ë]F„K0c§òµû“c© ÕxÀ¥¸ïÊî”_¼Šäs‘à/mT?Ðc!*X-]öö©ŸJ–>ŸŽo>§ôùÛü6°÷÷³w!ü‚ŸŒØ*ûeìň>)c/%õþÓ2F0Úž;/>2À.ÓÒÔ¡“±|m8:êÃöç³ +‰“÷bôÄì¦ÅYäa8‰‰{3«±³CÌ,£“áèÒt'ÙÑw +Õëì]R°“\RpÕ8K²ª7Z|ÏfXu1c@3c?N¸Æ?zG”.f%ýâ?|¡•Ôè¡ÁÝ‚e8"DTÞ~ ß¡°æ·ËHÙ³OVKQÞ‡üæ
néòÀ˜&”6òÁVJLÌqˆÁE«±%[õÂìÌ,qvÓ[ÌÚr$©ÑïàªÛwÑÕÑËF«ån%‡WZeqrƬ¤Í0 +\ê/j•
FèVz[윺´ƒ`»û.ZÁlû£÷áƒ÷nÊsY0 Ǹ8FºöÖÚ‡ +Š$GZzlo¼ ¤¡H¡qDÜí6¶C·³Bʇ +ðœ°ÑÀ‚RSM“QÑÞÃn1Hå5wrÂ^jª¾ñ¡0]áA°|6™I݈OåÛ<*•ð¡H¯“Ý©„z-Øë¡Ž[±šH,ã—Sš _ÁoBˆwáÄß.i½ëYI °§m6HÁ—L°Bâ[÷|¿™µIÞW¨ÖA~KóQ¤°8™}¼±¸8‡Ÿu|œ[, +NŽ}å¾.µ²ÛC8 Ñ/4 Á1Ìã…ÏÔTg»–{¹JÄ´WšCð;A!øcè
á-BG)}|G«r^’Ã! +À#Je=[é±0ó É; +#¦l
ã€õ…v,”†É×F±¤xkÆÅL*iöÿP c,°ÿI¯ÎõÄu úyS
wJBïÐ{5pCµ÷¿#¹’MÛÍ>IcF3GgÚ'ñ)]¾*yKwñQùGŒø¶8¨uŸù <Œ¾êÑž»8pÕ,fŠ¾–%ÄÛ2®õ®VÂéÚ½Ì}ΪZò=žjk Dª¡wlÒ9 Ô5bgK5ÀM›qyW!é“ Ë<o‚žõ»I´zyp* +ÙPVÊ5®;Xf°©ÅZÁ-á¨ÅK4K f5>‹‚²-çãûéc³ë%ý;-§Ùâk=e—oé 1Y®X-’Î@8RtÕžåV@Þ
ÇÎP€WáZ~@Wh…Tâ"ÝÚuëv-Øßv6õ€Ü#7/Ž~Ê#fßlVe÷´N›y”ç!Ù©$Á:ѯ'Ü,/ãRÉsÛÚÇâi²yÒbŸf.b¼Ûi÷šš% þUîQQÁdóéJšÍ¿¬Êl!èj)Êâ‘T.á~ébŸ¥K@7X&6¸)ŠèéP1Æߧ…ê£
CÀæroŒr™œ"èÌŽ»¾rˆÞa"£êü1µjžáã@û¬}2ßd”Û‚szSÉjù#°0àîÕ…ÞEpŸúŠnÙ’K÷¦aï:qÇQaò.^|½Ù÷kbÊŒËЈÛrpqóÅúþV;Âß‚v"•ïtœ¬c³F¾§û–ýü.|ÀµFÆ š§ÖJ‹kÖ>Â!tfnÎì(¿díë[.3-´ÁzfmK2×h9É\Ö‘ü£}×Èõ“Â`;ÆûÞ`’* ôôd]s»ŽÚ…ÜðVÃY2R%ìUêpBLNUúý9•ë
Šh7öPüv(Ë…Š¾*xrb™+IÃv~U31 ÝúŠ#!®|$ :Â6äE +ÜpJgØÆ|8ÃØÝPÅÆ +dhýy&ŸãkaP[d©¬ÏyË“ÅR‰ó¹·‡Üj'?²L<äÁ†"㦜7ÃE2ÿ-1Ê"X:2±§.ÊøMŸuº ĘÁyMé‚gÎÌ4Ø +1¯yfÞŒê~!㳈ÐÝšžD= áO'òÙÃO/o +JëÚšÛÎ6[ŽžØ?³Ô +Ÿ9Åz¶É®Ç,|¬PÖâ +PEŽ&Ú¥‰¾W±wç^Ô ¶®¨êBÃð½ãêÅgá›Ú[¹F|ÙÒ`¢3@,}6U4ÿTq»SQt¡"¶QN*pŠÕyHqĦ"…V4>{p¢5cœk}mÕEEM3,I,ȇ×%zcãõžZÉÑš@ިáµ××Ù<h‰ž)j¢l<à‘ós †¸»R‘}·ní¼Qä¨ï’öT°ø¦´í‹}¡òp-æSã„íñ‰ñÞ|ä¤WEL=ï´^¿qf›GEVÏ5à6Ý÷šG¥ÂX$„'ÎÁ“g:`µ;e‚™þµi@0‚ÖØcá—?Aƒ`›ã=6!€%ÑÇ´kµ†wúCh“ûâÄäT”ôpü ^&è $o:±o„ !^Æ.„Á<(ôNŠ¬ +¶X®¬ß
'‡–‡góÓbëLJ_r¬}ü5Ç6×´ÁäØžø%ÇzÇ_slxúAêýT昤|OÓÑWnl¿RåØ—Hìn¿cÄp~Fˆ}‡Ä—*¤Ÿd¾û*ö^Åæ(ö `«Æ;BìI5Üý˜Øz}ùCÅñöK7Kd¨ˆýµ7Û_Ù +PVA•Z¿U0m¾Ü
»¯†ˆ³ +i¹Q÷ZϺ¤¤\÷Y¯âÚИ_ŠŽ$‹qäŠþ¼€D+&ZhÛ´ê–^)LSʼn[9BOÚsûj˜Oinå¡©¤Éàɉ[%Ja<¿45µ«f«…{ÔŽž‰‚Wqªoéñ‹hêX€á=‰dÝk+½§_½©Æ꥚”ˆ6(('ðŒõeíò‘TútÉ eÎûŸ°¼§˜þ@ãGú>ÑجÆéÀµáئ£ðkª}sü—,òŠ3X´à§·YRãÐp&èêˆØñ§êz62ÈÒ÷c +ã" +Í^LÀ +äì¯Ò +Mpš¶ÕÒ4°÷%ƒ8Ëà0j2PsˆC7&^Dm›ä-¤æÿÍøââEâG\”|ë´2öýóÓóúë»ôñùª(vÖóMyowÆ?Çâæáôj¬?’?ø|[Vã±¢ñ°™°9ozáDoƺS—»eGpëŒ$— ÅÇ„¶¬ZéYñQèg©d%ÙíÝŽ`/I0I°“ù`¥r›ˆT,šöÍ•IoIå oññJ¶1ÍØü‚»Ò¢±/œJL½öë»9þ«$¦wZÚG–~ŒVŽ?<¥øJ~p]”»í68Á?MÕ!ûÖzioya^èucŽ¬—Ö‡!‚JÝ(D”wážË"¼%XŒóKårhõŠ`ný7è}7H%¢yyN°õ^… w¨)f»¸Å”±æ!‰1ã4Š—žÊ“‰MÈæCû¥½Ù§'ŒîN0šÔ +ñÉI…A'k‹ª¼+ƒ—Oy[ðŽ*ä +³Ä]󞬩,À)Xä9[«r(öÓÀéƒKAzúHk‰x*g;L›9W÷þP ®4˘â´X4þ9ƒ_Pµgþ¸¶ÙàQLcá€]¦¬–6Ã7‡2_o/QL¾c<irâ^![ԢΡSûvÑ‹ü,J>Ãrª¤¼8äãêÊŽ^N`³£ö-ºan¸V]¿Ó‡:¹/h”ÂÑÖH]ÅoqœwÅê<MXlê÷D'Jor µš,xõgŠóô™^z#ŠSõb
ÓoÁ^ï ¢^«R0ŠV¦ÑÇR&Q•ÀWúLFÝϬÂrí²…5FÁèIˆÔËoý½ +öhì¢M—ÂÙZƺÍr.{cBžÀ[pÑ:ïHüË:(p©QZæá¡jG/rå
3Nø{˜AÑ
Š&)4ºBŸ¬kØݶñû0ãıO&hùÍý¥0öý¥í#¿™¢¿” qLþdŠÆ°PXh¹”vËÓ!ifK¥lX(mù
êÒÛ:ËÅÓÄP÷û4ÿ‚銓ž`øc<PóPw!©Üo…9¹.Âæ=ãM§XA*ÛÆ +|¤©¢:b¹·*™Î„.Ùmè¡ ú1õ«‡ +8÷—ö§iZÂÜÀ‚ˆl n*DîM)A•©i…º7‹ty&uùÚB œ@\ÍLÁåªsã1fŽé—u߇=pÏù_:p¦‡r¸–‡ +ýk‘e±÷*ŒýyÞè/ï eYìó ê/¿lùFÅútæ3öÄï˜ýËçŸqòóN<þÆOé0rUáî¢í½ƒ®ÿ9x2òG–ÐÝ9w@ÑR_œ *}y87Zêëã_C݇yHß<uò—(¾µ:Ìc–‚¯öÓ)Ù¸dŒc.Ž+FܤùHܦy:¹Yðu„ÛUèøú1ÜâB«8Á]`Ôj=c£šBÛ)¡B»vFprù´B½-íö¶ðènq³ËZͮʡ²Â9?òL©Û« ÛŒälw[°ûO%ât“÷ïÚUW€;Véö¬®H +gk[Pæ<‚ûÓ8gj‚+ð¯%)Ü>¹'#¿h9ÆmqñÙöörÔ€;€EÆW1ýÖ NŽ1r0ñ + +§˜B!ÜQpùš&±|ɘ´vØt“Û…Í!ç#AíY” +‰Ú˜˜dQÝ‚t>-$@EÓóA‚ënzEVXOmŸ^›ÁEdUR÷‘Î*kvDa®!H]t+êt™Ÿ{í Œbúum=áO+ì~4Ÿ ¸úôðQò‹‰FMeÍÕ™¿ +IO«¢MÀÝìâðoƼÊWEqRZÏÅÍÃéÕXCÍHÂJÛ8ž¶hClR0þÇ%ù4Caü òçFØ.sò¯Í¼šAé˜È„H‰ZkE[éŠcoï×Îa±¡!ù/'_rRVuE+˜ŽM¡õ}ˆuJÚ9L\O³'1´ÄSÊjq–Ÿ/ÚnY=wUSÇö@ómWÙýõ’ætÔæÐ^ÐnT5BSÂÎá0Šø·{tk¡¤2ÖKà30!oý˜eNzÆš´BýúF®&7¼íÉÒŠ½ôÛ܉ ½wÎ{iLHéS0KmR–6x¦L1=ZjVRé” 12I&ƒtŠ=È)±—ÞYळ.Œ‰dœÅŒ²Œ7M¥ +Z‡ùo5¯"»<V
5îv6CAocYlÚX} †å.~ëºébW|!Be[캦-h÷Öì{‚%'9^ÃúJü0 +H‰ÌWÛnÜÈýþó`ÀzÐ,»›}¡àÕñbm’wƒÀZCËŒ©á€3òÆùúœªæM—µÀÌ£¡¨nNîêªS¥g:¿<M·ýûæTm¢0xö,šúØg!†/»îîphèùÅI(âM„—Ò—îj|ñ·f8´ýx²¢o?ÿy¾n¯?ö]}nŸúNÂç'˜Û»oŽõ04ÛÍ~ûád"†¥¢>bÖþ$£Ÿ¢$”gZ†ç¯h¾Þ}®‡öߘF9…±¬¿ÛmÛÝMÖÿë,T€°øÁÄ_Û‹æðpvcL$¾¼QJú_‰ÃËE}wÛìŽçCÝyßõÃá,Ì¿Ô»ðU}ƒ™:ü{ÓuýïaÖÕןì__Um×`«·õ1¼ñô¥WÙ]Ûm_ßݾoàe,
«+6ùë¶`–žiØ^½¼ÅÈes<b‘ $ç]¼ÈÖËÀ ãù»‹æ¦åƒ€‹þq2šúým=|:ø×D‚?ó¶¹Ýwp$o]È~pßÂøS™Ìœ*G¿”иǑžÞ[Ô|n›ßÏÂ×ý®ñ^H‡ã¥?’8Ž"÷3w]3üºkX¡¡Ä»áU¿m:¼?¿êê›Ã´Q±Üýoëá¦9â4ûîîÈæ&¸ù—úKCg%<Á›}³{ÛÿÆk<ÅQKÊ8JF¡q"LFŽ„ÍŒbº{³d„LL¶)žÎqPo†ö¦Ý+³W/†v»ž•Ë/ãVŸdúøubËÇc³×°É_ ڼºg¹Ûæý-ùý@¡Žóß!4ºþÆÏÍÏ<ƒ¯ßíýúùï+ÑùÐîÈfðšgÜÕyw‡©C·¹ûÐÏ}Ž¿êk¼¾yÿÏæúˆ,–§Ë»öØlêvòUCØÖЄ~_æ?§ßßþvÑ|@:-_÷£åîsÓõû•Ùy¤ÞmÿÕÃþۦϻzW!Ï–i?c¦†ÛËØa´>~„ 4»ía¶éÿ¼oÏ}ÛÞå5ÅfÃÝácø¶ï»Ùìý©Ùú8Ì£ôþÁqÎ_ؽÙy=f_xÈ)øáXðö3`òG¶ž×]×Þõþc{ýÁó3“Ÿû_ëËíû¾k·K<FÎëáØ^wÍå—ñ¹ýš5òƇv·E ²è,«ío÷TÏÃËõ¾a›Ç¿y9ÔWƵôž~E• ³ÝjþÅPo[È-z“¼ßﱄÔÝIðào|fÛà]ðç ¢K +>%WH£LÌÛ +á …íkßùúÿämTt•@ÁÈŒ‘ Öa +°ò"§+ËÓ<É]ŽÉM®ó8W9r¹ÁM%-)˳,K³$C¨d63ˆý8C0gÁ‘eZXužfiš&)b*µ©Iu§ˆúTBüi=Ž€¸‹{ÜóÂ;±&÷XWœiÌŒ³á\Kl?Ç·Ó$I\b“h·B£ñÆ™—ðoŽ¥.AX¤ƒv1冄ªE‡ÎÏm†äIDɤ-¥x>»ÊÊtÒ.ËÒÖQx*ÎR1+}¼XV‚„ÕÀëAΚ@ªP$
,„ð:9 +”æņG2Š–GÆÈéàׄb…r…j
>$¦¢8hJvOU$ëŠfe™´eQçÅ%!y àhÊ‹•Â +ù&p¾14²Ñ!33ÄYT”±Ð‰³‡¤Hi‡ÔÎ8Õ+hŽ‚Y(8 =®I§Å=ÈjÕ +,-Àº˜JÁŸ«o€òëËýR‚§"Ÿqq/¹¨ûJ®9ܪôVcô«)êùl,~ëÒ·= +ÏŠ—(QðX)H¶Ì([£p‘x?ÒE=&ýX+Ȭ\ÁJDfY„d¥]ö±vq¨¬õŠŒ’²•{²²/-´•2}]›žT§ÇâÜW'$§D’â„QÊJ80Gú¦œÈ)‘Ú +mƒ0Ê\‰ª#“Rl¡1h3â +éHŠ3r¬9¤A +§'âJE-TÎÛ™™{d~Èýý!ÿ¼Z@0®à©5<µ +¬ñ•"ÎHb
K.]‘$ˆÌšr›è¨çDìƈ`‰`Pà©.žqž·Öù14©óàÖ•{B«²ž.ðjÙnÛ|ÃHÍÚ·€Ê1µc÷(ç..™ô–½Šðõ"RŒ2"WB¢ábËåÝÍ’Rð‡å£È‹`A›àF´†û=÷%jìK KÏôµ‹º)ßA¹¹c2|©ÍJÆ
Šö-J0u(XPŽ¥RZK¤sÁIœ"…ý? +MTnHöýIð½ÜCê™÷©Äz:¯eÕ“9<LªÇ9żsÐþaØ"j—¸uÜm¬ãvŠ\·YàC—ÿ7£8!ârEܽRãǼüo›ã&˜æ0ÿÝóP3ä +||_• æ›@aU.éô.ˆ6T²”ñ@¾1x@〃¦\J„ û(?&r¡Ä¨ µØ ´ÅVð°dõ2xvõf¬G&IÄ Áp<–\ÐÊ`¬é]hAÉfÞ„Ð/kýî–y½J@›È¨(Nøý*iÇÄ , +.$¢1¡FI,Äì(´n¡![VùìñÚb¤ˆ£·Ð3Š8!£ÖE1mI$¤&KÞ +ŸwEGÁ¥+ ãA¹ñz²ú20FÖ
Z*2Ëäp¬¯°Êbp¶Ø—øUdÊÅ—ÈØ…Ø~Z¶›ž3`Æ(‘VŠÅå‚’å¯Ü=íG:uÃýaK0lë“ùªgV2
Èâm!VŸòXÚ#½Y”šzÆ‘ü¾Z%‹
œÆ¤+9ÌAtì=#‹Ó€<ÖãØ(“µüJ ƒ1‹K)7Å,+ö*Kö*ŠÁZ1XJ‚ý$pz¨P@Xà$Nhd—‚47UÜ<*J.fAš!½ˆS®¶ù(Å%9Îq¿S—'>NqF‰q0DU2œ8!»`ñ?q>ò< n5¶Ñ¸Ž/;ˆ;Ó«žOAër0uÃH:e?’¸cTiÏÊ߬Þi¸Vÿ¬ÿQÔvZ|t«:Æ59¯È +lž{Q€ç”þ“Þ£¾óª@[Äþû‚lS?ds8ÀÀÖ2”T¨i5f´ +TU€%•q‹ò\2¢ Å™ÑÃ^„7ãx÷ +ω›`MhnlòÆDÜø Sllcš¶ ºÁ'iÅ·êÍ»®˜?aÖwpþ€ÕÉÓW<ŒÞÄ
¬=¶ô‹!jÌÜà¡5¾%˹xðhæ¦3šöëNÿ„µyÏN—øÁ¾ÌØ»]6bìПm´0D^ÞƒYÖî +zþÎZÒ³åyh×µ¦(ÊPæ,C¥’ ¶ +H-*1Ïæe>Ét +e>í§“Ýåe0QÊRLˆžé02Ò +÷K…G=q•×:¿¨´B¡·,"4ò’Eö4Rë}HÔRt*»ðÈXÒYª8Håó¾Ì^EjC]ÓïÉ ÄØ‚[;,AVírÓ*†kr(‚`=TE°ª"ÔEI\E•bÕÃçW6—ÊNK÷nûw×Áj©ëçS¦Ôõ +iª];§M;SeÝÒÏ×ëz†ÔjCÔÃE¢Wë[ûÜp}K…ÕÒìÒîýÕS•kk¥»—•VKó¯å^-`[ñZs©z[k¿¯ì^á‚Û8·=·QgÕçnº¨ù\1¢NR¦èRTIšEÖÔCJË⎇þD}#+ÏBu¤¹½Ñ1ezDÈj„œI ¢åÍιxh&!‹bð(~DÉGÔ× šºéÑ•zÍÂy[8EŸK®rC@¢‹CâÊÎ3äˆ$™áà ë à€¸é;ͬ§AtD$Íðù„ˆÚÁÁB«ƒ£šI3²êˆ`›1
°v—aô£-¬Y#§NÃ8C†Q$ür‡f ƒÇN,ö£óœ§<b»LØk‡ìÛa÷Feá2aÔ°šH²lñjñÀžðÓßCý}Т'|¢Üa’FçLÜCŽ¬'óŒh±ýæÑw6\ÏèÇ™!ù„^íеýëÐǦÓèë ÅP’½Ñü-LÀ£TV¡b:Ìp‰~‘ÑA Œ8/ñðoÑ~†ÏŒð›ŒNK¨hÁA4Ö´›¡†•ô’` Ô !o3NÛ^7B_*KP[Íh1*Ôf†Gè2ÿ•ê¶uÍZݨ®\U*ªºeU©¨ê•UÝÔTJªþxMá9 +ÍCN5Û¤ëZ<Äëj-Pª±†ê««VòZYË‚'›JÃÉRrI%0x±Å<mË%g•SŽÙg—m6iÅ“O©irJ)$—,8dºP(m#8š¨ñíÏ¡…R +YŸÜ>~ü£œ‘Uªe(®‰¬a¥5ÁúD–¶ÚÀMK] +7¬d°°1Ø°0矫πï’=J~\j$óß(¦ü‡R‡oWˆÓ+jg©±S†ê®|§tR8ig*5ã*c¯Mo2ë®kɺ—‚fBù%H"SjS¦ÒP +ÔÆsc¨˜*DHõ6¸sKÛU©²ëŠ._n +ܹb°,ºég)g`ZËmÅ‹4èº/@—v
¹”j~¡&``4΀Yqq-( cF6 +²®FM+Ë̲”…Ûª†£w7íôéh +žÆPé‰-B$Ò,
cB]8³>Ä”®($5-Y¼Ô±€' ('#‡*³¼¬ô•†rswV&1r˺TêÓ +#šùgâ:¥ìŒ’veš1p ¸.](rÌ3ºTáFâGó´L+“/9:ST|½®ˆ4Á¤Ø”†QYX•‡YE¼Œ'ª´¬ykIÎB&€]¯QÞ˜<+
löz±ð>}|MoÐYê×_:Rü/HÝøåÚó2P„‰³ÂÅ;ÝÚäð5vÊAõ vдkÞµìZ»I¦k+ì¶"sëroa(RÝ—ó žBê55àg" +$˜$ T°$¸d9TžwFbS§ŽNžˆO LÏPjpT© Ð໓/Ã7¤ò4áŽUul‡+ÛñJÑ@3³Ñ0…²4]R2_¬ÃW:!yKö×oí–§†ßåÁ]3]ÎÐá"Ù«ÒØÄÖ,ù+ÒК˜¬ÌË0±iP˜¿|ó]ûYýS™‹¾è—”.ñôÅh-'þ®¾ùîþDû÷¸:†~0•—˜´;ßq{ò|—Í/_Ê%†h|pëíÛý8åò‹ýÅ㧛œÆú%—èb;-_Ä×¾ È*Áò½Ç¼NØ1{þbe7"VÆÁ-þÇ‚ mVßÔ¿…ï–¯_þúó÷_~úáëúöÃ?}Ýýåò§|ýúý¿~ørùqº ’ù³z|¡1¸_ð +¿U½ÞšWj9è¾M¯‹™
.°À&8F…›ˆ»$Z§‹uŸ£\z¹BC]6!ÉWÐFÂ$•¹îû½,YŽ"ñZ@N·B0`û,Üæ`ØÓÃŽ¨è[õ‡|Ë}ùïC]§Ñ·Š#¸µ>ö|ýÍtf@uÉ,"¹@,½—‘S/!LjáygÀ>_Œ>&ŒZbÝ+ï2F¢h<Û‚§ðì£0"#ã0B¦?áÖËó“ç> +ÏLß]’Â'¦ð=3•k¦ò^Ð:.×:ñP+ªQödÜK‡1Ž_½Ýq¿v·5ç¹6í=¸Ö¬ÛïpSÜöE¸ñ Ûúú븵§í&³ßaÕuwßžoqnÜ®ô£#›ð[º(>PHÏ©‡§Î-ßéµã"Âõð²_/µï–çH=+Ðÿ]@f®Ý˜<Irv…1-4&ÏŒ˜‘«äCØ’1Iý,ð¶´Ð–mIÊ¡¦`KË°%)/z‰"ÕÈJSꆔYa´^TÀŠ6:—t5§OÚpø/ûe³#9ná'Èw¨Ë +Ä%I*/iƒóÆ€Ä1"sð'¬ÀdŠs£Ÿ’F²Zä;;’é$¢tSúôÙ#®x -úÍÃf¹ƒÄþÎ[@¨a!˜`}~Ê·´³éCö1EíbEÚοlI´–3ÒöSOH¡³ìs'êN÷Ê2C·Tê®$“àê¼Ôáñÿ6QiÖ÷áÉõæ¤wÓa
&[¡iÂLðLlÖ»&` Z%—üc)ˆ÷7ÅùcBrÔZ%(ÁJ³‹â”šä“†ä‘BòGŒ$—lQ¶C«ÐˆyäH–_/+:$5€ãhC‘&§YR“B(óG|™°ä!AÎ$Ÿœ0Fà†ac3j¦®PfÊÌ SeU!þ2U0i“ð´‰%þFaǨ1'R,B9#¢Ê„ +){WÊ»—OŸŠ‹ËMkAkbZF|+ôFé}Zt›‰ohEJ͘´ª¶tLiY´U6µuﶢ«¶ŽDåÕE¡9ÜT¤çÑqw>°]W’§¹¾’EWìýÇE‡ŽâñmÞßáƒôn:ÜÀôÀí{:4IVÔ +p±ç@&y’ùÈ•ˆý›DK#áÒ ,=â¥ú¸E€©^N¡éíÈlAÓÀѹÏ*lFÜ2ÇÍÕÀÉÞ.»;[gvx[à丩@í)Ù<v4¡çx+—§©FC +3áÑ'©åÁóÆÜè$'\ ;5Бc$äaÇS’mwà‹JˆŸ ¡¬_ZY0‹Èvx¡’V#xÆb×£¢P+'LýXÜ_On.©Ù$“Ԩܚ“BQ ETUìTi,vò;õaDäºJg[{*{K„5â55?"r
{÷ljJ3>Fô¨ŽÞ]‡˜f,§Œ¥v5ÀR(
IHCÂ{ò(YAPT8$"`ˆ!Ô¡€ ÆÂGÑ“Á3'êô‰8Ê›L!
%Ð(fš„eK&K'Ta¦4‰&™$£0Dø!è +î*H´•êÍl"|4µÌzP<Q8•ÄWÒ¯æW5Ý]íß&:Ý=Ü/zËÅïºÃS0‰[šÅ+uKsrIeÐ$‡4"“0”,fÐ +$-J$JHbOÄŽˆýP’:!öA5ŽÔþ(Œ²í)$ò+ ˆAÑð†j%þ,É¥0}<UðÙГǘ“•Pèdâ(o6Ú(kg(a&CFS³%q¥bJæÉF’ÄÆvlĨ9¡t¨°/ýce—*=–“/ê‹Š#ÛÙ•¶îM¤ö[³W³^)ž‰špSË+:
ˆt¾»™îÝ<4Þ'º÷Âwß!Àä.Ÿ¾Ì¿SóÔ`kÍK
ÕvÁ?±üiÇþÒ<ùÁ¸Ñ 1˜ÆYË{`žL‹†u¨F3:cn€7£»ðY¦¿ô—®¹ @¸×¿Ó§/îuþ7¡¨¿àÂÎà‚aÌ÷:9’Ïê;èÍó¥uO ‚Û]w~Æþz^;Û_lóÔÚÑŸ\<£\ï½>D³¿hÛ3ç@Ÿ¦¿u_âó׿þþË×ß¾=ÿGwÌß~ýí9ïúËåOÿx~þå_ß¾^~M».Æö¦óÝ躽Ì_ñþLXEœ¬"mrp¦¬&›Ÿ©×ïsoZfd©¡.Ç˶ÈîdNÔÜÝ<À‹:–²Nþ:É,Þ=>±Èb)‘2&,êXÇ%sðg1„ô¥ßp±!mpÒµÆVm‹UN¡g¿o¢[iI†÷1UBâATŠqÅJ×Â¥tð*óš´æ-ʯXölGVZ¼ÝìP†Ÿ<μ÷8¸8nÍp9êqØåXu909&GmÍ\<›Áïh¢à¥ºaÁõDq>ª9iª4\ÉgÑÖÜK†‰g1=æm/szÄ,Ÿ1ãæ>^~ß ¬Ô†“iÞãRîÏŠûò8`e\<Æ•úU-Ã×Ñ0æ’RÕì†r½
Y´5÷’á‹ÊóRÜQ‰OÙ²lÛ–À\¥]aRã6ù4¼,ºy€‡¯oªŠ¶u±ö{SstD•{ڌթïÚéÚ«ˆn(«ög¥“‘™dvNæS'TÔÿöPfVž[1Í-“^²Î0×÷ +…V +½Â°ŽÝ|ØÒÇL¤A¦8`ùÎÌsP2ŠÑAü2Œe¨ïç3ÐD¦™*@r÷x"#ŸDÄ +3Ñd(d~&žÛӆ܅œ•c¡Hè<ënÃ40ÈdO‰n&Ð×SB\CÆ©RV„Ã÷i(+$:ƒdgñØ<.Šê&$¾‚ìGɲC²($Bƒ\èÐtÙ•2Rc-MÀÉû*«B¤¤`éÐQi3ׂäÙ â}“M!“Z<\{M¨[\d#»êÙÖ¡K¿WŠ`1ïáNÍôì3òU:’å}ùîÖ·#6;Ú+è—«®½m/g¥óMbþØì nÅZ0á@œø•ù@ÔAtf¬ +´dæ«Y6#´8f–Y`H<³5&¬.fœn 3˜.Fº%*„M ’—¢f¼Á|6Õ`ZšöVEç¦&ÖZ<FúIä[l³ØvLK .’ª[çøÝ5¿72‹¾ÍâfGkö0y7°b3+•DºlOÍÂt¬ÈÄb$)v¡fz6_bãÁvÃs³áf·‘Ö 41|F.#‘ÅÈ`šíEæÊd-è„„e!« +.&Â,,žÅ8YCn±l5,Æv:IÌ,Ì<‰éJt5ÊÓw+C.‰`öˆƒG4¢†J (ˆN€F"4B"q‰©Š®
¡§+¥Â%0\b.Ù£va›Äœ`ج³ÂÅíSƒRhÉA*6i‹À¥P¥#»ÅÀ-véðK ~ñìņé¸èâ³O°ŒgÏh˜fÏ®©®¸ì‚€oŒcœ†–;['ÛÈÞñÖYmìCw]M’ um +H¸¨ÁF>"#)‘–´VZAÌõTT‚¢‚òµS´Œ&ãKø?ÒŠ¬-gKþeöîK»{Á{Á{Á{Á¦ )¬×÷å^ð{-ØÞ‚x[óKßwÛ‹ó +³ÓÇòEü.Ô$'¹aò“““’’ü*>œ(Žo{7ïiçƒ4§-¶O[é¸Kxf“w;Þ_hºýÆÒ‡LÜQ¿N_Á\>i|á0ZÊ”VzR€þÁ‹;áCÒÎ&>§t1j;i|TEb˜]pckœ·4ñqúóãÏ_>>~~zþkÞQž>}~^vý4ýðÛóóÇ?ž§OcפÌââ^¶SyÄ#£+‘˜PøÐU¢:îÃGúG‹ýã)ûÇ‹š–&£Ëxßüxç&u'wФ_÷öÆ“~ek¯ñ$•yÃù— +7ž_íàð–ó +·_¾áÌoåòò0—4ÎÍ?5Îo¶+GÞØú†Ç¥ÍoÝHn<÷ªÂÿÞpqG‹£ÁâÎËÕ3çƒå5øÀËö]ù^ +ÖE`Éòòq¾kNˆ_%ðbï7¸
vƒÙë
j…sêûËÖ”y˜È„GËA‚WÓX–S +÷ö\±µ + +ƒ¥)–“Ö¶XZz,0–Õ´"§Å½Xuþ—ürÉm¢à æ.=FÊf>pÿ#¥º!`%R”…wáI–,Œ§©q=a<è%g投b¼Øi!SU×F S˜Åε'.‹åŽ†ØVôV=<à´µ0ƒû|Þqaô+ÎØqÄ‘}¦²sk{nbÒˆ<N(BÂLß=°îŠ#á÷hç7Lþ%7œ½àî ¦´ãöǯ8Äý……ZÜN§ TªB¢6HÖm¦žšÃI#&¡,*J§°ÊHˆÂí§Ñ‰ +%a;õ«Ó× +/°í/Òe“ªW•à裂‰8[ù7æ¿\ð9†»žÜ÷„‡ÐéËÒ~M}â^ßSß“~$~‹[òÄHüÊsŒ;íÎv§\QR‰3\5^so¡ç>3ì:ݲYŠ%[¢ådX£k3n ]åb8gpŽV{¡Á6-]*6„Öë
°‰Ä7غ¥é
wÝ'ßeK +H‰ì—I¯ä¶…ÿCmp6âL +{ÃoÐì¾FøC©ýAáî‡H´6=ÂàêCO{—ˆï¼}øì–ÞŠxûW'ùeÄeWy•úM`._éW0ßÏÈœPÄVôŽ£5Ù
·Ão„ WDð˺åI™ÔI›tú[Xƒƒ—8¿ +<
[bG!ƒ€DË” ñÇVX´-Ós‡zI¿’SE!öSÁîæ +|†„«žxÑÏ¥°¼¡ÜÒY䇀!uC~È‚÷ˆ‘eOÿW²Acý/€<€Âù +O+ØÍÙ'ø®{ðÓó7ÖßãOäÐ7ƒ¯,R~üà0~¹<Ÿ¸¨0xpF)‹7‹Gñf‘ÁÑ!©¢‘ôFÙ”¡3¹ñ~‡Qƒ¿m5y¯ápf¹ŠOéoöKûþõ¯¿üøõçoßÿ=väo?ýü}ÝõçÛÿøþýÇ}ûzûiîºIÿ'ñp/!ÅMý,úqk¸÷s b.8̃ù¡ú‚ùÒ0o2fPÀlr˜WsLÖŽ9W1¦¢ÇÄ´óTU‰¹Û0æµÇ<7˜øª,D…H$ã!#u©,¡¿†ÉŸ Ù +v|`MLqØŽtuk‡=’!{énE~EŽEžUFò™†«`¯\,Ë.F¿Wìep3ö³.7àju8›`sƒ}ÃàÂ(0ltdudv°;^§¤²pÀ¡ŒÄ,±Â©Mã{gÅì-wÅ™¨‰|†çÌòmžzrWü‘ÄukÔÀ¢U‰¨PFÅ*ª×qBÅÑ(³EÑ=nBÄMɸ]•î"Nœæ€Æ"bI«C“‰õD2ê,År°<óÏ÷̳sš§±â~×r§¸Çͳ»íb6¶hjgGf7[¶Nvô±k{ïaìÚ¾ŠúW{í`9C¯=¬ÝºØ´ö±¹¯¬ž½¬ŸÝlž·Ï¨«9æºq)àN·}K¶#×z1cíj/‘vhgžý,xbü…‡*¿`öˆmvŸQ®ÛuÖviœiê…ò +»^¶þíð¾Õ†_®V:,v˜ï0å²¹øp÷.h%€åI~¬ë‡æ•Æð"4–&ÇË-f‘SWâü•9Œ5žóˈ.b¦üB=ià„—g‚A†áÓ—š6Ëá1p¬¤&·qEå¸PÚV?>—n—î—¯—.øê˵ƒùO붖a0níº*;õb.åaVe˜<)L4¦è‚øB¡±€”ä–t§0ÚÓhPbT M‡´eP.…ÿ\\‡UD²Œh¡eE[èZ“wK¬b¯|†ð#2ž‡
X˜Fö“h—ϬÌí^àÖβv¸]àf`t +WÇÞ$PÅ‹"=ˆ±³xà€~ëQÖ¸Q `÷€8ÕÖ×Äô,,OXØØÍZ1ƒ9SшN +‘´’žÚÛi*› —ñ͸fŠ1B!©„^Fï×0¾7Èú™µt. +›õöZšŽ^Ô•ŸRpJŸ9;KjŠÈY5Î>q¶Ü ¸Ã#û㚉—™›IÍ,—)¤É[²]f?ç¦
5%òºÌÒ7QX;Ç]fjæò¡}Å<Úc¬c¡÷“Ü9B¯Ì`Í HgÈ©Fô‹"Ø"&íbM¯Üé”<ƒQøLÀת +µë“¦Å|ýa…®ëÓ®N]óÊ]–H°YI…í +T:0@špãÊýØ“"4‹¯EÃ"@âY(Z¯B0.Ž~ +>мéù3¤/-‹Ì‰mj/ñŒ‰©7êƒâ¯Sw8zÛms[J{[‹%æžÕ•gK—ëeÊg¾<^ö’5m£ár4\2hÁñnôO¤®DÒ©DR_ÔæÌå¡ÄÓXê\ÒysdjXÝJXÝs\ÍâVãj_â*ÔO:H5¤.úSñrJ55 RL—OS¨[‰¨ +§5Ð[It~Ä…Qz„‰|1¢bþ¬@ÈX¸qŸTY:þ(ø[§WEˆšLéAlŠêIÚCVJJ/;WÛ·ŽQ‚" ¶ÛÞnøðú¯½àdkÎÃKº7C3ãešžeîTÛº•JÏj[a[»UiU¦-Tµ_ÆÚ¡hýòäEp¢° P %g3ºìÛ1X¶„ü•À&d°QyÛ*Uo +ÊIÙ7(Ó:hÍ +ã{ßS¶{:æZ»ˆX‘1sѱXz¡g©ªÚRµm- +· +—'ß©rg«èÂ7òWÆÕ™êø:%ý›"± +ä\e2U±\ªd®ÅÓÙóœëdúzSýùêŒuÎ7Õ9K^m$¦é„s£1.uÖ:[ý˜Æ‡,«ˆm#údõõ¿vÁû&ß™L8Ùpkå·Xc¯cn9иük ¿B`ÏŽ½íkå2©Ì\F’µKs(;\nwØÕÎŒØïV€£°©0 +ä0p¸ÅT#Á +ÚXÐs?@1ý‹`pÄ‚3œ‘ ¨³¶•4 +GÖ‡^ZàdtA~–ä[›ÊʈFŽ7ê—³,„–±«EöjN½1¨*&•ÄMõЪŽ*ƒ,‚HOÀûŠD¸¨Ÿ ÁĈHG 4Yw(¢uPÈH™%‚V äZ!;´Ò‚qR¶ÿ¼
#è˜@Êée‡Zu@Æq y#(œ@䪳C`-È=€äT÷HÄOˆ^+d`7P]M
ÑÍ#GEDºáXöv¨±…œH„ââ!2¹/ArVH϶¢‚ä LÞ ‘E(U‚bP®"n¡dÍAÚ<$.BêDo…øíPs9 Œé!•1ï®8Ó·Œ¹û±{ÿœ7~÷È5Mc ß>·fܳ´Üùðͱoyôá‡I£æ¬V~ê>ÅàÇÞã€3ò ü +¿ÄƧGÓ“ëžð<ÿï懟Þ}~úÝè7Ÿ†Î:qл.‡Ë#žGkùÁ +!3%RfZfbfj‚œà&Ù™ù™JŽf–vb*¸jDW–”%iI[—ÔJ*I^DâUDæÈKD³šžcyÅn3dWAÓ7ir¸
M®õ“G¬3ú'gLWòåTfN™ù=çÍPòf,Ys.Y³92Mð\KÒÜJÖìò{Éœ¶äÍ^™Äá}»Ï)?AІ[|᳂ÌRßW!~ÕJíD¾Ðß)Éò•ßql IM¤ -HRc=fìuRzZE”®ÉD¥…Ë‘¸uHÒ‡"…&ƒ72)ˆMä.VÑç6Zt£VV®Gߣó‘n$)GÒÞE%±ÿ£õ†D¾®¶|_ý ©N¦éM'š¯ýéèL-p+lkI*µÈ4Èg”6 =¡¹8ž€< 81-a +
—r±²¥åþ3«ûøÚ{ŽÖsvžÚxî +/Ï^;ÏÜ´ž±é=[i>3»¤t:ÊÁCvÏl@Ké@A-È•dÕ„6u¡s¯F4ªYµ¢M½(ùÙ¨y•£QõȪ mPÍÂŽÔ’\éIVMi+]iV[ò°$—“Áæ°4mªMIÅ)¨:9•§^õiWZT¡¢JÔ¤5`‹¬šÔ&5Hܱ`¡rغAºÒ©VR¢[$YNRÖ«`íÂQÖÆ(Ž¢eJÓúÑ4åö¨·Üè£âö² +CÎPC X¶†½á¨ètÈ)Soѹ™Gnêé‚ñ ÎÑ»*œë%4`Ô&>èñüXŸb9a +•œÈO‘ +â
áÛ|Ê©C¼ ¼ß¼P8?e._©Ô¡R{OL,õ=“ùå,X¨r°#/„%±õ]p”óÁ\Ê3»\:ɶ«±¾«j¿w¬ ªpxÊêIöë;`Á¤î u›ÐWyy&6 `UëL»‚…U…MÈShsÍy¢%
n`¾¶–s`µL6“º<ÈÊÆÃp¡ðQ„ÌŠ_µXØY¨
â:a{ETgP]P1E vK*EA9á¶?r‡tAìà;Ôí©Ûµ†ç‹µ£ÀV¬Åô/En3%WP™G×f*,匪°†jñNæS&\ +KR¨Í‘ú +Ý*ýŽ¤0áSŽõHòs‡¥ÃzAÙ4º$ûlj4\`;\=Vœúç/.SHý¡ª—¹Æ<#£N`¾ÉÌ5+ÍÁã˜_<7câV[¸—vîË}2Á—ø³d Â3<ÁŠÛýj[ô܈Îó迈ËèÆ]¹‡ëaÑ9#6¶‡5Œ¬õÌZJѤ<Öpö'ùð3ô{CíéÀÒZ4刾õp +²Õßð¸–E,8ŠÍB(r4¨ñ"Õee'˜·žZQŠT1ÁF8Åó´à¶ AvHoÇÖt0«ž•Ï¨¶Tú0,òÄâF–UJº±’}
kWVïq¢ÓDã?–³+gy·|¯gË_ÎÚãç™W<›þ=ë–þƒú^ ¦É•Ÿ'=¼nSvPìÄ+ßÄK¥KUK•«¾õ—îæ!Ÿ¹ÇÊ)½e¬Vñj#ìIC8\ÌàÄWµ~¾¿D¯7óµð%ùhoþÍ*Ï$Ï@•šÙRƒµ«…åð"S 1þ’BvVÔžFúj¢¯öùjœ/¦ùæ–9uÓŒò½9¾¹â«#¾záh.6øê¯Î÷êy;¿Ë‰2ƒD¦‰¹Ã2oìL3FÂÞ`É årøÍʾSÛðiÆ^ŽØÑûzÎàé¡_°ñ3Ô!‚||K´±×fÚ©H_6qÏX6ö
X¡ó˜
V(B <šz„`Xh&¬ÖrŪδ²Òž«îP8Uöz.Í’8ÑõΘ§!Oö}Íwg¶Ód§¹NSÝ™è˜çL‰sšåÎçK%Çšàºô¶–šjUµ®RYÖÖ”òjµÄRd-³ZKÅf¹[*Žš÷*s#ääµ€Ä2ÈLÌâ„^w°-¤cí©m B‰–Þ£}Ì4àÞ€>Šz@sÖuF½âÅDn ÞyÉ à + +\}o‘åÇ8õÆ®êi=ªQ•LË(†qG +¾-§š¯ÕåÔ¥&Uó‘¨ú-IÕ¼UaO{f´Ú àТwF„gÈJÐùz¿Bõ·VÙ¢Å$sy¦®{0#y’½š4‘䯩$°ÄÜ«™Wó®eÖ-QÌ0äÎ%í%Ù¾“ȸ’Å'*ðOwù¦¦u÷îÇcצÚýû¶¬OÐRʼnùù Òâ S.Âü<¡·;LÛÌ=ÞÙÒ\ÉBüÏñ5¿IÙrzœÓñQÑx€û8ÌSùúVL'LÿÇWá¿óôö;ÇFþa†WYÛѾ¯†ÅÛ¹,÷p)¸8á¾ÃŸáÅãŽ|÷oæ§_¾ë»Ë¿å7A„ãå³ÝP“r’‹Øåñ•öm×ÿôwÁ'HyiÂG\‚JG~ߤËÄ瞤NQîeg}<¿?uðcè3Œk™T,Dü`3§‚a‡ñ2Ìá5pRm”Ð?ÉŽ„çÑŽU¾çüĉ¼Z¹’òdÜ¡ƒ®›Njò#Ch_´LqrR;<2ÔõÞVÓùU0Ô³~ü¦ïã·—Íü4ÿÕÿ²ùô—ýúé÷Ï_þ£7–Ï¿ýþ¥ÞúóËŸþþå˯ÿüüéå·rëÅýlžÝÄïL/Ë'l±æI]q#êG*ðx¤V‘W ñ%*+/ÑZyAqñ!‹u.G=ŽŽ,`n8Üà +1ÃM`õa-&˜³1¤ƒoüP±¥4¥Oé¬Òý–²–ãäL³fÉ45åôqIr‡c1ã€N]§«S?¯zĆÀW(å€g‹ » .ÎA÷øº•O‘ø[£š~Zú•În¿ùŽ+»x²Þ’©-M4¢¹ö…†t¥)ÝXÄ]ÊYTÖÒ¢:-婪÷ã^Üfhúò—72ÈÂ>¿»Ñóîša(ùµßÔÿú¾ß4Šš–BKÒ¬k[ÍûÈeerkÍüôÞÌ–ÍõlÚ¿JW—…ƒk¬þþêî{oß;ûåÁÕ·žÇ’ï´ºyzyÎr°ÈÃ|à±6Øæö9ÃFGØiyXC?và eÓœ[Æß7
úc1h”Œ†‰hòº“®¡obð[øëâ_Ùku¿éŽÛJµ$hZ,qðºß6»_³¾—ÃÜÞÕ¸(½/\ê†Á:R»ËSprá=.Uï&˜RáWU»Æ«9½Žv +'7ÿAãQ'°ÌnäXƒÃîÖ±,vª0=âä…ºêÏp5!ÁáìØ=Ú2œ>Œi=ÐÞA“LòE/v„CÉt/AR7–}E„ŒÝ£ý1ãé³
9xfÌ®øçÒ ž Â.¸Á?N³“ÙèÇôvx*¸ÃÏ´yEqKfAÍ°å&f","•‘lEz;ÈĶf@M6ÛÙ.v6»ŽÝd +I)EI7’Z;š‹ÔŸ4µAŸ<3$*OªÊ~ö‹ßüÎHã|ˆXÒæ°„5l¼ƒÐÂÏŒ oCŒ1aqç¸Ä5nÚx 4Z‘'Š[/oƒÄ
¹*sUèªÔ‰Øb"„·|0³ZêÈŽèÀ£lšÀ©9b6€r +yçCKˆ#¤Dk„-Þ7‚k"Ü™½Ü1Âfƒ¾ÚàlµÁa„bƒÍoXa3Æ’
&›Ö“ +O¬) +•p2D>Âì¦8láª-ΦH²»â@M·ÛâjÛØã°HciÜrvLõÌÙ +ßéøOØF¶¾ªÖjçÍÐ'ºÉ¸Ýîz°sešYyVL¬.VûÖ4.C®»œVíªÔZI,Íà¥ö\aÌÚ&øÏÀyž›à´
p–“ÀIþà—DÔ‡±ÌV.a1Ø.,<:ÿà}ì›GxÛƒ/3¶‚SÌà¸A!³á« +'Xx•'XÚÃÚX„0NXHL +?¬ðà +?¬p±Â¨½÷w´JT[‹Í…ÖáI†/:|^LqãKGíEŸ×ÏþC~úù›>»üß©;þ |ø¢hÿdóßðY|ç’ä§ùïöçüúåo¿ÿòå·¯¯ÿ)o,_ýíu{ë//úçëë/ÿúúåå×úÖKoþ,wßʼníËòñÿ:yýONxõ i9å¿¡I‚ö®Ü=Éå-_!?,¹ù•D
”'I‹,‰ªLUª’«$ëJº*_•°ÊØBÙÂY_X+;n ܊ܺsoånCÞ{úzÙ\,l^*‚}Ep00 +§Já©RØ“Âà°°Átì6ˆC±#ˆÖ¤ŽOFQYa8ìظ´(]}j> qÙv&V6G$[ y`¥ëˆeU"š#[’~ÿÔé1RƒbZ@꾬¸åj°NƪR¶Ø߬¯r»Æ]Ã!Ùaáͱ²«žüDé
aEÿ÷@Ë›š¯’Ë[Ó»InÞð’»Jî½y#ûÉÿMró«ÿµhšµVÍeÓ±nN,œZ9KgWkçÈâéu04ó°†4!¬¬ 82ÃÈ"ê17˜-àÂBšõ"@>?´«…y=ÒˆÚzF6Ñ’šQeÅàB1GÄbX¼Ž"ÆgFÊY0N ™'£Ã*
NoÄ`ètyŽäÄñ\„“šˆ«UGƒŒ;Äè`[Ž¸þ}P"`è !•eu +ÉiÅ(¸+½ffOŽè¡Ô›@—Æ$²&«#g$Ä@C
”B©µRÁYEâ]Ó¬ÇR©ÂÑ\µÅÒí2‡dé[qáïo8U÷·¨§Æ³Ïèf§”;›ç[ºÝ~ûç»ó[2Ï%oýÁ;õÉãæ„GjÆàkä>¤á»hØÕ7*ºRù"ìÜÒÅ]›çª‰qåP‰0Ùîø@êzÞ}Rßáa|þøãNX&¶cÚ,RàŒGœºŒc°Z#Q>ã +qC€+¾Þ +nÅvOd{…uE5AVD+žÎ+±\¬@.0V+ƒ•¿Ê^åna®òÖ +P«˜]À×ÂV¥ª5 +ÇôÄ %÷fR.Í«c=BÝÈ{xBà‹+lfÄB‹4åAè \\2äŠ4i*¤K‹Äå‘7§4 ¹ †&ÄQX×0¦â) ´Zì º-²zfºÕ”«éUD€a&ÖlÌ-Uwämƒ×lPâÅmÀ27êŸjxªë^~Òó\ñ ›Hsõ0NU5ÑK;Á®ÑóPø4SÆ7"éÝ +ûË›ƒãVKÛÛŒ©Mfë1G‡ÙLÓ_¶ö²U—^´¹àF¶æ2×æâjsékkɵµÌµµ8¶–b@Òõ¨,‚*Ų³ô%ÚX2Ë‚‘›0xãgÙXzm,XÄ̲²ÔªâYTF)‚à¤-%³¡,ì'ÝIJ—ôØ(´ŽdV‘…$°zX–Ðè`À€D¤¼YÀ“ +X•„]Ò`µ4 +MXÅÄR×c‹°Ø,&,,òOM?#Ó¬™FŸ„]Poù=S›w˜v†šrBM8‘Ùf©¦ ö&Úl35›õ¶óÞÝF›
ußW›HÔìÎ×Ja.ê/ÎƸ[Ù‹ÜEþ¢ ’ò£jºh¾h¹(¶’=Nžu=.aeí.Â>Xc%mŠqÔér0Y`Ÿ1¬ÅáƒÇ;ø®g(9٨Ǫ5¢'Ü«.r'´eIëŠMìÕÔ>#Ä’Ýë:X¶¯^S¼#x‚þaMóÈó‚'´ÒÍfOõêj·g{u·æûˆˆ”÷”_rþ–ô·¬´/ú—5ð—È¿…þmJðuÊ$l³P²ÿÐfÿ²àSè%o}.nÉ5o}.nÉ5o}.nÉ5o=Š[¤=Aº¤‘(Uú +ÒAãNè¾Ó“OWuûÏ“N ¢TÅ£X@ÓöÌÄ™;0w{z…û9©Â]ÒOá¥A¼DñÆ5Ža"/™¼¤ò6—Ÿ“ù“l~xE.f¹µÊ£\^\²ydwˆÀ"›AÎöPs”$¾ù¢¸B=Qaꆺ¹^Za3–ºÕ‡Êúëêcí98[‘½‘?iº+·{UÃiÁ–øx0ø´9³ÛEÐ)“pÓEBÑy#5Gõ†¢~Z@MÑÑ+ŽÀ +j¶žî4T•‡Uˆ«ÌUêN=Z¹[É[þ*}{!‚‹ÊƒqUübâ¸Er,+9WÝ®Õy%C#OÊ´jÖI˜ÞκÄñFjÉ¢²§ªXµÜºl÷UQ¨:^¹]¶Rî8”w””pü!MÛÏ¢D,nšé¾èwÁ]ÒÛ]#uþý8Lɦ*S6ï\!«f•µW…KÁ¨…+ùmô#}õ3Ž–ÎÚ¿Ypßy…†ÿµªOø‰îx_îþÃ'ŽŸ°¬dÇ›°Zl§Ûê„íuÁ6›°Ý®¸R#
¬«ZÌ1ÑNʈò\ÖàêD×{&8w““:O×` ŒˆÅ°xŽÒŒ1‹˜¼ŒÐÁT=&wÄ4;ŽÿD(ºp½ +AÝЖHÄñ‚½H!¼¢N){rל¬]ÈÙŒ6Ñ‘®ÿe¿\v䶙(ü|mÄ÷K`Ð…²²òÂ00ËÌÂÉû#§Š”ZÒtw¦gŒàÏŸÖÇjI¤ÄK}uÊ0]U±zÖiõ«jõªÕ©¦Õ¥f†¦Zí©_é¸ØRÑ\©Yi\Ñ7“e#Zm¨[-h5 ój>õj<¹ÌJ\hUËYV»¹”[q_pñJ²‡Öl +§Ä`C'É!N|ŠÒà©Nãß9Ù!}P'¿ŠwŸÞÖÉø‡Ø>@[¿í€O# +T³ Z +VVÅÆÃÔ˜6®\$2ÎŽÌÇT#’ y’®¸Üh[¹
?ÊÄc™º~&. m¯éå·<Ü4_“¸~ûvÝ;üOtxa™V½XDLNjf€)öc¡?èIçæÈ, + +ð¥Àü5„†XÅرce‡1ËsŒ1YÜ€(•d
d„2µÁ™Ù!ͯHKgÆ8¦\kXÛÃMot o +«âª´ +.Ö<¸§ŽG>¨l%èO–g¥/Ê\–h'ö&¹Ë×n^•?/qéÆkõ_ìV +öÎÛŠ+¦¨œ±ÛGÄ^À䛬°µfì΄íì°Íõ,¢$!zbIOUéŒx`t¼@$šQrÈØá#ò`Dâwˆ_=(Ø“ŒxÆqîàw„'šaF +öÏBàT¨åÀ—'Tp†ÒìÜL¡Á&rpðŽÜsð‘nRƒƒÒ`nòÞ‰E4Øô€'ž6tÀ¨¨@´.ŦñƒyaFŽã„ƒÆÇÇŽÞ£¹©ÖBkPšÖ«ÂÊPEÏÄ"ôUoWm${P°¾Š‰]er…§®j}«åh©E–U'~¬Ü“ÓªQŽ‚þ°¶n3í +ùÿçÎÊ^”¹,ÑNôMR—%®Ý¼ª›“ýwwÿ¿ÞvGØaw„ý‹;¼#쎰;Âîûwø“°Ý»Oã7!{úmÔµ“ª¬ÁG\NjÕÉÞÊð‰Dtã$Iåm'Yô[ùÎwNvØ/ÔüWñîÓk›Å7|§LçT/Û¥Ó3w–ç{ïp램ÐÛ!v×îüûö½:í;-{£S8ÓþøÄÚ>„:¹otºŒ'ÇY¼~qŸòÓÃÏß>?|}|ú³^¿|}Z.ýØýðÛÓÓçߺ/íRg’/Î_î&q|à%{Å*×ëÝ•“*Í3CgmìbOýê0#7µî±^Ï÷Ùk;xÓzØs«aßc„¶®ÅÁ 77!3ö)™QºDºEüÓRàÁ€l< /OÔ +2²í.à•"|Ó +]/Cä¬ÑĶuhU£9ÅÞ(ëOHxuL$m¥¶[kå'-¯a¼Sm¤‹ñÔÚë>iä¤Óû_ÛC}?æÞ·ÆØ ØôñZ9ߣ©¶›ÆªG…6¯eüv•ð¼ká⃧,†\+ÛÔaâÔ©íÄ7·|Ý9»çŒúo‚Æy`ET‚žCŘGI1îÚr(±U•*®$®$-Š 9ç +a‹°‰¡)e„•EˆÅahQ²!]l5ê)n·Ö:KÃÎM\i0Ç¢Tuø̈²5á“GÖÜ> +LT%¥Õ—W˜‘Å¡Ï}|žb8 ÃʹUùAôP qƒŠ]*t%sbàcù±CÁr¬7¤¬ó¶c‘¶²-ž’[¢(UvµÎ«5ÍK1SÛyÉ>;|=-‚¦2u]û7—¶¼ãº¼©.0æÏb&5Í)¿Ò'?øÑO~öèÏTpôV
øµ·aÄŒòVÀiÌ´Á|»º-NG.sËPÀÔ‹/¶hlšæ/êË5×QÂ+ðî +ŽüÆH÷Øÿ’nUÙ@r2£9èJCLÒ¼Ú_W¢ºâ +ûD?Ÿ‡jzT$Ü×Ø.WJ:ñù¸ŸÖvj©=Y°îÈʾ÷…iìÐuþ¥Bm?‘\ç‰=g¥@•³µèéÙ©¹˜ ¨WºLùÊ(£0|˜Þ·fmåáMø?G¥ˆúΣZJ?$¥Yj_¡ÍHªº³¬y™ê·fm× ÜÛã!(#ŠÅç[ç{aJ€×[™ð÷¦íO48eJðº1 ¸Ý*ï]?=Rv©ø•©“ãûéSŸÁÀ¾¥%ÒŽM:Nñ?ÚÉVÈ‹fÑÿ +ºbu+:'º*&~éÖp^²© ùÒnh’ÍÓœ ¦™‡
L)§’¦TÓŠ~êá?3ÄuÎ"…CuóP6µ«'Í‘¤:Fá1Sz”
íÙà +FXÂkX`)CHÁíØÉ[Y`/¹Ì&«¤ -h žL3„dT™ÇGÌó\¥`×y«xP¸/À*W¹â€–©Žu&¼´,u«ëbëñ¶Xib/=—¤j©©l›>ž¥p©)]h]¨]*Ä¦Æ ý ®É`“!„¹Bri¥h› ÞZàÔZ÷e#Ñ»Ku=üÑh€b‚ŒÚ¦#òK@¯C/},]?–caú‡é×Ïxæ[ÅúUñôé_/§xýÛò!ês˜_ü»q{Â#̽éþ²„¦ïd’Ͷ +#ðDÁT1!Ø…-óF/T%¬ +H‰ä—ËŽ$·E¿€ÿP›äMƒï‡1@&IÃkÃ+-f háYÈþøF™Å¬®š‡º @PÞ™îêª,&'nøæ¿Sbyù£x/䓯oP-҇˲œôÒ (”e6Y¡&;¾I—VFYå ¯‚Š*AYµAU5Õ1®ÒtmµÚé +$Dd@š8¤A© }GžUd\AþQ>RfR–R¾RæRSJSrSš'ŒœýÎYÐ +@q@òA€ò7#h…¼BH°Å +(ú¢^UËg5JÎnpŽn6èÝ‹
³~±J¡pô¨ˆÚ‡Ñæ%èi¸uVOnŸÙø´zcÁ
÷êm rk¯å¶«.Ú†F [WÖEWÝ`šÌ›(¹É*Ô•„4Êc|§ñq[ÔWÁ7V]Ô†ø㥇¤rïÑ;žÔúIãÚ·õïÉoã."™ˆÅ8®jRwÌ`ÃbgïLe5³ªMeˆÈ`±P|@‹Æj6¡Ê±a³(îÕc¿äбØÜŽ³G4"Sß´ƒ !†r(aÃB{”X¶ÆâaB±rCßæ¡ÀŠ¬(óÏ¡y¢|ºûvŒ#P«BåÃ\
ŸuÄâ6Ž¡óiÛqÞØ(‚jÁÖ5Âê8`ò3Dã +Øw Vq‹`fÍð +·Š”(_%ðVž
öFe™:lQÅnìYÂÎìŸÃ.¢Œ~Åè“ñ¼uHBt”¾#þ*Ž¯àGßö¨kKkß&î5n— +Iy*±âTXÞ{-¯9µ¼ÜôŠ›®—û^6ÙC…õòËeÇqÜŒÂOÀwð¦É¦ R¤H +EÂa0`Ȭ¥ü°ÑøÓÇOz—šw-ÆA‰±ß3Åé‡Â)!Úˆšdå *FqX²n}`n»aº‘õæ®·ÿÍʈ2âGÀÔc¹A^9F”c+ÞÑ GåÏÔ"¨1’î8ÁÿìHz\I1S¦Ê0q³çØÖ‰¾¡O:ñ´Ä¬Rƒ±´é×Z®}‚µO¬¹Ÿâãj–s|È%?ü¾“òÉŸQ{Q8¬”¯Þ²•Õ+Ž:c˜±›W]\t&3jÞ +˜ªh sMZNI+ÂßôF‡1k‘‡ö5]1Y!W)S1O]'ªë<e•§Ú’§ºÎ(O%å)¾²2Õ¤L¥\Åd¥tÕ¬£¸)½²öþÓ”·Á¸ŽZ¯Ÿ÷ïöO^¯]kaÉÔ
WMå~N™ ¼¤õ\׳®š·5ãÐbô6¬WÛÖº>|ޘׂ˺y¦ý쎟NUï°©Ç›nonÿsù»êL½á× +‡ít¢xº—ê
ÜþCU +æÇÉ<²ØRp½VI•Hêa”0÷m@ŠÂÑëb+Œ¢`4E(ò@GDØÊàÐ +Yã¹tÈgƒlÙ9`( ³|'èp‰ 9£~©$ñu¬õˆ‘“A¤œã‚ ß¿Љß%ÐAt<˜;ÒÊÜvÕ”dØ’ Ö—Zú…ödhÍà‘x=ÿvˆR?CÖk&¼æaÁû’d9¾Z¼<Œ‹Ï"n]'·›àvñ2™Ë¨×˜gZ߃ýµzµ›¥÷rFÖ«ï7C/ƒkXGŽw¬ë‗U«7®ïNnÙÕ÷Vòõ¬÷CÙ¬ïÔŠµxØZµgãvšú"S7p›Ö]õÓõžk¥»êÌÔ}CáUÒ%?T¥`û8™GûA +‘ä6(%aéÖ'ÑÕ7hŠ@ÓX}’…OxÚD—”Yž|ò\`v€§T.ÉÊ%Ñ!%A*RÀ”=€ª Švh4´u:v³‚æM2+£§§¶®6ùº&±0¬fhg_ŒWdšÑ¼‚VWɆ£À¶»²„ø%Ö-Œaýb„»¸³`“Úª€+ÇUnüà €€|õ¢ 9Hfp°ÐpÎ)o +¦B±«PLEÃJ©A&m˜®´2JfÝ*oå層«hN}|:¨•`]‡Çª¼]Þ͸‡CóO]PHZ–eBÐ^Å/niæežæ3uNêf?·³›iž&L@ƒÌ|'ë¦9bGTÐUqìòH«¬ÒhãÄ2hÎ.szËy£»˜š†ˆn +T´
ýZ®d02*4-A†fÆÍ[¬ÎˆñÊëÑÞQÐô Úßq!€f¤Nô +†V«?<D–8PÅÒu‹‚$#»†
MãÄàa\¦qŠÏJ +"XPPoä#}ï"Ü%Õù¥j®ZóŸigÁ`6<õ¥MñJݕ•êbü¾´ÏäîÈÞUc|ó²ÚåUÂÄ3?V¥àcŒyp*ú +îHÊHR»ØyŒ²`ˆ¢iˆúŠ!Bh' ¨'€0ôAì±Ç<NØ!tˆ‡¸)°!jq¦c +a +]V²ª€)q1'Y$‰•!……“¨1ˆQ¤ðB„抄, +r…Gµ§Y©,¶J6Ó.Ò\5Ic•ŒŒÁj¨ê7¥ª¸©Û:£-2uÃ]évinÕ,§š›™^øLÓ74Þ“9Ù™ß#sº{x»Ì{þAž#‰éIiCÒR‘”Hš…¤~G’•¢¢¢¢*þ‡î§XŸb{ŠéY
O1;aµ9F.gER:@ée$ÝBiõ'ÉÈ”„
Jö•P²·P2Š+G(½KFdŠ˜n±ôý`ªh2+›^DÓ9œNñd® u +¨çˆ:Ô +*sU/êX™×ðë{tƸwQîœqÿß$ùð)ÿfš§Kk_Ú(úÃø7öûäÚ6]š§º´=6bkAm„¹áäl‡fÛðhxqØÄç=«þÓ|øôàªùwc/
Ô]l{ ö©j×ÿ:ùfýýSðEgŸØ¨—Ö?¡óýÕq翸>>¢jpÝÅ5OëãÉñ·¿ØŽ±\Ds}о¿Ì“ù0ü#|š¿~þûo?þõË×ÿ–ùË/¿~]wýõòÓ¿¾~ýù?_>_~©».)üÅœîEáö’?ãñ~4šCvS{={”dû,Ón:†Ú:˜g©vϵ{²½Õx_æîœÌ焉{@¦˜æütø»€‰½Ç?-oXÌ[zSAþ8Œ#¼ÅV;܇®cœfL•-Ü|.Œqiz]jÆ¥âbq¹Vw† +q8™g
C_¦ÍYêñÜçѽdÙ¿.V·#üüâ[êg;‚7‰À{\ ioµÄ¤ +üHþVã¥($»knU%VX9u«ä—Xœ5µ[2ào£PI ‡¥ö0Öyr̓
iÃp´¯ÆƒYÙU7*"šœ?ÎSƒ–_së˜5<Cý K´ëõ `I¡ÊQ#HY_·'¡Ô÷ú¿ëC€Ùž8ŽHµ¸%Ão´ƒq22×J‘9W!ä_È⯠⪢Ä_‹*¢Ä_ÇœUC©m•PsÝPPº÷KPSt¯2E…¹ª”!ÝO"eØV¢ËT¢èÞWQ(šd'¢YvÒ'šfSžhž½u"\ïqqB½Çò¡M²pAZ4‡è«¦ÃVixA»A³è)+À*KÐ¥µ£C–Ìñ"KÔ¦²Dö±Ì]U ©\+P¡6|iÚIÕ†8ì!ÑU’d¸>š6ÑÒ=© )’ZÂþ‹bo[š‘ó2´©j„qW‹ÁV=r@µˆŒó‹A]€>å¤EÈüT¹«JbfQ^S‰èx"Ó6tÈ㧽¸!P¡R!ÓÖäƒ °¡¨U]dÂå@ßU‚äÔŸfΡûˆ¸?vÐÑ¢¦mȆ¹ÃÐó”E|LOtŽú©{<ºË5”º0&`Ó6tG¿˜Ë!<ÈN¶=ëŽ,<ûCv`®æCM`€ÜYt p Ò4&ú)ògJŽ9^ø\m*8tUzÒ*7ÔeNóWņ^jÑzqÕƒ÷ ©ñ¼»´Ôt#@¹@oî¥%ªÊC;1ÔDÏ·ApEF3LAª9Dz‹2€ú„t.du‰*0ÄÕ%Ø2Êû
—’ éõ´Ïs4ôaðL@.¶ß +¡ŸÇ¯wqÚ±ðdn +}c˸*)Í8Yä“£: + ªã›Ž1íZjódw¡ü9¶HæéX]“5Ó&YJ%èdk ô˜1¼éŽ5O†iø)#Qz'p¼ÉÎq]lM6ÎašÞíqÈ^ÙXGH¢ýÂ6àG—ˆ+Ý +ü”p"%k<´M¡FkD—ÉJ:^ÑÚ+ÍMéèA-©/:c¸ª¼¤×YyiÞY‰éÕ`¦'±û5=ð.NMt¹Ë.~Ò:À(6Øo@sÒÐñ•¸/2‹ ‡ +w!Y<oÝ?Ö@5Jï’ÌP褊gN1ÒÚ½ïÅP
ìúåÈéåB±C18Ët1DY%P^‚Žo†N#Ž9`Tö²Ö-õ¯¯FiL¨Ûܦu§@Æ<K
ZuÍ¡cÖpY¹øãbŠµ£Oì—·±£Ó‡Ó×…íI_……"PlO)¤*{º)€“¿ÄÀ¡»}©K+{©K+y©SÊ]êÔK ®’zv¯ÌUˆyyWÀM% õ6‚^x+p»ØH2³¹T2±rÄRŒÏÿã¾Zväºèô?ô&€½˜É"Yä2¼p0QŒ +1IR,{²’8µ’W
äœEŒ:Uá·rÅž©€Ù¶dD%?ÙâThã@T‹›l‚ÁSX²ìHASë÷Ž¥æ$õ8¡OÎQŒt
—=E-Ì™…‘æ„qÔÈVÁüÙówËË:ƒe©5ÞlÄï],Ì9%léÄ={f +_Ö™ð5l<zÏÇ %‡ÖETíX)° %¬;ŒÕa±cÅ+Xeö¤Ä"Θ'áw-“ƒnXrŽfÇH>¥”uÛkeì‘ÁGñ{?ë6 +A3qËž‹Â‘Ýu4˜(³'¢xp0Q$ˆèqÐ"1/NŸŸ~óÛ/è›Ï^~ùí›7¯~|ßM~óü_"-o™›ƒ?{õýßöÿpzþOù—aÿòÙoÿõ×°óÉ‹‡‡o_¿z‰üô„äáÿ_ýtz‹ÿ’
Oa·wøñ;üñ ŸÎõüûó_¾Nç—rö§›J²b +IAQ“‘z#T€ù€Ù¿ÁwGº»S%…ÃÂ5lûüþá‚MCÒfeäMšQ“&æEBû\hUºÊcûm½»
ÍƒÉ þ–‰ÎM†)ê3A·Ê|ݽ êÙÉà +Â@Hz:ÃÉ1Bÿ¦0P85?Ë\š/²Â\½\– [ysg?]k®Î)dµUSCD\‚˜±•HÏu3ÄLrËSPq-© ÃáVrœUÁ«oS½*¡šü½=ö¤$»€4™íª³‘ž•¥±;;,` áá@Ä +ÌĘ̀î¬J¨;‡á-¢“ ¼R^ÈXr° 9®q»SLä–¥$·ª’ØÁÑ#æ²-ª.-ÁøY,«F€(ð`Tÿ~@‹§8:‹¸%ï`ým@‡.ºf™¬0©›>=â(]51okI^aµ4-Q죉âaÜš¥\aÝ4““ÂÀ¬-ÀZ[€3‹‡É÷sUþdSÍR~X LIz’E1Š#U_§€ +ÖhÝA)D¾L¤e€hNl`oÌØBXEï® +
~ÅY+‹mŠÍ)œdP—Ç•ºU†`‰áuëVa ®ªJ— +µÅÂÛf÷äíkš=:™lÄ +v8†ý&“ÆîYb:†Ùõ}“`ìÙGÀA¹g^f¢èy4ž…D*e ™š$f¿Š(J +ú¨ 긧µÿõt‚·êwÏÞËQ.*$A<¥3pÁ§âž¥ÙŒ2ã‡çȲ×Ì7üýû¦®Ž¼[‡÷šŸÄ\Ê«™ñ`ÀàÀ)_=ã…—ðf–qÿ“ö®ƒY¡>©>ïmÄY}ƒãþ+Ah;4‚c¯mV€Wâ°§+¯VPK}=;Ø]>—
>¹ºX3ìl}þy¬]´xfMP!?4S}W +;ÄÒàyÔÃ1oÀïp]—ƒûCÖwn ðY(Ég—¹ðnû†0h4“€ +”5ÞÀùævþþIX…Ìqe,À¥BNR"0ãþ5VZŒ’ÉC´ÈZ;iï ØX@«ìà¾in-8ÏÉì›e¹»Ö±×ãÍóáX&ïuc€´â +öڒ樑s@·e@e¶QÖ=U°SÅå,ó“0&PªGH@QÜßǹ\QìÇxY¾%ÂBQ:å¤N|ÞæºÑ +³ +p*A²^zxcbù^R†Ü#‰&¸Zy?Ÿj¸ßJDÎÚLÀJ…¯6æ—„†¼¬7Ð|ŸC~ˆ–Í»<SðÓÜJv—Ïÿ\ávÿÊ»)þ"P…b—ßÑ.@íÐÏÕi¤ÉÝ +¥…“•Þ¬r‚úŠNOã·Æ¡I„Y› Î"…O#@•Ì%¨ +›Û賦¯ +p®Vì€ÏÖ)E<xTÉörBL/·¹âvU€;ªÑ›Væ`«‘`ÓÙn`*j?[Lꔤ +à°—}º +ò.*0½wïYwv1Þ +Pê@L;¬Õ¿•±ÆŽgª£«`Åz@³Þ@Œˆ,X7(áP<ƒ„ +*ýyßӕبùŽ\@¨Vk™•Õ<xÎóûª¾kÆ`!V Î2µåbl´5$+›±v>ãhge‡.f0S9<¿>Ö°³¬Ö4º§è¹_`H·>6gø€½(Qݪ2f{~]‹WkˆdNæt@Ž¨M
Ûs'áì6~þzZ‚¦¹]-s»-¬ýáD܆ÓÏɳRN”³¨ +`•ÖfZ™<Ûv£AÔDÿÌà7S«(PHÝ$ú)˜ž£X¢{ +8hÓZá| µF8i}ÜÞykºî.M™înæHDÓ®°‚¯Ùf•>-Áz§*€ÌÛ!–í ßØöðÍÜÌüÍÙ¿ +k!ïáýc&8úcÐÏß¿úæ ä ÿ><—“žGJìÛMÆ0t™¢µÇ¾ã¨GÈzú™e+2Õeª’Ð'SA×*!AçÃñú}ŽQc^:ŠèG—¢J ”æíõ!^ih>ï˜3A«—×uø¯ÃpK+óPèãI44É“'UìŽ{´¤,Ë@õàH?JS@ç—‹£æQEÇ|VÏcØC“à¦HX·rÁÿ›~éfFÐÎR庞Ž1ª‘/Ï$<ÏœEú¬sï*óÌÚ±¿Ìz‹W“c*#‚¨ƒÍÀa`¡¬b¿°´ç^L0Úg&[³UW±Õ0W U$þnû! +¸¨Î˜¡ÖµÚ1äT3z'®(Uà¸h’ê°ñlP£¼ÀœþÄ1áÚþ¦Ý̃ɞ¹VB¢G8^¢ACñt‚ Z”0ÐÁ}40¨u!Q’ðµ17 +ŠÏ8Í‘Š{1WãbXÁ+?dñˆºˆ—O/@ë¨~ƒ¾/ÜÚbå
RtâªaäuƒÒ3×–Ò2×JLD/q€Þ5;Aˆæƒzuê‡ï—´#_û¨¼ÀÔd~^%_¼@g>70ÝÅ“Òxäf¢‘FáZP¦'òb=4aHqíï59£«Š7Z‚gMíÀ•É“ "Ë€§#œ`@É1.†°ZXjŠÎý™zpÍp.qN³u´îàpÑ0™ïH§‹ ™§û<ܱ¡8ˆC° ÇÀ¤æωkc +¼j²Dqd÷vð ”]uÈA®É#.EX¼SŒ¶Jp³µZ*™K=²ñŠd¤—2ÞS¬Œ¶< @÷+ÔåèJ[Nb`W…ãÛ]Dþpg£$i +H‰¤—ÝÊe·
†¯à»‡}RhÝØ’eÙ‡ íAË”–”À@(%d¦t>Jšd˜»ïkKòòZ+éI CÖ<£-K²¬Ÿ–;=…¸<¾yùUËUŸMZy´™åa¬s—Áò³×N—€ŽßWRÿ}JÒ]¶ôL©p((¹Tƒ¹q] +¨—M¦djÙSmÍaRƒ°*,¨ÏÖÕ
ƒ¦ü0¨ÃZ.–å'Z +ªrsLª€6N¡ Öê +”J=À\Ã¥¦²©ƒÜ[wXšº$«.¤&!+~ò”J~5V‡¹%âÞ]AY· +")xC’ÇÿÇk’ñA,Ü[x†÷*žn3ÍCdNë¼™ÌuÃÿzùÓ‹=ÚÞ¸oÞ-’»XrÑ„7G¥™i5çilaäÖøHÐX†I‰;ÑüÐVÆ?¡Âf”™‘Ÿ‡‘j©ÞP‰äWÝ°©px†ŽŸ#>N4÷bN›¡•¼LCKou„®¶\Ú°¦Êp}3/׆pŽÒaÌôŽÓÏÇmyÜjÇq–Þ½Ãɹ2{&sê3Üxš˜²²êîhc¸ƒ³Úz¼QV>ƒxx÷Ë‘¿¿FÖüáÿ¾‘¯¡Én£?[É£pµ†j†8~¸a²ºDõìMöÿ¸öÂWÉRy8Úཔ€ÈøÆï9Ë]e¯;ìr…°>åºl¸IØïu¯b‡¶øéåŠ3Ûþ$L³˜ŒÃŠU³³lª³îÁ‚™/"[XòM°ÍgY\¢CäÍ@jeY€DÌ4iz\¡ªÈ7Y”™z“ÅÛa©;\‡%¹ÊÂœFÕ qW‡‚Aaƒáî´ñ&;Ó`Ì '؈cò#—UŒ@VãRó¹`‡$k0;á^ú]vƒ¥ì0¸»gÙbálú›n0”Ôî²ÜÎß`4ö3·äJ;ùY’¤ÜaëG\sj7Ù.·&\ +–c›lê³DD¼&m·KÀ+®r•$æK`wˆ!« +ÆkKÈ9Ff;½ÃVóráÀ¬+“ÃÌ&9/Xú¯.l²úÔœ}J>ñŒe¤ô²ÁP k¼ÞdQÉ]AÎ?ÇÐyWPGý{sǵ>n,j"`=Á¥–bÂßdQË%&ïZ)Õ†‚œlp>É°®w…s¹»*SîJ¸ƒ'Í¥µ¾Ãµ|%Ñ›ì±ÌÝÌaQÞ`(àJ|“åÜ}Ìg,OQ^w +²uÁ]óƨ³¾€Mb"ŸðŸÅbš;É#=õÖn°`:P(À`Äž'<v•«Š
J;ÁЋ×p—Åëk·†eŽýaÂØ +Ñõ"Kh'Û‚éäPŠ%hA£È{›«ã¹¢áXF«Ü f¹)À5©êã +©æ€sñ™Ý&,ëŒ-L_½ú'™jÑì»™òœ|z³}/v»êS[k$Ö0-I
jçØ׺-FÆbµ+ÍRy—Ì©ûIÂ6xÍŽ¸o03$âUóE¶ûCÉ
ª&Y +£9ã–ý0Fc3ˆ)?œêœiƒ +}}¸ú8\×Z8–¢€,}ƒ«Ï´.7Ù€h„½È
jírSPñ¼|ª±Bú&Z/f9\ót³À²Êh
VúQx-Š¯ª>ú£êºÀ>KbÁDÅ.+\}YÂÌ°–T7 +°Ê\eá£ÎÇ56ÄõO£à†Ó‚…`X Uɤf
\Ѻš=o‡¦ +ˆÃ€ªâ°¶¸EX›sqÖ9àh´š-¹N°$>‚x`„'nlnc6‡ÑºÆ8Êa¸ÐóE¶¬ …QIÚRåÁŽŸ3[ClÓ4²¨KÈ*º›Cbõ`·p +ǧj³1t‡ñX)ßdÉŠäOAÊ«íXÈ&XJÄk¦ÌÕ,=Þ"žp±¶ŽLN)d%'Ïú9 _!¡.ÖâñðØ–& +󅲜ä°Ä¥ë ³ÁSxìp}½ùBžÉ‡"T’x%Â_o… +,BÑx0+Ng‰Bk·ª0Q±pï²uÔ¯ÿÛÚð€g\šŒa+*†!bD÷‡—3,¢ñ®ãìÍÑUF¤¥¥kPÆüZºÁÚ»Þ ·ÒV¹90&‡(7\,|¸Ÿ¦zƒrø(Ùcû\彇ÿ³GXP#R«ËQðdÀS•AÎ6=¡Ç’gà'^ +£rUï±ml…Å ré—8ZŸMc—ý/Ûå’3ÊBáÜ=üHä`{œì$Rº§-e÷96`cW¦Ÿ(—p84m+ú³œý`Úg¸ºÆ%à«ALè9‹Ëk–t¸³¥UúĦN¶Q¸~`Û +¸¦š¿Ý8ŸIa7@Œ‰åø±û‡4§Èll1;¾v#‡þ}Ïú.!EÜ53,Hý“À]2ÚÛ%¸…ˆÝÛ‹øÛé§Èêñæ4Ü©B»Ú€sR=B~äêpÚmƒ•K€;—ÌK^±M$zp…¦\}‘鋼°v¹» +ŒŠÞÄì¶Ó {2&q¼N¦06ãÕÜj/=VàŸ.ôDQIãvlJ–Ï?—í¹BlËÜŸ5ZvÜ??xì·ËúGæ#¨2O,Î"Wd›ÝE¯˜tZ¹MÚÄÈgú’Ć+ÌË“BXªI7ØÇjš€©%OL¨SËk[y‰ÛokÖd|ö³fÍÜSû@üÒ7pðt_Íc©VƒÝwÕf•FèØDvÇfŒ!”険m‹GÛ'À³âÆn´ZYBŒSÁ‘ççî+,êî¯X¿W8µ6ÚB’ëç
£•¼¶}U(aªÄV;7:c¼œ…MV0|#ˆ¦Rö÷Žñœ<azfƒhŸÀþdÐ X±O¬)Ù„"¾j–ôÍ‚=] +`¼s±ÞCÙC%{i÷¢2pAêã̆{ç˜ÿª[õL¡çY{‹p§A_6ƶ)D.°Úcßà¹lvÍl<ì°ÙÌîüS*àNcbþÄBÜ|UR£pÁ%y¾€áÙ'+{föáõ® *Á¬¯1Ê'¶ëx9WÍôÀy5J8¸ŠN’„l—§¾ ©õ}‰Þüšù¢y³%[ÕädaŸ.y¿‚a$2‘_"a@Ti UJ€žÈž³'v&—É1ŒŸ°O½…Õ{$¸Ë–3&öbΦ(÷žé6œ˜{i¦ì™Œb«Õ«†©ZlÍÍ}h/DKå,ppB[Хʰa;èLzGè\ù‰…º'Ûi‡’Äl¡ßAcùÆÂòW…èíAG0ƒ¶ÇÈ6_ì¦æP@LIžØ†WwíÖ©"£=ÙEÊdj‚ä¬î„£«A6ÿb;õ+ÒǹšeŠbø`–JæbÆEFž<<¸Qõð/1èÕs×a+ËCî¸#üc +É\O²ÛÉÆ”uú1^ÝpTƒ^d/Àœ×ûµÎ¦¢ +
ùi»Ë9ìa<¼0²Îš©†]®ÙµÐ{²Á-$¢Bb8àgVÆ\Õò + d”ÅrjUàU8áHúxöþÄBúeÛAz¥P™‹9$‹ßȆz5fYàõûˆ‘Uå>ë¨3mòöãj†ÿ ñô³Á¿gÚ=Ê p¢ÓÏzsÜò³Û G¡lp³ï€§œþ\÷ˆï»|^Õ6¡pè&i¥át)~’ +Eÿûü\÷TPïØ‘šw:ïó€£D¨À»Uzc›8Ì6£D†œˆ×Éôg½‹µµ6»óß¿^,Rò½Û>;¤ø+N>»±³XÔVÌáÌ,ã$B_ –þ5• ++Ïq`Ç¥Õn¶©«òG7*7´æÚ§¹RœÌËÑÚ¨Aÿ>·Î7ÛÊ.Ç裰%Žt1h&—Ûîcì7˜e`›¢¦,æ‚ýöêŽ)Õ‹À½°ÈØÿêR1%‡}6AÖj¼U3€QtX“åÖHú÷µö|³mÑs+×"Ñþù»۲͔ðÞ;ßàÜÁ†CñK`uq”¦êF —ÎÔÐn¶>§‰jªšÛØaò9aÄZ +›ëªœPút°áÖ›Ù¦ª;€£”n"×&F;6´ÖM÷û ‹v|P\C)ÔAèù´Äcäqaâ’K½@œ´¤9Ž9MÈ™z{”ƒRÝ¡oŸºNª›-òÛ&J\cÖ)0ßnPàµPï7ÛÜF¯žß;,¹·å`áÐ.5:‘á¨7ášH/P +Çn1‹xeÚa$NÓá†Úúµu[*k¹bSj3¿5ísÃÌn…X´¼ò%¶DºItŽ!y\¬þ„..¡W˜£ïu@oTr¹Ù‘Aöñà€žG'«KÜÀtÙg¨R_{ƒ…2ñŽ½ÆµœùSœ“ÐÂØ—â¢M£žKª}jÁ)))”‹íš¶ .m( +Þ,œZ» +{«wc¹Ô¸˜^ƒ‡Ï-!Hq¨Ëù±è¼è§ Œå+¸Êl¥¿[G,1ìÐ+ç‡m-Ía‰.s9§ºƒ +ßl¡*ì°!&¾Aè—¸Lœ¹ù#rµ—«‡Ðå;²)¯yveÜ|µ¹O'ùÀ¤ýPfQô +s°ã^Û´mãñä‰íiî¯ï&è÷Òd +äIuùGËòÕ»”£”l·›Ö9©ø’×xF•7l[„.£DûL2t‡W·ˆWŒ!pD¯Æ8â™ UH~@È yÊ!Ò¾Ù”1Á°lÒâ'koñX$ê`ûñIEïøl`ªä2…‚Š´¯ŠC¹Y¤ÖÑŽe„SaHúæGœñv¾žap,gûö32åÿ÷ß"û¿¸Ú6
–J>Ýð¸ºS¯¡LIJ]ƒ.ÂG¿Úb>ý`T0HV]
¾›WËñf;:˜NJ]Õ×yⵃå5Šðøz[,ÆmÀÌ·ÆYCÔ9¢·zçs„.–Ñd³cÜÙâýXçŽÒmöD6G´=^¸ã9£iJ šH +¾áÙä4 +, +jµœ‹û¦rXî©vI"EMKaÊ*ÀC,2dƒê@ÆØ!+OÛÔÙaU¹}ÀLys01sòDÈ;BÕÎ
N +³”,u€FÚTU±iƒ„Ðk›<à˜¯+Ø•C?0ùՔ䑅ÚUk²4jÑ6[´g.>:R ƒxï¼A¿…ñTÇèš C’4éÄsßàåN[BµœÑpÂc;NI•x•¦= åæ×f*ç^ê:BOQÕNpÖÏ¢+ß`EÓ^&n3—ã²Ì’ù iaáÚ»±´`Ϲ›Œ•¥BÝ¡_cFy¼ØŠŽ<eø†–Üí/°gK ©!f¿>]1:w|œko¾ Í7è¾V-Q‡méÍkœçà‡ +¡=çY½À mJñ'›‰LW“WG\ ·º·0^§"R¯jS.”fÙËÅTÝVåaÑ´÷eí“‘ù!°A²; )âæ ö Kj¸Ñ%Ñît³¢AG1í8`ïéQ“z°ñjÃA·*Œ¡C¡åJre®H?¦‰¸väCˆ ÔïsSœŸ/ˆüô”Ç\€}6Žn5 S£é d6=Á[¶SLiQ!ò‡n0ÅÐgø5ùQ‰Ó–6Æ8‡¾ƒµ±i‹*¥Ïño…<-Æ2nj)Oá¬ZdN$˜–—€ÉƒˆçV¹oÐSÍ/¶³Éb=å<2`aÌQ‰²ç;—¨*Õ뀵‡³Ü¤Ð/¶E[Ø€9¨,<`LÏ8FÎt7í…-‰£—1Ó)”Fs
ÎÒêÔ v Mÿù„–0³dO\BñòK·“zö΋ŠÐ6è! XòŶàgË£VKò4àh9_f!¨ýš5˜UP‰¢9À‹ŸÑÐ39¢6]l£·8 lè†SSí³8†Šàä¯&kÝFÑe÷|ôè°û[ì%W-…m1´[ÒWƒgMv‹h·f!"V%´õMø[Õšpi¥&:pÌ;ô$JUƒuØBÓ'…ÏŽÔœtbŽ/‹á +hM£µLµ´ÊyEÙ N—¸H×VÄPt_m#JlµŸX•
`æ`ÛÊìÒVpjÖ‡FUH^c +yŠuöѳÐ}a(ÄvÅöyͽMÎ*à]ҸȧÎØÙ±¹$ÓuiÕ›Y31è ¨h%±Ø.gXtƒÒʧPÅR®XØ梢‡å©µ;
ó†[£NÖ&ãÙ¨S‹üÄrJ‹0;4iаø¥¼Û¶ê +=¯½}‘ +Å´0Dö¸Ú›Ü‚Á^÷ eXSâ™´æ¡©Ÿ½ìv +X´«vó‡÷ïÒ^ƒ™´4EØÙnpL³‹«É`ÊÕa0?gpJæTÇ‹v)Tu³š-÷¦»aÑ[ìb¡HI&$)¼„åŒE};„{tØŠe…ŸZ+ÀÝN±¹¥¬ÎOÔª˜ˆºêc2à+¶¿ñl¶<$}6$Ži%˜Ø~‡dj„’Lî%.uï²ÔnsKÅ°‚ÊûñàÒÚ=ã`µÄþwè3N´;>bC‹V$Ó[&¯œc™eÞôù +×RÑ=$%ƒîî
z‚˜®XHCõÊB’At{Þ ›Ä:çÜ=vÂ>:½°L‡°c4šì+hÍ–•C®/ì}Ù,L-ÖkµP¡ÖÜ»âäv8}®|›Õ¸ôeIñeå ;ôÃß±f”{·å Œ‘¶{¿ïk.ZþÀšxmaa½óØäêÔàR>εôQÒ2%;6¯3Áa‡n<Ìcœ±"Å d*>ðØB¨ûÜtCî“îÏ'¶v¿}¬¶C®Óú´´ÃkµglÕ¦¼9\ÁPå¼COÀª5g,×`Ž›8ö5L<vf+°)BàZ}`*yùÒ…)ÆøÄoGØBeÙà´Š9Ëë¶2¢¤$ð¶ÖGl–ÐlY9¯37åPmè“üÀ~îó¦Ï@v àa©º-Ö:¢ú°5AølÓ…ÏXØXû +‹T‡5ú-b‡¼mÁÏ +3ö¬¶"áH¢>D¢æ<“ÕÇAŠ°ÅúœgUâ¨ÍÕîC +vç:‡—t¥õ÷xNœùŠM(aÎÛZO˜Ôqj‚K1ÈEN—>Ŧƒž ¾cײbwA%Æ¡b²™òˆÍ6'ÆåÐw¸ÍC§ù +{Vu\ 94„0‡¸±I´Øœ²Ÿ“®¿ŠÑabm-ø(L‡%ˆ}ç£ÀÏÙ3^’(Dþ²P}iƒÞˆHõ]Í®‡èj¯‚3’§‘dTÏlÅ"ÚHpå¡z#ñNˆÓ‹Z}@š]%©ˆeËcök\¸â¯HÞ3 +¬¬Â"Í¡õ,‡³‘ðØÂÛg“dóN;!VÀaƒ……ævMºP3c„=„Þá¥g{lí>Ò³†’¡[z`«…•ž“Ú¼Ê^~²Õ +)ª½Ýb{uEmÑA×
Iþc¿j{ÛÆ‘ð/ðð—Úæ¡øÎí§¤Ù=¤/¸l÷ +…j+µvÉ'Ëm³¿þ†"G¤¬4–¯¨íäÒ¢…ýxHÎ3Ï<ƒwÐa6¢ÞV8 ã©ÇŸd„t›i “ÊFù!Nn¥aPƒÀµÿ˜›ð
t—´”3Ì#NÝa¼Uí÷lÛe¦oKÊ$}éd]àPXÍ¢msØ.…§›Äx)‰ˆMÙƒ˜ˆXb[*›Ne=`„õÀ0&u`…Y$)Ž! E–—Ò41 °®-PWâ7QuAŠ²¤cÆ]hê³Àß«bP’´ ÓŠðäÉž4Ï•wèj*°Pw`ÂÚŠp{&~r-ÃuiL‰ÄóuKÈ¡‚ð’Ò=wL˜Ix„¹Õ +àQ±Ä[úG[…&|Í6ò3²jÖêlÞ—ol±`ê½ØžÓ‰6MN4ðTÇ•WRJHko`°£$ñJJ:ímì@êµL +¤„R‡žƒwÃ’q s“+0¨&œ¹L<È9j@k†°ô\ƒ‚è@ûìý
Úf +$ÔÉ>ŸÁ¿dLš¿ï¯áËßáà +TËÒVˆÃ_yµŒ`"XuNp¦ nLµÔ¡¡®ŸÅ·Ò [a
/ŠK;°ŠXKJBÇ]‡@ + :ïÁVwI!Öl¡ŸAV;PºžG@vÔŒ¸]ç.ÖîͲŻ‘?z<~ÿÏ[HCXðÃë²x[åEŸŽŽÜpIüÃèõÂþ’÷ÓÅï/žçsØftÜ~ÿ2:~ÿêüu9Íìdz|Rçe‘V×·ýðtüèëÕ¼€ŸŽÀ*ÿ¸ª³åãñϣ㓪J×,&³|>²ÂþNÇÇ/‹:üfÿ«¯™ýíùéñøø]‘O +H‰ì—ÑrÚȆŸ ïÀeNÕfÁØΦWÆl¨T'erRçÎÕŒZ0ÉhF;šÁ§?ƒ‹do¬–sI˜rÅ‘E7šO=ó÷ß«HHà›Í/³Žñ_ß^uºS£¹œw^¯rŸ.AØôã×!~±zfJænüc°„(¸ÝÿN>Þ¸{¿êŽ83\IÐëÍ_?û`°ÿ20îÛgÖ`²ùºî•Öð ‚-¸4ÊÍçýN÷ƒ4Å¥ì¨^ߺµþGræî=Í·º^€”(¦(¥ŸÎÛ£þCâô‡¼¢B®Ÿù8Ñ;ä92a L¶öŽ3;£òpI†á²’>¤$´€Ò¯ƒ…¼Ëx@G M¢1±Âivá¿=ágO,¼¼x`¡4ˆ[ÔŒ"p_µ¢Ö%K#Ve÷ÏD½Îî§óèò¬pI¥N¯2÷.¼Áç«ñú}q4šG&i›æ]+¡ôd'mÑ;²ÅIL0Â%‡Í‚èÎÔàÍÖx¸< “P +9þ[uÊ&môÉyY-ŸâßTýÞ#Ä$ø^ã_%£7¢Y
ÀÆ7¥þÑ4%2IÛšÒ«gV¸N1ÁMiL·Ôj¬® %Š) +dFir]'zßsWTÈõs!'z‡$O A7Ûè“vûÐnYZ@é×Ár~4}ˆLÒ¶>4âI,€a„ÒL nQ3ŠÀ}Õê˜æ£^g÷³ýïìg—TêôŠ>aìÂ|¾¯ßG£yd’¶iÞµJOvòѽ#[œÄ#\rØ,ˆîÜ +I
Þl€Ë£ +»²êùª©†ÔsܼÁIøìT…T^r·€šÎ…ÁrïŽ0ì^u§_ÇïÓŒióÕ‡»`ðŽ>¥Ä[ÏО¤ï€úTŒŒÒäºOðn¤ÈeÕp›Ð}Ô6Ü;ÐTYÍp¬!^pvtjªt¼pâ|}R´_V´·'E;FE#—õ¤h'E;EûS»/Û¢á棞ÚIÏ^¦ž½hƒv´zvòg'={iz6›$äPX}wñ’eŸ˜`„K›‘J1©¶C“/÷éØüŸŽÍ/ùØáOÇæ…5û†Ì••#ªuçdì.ÔÐ=W!Ç»ñºìu.{Õðn±*Ü-ÖæÄï3_¡ø,`}wö’•Oc¤–äAÈÕLT)°¨¡¶\rwfÈTc3²ôù.—áÏ=[ +UU +,j¨-—†\fÝ’hb3²ôé-—áÏ=[ +(+sž,—âMp‰@î®u±‰»CfÛ'Ô@F·¹úíp“BPKXÌòo[.²ñ¬ 'A-JâÖd×ÝèJÝ0‹÷ÎÕ#3Íp^Ám£½ódÝ`®åÀ¹K¸Ççj°äJ hJƒœ“Å3½*yK9ð]8ÅØüðì ÀN·D*$2zOÆsÅÞö¨•@áþØ,‡\Œ\†ù{Gƒ<²fAWö]|M›,Äw‚%ÍÇM;#ìµ!P>n[j‹¶¼!êÖ¨br;äašÿÝOÞüIŒÌM}dº§ÈŒk°8U)ÿ\Åθ?ƒrŸØdJ«C7oMæûÔb’w:gÈF¼‚ªÅýì6Ë'[²Á +VÕŠJN5
§tžæÈm¤–d¿r!ȯ#ö^gçi1ä’2•ÆÁŒ*ÌY¹ï|îÙÂIÙ?7¼¬Äyõw‚w4éTœÌŘÜy.+sž,—âMp‰@S§÷lâîÙö 5ÑmX®~»Ü¤Ô³jh÷%Óî0¨ 'A-JâÖd×ÝèJÝ0‹÷ÎÕ#3Íp^Á¶l£ëèh|®s(kBÝœ3ÃÁ’+fàF¦Ò çdñL¯JÞR|N16gAò(Óù¶±oÉ +÷Çf9äbä2üËß;2üà‘5º²ïâëé_ä)' O9Am'&Äwê+ÍÇ-[ÙÁ9ȦۉëãÖ ´è +X£Qvhí?.HOà +ÜÊrN˜·–PAj~y¬Ã½‰×ÖîÉPì^“oÖ¾Ö𵆯5|áÃý` +H‰ìWkoÚÊýü‡ù)•Š3/¿ÚO4ѹjšª¤=‘®®¢Á‚OÍÛmr~ýÝcC1IZ†ö +ò(M„z€o¯Æ"‡§
‹\f¥Å©RâÑŽ`Å¡’‰¾OÑÉI¾üêüaZù™ÿ’AÞK‹$ÿzéý]^ +ä‚WWråâ¾å„D‰i:Ò©T"O•qB.³U¨O¸dXi¡yOÇÂ]ÝaÏôÓÉ4͢ܤe6á@©ÅV¾ûäLŽÐëÎÉàÓÅyiÑ Ó%øÈ´.VèÚZUÜï Ð×Ab>ñv1åˆmŽäkæ+¤Z
Ílw£N}Ï Üù©ïÏ4
ï”0Ÿ÷ûxä3V×YžÉ/‘Ðq(ªíH(\(1GÁ¾¨Ÿa\¬Pœ*ÖKØp,m;ü\ˆ"Ë"‘ô*Œm9þBh®8Â]Hs æ"0Ü… +\«áN^éh”ÉMÜúªÐèW2\ë<Ú62»šç-46ŠAÝuƒ4NÕ«a,‚ϯQµ”NE寰µ†ôyˆåš§Ü½õb,±îKg¦mÍt®±E½d~BJ§R‰|Uæj¹X4»ÄÚ1WfE ]ݶl,ÂôkŸèí÷ýt2M³(—-⻯ãÊ_£„ÄÑÝ8‡û]>©%æ±ÙÖK¢Ñ¨È ‘I–‹Ä¼ôžØm¢m,ð +5b·dÔÜüU°¶%›Ã÷°Ìº`_ךp68š2,lÃíŽq<jÛçfLŸâŸhRäccXßöoT9uWèÝ_hÆi¬³¨œ°o58™µ!Jbx;“5µ×Rµ—MePÄB-÷žn¤1Ï}s?Mù(†U{~Ïc™×ÊU±¢¾zé —¬—réß÷a0ã†ê¥U´»€™N¥ù2iaвnúü¤… +äi<sH+GK˜h;ò´Á¡ºn觓išU‡’¶‚PQ>žÈ< +ö‘ŒOOŸWì¬ÁÑ[·ÄX{}ææ@x£0s ¬Ñ@Ì™ùó.ˆ¹š6JLÇæ$ÐôF£Q‘ÉýŸq”¿Qr˜‡ÙÙ8‚;ÌΦ©™†ÏNs
Ÿë²rÓÇæOÒ£s/Fçjß›2uÓÑ(“y/.”’ái<‹uߎz)ÕÔm‘Ú8¶ ›s E…0R"ÈEü.Ì_•±a9Ìß´e\I:È£<›bÊÊÝ×Q¬ßmmÉfûªÌX('Åä +’üe
hu“#³°m +m(2y®äß…L‚ct¬¶p*›†[†t]¨aC<Y¤mºm a[è}"àQ÷ûDìáÙïsWßVL!—Wæ¼8ßÞ‚þj:c\€iˆxo £ŸÆ©ºœ7`[ƒ›+¦ðL~‰„vh
ÉT7:Þ_‡Ô‹¥d¸¦¶uÒ…(²,‰ÆÚ¢VêËØÐ\»†»¬]cVWˆ:’û–´KÓ)àj4Êdþ;A…´E°ªtàÒ©T"O•q2Í—nûÛAQB×€Fw€ŸN¦™>Aì+/hŒiå²EÔ@,cyÐF©ý3e×tš¨cZÑöíí¥–Ší½›IºØnFRGÊÓk)yÎÅÐ<Ç••a4æ¯Ø2 Š°1ý“þš™£ªÛìŒT΋$øÐ"6Ù»*³\„ÑïQg‡:Ûa‘ß…Îze¶¹ÃN"“üZ‰$…Тz_%º8Ó©T"O•qe,Z!Õš.?i¡ ªz:ŽsP+ŽEK¨èŽRUAkˆ®ÞEdQ.[D
—RÝÉÓ8n@Nš’Ÿ+Öµ™eGEZ&\GsWƒ´t`G/âÜ`pŸœÉzÝ9:ýƒàÛ7I8øtq^Zê%[¯Ü¾K“÷ðˆžÒíVË=y%õwÓò¼º5x˜Ó¸sÌBôþA‰I¢"J†é×~ :ë`t æÊß›øò¸ø–¾"Ž.Ñÿ‡Q«7:]×"³]Ô%¶Å)÷Фƒ-Œ)çÖ¨Ålj£·®^$ܱQ—rËaÌÓ‹OŒßvzCðáøc¢¢;%Âä"ìEé
·Á‹ÊµùÿÞ]dzˆgÛ6Z|ú.ÁuÄó,‚<J‰å9”¡›I‡0˧œ¢ùç3†S0p0Ä®å3ÏF½ c[ØöÀáù§Ù{ep|â»}»xÖ”Y6gÚÒÇ°¯-©åÁ}ŽæŸß±ã6vµ¡kaB]mh +nÖÊa{9ÇUÒ]ü\Ò
wlyœqDˆ…]æ£.·0ƒ¬ÌR@ Ê +Ü`œ6l96Ö–ë¹ìûys(ò†ñÌÎv˜Ð!>vž·³-‡¯jp×óIeèaʸN1‡öÿŽ%æ®v•zc®ÿ/TÊÑm¨_ÿÿ ÿŒA?¸¨~oNK£=hkÛ!ŽÇA—°Ð}Ï&eù8Úý‰^Õ~8žv2@ÅTÕl™¹.00“S-?y†^Íàï#üùèøºùðœNaŒ•#̃0Ÿw¥P·ÚìÙ DòÍ a þ¶5‹C
@»Pxq4Ãêꮂ›ðw¿S.zõÊEè +¿Ü壗ÊaV.QW¿³ +ÓÌÒ&®T¬kÛK–Ä×»^õRßÃö<’îü¥®gÓr‘9öÙž_E܆ÛÕóyeêr¨q0Õ° Q`CŠõM
³Š˜çÀÅ"@p“«¯cFʦÒKDÏ5Xá—+@w\GåI\ƒNíáP»Ž¾X8 +¢K¨§^d¸Š<ÌsªPpâ<^ÒÑ JS]ËEªÅ_Ž5'š`æ)©,|p•&R’%Pæ~Uß6Ó“¶VLß´çaª…€¡ï ZE†p‚Ÿ„5Ðaåõ«†€A^ÆžP˜úU6.¬}húy»Ÿ†éP¢¾ˆã|:ŽÔSE6F×i +Ç1ÝP‚7ï;G„lcöÆå}öÆá¬gŸ³3rJÏí3ÖÇK?|éX?úéqNç×0xàÑPco€ö§ï—k›[8ƒäKG£Û…j.=¿-•áí{‘µn>ºÉ|[Î>î×;>ÂŽ3ƒ]©ÜuŠð}(Ãr^-¸áÿÌWÛnS×ý‚üÃ~©ÄyÀY÷‹údÇI‰êH¡T¼Y®cQ$0QDû÷gŒ9—í½}IÌB"öôºÍÛ˜c~q9D¹!DŒª©Ààq_}¸Þ¯A +Ÿc;M˜XWç.Í¥¿r1#?þ²Žãï
Ÿìhp‹cðùêðá¹;¿† +ÎÜvÈôíÛ%„è±°ŸgӵɸùòæÈ FIÀA‚`>…‡…µJ–=e`^ë4ß½~FîV"X‡?¼±Œ°ˆ/€;”tVwÆ€:ñJ£” ApÞ:Ëùph'àÔ•jg2±¶š*'MÁ€ŠG7Úêuc¶Àêɉn¦:ªÎìä +“•x£Ìà>Øh‚Èc¡° ´¼‹*"˜q'^eŦD2ì¾ ¡ÿµÀµíw|2Ü ‡rê6SîðZÉ+„]LDaK®JØÀ]ùPUÁŠ“eU!ï§Å§"ø¾–î,ûbÓlTq ?ÒÒt]å'hqÕ¯óQEümMèr½
eWw,¸Á6H£ìg‡R3Gåö~<QÔ)Û¶¦€¶Çõ(í¬š518½˜Àb+Ü6pÔmÚ +„Gm%ˆªÒr"²âKq×k2UF +“/àï;àC¨$Í1BŽS:bÊ&G©xÚ…“÷'íCa€`›¤F¶ðND5j3iAÆïa&ó’Èüƒ%4®ã™¶øÓ)òL¬Ä +òK7!à"z¾Û¦ƒ%îÏ}Œ”jÎY•ˆ£Ú‚²›F„us:PË*²Í£WÝ×Þ ¢çs7êbvY£îCÅûu!JL>•Di"6_c´½ +4šhäWcCŠ«10iøâ’`‘MAPÅXÔ ƒh_ݶµEt-ø(– +aN¸"ÁÆ®W3 (æHóš‚b#ÀRu-2ÅÈ‘ +n€)ÆuêlÍ윳™ ‘ZbÀ‘œö6m”áñÇZrë—ÈT,Åñ¢#Äàë!‹¢×겧JJ‡'í¬êj2ÆGèòn`ž$¼ë¡“e%j6Œ¬(Å…[¾¬Õ±c=¸ÍPÒž„Ï,á šðÖ3-3 +ÐÓ†O«.T¯EgRðå°ûx²§\XW”ZW¾ì™ä”ÌìùÜÏ'Óßxû›Õ +nÞv¨Û÷K˜*?h?¼,ì
ëŽõÿÓw'@v(Sd€oε: =¿ÍÆý1”0š+pdsX +£ƒ³ ü±–¦è)Ÿ$¤ëIÁéj†[™æ w3=ýéŸN•*§Ñdú–õ€¨}\)TPÀq©_PÇHGPä&A.Šÿ’¤Æ³eÕ$e;«å{Ijúþ’ +FÄUAh_ÔçàÉE¹+¿¬´rßY¤¤‘éià‚ÍÛY„·%pà{õP£'R¯
[ $÷åä”2#5åC&G¼ÍÙê)•öÏÔS¯<•¤¸îzMJLê|°oÏôÐhÆ(tfxIµç»W¶å &¶h$óÁnÉ-t—¬ú æ J%¢ SO†RP^^[C®‡åíÏ>©b·ìsn¯`Õ +Z#¢€ùk2¡×|¯ÎRì€Gå+ +o¢ë5K +ÆèkFUá!4€[~Hb19¸6bEïÿðÇ~ë.»öCYíx`ø÷؇ýŸ}qÎ{Ôù:÷Ž‡¢xð-ß‘ ûÉÐŽêSÓÙšuÒÀ‰ÖÂâ=¨‡–BÒÛ‚øjäZ@+ÎØøÇÌáèÅ(ĪMZð +ðµp²LJæ
ðk4†h™c&† 0C¥†ŸX›a`¦c3ë=S°®ó“âK1àë+ÝVöbÔ‰¦¡á°î}ì6ÙÔ$—G¯œ¢Bê +ފ¸˜Ë¶dw
%Ñ_¦«,ˈAgG1~÷¬ŒOnÝà“³©Q4V Dóú…þ°RÈøìÜ°–cÈ9C
œ¸ä·" %‹3ŒŠ×i¢‘)Ñ¢A0º +d@<4²ÙUBÙc6œÁò”qPs]4tØ*…ÔÜV¡_‹ ¯Ü¡† +‡<KÄ¡…”¬ ‡vßDzûØK"#ç*Á_ƒšíæ BÛøèÐ(_)~v1õ.Ïë%Fl8/ÓÎ.ÃÅ1ξ5¦8ŽœzSÞìÿxéN¯ ö^¼þõ§ùë?wË_þ¾[n}Õü$¦® +‹y&¯ö{rúÌßÏå}ˆr4÷ÞßúpósµºX¬n–óóÅÃb~u>µ¸³-M‚[ áôz¹øн¸þôyu»ZÞß_¯nm?y¦ïÏVï>,GïRAWôïÎß/>.–¯üؽ4€?u)øn<t)º<?uéã`œ]µùÅ_Ë›Ï4a;4¶ó¹ô´áÓªU´èLî½ðÅ" äú7ä„£å¶ÃMr ^XÕºlV—hqÖåÎ÷~>™þƻ߬Vpò¶Cܾ_ÂPÿƒvCL*&ù¸þúŽ8)“xømœâ¤·ë‡*Wprá‰xãÞBVFʾÔ÷”¢â««@BP:àÆ”“¼zý{ÜS†l¤ß
{ŽP‚˜Ðåð<ŠðÁâý8ˆÛ¼ôOÓ£¼ô
5– êp0£ +¤¯ƒâöÕ€ªÃ+‚ò$è| ’¢÷°nI³IqŠÚ¨‚†{ì’(Äzß9|²jF|€+A«€ôŒ¼(,
Ãõ¨™cÎAµµ¢ç©Z5“GXê8ålÆ=¾È£L–ï"‘¾}_‰t%yél>:‘Ì%àù‡YPM¤ë:ÈI4ñ$ç”ÜHÅÙ“®N\íÖÂß&¡8°Ù½%Ð0ojâÁ†ËË?R;½²Têáºëž?8N›'ìŸ Ê1§Q$Íà˜]¾{Eâ!ˆŠTº}…H“Ì°Ì<•ˆlŠübÏQRìE4ÉR6Ë{…ƒ25â²óÝ'æO¾À/’fDëeŸ25Ž_Wåz&7œÒzìªH×Zu‰Z3‡s£'c;BëÕ^þ–ƒ„`IPFçÊœ’”-ËsP‘Š%/YÉB*Fµ¡ +ìÕEê€!RTrSùÈŒP’àê'Gö8ÈÀU±“Ø—‚H±K]“(›+@\Sý"[„…k+Hdô di³HoÛpÎã®ULcÂDaçÂD3ËD£Ê2ñøUS×k@fG!'X +% †£«CÞ9N#Šp¦¥ +?¡wÊBÌ5çJ¨ê +ì¤ +ň4UúAfÐ\ÈQ…TÄ +gɨåçåÿíÇ|¡÷ KϤЩl k ãÁ³
e¨z:;Gjm~»@æ:ú?¨n)nÿÆè† vÈá¦.@r´óvͪ1&é´[x>A&*ÿÂ…Qêï݇™vÐ +G†'¹ˆK'§Õ;´/¸)Ý—¨5ÛÓ®½ +÷ÁÀ¬òž ìm«ò8¬áÑ«õA*ß]#XçŒJ‡,ÐmÏh„·&HG«m€4æºõÄrÚTR§e«œé;¨¦¸ï¬šêïRa) ÿ |ž5×ÑÄ*#Tè¡éÌp&:deHuV7–¢ +Ù‚Ž8tÏ4,ÇÜš!¸¤¶Á¬«ÆKPŇ EBÓ²Ñ<µPo*U†˜æº'8è+ÛùPÿUg¹®o¸i‰nÌ6ïê‚ÏNE¯ƒÖ-IÅ
šÙ^8@z«0ã@Þé&R +¹êîö¸•2Úòqqó•Gæσg\étw©Qm]FŒ…¢Í +/Ï©yürÞøEñ8–ïR`\Ñ +z;‹ˆu”ÃDOoáJ ‹¡ôOðTèn—±ší ©¯–-lí +gÎV†¥B÷€_@r(2jçñIHwxg‰¹î ÁÁ© Ž¨˜Èu=Hü‹×o1ÉZëK¿K×gñ0(ì´ÝZBÿonôjy–^j‹ÒL4D)&Jßo}Œ«%u‰ô\Îñ¢˜sAN´I1ñºàQÜÑ +»¤€Œ‰G>cÌ%rM°åL(<8_BoLHüZÁÁ;öÇôÛhÀôzÄH]
$ºfucþˆwkç¯-ÕÒYp†q@X]5 ÈÕb¾®èiË¢ög-ת¦ßçÁ'{Wú}«%e>Wo¢§¥aJÃ+@K¬‘âê&%0(»DŸ†ÉÙhƒè‚\Ÿ|EKÁéY°yýŠ¬¡‡ +ð³ÿmüivÛ=t~þquÝC@9²2:4ätôÐíd\\•éäŸnþ•!l¦¦>ùT÷YÆðeÑHöÚqÕo¹Lw“ÖÚí±Y𕳦Eô1Œ”Èí)ô¾Ý}ÙÛAû;þ°Xà†7
Êó©C”ñ ší‡bùûQµË¶YþuükÑÓ«Ùîñ-Ûâ Ù±ù
²ªi–öl“q8Í`n hrM;dUÁ¡Yþ=í¼öv «¨ê?ìÛj,˜CK²… €.ÀV +‰³5*ì,j„Ÿ÷ÍM¶<›<Z®4+äó§a¶…Ø‰ç« osòˆU‡h˜S«é‹þ~ú +õ\º-`¡Òy_;ƒÒûàFÝ~8±=»·sà³›Q_Ý=˜õêö/lú[¶|½3æ?=ìoXÔ/C“¨þ×ß$ÈÓ, +Ž5û‚Œ¢Î2GìKFhŒÐMÒVÄúŠ¯œÕIAH—ˆgòchƒ%l`sžèïÓKýø´B"TËóœéXt1„þÍ\D]â÷Q,…æH£P^Sõ‹4xÈ ²g$¸Umöº«•DÂXÒs8‰9wñä
1*¬—¯áq’§°•“)ìÀ0:5=N:ÌqV!1„BjÀÿþÄ>úö¬R"«óÆT>µíÑÑÔI•º\¯´9Öþ¤iÀ!û¶>ÍŸ=ák}Wg>}Á—«0î»ðq)ÀÆÍ5ÌäVÀ"ø<º:á@W_~'çœ1¼EÅ¡y©mÓpn¨:£¤Ž†ðP§tÃû¨rßâLÙº3%0?«G Xo?„‚
Q'ù“ÀÉÃÕ‰%)qÊ.‡(Ý·KuU…Í>wZjº¯Áqõ…BÝG¡jpäO +H‰ÌWmO#ÉþóúËJ ÅCwõ{ö“ÙÑr‚Ý
QY^{Ž%‚¹;þ}ž§gÌÚÆ6—dÏðÔTuU×ËSUF¢SIuH:*#µdß|¬öQͪŸ«UV{ûêìoÕÞp~ý¹Q‡ÓËË‹óÛéÍ—‹™ÝÞß}Q®¯/÷•QZy¯Î~ªÞh«ƒöÃœ${¤õø(Š}g]ÒãÈ篟¡v«ÒŸ‘s²ün½àèèäH´á0˜è(39Þ.ƳÅÅu;½}PIœ.n/ÚsÕY>)Æ6óÉOÓÅ—}õ'p¼Åo¥•®}‚ñü9{¨Ê¿yúkÜ~xTÇíBí~úarúezÓ|x¸iÖN5;|31jŒ¿½Ã»“Õ‰ºÖÚ¸à•¸ÚeoÔ ’(ΙŽæþXä
8\P–o³í‰‡’Øn¿ÄÁÏ/…üÑÁ®»ù«ùsï©ehŽÛ»Å´5“ñt1'ï§7˦IºÎ.Áù'ÍôRí\߷󶹻;iç¿®‘,yù~Øž_6+ï$9Y¾_L¯šEsûøúíã=ž*•ŸUêm”]JÏ*ÝtÆð8OŽ~kf÷4aÝ5çK¹ghÃu«lò%ßî‘€ž&ÖUõ4Wž¦ÔzêY2mËÑÑgêýض¸à\!úó‹FÆýRƒÈ‚èJbùwt^¹ÚfIY
p¶d¡ØXé(LôA2Š€*‰–:ë`ÕÙD½øNÒWvH†:¦ i<â “Í*©£q&ÕÎ'ñ:£+ºÂeK]냑íÂ.×Þ-™ìkçb6µ÷.BÖ!›Lô;E]¦ÅµÆxŠ¾ê®.¢4LQj`'oú3?UB„[£ï“ ÁüSÁäà +ÔeºKt[.¼Rþ Ž1 uŠÆ|K4S@< ©ëdCÞˆgüîáÔ¼pÂSÙê`0Ê ¶mˆßTÛA¢Ç +†žÀÖâuLF ª*ÊʳÅ7L>‡t˜‡=Iáê)£ÄHHÂsô + (¹ÜÇ•«ÇWüI†<NrØ í×dJ¥;7šŽEC5C´XgKÅwYÕÉ<R"±„(Bw£Qx©äa)Vía• ]ì,çƒz6ÔŠU%? ÌŒÁ& +źºÄ©ÈйH +ÐI:¨Í²8ü½Û£ p[caP³ïŒò®oú{ot¸kÕã¢GdeZ%Ìu™~Ò±$)ÈÃ~ÉÚ”WbŸÈA¢ì:,¡Id `°ÿãÖ×wZŸƒ¶B³è¼´5{ R¬wÆ°NŒå§ð —õ-`…ܲê×Ëmi[6Öm«í«·ùlO—¾ðŸ^èõMbÍ,O½ªrÁÁ@ÔÀÝKåç‰6éVü`‘,jPBwa«QÔå9t +S£]¾_L¯šEsûøúíã5žêLtè3:Å»K©· +:AY#bf mñUpÂgNmL¦ž¶´òã
!|ã»Í‘^^¢‹…o;/79ñHÌXAU/7/õôEY÷émµÏ_íª7}ÆýOFýË‹ƒåWR÷·¿ýõóçÿ|ùÇ¿þýOçþÚ!Ð.µ†¿Ež‹ì1æñ6œjjþ€:ãÚ¤Nr+ä Êt +ºþÊëü5Yz
1K÷C:¬‡=o¡ñèƒÁ÷æ-~aNeá“€°°ûñæZïWñ¾¦n™ûö¦¤Jc–ü1F•sä2´|¦ô)täõFG¨8 ²Ý0¼UV°‚1ê\Êaê|AÖÎ5¸Û¨ç=®V- o ¿JÇÀûçêVw.ô+·•iOO¯ºŠþ +ã$W‡¢”(ÐèK>G1‡ÆçX;¥^ž¡˜#R¥ÑµMhÀÌï¾×‘„çFõŽyU5¦ŒÍ“!bhö’_‹Ú7sÜüëÎK“«×9KEpun÷hg§8‹, 02tÛÐÜÊrà:s8~¯›óÓàièÏž¯Ê†/+‚ÔôëÒ8t6r2Ö¢¢ýÌÉ«hŸ$íZýÇ0—…a Ѽ¤07vµ|¤Š×sâ+€â¾ž–ÐgQKñK-¶žÈ|Í^Za¦ÔFMÞ<÷{u:í®bo£À—]Dh‹dwC.4ê¼B9àòxØ«£èÌi‹çÄ€©4ÁÞÜMÅÐ
^qÙ…
˜Svyè
pdp÷ÓÖr«)ÍξœÃq²ðüµs`PõFä*ñØóPˆo²t†v}£8Íg-#Å2Éí¾®ö~n
žJÚgÊÍv¥2†[^®êñx–f!ø +Â+ÎAÿO°²x&»¯‰Z€âíÂT½« +ĺõ¢îå™?} +‘°ÁÚL +¥Rœåê‚‹›l-}Ó›f9Liß%b¿£wäpW?<¿”B–;)®–uÕòk—T¸µ†mbüéÍnè t¤hü
x¥ežzg“âz“nô%Â4L4€ÎS¼@ÍÚ>”~}° ¸š…
>߯†ˆS¡ÏÃ!²l:©æO÷ì}'R½Èjbø XÿïJªÿæ?¬mKýÓRU=ÈæÂ{ö•âêhŪ§‰ü\‡¢¸òåñ)îÂQƒ0¯<VXþøÝÔeÂKăéD–•…œª’EI¦Ôª¼p²þM;–qÝ÷‘è:SØy´ù´Íy¿9)ùÍÑ\UÂïµõ±4:ÏßÖ°pÕ|cÛYC!QÕ–ÕNAç×ÄÇû5 jß«uÀ £EaAÙR[PˆOy¿ÞkŒl‹ªy]QÏqF©›[ƒubêáÆy–÷,¥—8@}6þÍùXY£U¿ÿ4¼6»çh +·u3…JñçJº–Èv¤Úï=V¯Kô{â*(ô¥ÐÃ6«Öc³Ç”gL*iùd©¾cœ¦Ç¶ºñDÑ~:g¨:€Qt7Šâ7GÑ™ã¯dh” ŠÿšÜPT²‘ŸMK©u©4¹ï®éã‘‹pü;Ê®ç1ó¦\?î¢[Û^àœÆʯ=¢3lzç +]åèïò~ñ©á—£¢ôkZ&¬‹¦/ê{Ä;åidŽ}4xàspS€¿©ÕÛçDÝ®;Ì æÔhÂå
_& h@3þ½G…æâõµB˜¦]WˆS¨èá-ø›¥ß‹%ÿ¸^øbw°9ª>è•‚ÀBihéËb Lž•¶„ƒf!p ˆ¬Ðiz切«tמâß•GŒû^Ò¿epŠY’s{®´§‡¿'kß=&½“@Yr\s¥®×@Ðîœ]]×Ù%möX#ë~ò +®ÝÙô²q•þË|Ù¶Úq•aøìÿ°¿°Ë¬™õ2ë£FJE±SDŠž©&-[É¿÷ºîµSI"bÍù …æœç¬™yÖór¿|ó
M1Áñ]¦ +Kn„iw¾Uç²¼ 6K]ý{pÚéù +ùF©±‰eœ»`y"]'÷Ûý·®5ª¯5à¡Ú3ºì{4`§¢Ú
“¹—èäNóðN„ŠºŽ¤ý:H7^]úŸ“Ð~L”=pGúPÙ]âwŽtÁî{ë’’¯.MÒm~½-kûÂPœ•§ ºÓ7sD*¤g¤Èüø±!°í»ÒÆß œÛÔs¶ºtÑ
N5¼ð®÷¯Ý=mçÌfÎð:ˤmõX/:v-Ͼ„—é¼Ú»Ë¦r~8Þ¼ø'¡Á$Ý$j¯/Ýw•ñ6R òw>ß]ˆÔ§uýäÝv|òHƒ"íÉn7áfìmfÆJCÙR¥Ò+ o&XÖÞïÙè +ÄBÝPŸUAK`îê,¡Œ]Ùå9]aƆ®:¼q¿8䃀~fˆ±aàšî1Ô0U–EÅÕï¤ýFöÿy"àÞ£,”EÅA29BvØ,LU_jŽ¸Ã)ºë +Ê6z5¢Las¦Ô S€°£¼Vac•¡–¨on.XƒÜ5Ú™@hâéeˆv"QUü(Öª®Ã3È
Qȉð‚`fÆ|OgOoU¨£–BÈÇ™e$&/k(gUÿŠÞ¸!Ø÷‰Êâ?Œè‡†ƒ“Éå‹~™‡ÀÉørû 3d׶6õñD—hE'4¶hö4~z!õ®äÏü4?óÈ‘#ŒOq7<S¶õš‚¿õµh“µi¡ô¼wÍÏ!…y1ÝÉ7ä[ôCnc¡vïÙâNŽ¶Æq§NÔÑ#ô}¨÷mÕ%’-¥ª,Š7%ÆT×*T¡”(K‘ Ó’#öbhFM¨ëi|H's(#<q +¼µ.Q’>î%gÚ½*&Ë«ÿñð;SõXŠÂ:ĤÕ;§"XÔ$Òô ý\;g2Û³?•íf抄]"ÜŽœéú®né÷{ÀN>‘5cÕ²v¹owêÐÄBÃd/êÚ‹¨³'‘[9s†e›ªmSÊW‘e~i‘±ÌãÑ™öæÔòk÷‹em×¹‘èGëKêÒ£ +v§.:Œ«¿±vUûÉŠ9膢§ös¹M„SÆ-n)»X¥mnéâMãRcå4)ù9~}u~Tû¢U<ÕÆf”ñ'Þ‚špÄÛ¥`;x}OÈy«` +Èã€Àÿäkä +ŠÛvC&ÐzŸÙ[И¿šEýÀB¡úuêè¶Ë€ +›Bué*ráj#¾’-äÞð3Ú7kL +Ãô|¬¯±4vþ“è29‚W‚¨ò¡hv€g]ÿù; Æþy/AiN¨& –\ªç3‚ôy#k¼óžÈïv[¿P9ìx0¶BY6UÓ9%Zˆ€Rns€
“ÒUþl™-®ßWïyêÄ{Q•îˆû%X4O_Ò9žJc¶åÞ™Á²†O¯7€Ú½§’SBß’íù¼‘•Ho§)Dþ9%1ÚúÍA?÷½§·7wE±Š`@cì7›#YQÇ•~nlÎ'Om$Õ4†ùŸÜå™ãÆ^i¦Ûè7ÃåˆsÞjZ¼u»ØÔÙ0ã¤I·jØ++E…a¯'s5`ŠìÒÔ½ËÄ`¾(Rþàͼ±–‘ÇNñýô©·ƒN-¢QÈÍœtÅ¢»uñk¤rˆÌštj^ŸÄ¶Et°{…³=7“µ¹W㌽Þ|Ÿ7ÖÞþÞm<Ö;}nš75Nú˜¥%%:&;¬ŸŸ1ß>ï%k—_ŸŒ¶h¼´À!® +‰7$]Óô™R/Q£Š_=2“4¡F`;bŒîI,óýÏŸƒGf$ÐÇ‹6Ô-™œ ÙI½gŠj õc›4xUéL›©™¥e2ºóV¹ g\û&MqÔ”j0Yk¼ÚÓËÁžíìÄJhÌHÃÆ ¶Ù9 +âñl\@"†¼ÝÎ)}!ÛÉ> +~Å@ÙÚ8ÖÀ¼RÚ~蘔õÙõ•Ì й!¦ùWl*þðu}U»²J8¶²ª®õ"‡L‚¥—®hŽ½ÓAï1€Ó/ +§Ìí½Ì §R>0>2¤õF‘¸ž»„ŠÉd21[‰LO"•‚ÅÔØN®{а².ÏKïsåšËªX¶a×Eq¿Mý¹öƒ€§üO'PvÊ÷8^è…è0>0HªØ.¿ë@¶-£vÄ5ƒ}^£*òE®…Æá^¸µüm'“÷Ê.ç–o{ "Um`y„[×}¥|æÈΗš—.UžxèŠXh‰ud‘åÂý]º“Å@£Ý¦ê¤y¦¿çöt¥&u!!ÃÝœ]Z9oŸt4¹®Uˆ$äŸ.zSeRdI§·ê)ØicRõJc\
U<Toò¶€Þƒ‚Ë"SyAõA‚ø\á%(î–Gž/Þ{$ͶµmX¶Ï?ø?õŠå"·tʵE“çùÂÒ×’ÑŠÙÖÁ~eLÃ3 â•‚‡"¸~.å+
Ât@wQa±)ÚÔ‘ÖKéw¹Rîçʹ0´[QÄa¹çM¬ª¬ 5-b܆¢löPËE} bÂô© Y?åÉb“¨VWÞˆêõò‹}2¯l;Ì¢ëYvR‹Åi‡BÚ-G±yËpB:»h;ÊU¿x(âid‚¦Ñ«E ,×_°šëÚlA¹ápïªj[§qFxíPÜQT©ØÛ¼‰º’Úî(ÑUâçƒ=_rèDÂo– c5_ÓW ô`Ò]Š<ÿs‡K”=¤1çÎ8¡)ŒÒéXé—KéK˜‚@µµ «U‚MÍ3þõR4ßó¥d™ +µ YcM¯Ïº-€Yn+O60q\(Îðãt̽ï–ïÝs""[Nˆ«š}ø¹,wÊ*ÆlñÅt¯WTÌ´j‘´ÀÁ™^ qu¡2QÍnͩ퀆Öß[2 þ3‰Jw¨t.ûÞÍ,q'ëz“©í†êuª3lR5›³eÁìt>'§,ú]hywŽr̶ÈЖ*3ÓÐ au›ªœ+"ÏA%ÄphÀ†÷ÎM°iü%ïÊÀ«L„båɪà¡4úö‚sªË¾°^뜳Êí¨fY¸ÕÑÇ*OÛAæ™9Ë~Z«PtÈnvT
eBØ*Œ¡‹T;» a¹o7ïaü_Kä“cŒn26ü1>gÞ 5´¾B£CÇ +”†àyï%;—k~Qzì™YE°g›žÊiiBu +<BÀ’!ñM¢JÌšŒººmvË!Qª1‘F3´9å´å=ð¯Ë»ÕHÜŸdöìå†ù`| +nOÄ[KdÔ(>f)³Ô›˜ð}Ï®_nÂëÝéfÔýÍ|#cFÒ9cã½t‘
¿=?! +\ØŠ÷hZLåû^†õø¦ŠzÀ\v‹ÒGrýûJ3üÂ1é±ìó +ý¹Ñy>F(L&ø?7hÙÔNò\ @Wí¾ô deÁÖD£Ñã5ò +5Ãã&ÝQ3¹¤Îz–0úmRùêf¼IVª#Eù„ð”¹K¤Òh"Í–…ÿ%Û"ºt£
ðMÛJBh„ÿ +hT¤îù¨4.ZÀ–#Bûæ5@0M²&ÓϽwêXûµ«!ÌIËRWhk-)ì("o+Ý€«_] +³àDÓhñÎ&bnþr=,
õcîê•ÇsõõmqTˆE¨Ñó#³3Æ‹Zð»4r¡ú9 +¬ +ï)ÐQƒ‰¨¹¢$o¸qÎù‚„ÀÔSÆ<`M@Pœ0•=J9"rc£ânmòÞKFœ‚MÛjb—®¿¼cI”;vóƒ~Qó‘Ö4 +ì~ç95l£&ü.Ší#0ëûã˜4Md«(ÔXzÐ[·¼‚ëß‚„†®
Ƴ(æ +&ñw¤†ãàHog'
¤üùÿÜàíë<OpyoI5¤¦hZ#"H%bƒÃoéa~²X +tÈù= +@¬ªŽ™åñ¢®Æñ¡#=AùÆ@YЪ©þ|ê+ÕJ¥/bt8µ¥Hø”±rbBÏjö’#ÐÛ>0ŸzñÙßY®8-¾u¬Ï81á›íþ÷ +¯ô¶«lÌ$’çºx[ÆÖKA„ÞˈÝ,¢#Þs~7^öª·96ËË—àµ#:(#íìõÍ^ëqÂÚ…%HóÅ€MF½û0ØBðë†+eŸ¾Ç‹ž$"9Lr!µQª„Á:Ø/Fâý’(rDž¦¯1\5}Y¤NjÀ¿Ð¹Ó +âD.I(tu°‘¡—_]1#²¯2‰ŽÔ«ÉUª–‰‡ÈŽ '*Ö7£2O·FDª5#·ñ-#r«}tUôhåÁËjæR¾bªM%àćӂO¬‚ž+ª–ü‡ýÀt+JïKPy„š°?Ù/艽'"ϱ¯p‚ÆX,x¹¦µÓÞÚ©ôð-¥°šfFTnÍÅgVÛå¢TrY´ÎÖŠåùBî]¦WMÄ?)³sñ†-šÒ(C2ö’c¬˜*"]ÝõÆV‰Ýk%½º¸4‚(})”ÔR]¯í%ÒöîVjŸŠ¼Ulï,1RÛä¿•ŸÛ‚—á_œ/"Öd¹šÚ`øæ˜3d +³<H¹þ³ûünÅȽ¶G¡:?™¼@ ö^$¸ûUïµc: 5ÕEÏ÷ò—jCÅûêÔÓ})ä½Õè46(=;NVÜdU ¸úðw¡ÞåDžFá%¢º4ZOñþ>Êp0¨Ô¡¯cp‚'«TÓÏ~KG*Ô¡[j/~×¢éj²“û±õÞ›«¢ýBS£îx©³Õ¼Vp–Á²žÓmK¸ÜÙ"ãŠÙà6žqmrgïÞØ^I+±£õ:ímùá©ó„yP_ÓFòŸn’:0²´êèj’¨ñÑ +̃MWvG|»÷ õëœ‹× +Ydå+ €îÀú®Çb7‘øÏüìTK)ù÷ ræðÓä¤áÆ"CÕÛZ +Ÿ%j.
4À×Ààôáu9q
5pݱ‡†aÕ²°oäÛ÷jÏTøNæðŸ¯Ål_…Í<3Ùt½¹Räão·F
¾Pý–<¯.& +pz†ÓäciÚÐý, +«GHÇï@¸!¼a{º28Ñvû<OªÄ,›Ú,-fyÍÛîPÖÚAÌJÞYðè÷¦¦t¨Ì%!¿¿¶ŠÊ–B=…¨Üü*ÌžkÙñ67ò€36+*ŒÛÝxØñöy“âÎihrÑ<2-Ú^…®R1ÙaÑ´ Ò
„‰x¸+§@» ¼»‘yÝQý'»°xh6¿ŸŽ&9òÌzÚz-´¨¸>ÿ*PÚßky–k‹B_/W™–ÕÎp·Ø§NŠÝ™$(«•ûAÅÒžG<™‚ÞĆ6Zål)JØQÀᕾýŒO¿oð3oס…4d£ÝJ5ñ"Àdoû}©9Ä@TÕÎsfc®€x¤¹:$ˆ"*]$tïþ=µTmª½ëM áÇEØ´–E\@^A“9z‘+£+þ¬·ì´2ºMÏ¿ÝcSG‰ú1ØLf{CSkq + •êšE5žn6Mœ¢+\ÝL5ÅGþçÛ\y/ØŠwj©OžËDlg_º{©Ÿ¬‚YQ Ðí#ìÏâ°Â!§™!6v–‡Óç]f}R +jJµEWº¶\{? ô~ß o™æ_Ò™Ó_èn1A/¥ßpm†Éb·4˜9³fÐÞþµ¡q„ÓB¹‰:¤J’óÚWœø¢éQ”§ Ìq"åŸ `zŽ<\‡Ü +(Aí£Úc¤}wÿ¦i*é–EâN›º€½3ZFvÁ¿F©S¡"xP¹ökˆ{èúêL#i}rkŠ^ÈUÉÃÔ%R +㢵⤾NÛý™€ÅG‰wf‘5·jbiÁr;ÿýö’ϾьÕÖü¾IŠÉágI@#4(¥ïÌ*ä€ÎU^×u!áÏ—˜ »$s’”»zdà–Š{SÅ¢ñ +¸®-M„¥ŸªFBzH;1
ó‘6ìUŸ:†k›T~½ÜN°¦?ÖÙÓ ¨ŸÑeHBÔ¹FUEˆ‹ÏÕD2=.¯~,l/Ùh)¤ÅwØŸ¢ú„Û€¿†c÷x^¥ÂÜŽ[ BŽC18dÃRðFC§¸²%]ú}óx2Ñ8DP`è´ÙQQŒªyÁîŽT/,Æ~´†ˆÒôoSñ&ÓPÅØü2|a[þç«é‚ ú-B=Á°©“ž°¹äï–/‘æ@¸Ì¶JÈŒÃUiÚÜœOÀñC¨)B½
Õ"ßbÿÖÏή9ƒÁD,,öMû®ÁLªÅY}êÇx‘»JKWºX¦zëÒ<§ÏyŽ+Ñ[9Ãí¾±ŽþÕ»ðMõ°nëÌœ[ô£sºÃ<HºÉ3¹àþÑ3Öa„‰æª¼Ð9¿-‰ÙàaYo¶œF¶lìØlø¹–-üVÝøF&ÃÕUàLâV˜Ä碯.ET|*QÅíëC¼þÇêP”êïñªØ~ÇM¡àl¨QOËæsž.H£ÒCCñ%‡AŽ©-¸¢)7€ëŠ;½5]-]sÛÈÜÌSµ=Å0r!Ôxé¾-_€³»Ò9Éþë•öï-ƒ‚ûyê[†ùñS%iDf¶D¿;0ñDAXy¶¸ì'HßèÖ‘ÙsÒ†ñM¬´3é)…™õ›‚Ïñ¶|qÙ€þ~¢¹ÅÒb¢MG}*ÙöïM åÁÆøèhVHØu´Ï7b¼ï—ÐMAÏÝU`Û0,lJÿU_ê1uMð ‰~tt»¬ )Q>XU0íÙÄ,¹ñ¬óZ–¦®úH›Œ-eµÏVÎs,§ÜyÞ^&xF~«)+Ík
öÐVã-(-š ªÎîÌóAd9÷ïx´éÀT'¹Ü>íâ +6%ô›Ð®=jšN2›ºòFÅ×ÝØá 0”#b†#ü¯±þxfÜXÐâÄ“·Gš]ý™§ÆÇ<ZåžÈ“ê".¥]h¤Ãg¡—ç8ª?®@æ_'ï (]ãTŸîWÄ€ë=š×[¬P–bàÞxÅ’ÍÀ„ÖZü£²›',ÿ +íþ +1»œžf[{´Ÿ\ +ñÓÞ6ÄL¯=ê'¹·¨ÌÕ¨ÂuÍ’Þ¢ªrÛ§×S>§æ(µ¢j_Jšà}«úcq¦ëׂP/~²øã8->yÖ +RÐM‘Y‹§ƒèÔ1Œ¶‡BLj¬<4‡:Ái÷ÍnX2õ`ÞŠ·«WD
áVò¡de —ž +!·¼o$áU–²YH¢ÏËâN.ªÖ8²9vz/–§ÄRö_Aü.< XA´«áªF@JkÏ›ªs-’%ª0è?Jß)Iõj:!T•"ð„k›Ù¹ÙôI’ľK´N”Ø‘aòõuÝ&•äÞ“ûÏb‡ÕK7,Éð3G]†s¹ÿ²Õš¢Á
-ªMɶ”éTÐKú +NZ9y‹¶ |:Uq46+¢@µ»y½ÄÒ÷ךàQà‡Â®I»ÿã‹æzÔs¨ÈDH‡„Ë •Ñš¥H‹¿#lkÌçnê#´&($.)áš¿ÃTpbUüýŽ×™ö=ÃI„ú2)0€r*OuB™§3šî?“¥Ã#Åð˜Ì„ö¡ªSé2±¸4ß›ñ>ÎýWŒC~w7Y¶²sÅX
šnB"“VVEk½RÌKioÇû¨Dnø{ŠÝÌP/À£*pDôN‰ðtME}óI¹ýÝÏšº‹¹óEyï°BŸBÁ(?8Ó
ÐÓÓß3·-*åzA_a¬ÂW[7.çÓQtæ‚»¶Ô ÄØÍØWÎBCq›œ©âÿÑÖQ¬ïe3ŸÑíÔI»ì¨èÿÏ;Tmg“Þþ¾2€yñL»J³A„2¥Ÿp:5Œ¼›§íŽØÞ÷NËì†6˜~[:dhšÉK÷žx»ê÷Þç|ÓH)ilJ ú®¡XˆÅ[q$IáŽÒÿZ’fë×õMÎ¥9Wcpì¢óoÐèLy,n +‰´ YÁˆHÕ¹ÉAkVL +ØrçÕ9Ç-€„3„ávò9¥Õq¹¥þ'È}˜¼Ø"Jq¥gšyUv.NgJïbeUL,°óæܽþˆ‹ÑgÈ-2UaÞý&ÊFæj=íM‡®ûÍÿ…Ônôo@&LÀÅ Ôï V¦MïЗe¿œÐ1£´²ðpÞú›õ…uB˜¬êšIÛ·¦¥uI‚%mÌ»
:fÛ÷ûÜ}Ñ1W +c]¯,¡EùOý?™?Ò+ˆ¦“1^ÔÆ%`Ž¼òçÛ—)éñ„œÆWØÓ4#:€A?µîÁë? ²œl)ND3€CI`©é
°ošKaNIú
GÑ-×lN%#ù£y™¯C•}gÉ×
‚ü“ +ÌR/Öd*¢¬ÀÚ‘?3-+0ͳ¾'Ew +ªU òþÐ6\ë""ÓýµE +‘ï-QQ 6-X+Ã/;Uj^>3¡¨EL‹øŠfÖ•qiÌ°w‘ £Uë{üOÌü±ïácfŸ®!µÉÊ·qa*Üeö+oU5/k‚µ¬Ö#7z
yîÜÌú}ÔШÞG>ÚÊ‚á.i{ã1ç¹M?wÖ +(¨àFbŒÒ; öž+
ù¼_è·Ïˆ‹ª5â›
W»Ìè´ªhØ_{(üýFG2É‹—ö“ºnú‹øóžÓ +þÌG}£áXÓLLÿdøý +pgx¤×yS¶oŒ.*9¨UÁy\±z÷eŠ—!E×£Ñ*˜ß«}Æfdµa°/t«†ŒÌ¾‡]LÌ©<ëH +†¹M?£X]bÚh¢½ðßõ€ßk½Áèå©÷´·AlEÐ[ÊJ{'´ƒWdât¹NO=¤yƒÈT€~6½öû¥!%/‹ßJc·àÄ”h Ì~;±Ÿ'„iü(˜c–öVhÈžù‹žËè´äy£][¬áß1‰Ýið¦ zã9óŽ;TÓ"(Eíj]YjwÅê¸Ðψ¼óDš‚úÀ‘\.ÑŽzNêç?ï1|žk¶Ž:굋¦$D" +|(Âöç +~þà³)É 7ÇÅS%þŠ“í·QøõU¶ÛVrD¿€ÿp_HA8êåö–y"µÊØC¶A@PäµÌ„º( +¶þ>çÔÝ)ÚccdbA»XÝ]]Ë©S$±|à@¶Œ<Ì Ç<
;Æ)Í>Œ|%Ç΀`%¢ã±èÙ <ÛB">1*A'Bm„!È°2:Ö8§F£e°!s`§‡ÌTµå2fj%ƒ¦Å\ó–9 +5öšCüø®’9f%zÓS”DzßÖ¶ò7¶/‚UÒ£¼erxP…WŽõcì~?JÙÑqvý÷‘ÎÎdvË#¬`åóæ;Á—š¢*!1½IÇ…€“å?*Cd¤ +£€-V^²wîâÇXv6å2lâF{
2‡Ø¦ 4øA`‰¤ŠØ" pXI&ä‚Lè6ŠôJ3bœk8@úx¤!C +›ÊZrôr[e6Ùn7ŸŽGøQ(Y•ýŠ_-V¨ìú ‹¿âÿ!ú”åÙëìŸÿRÙÒë+ +d¢g;@V±¶Ñd'$Y¯»µÑ²Æ‹•ÎåeͯSòÍ×ͲÞ=8¼·y\«÷ö×Ó`ÐÑû²œßËìv;_® +„(˜cyZ®ßÙü?½eåqPåÍ_!¨ýMÓyð @esŸ]ß8$0ìæï¡ IZö$àÓ…`E@!¶¿éÆé7ݨÑÊ¢FNE¡Åâ½é™àŠ] ÿðÑTµÓk“?&*c^@'$J»·(€.F4¾~°ÙâÑ8
c®ÉšÀ–('ûõš
~ó
8 +n¡q@gx½vÞ‹Ù£`Ãÿç[8ò}åCõs=‘M½êân4•O½ÆbLÎ(>Lj@B’O/’WÍu‘¼†;ÎW”Š½QãIâÿ}[ + +ï=étMŸ{×hª±Íª…±Æ@¿ÿ½õXZð V—%É~rÝ÷y=5k\å½-`Ìà/±Ó +D8>ÀL±o Ð!ÔPT–˜NEW%×`| -îí‘J
šŠ€§²º·«ŽÊ`-a‰ò±‰k×ÛÌos¸Ö¼Ñmj¨HŒ7¡¯Që>°—½¿›²Mõôžڋ '§§S{žŸ]Xs>¤l“ÿ5e#årñ‹”íýáÀQ0$ùãîšét²X<Þ]mvsªîÐ_¼àÿ‘ó”‡ròëßJ¡Ö“yå»oÖOµ¯›P_–»y¹(fgóÝ|vy6{=¿¯TöMB›MýN®Šù:;ºÚ<–˲xx¸*—•>[´yóý¤¼]½ï‚ŒÕßæwŮض_ÿܾãù¥Šíó+—&ô†/]š€ž_»tß“Ë4;ÿ\,iÂÐ5µ›¿+—5ÎÝ.PHÙËmQ”_+<ñ²ÜAÿR[Tì,Ï?ßo¶»wO÷EýœìdŠXuÊùͺxù¸Z•–~~ÐUq»zØmźî8±°A¬PW³órùöéîf³–u>›bcYKŽp +Üø·b±Ûl³7óŲé¼,‹íY/»IŠ# +?A¿CÝ ±È½›ÿ?ö4a/²ÆƲ,4ÌŽÐØ»³h™ÅÌÛû;‘UÙ5Ó¾ðHh»b2«2#NœsâÙêàýòÃÿcͽ¬yÃV—ÖM2®ÿ".U‹dëÒP¾ Ž%Þˆ7TÊáÃ1IØñ†®´ q’ÃýÅ%VRîð9Dn’~d©4]‹^àHjÚ¤Ê&ÿØoþÏç +œ“ÔÝ7ͬ_#îÏ ÿü\Rêî9™¯:ï@@SC0æy¯(Í;*.'ì÷È$(û@s±î(«¬¡]Åo¡NlwSÀìäv}¤¬MdÈE:c#BYÿÕ‡’Ãàä’¹Éq|V +€]Ú7t +¡i´ÒȆWÀ‡’!>ëû +|ZD)lMàƒ&!çÄçðy
~5,Y8~XJ.Èc‚L3íëòà;Íe“ªm‘··o/#`ÓéHÏÚiTšÏ#1û
^Ÿç†rôñI£×Z£’˜WRâÝE·;6.•LLŠæÛF-JW›bc“´ã4JëÅaýþ >訒ʑƒc•“Aɪ +npªxøt˜,›Ç¨e4L¡$ó +Ë j›(vc‰q9Ø‚ÿÓ²‘=R"Ÿ›á1þlš¡>6g×&ÕÒI¥™Òƒ$6CÌT'Žžô<¬¬~úš§K´®Ìö~r›—©#±uôµ“ ¼QÀÚõXÖò ž]’ºõ¾YfoÎ6ÁBì—`ãCÓ¨Æ<^Î#Ø”ºù3Ãøêˆø›…L»Uc/z'`–N§LøcÄa¬Ê£5d^ª·{NÙs¹Q¶ ÙÅÝ&j2\ó.!ÊòhIi
.ûuŸÝ@¥ëóó’Š0ÓÆ™€ˆpÍÕQŒ-Ò˜ÙŒ`å]Æ%ÔríƒÆ¬* +9g,2ê&U>×Êšä?¶¬ÔÑÿó£®ùHfk.»åþ¹«y.§|m{„ÍMÐçriñàî«*ð-OPvz +»—¿–vÙ ²Oìl¢=C‘š|d̤3@3ÛöÕM"7QÍišÎ¿¡ºJ¨¶ˆ£ÌújB(e_}Ôbë;¹EËœ`W}z§‡‹ël‚”9üÉ`Ã`BM^ÇD©Å}°Úùm}¼~wÏȱ4pLDjBÃþžÏ
%úVó»lp¤§@¦%h^VöÈ]rÖ#¦á9w±XœÜíŒÀ¯©•ø(ã`˜£%‹ + êý>]Œ7]/}”.=àzRºÔ¶M’5í"ßoÒ`NUd€m2ã:p‹¿_&ïåᨛØÜB—¸ ÄȈ²¢*š¹·BO¯õò@B»Þ»xÛy¹ÚñÈX‚.Ò‡eXìáÜp£=D´ÖÉ…³=iˆ3c)½A„QÖX6—‚ëDþÄYf\广H.yGtz¹HƉ„þ—õ²Wr‚ðøÅîìxçÔOà€D¸*Þž¯g)|%™Õ%º‘¼?=3=ÝôIl’±ñÝòá
ñõËòôòò|½þ¼}üöÛëMùsÙR}$0Æ©_͆ª‹°Š•Ñë='<4
=”0|"$9«<•ñpj䀡‡êG¯tÝ·5›;+
ôqí¤Ü%ž +ØUɾŽv€í1Ý¡¾ÏÌ1(þ;7Ä<X:Aôcò~Ƚqc1TÜ‚Úˆµ[u¤%äÅ$(Öœáƒð³éV +H‰ÜWénÛH~¾Cÿ1`Õ÷1ùe;“ ;NÈIÖƒÁÂ`$&Ñ„–‰NÆo¿_5%[bÓ‡<Êbw¡d±ªºê«£«ªÌå<)˜Ë½°Z°**WV;&r¯µ |Îö.ú‡óúÅxX§“b~Í~i¿ÇÁ"¥¬VÏÇ“/lÿèèp8¼ºLë‚xØ3p>ÇßìCØþ;ÿgv•q6ÈxçB²WxŒÇßùuÖ<×&fs'Dì$—ሤ‚Õžõ$ÏU‚ÁØ bß³ž”¹•>0re¬f=-óàŒ`ÊåÒ;Á Zªœ[ĵuÐ#l$伈zp<˜AàÁ:Öƒ°sJ3ar%<ÔBBjâ +Ê@ê ™;åS6—ÁX rî”d3¥s0A¬’ö+ñžÔ9r: +º<H½lãÐUÍívDŽ3¤47¨Qâ0ïÎ+J^…c`½å!êÔTß±Mô¤YFÚÀ%Ÿ¾¬ÜpWis™i(àÊÅ£´º(V£¸Š`z.<|%¢¼#À«…Ž¤ˆ.Ò¢Þà›°\vÅ1‰uš
‰Û)2 v)¾»Áê¶K¢F¹á°\äšébä„ì@ +: +¸VHùNô¢0Ó駎éá~x¾ï€ô„ˆéŒb:åG¯Ús>¬I&ý½‹ÇÌúàÚ~ÚÇqO™÷¨ÿ~QS¨œ±Œ=”ÐÔ`,9Ä©©X{+<8Žƒâƒ—.
=emˆPl¿8@ì)«C4rÛåBOX õ„bw!Žeˆjzš»A48O¡Ô˜¿è‹ÖFáÉ,£›. {OZA][/!±ö¶^C õ”Edw˜Óex{ƒPÇR2‚‹UB‡æ²Àëà=uC´tÇ©ÔpøûŽ5¦éxE†ˆé*C×A²Ì€Ø±Î ¢éBÓq~µC€:Ö-Yl½Éját¹c²ÞDZ{Áé8z—~Å5çïÕ\Ç’‰Û¯Iäk²(5ÄmW%¤sº,ñ ëàI¦HÜzeê@ëd—·c͵yæ·淜ûpÉõÑ/Ù½âõàöøÁý+ft{‹sÌ;Ø.qBhÖîXÌbÙ&«Ÿ,g±Mµ×³êdAë8j§åœ¬i %‹5ÐöªóysYÛ»H×µôˆ]šÇNÖ?sòáõöÛL‡ßÊúB]°çq=âàÇÇFÏÿêö&À<™N˜5âÿz9ûu2:»¾ü4èÝÐëÅÛéäÒ£†t¯×`ÏdýCövF_|óå]u…O?ýYëlÿp4ýT²£ùÕâ+{SLŠ/åœÎGåüàþo¬ùx\TÕø˼˜}—œïbŸI6«svú½ÀsÊzÀzP±Îoîåï`*^VEý ¿ŠüƒéÕd´ÉUt¸»RÞÆaR äàéAþº¡úøk1NoWTÑÁú¾˜•órÄPþÓoå½j+^VÓyQ±³Ùû2Ë:Ô úp>Ÿþh¨QÅÃR¯¦5Ày“QHÁ|Úq^Þ;òorz¥ÐΛ¿ñmY÷Yû¤Ão“;-ég™Ó7ÇŠŸr¬j¹ŒÕæÆáµßÎÏm ¦Z‹ÇÖ âŸŸ{è
Æt¨ˆö0ȪdñÎu-q¯oò.+ «ÞaתÄd쳓Iq‰‚nxÀÎtŸ~„TŸ5sk.WÙùdèî°h½ûÜi•ÝfÝ%vkÔfm™%ùÆüÇ‚|W¿…ÁMýPc:©®Mí=~²Ã( lwŽæQLôÆz«âš + þX$žæXûþ¹ËCÕé`JŒv~©Yevº …!¢ŠµwÎ×Jè-ñØ:3Bó9|V_Wå"ëÿ6™þ˜ÄL¯qÀÅð`2ìb²ý^®¾ö§—3êV/Ç°&~4‡ñ„5
õ C—,Ï05÷?Žc̶¤0ÕpVÃo[h8*ãášÓÉèj\?FôyÆúïŠyÝmǶž´ì¸¿×ÇXÞ¡i¿ŠÜÄœãBЄ"å2û©r°½×Q‹Œê«ÓyÓÈÂõ½!Öƒr8ÅL=¢
Û2²0nQ"#ai‚v&¶§-æbÎ¥Ó Ÿf7ÙÉίñò<üIÊiØ|}Ãþøg#|<dÄ|>‚Iåg¬„Û_;žVõ{Ÿõ?LÆÃé¨\-£/Æ‹YU\7¯ÄÝ… +@vÍuÁ‡‚Ð_/ZM— >ËÂrq¢
ïKc_m_DxQÎÊÉhq:¡/fÅûbŒÈÄD‰ì
1^ç“r±H”JX‰rz?ÝXiùXÌÇq±[¼Ñ¶aAzX§ðJs·l´iCî9‹9ÃÖ¥•æG4mQ%÷æ`Tv›‚¸|šTÙ¤7³é6n5Üaÿ=®,åѾüwTXàÁK¹}…uÅö'5ÁÓÏŸeMß×û_Ãþºª®õ¿Ù¯¶æV‘3øôôx\‰¹_òæã8[.?ȵÞÍ;‹`@%†Øù÷™(«Xb±wÀ +QåÂÌ…a¾îžîC¨ŠÃ:ÜŸ—¾“)š×ºÿ¤Áù.KwfV_„Êæq‘”êÊ•Õ’å9WûŽ$˜”Ö_¼q×e$R…×z4k}Z¯“ášÈ>µÞ»´ÂyÚ=ê»ÆèòÛ¯e|ûï8ßl·éæÿ#éæ<ïÎl‘é§ ÷ý7ÖoMøМئ±FDÒ-•ƒ:q‚ãßï¿ëÁß¿ÿa“kø!0ÂgˆFÚmüXÆWØ”Pþ¢xÐC¡Áí[Uf ¶ÁŽ]÷yñš×/Ön/×XhŠµ;®#s¶7=<(ÉûU½|^‹nŠ|[¥ªËÐÁ¸2ÆŒqjCŒ˜„¡`F}ÒÈ–pá"†˜ãã0'OÜ8ÓÙ8÷¢‚sbÀ¯¦MçoñÁ7H¡á›=¨Ö€ +M'ã9#:†qBÛ’©R ôq‚+mOŠ¸I’2VˇP=µ« ë~—eU©¡*ëp^O¦< +`ëö“æ»,Ý™Xix*›ÇERª+WUË•ç\í;r` +Âô[^ºq×e$R…—z4K}Oá†È>¥Þ»´6 âVºâÀC>#|†È ¡ã…í¶~ãh+ìU¾(ôPèEpûG•Y‚m°cÁ}^¼æõ‹µÛËu+P{ŠÚב9Û›”äý*Œ^>¯E7E¾RÕeè +’&³11ÈRIø0d2ëK©>ÖsD©1Ñ„6.Ûg€9!xâö™Îö¹1ÔО{5{:‹ÚA&¡£B2Œ—6˜2Æ,9ÓìbúaM8lš8¡maU)ú8ÛÎÕ¹'•Ü$I«åC¨žÚ•Ñu¿Ë²ªT‡P‡u¸?¯'SE±µ¤Áü.KwfVkD+Yý¸HJuåJl‰óœ«}GBLá0 + =ÔyܾÅQe–`ìØEpŸ¯yýbmörÝŠÑ–¢6gÁudŽö¦‡!y?ã +£—ÏKÑM‘o«Tu:@ ·SæL +‡ +3·PB=Ô÷‹Cu^·oqT™%Ø;vÜçÅk^¿X{½\·b¡w0¨½Yp™“½éáAHÞÏð¨ÂèåóRtSäÛ*U]†Æl”–`ÄLJ#˜sƒ$EÌÈD«§IrØül P‹k˜‚'îšéìš{A}މϻš5¿ÅÝ„dL–) 6R¸¥€¶ aˆ9¶û°lã›R ôq¾«tOú¸I’2VˇP=µk¢ë~—eU©¡*ëp^O¦<Êak5Hƒú]–î̬ôî*›ÇERª+WdKç\í;RbüÇ€Á +½nßâ¨2K°
vì"¸Ï‹×¼~±v{¹nÕNG{ŠÚב9Û›”äý*Œ^þÒQ͆K:ÜP +òÓæ·çŸõT_žü³í¯wSŽ
=4oÜöým!OSn{ï´ëqþï5Ãʽ´éûT×ÄBÄvw6€Êã²|7Éϱ^¥&Ò/ÅÉ€f–…‡44¥úãÀãl'+xÿ²³ƒ›™Ïµk:÷å'žt_aN„`Œ2CÎ +®Qó¬HJuåªj¹òœ«}GLAäþý—ýjÛ"I¢_àèeÅÊ~ ÉûE»¬ä60X\¦eϲ „¬Â]Ø5ÓTµªË3;<ì·oDdf]ºÛØ`Äâ¶uÉ:qâD„Dª{þ~`™·22}„ò7)ó×®i_}$úùÒ³+®ƒ„›¼Ûbqý䈻ý¯²NÌF³"’Hov°°@}áX¤ÔÞáˆ!ÆV0gâ~q×±rNr1šœ +q ù®¨s#åG§Î&¾F|ÑÜ+ÔéÇÞ[Œ±Ú›ï‰1É·½æ§ãÍw"ʶšÓÃÝY¶€›£Åüì¤(öæõ“ÚëmïΪwùh>?[6uÖTõ8[, ¡› +æråÃ-™•\“iáô©w=ÖÁ¹-Äd~–¯¹Ó:éÉ*f„Z󪲈ÑA<ÏN`BÍ" +WÖ ?ŠÑÐRÁÙ1¸LzAŸsƽ‰AyÀõèùœz_?ðlô.׌7[MÁŽùa€¹†b€' 0=B:
ëˆÌifWØ2)^h(7=(GÖm„2ŠK±J¼±rB!XC#žsˆÒ|‚†çbµ4âB+ßC”z퀚q+œ¶Œè8ô&Gx9Õrû†¡
Bx`V<ž,xIchŸm‘‹PÃÓ)1aìÂ,&ºÕhž6\Dã6C:H<J&Ó Ñ¨˜4JåÖ$jX½Ê2&-†ãˆ€öÚ@Y-ñ‡¯#Œ´mqZÚzJ…1 mÎ4J{O@2ÊDBÁ<…³%™l¹L+¹Ú{#Ì…žSO„]=§ÕAj™ bä:
1œæg‘!$¾$kã‰Y:±ê#ZÐLm0&Gçæ”è¸m$H¤q?^Š•VÒ‡îU–Vy”“~X(Õ:ÄÈzdfHfµW®Ó
”-¤ d_ži Ú¨{ˆäná9 +Ì84WC‘éÔ¥W0žb tžké)b6H0PßòmHï¢qcL]í)wHB£ìቫ>0x×hò9(KH*Õ'0ŽYjAtŠ° +ZLÚš¬t:|"
ì.|Àƒöí‚”–†#±€¡;BÑ®FÛnÕma2¬OG
•×„vÑêN´€ƒÒ=µf¨Nvð¾—5zÃ4†_µ~†"@6“ÅÜB†¨Pu
ù§-š +Ä·çfÕwñS<8rŠ’Öžp!®Š +žA;ñB%1½îõ7:Ã+t©Ôž2%É.àš&h)¤d½„DT`½ªï²u†øÔ-h'(Óè” ?+å©‘ +Å«5¶íŽ{Ü0:n™ !åCÀ’LÏ}0¶ +r%c +¥=l äî.V*Lömûk5yBbER“=2ÔÔ¥mçädÖu]µgÔP‚f;:I½Á©çl Ù§>¬mSÜ…æJ9¯¨cP†õà +¾¦'ÉZÕêj¨‹ë°¦…B‘)ÅŸPÀm–¤Çi}_Ku;±†ã¶Š¤tµT*4TùP[ —ƒ¨ì¦ÁG§Y#¶¹ë¸mµ‚ø0ªmBsœª¼ƒÑ¥m¿c#ŠXv7àÊ® +**u†³ØŽ³ÐOµ°0y„êg“ݶßôaE‚åÌ1jƒ˜Å&ƒ.`²}\—Ìu©Gu瑬ëÙ´aTô¨6̧0—øÒ89öiTòØXoÂÕ)¡'uqrÚt)Ýy…ÓIoƒÐȱ~ÁîzÂá(×;*̇rÒb0R!Òë Àó"hÂý*†‹àÀ’4¾µ³–¡òu`ÃЀ['ãD™¤C„zóXÙ›`0ßhÈ +Y( ”ÂEwVSŸ}ؾtÙ¯Ÿ|oIú¶–¶Ë‡p–dûÑ#Y’P‹Ö$óšãR7sk‰ca]+ø1Â9äÒýlS[×7ô1Õ¹âl¨Bc±“Q›¢¶¿B6ŹÄı˶o;Rö
äÜiEí0ˆL²DNÝ‘zHq%Û¹°F¼¯Óyx¯[ªfë4ÖÒóÁcL®}÷N܇êý`ûV= +Õ)!|GWžFº#ÎÎ×RÒOA¨¸ ðEÆøU‰Po#xØ“Šè‘Nò”†8h}¼ +ë5ë+‘8¡˜õ½kÙÃ)’;Aœ·ÙÉz,hM"›iWŠºµ({}KRØRtD žÑÍÏÄa)ûRI-M)9aAtÆ¢œ&²)XšÄo¼u$ùÆ2ð³†i.Á#nLJ¸‰ÈÇ8w sl€wùí`\¬Áp–øìi6ú¡ÑYd"¢bUí
)PrlÆ—^QºÝªJÐGïøîW÷°]l+~mÎÅiQ;ÛÜæ/¨€~¥.Ö€6µ;kè/¿'šf×ûGÿJ¥"u‡†)#âÜ¡½ãÊKñçoY%K!¹Á*ÔŸ+‚jÿsë¬"'ø¤ìÕ +Œ=Ù¾cºÚäE!·Ø)H±IÌÊðàݳÅÉÕÞä‰3t“‚†§Ú¶~¦$ý[•ïOû'}çûøV[>SøÿÑûÞ£ÞïW±Ä}ÿÉH¾§‡Þ_íýÔ½é+g±w/ÉÓéëV²—Ëþ…4“èç*û¦ã‹¿Âò† ü¯ÔÎoÞp7~åg`¥H©Å +0000000016 00000 n
+0000000187 00000 n
+0000060718 00000 n
+0000000006 00000 f
+0000215255 00000 n
+0000000007 00000 f
+0000000008 00000 f
+0000000009 00000 f
+0000000010 00000 f
+0000000011 00000 f
+0000000012 00000 f
+0000000013 00000 f
+0000000016 00000 f
+0000215699 00000 n
+0000215730 00000 n
+0000000017 00000 f
+0000000018 00000 f
+0000000019 00000 f
+0000000020 00000 f
+0000000021 00000 f
+0000000022 00000 f
+0000000023 00000 f
+0000000024 00000 f
+0000000025 00000 f
+0000000026 00000 f
+0000000027 00000 f
+0000000028 00000 f
+0000000029 00000 f
+0000000031 00000 f
+0000215325 00000 n
+0000000032 00000 f
+0000000033 00000 f
+0000000034 00000 f
+0000000035 00000 f
+0000000036 00000 f
+0000000037 00000 f
+0000000038 00000 f
+0000000041 00000 f
+0000215583 00000 n
+0000215614 00000 n
+0000000042 00000 f
+0000000043 00000 f
+0000000044 00000 f
+0000000045 00000 f
+0000000046 00000 f
+0000000047 00000 f
+0000000048 00000 f
+0000000049 00000 f
+0000000050 00000 f
+0000000051 00000 f
+0000000052 00000 f
+0000000053 00000 f
+0000000054 00000 f
+0000000057 00000 f
+0000215396 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000215467 00000 n
+0000215498 00000 n
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000000000 00000 f
+0000062030 00000 n
+0000215815 00000 n
+0000060770 00000 n
+0000061097 00000 n
+0000062330 00000 n
+0000062217 00000 n
+0000061310 00000 n
+0000061469 00000 n
+0000061517 00000 n
+0000062101 00000 n
+0000062132 00000 n
+0000062404 00000 n
+0000062794 00000 n
+0000063780 00000 n
+0000077625 00000 n
+0000093225 00000 n
+0000101636 00000 n
+0000115717 00000 n
+0000131428 00000 n
+0000149999 00000 n
+0000163949 00000 n
+0000167795 00000 n
+0000180072 00000 n
+0000206470 00000 n
+0000215840 00000 n
+trailer
<</Size 105/Root 1 0 R/Info 104 0 R/ID[<B16A6623BC4E4640B5DB4EC0C35942AE><52D0B82F5CDB400E81BB6B29BFB7EA0D>]>>
startxref
216019
%%EOF
\ No newline at end of file diff --git a/chrome/app/theme/starred.png b/chrome/app/theme/starred.png Binary files differnew file mode 100644 index 0000000..bf0ba85 --- /dev/null +++ b/chrome/app/theme/starred.png diff --git a/chrome/app/theme/starred_h.png b/chrome/app/theme/starred_h.png Binary files differnew file mode 100644 index 0000000..aa0016a --- /dev/null +++ b/chrome/app/theme/starred_h.png diff --git a/chrome/app/theme/starred_noborder.png b/chrome/app/theme/starred_noborder.png Binary files differnew file mode 100644 index 0000000..93b5463 --- /dev/null +++ b/chrome/app/theme/starred_noborder.png diff --git a/chrome/app/theme/starred_noborder_center.png b/chrome/app/theme/starred_noborder_center.png Binary files differnew file mode 100644 index 0000000..5113f95 --- /dev/null +++ b/chrome/app/theme/starred_noborder_center.png diff --git a/chrome/app/theme/starred_p.png b/chrome/app/theme/starred_p.png Binary files differnew file mode 100644 index 0000000..91a7c8e --- /dev/null +++ b/chrome/app/theme/starred_p.png diff --git a/chrome/app/theme/tab_active_nano_center.png b/chrome/app/theme/tab_active_nano_center.png Binary files differdeleted file mode 100644 index e625593..0000000 --- a/chrome/app/theme/tab_active_nano_center.png +++ /dev/null diff --git a/chrome/app/theme/tab_active_nano_left.png b/chrome/app/theme/tab_active_nano_left.png Binary files differdeleted file mode 100644 index 5512d60..0000000 --- a/chrome/app/theme/tab_active_nano_left.png +++ /dev/null diff --git a/chrome/app/theme/tab_active_nano_right.png b/chrome/app/theme/tab_active_nano_right.png Binary files differdeleted file mode 100644 index ac970e1..0000000 --- a/chrome/app/theme/tab_active_nano_right.png +++ /dev/null diff --git a/chrome/app/theme/tab_alpha_nano_left.png b/chrome/app/theme/tab_alpha_nano_left.png Binary files differdeleted file mode 100644 index 2c294a4..0000000 --- a/chrome/app/theme/tab_alpha_nano_left.png +++ /dev/null diff --git a/chrome/app/theme/tab_alpha_nano_right.png b/chrome/app/theme/tab_alpha_nano_right.png Binary files differdeleted file mode 100644 index b068a30..0000000 --- a/chrome/app/theme/tab_alpha_nano_right.png +++ /dev/null diff --git a/chrome/app/theme/tab_alpha_new_tab.png b/chrome/app/theme/tab_alpha_new_tab.png Binary files differdeleted file mode 100755 index 6d77135..0000000 --- a/chrome/app/theme/tab_alpha_new_tab.png +++ /dev/null diff --git a/chrome/app/theme/tab_new_tab_shadow.png b/chrome/app/theme/tab_new_tab_shadow.png Binary files differdeleted file mode 100755 index 989d591..0000000 --- a/chrome/app/theme/tab_new_tab_shadow.png +++ /dev/null diff --git a/chrome/app/theme/theme_frame_default.png b/chrome/app/theme/theme_frame_default.png Binary files differindex ca9bcb2..3f4f7e9 100644 --- a/chrome/app/theme/theme_frame_default.png +++ b/chrome/app/theme/theme_frame_default.png diff --git a/chrome/app/theme/theme_frame_default_inactive.png b/chrome/app/theme/theme_frame_default_inactive.png Binary files differindex 348e2ce..a1eff41 100644 --- a/chrome/app/theme/theme_frame_default_inactive.png +++ b/chrome/app/theme/theme_frame_default_inactive.png diff --git a/chrome/app/theme/theme_resources.grd b/chrome/app/theme/theme_resources.grd index 6ae7e8d..31c499a 100644 --- a/chrome/app/theme/theme_resources.grd +++ b/chrome/app/theme/theme_resources.grd @@ -23,9 +23,7 @@ <include name="IDR_CONTENT_STAR_ON" file="content_star_on.png" type="BINDATA" /> <include name="IDR_CONTENT_TOP_CENTER" file="content_top_center.png" type="BINDATA" /> <include name="IDR_CONTENT_TOP_LEFT_CORNER" file="content_top_left_corner.png" type="BINDATA" /> - <include name="IDR_CONTENT_TOP_LEFT_CORNER_MASK" file="content_top_left_corner_mask.png" type="BINDATA" /> <include name="IDR_CONTENT_TOP_RIGHT_CORNER" file="content_top_right_corner.png" type="BINDATA" /> - <include name="IDR_CONTENT_TOP_RIGHT_CORNER_MASK" file="content_top_right_corner_mask.png" type="BINDATA" /> <include name="IDR_DROP" file="drop.png" type="BINDATA" /> <include name="IDR_DROP_H" file="drop_h.png" type="BINDATA" /> <include name="IDR_DROP_P" file="drop_p.png" type="BINDATA" /> @@ -44,44 +42,25 @@ <include name="IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_C" file="location_bar_keyword_search_c.png" type="BINDATA" /> <include name="IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_L" file="location_bar_keyword_search_l.png" type="BINDATA" /> <include name="IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_R" file="location_bar_keyword_search_r.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_C" file="omnibox_ev_bubble_background_c.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_L" file="omnibox_ev_bubble_background_l.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_R" file="omnibox_ev_bubble_background_r.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HISTORY" file="omnibox_history.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HISTORY_DARK" file="omnibox_history_dark.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HISTORY_TRANSPARENT" file="omnibox_history_transparent.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HISTORY_DARK_TRANSPARENT" file="omnibox_history_dark_transparent.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HISTORY_SELECTED" file="omnibox_history_selected.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTP" file="omnibox_http.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTP_DARK" file="omnibox_http_dark.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTP_TRANSPARENT" file="omnibox_http_transparent.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTP_DARK_TRANSPARENT" file="omnibox_http_dark_transparent.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTP_SELECTED" file="omnibox_http_selected.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTPS_INVALID" file="omnibox_https_invalid.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTPS_VALID" file="omnibox_https_valid.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_HTTPS_WARNING" file="omnibox_https_warning.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_MORE" file="omnibox_more.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_MORE_DARK" file="omnibox_more_dark.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_MORE_SELECTED" file="omnibox_more_selected.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_SEARCH" file="omnibox_search.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_SEARCH_DARK" file="omnibox_search_dark.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_SEARCH_SELECTED" file="omnibox_search_selected.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_STAR" file="omnibox_star.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_STAR_LIT" file="omnibox_star_lit.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_STAR_DARK" file="omnibox_star_dark.png" type="BINDATA" /> - <include name="IDR_OMNIBOX_STAR_SELECTED" file="omnibox_star_selected.png" type="BINDATA" /> <include name="IDR_PLUGIN" file="plugin.png" type="BINDATA" /> <include name="IDR_RELOAD" file="reload.png" type="BINDATA" /> <include name="IDR_RELOAD_NOBORDER" file="reload_noborder.png" type="BINDATA" /> - <include name="IDR_RELOAD_NOBORDER_CENTER" file="reload_noborder_center.png" type="BINDATA" /> <include name="IDR_RELOAD_H" file="reload_h.png" type="BINDATA" /> <include name="IDR_RELOAD_P" file="reload_p.png" type="BINDATA" /> + <include name="IDR_STAR" file="star.png" type="BINDATA" /> + <include name="IDR_STAR_NOBORDER" file="star_noborder.png" type="BINDATA" /> + <include name="IDR_STAR_NOBORDER_CENTER" file="star_noborder_center.png" type="BINDATA" /> + <include name="IDR_STAR_D" file="star_d.png" type="BINDATA" /> + <include name="IDR_STAR_H" file="star_h.png" type="BINDATA" /> + <include name="IDR_STAR_P" file="star_p.png" type="BINDATA" /> + <include name="IDR_STARRED" file="starred.png" type="BINDATA" /> + <include name="IDR_STARRED_NOBORDER" file="starred_noborder.png" type="BINDATA" /> + <include name="IDR_STARRED_NOBORDER_CENTER" file="starred_noborder_center.png" type="BINDATA" /> + <include name="IDR_STARRED_H" file="starred_h.png" type="BINDATA" /> + <include name="IDR_STARRED_P" file="starred_p.png" type="BINDATA" /> <include name="IDR_TAB_ACTIVE_CENTER" file="tab_active_center.png" type="BINDATA" /> <include name="IDR_TAB_ACTIVE_LEFT" file="tab_active_left.png" type="BINDATA" /> <include name="IDR_TAB_ACTIVE_RIGHT" file="tab_active_right.png" type="BINDATA" /> - <include name="IDR_TAB_ACTIVE_NANO_CENTER" file="tab_active_nano_center.png" type="BINDATA" /> - <include name="IDR_TAB_ACTIVE_NANO_LEFT" file="tab_active_nano_left.png" type="BINDATA" /> - <include name="IDR_TAB_ACTIVE_NANO_RIGHT" file="tab_active_nano_right.png" type="BINDATA" /> <include name="IDR_TAB_CLOSE" file="tab_close.png" type="BINDATA" /> <include name="IDR_TAB_CLOSE_H" file="tab_close_h.png" type="BINDATA" /> <include name="IDR_TAB_CLOSE_P" file="tab_close_p.png" type="BINDATA" /> @@ -144,6 +123,7 @@ <include name="IDR_BLOCKED_JAVASCRIPT" file="blocked_javascript.png" type="BINDATA" /> <include name="IDR_BLOCKED_PLUGINS" file="blocked_plugins.png" type="BINDATA" /> <include name="IDR_BLOCKED_POPUPS" file="blocked_popups.png" type="BINDATA" /> + <include name="IDR_LOCK" file="lock_small.png" type="BINDATA" /> <include name="IDR_WARNING" file="alert_small.png" type="BINDATA" /> <include name="IDR_STOP" file="stop.png" type="BINDATA" /> <include name="IDR_STOP_NOBORDER" file="stop_noborder.png" type="BINDATA" /> @@ -282,11 +262,6 @@ <include name="IDR_BOOKMARK_MANAGER_SEARCH_ICON" file="bookmark_manager_search.png" type="BINDATA" /> <include name="IDR_TAB_ALPHA_LEFT" file="tab_alpha_left.png" type="BINDATA" /> <include name="IDR_TAB_ALPHA_RIGHT" file="tab_alpha_right.png" type="BINDATA" /> - <include name="IDR_TAB_ALPHA_NANO_LEFT" file="tab_alpha_nano_left.png" type="BINDATA" /> - <include name="IDR_TAB_ALPHA_NANO_RIGHT" file="tab_alpha_nano_right.png" type="BINDATA" /> - <include name="IDR_TAB_ALPHA_NEW_TAB" file="tab_alpha_new_tab.png" type="BINDATA" /> - <include name="IDR_TAB_NEW_TAB_SHADOW" file="tab_new_tab_shadow.png" type="BINDATA" /> - <include name="IDR_DOCK_MAX" file="dock_tab_max.png" type="BINDATA" /> <include name="IDR_DOCK_HIGH" file="dock_tab_high.png" type="BINDATA" /> <include name="IDR_DOCK_WIDE" file="dock_tab_wide.png" type="BINDATA" /> @@ -301,6 +276,21 @@ <include name="IDR_BUBBLE_BL" file="bubble_bl.png" type="BINDATA" /> <include name="IDR_BUBBLE_T_ARROW" file="bubble_t_arrow.png" type="BINDATA" /> <include name="IDR_BUBBLE_B_ARROW" file="bubble_b_arrow.png" type="BINDATA" /> + <include name="IDR_O2_GLOBE" file="o2_globe.png" type="BINDATA" /> + <include name="IDR_O2_HISTORY" file="o2_history.png" type="BINDATA" /> + <include name="IDR_O2_MORE" file="o2_more.png" type="BINDATA" /> + <include name="IDR_O2_SEARCH" file="o2_search.png" type="BINDATA" /> + <include name="IDR_O2_STAR" file="o2_star.png" type="BINDATA" /> + <include name="IDR_O2_GLOBE_SELECTED" file="o2_globe_selected.png" type="BINDATA" /> + <include name="IDR_O2_HISTORY_SELECTED" file="o2_history_selected.png" type="BINDATA" /> + <include name="IDR_O2_MORE_SELECTED" file="o2_more_selected.png" type="BINDATA" /> + <include name="IDR_O2_SEARCH_SELECTED" file="o2_search_selected.png" type="BINDATA" /> + <include name="IDR_O2_STAR_SELECTED" file="o2_star_selected.png" type="BINDATA" /> + <include name="IDR_O2_GLOBE_SELECTED_DARK" file="o2_globe_selected_dark.png" type="BINDATA" /> + <include name="IDR_O2_HISTORY_SELECTED_DARK" file="o2_history_selected_dark.png" type="BINDATA" /> + <include name="IDR_O2_MORE_SELECTED_DARK" file="o2_more_selected_dark.png" type="BINDATA" /> + <include name="IDR_O2_SEARCH_SELECTED_DARK" file="o2_search_selected_dark.png" type="BINDATA" /> + <include name="IDR_O2_STAR_SELECTED_DARK" file="o2_star_selected_dark.png" type="BINDATA" /> <include name="IDR_CLOSED_WINDOW" file="closed_window.png" type="BINDATA" /> <include name="IDR_THEME_TAB_BACKGROUND_INCOGNITO" file="theme_tab_background_incognito.png" type="BINDATA" /> @@ -315,7 +305,7 @@ <include name="IDR_FORWARD_MASK" file="forward_mask.png" type="BINDATA" /> <include name="IDR_BACK_MASK" file="back_mask.png" type="BINDATA" /> <include name="IDR_BUTTON_MASK" file="button_mask.png" type="BINDATA" /> - <include name="IDR_RELOAD_MASK" file="reload_mask.png" type="BINDATA" /> + <include name="IDR_STAR_MASK" file="star_mask.png" type="BINDATA" /> <include name="IDR_GO_MASK" file="go_mask.png" type="BINDATA" /> <include name="IDR_NEWTAB_BUTTON_MASK" file="newtab_button_mask.png" type="BINDATA" /> diff --git a/chrome/app/theme/theme_toolbar_default.png b/chrome/app/theme/theme_toolbar_default.png Binary files differindex eef9c15..21678f8 100644 --- a/chrome/app/theme/theme_toolbar_default.png +++ b/chrome/app/theme/theme_toolbar_default.png diff --git a/chrome/browser/autocomplete/autocomplete.cc b/chrome/browser/autocomplete/autocomplete.cc index ba37681..9c7e942 100644 --- a/chrome/browser/autocomplete/autocomplete.cc +++ b/chrome/browser/autocomplete/autocomplete.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -27,7 +27,6 @@ #include "googleurl/src/url_canon_ip.h" #include "googleurl/src/url_util.h" #include "grit/generated_resources.h" -#include "grit/theme_resources.h" #include "net/base/net_util.h" #include "net/base/registry_controlled_domain.h" #include "net/url_request/url_request.h" @@ -368,18 +367,6 @@ void AutocompleteInput::Clear() { // AutocompleteMatch ---------------------------------------------------------- -AutocompleteMatch::AutocompleteMatch() - : provider(NULL), - relevance(0), - deletable(false), - inline_autocomplete_offset(std::wstring::npos), - transition(PageTransition::GENERATED), - is_history_what_you_typed_match(false), - type(SEARCH_WHAT_YOU_TYPED), - template_url(NULL), - starred(false) { -} - AutocompleteMatch::AutocompleteMatch(AutocompleteProvider* provider, int relevance, bool deletable, @@ -397,40 +384,23 @@ AutocompleteMatch::AutocompleteMatch(AutocompleteProvider* provider, // static std::string AutocompleteMatch::TypeToString(Type type) { - const char* strings[NUM_TYPES] = { - "url-what-you-typed", - "history-url", - "history-title", - "history-body", - "history-keyword", - "navsuggest", - "search-what-you-typed", - "search-history", - "search-suggest", - "search-other-engine", - "open-history-page", - }; - DCHECK(arraysize(strings) == NUM_TYPES); - return strings[type]; -} + switch (type) { + case URL_WHAT_YOU_TYPED: return "url-what-you-typed"; + case HISTORY_URL: return "history-url"; + case HISTORY_TITLE: return "history-title"; + case HISTORY_BODY: return "history-body"; + case HISTORY_KEYWORD: return "history-keyword"; + case NAVSUGGEST: return "navsuggest"; + case SEARCH_WHAT_YOU_TYPED: return "search-what-you-typed"; + case SEARCH_HISTORY: return "search-history"; + case SEARCH_SUGGEST: return "search-suggest"; + case SEARCH_OTHER_ENGINE: return "search-other-engine"; + case OPEN_HISTORY_PAGE: return "open-history-page"; -// static -int AutocompleteMatch::TypeToIcon(Type type) { - int icons[NUM_TYPES] = { - IDR_OMNIBOX_HTTP, - IDR_OMNIBOX_HTTP, - IDR_OMNIBOX_HISTORY, - IDR_OMNIBOX_HISTORY, - IDR_OMNIBOX_HISTORY, - IDR_OMNIBOX_HTTP, - IDR_OMNIBOX_SEARCH, - IDR_OMNIBOX_SEARCH, - IDR_OMNIBOX_SEARCH, - IDR_OMNIBOX_SEARCH, - IDR_OMNIBOX_MORE, - }; - DCHECK(arraysize(icons) == NUM_TYPES); - return icons[type]; + default: + NOTREACHED(); + return std::string(); + } } // static @@ -595,14 +565,10 @@ void AutocompleteProvider::UpdateStarredStateOfMatches() { std::wstring AutocompleteProvider::StringForURLDisplay( const GURL& url, - bool check_accept_lang, - bool trim_http) const { + bool check_accept_lang) const { std::wstring languages = (check_accept_lang && profile_) ? profile_->GetPrefs()->GetString(prefs::kAcceptLanguages) : std::wstring(); - const net::FormatUrlTypes format_types = trim_http ? - net::kFormatUrlOmitAll : net::kFormatUrlOmitUsernamePassword; - return net::FormatUrl(url, languages, format_types, UnescapeRule::SPACES, - NULL, NULL, NULL); + return net::FormatUrl(url, languages); } // AutocompleteResult --------------------------------------------------------- diff --git a/chrome/browser/autocomplete/autocomplete.h b/chrome/browser/autocomplete/autocomplete.h index 54bd9ff..d64fd6c 100644 --- a/chrome/browser/autocomplete/autocomplete.h +++ b/chrome/browser/autocomplete/autocomplete.h @@ -314,24 +314,22 @@ struct AutocompleteMatch { // The type of this match. enum Type { - URL_WHAT_YOU_TYPED = 0, // The input as a URL. - HISTORY_URL, // A past page whose URL contains the input. - HISTORY_TITLE, // A past page whose title contains the input. - HISTORY_BODY, // A past page whose body contains the input. - HISTORY_KEYWORD, // A past page whose keyword contains the input. - NAVSUGGEST, // A suggested URL. - SEARCH_WHAT_YOU_TYPED, // The input as a search query (with the default - // engine). - SEARCH_HISTORY, // A past search (with the default engine) - // containing the input. - SEARCH_SUGGEST, // A suggested search (with the default engine). - SEARCH_OTHER_ENGINE, // A search with a non-default engine. - OPEN_HISTORY_PAGE, // A synthetic result that opens the history page - // to search for the input. - NUM_TYPES, + URL_WHAT_YOU_TYPED, // The input as a URL. + HISTORY_URL, // A past page whose URL contains the input. + HISTORY_TITLE, // A past page whose title contains the input. + HISTORY_BODY, // A past page whose body contains the input. + HISTORY_KEYWORD, // A past page whose keyword contains the input. + NAVSUGGEST, // A suggested URL. + SEARCH_WHAT_YOU_TYPED, // The input as a search query (with the default + // engine). + SEARCH_HISTORY, // A past search (with the default engine) + // containing the input. + SEARCH_SUGGEST, // A suggested search (with the default engine). + SEARCH_OTHER_ENGINE, // A search with a non-default engine. + OPEN_HISTORY_PAGE, // A synthetic result that opens the history page to + // search for the input. }; - AutocompleteMatch(); AutocompleteMatch(AutocompleteProvider* provider, int relevance, bool deletable, @@ -340,10 +338,6 @@ struct AutocompleteMatch { // Converts |type| to a string representation. Used in logging. static std::string TypeToString(Type type); - // Converts |type| to a resource identifier for the appropriate icon for this - // type. - static int TypeToIcon(Type type); - // Comparison function for determining when one match is better than another. static bool MoreRelevant(const AutocompleteMatch& elem1, const AutocompleteMatch& elem2); @@ -561,8 +555,7 @@ class AutocompleteProvider // "Accept Languages" when check_accept_lang is true. Otherwise, it's called // with an empty list. std::wstring StringForURLDisplay(const GURL& url, - bool check_accept_lang, - bool trim_http) const; + bool check_accept_lang) const; // The profile associated with the AutocompleteProvider. Reference is not // owned by us. @@ -783,7 +776,7 @@ class AutocompleteController : public ACProviderListener { const AutocompleteInput& input() const { return input_; } const AutocompleteResult& result() const { return result_; } // This next is temporary and should go away when - // AutocompletePopup::InfoForCurrentSelection() moves to the controller. + // AutocompletePopup::URLsForCurrentSelection() moves to the controller. const AutocompleteResult& latest_result() const { return latest_result_; } bool done() const { return done_ && !update_delay_timer_.IsRunning(); } diff --git a/chrome/browser/autocomplete/autocomplete_classifier.cc b/chrome/browser/autocomplete/autocomplete_classifier.cc deleted file mode 100644 index 3e96ff5..0000000 --- a/chrome/browser/autocomplete/autocomplete_classifier.cc +++ /dev/null @@ -1,34 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/autocomplete/autocomplete_classifier.h" - -#include "chrome/browser/autocomplete/autocomplete.h" -#include "googleurl/src/gurl.h" - -AutocompleteClassifier::AutocompleteClassifier(Profile* profile) - : controller_(new AutocompleteController(profile)) { -} - -AutocompleteClassifier::~AutocompleteClassifier() { -} - -void AutocompleteClassifier::Classify(const std::wstring& text, - const std::wstring& desired_tld, - AutocompleteMatch* match, - GURL* alternate_nav_url) { - controller_->Start(text, desired_tld, true, false, true); - DCHECK(controller_->done()); - const AutocompleteResult& result = controller_->result(); - if (result.empty()) { - if (alternate_nav_url) - *alternate_nav_url = GURL(); - return; - } - - DCHECK(result.default_match() != result.end()); - *match = *result.default_match(); - if (alternate_nav_url) - *alternate_nav_url = result.alternate_nav_url(); -} diff --git a/chrome/browser/autocomplete/autocomplete_classifier.h b/chrome/browser/autocomplete/autocomplete_classifier.h deleted file mode 100644 index 3588c27..0000000 --- a/chrome/browser/autocomplete/autocomplete_classifier.h +++ /dev/null @@ -1,43 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CLASSIFIER_H_ -#define CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CLASSIFIER_H_ - -#include <string> - -#include "base/basictypes.h" -#include "base/scoped_ptr.h" - -class AutocompleteController; -struct AutocompleteMatch; -class GURL; -class Profile; - -class AutocompleteClassifier { - public: - explicit AutocompleteClassifier(Profile* profile); - virtual ~AutocompleteClassifier(); - - // Given some string |text| that the user wants to use for navigation, - // determines how it should be interpreted. |desired_tld| is the user's - // desired TLD, if any; see AutocompleteInput::desired_tld(). |match| should - // be a non-NULL outparam that will be set to the default match for this - // input, if any (for invalid input, there will be no default match, and - // |match| will be left unchanged). |alternate_nav_url| is a possibly-NULL - // outparam that, if non-NULL, will be set to the navigational URL (if any) in - // case of an accidental search; see comments on - // AutocompleteResult::alternate_nav_url_ in autocomplete.h. - void Classify(const std::wstring& text, - const std::wstring& desired_tld, - AutocompleteMatch* match, - GURL* alternate_nav_url); - - private: - scoped_ptr<AutocompleteController> controller_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(AutocompleteClassifier); -}; - -#endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_CLASSIFIER_H_ diff --git a/chrome/browser/autocomplete/autocomplete_edit.cc b/chrome/browser/autocomplete/autocomplete_edit.cc index 9b0aefb..f4c2583 100644 --- a/chrome/browser/autocomplete/autocomplete_edit.cc +++ b/chrome/browser/autocomplete/autocomplete_edit.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -9,7 +9,6 @@ #include "base/basictypes.h" #include "base/utf_string_conversions.h" #include "chrome/app/chrome_dll_resource.h" -#include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/autocomplete/autocomplete_edit_view.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" #include "chrome/browser/autocomplete/keyword_provider.h" @@ -20,6 +19,7 @@ #include "chrome/browser/profile.h" #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_model.h" +#include "chrome/browser/search_versus_navigate_classifier.h" #include "chrome/common/notification_service.h" #include "googleurl/src/gurl.h" #include "googleurl/src/url_util.h" @@ -44,6 +44,7 @@ AutocompleteEditModel::AutocompleteEditModel( control_key_state_(UP), is_keyword_hint_(false), keyword_ui_state_(NORMAL), + show_search_hint_(true), paste_and_go_transition_(PageTransition::TYPED), profile_(profile) { } @@ -80,7 +81,7 @@ const AutocompleteEditModel::State } return State(user_input_in_progress_, user_text_, keyword_, is_keyword_hint_, - keyword_ui_state_); + keyword_ui_state_, show_search_hint_); } void AutocompleteEditModel::RestoreState(const State& state) { @@ -91,6 +92,7 @@ void AutocompleteEditModel::RestoreState(const State& state) { keyword_ = state.keyword; is_keyword_hint_ = state.is_keyword_hint; keyword_ui_state_ = state.keyword_ui_state; + show_search_hint_ = state.show_search_hint; view_->SetUserText(state.user_text, DisplayTextFromUserText(state.user_text), false); } @@ -120,9 +122,7 @@ void AutocompleteEditModel::SetUserText(const std::wstring& text) { void AutocompleteEditModel::GetDataForURLExport(GURL* url, std::wstring* title, SkBitmap* favicon) { - AutocompleteMatch match; - GetInfoForCurrentText(&match, NULL); - *url = match.destination_url; + *url = GetURLForCurrentText(NULL, NULL, NULL); if (UTF8ToWide(url->possibly_invalid_spec()) == permanent_text_) { *title = controller_->GetTitle(); *favicon = controller_->GetFavIcon(); @@ -134,7 +134,7 @@ std::wstring AutocompleteEditModel::GetDesiredTLD() const { std::wstring(L"com") : std::wstring(); } -bool AutocompleteEditModel::CurrentTextIsURL() const { +bool AutocompleteEditModel::CurrentTextIsURL() { // If !user_input_in_progress_, the permanent text is showing, which should // always be a URL, so no further checking is needed. By avoiding checking in // this case, we avoid calling into the autocomplete providers, and thus @@ -142,15 +142,9 @@ bool AutocompleteEditModel::CurrentTextIsURL() const { if (!user_input_in_progress_) return true; - AutocompleteMatch match; - GetInfoForCurrentText(&match, NULL); - return match.transition == PageTransition::TYPED; -} - -AutocompleteMatch::Type AutocompleteEditModel::CurrentTextType() const { - AutocompleteMatch match; - GetInfoForCurrentText(&match, NULL); - return match.type; + PageTransition::Type transition = PageTransition::LINK; + GetURLForCurrentText(&transition, NULL, NULL); + return transition == PageTransition::TYPED; } bool AutocompleteEditModel::GetURLForText(const std::wstring& text, @@ -180,6 +174,7 @@ void AutocompleteEditModel::Revert() { keyword_.clear(); is_keyword_hint_ = false; keyword_ui_state_ = NORMAL; + show_search_hint_ = permanent_text_.empty(); has_temporary_text_ = false; view_->SetWindowTextAndCaretPos(permanent_text_, has_focus_ ? permanent_text_.length() : 0); @@ -196,11 +191,14 @@ bool AutocompleteEditModel::CanPasteAndGo(const std::wstring& text) const { if (!view_->GetCommandUpdater()->IsCommandEnabled(IDC_OPEN_CURRENT_URL)) return false; - AutocompleteMatch match; - profile_->GetAutocompleteClassifier()->Classify(text, std::wstring(), - &match, &paste_and_go_alternate_nav_url_); - paste_and_go_url_ = match.destination_url; - paste_and_go_transition_ = match.transition; + paste_and_go_url_ = GURL(); + paste_and_go_transition_ = PageTransition::TYPED; + paste_and_go_alternate_nav_url_ = GURL(); + + profile_->GetSearchVersusNavigateClassifier()->Classify(text, std::wstring(), + NULL, &paste_and_go_url_, &paste_and_go_transition_, NULL, + &paste_and_go_alternate_nav_url_); + return paste_and_go_url_.is_valid(); } @@ -217,30 +215,33 @@ void AutocompleteEditModel::PasteAndGo() { void AutocompleteEditModel::AcceptInput(WindowOpenDisposition disposition, bool for_drop) { // Get the URL and transition type for the selected entry. - AutocompleteMatch match; + PageTransition::Type transition; + bool is_history_what_you_typed_match; GURL alternate_nav_url; - GetInfoForCurrentText(&match, &alternate_nav_url); - if (!match.destination_url.is_valid()) + const GURL url(GetURLForCurrentText(&transition, + &is_history_what_you_typed_match, + &alternate_nav_url)); + if (!url.is_valid()) return; - if (UTF8ToWide(match.destination_url.spec()) == permanent_text_) { + if (UTF8ToWide(url.spec()) == permanent_text_) { // When the user hit enter on the existing permanent URL, treat it like a // reload for scoring purposes. We could detect this by just checking // user_input_in_progress_, but it seems better to treat "edits" that end // up leaving the URL unchanged (e.g. deleting the last character and then // retyping it) as reloads too. - match.transition = PageTransition::RELOAD; + transition = PageTransition::RELOAD; } else if (for_drop || ((paste_state_ != NONE) && - match.is_history_what_you_typed_match)) { + is_history_what_you_typed_match)) { // When the user pasted in a URL and hit enter, score it like a link click // rather than a normal typed URL, so it doesn't get inline autocompleted // as aggressively later. - match.transition = PageTransition::LINK; + transition = PageTransition::LINK; } - view_->OpenURL(match.destination_url, disposition, match.transition, - alternate_nav_url, AutocompletePopupModel::kNoMatch, - is_keyword_hint_ ? std::wstring() : keyword_); + view_->OpenURL(url, disposition, transition, alternate_nav_url, + AutocompletePopupModel::kNoMatch, + is_keyword_hint_ ? std::wstring() : keyword_); } void AutocompleteEditModel::SendOpenNotification(size_t selected_line, @@ -324,20 +325,17 @@ void AutocompleteEditModel::OnKillFocus() { } bool AutocompleteEditModel::OnEscapeKeyPressed() { - if (has_temporary_text_) { - AutocompleteMatch match; - popup_->InfoForCurrentSelection(&match, NULL); - if (match.destination_url != original_url_) { - // The user typed something, then selected a different item. Restore the - // text they typed and change back to the default item. - // NOTE: This purposefully does not reset paste_state_. - just_deleted_text_ = false; - has_temporary_text_ = false; - keyword_ui_state_ = original_keyword_ui_state_; - popup_->ResetToDefaultMatch(); - view_->OnRevertTemporaryText(); - return true; - } + if (has_temporary_text_ && + (popup_->URLsForCurrentSelection(NULL, NULL, NULL) != original_url_)) { + // The user typed something, then selected a different item. Restore the + // text they typed and change back to the default item. + // NOTE: This purposefully does not reset paste_state_. + just_deleted_text_ = false; + has_temporary_text_ = false; + keyword_ui_state_ = original_keyword_ui_state_; + popup_->ResetToDefaultMatch(); + view_->OnRevertTemporaryText(); + return true; } // If the user wasn't editing, but merely had focus in the edit, allow <esc> @@ -407,24 +405,35 @@ void AutocompleteEditModel::OnUpOrDownKeyPressed(int count) { void AutocompleteEditModel::OnPopupDataChanged( const std::wstring& text, - GURL* destination_for_temporary_text_change, + bool is_temporary_text, const std::wstring& keyword, - bool is_keyword_hint) { + bool is_keyword_hint, + AutocompleteMatch::Type type) { + // We don't want to show the search hint if we're showing a keyword hint or + // selected keyword, or (subtle!) if we would be showing a selected keyword + // but for keyword_ui_state_ == NO_KEYWORD. + const bool show_search_hint = keyword.empty() && + ((type == AutocompleteMatch::SEARCH_WHAT_YOU_TYPED) || + (type == AutocompleteMatch::SEARCH_HISTORY) || + (type == AutocompleteMatch::SEARCH_SUGGEST)); + // Update keyword/hint-related local state. bool keyword_state_changed = (keyword_ != keyword) || - ((is_keyword_hint_ != is_keyword_hint) && !keyword.empty()); + ((is_keyword_hint_ != is_keyword_hint) && !keyword.empty()) || + (show_search_hint_ != show_search_hint); if (keyword_state_changed) { keyword_ = keyword; is_keyword_hint_ = is_keyword_hint; + show_search_hint_ = show_search_hint; } // Handle changes to temporary text. - if (destination_for_temporary_text_change != NULL) { + if (is_temporary_text) { const bool save_original_selection = !has_temporary_text_; if (save_original_selection) { // Save the original selection and URL so it can be reverted later. has_temporary_text_ = true; - original_url_ = *destination_for_temporary_text_change; + original_url_ = popup_->URLsForCurrentSelection(NULL, NULL, NULL); original_keyword_ui_state_ = keyword_ui_state_; } if (control_key_state_ == DOWN_WITHOUT_CHANGE) { @@ -533,6 +542,7 @@ void AutocompleteEditModel::Observe(NotificationType type, std::wstring inline_autocomplete_text; std::wstring keyword; bool is_keyword_hint = false; + AutocompleteMatch::Type match_type = AutocompleteMatch::SEARCH_WHAT_YOU_TYPED; const AutocompleteResult* result = Details<const AutocompleteResult>(details).ptr(); const AutocompleteResult::const_iterator match(result->default_match()); @@ -549,9 +559,11 @@ void AutocompleteEditModel::Observe(NotificationType type, // the OS DNS cache could suffer eviction problems for minimal gain. is_keyword_hint = popup_->GetKeywordForMatch(*match, &keyword); + match_type = match->type; } - OnPopupDataChanged(inline_autocomplete_text, NULL, keyword, is_keyword_hint); + OnPopupDataChanged(inline_autocomplete_text, false, keyword, is_keyword_hint, + match_type); } void AutocompleteEditModel::InternalSetUserText(const std::wstring& text) { @@ -574,14 +586,20 @@ std::wstring AutocompleteEditModel::UserTextFromDisplayText( text : (keyword_ + L" " + text); } -void AutocompleteEditModel::GetInfoForCurrentText( - AutocompleteMatch* match, +GURL AutocompleteEditModel::GetURLForCurrentText( + PageTransition::Type* transition, + bool* is_history_what_you_typed_match, GURL* alternate_nav_url) const { if (popup_->IsOpen() || query_in_progress()) { - popup_->InfoForCurrentSelection(match, alternate_nav_url); - } else { - profile_->GetAutocompleteClassifier()->Classify( - UserTextFromDisplayText(view_->GetText()), GetDesiredTLD(), match, - alternate_nav_url); + return popup_->URLsForCurrentSelection(transition, + is_history_what_you_typed_match, + alternate_nav_url); } + + GURL destination_url; + profile_->GetSearchVersusNavigateClassifier()->Classify( + UserTextFromDisplayText(view_->GetText()), GetDesiredTLD(), NULL, + &destination_url, transition, is_history_what_you_typed_match, + alternate_nav_url); + return destination_url; } diff --git a/chrome/browser/autocomplete/autocomplete_edit.h b/chrome/browser/autocomplete/autocomplete_edit.h index 9f4e973..1a0386c 100644 --- a/chrome/browser/autocomplete/autocomplete_edit.h +++ b/chrome/browser/autocomplete/autocomplete_edit.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -83,12 +83,14 @@ class AutocompleteEditModel : public NotificationObserver { const std::wstring& user_text, const std::wstring& keyword, bool is_keyword_hint, - KeywordUIState keyword_ui_state) + KeywordUIState keyword_ui_state, + bool show_search_hint) : user_input_in_progress(user_input_in_progress), user_text(user_text), keyword(keyword), is_keyword_hint(is_keyword_hint), - keyword_ui_state(keyword_ui_state) { + keyword_ui_state(keyword_ui_state), + show_search_hint(show_search_hint) { } bool user_input_in_progress; @@ -96,6 +98,7 @@ class AutocompleteEditModel : public NotificationObserver { const std::wstring keyword; const bool is_keyword_hint; const KeywordUIState keyword_ui_state; + const bool show_search_hint; }; AutocompleteEditModel(AutocompleteEditView* view, @@ -134,10 +137,7 @@ class AutocompleteEditModel : public NotificationObserver { // Returns true if the current edit contents will be treated as a // URL/navigation, as opposed to a search. - bool CurrentTextIsURL() const; - - // Returns the match type for the current edit contents. - AutocompleteMatch::Type CurrentTextType() const; + bool CurrentTextIsURL(); // Returns true if |text| (which is display text in the current context) // parses as a URL, and in that case sets |url| to the calculated URL. @@ -208,7 +208,7 @@ class AutocompleteEditModel : public NotificationObserver { // Accessors for keyword-related state (see comments on keyword_ and // is_keyword_hint_). std::wstring keyword() const { - return (is_keyword_hint_ || (keyword_ui_state_ != NO_KEYWORD)) ? + return (is_keyword_hint_ ? has_focus_ : (keyword_ui_state_ != NO_KEYWORD)) ? keyword_ : std::wstring(); } bool is_keyword_hint() const { return is_keyword_hint_; } @@ -220,6 +220,10 @@ class AutocompleteEditModel : public NotificationObserver { // currently visible in the edit. void ClearKeyword(const std::wstring& visible_text); + // True if we should show the "Type to search" hint (see comments on + // show_search_hint_). + bool show_search_hint() const { return has_focus_ && show_search_hint_; } + // Returns true if a query to an autocomplete provider is currently // in progress. This logic should in the future live in // AutocompleteController but resides here for now. This method is used by @@ -256,20 +260,21 @@ class AutocompleteEditModel : public NotificationObserver { // Called when any relevant data changes. This rolls together several // separate pieces of data into one call so we can update all the UI // efficiently: - // |text| is either the new temporary text from the user manually selecting - // a different match, or the inline autocomplete text. We distinguish by - // checking if |destination_for_temporary_text_change| is NULL. - // |destination_for_temporary_text_change| is NULL (if temporary text should - // not change) or the pre-change desitnation URL (if temporary text should - // change) so we can save it off to restore later. + // |text| is either the new temporary text (if |is_temporary_text| is true) + // from the user manually selecting a different match, or the inline + // autocomplete text (if |is_temporary_text| is false). // |keyword| is the keyword to show a hint for if |is_keyword_hint| is true, // or the currently selected keyword if |is_keyword_hint| is false (see // comments on keyword_ and is_keyword_hint_). + // |type| is the type of match selected; this is used to determine whether + // we can show the "Type to search" hint (see comments on + // show_search_hint_). void OnPopupDataChanged( const std::wstring& text, - GURL* destination_for_temporary_text_change, + bool is_temporary_text, const std::wstring& keyword, - bool is_keyword_hint); + bool is_keyword_hint, + AutocompleteMatch::Type type); // Called by the AutocompleteEditView after something changes, with details // about what state changes occured. Updates internal state, updates the @@ -321,10 +326,16 @@ class AutocompleteEditModel : public NotificationObserver { std::wstring DisplayTextFromUserText(const std::wstring& text) const; std::wstring UserTextFromDisplayText(const std::wstring& text) const; - // Returns the default match for the current text, as well as the alternate - // nav URL, if |alternate_nav_url| is non-NULL and there is such a URL. - void GetInfoForCurrentText(AutocompleteMatch* match, - GURL* alternate_nav_url) const; + // Returns the URL. If the user has not edited the text, this returns the + // permanent text. If the user has edited the text, this returns the default + // match based on the current text, which may be a search URL, or keyword + // generated URL. + // + // See AutocompleteEdit for a description of the args (they may be null if + // not needed). + GURL GetURLForCurrentText(PageTransition::Type* transition, + bool* is_history_what_you_typed_match, + GURL* alternate_nav_url) const; AutocompleteEditView* view_; @@ -421,6 +432,10 @@ class AutocompleteEditModel : public NotificationObserver { // See KeywordUIState enum. KeywordUIState keyword_ui_state_; + // True when it's safe to show a "Type to search" hint to the user (when the + // edit is empty, or the user is in the process of searching). + bool show_search_hint_; + // Paste And Go-related state. See CanPasteAndGo(). mutable GURL paste_and_go_url_; mutable PageTransition::Type paste_and_go_transition_; diff --git a/chrome/browser/autocomplete/autocomplete_edit_view.h b/chrome/browser/autocomplete/autocomplete_edit_view.h index 0d4c230..63c2524 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view.h +++ b/chrome/browser/autocomplete/autocomplete_edit_view.h @@ -59,13 +59,6 @@ class AutocompleteEditView { // browser, or just whatever the user has currently typed. virtual std::wstring GetText() const = 0; - // |true| if the user is in the process of editing the field, or if - // the field is empty. - virtual bool IsEditingOrEmpty() const = 0; - - // Returns the resource ID of the icon to show for the current text. - virtual int GetIcon() const = 0; - // The user text is the text the user has manually keyed in. When present, // this is shown in preference to the permanent text; hitting escape will // revert to the permanent text. diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc index 006395f..86d886d 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.cc @@ -17,6 +17,7 @@ #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/autocomplete/autocomplete_edit.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" +#include "chrome/browser/autocomplete/autocomplete_popup_view_gtk.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/command_updater.h" #include "chrome/browser/defaults.h" @@ -33,11 +34,9 @@ #include "net/base/escape.h" #if defined(TOOLKIT_VIEWS) -#include "chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h" #include "chrome/browser/views/location_bar_view.h" #include "gfx/skia_utils_gtk.h" #else -#include "chrome/browser/autocomplete/autocomplete_popup_view_gtk.h" #include "chrome/browser/gtk/gtk_theme_provider.h" #include "chrome/browser/gtk/location_bar_view_gtk.h" #endif @@ -46,13 +45,11 @@ using gfx::SkColorToGdkColor; namespace { -const gchar* kAutocompleteEditViewGtkKey = "__ACE_VIEW_GTK__"; - const char kTextBaseColor[] = "#808080"; -const char kSecureSchemeColor[] = "#079500"; -const char kSecurityErrorSchemeColor[] = "#a20000"; +const char kSecureSchemeColor[] = "#009614"; +const char kInsecureSchemeColor[] = "#c80000"; -const double kStrikethroughStrokeRed = 162.0 / 256.0; +const double kStrikethroughStrokeRed = 210.0 / 256.0; const double kStrikethroughStrokeWidth = 2.0; size_t GetUTF8Offset(const std::wstring& wide_text, size_t wide_text_offset) { @@ -111,26 +108,6 @@ void SetEntryStyle() { "style \"chrome-location-bar-entry\""); } -// Copied from GTK+. Called when we lose the primary selection. This will clear -// the selection in the text buffer. -void ClipboardSelectionCleared(GtkClipboard* clipboard, - gpointer data) { - GtkTextIter insert; - GtkTextIter selection_bound; - GtkTextBuffer* buffer = GTK_TEXT_BUFFER(data); - - gtk_text_buffer_get_iter_at_mark(buffer, &insert, - gtk_text_buffer_get_insert(buffer)); - gtk_text_buffer_get_iter_at_mark(buffer, &selection_bound, - gtk_text_buffer_get_selection_bound(buffer)); - - if (!gtk_text_iter_equal(&insert, &selection_bound)) { - gtk_text_buffer_move_mark(buffer, - gtk_text_buffer_get_selection_bound(buffer), - &insert); - } -} - } // namespace AutocompleteEditViewGtk::AutocompleteEditViewGtk( @@ -139,30 +116,23 @@ AutocompleteEditViewGtk::AutocompleteEditViewGtk( Profile* profile, CommandUpdater* command_updater, bool popup_window_mode, -#if defined(TOOLKIT_VIEWS) - const views::View* location_bar) -#else - GtkWidget* location_bar) -#endif + const BubblePositioner* bubble_positioner) : text_view_(NULL), tag_table_(NULL), text_buffer_(NULL), faded_text_tag_(NULL), secure_scheme_tag_(NULL), - security_error_scheme_tag_(NULL), + insecure_scheme_tag_(NULL), model_(new AutocompleteEditModel(this, controller, profile)), -#if defined(TOOLKIT_VIEWS) - popup_view_(new AutocompletePopupContentsView( - gfx::Font(), this, model_.get(), profile, location_bar)), -#else - popup_view_(new AutocompletePopupViewGtk(this, model_.get(), profile, - location_bar)), -#endif + popup_view_(AutocompletePopupView::CreatePopupView(gfx::Font(), this, + model_.get(), + profile, + bubble_positioner)), controller_(controller), toolbar_model_(toolbar_model), command_updater_(command_updater), popup_window_mode_(popup_window_mode), - security_level_(ToolbarModel::NONE), + scheme_security_level_(ToolbarModel::NORMAL), mark_set_handler_id_(0), #if defined(OS_CHROMEOS) button_1_pressed_(false), @@ -215,7 +185,6 @@ void AutocompleteEditViewGtk::Init() { // the other objects adds a reference; it doesn't adopt them. tag_table_ = gtk_text_tag_table_new(); text_buffer_ = gtk_text_buffer_new(tag_table_); - g_object_set_data(G_OBJECT(text_buffer_), kAutocompleteEditViewGtkKey, this); text_view_ = gtk_text_view_new_with_buffer(text_buffer_); if (popup_window_mode_) gtk_text_view_set_editable(GTK_TEXT_VIEW(text_view_), false); @@ -246,8 +215,8 @@ void AutocompleteEditViewGtk::Init() { NULL, "foreground", kTextBaseColor, NULL); secure_scheme_tag_ = gtk_text_buffer_create_tag(text_buffer_, NULL, "foreground", kSecureSchemeColor, NULL); - security_error_scheme_tag_ = gtk_text_buffer_create_tag(text_buffer_, - NULL, "foreground", kSecurityErrorSchemeColor, NULL); + insecure_scheme_tag_ = gtk_text_buffer_create_tag(text_buffer_, + NULL, "foreground", kInsecureSchemeColor, NULL); normal_text_tag_ = gtk_text_buffer_create_tag(text_buffer_, NULL, "foreground", "#000000", NULL); @@ -289,8 +258,6 @@ void AutocompleteEditViewGtk::Init() { G_CALLBACK(&HandlePopulatePopupThunk), this); mark_set_handler_id_ = g_signal_connect( text_buffer_, "mark-set", G_CALLBACK(&HandleMarkSetThunk), this); - mark_set_handler_id2_ = g_signal_connect_after( - text_buffer_, "mark-set", G_CALLBACK(&HandleMarkSetAfterThunk), this); g_signal_connect(text_view_, "drag-data-received", G_CALLBACK(&HandleDragDataReceivedThunk), this); g_signal_connect(text_view_, "backspace", @@ -317,7 +284,7 @@ void AutocompleteEditViewGtk::Init() { SetBaseColor(); #endif - ViewIDUtil::SetID(GetNativeView(), VIEW_ID_AUTOCOMPLETE); + ViewIDUtil::SetID(widget(), VIEW_ID_AUTOCOMPLETE); } void AutocompleteEditViewGtk::SetFocus() { @@ -351,8 +318,9 @@ void AutocompleteEditViewGtk::SaveStateToTab(TabContents* tab) { DCHECK(tab); // If any text has been selected, register it as the PRIMARY selection so it // can still be pasted via middle-click after the text view is cleared. - if (!selected_text_.empty()) + if (!selected_text_.empty()) { SavePrimarySelection(selected_text_); + } // NOTE: GetStateForTabSwitch may affect GetSelection, so order is important. AutocompleteEditModel::State model_state = model_->GetStateForTabSwitch(); GetStateAccessor()->SetProperty( @@ -366,9 +334,15 @@ void AutocompleteEditViewGtk::Update(const TabContents* contents) { model_->UpdatePermanentText(toolbar_model_->GetText()); ToolbarModel::SecurityLevel security_level = - toolbar_model_->GetSecurityLevel(); - bool changed_security_level = (security_level != security_level_); - security_level_ = security_level; + toolbar_model_->GetSchemeSecurityLevel(); + bool changed_security_level = (security_level != scheme_security_level_); + scheme_security_level_ = security_level; + + // TODO(deanm): This doesn't exactly match Windows. There there is a member + // background_color_. I think we can get away with just the level though. + if (changed_security_level) { + SetBaseColor(); + } if (contents) { selected_text_.clear(); @@ -418,17 +392,6 @@ std::wstring AutocompleteEditViewGtk::GetText() const { return out; } -bool AutocompleteEditViewGtk::IsEditingOrEmpty() const { - return model_->user_input_in_progress() || - (gtk_text_buffer_get_char_count(text_buffer_) == 0); -} - -int AutocompleteEditViewGtk::GetIcon() const { - return IsEditingOrEmpty() ? - AutocompleteMatch::TypeToIcon(model_->CurrentTextType()) : - toolbar_model_->GetIcon(); -} - void AutocompleteEditViewGtk::SetUserText(const std::wstring& text, const std::wstring& display_text, bool update_popup) { @@ -619,8 +582,10 @@ void AutocompleteEditViewGtk::SetBaseColor() { bool use_gtk = theme_provider_->UseGtkTheme(); #endif - if (use_gtk) { - gtk_widget_modify_cursor(text_view_, NULL, NULL); + // If we're on a secure connection, ignore what the theme wants us to do + // and use a yellow background. + bool is_secure = (scheme_security_level_ == ToolbarModel::SECURE); + if (use_gtk && !is_secure) { gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, NULL); gtk_widget_modify_base(text_view_, GTK_STATE_SELECTED, NULL); gtk_widget_modify_text(text_view_, GTK_STATE_SELECTED, NULL); @@ -635,21 +600,20 @@ void AutocompleteEditViewGtk::SetBaseColor() { GdkColor average_color = gtk_util::AverageColors( style->text[GTK_STATE_NORMAL], style->base[GTK_STATE_NORMAL]); - g_object_set(faded_text_tag_, "foreground-gdk", &average_color, NULL); + g_object_set(faded_text_tag_, "foreground-gdk", + &average_color, NULL); g_object_set(normal_text_tag_, "foreground-gdk", &style->text[GTK_STATE_NORMAL], NULL); } else { - const GdkColor* background_color_ptr; #if defined(TOOLKIT_VIEWS) const GdkColor background_color = gfx::SkColorToGdkColor( - LocationBarView::GetColor(ToolbarModel::NONE, - LocationBarView::BACKGROUND)); - background_color_ptr = &background_color; + LocationBarView::GetColor(is_secure, LocationBarView::BACKGROUND)); + gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, + &background_color); #else - background_color_ptr = &LocationBarViewGtk::kBackgroundColor; + gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, + &LocationBarViewGtk::kBackgroundColorByLevel[scheme_security_level_]); #endif - gtk_widget_modify_cursor(text_view_, &gfx::kGdkBlack, &gfx::kGdkGray); - gtk_widget_modify_base(text_view_, GTK_STATE_NORMAL, background_color_ptr); #if !defined(TOOLKIT_VIEWS) // Override the selected colors so we don't leak colors from the current @@ -1073,32 +1037,11 @@ void AutocompleteEditViewGtk::HandleMarkSet(GtkTextBuffer* buffer, GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY); if (gtk_clipboard_get_owner(clipboard) == G_OBJECT(text_buffer_)) SavePrimarySelection(selected_text_); - } else if (IsSelectAll() && !model_->user_input_in_progress()) { - // Copy the whole URL to the clipboard (including the scheme, which is - // hidden in the case of http://). - GURL url; - if (model_->GetURLForText(GetText(), &url)) - OwnPrimarySelection(url.spec()); } selected_text_ = new_selected_text; } -// Override the primary selection the text buffer has set. This has to happen -// after the default handler for the "mark-set" signal. -void AutocompleteEditViewGtk::HandleMarkSetAfter(GtkTextBuffer* buffer, - GtkTextIter* location, - GtkTextMark* mark) { - std::wstring text = GetText(); - if (IsSelectAll() && !model_->user_input_in_progress() && !text.empty()) { - // Copy the whole URL to the clipboard (including the scheme, which is - // hidden in the case of http://). - GURL url; - if (model_->GetURLForText(GetText(), &url)) - OwnPrimarySelection(url.spec()); - } -} - // Just use the default behavior for DnD, except if the drop can be a PasteAndGo // then override. void AutocompleteEditViewGtk::HandleDragDataReceived( @@ -1235,14 +1178,18 @@ void AutocompleteEditViewGtk::HandleCopyOrCutClipboard(GtkWidget* sender) { // string to avoid encoding and escaping issues when pasting this text // elsewhere. scw.WriteText(url_spec16); - OwnPrimarySelection(url.spec()); } else { scw.WriteText(text16); - OwnPrimarySelection(UTF16ToUTF8(text16)); } scw.WriteHyperlink(UTF16ToUTF8(EscapeForHTML(text16)), url.spec()); + // Update PRIMARY selection if it is not owned by the text_buffer. + if (gtk_clipboard_get_owner(clipboard) != G_OBJECT(text_buffer_)) { + std::string utf8_text(UTF16ToUTF8(text16)); + gtk_clipboard_set_text(clipboard, utf8_text.c_str(), utf8_text.length()); + } + // Stop propagating the signal. static guint signal_id = g_signal_lookup("copy-clipboard", GTK_TYPE_TEXT_VIEW); @@ -1250,27 +1197,16 @@ void AutocompleteEditViewGtk::HandleCopyOrCutClipboard(GtkWidget* sender) { return; } - OwnPrimarySelection(selected_text_); -} - -void AutocompleteEditViewGtk::OwnPrimarySelection(const std::string& text) { - primary_selection_text_ = text; - - GtkTargetList* list = gtk_target_list_new(NULL, 0); - gtk_target_list_add_text_targets(list, 0); - gint len; - GtkTargetEntry* entries = gtk_target_table_new_from_list(list, &len); - - // When |text_buffer_| is destroyed, it will clear the clipboard, hence - // we needn't worry about calling gtk_clipboard_clear(). - gtk_clipboard_set_with_owner(gtk_clipboard_get(GDK_SELECTION_PRIMARY), - entries, len, - ClipboardGetSelectionThunk, - ClipboardSelectionCleared, - G_OBJECT(text_buffer_)); + // Passing gtk_text_buffer_copy_clipboard() a text buffer that already owns + // the clipboard that's being updated clears the highlighted text, which we + // don't want to do (and it also appears to at least sometimes trigger a + // failed G_IS_OBJECT() assertion). + if (gtk_clipboard_get_owner(clipboard) == G_OBJECT(text_buffer_)) + return; - gtk_target_list_unref(list); - gtk_target_table_free(entries, len); + // We can't just call SavePrimarySelection(); that makes the text view lose + // the selection and unhighlight its text. + gtk_text_buffer_copy_clipboard(text_buffer_, clipboard); } void AutocompleteEditViewGtk::HandlePasteClipboard(GtkWidget* sender) { @@ -1358,7 +1294,6 @@ void AutocompleteEditViewGtk::StartUpdatingHighlightedText() { gtk_text_buffer_remove_selection_clipboard(text_buffer_, clipboard); } g_signal_handler_block(text_buffer_, mark_set_handler_id_); - g_signal_handler_block(text_buffer_, mark_set_handler_id2_); } void AutocompleteEditViewGtk::FinishUpdatingHighlightedText() { @@ -1370,7 +1305,6 @@ void AutocompleteEditViewGtk::FinishUpdatingHighlightedText() { gtk_text_buffer_add_selection_clipboard(text_buffer_, clipboard); } g_signal_handler_unblock(text_buffer_, mark_set_handler_id_); - g_signal_handler_unblock(text_buffer_, mark_set_handler_id2_); } AutocompleteEditViewGtk::CharRange AutocompleteEditViewGtk::GetSelection() { @@ -1440,21 +1374,22 @@ void AutocompleteEditViewGtk::EmphasizeURLComponents() { strikethrough_ = CharRange(); // Emphasize the scheme for security UI display purposes (if necessary). if (!model_->user_input_in_progress() && scheme.is_nonempty() && - (security_level_ != ToolbarModel::NONE)) { + (scheme_security_level_ != ToolbarModel::NORMAL)) { CharRange scheme_range = CharRange(GetUTF8Offset(text, scheme.begin), GetUTF8Offset(text, scheme.end())); ItersFromCharRange(scheme_range, &start, &end); - if (security_level_ == ToolbarModel::SECURITY_ERROR) { + if (scheme_security_level_ == ToolbarModel::SECURE) { + gtk_text_buffer_apply_tag(text_buffer_, secure_scheme_tag_, + &start, &end); + } else { strikethrough_ = scheme_range; // When we draw the strikethrough, we don't want to include the ':' at the // end of the scheme. strikethrough_.cp_max--; - gtk_text_buffer_apply_tag(text_buffer_, security_error_scheme_tag_, + gtk_text_buffer_apply_tag(text_buffer_, insecure_scheme_tag_, &start, &end); - } else { - gtk_text_buffer_apply_tag(text_buffer_, secure_scheme_tag_, &start, &end); } } } @@ -1534,23 +1469,3 @@ void AutocompleteEditViewGtk::HandleWidgetDirectionChanged( void AutocompleteEditViewGtk::HandleKeymapDirectionChanged(GdkKeymap* sender) { AdjustTextJustification(); } - -// static -void AutocompleteEditViewGtk::ClipboardGetSelectionThunk( - GtkClipboard* clipboard, - GtkSelectionData* selection_data, - guint info, - gpointer object) { - AutocompleteEditViewGtk* edit_view = - reinterpret_cast<AutocompleteEditViewGtk*>( - g_object_get_data(G_OBJECT(object), kAutocompleteEditViewGtkKey)); - edit_view->ClipboardGetSelection(clipboard, selection_data, info); -} - -void AutocompleteEditViewGtk::ClipboardGetSelection( - GtkClipboard* clipboard, - GtkSelectionData* selection_data, - guint info) { - gtk_selection_data_set_text(selection_data, primary_selection_text_.c_str(), - primary_selection_text_.size()); -} diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h index 66b837b..1eb1736 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h +++ b/chrome/browser/autocomplete/autocomplete_edit_view_gtk.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -25,11 +25,9 @@ class AutocompleteEditController; class AutocompleteEditModel; class AutocompletePopupView; +class BubblePositioner; class Profile; class TabContents; -namespace views { -class View; -} #if !defined(TOOLKIT_VIEWS) class GtkThemeProvider; @@ -55,16 +53,14 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, Profile* profile, CommandUpdater* command_updater, bool popup_window_mode, -#if defined(TOOLKIT_VIEWS) - const views::View* location_bar); -#else - GtkWidget* location_bar); -#endif + const BubblePositioner* bubble_positioner); ~AutocompleteEditViewGtk(); // Initialize, create the underlying widgets, etc. void Init(); + GtkWidget* widget() { return alignment_.get(); } + // Returns the width, in pixels, needed to display the current text. The // returned value includes margins and borders. int TextWidth(); @@ -86,9 +82,6 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, virtual std::wstring GetText() const; - virtual bool IsEditingOrEmpty() const; - virtual int GetIcon() const; - virtual void SetUserText(const std::wstring& text) { SetUserText(text, text, true); } @@ -141,9 +134,6 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, GtkTextBuffer*); CHROMEG_CALLBACK_2(AutocompleteEditViewGtk, void, HandleMarkSet, GtkTextBuffer*, GtkTextIter*, GtkTextMark*); - // As above, but called after the default handler. - CHROMEG_CALLBACK_2(AutocompleteEditViewGtk, void, HandleMarkSetAfter, - GtkTextBuffer*, GtkTextIter*, GtkTextMark*); CHROMEG_CALLBACK_3(AutocompleteEditViewGtk, void, HandleInsertText, GtkTextBuffer*, GtkTextIter*, const gchar*, gint); CHROMEG_CALLBACK_0(AutocompleteEditViewGtk, void, @@ -182,20 +172,6 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, CHROMEGTK_CALLBACK_1(AutocompleteEditViewGtk, void, HandleWidgetDirectionChanged, GtkTextDirection); - // Callback for the PRIMARY selection clipboard. - static void ClipboardGetSelectionThunk(GtkClipboard* clipboard, - GtkSelectionData* selection_data, - guint info, - gpointer object); - void ClipboardGetSelection(GtkClipboard* clipboard, - GtkSelectionData* selection_data, - guint info); - - // Take control of the PRIMARY selection clipboard with |text|. Use - // |text_buffer_| as the owner, so that this doesn't remove the selection on - // it. This makes use of the above callbacks. - void OwnPrimarySelection(const std::string& text); - // Gets the GTK_TEXT_WINDOW_WIDGET coordinates for |text_view_| that bound the // given iters. gfx::Rect WindowBoundsFromIters(GtkTextIter* iter1, GtkTextIter* iter2); @@ -233,8 +209,7 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, // Internally invoked whenever the text changes in some way. void TextChanged(); - // Save |selected_text| as the PRIMARY X selection. Unlike - // OwnPrimarySelection(), this won't set an owner or use callbacks. + // Save |selected_text| as the PRIMARY X selection. void SavePrimarySelection(const std::string& selected_text); // Update the field with |text| and set the selection. @@ -264,7 +239,7 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, GtkTextBuffer* text_buffer_; GtkTextTag* faded_text_tag_; GtkTextTag* secure_scheme_tag_; - GtkTextTag* security_error_scheme_tag_; + GtkTextTag* insecure_scheme_tag_; GtkTextTag* normal_text_tag_; scoped_ptr<AutocompleteEditModel> model_; @@ -280,7 +255,7 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, // different presentation (smaller font size). This is used for popups. bool popup_window_mode_; - ToolbarModel::SecurityLevel security_level_; + ToolbarModel::SecurityLevel scheme_security_level_; // Selection at the point where the user started using the // arrows to move around in the popup. @@ -297,12 +272,8 @@ class AutocompleteEditViewGtk : public AutocompleteEditView, // it, we pass this string to SavePrimarySelection()). std::string selected_text_; - // When we own the X clipboard, this is the text for it. - std::string primary_selection_text_; - - // IDs of the signal handlers for "mark-set" on |text_buffer_|. + // ID of the signal handler for "mark-set" on |text_buffer_|. gulong mark_set_handler_id_; - gulong mark_set_handler_id2_; #if defined(OS_CHROMEOS) // The following variables are used to implement select-all-on-mouse-up, which diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h index 80f18e8..11bb62f 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.h +++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -13,6 +13,7 @@ class AutocompleteEditController; class AutocompletePopupViewMac; +class BubblePositioner; class Clipboard; class Profile; class ToolbarModel; @@ -23,6 +24,7 @@ class AutocompleteEditViewMac : public AutocompleteEditView, public AutocompleteTextFieldObserver { public: AutocompleteEditViewMac(AutocompleteEditController* controller, + const BubblePositioner* bubble_positioner, ToolbarModel* toolbar_model, Profile* profile, CommandUpdater* command_updater, @@ -46,10 +48,6 @@ class AutocompleteEditViewMac : public AutocompleteEditView, const std::wstring& keyword); virtual std::wstring GetText() const; - - virtual bool IsEditingOrEmpty() const; - virtual int GetIcon() const; - virtual void SetUserText(const std::wstring& text) { SetUserText(text, text, true); } @@ -100,10 +98,6 @@ class AutocompleteEditViewMac : public AutocompleteEditView, // empty string if no appropriate data is found on |clipboard|. static std::wstring GetClipboardText(Clipboard* clipboard); - // If |resource_id| has a PDF image which can be used, return it. - // Otherwise return the PNG image from the resource bundle. - static NSImage* ImageForResource(int resource_id); - private: // Called when the user hits backspace in |field_|. Checks whether // keyword search is being terminated. Returns true if the diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm index 61ff69dd..81a3daf 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm +++ b/chrome/browser/autocomplete/autocomplete_edit_view_mac.mm @@ -9,7 +9,6 @@ #include "app/clipboard/clipboard.h" #include "app/clipboard/scoped_clipboard_writer.h" #include "app/resource_bundle.h" -#include "base/nsimage_cache_mac.h" #include "base/string_util.h" #include "base/sys_string_conversions.h" #include "base/utf_string_conversions.h" @@ -21,7 +20,6 @@ #include "chrome/browser/tab_contents/tab_contents.h" #include "chrome/browser/toolbar_model.h" #include "grit/generated_resources.h" -#include "grit/theme_resources.h" #include "net/base/escape.h" // Focus-handling between |field_| and |model_| is a bit subtle. @@ -63,6 +61,15 @@ const NSColor* ColorWithRGBBytes(int rr, int gg, int bb) { blue:static_cast<float>(bb)/255.0 alpha:1.0]; } +const NSColor* SecureBackgroundColor() { + return ColorWithRGBBytes(255, 245, 195); // Yellow +} +const NSColor* NormalBackgroundColor() { + return [NSColor controlBackgroundColor]; +} +const NSColor* InsecureBackgroundColor() { + return [NSColor controlBackgroundColor]; +} const NSColor* HostTextColor() { return [NSColor blackColor]; @@ -70,14 +77,11 @@ const NSColor* HostTextColor() { const NSColor* BaseTextColor() { return [NSColor darkGrayColor]; } -const NSColor* EVSecureSchemeColor() { - return ColorWithRGBBytes(0x07, 0x95, 0x00); -} const NSColor* SecureSchemeColor() { - return ColorWithRGBBytes(0x00, 0x0e, 0x95); + return ColorWithRGBBytes(0x00, 0x96, 0x14); } -const NSColor* SecurityErrorSchemeColor() { - return ColorWithRGBBytes(0xa2, 0x00, 0x00); +const NSColor* InsecureSchemeColor() { + return ColorWithRGBBytes(0xc8, 0x00, 0x00); } // Store's the model and view state across tab switches. @@ -121,57 +125,20 @@ NSRange ComponentToNSRange(const url_parse::Component& component) { } // namespace -// static -NSImage* AutocompleteEditViewMac::ImageForResource(int resource_id) { - NSString* image_name = nil; - - switch(resource_id) { - // From the autocomplete popup, or the star icon at the RHS of the - // text field. - case IDR_OMNIBOX_STAR: image_name = @"omnibox_star.pdf"; break; - case IDR_OMNIBOX_STAR_LIT: image_name = @"omnibox_star_lit.pdf"; break; - - // Values from |AutocompleteMatch::TypeToIcon()|. - case IDR_OMNIBOX_SEARCH: image_name = @"omnibox_search.pdf"; break; - case IDR_OMNIBOX_HTTP: image_name = @"omnibox_http.pdf"; break; - case IDR_OMNIBOX_HISTORY: image_name = @"omnibox_history.pdf"; break; - case IDR_OMNIBOX_MORE: image_name = @"omnibox_more.pdf"; break; - - // Values from |ToolbarModel::GetIcon()|. - case IDR_OMNIBOX_HTTPS_VALID: - image_name = @"omnibox_https_valid.pdf"; break; - case IDR_OMNIBOX_HTTPS_WARNING: - image_name = @"omnibox_https_warning.pdf"; break; - case IDR_OMNIBOX_HTTPS_INVALID: - image_name = @"omnibox_https_invalid.pdf"; break; - } - - if (image_name) { - if (NSImage* image = nsimage_cache::ImageNamed(image_name)) { - return image; - } else { - NOTREACHED() - << "Missing image for " << base::SysNSStringToUTF8(image_name); - } - } - - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - return rb.GetNSImageNamed(resource_id); -} - // TODO(shess): AutocompletePopupViewMac doesn't really need an // NSTextField. It wants to know where the position the popup, what // font to use, and it also needs to be able to attach the popup to // the window |field_| is in. AutocompleteEditViewMac::AutocompleteEditViewMac( AutocompleteEditController* controller, + const BubblePositioner* bubble_positioner, ToolbarModel* toolbar_model, Profile* profile, CommandUpdater* command_updater, AutocompleteTextField* field) : model_(new AutocompleteEditModel(this, controller, profile)), - popup_view_(new AutocompletePopupViewMac(this, model_.get(), profile, - field)), + popup_view_(new AutocompletePopupViewMac( + this, model_.get(), bubble_positioner, profile, field)), controller_(controller), toolbar_model_(toolbar_model), command_updater_(command_updater), @@ -305,17 +272,6 @@ std::wstring AutocompleteEditViewMac::GetText() const { return base::SysNSStringToWide([field_ stringValue]); } -bool AutocompleteEditViewMac::IsEditingOrEmpty() const { - return model_->user_input_in_progress() || - ([[field_ stringValue] length] == 0); -} - -int AutocompleteEditViewMac::GetIcon() const { - return IsEditingOrEmpty() ? - AutocompleteMatch::TypeToIcon(model_->CurrentTextType()) : - toolbar_model_->GetIcon(); -} - void AutocompleteEditViewMac::SetUserText(const std::wstring& text, const std::wstring& display_text, bool update_popup) { @@ -454,23 +410,32 @@ void AutocompleteEditViewMac::SetText(const std::wstring& display_text) { // TODO(shess): GTK has this as a member var, figure out why. // [Could it be to not change if no change? If so, I'm guessing // AppKit may already handle that.] - const ToolbarModel::SecurityLevel security_level = - toolbar_model_->GetSecurityLevel(); + const ToolbarModel::SecurityLevel scheme_security_level = + toolbar_model_->GetSchemeSecurityLevel(); + + if (scheme_security_level == ToolbarModel::SECURE) { + [field_ setBackgroundColor:SecureBackgroundColor()]; + } else if (scheme_security_level == ToolbarModel::NORMAL) { + [field_ setBackgroundColor:NormalBackgroundColor()]; + } else if (scheme_security_level == ToolbarModel::INSECURE) { + [field_ setBackgroundColor:InsecureBackgroundColor()]; + } else { + NOTREACHED() << "Unexpected scheme_security_level: " + << scheme_security_level; + } // Emphasize the scheme for security UI display purposes (if necessary). if (!model_->user_input_in_progress() && scheme.is_nonempty() && - (security_level != ToolbarModel::NONE)) { + (scheme_security_level != ToolbarModel::NORMAL)) { NSColor* color; - if (security_level == ToolbarModel::EV_SECURE) { - color = EVSecureSchemeColor(); - } else if (security_level == ToolbarModel::SECURITY_ERROR) { - color = SecurityErrorSchemeColor(); + if (scheme_security_level == ToolbarModel::SECURE) { + color = SecureSchemeColor(); + } else { + color = InsecureSchemeColor(); // Add a strikethrough through the scheme. [as addAttribute:NSStrikethroughStyleAttributeName value:[NSNumber numberWithInt:NSUnderlineStyleSingle] range:ComponentToNSRange(scheme)]; - } else { - color = SecureSchemeColor(); } [as addAttribute:NSForegroundColorAttributeName value:color range:ComponentToNSRange(scheme)]; diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc index 5a0632f..6ead1fe 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_win.cc +++ b/chrome/browser/autocomplete/autocomplete_edit_view_win.cc @@ -28,6 +28,7 @@ #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/autocomplete/autocomplete_accessibility.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" +#include "chrome/browser/autocomplete/autocomplete_popup_view.h" #include "chrome/browser/autocomplete/keyword_provider.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/command_updater.h" @@ -386,10 +387,10 @@ AutocompleteEditViewWin::AutocompleteEditViewWin( Profile* profile, CommandUpdater* command_updater, bool popup_window_mode, - const views::View* location_bar) + const BubblePositioner* bubble_positioner) : model_(new AutocompleteEditModel(this, controller, profile)), - popup_view_(new AutocompletePopupContentsView(font, this, model_.get(), - profile, location_bar)), + popup_view_(AutocompletePopupView::CreatePopupView( + font, this, model_.get(), profile, bubble_positioner)), controller_(controller), parent_view_(parent_view), toolbar_model_(toolbar_model), @@ -406,9 +407,8 @@ AutocompleteEditViewWin::AutocompleteEditViewWin( in_drag_(false), initiated_drag_(false), drop_highlight_position_(-1), - background_color_(skia::SkColorToCOLORREF(LocationBarView::GetColor( - ToolbarModel::NONE, LocationBarView::BACKGROUND))), - security_level_(ToolbarModel::NONE), + background_color_(0), + scheme_security_level_(ToolbarModel::NORMAL), text_object_model_(NULL) { // Dummy call to a function exported by riched20.dll to ensure it sets up an // import dependency on the dll. @@ -459,8 +459,6 @@ AutocompleteEditViewWin::AutocompleteEditViewWin( cf.yOffset = -font_y_adjustment_ * kTwipsPerPixel; SetDefaultCharFormat(cf); - SetBackgroundColor(background_color_); - // By default RichEdit has a drop target. Revoke it so that we can install our // own. Revoke takes care of deleting the existing one. RevokeDragDrop(m_hWnd); @@ -510,21 +508,30 @@ void AutocompleteEditViewWin::Update( model_->UpdatePermanentText(toolbar_model_->GetText()); const ToolbarModel::SecurityLevel security_level = - toolbar_model_->GetSecurityLevel(); - const bool changed_security_level = (security_level != security_level_); + toolbar_model_->GetSchemeSecurityLevel(); + const COLORREF background_color = + skia::SkColorToCOLORREF(LocationBarView::GetColor( + security_level == ToolbarModel::SECURE, LocationBarView::BACKGROUND)); + const bool changed_security_level = + (security_level != scheme_security_level_); // Bail early when no visible state will actually change (prevents an // unnecessary ScopedFreeze, and thus UpdateWindow()). - if (!changed_security_level && !visibly_changed_permanent_text && - !tab_for_state_restoring) + if ((background_color == background_color_) && !changed_security_level && + !visibly_changed_permanent_text && !tab_for_state_restoring) return; - // Update our local state as desired. We set security_level_ here so it will - // already be correct before we get to any RevertAll()s below and use it. - security_level_ = security_level; + // Update our local state as desired. We set scheme_security_level_ here so + // it will already be correct before we get to any RevertAll()s below and use + // it. + ScopedFreeze freeze(this, GetTextObjectModel()); + if (background_color_ != background_color) { + background_color_ = background_color; + SetBackgroundColor(background_color_); + } + scheme_security_level_ = security_level; // When we're switching to a new tab, restore its state, if any. - ScopedFreeze freeze(this, GetTextObjectModel()); if (tab_for_state_restoring) { // Make sure we reset our own state first. The new tab may not have any // saved state, or it may not have had input in progress, in which case we @@ -598,16 +605,6 @@ std::wstring AutocompleteEditViewWin::GetText() const { return str; } -bool AutocompleteEditViewWin::IsEditingOrEmpty() const { - return model_->user_input_in_progress() || (GetTextLength() == 0); -} - -int AutocompleteEditViewWin::GetIcon() const { - return IsEditingOrEmpty() ? - AutocompleteMatch::TypeToIcon(model_->CurrentTextType()) : - toolbar_model_->GetIcon(); -} - void AutocompleteEditViewWin::SetUserText(const std::wstring& text, const std::wstring& display_text, bool update_popup) { @@ -1372,6 +1369,15 @@ void AutocompleteEditViewWin::OnKillFocus(HWND focus_wnd) { ScopedFreeze freeze(this, GetTextObjectModel()); DefWindowProc(WM_KILLFOCUS, reinterpret_cast<WPARAM>(focus_wnd), 0); + // Hide the "Type to search" hint if necessary. We do this after calling + // DefWindowProc() because processing the resulting IME messages may notify + // the controller that input is in progress, which could cause the visible + // hints to change. (I don't know if there's a real scenario where they + // actually do change, but this is safest.) + if (model_->show_search_hint() || + (model_->is_keyword_hint() && !model_->keyword().empty())) + controller_->OnChanged(); + // Cancel any user selection and scroll the text back to the beginning of the // URL. We have to do this after calling DefWindowProc() because otherwise // an in-progress IME composition will be completed at the new caret position, @@ -1681,6 +1687,12 @@ void AutocompleteEditViewWin::OnSetFocus(HWND focus_wnd) { model_->OnSetFocus(GetKeyState(VK_CONTROL) < 0); + // Notify controller if it needs to show hint UI of some kind. + ScopedFreeze freeze(this, GetTextObjectModel()); + if (model_->show_search_hint() || + (model_->is_keyword_hint() && !model_->keyword().empty())) + controller_->OnChanged(); + // Restore saved selection if available. if (saved_selection_for_focus_change_.cpMin != -1) { SetSelectionRange(saved_selection_for_focus_change_); @@ -2048,11 +2060,11 @@ void AutocompleteEditViewWin::EmphasizeURLComponents() { // Set the baseline emphasis. CHARFORMAT cf = {0}; cf.dwMask = CFM_COLOR; + const bool is_secure = (scheme_security_level_ == ToolbarModel::SECURE); // If we're going to emphasize parts of the text, then the baseline state // should be "de-emphasized". If not, then everything should be rendered in // the standard text color. - cf.crTextColor = skia::SkColorToCOLORREF(LocationBarView::GetColor( - security_level_, + cf.crTextColor = skia::SkColorToCOLORREF(LocationBarView::GetColor(is_secure, emphasize ? LocationBarView::DEEMPHASIZED_TEXT : LocationBarView::TEXT)); // NOTE: Don't use SetDefaultCharFormat() instead of the below; that sets the // format that will get applied to text added in the future, not to text @@ -2063,7 +2075,7 @@ void AutocompleteEditViewWin::EmphasizeURLComponents() { if (emphasize) { // We've found a host name, give it more emphasis. cf.crTextColor = skia::SkColorToCOLORREF(LocationBarView::GetColor( - security_level_, LocationBarView::TEXT)); + is_secure, LocationBarView::TEXT)); SetSelection(host.begin, host.end()); SetSelectionCharFormat(cf); } @@ -2071,13 +2083,13 @@ void AutocompleteEditViewWin::EmphasizeURLComponents() { // Emphasize the scheme for security UI display purposes (if necessary). insecure_scheme_component_.reset(); if (!model_->user_input_in_progress() && scheme.is_nonempty() && - (security_level_ != ToolbarModel::NONE)) { - if (security_level_ == ToolbarModel::SECURITY_ERROR) { + (scheme_security_level_ != ToolbarModel::NORMAL)) { + if (!is_secure) { insecure_scheme_component_.begin = scheme.begin; insecure_scheme_component_.len = scheme.len; } cf.crTextColor = skia::SkColorToCOLORREF(LocationBarView::GetColor( - security_level_, LocationBarView::SECURITY_TEXT)); + is_secure, LocationBarView::SECURITY_TEXT)); SetSelection(scheme.begin, scheme.end()); SetSelectionCharFormat(cf); } @@ -2171,8 +2183,8 @@ void AutocompleteEditViewWin::DrawSlashForInsecureScheme( canvas.save(); if (selection_rect.isEmpty() || canvas.clipRect(selection_rect, SkRegion::kDifference_Op)) { - paint.setColor(LocationBarView::GetColor(security_level_, - LocationBarView::SECURITY_TEXT)); + paint.setColor(LocationBarView::GetColor(false, + LocationBarView::SCHEME_STRIKEOUT)); canvas.drawLine(start_point.fX, start_point.fY, end_point.fX, end_point.fY, paint); } @@ -2180,7 +2192,7 @@ void AutocompleteEditViewWin::DrawSlashForInsecureScheme( // Draw the selected portion of the stroke. if (!selection_rect.isEmpty() && canvas.clipRect(selection_rect)) { - paint.setColor(LocationBarView::GetColor(security_level_, + paint.setColor(LocationBarView::GetColor(false, LocationBarView::SELECTED_TEXT)); canvas.drawLine(start_point.fX, start_point.fY, end_point.fX, end_point.fY, paint); diff --git a/chrome/browser/autocomplete/autocomplete_edit_view_win.h b/chrome/browser/autocomplete/autocomplete_edit_view_win.h index 33af6a7..9de2d34 100644 --- a/chrome/browser/autocomplete/autocomplete_edit_view_win.h +++ b/chrome/browser/autocomplete/autocomplete_edit_view_win.h @@ -69,7 +69,7 @@ class AutocompleteEditViewWin Profile* profile, CommandUpdater* command_updater, bool popup_window_mode, - const views::View* location_bar); + const BubblePositioner* bubble_positioner); ~AutocompleteEditViewWin(); views::View* parent_view() const { return parent_view_; } @@ -91,9 +91,6 @@ class AutocompleteEditViewWin virtual std::wstring GetText() const; - virtual bool IsEditingOrEmpty() const; - virtual int GetIcon() const; - virtual void SetUserText(const std::wstring& text) { SetUserText(text, text, true); } @@ -479,7 +476,7 @@ class AutocompleteEditViewWin // Security UI-related data. COLORREF background_color_; - ToolbarModel::SecurityLevel security_level_; + ToolbarModel::SecurityLevel scheme_security_level_; // This interface is useful for accessing the CRichEditCtrl at a low level. mutable ITextDocument* text_object_model_; diff --git a/chrome/browser/autocomplete/autocomplete_popup_model.cc b/chrome/browser/autocomplete/autocomplete_popup_model.cc index 009cc0b..41e0255 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_model.cc +++ b/chrome/browser/autocomplete/autocomplete_popup_model.cc @@ -103,24 +103,12 @@ void AutocompletePopupModel::SetSelectedLine(size_t line, if (line == selected_line_) return; // Nothing else to do. - // We need to update |selected_line_| before calling OnPopupDataChanged(), so - // that when the edit notifies its controller that something has changed, the - // controller can get the correct updated data. - // - // NOTE: We should never reach here with no selected line; the same code that - // opened the popup and made it possible to get here should have also set a - // selected line. - CHECK(selected_line_ != kNoMatch); - GURL current_destination(result.match_at(selected_line_).destination_url); - view_->InvalidateLine(selected_line_); - selected_line_ = line; - view_->InvalidateLine(selected_line_); - // Update the edit with the new data for this match. // TODO(pkasting): If |selected_line_| moves to the controller, this can be // eliminated and just become a call to the observer on the edit. std::wstring keyword; const bool is_keyword_hint = GetKeywordForMatch(match, &keyword); + if (reset_to_default) { std::wstring inline_autocomplete_text; if ((match.inline_autocomplete_offset != std::wstring::npos) && @@ -128,15 +116,27 @@ void AutocompletePopupModel::SetSelectedLine(size_t line, inline_autocomplete_text = match.fill_into_edit.substr(match.inline_autocomplete_offset); } - edit_model_->OnPopupDataChanged(inline_autocomplete_text, NULL, - keyword, is_keyword_hint); + edit_model_->OnPopupDataChanged(inline_autocomplete_text, false, + keyword, is_keyword_hint, match.type); } else { - edit_model_->OnPopupDataChanged(match.fill_into_edit, ¤t_destination, - keyword, is_keyword_hint); + edit_model_->OnPopupDataChanged(match.fill_into_edit, true, + keyword, is_keyword_hint, match.type); } // Repaint old and new selected lines immediately, so that the edit doesn't - // appear to update [much] faster than the popup. + // appear to update [much] faster than the popup. We must not update + // |selected_line_| before calling OnPopupDataChanged() (since the edit may + // call us back to get data about the old selection), and we must not call + // UpdateWindow() before updating |selected_line_| (since the paint routine + // relies on knowing the correct selected line). + // + // NOTE: We should never reach here with no selected line; the same code that + // opened the popup and made it possible to get here should have also set a + // selected line. + CHECK(selected_line_ != kNoMatch); + view_->InvalidateLine(selected_line_); + selected_line_ = line; + view_->InvalidateLine(selected_line_); view_->PaintUpdatesNow(); } @@ -147,21 +147,22 @@ void AutocompletePopupModel::ResetToDefaultMatch() { view_->OnDragCanceled(); } -void AutocompletePopupModel::InfoForCurrentSelection( - AutocompleteMatch* match, +GURL AutocompletePopupModel::URLsForCurrentSelection( + PageTransition::Type* transition, + bool* is_history_what_you_typed_match, GURL* alternate_nav_url) const { - DCHECK(match != NULL); const AutocompleteResult* result; + AutocompleteResult::const_iterator match; if (!controller_->done()) { result = &controller_->latest_result(); // It's technically possible for |result| to be empty if no provider returns // a synchronous result but the query has not completed synchronously; // pratically, however, that should never actually happen. if (result->empty()) - return; + return GURL(); // The user cannot have manually selected a match, or the query would have // stopped. So the default match must be the desired selection. - *match = *result->default_match(); + match = result->default_match(); } else { CHECK(IsOpen()); // The query isn't running, so the standard result set can't possibly be out @@ -176,10 +177,15 @@ void AutocompletePopupModel::InfoForCurrentSelection( // called instead. CHECK(!result->empty()); CHECK(selected_line_ < result->size()); - *match = result->match_at(selected_line_); + match = result->begin() + selected_line_; } + if (transition) + *transition = match->transition; + if (is_history_what_you_typed_match) + *is_history_what_you_typed_match = match->is_history_what_you_typed_match; if (alternate_nav_url && manually_selected_match_.empty()) *alternate_nav_url = result->alternate_nav_url(); + return match->destination_url; } bool AutocompletePopupModel::GetKeywordForMatch(const AutocompleteMatch& match, @@ -233,7 +239,7 @@ void AutocompletePopupModel::Move(int count) { } void AutocompletePopupModel::TryDeletingCurrentItem() { - // We could use InfoForCurrentSelection() here, but it seems better to try + // We could use URLsForCurrentSelection() here, but it seems better to try // and shift-delete the actual selection, rather than any "in progress, not // yet visible" one. if (selected_line_ == kNoMatch) diff --git a/chrome/browser/autocomplete/autocomplete_popup_model.h b/chrome/browser/autocomplete/autocomplete_popup_model.h index a986419..166a238 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_model.h +++ b/chrome/browser/autocomplete/autocomplete_popup_model.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -73,9 +73,15 @@ class AutocompletePopupModel : public NotificationObserver { // will change the selected line back to the default match and redraw. void ResetToDefaultMatch(); - // Copies the selected match into |match|. If an update is in progress, - // "selected" means "default in the latest matches". If there are no matches, - // does not update |match|. + // Returns the URL for the selected match. If an update is in progress, + // "selected" means "default in the latest matches". If there are no + // matches, returns the empty string. + // + // If |transition_type| is non-NULL, it will be set to the appropriate + // transition type for the selected entry (TYPED or GENERATED). + // + // If |is_history_what_you_typed_match| is non-NULL, it will be set based on + // the selected entry's is_history_what_you_typed value. // // If |alternate_nav_url| is non-NULL, it will be set to the alternate // navigation URL for |url| if one exists, or left unchanged otherwise. See @@ -83,8 +89,10 @@ class AutocompletePopupModel : public NotificationObserver { // // TODO(pkasting): When manually_selected_match_ moves to the controller, this // can move too. - void InfoForCurrentSelection(AutocompleteMatch* match, - GURL* alternate_nav_url) const; + GURL URLsForCurrentSelection( + PageTransition::Type* transition, + bool* is_history_what_you_typed_match, + GURL* alternate_nav_url) const; // Gets the selected keyword or keyword hint for the given match. Returns // true if |keyword| represents a keyword hint, or false if |keyword| diff --git a/chrome/browser/autocomplete/autocomplete_popup_view.h b/chrome/browser/autocomplete/autocomplete_popup_view.h index 5674e4b..41b21a6 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view.h +++ b/chrome/browser/autocomplete/autocomplete_popup_view.h @@ -13,7 +13,15 @@ #include "build/build_config.h" +class AutocompleteEditView; class AutocompletePopupModel; +class BubblePositioner; +namespace gfx { +class Font; +} +class AutocompleteEditViewWin; +class AutocompleteEditModel; +class Profile; class AutocompletePopupView { public: @@ -40,6 +48,17 @@ class AutocompletePopupView { // Returns the popup's model. virtual AutocompletePopupModel* GetModel() = 0; + +#if !defined(OS_MACOSX) + // Create a popup view implementation. It may make sense for this to become + // platform independent eventually. + static AutocompletePopupView* CreatePopupView( + const gfx::Font& font, + AutocompleteEditView* edit_view, + AutocompleteEditModel* edit_model, + Profile* profile, + const BubblePositioner* bubble_positioner); +#endif }; #endif // CHROME_BROWSER_AUTOCOMPLETE_AUTOCOMPLETE_POPUP_VIEW_H_ diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc b/chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc index 46a2115..84538e0f 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc +++ b/chrome/browser/autocomplete/autocomplete_popup_view_gtk.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -18,18 +18,16 @@ #include "chrome/browser/autocomplete/autocomplete_edit.h" #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/defaults.h" -#include "chrome/browser/gtk/gtk_theme_provider.h" #include "chrome/browser/gtk/gtk_util.h" #include "chrome/browser/profile.h" #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_model.h" #include "chrome/common/notification_service.h" -#include "gfx/color_utils.h" #include "gfx/font.h" #include "gfx/gtk_util.h" #include "gfx/rect.h" -#include "gfx/skia_utils_gtk.h" #include "grit/theme_resources.h" namespace { @@ -46,40 +44,27 @@ const GdkColor kDescriptionSelectedTextColor = GDK_COLOR_RGB(0x78, 0x82, 0xb1); // We have a 1 pixel border around the entire results popup. const int kBorderThickness = 1; - // The vertical height of each result. const int kHeightPerResult = 24; - // Width of the icons. -const int kIconWidth = 17; - +const int kIconWidth = 16; // We want to vertically center the image in the result space. -const int kIconTopPadding = 2; - +const int kIconTopPadding = 4; // Space between the left edge (including the border) and the text. -const int kIconLeftPadding = 5 + kBorderThickness; - -// Space between the image and the text. -const int kIconRightPadding = 7; - +const int kIconLeftPadding = 6 + kBorderThickness; +// Space between the image and the text. Would be 6 to line up with the +// entry, but nudge it a bit more to match with the text in the entry. +const int kIconRightPadding = 10; // Space between the left edge (including the border) and the text. const int kIconAreaWidth = kIconLeftPadding + kIconWidth + kIconRightPadding; - // Space between the right edge (including the border) and the text. const int kRightPadding = 3; - // When we have both a content and description string, we don't want the // content to push the description off. Limit the content to a percentage of // the total width. const float kContentWidthPercentage = 0.7; -// How much to offset the popup from the bottom of the location bar in gtk mode. -const int kGtkVerticalOffset = 3; - -// How much we shrink the popup on the left/right in gtk mode. -const int kGtkHorizontalOffset = 1; - // UTF-8 Left-to-right embedding. const char* kLRE = "\xe2\x80\xaa"; @@ -118,7 +103,6 @@ void SetupLayoutForMatch(PangoLayout* layout, const std::wstring& text, AutocompleteMatch::ACMatchClassifications classifications, const GdkColor* base_color, - const GdkColor* url_color, const std::string& prefix_text) { // We can have a prefix, or insert additional characters while processing the @@ -155,7 +139,7 @@ void SetupLayoutForMatch(PangoLayout* layout, // support it. const GdkColor* color = base_color; if (i->style & ACMatchClassification::URL) { - color = url_color; + color = &kURLTextColor; // Insert a left to right embedding to make sure that URLs are shown LTR. std::string lre(kLRE); text_utf8.insert(offset, lre); @@ -180,81 +164,48 @@ void SetupLayoutForMatch(PangoLayout* layout, pango_attr_list_unref(attrs); } -GdkPixbuf* IconForMatch(BrowserThemeProvider* theme, - const AutocompleteMatch& match, - bool selected) { - int icon = match.starred ? - IDR_OMNIBOX_STAR : AutocompleteMatch::TypeToIcon(match.type); - if (selected) { - switch (icon) { - case IDR_OMNIBOX_HTTP: icon = IDR_OMNIBOX_HTTP_DARK; break; - case IDR_OMNIBOX_HISTORY: icon = IDR_OMNIBOX_HISTORY_DARK; break; - case IDR_OMNIBOX_SEARCH: icon = IDR_OMNIBOX_SEARCH_DARK; break; - case IDR_OMNIBOX_MORE: icon = IDR_OMNIBOX_MORE_DARK; break; - case IDR_OMNIBOX_STAR: icon = IDR_OMNIBOX_STAR_DARK; break; - default: NOTREACHED(); break; - } - } - +GdkPixbuf* IconForMatch(const AutocompleteMatch& match, bool selected) { + // TODO(deanm): These would be better as pixmaps someday. // TODO(estade): Do we want to flip these for RTL? (Windows doesn't). - return theme->GetPixbufNamed(icon); -} - -// Generates the normal URL color, a green color used in unhighlighted URL -// text. It is a mix of |kURLTextColor| and the current text color. Unlike the -// selected text color, It is more important to match the qualities of the -// foreground typeface color instead of taking the background into account. -GdkColor NormalURLColor(GdkColor foreground) { - color_utils::HSL fg_hsl; - color_utils::SkColorToHSL(gfx::GdkColorToSkColor(foreground), &fg_hsl); - - color_utils::HSL hue_hsl; - color_utils::SkColorToHSL(gfx::GdkColorToSkColor(kURLTextColor), &hue_hsl); - - // Only allow colors that have a fair amount of saturation in them (color vs - // white). This means that our output color will always be fairly green. - double s = std::max(0.5, fg_hsl.s); - - // Make sure the luminance is at least as bright as the |kURLTextColor| green - // would be if we were to use that. - double l; - if (fg_hsl.l < hue_hsl.l) - l = hue_hsl.l; - else - l = (fg_hsl.l + hue_hsl.l) / 2; - - color_utils::HSL output = { hue_hsl.h, s, l }; - return gfx::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); -} + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + static GdkPixbuf* o2_globe = rb.GetPixbufNamed(IDR_O2_GLOBE); + static GdkPixbuf* o2_globe_s = rb.GetPixbufNamed(IDR_O2_GLOBE_SELECTED_DARK); + static GdkPixbuf* o2_history = rb.GetPixbufNamed(IDR_O2_HISTORY); + static GdkPixbuf* o2_history_s = + rb.GetPixbufNamed(IDR_O2_HISTORY_SELECTED_DARK); + static GdkPixbuf* o2_more = rb.GetPixbufNamed(IDR_O2_MORE); + static GdkPixbuf* o2_more_s = rb.GetPixbufNamed(IDR_O2_MORE_SELECTED_DARK); + static GdkPixbuf* o2_search = rb.GetPixbufNamed(IDR_O2_SEARCH); + static GdkPixbuf* o2_search_s = + rb.GetPixbufNamed(IDR_O2_SEARCH_SELECTED_DARK); + static GdkPixbuf* o2_star = rb.GetPixbufNamed(IDR_O2_STAR); + static GdkPixbuf* o2_star_s = rb.GetPixbufNamed(IDR_O2_STAR_SELECTED_DARK); + + if (match.starred) + return selected ? o2_star_s : o2_star; + + switch (match.type) { + case AutocompleteMatch::URL_WHAT_YOU_TYPED: + case AutocompleteMatch::NAVSUGGEST: + return selected ? o2_globe_s : o2_globe; + case AutocompleteMatch::HISTORY_URL: + case AutocompleteMatch::HISTORY_TITLE: + case AutocompleteMatch::HISTORY_BODY: + case AutocompleteMatch::HISTORY_KEYWORD: + return selected ? o2_history_s : o2_history; + case AutocompleteMatch::SEARCH_WHAT_YOU_TYPED: + case AutocompleteMatch::SEARCH_HISTORY: + case AutocompleteMatch::SEARCH_SUGGEST: + case AutocompleteMatch::SEARCH_OTHER_ENGINE: + return selected ? o2_search_s : o2_search; + case AutocompleteMatch::OPEN_HISTORY_PAGE: + return selected ? o2_more_s : o2_more; + default: + NOTREACHED(); + break; + } -// Generates the selected URL color, a green color used on URL text in the -// currently highlighted entry in the autocomplete popup. It's a mix of -// |kURLTextColor|, the current text color, and the background color (the -// select highlight). It is more important to contrast with the background -// saturation than to look exactly like the foreground color. -GdkColor SelectedURLColor(GdkColor foreground, GdkColor background) { - color_utils::HSL fg_hsl; - color_utils::SkColorToHSL(gfx::GdkColorToSkColor(foreground), &fg_hsl); - - color_utils::HSL bg_hsl; - color_utils::SkColorToHSL(gfx::GdkColorToSkColor(background), &bg_hsl); - - color_utils::HSL hue_hsl; - color_utils::SkColorToHSL(gfx::GdkColorToSkColor(kURLTextColor), &hue_hsl); - - // The saturation of the text should be opposite of the background, clamped - // to 0.2-0.8. We make sure it's greater than 0.2 so there's some color, but - // less than 0.8 so it's not the oversaturated neon-color. - double opposite_s = 1 - bg_hsl.s; - double s = std::max(0.2, std::min(0.8, opposite_s)); - - // The luminance should match the luminance of the foreground text. Again, - // we clamp so as to have at some amount of color (green) in the text. - double opposite_l = fg_hsl.l; - double l = std::max(0.1, std::min(0.9, opposite_l)); - - color_utils::HSL output = { hue_hsl.h, s, l }; - return gfx::SkColorToGdkColor(color_utils::HSLToSkColor(output, 255)); + return NULL; } } // namespace @@ -263,13 +214,12 @@ AutocompletePopupViewGtk::AutocompletePopupViewGtk( AutocompleteEditView* edit_view, AutocompleteEditModel* edit_model, Profile* profile, - GtkWidget* location_bar) + const BubblePositioner* bubble_positioner) : model_(new AutocompletePopupModel(this, edit_model, profile)), edit_view_(edit_view), - location_bar_(location_bar), + bubble_positioner_(bubble_positioner), window_(gtk_window_new(GTK_WINDOW_POPUP)), layout_(NULL), - theme_provider_(GtkThemeProvider::GetFrom(profile)), opened_(false) { GTK_WIDGET_UNSET_FLAGS(window_, GTK_CAN_FOCUS); // Don't allow the window to be resized. This also forces the window to @@ -278,6 +228,8 @@ AutocompletePopupViewGtk::AutocompletePopupViewGtk( gtk_widget_set_app_paintable(window_, TRUE); // Have GTK double buffer around the expose signal. gtk_widget_set_double_buffered(window_, TRUE); + // Set the background color, so we don't need to paint it manually. + gtk_widget_modify_bg(window_, GTK_STATE_NORMAL, &kBackgroundColor); // Cache the layout so we don't have to create it for every expose. If we // were a real widget we should handle changing directions, but we're not @@ -310,11 +262,6 @@ AutocompletePopupViewGtk::AutocompletePopupViewGtk( g_signal_connect(window_, "expose-event", G_CALLBACK(&HandleExposeThunk), this); - registrar_.Add(this, - NotificationType::BROWSER_THEME_CHANGED, - NotificationService::AllSources()); - theme_provider_->InitThemesFor(this); - // TODO(erg): There appears to be a bug somewhere in something which shows // itself when we're in NX. Previously, we called // gtk_util::ActAsRoundedWindow() to make this popup have rounded @@ -365,85 +312,16 @@ AutocompletePopupModel* AutocompletePopupViewGtk::GetModel() { return model_.get(); } -void AutocompletePopupViewGtk::Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details) { - DCHECK(type == NotificationType::BROWSER_THEME_CHANGED); - - if (theme_provider_->UseGtkTheme()) { - border_color_ = theme_provider_->GetBorderColor(); - - // Create a fake gtk table - GtkWidget* fake_tree = gtk_entry_new(); - GtkStyle* style = gtk_rc_get_style(fake_tree); - - background_color_ = style->base[GTK_STATE_NORMAL]; - selected_background_color_ = style->base[GTK_STATE_SELECTED]; - hovered_background_color_ = gtk_util::AverageColors( - background_color_, selected_background_color_); - - content_text_color_ = style->text[GTK_STATE_NORMAL]; - selected_content_text_color_ = style->text[GTK_STATE_SELECTED]; - url_text_color_ = - NormalURLColor(style->text[GTK_STATE_NORMAL]); - url_selected_text_color_ = - SelectedURLColor(style->text[GTK_STATE_SELECTED], - style->base[GTK_STATE_SELECTED]); - - description_text_color_ = style->text[GTK_STATE_NORMAL]; - description_selected_text_color_ = style->text[GTK_STATE_SELECTED]; - - g_object_ref_sink(fake_tree); - g_object_unref(fake_tree); - } else { - border_color_ = kBorderColor; - background_color_ = kBackgroundColor; - selected_background_color_ = kSelectedBackgroundColor; - hovered_background_color_ = kHoveredBackgroundColor; - - content_text_color_ = kContentTextColor; - selected_content_text_color_ = kContentTextColor; - url_text_color_ = kURLTextColor; - url_selected_text_color_ = kURLTextColor; - description_text_color_ = kDescriptionTextColor; - description_selected_text_color_ = kDescriptionSelectedTextColor; - } - - // Set the background color, so we don't need to paint it manually. - gtk_widget_modify_bg(window_, GTK_STATE_NORMAL, &background_color_); -} - void AutocompletePopupViewGtk::Show(size_t num_results) { - gint origin_x, origin_y; - gdk_window_get_origin(location_bar_->window, &origin_x, &origin_y); - GtkAllocation allocation = location_bar_->allocation; - int vertical_offset = 0; - int horizontal_offset = 0; - if (theme_provider_->UseGtkTheme()) { - // Shrink the popup by 1 pixel on both sides in gtk mode. The darkest line - // is usually one pixel in, and is almost always +/-1 pixel from this, - // meaning the vertical offset will hide (hopefully) problems when this is - // wrong. - horizontal_offset = kGtkHorizontalOffset; - - // We offset the the popup from the bottom of the location bar in gtk - // mode. The background color between the bottom of the location bar and - // the popup helps hide the fact that we can't really reliably match what - // the user would otherwise preceive as the left/right edges of the - // location bar. - vertical_offset = kGtkVerticalOffset; - } - - gtk_window_move(GTK_WINDOW(window_), - origin_x + allocation.x - kBorderThickness + horizontal_offset, - origin_y + allocation.y + allocation.height - kBorderThickness - 1 + - vertical_offset); - gtk_widget_set_size_request(window_, - allocation.width + (kBorderThickness * 2) - (horizontal_offset * 2), - (num_results * kHeightPerResult) + (kBorderThickness * 2)); - gtk_widget_show(window_); - StackWindow(); - opened_ = true; + gfx::Rect rect = bubble_positioner_->GetLocationStackBounds(); + rect.set_y(rect.bottom()); + rect.set_height((num_results * kHeightPerResult) + (kBorderThickness * 2)); + + gtk_window_move(GTK_WINDOW(window_), rect.x(), rect.y()); + gtk_widget_set_size_request(window_, rect.width(), rect.height()); + gtk_widget_show(window_); + StackWindow(); + opened_ = true; } void AutocompletePopupViewGtk::Hide() { @@ -536,7 +414,7 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, GdkGC* gc = gdk_gc_new(drawable); // kBorderColor is unallocated, so use the GdkRGB routine. - gdk_gc_set_rgb_fg_color(gc, &border_color_); + gdk_gc_set_rgb_fg_color(gc, &kBorderColor); // This assert is kinda ugly, but it would be more currently unneeded work // to support painting a border that isn't 1 pixel thick. There is no point @@ -549,17 +427,8 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, pango_layout_set_height(layout_, kHeightPerResult * PANGO_SCALE); - // An offset to align text in gtk mode. The hard coded constants in this file - // are all created for the chrome-theme. In an effort to make this look good - // on the majority of gtk themes, we shrink the popup by one pixel on each - // side and push it downwards a bit so there's space between the drawn - // location bar and the popup so we don't touch it (contrast with - // chrome-theme where that's exactly what we want). Because of that, we need - // to shift the content inside the popup by one pixel. - int gtk_offset = 0; - if (theme_provider_->UseGtkTheme()) - gtk_offset = kGtkHorizontalOffset; - + // TODO(deanm): Intersect the line and damage rects, and only repaint and + // layout the lines that are actually damaged. For now paint everything. for (size_t i = 0; i < result.size(); ++i) { gfx::Rect line_rect = GetRectForLine(i, window_rect.width()); // Only repaint and layout damaged lines. @@ -570,19 +439,18 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, bool is_selected = (model_->selected_line() == i); bool is_hovered = (model_->hovered_line() == i); if (is_selected || is_hovered) { - gdk_gc_set_rgb_fg_color(gc, is_selected ? &selected_background_color_ : - &hovered_background_color_); + gdk_gc_set_rgb_fg_color(gc, is_selected ? &kSelectedBackgroundColor : + &kHoveredBackgroundColor); // This entry is selected or hovered, fill a rect with the color. gdk_draw_rectangle(drawable, gc, TRUE, line_rect.x(), line_rect.y(), line_rect.width(), line_rect.height()); } - int icon_start_x = ltr ? (kIconLeftPadding - gtk_offset) : - (line_rect.width() - kIconLeftPadding - kIconWidth + gtk_offset); + int icon_start_x = ltr ? kIconLeftPadding : + line_rect.width() - kIconLeftPadding - kIconWidth; // Draw the icon for this result. - DrawFullPixbuf(drawable, gc, - IconForMatch(theme_provider_, match, is_selected), + DrawFullPixbuf(drawable, gc, IconForMatch(match, is_selected), icon_start_x, line_rect.y() + kIconTopPadding); // Draw the results text vertically centered in the results space. @@ -596,11 +464,7 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, // Note: We force to URL to LTR for all text directions. SetupLayoutForMatch(layout_, match.contents, match.contents_class, - is_selected ? &selected_content_text_color_ : - &content_text_color_, - is_selected ? &url_selected_text_color_ : - &url_text_color_, - std::string()); + &kContentTextColor, std::string()); int actual_content_width, actual_content_height; pango_layout_get_size(layout_, @@ -614,25 +478,22 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, line_rect.y() + ((kHeightPerResult - actual_content_height) / 2)); gdk_draw_layout(drawable, gc, - ltr ? (kIconAreaWidth - gtk_offset) : - (text_width - actual_content_width + gtk_offset), + ltr ? kIconAreaWidth : text_width - actual_content_width, content_y, layout_); if (has_description) { pango_layout_set_width(layout_, (text_width - actual_content_width) * PANGO_SCALE); SetupLayoutForMatch(layout_, match.description, match.description_class, - is_selected ? &description_selected_text_color_ : - &description_text_color_, - is_selected ? &url_selected_text_color_ : - &url_text_color_, + is_selected ? &kDescriptionSelectedTextColor : + &kDescriptionTextColor, std::string(" - ")); gint actual_description_width; pango_layout_get_size(layout_, &actual_description_width, NULL); - gdk_draw_layout(drawable, gc, ltr ? - (kIconAreaWidth - gtk_offset + actual_content_width) : - (text_width - actual_content_width + gtk_offset - - (actual_description_width / PANGO_SCALE)), + gdk_draw_layout(drawable, gc, + ltr ? kIconAreaWidth + actual_content_width : + text_width - actual_content_width - + actual_description_width / PANGO_SCALE, content_y, layout_); } } @@ -641,3 +502,14 @@ gboolean AutocompletePopupViewGtk::HandleExpose(GtkWidget* widget, return TRUE; } + +// static +AutocompletePopupView* AutocompletePopupView::CreatePopupView( + const gfx::Font& font, + AutocompleteEditView* edit_view, + AutocompleteEditModel* edit_model, + Profile* profile, + const BubblePositioner* bubble_positioner) { + return new AutocompletePopupViewGtk(edit_view, edit_model, profile, + bubble_positioner); +} diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_gtk.h b/chrome/browser/autocomplete/autocomplete_popup_view_gtk.h index 90cd2c9..f46cfb2 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view_gtk.h +++ b/chrome/browser/autocomplete/autocomplete_popup_view_gtk.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,27 +10,23 @@ #include "base/basictypes.h" #include "base/scoped_ptr.h" #include "chrome/browser/autocomplete/autocomplete_popup_view.h" -#include "chrome/common/notification_observer.h" -#include "chrome/common/notification_registrar.h" #include "webkit/glue/window_open_disposition.h" class AutocompleteEditModel; class AutocompleteEditView; class AutocompletePopupModel; -class GtkThemeProvider; class Profile; class SkBitmap; -class AutocompletePopupViewGtk : public AutocompletePopupView, - public NotificationObserver { +class AutocompletePopupViewGtk : public AutocompletePopupView { public: AutocompletePopupViewGtk(AutocompleteEditView* edit_view, AutocompleteEditModel* edit_model, Profile* profile, - GtkWidget* location_bar); + const BubblePositioner* bubble_positioner); ~AutocompletePopupViewGtk(); - // Overridden from AutocompletePopupView: + // Implement the AutocompletePopupView interface. virtual bool IsOpen() const { return opened_; } virtual void InvalidateLine(size_t line); virtual void UpdatePopupAppearance(); @@ -38,11 +34,6 @@ class AutocompletePopupViewGtk : public AutocompletePopupView, virtual void OnDragCanceled() {} virtual AutocompletePopupModel* GetModel(); - // Overridden from NotificationObserver: - virtual void Observe(NotificationType type, - const NotificationSource& source, - const NotificationDetails& details); - private: void Show(size_t num_results); void Hide(); @@ -88,7 +79,7 @@ class AutocompletePopupViewGtk : public AutocompletePopupView, scoped_ptr<AutocompletePopupModel> model_; AutocompleteEditView* edit_view_; - GtkWidget* location_bar_; + const BubblePositioner* bubble_positioner_; // Our popup window, which is the only widget used, and we paint it on our // own. This widget shouldn't be exposed outside of this class. @@ -96,22 +87,6 @@ class AutocompletePopupViewGtk : public AutocompletePopupView, // The pango layout object created from the window, cached across exposes. PangoLayout* layout_; - GtkThemeProvider* theme_provider_; - NotificationRegistrar registrar_; - - // A list of colors which we should use for drawing the popup. These change - // between gtk and normal mode. - GdkColor border_color_; - GdkColor background_color_; - GdkColor selected_background_color_; - GdkColor hovered_background_color_; - GdkColor content_text_color_; - GdkColor selected_content_text_color_; - GdkColor url_text_color_; - GdkColor url_selected_text_color_; - GdkColor description_text_color_; - GdkColor description_selected_text_color_; - // Whether our popup is currently open / shown, or closed / hidden. bool opened_; diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.h b/chrome/browser/autocomplete/autocomplete_popup_view_mac.h index 56d20fd..a430f58 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.h +++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -32,6 +32,7 @@ class AutocompletePopupViewMac : public AutocompletePopupView { public: AutocompletePopupViewMac(AutocompleteEditViewMac* edit_view, AutocompleteEditModel* edit_model, + const BubblePositioner* bubble_positioner, Profile* profile, NSTextField* field); virtual ~AutocompletePopupViewMac(); @@ -108,6 +109,7 @@ class AutocompletePopupViewMac : public AutocompletePopupView { scoped_ptr<AutocompletePopupModel> model_; AutocompleteEditViewMac* edit_view_; + const BubblePositioner* bubble_positioner_; // owned by toolbar controller NSTextField* field_; // owned by tab controller // Child window containing a matrix which implements the popup. diff --git a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm index 29ea9ab..644c065 100644 --- a/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm +++ b/chrome/browser/autocomplete/autocomplete_popup_view_mac.mm @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -10,11 +10,11 @@ #include "chrome/browser/autocomplete/autocomplete_edit.h" #include "chrome/browser/autocomplete/autocomplete_edit_view_mac.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/cocoa/event_utils.h" #include "gfx/rect.h" #include "grit/theme_resources.h" #import "third_party/GTM/AppKit/GTMNSAnimation+Duration.h" -#import "third_party/GTM/AppKit/GTMNSBezierPath+RoundRect.h" namespace { @@ -31,17 +31,17 @@ const int kCellHeightAdjust = 7.0; const CGFloat kPopupRoundingRadius = 3.5; // Gap between the field and the popup. -const CGFloat kPopupFieldGap = 0.0; +const CGFloat kPopupFieldGap = 2.0; // How opaque the popup window should be. This matches Windows (see // autocomplete_popup_contents_view.cc, kGlassPopupTransparency). const CGFloat kPopupAlpha = 240.0 / 255.0; // How much space to leave for the left and right margins. -const CGFloat kLeftRightMargin = 5.0; +const CGFloat kLeftRightMargin = 8.0; // How far to offset the text column from the left. -const CGFloat kTextXOffset = 29.0; +const CGFloat kTextXOffset = 33.0; // Animation duration when animating the popup window smaller. const CGFloat kShrinkAnimationDuration = 0.1; @@ -78,6 +78,54 @@ static const NSColor* DescriptionTextColor() { return [NSColor darkGrayColor]; } +// Helper to fetch and retain an image from the resource bundle. +NSImage* RetainedResourceImage(int resource_id) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + NSImage* image = rb.GetNSImageNamed(resource_id); + DCHECK(image); + return [image retain]; +} + +// Return the appropriate icon for the given match. Derived from the +// gtk code. +NSImage* MatchIcon(const AutocompleteMatch& match) { + if (match.starred) { + static NSImage* starImage = RetainedResourceImage(IDR_O2_STAR); + return starImage; + } + + switch (match.type) { + case AutocompleteMatch::URL_WHAT_YOU_TYPED: + case AutocompleteMatch::NAVSUGGEST: { + static NSImage* globeImage = RetainedResourceImage(IDR_O2_GLOBE); + return globeImage; + } + case AutocompleteMatch::HISTORY_URL: + case AutocompleteMatch::HISTORY_TITLE: + case AutocompleteMatch::HISTORY_BODY: + case AutocompleteMatch::HISTORY_KEYWORD: { + static NSImage* historyImage = RetainedResourceImage(IDR_O2_HISTORY); + return historyImage; + } + case AutocompleteMatch::SEARCH_WHAT_YOU_TYPED: + case AutocompleteMatch::SEARCH_HISTORY: + case AutocompleteMatch::SEARCH_SUGGEST: + case AutocompleteMatch::SEARCH_OTHER_ENGINE: { + static NSImage* searchImage = RetainedResourceImage(IDR_O2_SEARCH); + return searchImage; + } + case AutocompleteMatch::OPEN_HISTORY_PAGE: { + static NSImage* moreImage = RetainedResourceImage(IDR_O2_MORE); + return moreImage; + } + default: + NOTREACHED(); + break; + } + + return nil; +} + } // namespace // Helper for MatchText() to allow sharing code between the contents @@ -245,10 +293,12 @@ NSAttributedString* AutocompletePopupViewMac::MatchText( AutocompletePopupViewMac::AutocompletePopupViewMac( AutocompleteEditViewMac* edit_view, AutocompleteEditModel* edit_model, + const BubblePositioner* bubble_positioner, Profile* profile, NSTextField* field) : model_(new AutocompletePopupModel(this, edit_model, profile)), edit_view_(edit_view), + bubble_positioner_(bubble_positioner), field_(field), popup_(nil) { DCHECK(edit_view); @@ -315,12 +365,8 @@ void AutocompletePopupViewMac::UpdatePopupAppearance() { CreatePopupIfNeeded(); // Layout the popup and size it to land underneath the field. - // The field has a single-pixel border on the left and right. This - // needs to be factored out so that the popup window's border (which - // is outside the frame) lines up. - const int kLocationStackEdgeWidth = 1; - NSRect r = NSInsetRect([field_ convertRect:[field_ bounds] toView:nil], - kLocationStackEdgeWidth, 0); + NSRect r = + NSRectFromCGRect(bubble_positioner_->GetLocationStackBounds().ToCGRect()); r.origin = [[field_ window] convertBaseToScreen:r.origin]; DCHECK_GT(r.size.width, 0.0); @@ -340,9 +386,7 @@ void AutocompletePopupViewMac::UpdatePopupAppearance() { for (size_t ii = 0; ii < rows; ++ii) { AutocompleteButtonCell* cell = [matrix cellAtRow:ii column:0]; const AutocompleteMatch& match = model_->result().match_at(ii); - const int resource_id = match.starred ? IDR_OMNIBOX_STAR - : AutocompleteMatch::TypeToIcon(match.type); - [cell setImage:AutocompleteEditViewMac::ImageForResource(resource_id)]; + [cell setImage:MatchIcon(match)]; [cell setAttributedTitle:MatchText(match, resultFont, r.size.width)]; } @@ -463,11 +507,7 @@ void AutocompletePopupViewMac::OpenURLForRow(int row, bool force_background) { imageRect.origin.y += floor((NSHeight(cellFrame) - NSHeight(imageRect)) / 2); imageRect.origin.x += kLeftRightMargin; - [image setFlipped:[controlView isFlipped]]; - [image drawInRect:imageRect - fromRect:NSZeroRect // Entire image - operation:NSCompositeSourceOver - fraction:1.0]; + [self drawImage:image withFrame:imageRect inView:controlView]; } // Adjust the title position to be lined up under the field's text. @@ -664,15 +704,10 @@ void AutocompletePopupViewMac::OpenURLForRow(int row, bool force_background) { // This handles drawing the decorations of the rounded popup window, // calling on NSMatrix to draw the actual contents. - (void)drawRect:(NSRect)rect { - // Apparently this expects flipped coordinates, because in order to - // round the bottom corners visually, I need to specify the top - // corners here. NSBezierPath* path = - [NSBezierPath gtm_bezierPathWithRoundRect:[self bounds] - topLeftCornerRadius:kPopupRoundingRadius - topRightCornerRadius:kPopupRoundingRadius - bottomLeftCornerRadius:0.0 - bottomRightCornerRadius:0.0]; + [NSBezierPath bezierPathWithRoundedRect:[self bounds] + xRadius:kPopupRoundingRadius + yRadius:kPopupRoundingRadius]; // Draw the matrix clipped to our border. [NSGraphicsContext saveGraphicsState]; diff --git a/chrome/browser/autocomplete/history_contents_provider.cc b/chrome/browser/autocomplete/history_contents_provider.cc index 1e72ceb..ac81c31 100644 --- a/chrome/browser/autocomplete/history_contents_provider.cc +++ b/chrome/browser/autocomplete/history_contents_provider.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -207,9 +207,11 @@ AutocompleteMatch HistoryContentsProvider::ResultToMatch( // Also show star in popup. AutocompleteMatch match(this, score, false, MatchInTitle(result) ? AutocompleteMatch::HISTORY_TITLE : AutocompleteMatch::HISTORY_BODY); - match.fill_into_edit = StringForURLDisplay(result.url(), true, trim_http_); + match.fill_into_edit = StringForURLDisplay(result.url(), true); match.destination_url = result.url(); match.contents = match.fill_into_edit; + if (trim_http_) + TrimHttpPrefix(&match.contents); match.contents_class.push_back( ACMatchClassification(0, ACMatchClassification::URL)); match.description = result.title(); diff --git a/chrome/browser/autocomplete/history_url_provider.cc b/chrome/browser/autocomplete/history_url_provider.cc index a748700..2708d47 100644 --- a/chrome/browser/autocomplete/history_url_provider.cc +++ b/chrome/browser/autocomplete/history_url_provider.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -256,14 +256,10 @@ AutocompleteMatch HistoryURLProvider::SuggestExactInput( const GURL& url = input.canonicalized_url(); if (url.is_valid()) { match.destination_url = url; - match.fill_into_edit = StringForURLDisplay(url, false, false); + match.fill_into_edit = StringForURLDisplay(url, false); // NOTE: Don't set match.input_location (to allow inline autocompletion) // here, it's surprising and annoying. // Trim off "http://" if the user didn't type it. - // Double NOTE: we use TrimHttpPrefix here rather than StringForURLDisplay - // to strip the http as we need to know the offset so we can adjust the - // match_location below. StringForURLDisplay and TrimHttpPrefix have - // slightly different behavior when stripping http as well. const size_t offset = trim_http ? TrimHttpPrefix(&match.fill_into_edit) : 0; // Try to highlight "innermost" match location. If we fix up "w" into @@ -832,13 +828,17 @@ AutocompleteMatch HistoryURLProvider::HistoryMatchToACMatch( DCHECK(match.destination_url.is_valid()); size_t inline_autocomplete_offset = history_match.input_location + params->input.text().length(); - const net::FormatUrlTypes format_types = - (params->trim_http && !history_match.match_in_scheme) ? - net::kFormatUrlOmitAll : net::kFormatUrlOmitUsernamePassword; match.fill_into_edit = net::FormatUrl(info.url(), - match_type == WHAT_YOU_TYPED ? std::wstring() : params->languages, - format_types, UnescapeRule::SPACES, NULL, NULL, - &inline_autocomplete_offset); + match_type == WHAT_YOU_TYPED ? std::wstring() : params->languages, true, + UnescapeRule::SPACES, NULL, NULL, &inline_autocomplete_offset); + size_t offset = 0; + if (params->trim_http && !history_match.match_in_scheme) { + offset = TrimHttpPrefix(&match.fill_into_edit); + if (inline_autocomplete_offset != std::wstring::npos) { + DCHECK(inline_autocomplete_offset >= offset); + inline_autocomplete_offset -= offset; + } + } if (!params->input.prevent_inline_autocomplete()) match.inline_autocomplete_offset = inline_autocomplete_offset; DCHECK((match.inline_autocomplete_offset == std::wstring::npos) || @@ -846,8 +846,15 @@ AutocompleteMatch HistoryURLProvider::HistoryMatchToACMatch( size_t match_start = history_match.input_location; match.contents = net::FormatUrl(info.url(), - match_type == WHAT_YOU_TYPED ? std::wstring() : params->languages, - format_types, UnescapeRule::SPACES, NULL, NULL, &match_start); + match_type == WHAT_YOU_TYPED ? std::wstring() : params->languages, true, + UnescapeRule::SPACES, NULL, NULL, &match_start); + if (offset) { + TrimHttpPrefix(&match.contents); + if (match_start != std::wstring::npos) { + DCHECK(match_start >= offset); + match_start -= offset; + } + } if ((match_start != std::wstring::npos) && (inline_autocomplete_offset != std::wstring::npos) && (inline_autocomplete_offset != match_start)) { diff --git a/chrome/browser/autocomplete/search_provider.cc b/chrome/browser/autocomplete/search_provider.cc index acba81e..5833611 100644 --- a/chrome/browser/autocomplete/search_provider.cc +++ b/chrome/browser/autocomplete/search_provider.cc @@ -98,8 +98,8 @@ void SearchProvider::Start(const AutocompleteInput& input, // User typed "?" alone. Give them a placeholder result indicating what // this syntax does. if (default_provider) { - AutocompleteMatch match; - match.provider = this; + AutocompleteMatch match(this, 0, false, + AutocompleteMatch::SEARCH_WHAT_YOU_TYPED); match.contents.assign(l10n_util::GetString(IDS_EMPTY_KEYWORD_VALUE)); match.contents_class.push_back( ACMatchClassification(0, ACMatchClassification::NONE)); @@ -737,9 +737,10 @@ AutocompleteMatch SearchProvider::NavigationToMatch( AutocompleteMatch match(this, relevance, false, AutocompleteMatch::NAVSUGGEST); match.destination_url = navigation.url; - const bool trim_http = !url_util::FindAndCompareScheme( - WideToUTF8(input_text), chrome::kHttpScheme, NULL); - match.contents = StringForURLDisplay(navigation.url, true, trim_http); + match.contents = StringForURLDisplay(navigation.url, true); + if (!url_util::FindAndCompareScheme(WideToUTF8(input_text), + chrome::kHttpScheme, NULL)) + TrimHttpPrefix(&match.contents); AutocompleteMatch::ClassifyMatchInString(input_text, match.contents, ACMatchClassification::URL, &match.contents_class); diff --git a/chrome/browser/bookmarks/bookmark_table_model.cc b/chrome/browser/bookmarks/bookmark_table_model.cc index 0ac5416..f7848e4 100644 --- a/chrome/browser/bookmarks/bookmark_table_model.cc +++ b/chrome/browser/bookmarks/bookmark_table_model.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -325,8 +325,8 @@ std::wstring BookmarkTableModel::GetText(int row, int column_id) { std::wstring languages = model_ && model_->profile() ? model_->profile()->GetPrefs()->GetString(prefs::kAcceptLanguages) : std::wstring(); - std::wstring url_text = net::FormatUrl(node->GetURL(), languages, - net::kFormatUrlOmitAll, UnescapeRule::SPACES, NULL, NULL, NULL); + std::wstring url_text = net::FormatUrl(node->GetURL(), languages, false, + UnescapeRule::SPACES, NULL, NULL, NULL); if (base::i18n::IsRTL()) base::i18n::WrapStringWithLTRFormatting(&url_text); return url_text; diff --git a/chrome/browser/bookmarks/bookmark_utils.cc b/chrome/browser/bookmarks/bookmark_utils.cc index 4ffeeb2..2214e4c 100644 --- a/chrome/browser/bookmarks/bookmark_utils.cc +++ b/chrome/browser/bookmarks/bookmark_utils.cc @@ -224,8 +224,7 @@ bool DoesBookmarkContainWords(const BookmarkNode* node, DoesBookmarkTextContainWords( l10n_util::ToLower(UTF8ToWide(node->GetURL().spec())), words) || DoesBookmarkTextContainWords(l10n_util::ToLower(net::FormatUrl( - node->GetURL(), languages, net::kFormatUrlOmitNothing, - UnescapeRule::NORMAL, NULL, NULL, NULL)), words); + node->GetURL(), languages, false, true, NULL, NULL, NULL)), words); } } // namespace diff --git a/chrome/browser/browser_theme_pack.cc b/chrome/browser/browser_theme_pack.cc index 130a6e8..d0252f1 100644 --- a/chrome/browser/browser_theme_pack.cc +++ b/chrome/browser/browser_theme_pack.cc @@ -4,26 +4,37 @@ #include "chrome/browser/browser_theme_pack.h" +#include <algorithm> +#include <climits> +#include <set> +#include <vector> + #include "app/resource_bundle.h" #include "base/data_pack.h" +#include "base/logging.h" #include "base/stl_util-inl.h" #include "base/string_util.h" #include "base/utf_string_conversions.h" +#include "base/values.h" #include "chrome/browser/browser_theme_provider.h" #include "chrome/browser/chrome_thread.h" +#include "chrome/browser/theme_resources_util.h" +#include "chrome/common/extensions/extension.h" #include "gfx/codec/png_codec.h" #include "gfx/skbitmap_operations.h" #include "grit/app_resources.h" #include "grit/theme_resources.h" #include "net/base/file_stream.h" #include "net/base/net_errors.h" +#include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkCanvas.h" +#include "third_party/skia/include/core/SkUnPreMultiply.h" namespace { // Version number of the current theme pack. We just throw out and rebuild // theme packs that aren't int-equal to this. -const int kThemePackVersion = 6; +const int kThemePackVersion = 7; // IDs that are in the DataPack won't clash with the positive integer // int32_t. kHeaderID should always have the maximum value because we want the @@ -120,33 +131,42 @@ PersistingImagesTable kPersistingImages[] = { { 21, IDR_FORWARD_H, NULL }, { 22, IDR_FORWARD_P, NULL }, { 23, IDR_RELOAD, NULL }, - { 24, IDR_RELOAD_NOBORDER, NULL }, - { 25, IDR_RELOAD_NOBORDER_CENTER, NULL }, - { 26, IDR_RELOAD_H, NULL }, - { 27, IDR_RELOAD_P, NULL }, - { 28, IDR_HOME, NULL }, - { 29, IDR_HOME_H, NULL }, - { 30, IDR_HOME_P, NULL }, - { 31, IDR_GO, NULL }, - { 32, IDR_GO_NOBORDER, NULL }, - { 33, IDR_GO_NOBORDER_CENTER, NULL }, - { 34, IDR_GO_H, NULL }, - { 35, IDR_GO_P, NULL }, - { 36, IDR_STOP, NULL }, - { 37, IDR_STOP_NOBORDER, NULL }, - { 38, IDR_STOP_NOBORDER_CENTER, NULL }, - { 39, IDR_STOP_H, NULL }, - { 40, IDR_STOP_P, NULL }, - { 41, IDR_MENU_BOOKMARK, NULL }, - { 42, IDR_MENU_PAGE, NULL }, - { 43, IDR_MENU_PAGE_RTL, NULL }, - { 44, IDR_MENU_CHROME, NULL }, - { 45, IDR_MENU_CHROME_RTL, NULL }, - { 46, IDR_MENU_DROPARROW, NULL }, - { 47, IDR_THROBBER, NULL }, - { 48, IDR_THROBBER_WAITING, NULL }, - { 49, IDR_THROBBER_LIGHT, NULL }, - { 50, IDR_LOCATIONBG, NULL } + { 24, IDR_RELOAD_H, NULL }, + { 25, IDR_RELOAD_P, NULL }, + { 26, IDR_HOME, NULL }, + { 27, IDR_HOME_H, NULL }, + { 28, IDR_HOME_P, NULL }, + { 29, IDR_STAR, NULL }, + { 30, IDR_STAR_NOBORDER, NULL }, + { 31, IDR_STAR_NOBORDER_CENTER, NULL }, + { 32, IDR_STAR_D, NULL }, + { 33, IDR_STAR_H, NULL }, + { 34, IDR_STAR_P, NULL }, + { 35, IDR_STARRED, NULL }, + { 36, IDR_STARRED_NOBORDER, NULL }, + { 37, IDR_STARRED_NOBORDER_CENTER, NULL }, + { 38, IDR_STARRED_H, NULL }, + { 39, IDR_STARRED_P, NULL }, + { 40, IDR_GO, NULL }, + { 41, IDR_GO_NOBORDER, NULL }, + { 42, IDR_GO_NOBORDER_CENTER, NULL }, + { 43, IDR_GO_H, NULL }, + { 44, IDR_GO_P, NULL }, + { 45, IDR_STOP, NULL }, + { 46, IDR_STOP_NOBORDER, NULL }, + { 47, IDR_STOP_NOBORDER_CENTER, NULL }, + { 48, IDR_STOP_H, NULL }, + { 49, IDR_STOP_P, NULL }, + { 50, IDR_MENU_BOOKMARK, NULL }, + { 51, IDR_MENU_PAGE, NULL }, + { 52, IDR_MENU_PAGE_RTL, NULL }, + { 53, IDR_MENU_CHROME, NULL }, + { 54, IDR_MENU_CHROME_RTL, NULL }, + { 55, IDR_MENU_DROPARROW, NULL }, + { 56, IDR_THROBBER, NULL }, + { 57, IDR_THROBBER_WAITING, NULL }, + { 58, IDR_THROBBER_LIGHT, NULL }, + { 59, IDR_LOCATIONBG, NULL } }; int GetPersistentIDByName(const std::string& key) { @@ -496,8 +516,6 @@ bool BrowserThemePack::GetDisplayProperty(int id, int* result) const { SkBitmap* BrowserThemePack::GetBitmapNamed(int idr_id) const { int prs_id = GetPersistentIDByIDR(idr_id); - if (prs_id == -1) - return NULL; // Check our cache of prepared images, first. ImageCache::const_iterator image_iter = prepared_images_.find(prs_id); @@ -947,7 +965,6 @@ void BrowserThemePack::GenerateTintedButtons( for (std::set<int>::const_iterator it = idr_ids.begin(); it != idr_ids.end(); ++it) { int prs_id = GetPersistentIDByIDR(*it); - DCHECK(prs_id > 0); // Fetch the image by IDR... scoped_ptr<SkBitmap> button(new SkBitmap(*rb.GetBitmapNamed(*it))); diff --git a/chrome/browser/browser_theme_provider.cc b/chrome/browser/browser_theme_provider.cc index 92fefc3..d682548 100644 --- a/chrome/browser/browser_theme_provider.cc +++ b/chrome/browser/browser_theme_provider.cc @@ -1,21 +1,40 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "chrome/browser/browser_theme_provider.h" #include "app/resource_bundle.h" -#include "base/utf_string_conversions.h" +#include "base/file_util.h" +#include "base/stl_util-inl.h" +#include "base/string_util.h" +#include "base/thread.h" +#include "base/values.h" +#include "chrome/browser/browser_list.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_theme_pack.h" +#include "chrome/browser/browser_window.h" #include "chrome/browser/extensions/extensions_service.h" #include "chrome/browser/metrics/user_metrics.h" +#include "chrome/browser/pref_service.h" #include "chrome/browser/profile.h" +#include "chrome/browser/theme_resources_util.h" #include "chrome/common/chrome_constants.h" +#include "chrome/common/extensions/extension.h" +#include "chrome/common/notification_details.h" #include "chrome/common/notification_service.h" +#include "chrome/common/notification_source.h" #include "chrome/common/notification_type.h" #include "chrome/common/pref_names.h" +#include "gfx/codec/png_codec.h" +#include "gfx/skbitmap_operations.h" #include "grit/app_resources.h" #include "grit/theme_resources.h" +#include "net/base/file_stream.h" +#include "net/base/net_errors.h" +#include "third_party/skia/include/core/SkBitmap.h" +#include "third_party/skia/include/core/SkCanvas.h" +#include "third_party/skia/include/core/SkUnPreMultiply.h" #if defined(OS_WIN) #include "app/win_util.h" @@ -43,15 +62,15 @@ SkColor TintForUnderline(SkColor input) { } // Default colors. -const SkColor kDefaultColorFrame = SkColorSetRGB(66, 116, 201); -const SkColor kDefaultColorFrameInactive = SkColorSetRGB(161, 182, 228); +const SkColor kDefaultColorFrame = SkColorSetRGB(77, 139, 217); +const SkColor kDefaultColorFrameInactive = SkColorSetRGB(152, 188, 233); const SkColor kDefaultColorFrameIncognito = SkColorSetRGB(83, 106, 139); const SkColor kDefaultColorFrameIncognitoInactive = SkColorSetRGB(126, 139, 156); #if defined(OS_MACOSX) const SkColor kDefaultColorToolbar = SkColorSetRGB(230, 230, 230); #else -const SkColor kDefaultColorToolbar = SkColorSetRGB(223, 223, 223); +const SkColor kDefaultColorToolbar = SkColorSetRGB(210, 225, 246); #endif const SkColor kDefaultColorTabText = SK_ColorBLACK; #if defined(OS_MACOSX) @@ -135,16 +154,15 @@ bool HasThemeableImage(int themeable_image_id) { } // The image resources that will be tinted by the 'button' tint value. -// If you change this list, you must increment the version number in -// browser_theme_pack.cc and you should assign persistant ids to the -// data table at the start of said file or otherwise tinted versions of -// these resources will not be created. const int kToolbarButtonIDs[] = { IDR_BACK, IDR_BACK_D, IDR_BACK_H, IDR_BACK_P, IDR_FORWARD, IDR_FORWARD_D, IDR_FORWARD_H, IDR_FORWARD_P, - IDR_RELOAD, IDR_RELOAD_NOBORDER, IDR_RELOAD_NOBORDER_CENTER, IDR_RELOAD_H, - IDR_RELOAD_P, + IDR_RELOAD, IDR_RELOAD_H, IDR_RELOAD_P, IDR_HOME, IDR_HOME_H, IDR_HOME_P, + IDR_STAR, IDR_STAR_NOBORDER, IDR_STAR_NOBORDER_CENTER, IDR_STAR_D, IDR_STAR_H, + IDR_STAR_P, + IDR_STARRED, IDR_STARRED_NOBORDER, IDR_STARRED_NOBORDER_CENTER, IDR_STARRED_H, + IDR_STARRED_P, IDR_GO, IDR_GO_NOBORDER, IDR_GO_NOBORDER_CENTER, IDR_GO_H, IDR_GO_P, IDR_STOP, IDR_STOP_NOBORDER, IDR_STOP_NOBORDER_CENTER, IDR_STOP_H, IDR_STOP_P, IDR_MENU_BOOKMARK, diff --git a/chrome/browser/bubble_positioner.h b/chrome/browser/bubble_positioner.h new file mode 100644 index 0000000..7ea4df0 --- /dev/null +++ b/chrome/browser/bubble_positioner.h @@ -0,0 +1,24 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_BUBBLE_POSITIONER_H_ +#define CHROME_BROWSER_BUBBLE_POSITIONER_H_ + +namespace gfx { +class Rect; +} + +// An object in the browser UI can implement this interface to provide display +// bounds for the omnibox bubble and info bubble views. +class BubblePositioner { + public: + // Returns the bounds of the "location bar" stack (including star/go buttons + // where relevant). The omnibox dropdown uses this to calculate its width and + // y-coordinate, and views showing InfoBubbles use it to find the y-coordinate + // they should show at, so that all "bubble" UIs show up at the same vertical + // position. + virtual gfx::Rect GetLocationStackBounds() const = 0; +}; + +#endif // CHROME_BROWSER_BUBBLE_POSITIONER_H_ diff --git a/chrome/browser/cert_store.cc b/chrome/browser/cert_store.cc index 89c5ffe..4d804ca 100644 --- a/chrome/browser/cert_store.cc +++ b/chrome/browser/cert_store.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -88,8 +88,7 @@ bool CertStore::RetrieveCert(int cert_id, CertMap::iterator iter = id_to_cert_.find(cert_id); if (iter == id_to_cert_.end()) return false; - if (cert) - *cert = iter->second; + *cert = iter->second; return true; } diff --git a/chrome/browser/cert_store.h b/chrome/browser/cert_store.h index 0b19540..995a3db 100644 --- a/chrome/browser/cert_store.h +++ b/chrome/browser/cert_store.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -34,9 +34,9 @@ class CertStore : public NotificationObserver { // Note: ids starts at 1. int StoreCert(net::X509Certificate* cert, int render_process_host_id); - // Tries to retrieve the previously stored cert associated with the specified - // |cert_id|. Returns whether the cert could be found, and, if |cert| is - // non-NULL, copies it in. + // Retrieves the previously stored cert associated with the specified + // |cert_id| and set it in |cert|. Returns false if no cert was found for + // that id. bool RetrieveCert(int cert_id, scoped_refptr<net::X509Certificate>* cert); // NotificationObserver implementation. diff --git a/chrome/browser/chromeos/compact_location_bar_host.cc b/chrome/browser/chromeos/compact_location_bar_host.cc index eaba6ef..a412cb6 100644 --- a/chrome/browser/chromeos/compact_location_bar_host.cc +++ b/chrome/browser/chromeos/compact_location_bar_host.cc @@ -22,6 +22,7 @@ #include "chrome/browser/views/frame/browser_view.h" #include "chrome/browser/views/tabs/tab.h" #include "chrome/browser/views/tabs/tab_strip.h" +#include "chrome/browser/views/toolbar_star_toggle.h" #include "views/controls/scrollbar/native_scroll_bar.h" #include "views/focus/external_focus_tracker.h" #include "views/focus/view_storage.h" @@ -267,6 +268,10 @@ void CompactLocationBarHost::SetEnabled(bool enabled) { } } +ToolbarStarToggle* CompactLocationBarHost::GetStarButton() { + return GetClbView()->star_button(); +} + void CompactLocationBarHost::Show(bool a) { MessageLoopForUI::current()->AddObserver(mouse_observer_.get()); DropdownBarHost::Show(a); diff --git a/chrome/browser/chromeos/compact_location_bar_host.h b/chrome/browser/chromeos/compact_location_bar_host.h index 7ec6a25..e6816fc 100644 --- a/chrome/browser/chromeos/compact_location_bar_host.h +++ b/chrome/browser/chromeos/compact_location_bar_host.h @@ -16,6 +16,7 @@ class BrowserView; class TabContents; class Tab; +class ToolbarStarToggle; namespace chromeos { @@ -60,6 +61,9 @@ class CompactLocationBarHost : public DropdownBarHost, // Enable/disable the compact location bar. void SetEnabled(bool enabled); + // Returns the star button for compact location bar. + ToolbarStarToggle* GetStarButton(); + // Overridden from DropdownBarhost. virtual void Show(bool animate); virtual void Hide(bool animate); diff --git a/chrome/browser/chromeos/compact_location_bar_view.cc b/chrome/browser/chromeos/compact_location_bar_view.cc index 9f7c066..af803e4 100644 --- a/chrome/browser/chromeos/compact_location_bar_view.cc +++ b/chrome/browser/chromeos/compact_location_bar_view.cc @@ -8,8 +8,10 @@ #include <algorithm> #include "app/l10n_util.h" +#include "app/drag_drop_types.h" #include "app/resource_bundle.h" #include "chrome/app/chrome_dll_resource.h" +#include "chrome/browser/bookmarks/bookmark_drag_data.h" #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/autocomplete/autocomplete_edit_view_gtk.h" #include "chrome/browser/browser_list.h" @@ -22,6 +24,7 @@ #include "chrome/browser/views/browser_actions_container.h" #include "chrome/browser/views/event_utils.h" #include "chrome/browser/views/frame/browser_view.h" +#include "chrome/browser/views/toolbar_star_toggle.h" #include "gfx/canvas.h" #include "gfx/point.h" #include "grit/chromium_strings.h" @@ -30,10 +33,12 @@ #include "views/background.h" #include "views/controls/button/image_button.h" #include "views/controls/native/native_view_host.h" +#include "views/drag_utils.h" #include "views/widget/widget.h" #include "views/window/window.h" namespace chromeos { +const int kAutocompletePopupWidth = 700; const int kDefaultLocationEntryWidth = 250; const int kCompactLocationLeftMargin = 5; const int kCompactLocationRightMargin = 10; @@ -46,7 +51,8 @@ const int kWidgetsSeparatorWidth = 2; CompactLocationBarView::CompactLocationBarView(CompactLocationBarHost* host) : DropdownBarView(host), reload_(NULL), - browser_actions_(NULL) { + browser_actions_(NULL), + star_(NULL) { SetFocusable(true); } @@ -95,7 +101,7 @@ void CompactLocationBarView::Init() { reload_->SetImage(views::CustomButton::BS_PUSHED, tp->GetBitmapNamed(IDR_RELOAD_P)); reload_->SetBackground(color, background, - tp->GetBitmapNamed(IDR_RELOAD_MASK)); + tp->GetBitmapNamed(IDR_BUTTON_MASK)); AddChildView(reload_); @@ -114,6 +120,14 @@ void CompactLocationBarView::Init() { location_entry_view_->set_focus_view(this); location_entry_view_->Attach(location_entry_->GetNativeView()); + star_ = new ToolbarStarToggle(this); + star_->SetDragController(this); + star_->set_profile(browser()->profile()); + star_->set_host_view(this); + star_->set_bubble_positioner(this); + star_->Init(); + AddChildView(star_); + location_entry_->Update(browser()->GetSelectedTabContents()); // Note: we tell the BrowserActionsContainer not to save its size because @@ -131,12 +145,15 @@ gfx::Size CompactLocationBarView::GetPreferredSize() { return gfx::Size(); // Not initialized yet, do nothing. gfx::Size reload_size = reload_->GetPreferredSize(); + gfx::Size star_size = star_->GetPreferredSize(); gfx::Size location_size = location_entry_view_->GetPreferredSize(); gfx::Size ba_size = browser_actions_->GetPreferredSize(); - int width = kCompactLocationLeftMargin + reload_size.width() + + int width = + reload_size.width() + kEntryLeftMargin + star_size.width() + std::max(kDefaultLocationEntryWidth, location_entry_view_->GetPreferredSize().width()) + ba_size.width() + + kCompactLocationLeftMargin + kCompactLocationRightMargin; return gfx::Size(width, kDefaultLocationBarHeight); } @@ -151,7 +168,12 @@ void CompactLocationBarView::Layout() { int reload_y = (height() - reload_size.height()) / 2; reload_->SetBounds(cur_x, reload_y, reload_size.width(), reload_size.height()); - cur_x += reload_size.width(); + cur_x += reload_size.width() + kEntryLeftMargin; + + gfx::Size star_size = star_->GetPreferredSize(); + int star_y = (height() - star_size.height()) / 2; + star_->SetBounds(cur_x, star_y, star_size.width(), star_size.height()); + cur_x += star_size.width(); gfx::Size ba_size = browser_actions_->GetPreferredSize(); int ba_y = (height() - ba_size.height()) / 2; @@ -245,4 +267,62 @@ std::wstring CompactLocationBarView::GetTitle() const { return std::wstring(); } +//////////////////////////////////////////////////////////////////////////////// +// BubblePositioner overrides: +gfx::Rect CompactLocationBarView::GetLocationStackBounds() const { + gfx::Point lower_left(0, height()); + ConvertPointToScreen(this, &lower_left); + gfx::Rect popup = gfx::Rect(lower_left.x(), lower_left.y(), + kAutocompletePopupWidth, 0); + return popup.AdjustToFit(GetWidget()->GetWindow()->GetBounds()); +} + +//////////////////////////////////////////////////////////////////////////////// +// views::DragController overrides: +void CompactLocationBarView::WriteDragData(views::View* sender, + const gfx::Point& press_pt, + OSExchangeData* data) { + DCHECK(GetDragOperations(sender, press_pt) != DragDropTypes::DRAG_NONE); + + UserMetrics::RecordAction(UserMetricsAction("CompactLocationBar_DragStar"), + browser()->profile()); + + // If there is a bookmark for the URL, add the bookmark drag data for it. We + // do this to ensure the bookmark is moved, rather than creating an new + // bookmark. + TabContents* tab = browser()->GetSelectedTabContents(); + if (tab) { + Profile* profile = browser()->profile(); + if (profile && profile->GetBookmarkModel()) { + const BookmarkNode* node = profile->GetBookmarkModel()-> + GetMostRecentlyAddedNodeForURL(tab->GetURL()); + if (node) { + BookmarkDragData bookmark_data(node); + bookmark_data.Write(profile, data); + } + } + + drag_utils::SetURLAndDragImage(tab->GetURL(), + UTF16ToWideHack(tab->GetTitle()), + tab->GetFavIcon(), + data); + } +} + +int CompactLocationBarView::GetDragOperations(views::View* sender, + const gfx::Point& p) { + DCHECK(sender == star_); + TabContents* tab = browser()->GetSelectedTabContents(); + if (!tab || !tab->ShouldDisplayURL() || !tab->GetURL().is_valid()) { + return DragDropTypes::DRAG_NONE; + } + Profile* profile = browser()->profile(); + if (profile && profile->GetBookmarkModel() && + profile->GetBookmarkModel()->IsBookmarked(tab->GetURL())) { + return DragDropTypes::DRAG_MOVE | DragDropTypes::DRAG_COPY | + DragDropTypes::DRAG_LINK; + } + return DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK; +} + } // namespace chromeos diff --git a/chrome/browser/chromeos/compact_location_bar_view.h b/chrome/browser/chromeos/compact_location_bar_view.h index ec284b0..e4f8d73 100644 --- a/chrome/browser/chromeos/compact_location_bar_view.h +++ b/chrome/browser/chromeos/compact_location_bar_view.h @@ -6,6 +6,7 @@ #define CHROME_BROWSER_CHROMEOS_COMPACT_LOCATION_BAR_VIEW_H_ #include "base/basictypes.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/autocomplete/autocomplete_edit.h" #include "chrome/browser/chromeos/compact_location_bar_host.h" #include "chrome/browser/views/dropdown_bar_view.h" @@ -16,9 +17,11 @@ class AutocompleteEditViewGtk; class Browser; class BrowserActionsContainer; class BrowserView; +class ToolbarStarToggleGtk; class Tab; class TabContents; class TabStrip; +class ToolbarStarToggle; namespace views { class ImageButton; @@ -32,7 +35,9 @@ namespace chromeos { // navigation bar mode. class CompactLocationBarView : public DropdownBarView, public views::ButtonListener, - public AutocompleteEditController { + public AutocompleteEditController, + public BubblePositioner, + public views::DragController { public: explicit CompactLocationBarView(CompactLocationBarHost* host); ~CompactLocationBarView(); @@ -42,6 +47,8 @@ class CompactLocationBarView : public DropdownBarView, void Update(const TabContents* contents); + ToolbarStarToggle* star_button() const { return star_; } + private: Browser* browser() const; @@ -74,6 +81,20 @@ class CompactLocationBarView : public DropdownBarView, virtual SkBitmap GetFavIcon() const; virtual std::wstring GetTitle() const; + // BubblePositioner implementation. + virtual gfx::Rect GetLocationStackBounds() const; + + // views::DragController implementation. + virtual void WriteDragData(View* sender, + const gfx::Point& press_pt, + OSExchangeData* data); + virtual int GetDragOperations(View* sender, const gfx::Point& p); + virtual bool CanStartDrag(View* sender, + const gfx::Point& press_pt, + const gfx::Point& p) { + return true; + } + CompactLocationBarHost* clb_host() { return static_cast<CompactLocationBarHost*>(host()); } @@ -82,6 +103,7 @@ class CompactLocationBarView : public DropdownBarView, scoped_ptr<AutocompleteEditViewGtk> location_entry_; views::NativeViewHost* location_entry_view_; BrowserActionsContainer* browser_actions_; + ToolbarStarToggle* star_; DISALLOW_COPY_AND_ASSIGN(CompactLocationBarView); }; diff --git a/chrome/browser/chromeos/frame/browser_view.cc b/chrome/browser/chromeos/frame/browser_view.cc index eb2029c..254be1d 100644 --- a/chrome/browser/chromeos/frame/browser_view.cc +++ b/chrome/browser/chromeos/frame/browser_view.cc @@ -28,6 +28,7 @@ #include "chrome/browser/views/tabs/tab.h" #include "chrome/browser/views/tabs/tab_strip.h" #include "chrome/browser/views/toolbar_view.h" +#include "chrome/browser/views/toolbar_star_toggle.h" #include "gfx/canvas.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" @@ -440,6 +441,19 @@ void BrowserView::ChildPreferredSizeChanged(View* child) { SchedulePaint(); } +void BrowserView::SetStarredState(bool is_starred) { + ::BrowserView::SetStarredState(is_starred); + compact_location_bar_host_->GetStarButton()->SetToggled(is_starred); +} + +void BrowserView::ShowBookmarkBubble(const GURL& url, bool already_bookmarked) { + if (is_compact_style()) + compact_location_bar_host_->GetStarButton()->ShowStarBubble( + url, !already_bookmarked); + else + ::BrowserView::ShowBookmarkBubble(url, already_bookmarked); +} + // views::ButtonListener overrides. void BrowserView::ButtonPressed(views::Button* sender, const views::Event& event) { @@ -450,7 +464,7 @@ void BrowserView::ButtonPressed(views::Button* sender, origin.Offset(kAppLauncherLeftPadding, 0); views::RootView::ConvertPointToScreen(this, &origin); bounds.set_origin(origin); - ::AppLauncher::Show(browser(), bounds, gfx::Point()); + ::AppLauncher::Show(browser(), bounds); } // views::ContextMenuController overrides. diff --git a/chrome/browser/chromeos/frame/browser_view.h b/chrome/browser/chromeos/frame/browser_view.h index cd868c7..0d3dd2a 100644 --- a/chrome/browser/chromeos/frame/browser_view.h +++ b/chrome/browser/chromeos/frame/browser_view.h @@ -66,6 +66,8 @@ class BrowserView : public ::BrowserView, virtual views::LayoutManager* CreateLayoutManager() const; virtual BaseTabStrip* CreateTabStrip(TabStripModel* tab_strip_model); virtual void ChildPreferredSizeChanged(View* child); + virtual void SetStarredState(bool is_starred); + virtual void ShowBookmarkBubble(const GURL& url, bool already_bookmarked); // views::ButtonListener overrides. virtual void ButtonPressed(views::Button* sender, const views::Event& event); diff --git a/chrome/browser/cocoa/autocomplete_text_field.h b/chrome/browser/cocoa/autocomplete_text_field.h index 8e16705..1b1856d 100644 --- a/chrome/browser/cocoa/autocomplete_text_field.h +++ b/chrome/browser/cocoa/autocomplete_text_field.h @@ -119,13 +119,6 @@ class AutocompleteTextFieldObserver { // is not over an action. - (NSMenu*)actionMenuForEvent:(NSEvent*)event; -// Return the rectangle the star is being shown in, for purposes of -// positioning the bookmark bubble. -- (NSRect)starIconFrame; - -// If the location icon is draggable, return its drag pasteboard. -- (NSPasteboard*)locationDragPasteboard; - @end #endif // CHROME_BROWSER_COCOA_AUTOCOMPLETE_TEXT_FIELD_H_ diff --git a/chrome/browser/cocoa/autocomplete_text_field.mm b/chrome/browser/cocoa/autocomplete_text_field.mm index a07cac1..60d3507 100644 --- a/chrome/browser/cocoa/autocomplete_text_field.mm +++ b/chrome/browser/cocoa/autocomplete_text_field.mm @@ -124,10 +124,14 @@ return; } - // Give the cell a chance to intercept clicks in page-actions and - // other decorative items. - if ([cell mouseDown:theEvent inRect:bounds ofView:self]) { - return; + // If the user clicked on one of the icons (security icon, Page + // Actions, etc), let the icon handle the click. + for (AutocompleteTextFieldIcon* icon in [cell layedOutIcons:bounds]) { + const NSRect iconRect = [icon rect]; + if (NSMouseInRect(location, iconRect, flipped)) { + [icon view]->OnMousePressed(iconRect); + return; + } } NSText* editor = [self currentEditor]; @@ -195,7 +199,6 @@ // Show the I-beam cursor unless the mouse is over an image within the field // (Page Actions or the security icon) in which case show the arrow cursor. -// TODO(rohitrao): Should default to the arrow cursor. http://crbug.com/41612 - (void)resetCursorRects { NSRect fieldBounds = [self bounds]; [self addCursorRect:fieldBounds cursor:[NSCursor IBeamCursor]]; @@ -203,17 +206,8 @@ AutocompleteTextFieldCell* cell = [self autocompleteTextFieldCell]; for (AutocompleteTextFieldIcon* icon in [cell layedOutIcons:fieldBounds]) [self addCursorRect:[icon rect] cursor:[NSCursor arrowCursor]]; - - // Special-case the location image, since it is not in |-layedOutIcons|. - const NSRect locationIconFrame = [cell locationIconFrameForFrame:fieldBounds]; - [self addCursorRect:locationIconFrame cursor:[NSCursor arrowCursor]]; } -// TODO(shess): -resetFieldEditorFrameIfNeeded is the place where -// changes to the cell layout should be flushed. LocationBarViewMac -// and ToolbarController are calling this routine directly, and I -// think they are probably wrong. -// http://crbug.com/40053 - (void)updateCursorAndToolTipRects { // This will force |resetCursorRects| to be called, as it is not to be called // directly. @@ -377,13 +371,4 @@ actionMenuForEvent:event inRect:[self bounds] ofView:self]; } -- (NSRect)starIconFrame { - AutocompleteTextFieldCell* cell = [self autocompleteTextFieldCell]; - return [cell starIconFrameForFrame:[self bounds]]; -} - -- (NSPasteboard*)locationDragPasteboard { - return [[self autocompleteTextFieldCell] locationDragPasteboard]; -} - @end diff --git a/chrome/browser/cocoa/autocomplete_text_field_cell.h b/chrome/browser/cocoa/autocomplete_text_field_cell.h index bc791cf..1e0a3c5 100644 --- a/chrome/browser/cocoa/autocomplete_text_field_cell.h +++ b/chrome/browser/cocoa/autocomplete_text_field_cell.h @@ -13,15 +13,7 @@ class ExtensionAction; // Holds a |LocationBarImageView| and its current rect. Do not keep references // to this object, only use it directly after calling |-layedOutIcons:|. -// TODO(shess): This class is basically a helper for laying out the -// icons. Try to refactor it away. If that is not reasonable, at -// least split the image and label cases into subclasses once the -// Omnibox stuff is settled. @interface AutocompleteTextFieldIcon : NSObject { - // YES to draw the label part of |view_|, otherwise draw the image - // part. - BOOL isLabel_; - // The frame rect of |view_|. NSRect rect_; @@ -29,20 +21,12 @@ class ExtensionAction; LocationBarViewMac::LocationBarImageView* view_; } +// Returns a new AutocompleteTextFieldIcon object. ++ (AutocompleteTextFieldIcon*) + iconWithRect:(NSRect)rect + view:(LocationBarViewMac::LocationBarImageView*)view; @property(assign, nonatomic) NSRect rect; @property(assign, nonatomic) LocationBarViewMac::LocationBarImageView* view; - -- (id)initImageWithView:(LocationBarViewMac::LocationBarImageView*)view; -- (id)initLabelWithView:(LocationBarViewMac::LocationBarImageView*)view; - -// Position |view_| right-justified in |frame|. -- (void)positionInFrame:(NSRect)frame; - -// Draw image or label of |view_| in |rect_| within |controlView|. -// Only call after |-positionInFrame:| has set |rect_| (or after an -// explicit |-setRect:|). -- (void)drawInView:(NSView*)controlView; - @end // AutocompleteTextFieldCell extends StyledTextFieldCell to provide support for @@ -60,17 +44,10 @@ class ExtensionAction; // side of the field. Exclusive WRT |keywordString_|; scoped_nsobject<NSAttributedString> hintString_; - // The location icon sits at the left-hand side of the field. - // |keywordString_| overrides. - LocationBarViewMac::LocationIconView* locationIconView_; - - // The star icon sits at the right-hand side of the field when an - // URL is being shown. - LocationBarViewMac::LocationBarImageView* starIconView_; - - // The security label floats to the left of page actions at the - // right-hand side. - LocationBarViewMac::LocationBarImageView* securityLabelView_; + // View showing the state of the SSL connection. Owned by the location bar. + // Display is exclusive WRT the |hintString_| and |keywordString_|. + // This may be NULL during testing. + LocationBarViewMac::SecurityImageView* security_image_view_; // List of views showing visible Page Actions. Owned by the location bar. // Display is exclusive WRT the |hintString_| and |keywordString_|. @@ -100,58 +77,34 @@ class ExtensionAction; availableWidth:(CGFloat)width; - (void)clearKeywordAndHint; -- (void)setLocationIconView:(LocationBarViewMac::LocationIconView*)view; -- (void)setStarIconView:(LocationBarViewMac::LocationBarImageView*)view; -- (void)setSecurityLabelView:(LocationBarViewMac::LocationBarImageView*)view; +- (void)setSecurityImageView:(LocationBarViewMac::SecurityImageView*)view; - (void)setPageActionViewList:(LocationBarViewMac::PageActionViewList*)list; - (void)setContentSettingViewsList: (LocationBarViewMac::ContentSettingViews*)views; -// Returns the portion of the cell to use for displaying the location -// icon. -- (NSRect)locationIconFrameForFrame:(NSRect)cellFrame; - // Returns an array of the visible AutocompleteTextFieldIcon objects. Returns // only visible icons. - (NSArray*)layedOutIcons:(NSRect)cellFrame; -// Return the rectangle the star is being shown in, for purposes of -// positioning the bookmark bubble. -- (NSRect)starIconFrameForFrame:(NSRect)cellFrame; - -// Returns the portion of the cell to use for displaying the Page -// Action icon at the given index. May be NSZeroRect if the index's -// action is not visible. This does a linear walk over all page -// actions, so do not call this in a loop to get the position of all -// page actions. Use |-layedOutIcons:| instead in that case. -- (NSRect)pageActionFrameForIndex:(size_t)index inFrame:(NSRect)cellFrame; // Similar to |pageActionFrameForIndex:inFrame| but accepts an // ExtensionAction for when the index is not known. - (NSRect)pageActionFrameForExtensionAction:(ExtensionAction*)action inFrame:(NSRect)cellFrame; -// Find the icon under the event. |nil| if |theEvent| is not over -// anything. -- (AutocompleteTextFieldIcon*)iconForEvent:(NSEvent*)theEvent - inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView; +// Returns the portion of the cell to use for displaying the Page Action icon +// at the given index. May be NSZeroRect if the index's action is not visible. +// This does a linear walk over all page actions, so do not call this in a loop +// to get the position of all page actions. Use |-layedOutIcons:| instead in that +// case. +- (NSRect)pageActionFrameForIndex:(size_t)index inFrame:(NSRect)cellFrame; // Return the appropriate menu for any page actions under event. // Returns nil if no menu is present for the action, or if the event // is not over an action. -- (NSMenu*)actionMenuForEvent:(NSEvent*)theEvent +- (NSMenu*)actionMenuForEvent:(NSEvent*)event inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView; - -// Called by |AutocompleteTextField| to let page actions intercept -// clicks. Returns |YES| if the click has been intercepted. -- (BOOL)mouseDown:(NSEvent*)theEvent - inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView; - -// If the location icon is draggable, return its drag pasteboard. -- (NSPasteboard*)locationDragPasteboard; + ofView:(NSView*)aView; @end @@ -165,4 +118,8 @@ class ExtensionAction; // Returns the total number of installed Page Actions, visible or not. - (size_t)pageActionCount; +// Returns the portion of the cell to use for displaying the security (SSL lock) +// icon, leaving space for its label if any. +- (NSRect)securityImageFrameForFrame:(NSRect)cellFrame; + @end diff --git a/chrome/browser/cocoa/autocomplete_text_field_cell.mm b/chrome/browser/cocoa/autocomplete_text_field_cell.mm index 9801892..7b7f35c 100644 --- a/chrome/browser/cocoa/autocomplete_text_field_cell.mm +++ b/chrome/browser/cocoa/autocomplete_text_field_cell.mm @@ -7,20 +7,6 @@ #include "app/resource_bundle.h" #include "base/logging.h" #include "gfx/font.h" -#include "grit/theme_resources.h" - -@interface AutocompleteTextAttachmentCell : NSTextAttachmentCell { -} - -// TODO(shess): -// Override -cellBaselineOffset to allow the image to be shifted up or -// down relative to the containing text's baseline. - -// Draw the image using |DrawImageInRect()| helper function for -// |-setFlipped:| consistency with other image drawing. -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)aView; - -@end namespace { @@ -49,28 +35,16 @@ const NSInteger kKeywordYInset = 4; // technique would be nice to have, though. const NSInteger kKeywordHintImageBaseline = -6; -// Drops the magnifying glass icon so that it looks centered in the -// keyword-search bubble. -const NSInteger kKeywordSearchImageBaseline = -5; - // The amount of padding on either side reserved for drawing an icon. const NSInteger kIconHorizontalPad = 3; // How far to shift bounding box of hint icon label down from top of field. -const NSInteger kIconLabelYOffset = 7; +const NSInteger kIconLabelYOffset = 5; // How far the editor insets itself, for purposes of determining if // decorations need to be trimmed. const CGFloat kEditorHorizontalInset = 3.0; -// Cause the location icon to line up above the icons in the popup. -const CGFloat kLocationIconXOffset = 6.0; -const CGFloat kLocationIconXPad = 1.0; - -// How long to wait for mouse-up on the location icon before assuming -// that the user wants to drag. -const NSTimeInterval kLocationIconDragTimeout = 0.25; - // Conveniences to centralize width+offset calculations. CGFloat WidthForHint(NSAttributedString* hintString) { return kHintXOffset + ceil([hintString size].width); @@ -80,103 +54,20 @@ CGFloat WidthForKeyword(NSAttributedString* keywordString) { 2 * kKeywordTokenInset; } -// Convenience to draw |image| in the |rect| portion of |view|. -void DrawImageInRect(NSImage* image, NSView* view, const NSRect& rect) { - // If there is an image, make sure we calculated the target size - // correctly. - DCHECK(!image || NSEqualSizes([image size], rect.size)); - [image setFlipped:[view isFlipped]]; - [image drawInRect:rect - fromRect:NSZeroRect // Entire image - operation:NSCompositeSourceOver - fraction:1.0]; -} - -// Helper function to generate an attributed string containing -// |anImage|. If |baselineAdjustment| is 0, the image sits on the -// text baseline, positive values shift it up, negative values shift -// it down. -NSAttributedString* AttributedStringForImage(NSImage* anImage, - CGFloat baselineAdjustment) { - scoped_nsobject<AutocompleteTextAttachmentCell> attachmentCell( - [[AutocompleteTextAttachmentCell alloc] initImageCell:anImage]); - scoped_nsobject<NSTextAttachment> attachment( - [[NSTextAttachment alloc] init]); - [attachment setAttachmentCell:attachmentCell]; - - scoped_nsobject<NSMutableAttributedString> as( - [[NSAttributedString attributedStringWithAttachment:attachment] - mutableCopy]); - [as addAttribute:NSBaselineOffsetAttributeName - value:[NSNumber numberWithFloat:baselineAdjustment] - range:NSMakeRange(0, [as length])]; - - return [[as copy] autorelease]; -} - } // namespace -@implementation AutocompleteTextAttachmentCell - -- (void)drawWithFrame:(NSRect)cellFrame inView:(NSView *)aView { - // Draw image with |DrawImageInRect()| to get consistent - // |-setFlipped:| treatment. - DrawImageInRect([self image], aView, cellFrame); -} - -@end - @implementation AutocompleteTextFieldIcon @synthesize rect = rect_; @synthesize view = view_; -// Private helper. -- (id)initWithView:(LocationBarViewMac::LocationBarImageView*)view - isLabel:(BOOL)isLabel { - self = [super init]; - if (self) { - isLabel_ = isLabel; - view_ = view; - rect_ = NSZeroRect; - } - return self; -} - -- (id)initImageWithView:(LocationBarViewMac::LocationBarImageView*)view { - return [self initWithView:view isLabel:NO]; -} - -- (id)initLabelWithView:(LocationBarViewMac::LocationBarImageView*)view { - return [self initWithView:view isLabel:YES]; -} - -- (void)positionInFrame:(NSRect)frame { - if (isLabel_) { - NSAttributedString* label = view_->GetLabel(); - DCHECK(label); - const CGFloat labelWidth = ceil([label size].width); - rect_ = NSMakeRect(NSMaxX(frame) - labelWidth, - NSMinY(frame) + kIconLabelYOffset, - labelWidth, NSHeight(frame) - kIconLabelYOffset); - } else { - const NSSize imageSize = view_->GetImageSize(); - const CGFloat yOffset = floor((NSHeight(frame) - imageSize.height) / 2); - rect_ = NSMakeRect(NSMaxX(frame) - imageSize.width, - NSMinY(frame) + yOffset, - imageSize.width, imageSize.height); - } -} - -- (void)drawInView:(NSView*)controlView { - // Make sure someone called |-positionInFrame:|. - DCHECK(!NSIsEmptyRect(rect_)); - if (isLabel_) { - NSAttributedString* label = view_->GetLabel(); - [label drawInRect:rect_]; - } else { - DrawImageInRect(view_->GetImage(), controlView, rect_); - } ++ (AutocompleteTextFieldIcon*) + iconWithRect:(NSRect)rect + view:(LocationBarViewMac::LocationBarImageView*)view { + AutocompleteTextFieldIcon* result = [[AutocompleteTextFieldIcon alloc] init]; + [result setRect:rect]; + [result setView:view]; + return [result autorelease]; } @end @@ -205,40 +96,18 @@ NSAttributedString* AttributedStringForImage(NSImage* anImage, // Adjust for space between editor and decorations. width -= 2 * kEditorHorizontalInset; - // Get the magnifying glass to put at the front of the string. - NSImage* image = - AutocompleteEditViewMac::ImageForResource(IDR_OMNIBOX_SEARCH); - const NSSize imageSize = [image size]; - - // Based on what fits, choose |fullString| with the image, - // |fullString| without the image, or |partialString|. + // If |fullString| won't fit, choose |partialString|. NSDictionary* attributes = [NSDictionary dictionaryWithObject:[self font] forKey:NSFontAttributeName]; NSString* s = fullString; - const CGFloat sWidth = [s sizeWithAttributes:attributes].width; - if (sWidth + imageSize.width > width) { - image = nil; - } - if (sWidth > width) { + if ([s sizeWithAttributes:attributes].width > width) { if (partialString) { s = partialString; } } - - scoped_nsobject<NSMutableAttributedString> as( - [[NSMutableAttributedString alloc] initWithString:s - attributes:attributes]); - - // Insert the image at the front of the string if it didn't make - // things too wide. - if (image) { - NSAttributedString* is = - AttributedStringForImage(image, kKeywordSearchImageBaseline); - [as insertAttributedString:is atIndex:0]; - } - - keywordString_.reset([as copy]); + keywordString_.reset( + [[NSAttributedString alloc] initWithString:s attributes:attributes]); } // Convenience for the attributes used in the right-justified info @@ -286,8 +155,21 @@ NSAttributedString* AttributedStringForImage(NSImage* anImage, initWithString:s attributes:[self hintAttributes]]); // Build an attachment containing the hint image. - NSAttributedString* is = - AttributedStringForImage(anImage, kKeywordHintImageBaseline); + scoped_nsobject<NSTextAttachmentCell> attachmentCell( + [[NSTextAttachmentCell alloc] initImageCell:anImage]); + scoped_nsobject<NSTextAttachment> attachment( + [[NSTextAttachment alloc] init]); + [attachment setAttachmentCell:attachmentCell]; + + // The attachment's baseline needs to be adjusted so the image + // doesn't sit on the same baseline as the text and make + // everything too tall. + scoped_nsobject<NSMutableAttributedString> is( + [[NSAttributedString attributedStringWithAttachment:attachment] + mutableCopy]); + [is addAttribute:NSBaselineOffsetAttributeName + value:[NSNumber numberWithFloat:kKeywordHintImageBaseline] + range:NSMakeRange(0, [is length])]; // Stuff the image attachment between the prefix and suffix. [as insertAttributedString:is atIndex:[prefixString length]]; @@ -331,16 +213,8 @@ NSAttributedString* AttributedStringForImage(NSImage* anImage, page_action_views_ = list; } -- (void)setLocationIconView:(LocationBarViewMac::LocationIconView*)view { - locationIconView_ = view; -} - -- (void)setStarIconView:(LocationBarViewMac::LocationBarImageView*)view { - starIconView_ = view; -} - -- (void)setSecurityLabelView:(LocationBarViewMac::LocationBarImageView*)view { - securityLabelView_ = view; +- (void)setSecurityImageView:(LocationBarViewMac::SecurityImageView*)view { + security_image_view_ = view; } - (void)setContentSettingViewsList: @@ -352,81 +226,69 @@ NSAttributedString* AttributedStringForImage(NSImage* anImage, - (NSRect)textFrameForFrame:(NSRect)cellFrame { NSRect textFrame([super textFrameForFrame:cellFrame]); - // NOTE: This function must closely match the logic in - // |-drawInteriorWithFrame:inView:|. - - // Location icon is not shown in keyword search mode. - if (!keywordString_ && locationIconView_ && locationIconView_->IsVisible()) { - const NSRect iconFrame = [self locationIconFrameForFrame:cellFrame]; - const CGFloat newOrigin = NSMaxX(iconFrame) + kLocationIconXPad; - textFrame.size.width = NSMaxX(textFrame) - newOrigin; - textFrame.origin.x = newOrigin; - } - - // Leave room for items on the right (SSL label, page actions, etc). - // Icons are laid out in |cellFrame| rather than |textFrame| for - // consistency with drawing code. - NSArray* icons = [self layedOutIcons:cellFrame]; - if ([icons count]) { - // Max x for resulting text frame. - const CGFloat maxX = NSMinX([[icons objectAtIndex:0] rect]); - textFrame.size.width = maxX - NSMinX(textFrame); - } - - // Keyword string or hint string if they fit. - if (keywordString_) { - DCHECK(!hintString_); - const CGFloat keywordWidth(WidthForKeyword(keywordString_)); - - if (keywordWidth < NSWidth(textFrame)) { - textFrame.origin.x += keywordWidth; - textFrame.size.width -= keywordWidth; - } - } else if (hintString_) { + if (hintString_) { DCHECK(!keywordString_); const CGFloat hintWidth(WidthForHint(hintString_)); // TODO(shess): This could be better. Show the hint until the // non-hint text bumps against it? - if (hintWidth < NSWidth(textFrame)) { + if (hintWidth < NSWidth(cellFrame)) { textFrame.size.width -= hintWidth; } - } + } else if (keywordString_) { + DCHECK(!hintString_); + const CGFloat keywordWidth(WidthForKeyword(keywordString_)); - // SSL label if it fits. - if (securityLabelView_ && securityLabelView_->IsVisible() && - securityLabelView_->GetLabel()) { - NSAttributedString* label = securityLabelView_->GetLabel(); - const CGFloat labelWidth = ceil([label size].width) + kIconHorizontalPad; - if (NSWidth(textFrame) > labelWidth) { - textFrame.size.width -= labelWidth; + // TODO(shess): This could be better. There's support for a + // "short" version of the keyword string, work that in in a + // follow-on pass. + if (keywordWidth < NSWidth(cellFrame)) { + textFrame.origin.x += keywordWidth; + textFrame.size.width = NSMaxX(cellFrame) - NSMinX(textFrame); } + } else { + // Leave room for images on the right (lock icon etc). + NSArray* iconFrames = [self layedOutIcons:cellFrame]; + CGFloat width = 0; + if ([iconFrames count] > 0) + width = NSMaxX(cellFrame) - NSMinX([[iconFrames lastObject] rect]); + if (width > 0) + width += kIconHorizontalPad; + if (width < NSWidth(cellFrame)) + textFrame.size.width -= width; } return textFrame; } -- (NSRect)locationIconFrameForFrame:(NSRect)cellFrame { - if (!locationIconView_ || !locationIconView_->IsVisible()) - return NSZeroRect; - - const NSSize imageSize = locationIconView_->GetImageSize(); - const CGFloat yOffset = floor((NSHeight(cellFrame) - imageSize.height) / 2); - return NSMakeRect(NSMinX(cellFrame) + kLocationIconXOffset, - NSMinY(cellFrame) + yOffset, - imageSize.width, imageSize.height); +// Returns a rect of size |imageSize| centered vertically and right-justified in +// the |box|, with its top left corner |margin| pixels from the right end of the +// box. (The image thus occupies part of the |margin|.) +- (NSRect)rightJustifyImage:(NSSize)imageSize + inRect:(NSRect)box + withMargin:(CGFloat)margin { + box.origin.x += box.size.width - margin; + box.origin.y += floor((box.size.height - imageSize.height) / 2); + box.size = imageSize; + return box; } -- (NSRect)starIconFrameForFrame:(NSRect)cellFrame { - if (!starIconView_ || !starIconView_->IsVisible()) +- (NSRect)securityImageFrameForFrame:(NSRect)cellFrame { + if (!security_image_view_ || !security_image_view_->IsVisible()) { return NSZeroRect; + } + + // Calculate the total width occupied by the image, label, and padding. + NSSize imageSize = [security_image_view_->GetImage() size]; + CGFloat widthUsed = imageSize.width + kIconHorizontalPad; + NSAttributedString* label = security_image_view_->GetLabel(); + if (label) { + widthUsed += ceil([label size].width) + kHintXOffset; + } - // The star icon is always at the RHS. - scoped_nsobject<AutocompleteTextFieldIcon> icon( - [[AutocompleteTextFieldIcon alloc] initImageWithView:starIconView_]); - cellFrame.size.width -= kHintXOffset; - [icon positionInFrame:cellFrame]; - return [icon rect]; + return [self rightJustifyImage:imageSize + inRect:cellFrame + withMargin:widthUsed]; } - (size_t)pageActionCount { @@ -503,223 +365,118 @@ NSAttributedString* AttributedStringForImage(NSImage* anImage, [path stroke]; // Draw text w/in the rectangle. - infoFrame.origin.x += 3.0; + infoFrame.origin.x += 4.0; + infoFrame.origin.y += 1.0; [keywordString_.get() drawInRect:infoFrame]; } -- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView { - NSRect workingFrame = cellFrame; - - // NOTE: This function must closely match the logic in - // |-textFrameForFrame:|. - - // Location icon is not shown in keyword search mode. - if (!keywordString_ && locationIconView_ && locationIconView_->IsVisible()) { - const NSRect iconFrame = [self locationIconFrameForFrame:cellFrame]; - DrawImageInRect(locationIconView_->GetImage(), controlView, iconFrame); - const CGFloat newOrigin = NSMaxX(iconFrame) + kLocationIconXPad; - workingFrame.size.width = NSMaxX(workingFrame) - newOrigin; - workingFrame.origin.x = newOrigin; - } - - NSArray* icons = [self layedOutIcons:cellFrame]; - for (AutocompleteTextFieldIcon* icon in icons) { - [icon drawInView:controlView]; - } - if ([icons count]) { - // Max x for resulting text frame. - const CGFloat maxX = NSMinX([[icons objectAtIndex:0] rect]); - workingFrame.size.width = maxX - NSMinX(workingFrame); +- (void)drawImageView:(LocationBarViewMac::LocationBarImageView*)imageView + inFrame:(NSRect)imageFrame + inView:(NSView*)controlView { + // If there's a label, draw it to the right of the icon. The caller must have + // left sufficient space. + NSAttributedString* label = imageView->GetLabel(); + if (label) { + CGFloat labelWidth = ceil([label size].width) + kHintXOffset; + NSRect textFrame(NSMakeRect(NSMaxX(imageFrame) + kIconHorizontalPad, + imageFrame.origin.y + kIconLabelYOffset, + labelWidth, + imageFrame.size.height - kIconLabelYOffset)); + [label drawInRect:textFrame]; } - // Keyword string or hint string if they fit. - if (keywordString_) { - DCHECK(!hintString_); - const CGFloat keywordWidth(WidthForKeyword(keywordString_)); - - if (keywordWidth < NSWidth(workingFrame)) { - [self drawKeywordWithFrame:cellFrame inView:controlView]; - workingFrame.origin.x += keywordWidth; - workingFrame.size.width -= keywordWidth; - } - } else if (hintString_) { - DCHECK(!keywordString_); - const CGFloat hintWidth(WidthForHint(hintString_)); - - // TODO(shess): This could be better. Show the hint until the - // non-hint text bumps against it? - if (hintWidth < NSWidth(workingFrame)) { - [self drawHintWithFrame:cellFrame inView:controlView]; - workingFrame.size.width -= hintWidth; - } - } + // Draw the entire image. + NSRect imageRect = NSZeroRect; + NSImage* image = imageView->GetImage(); + image.size = [image size]; + [image setFlipped:[controlView isFlipped]]; + [image drawInRect:imageFrame + fromRect:imageRect + operation:NSCompositeSourceOver + fraction:1.0]; +} - // SSL label if it fits. - if (securityLabelView_ && securityLabelView_->IsVisible() && - securityLabelView_->GetLabel()) { - NSAttributedString* label = securityLabelView_->GetLabel(); - const CGFloat labelWidth = ceil([label size].width) + kIconHorizontalPad; - if (NSWidth(workingFrame) > labelWidth) { - workingFrame.size.width -= kIconHorizontalPad; - - scoped_nsobject<AutocompleteTextFieldIcon> icon( - [[AutocompleteTextFieldIcon alloc] - initLabelWithView:securityLabelView_]); - [icon positionInFrame:workingFrame]; - [icon drawInView:controlView]; - DCHECK_EQ(labelWidth, NSWidth([icon rect]) + kIconHorizontalPad); - workingFrame.size.width -= NSWidth([icon rect]); +- (void)drawInteriorWithFrame:(NSRect)cellFrame inView:(NSView*)controlView { + if (hintString_) { + [self drawHintWithFrame:cellFrame inView:controlView]; + } else if (keywordString_) { + [self drawKeywordWithFrame:cellFrame inView:controlView]; + } else { + for (AutocompleteTextFieldIcon* icon in [self layedOutIcons:cellFrame]) { + [self drawImageView:[icon view] + inFrame:[icon rect] + inView:controlView]; } } - // Superclass draws text portion WRT original |cellFrame|. [super drawInteriorWithFrame:cellFrame inView:controlView]; } - (NSArray*)layedOutIcons:(NSRect)cellFrame { - // The set of views to display right-justified in the cell, from - // left to right. - NSMutableArray* result = [NSMutableArray array]; - - // Collect the image views for bulk processing. - // TODO(shess): Refactor with LocationBarViewMac to make the - // different types of items more consistent. - std::vector<LocationBarViewMac::LocationBarImageView*> views; - - if (content_setting_views_) { - views.insert(views.end(), - content_setting_views_->begin(), - content_setting_views_->end()); - } - - // TODO(shess): Previous implementation of this method made a - // right-to-left array, so add the page-action items in that order. - // As part of the refactor mentioned above, lay everything out - // nicely left-to-right. - for (size_t i = [self pageActionCount]; i-- > 0;) { - views.push_back(page_action_views_->ViewAt(i)); + NSMutableArray* result = [NSMutableArray arrayWithCapacity:0]; + NSRect iconFrame = cellFrame; + if (security_image_view_ && security_image_view_->IsVisible()) { + NSRect securityImageFrame = [self securityImageFrameForFrame:iconFrame]; + [result addObject: + [AutocompleteTextFieldIcon iconWithRect:securityImageFrame + view:security_image_view_]]; + iconFrame.size.width -= NSMaxX(iconFrame) - NSMinX(securityImageFrame); } - // The star icon should always come last. - if (starIconView_) - views.push_back(starIconView_); - - // Load the visible views into |result|. - for (std::vector<LocationBarViewMac::LocationBarImageView*>::const_iterator - iter = views.begin(); iter != views.end(); ++iter) { - if ((*iter)->IsVisible()) { - scoped_nsobject<AutocompleteTextFieldIcon> icon( - [[AutocompleteTextFieldIcon alloc] initImageWithView:*iter]); - [result addObject:icon]; + const size_t pageActionCount = [self pageActionCount]; + for (size_t i = 0; i < pageActionCount; ++i) { + LocationBarViewMac::PageActionImageView* view = + page_action_views_->ViewAt(i); + if (view->IsVisible()) { + // If this function is called right after a page action icon has been + // created, the images for all views will still be loading; in this case, + // each visible view will give us its default size. + NSSize iconSize = view->GetPreferredImageSize(); + NSRect pageActionFrame = + [self rightJustifyImage:iconSize + inRect:iconFrame + withMargin:kIconHorizontalPad + iconSize.width]; + [result addObject: + [AutocompleteTextFieldIcon iconWithRect:pageActionFrame view:view]]; + iconFrame.size.width -= NSMaxX(iconFrame) - NSMinX(pageActionFrame); } } - // Leave a boundary at RHS of field. - cellFrame.size.width -= kHintXOffset; - - // Position each view within the frame from right to left. - for (AutocompleteTextFieldIcon* icon in [result reverseObjectEnumerator]) { - [icon positionInFrame:cellFrame]; - - // Trim the icon's space from the frame. - cellFrame.size.width = NSMinX([icon rect]) - kIconHorizontalPad; + if (content_setting_views_) { + // We use a reverse_iterator here because we're laying out the views from + // right to left but in the vector they're ordered left to right. + for (LocationBarViewMac::ContentSettingViews::const_reverse_iterator + it(content_setting_views_->rbegin()); + it != const_cast<const LocationBarViewMac::ContentSettingViews*>( + content_setting_views_)->rend(); + ++it) { + if ((*it)->IsVisible()) { + NSImage* image = (*it)->GetImage(); + NSRect blockedContentFrame = + [self rightJustifyImage:[image size] + inRect:iconFrame + withMargin:[image size].width + kIconHorizontalPad]; + [result addObject: + [AutocompleteTextFieldIcon iconWithRect:blockedContentFrame + view:*it]]; + iconFrame.size.width -= NSMaxX(iconFrame) - NSMinX(blockedContentFrame); + } + } } return result; } -- (AutocompleteTextFieldIcon*)iconForEvent:(NSEvent*)theEvent - inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView { - const BOOL flipped = [controlView isFlipped]; - const NSPoint location = - [controlView convertPoint:[theEvent locationInWindow] fromView:nil]; - - // Special check for location image, it is not in |-layedOutIcons:|. - const NSRect locationIconFrame = [self locationIconFrameForFrame:cellFrame]; - if (NSMouseInRect(location, locationIconFrame, flipped)) { - // Make up an icon to return. - AutocompleteTextFieldIcon* icon = - [[[AutocompleteTextFieldIcon alloc] - initImageWithView:locationIconView_] autorelease]; - [icon setRect:locationIconFrame]; - return icon; - } - - for (AutocompleteTextFieldIcon* icon in [self layedOutIcons:cellFrame]) { - if (NSMouseInRect(location, [icon rect], flipped)) - return icon; - } - - return nil; -} - -- (NSMenu*)actionMenuForEvent:(NSEvent*)theEvent +- (NSMenu*)actionMenuForEvent:(NSEvent*)event inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView { - AutocompleteTextFieldIcon* - icon = [self iconForEvent:theEvent inRect:cellFrame ofView:controlView]; - if (icon) - return [icon view]->GetMenu(); - return nil; -} + ofView:(NSView*)aView { + NSPoint location = [aView convertPoint:[event locationInWindow] fromView:nil]; -- (BOOL)mouseDown:(NSEvent*)theEvent - inRect:(NSRect)cellFrame - ofView:(AutocompleteTextField*)controlView { - AutocompleteTextFieldIcon* icon = - [self iconForEvent:theEvent inRect:cellFrame ofView:controlView]; - if (!icon) - return NO; - - // If the icon is draggable, then initiate a drag if the user drags - // or holds the mouse down for awhile. - if ([icon view]->IsDraggable()) { - NSDate* timeout = - [NSDate dateWithTimeIntervalSinceNow:kLocationIconDragTimeout]; - NSEvent* event = [NSApp nextEventMatchingMask:(NSLeftMouseDraggedMask | - NSLeftMouseUpMask) - untilDate:timeout - inMode:NSEventTrackingRunLoopMode - dequeue:YES]; - if (!event || [event type] == NSLeftMouseDragged) { - NSPasteboard* pboard = [icon view]->GetDragPasteboard(); - DCHECK(pboard); - - // TODO(shess): My understanding is that the -isFlipped - // adjustment should not be necessary. But without it, the - // image is nowhere near the cursor. Perhaps the icon's rect is - // incorrectly calculated? - // http://crbug.com/40711 - NSPoint dragPoint = [icon rect].origin; - if ([controlView isFlipped]) - dragPoint.y += NSHeight([icon rect]); - - [controlView dragImage:[icon view]->GetImage() - at:dragPoint - offset:NSZeroSize - event:event ? event : theEvent - pasteboard:pboard - source:self - slideBack:YES]; - return YES; + const BOOL flipped = [aView isFlipped]; + for (AutocompleteTextFieldIcon* icon in [self layedOutIcons:cellFrame]) { + if (NSMouseInRect(location, [icon rect], flipped)) { + return [icon view]->GetMenu(); } - - // On mouse-up fall through to mouse-pressed case. - DCHECK_EQ([event type], NSLeftMouseUp); } - - [icon view]->OnMousePressed([icon rect]); - return YES; -} - -- (NSDragOperation)draggingSourceOperationMaskForLocal:(BOOL)isLocal { - return NSDragOperationCopy; -} - -- (NSPasteboard*)locationDragPasteboard { - if (locationIconView_ && locationIconView_->IsDraggable()) - return locationIconView_->GetDragPasteboard(); - return nil; } diff --git a/chrome/browser/cocoa/autocomplete_text_field_cell_unittest.mm b/chrome/browser/cocoa/autocomplete_text_field_cell_unittest.mm index 5bd02cc..0a16c48 100644 --- a/chrome/browser/cocoa/autocomplete_text_field_cell_unittest.mm +++ b/chrome/browser/cocoa/autocomplete_text_field_cell_unittest.mm @@ -4,11 +4,9 @@ #import <Cocoa/Cocoa.h> -#include "app/resource_bundle.h" #include "base/scoped_nsobject.h" #import "chrome/browser/cocoa/autocomplete_text_field_cell.h" #import "chrome/browser/cocoa/cocoa_test_helper.h" -#include "grit/theme_resources.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h" @@ -45,7 +43,7 @@ class TestPageActionViewList : public LocationBarViewMac::PageActionViewList { class AutocompleteTextFieldCellTest : public CocoaTest { public: - AutocompleteTextFieldCellTest() : location_icon_view_(NULL), + AutocompleteTextFieldCellTest() : security_image_view_(NULL, NULL, NULL), page_action_views_() { // Make sure this is wide enough to play games with the cell // decorations. @@ -59,8 +57,7 @@ class AutocompleteTextFieldCellTest : public CocoaTest { [[AutocompleteTextFieldCell alloc] initTextCell:@"Testing"]); [cell setEditable:YES]; [cell setBordered:YES]; - [cell setLocationIconView:&location_icon_view_]; - [cell setSecurityLabelView:&security_label_view_]; + [cell setSecurityImageView:&security_image_view_]; [cell setPageActionViewList:&page_action_views_]; [view_ setCell:cell.get()]; @@ -68,8 +65,7 @@ class AutocompleteTextFieldCellTest : public CocoaTest { } NSTextField* view_; - LocationBarViewMac::LocationIconView location_icon_view_; - LocationBarViewMac::LocationBarImageView security_label_view_; + LocationBarViewMac::SecurityImageView security_image_view_; TestPageActionViewList page_action_views_; }; @@ -203,16 +199,15 @@ TEST_F(AutocompleteTextFieldCellTest, TextFrame) { EXPECT_EQ(NSMaxX(bounds), NSMaxX(textFrame)); EXPECT_TRUE(NSContainsRect(cursorFrame, textFrame)); - // Location icon takes up space on the left - location_icon_view_.SetImage( - ResourceBundle::GetSharedInstance().GetNSImageNamed( - IDR_OMNIBOX_HTTPS_VALID)); - location_icon_view_.SetVisible(true); + // Security icon takes up space on the right + security_image_view_.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); + security_image_view_.SetVisible(true); textFrame = [cell textFrameForFrame:bounds]; EXPECT_FALSE(NSIsEmptyRect(textFrame)); EXPECT_TRUE(NSContainsRect(bounds, textFrame)); - EXPECT_GT(NSMinX(textFrame), NSMinX(bounds)); + EXPECT_LT(NSMaxX(textFrame), NSMaxX(bounds)); EXPECT_TRUE(NSContainsRect(cursorFrame, textFrame)); // Search hint text takes precedence over the hint icon; the text frame @@ -270,10 +265,9 @@ TEST_F(AutocompleteTextFieldCellTest, DrawingRectForBounds) { EXPECT_TRUE(NSContainsRect(NSInsetRect(textFrame, 1, 1), drawingRect)); EXPECT_TRUE(NSEqualRects(drawingRect, originalDrawingRect)); - location_icon_view_.SetImage( - ResourceBundle::GetSharedInstance().GetNSImageNamed( - IDR_OMNIBOX_HTTPS_VALID)); - location_icon_view_.SetVisible(true); + security_image_view_.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); + security_image_view_.SetVisible(true); textFrame = [cell textFrameForFrame:bounds]; drawingRect = [cell drawingRectForBounds:bounds]; @@ -281,60 +275,55 @@ TEST_F(AutocompleteTextFieldCellTest, DrawingRectForBounds) { EXPECT_TRUE(NSContainsRect(NSInsetRect(textFrame, 1, 1), drawingRect)); } -// Test that the location icon is at the right side of the cell. -TEST_F(AutocompleteTextFieldCellTest, LocationIconFrame) { +// Test that the security icon is at the right side of the cell. +TEST_F(AutocompleteTextFieldCellTest, SecurityImageFrame) { AutocompleteTextFieldCell* cell = static_cast<AutocompleteTextFieldCell*>([view_ cell]); const NSRect bounds([view_ bounds]); - location_icon_view_.SetImage( - ResourceBundle::GetSharedInstance().GetNSImageNamed( - IDR_OMNIBOX_HTTPS_VALID)); + security_image_view_.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); - location_icon_view_.SetVisible(true); - const NSRect iconRect = [cell locationIconFrameForFrame:bounds]; - EXPECT_FALSE(NSIsEmptyRect(iconRect)); - EXPECT_TRUE(NSContainsRect(bounds, iconRect)); + security_image_view_.SetVisible(false); + EXPECT_EQ(0u, [[cell layedOutIcons:bounds] count]); - // Location icon should be left of |drawingRect|. - const NSRect drawingRect = [cell drawingRectForBounds:bounds]; - EXPECT_GT(NSMinX(drawingRect), NSMinX(iconRect)); + security_image_view_.SetVisible(true); + NSArray* icons = [cell layedOutIcons:bounds]; + ASSERT_EQ(1u, [icons count]); + NSRect iconRect = [[icons objectAtIndex:0] rect]; - // Location icon should be left of |textFrame|. - const NSRect textFrame = [cell textFrameForFrame:bounds]; - EXPECT_GT(NSMinX(textFrame), NSMinX(iconRect)); -} + EXPECT_FALSE(NSIsEmptyRect(iconRect)); + EXPECT_TRUE(NSContainsRect(bounds, iconRect)); -// Test that security label takes space to the right. -TEST_F(AutocompleteTextFieldCellTest, SecurityLabelFrame) { - AutocompleteTextFieldCell* cell = - static_cast<AutocompleteTextFieldCell*>([view_ cell]); - const NSRect bounds([view_ bounds]); + // Make sure we are right of the |drawingRect|. + NSRect drawingRect = [cell drawingRectForBounds:bounds]; + EXPECT_LE(NSMaxX(drawingRect), NSMinX(iconRect)); - // No label shows nothing, regardless of visibility setting. - security_label_view_.SetVisible(false); - const NSRect baseTextFrame = [cell textFrameForFrame:bounds]; - security_label_view_.SetVisible(true); - EXPECT_TRUE(NSEqualRects(baseTextFrame, [cell textFrameForFrame:bounds])); + // Make sure we're right of the |textFrame|. + NSRect textFrame = [cell textFrameForFrame:bounds]; + EXPECT_LE(NSMaxX(textFrame), NSMinX(iconRect)); - // Still not visible even with a label. + // Now add a label. NSFont* font = [NSFont controlContentFontOfSize:12.0]; NSColor* color = [NSColor blackColor]; - security_label_view_.SetLabel(@"Label", font, color); - security_label_view_.SetVisible(false); - EXPECT_TRUE(NSEqualRects(baseTextFrame, [cell textFrameForFrame:bounds])); + security_image_view_.SetLabel(@"Label", font, color); + icons = [cell layedOutIcons:bounds]; + ASSERT_EQ(1u, [icons count]); + iconRect = [[icons objectAtIndex:0] rect]; - // Visible with a label is strictly narrower than without. - security_label_view_.SetVisible(true); - NSRect textFrame = [cell textFrameForFrame:bounds]; - const CGFloat labelWidth = [security_label_view_.GetLabel() size].width; - EXPECT_TRUE(NSContainsRect(baseTextFrame, textFrame)); - EXPECT_LT(NSWidth(textFrame), NSWidth(baseTextFrame) - labelWidth); + EXPECT_FALSE(NSIsEmptyRect(iconRect)); + EXPECT_TRUE(NSContainsRect(bounds, iconRect)); - NSString* longLabel = - @"Really super-long labels will not show up if there's not enough room."; - security_label_view_.SetLabel(longLabel, font, color); + // Make sure we are right of the |drawingRect|. + drawingRect = [cell drawingRectForBounds:bounds]; + EXPECT_LE(NSMaxX(drawingRect), NSMinX(iconRect)); + + // Make sure we're right of the |textFrame|. textFrame = [cell textFrameForFrame:bounds]; - EXPECT_TRUE(NSEqualRects(baseTextFrame, [cell textFrameForFrame:bounds])); + EXPECT_LE(NSMaxX(textFrame), NSMinX(iconRect)); + + // Make sure we clear correctly. + security_image_view_.SetVisible(false); + EXPECT_EQ(0u, [[cell layedOutIcons:bounds] count]); } // Test Page Action counts. @@ -360,6 +349,8 @@ TEST_F(AutocompleteTextFieldCellTest, PageActionImageFrame) { AutocompleteTextFieldCell* cell = static_cast<AutocompleteTextFieldCell*>([view_ cell]); const NSRect bounds([view_ bounds]); + security_image_view_.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); TestPageActionImageView page_action_view; // We'll assume that the extensions code enforces icons smaller than the @@ -377,12 +368,13 @@ TEST_F(AutocompleteTextFieldCellTest, PageActionImageFrame) { list.Add(&page_action_view2); [cell setPageActionViewList:&list]; + security_image_view_.SetVisible(false); page_action_view.SetVisible(false); page_action_view2.SetVisible(false); EXPECT_TRUE(NSIsEmptyRect([cell pageActionFrameForIndex:0 inFrame:bounds])); EXPECT_TRUE(NSIsEmptyRect([cell pageActionFrameForIndex:1 inFrame:bounds])); - // One page action, no lock icon. + // One page action, no security icon. page_action_view.SetVisible(true); NSRect iconRect0 = [cell pageActionFrameForIndex:0 inFrame:bounds]; @@ -397,19 +389,17 @@ TEST_F(AutocompleteTextFieldCellTest, PageActionImageFrame) { NSRect textFrame = [cell textFrameForFrame:bounds]; EXPECT_LE(NSMaxX(textFrame), NSMinX(iconRect0)); - // Two page actions plus a security label. + // Two page actions plus a security icon. page_action_view2.SetVisible(true); + security_image_view_.SetVisible(true); NSArray* icons = [cell layedOutIcons:bounds]; - ASSERT_EQ(2u, [icons count]); - - // TODO(shess): page-action list is inverted from -layedOutIcons: - // Yes, this is confusing, fix it. + EXPECT_EQ(3u, [icons count]); iconRect0 = [cell pageActionFrameForIndex:0 inFrame:bounds]; NSRect iconRect1 = [cell pageActionFrameForIndex:1 inFrame:bounds]; - NSRect labelRect = [[icons objectAtIndex:0] rect]; + NSRect lockRect = [[icons objectAtIndex:0] rect]; EXPECT_TRUE(NSEqualRects(iconRect0, [[icons objectAtIndex:1] rect])); - EXPECT_TRUE(NSEqualRects(iconRect1, [[icons objectAtIndex:0] rect])); + EXPECT_TRUE(NSEqualRects(iconRect1, [[icons objectAtIndex:2] rect])); // Make sure they're all in the expected order, and right of the |drawingRect| // and |textFrame|. @@ -420,13 +410,13 @@ TEST_F(AutocompleteTextFieldCellTest, PageActionImageFrame) { EXPECT_TRUE(NSContainsRect(bounds, iconRect0)); EXPECT_FALSE(NSIsEmptyRect(iconRect1)); EXPECT_TRUE(NSContainsRect(bounds, iconRect1)); - EXPECT_FALSE(NSIsEmptyRect(labelRect)); - EXPECT_TRUE(NSContainsRect(bounds, labelRect)); + EXPECT_FALSE(NSIsEmptyRect(lockRect)); + EXPECT_TRUE(NSContainsRect(bounds, lockRect)); EXPECT_LE(NSMaxX(drawingRect), NSMinX(iconRect1)); EXPECT_LE(NSMaxX(textFrame), NSMinX(iconRect1)); EXPECT_LE(NSMaxX(iconRect1), NSMinX(iconRect0)); - EXPECT_LE(NSMaxX(labelRect), NSMinX(iconRect0)); + EXPECT_LE(NSMaxX(iconRect0), NSMinX(lockRect)); } // Test that the cell correctly chooses the partial keyword if there's @@ -438,22 +428,11 @@ TEST_F(AutocompleteTextFieldCellTest, UsesPartialKeywordIfNarrow) { const NSString* kFullString = @"Search Engine:"; const NSString* kPartialString = @"Search Eng:"; - // Wide width chooses the full string, including an image on the - // left. + // Wide width chooses the full string. [cell setKeywordString:kFullString partialString:kPartialString availableWidth:kWidth]; EXPECT_TRUE([cell keywordString]); - EXPECT_TRUE([[[cell keywordString] string] hasSuffix:kFullString]); - EXPECT_TRUE([[cell keywordString] containsAttachments]); - - // If not enough space to include the image, uses exactly the full - // string. - CGFloat allWidth = [[cell keywordString] size].width; - [cell setKeywordString:kFullString - partialString:kPartialString - availableWidth:allWidth - 5.0]; - EXPECT_TRUE([cell keywordString]); EXPECT_TRUE([[[cell keywordString] string] isEqualToString:kFullString]); // Narrow width chooses the partial string. diff --git a/chrome/browser/cocoa/autocomplete_text_field_editor.mm b/chrome/browser/cocoa/autocomplete_text_field_editor.mm index 974b346..70aa5cd 100644 --- a/chrome/browser/cocoa/autocomplete_text_field_editor.mm +++ b/chrome/browser/cocoa/autocomplete_text_field_editor.mm @@ -33,35 +33,6 @@ class Extension; return self; } -// If the entire field is selected, drag the same data as would be -// dragged from the field's location icon. In some cases the textual -// contents will not contain relevant data (for instance, "http://" is -// stripped from URLs). -- (BOOL)dragSelectionWithEvent:(NSEvent *)event - offset:(NSSize)mouseOffset - slideBack:(BOOL)slideBack { - const NSRange allRange = NSMakeRange(0, [[self textStorage] length]); - if (NSEqualRanges(allRange, [self selectedRange])) { - NSPasteboard* pboard = [[self delegate] locationDragPasteboard]; - if (pboard) { - NSPoint p; - NSImage* image = [self dragImageForSelectionWithEvent:event origin:&p]; - - [self dragImage:image - at:p - offset:mouseOffset - event:event - pasteboard:pboard - source:self - slideBack:slideBack]; - return YES; - } - } - return [super dragSelectionWithEvent:event - offset:mouseOffset - slideBack:slideBack]; -} - - (void)copy:(id)sender { AutocompleteTextFieldObserver* observer = [self observer]; DCHECK(observer); diff --git a/chrome/browser/cocoa/autocomplete_text_field_unittest.mm b/chrome/browser/cocoa/autocomplete_text_field_unittest.mm index 1d0ae49..d695f86 100644 --- a/chrome/browser/cocoa/autocomplete_text_field_unittest.mm +++ b/chrome/browser/cocoa/autocomplete_text_field_unittest.mm @@ -4,7 +4,6 @@ #import <Cocoa/Cocoa.h> -#include "app/resource_bundle.h" #import "base/cocoa_protocols_mac.h" #include "base/scoped_nsobject.h" #import "chrome/browser/cocoa/autocomplete_text_field.h" @@ -12,7 +11,6 @@ #import "chrome/browser/cocoa/autocomplete_text_field_editor.h" #import "chrome/browser/cocoa/autocomplete_text_field_unittest_helper.h" #import "chrome/browser/cocoa/cocoa_test_helper.h" -#include "grit/theme_resources.h" #include "testing/gmock/include/gmock/gmock.h" #include "testing/gtest/include/gtest/gtest.h" #include "testing/platform_test.h" @@ -22,34 +20,18 @@ using ::testing::Return; using ::testing::StrictMock; namespace { -class MockLocationIconView : public LocationBarViewMac::LocationIconView { +class MockSecurityImageView : public LocationBarViewMac::SecurityImageView { public: - MockLocationIconView() - : LocationBarViewMac::LocationIconView(NULL), - is_draggable_(false), - mouse_was_pressed_(false) {} - - // |LocationBarViewMac::LocationIconView| dragging support needs - // more setup than this test provides. - bool IsDraggable() { - return is_draggable_; - } - virtual NSPasteboard* GetDragPasteboard() { - return [NSPasteboard pasteboardWithUniqueName]; - } - void SetDraggable(bool is_draggable) { - is_draggable_ = is_draggable; - } + MockSecurityImageView(LocationBarViewMac* owner, + Profile* profile, + ToolbarModel* model) + : LocationBarViewMac::SecurityImageView(owner, profile, model) {} // We can't use gmock's MOCK_METHOD macro, because it doesn't like the // NSRect argument to OnMousePressed. virtual void OnMousePressed(NSRect bounds) { mouse_was_pressed_ = true; } - bool MouseWasPressed() { return mouse_was_pressed_; } - - private: - bool is_draggable_; bool mouse_was_pressed_; }; @@ -600,35 +582,32 @@ TEST_F(AutocompleteTextFieldTest, TripleClickSelectsAll) { } // Clicking the security icon should call its OnMousePressed. -TEST_F(AutocompleteTextFieldTest, LocationIconMouseDown) { +TEST_F(AutocompleteTextFieldObserverTest, SecurityIconMouseDown) { AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell]; - MockLocationIconView location_icon_view; - [cell setLocationIconView:&location_icon_view]; - location_icon_view.SetImage( - ResourceBundle::GetSharedInstance().GetNSImageNamed( - IDR_OMNIBOX_HTTPS_VALID)); - location_icon_view.SetVisible(true); + MockSecurityImageView security_image_view(NULL, NULL, NULL); + [cell setSecurityImageView:&security_image_view]; + security_image_view.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); + security_image_view.SetVisible(true); - NSRect iconFrame([cell locationIconFrameForFrame:[field_ bounds]]); + NSRect iconFrame([cell securityImageFrameForFrame:[field_ bounds]]); NSPoint location(NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame))); - NSEvent* downEvent(Event(field_, location, NSLeftMouseDown, 1)); - NSEvent* upEvent(Event(field_, location, NSLeftMouseUp, 1)); - - // Since location icon can be dragged, the mouse-press is sent on - // mouse-up. - [NSApp postEvent:upEvent atStart:YES]; - [field_ mouseDown:downEvent]; - EXPECT_TRUE(location_icon_view.MouseWasPressed()); + NSEvent* event(Event(field_, location, NSLeftMouseDown, 1)); - // TODO(shess): Test that mouse drags are initiated if the next - // event is a drag, or if the mouse-up takes too long to arrive. + [field_ mouseDown:event]; + EXPECT_TRUE(security_image_view.mouse_was_pressed_); } // Clicking a Page Action icon should call its OnMousePressed. -TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) { +TEST_F(AutocompleteTextFieldObserverTest, PageActionMouseDown) { AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell]; + MockSecurityImageView security_image_view(NULL, NULL, NULL); + security_image_view.SetImageShown( + LocationBarViewMac::SecurityImageView::LOCK); + [cell setSecurityImageView:&security_image_view]; + MockPageActionImageView page_action_view; NSImage* image = [NSImage imageNamed:@"NSApplicationIcon"]; page_action_view.SetImage(image); @@ -641,7 +620,8 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) { list.Add(&page_action_view2); [cell setPageActionViewList:&list]; - // One page action. + // One page action, no security lock. + security_image_view.SetVisible(false); page_action_view.SetVisible(true); page_action_view2.SetVisible(false); NSRect iconFrame([cell pageActionFrameForIndex:0 inFrame:[field_ bounds]]); @@ -651,7 +631,7 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) { [field_ mouseDown:event]; EXPECT_TRUE(page_action_view.MouseWasPressed()); - // Two page actions, no lock. + // Two page actions, no security lock. page_action_view2.SetVisible(true); iconFrame = [cell pageActionFrameForIndex:0 inFrame:[field_ bounds]]; location = NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame)); @@ -667,7 +647,8 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) { [field_ mouseDown:event]; EXPECT_TRUE(page_action_view.MouseWasPressed()); - // Two page actions. + // Two page actions plus security lock. + security_image_view.SetVisible(true); iconFrame = [cell pageActionFrameForIndex:0 inFrame:[field_ bounds]]; location = NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame)); event = Event(field_, location, NSLeftMouseDown, 1); @@ -681,6 +662,13 @@ TEST_F(AutocompleteTextFieldTest, PageActionMouseDown) { [field_ mouseDown:event]; EXPECT_TRUE(page_action_view.MouseWasPressed()); + + iconFrame = [cell securityImageFrameForFrame:[field_ bounds]]; + location = NSMakePoint(NSMidX(iconFrame), NSMidY(iconFrame)); + event = Event(field_, location, NSLeftMouseDown, 1); + + [field_ mouseDown:event]; + EXPECT_TRUE(security_image_view.mouse_was_pressed_); } // Test that page action menus are properly returned. @@ -872,22 +860,4 @@ TEST_F(AutocompleteTextFieldObserverTest, SendsOnResignKey) { [test_window() resignKeyWindow]; } -TEST_F(AutocompleteTextFieldTest, LocationDragPasteboard) { - AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell]; - - MockLocationIconView location_icon_view; - location_icon_view.SetImage( - ResourceBundle::GetSharedInstance().GetNSImageNamed( - IDR_OMNIBOX_HTTPS_VALID)); - location_icon_view.SetVisible(true); - [cell setLocationIconView:&location_icon_view]; - - // Not draggable, so no pasteboard. - EXPECT_FALSE([field_ locationDragPasteboard]); - - // Gets a pasteboard when draggable. - location_icon_view.SetDraggable(true); - EXPECT_TRUE([field_ locationDragPasteboard]); -} - } // namespace diff --git a/chrome/browser/cocoa/bookmark_bubble_controller.mm b/chrome/browser/cocoa/bookmark_bubble_controller.mm index 465691e..fc2ff7b 100644 --- a/chrome/browser/cocoa/bookmark_bubble_controller.mm +++ b/chrome/browser/cocoa/bookmark_bubble_controller.mm @@ -98,7 +98,7 @@ [BrowserWindowController browserWindowControllerForWindow:parentWindow_]; [bwc lockBarVisibilityForOwner:self withAnimation:NO delay:NO]; NSWindow* window = [self window]; // completes nib load - [bubble_ setArrowLocation:kTopRight]; + [bubble_ setArrowLocation:kTopLeft]; // Insure decent positioning even in the absence of a browser controller, // which will occur for some unit tests. NSPoint arrowtip = bwc ? [bwc pointForBubbleArrowTip] : diff --git a/chrome/browser/cocoa/browser_test_helper.h b/chrome/browser/cocoa/browser_test_helper.h index b7e3e64..0420c7a 100644 --- a/chrome/browser/cocoa/browser_test_helper.h +++ b/chrome/browser/cocoa/browser_test_helper.h @@ -25,15 +25,6 @@ class BrowserTestHelper { profile_.reset(new TestingProfile()); profile_->CreateBookmarkModel(true); profile_->BlockUntilBookmarkModelLoaded(); - - // TODO(shess): These are needed in case someone creates a browser - // window off of browser_. pkasting indicates that other - // platforms use a stub |BrowserWindow| and thus don't need to do - // this. - // http://crbug.com/39725 - profile_->CreateAutocompleteClassifier(); - profile_->CreateTemplateURLModel(); - browser_.reset(new Browser(Browser::TYPE_NORMAL, profile_.get())); } diff --git a/chrome/browser/cocoa/browser_window_controller.mm b/chrome/browser/cocoa/browser_window_controller.mm index ceee615..101807d 100644 --- a/chrome/browser/cocoa/browser_window_controller.mm +++ b/chrome/browser/cocoa/browser_window_controller.mm @@ -1375,7 +1375,7 @@ } - (NSPoint)pointForBubbleArrowTip { - NSRect rect = [toolbarController_ starIconInWindowCoordinates]; + NSRect rect = [toolbarController_ starButtonInWindowCoordinates]; // Determine the point of the arrow of the bubble window. NSPoint p = rect.origin; p.x += (NSWidth(rect) / 2.0) + 1.0; // Star is not exactly in center. diff --git a/chrome/browser/cocoa/browser_window_controller_unittest.mm b/chrome/browser/cocoa/browser_window_controller_unittest.mm index d6a3dca..5b054fa 100644 --- a/chrome/browser/cocoa/browser_window_controller_unittest.mm +++ b/chrome/browser/cocoa/browser_window_controller_unittest.mm @@ -437,10 +437,10 @@ TEST_F(BrowserWindowControllerTest, TestTopRightForBubble) { NSPoint p = [controller_ pointForBubbleArrowTip]; NSRect all = [[controller_ window] frame]; - // As a sanity check make sure the point is vaguely in the top right + // As a sanity check make sure the point is vaguely in the top left // of the window. EXPECT_GT(p.y, all.origin.y + (all.size.height/2)); - EXPECT_GT(p.x, all.origin.x + (all.size.width/2)); + EXPECT_LT(p.x, all.origin.x + (all.size.width/2)); } // By the "zoom frame", we mean what Apple calls the "standard frame". diff --git a/chrome/browser/cocoa/location_bar_view_mac.h b/chrome/browser/cocoa/location_bar_view_mac.h index 66584f0..2107ec3 100644 --- a/chrome/browser/cocoa/location_bar_view_mac.h +++ b/chrome/browser/cocoa/location_bar_view_mac.h @@ -24,6 +24,7 @@ #include "third_party/skia/include/core/SkBitmap.h" @class AutocompleteTextField; +class BubblePositioner; class CommandUpdater; class ContentSettingImageModel; @class ExtensionPopupController; @@ -40,6 +41,7 @@ class LocationBarViewMac : public AutocompleteEditController, public NotificationObserver { public: LocationBarViewMac(AutocompleteTextField* field, + const BubblePositioner* bubble_positioner, CommandUpdater* command_updater, ToolbarModel* toolbar_model, Profile* profile, @@ -62,9 +64,6 @@ class LocationBarViewMac : public AutocompleteEditController, virtual void InvalidatePageActions(); virtual void SaveStateToContents(TabContents* contents); virtual void Revert(); - virtual const AutocompleteEditView* location_entry() const { - return edit_view_.get(); - } virtual AutocompleteEditView* location_entry() { return edit_view_.get(); } @@ -77,13 +76,6 @@ class LocationBarViewMac : public AutocompleteEditController, virtual ExtensionAction* GetVisiblePageAction(size_t index); virtual void TestPageActionPressed(size_t index); - // Set/Get the editable state of the field. - void SetEditable(bool editable); - bool IsEditable(); - - // Set the starred state of the bookmark star. - void SetStarred(bool starred); - // Updates the location bar. Resets the bar's permanent text and // security style, and if |should_restore_state| is true, restores // saved state from the tab (for tab switching). @@ -132,6 +124,7 @@ class LocationBarViewMac : public AutocompleteEditController, const std::wstring& keyword, const std::wstring& short_name, const bool is_keyword_hint, + const bool show_search_hint, NSImage* image); // Overridden from NotificationObserver. @@ -149,9 +142,7 @@ class LocationBarViewMac : public AutocompleteEditController, // Sets the image. void SetImage(NSImage* image); - - // Get the |resource_id| image resource and set the image. - void SetIcon(int resource_id); + void SetImage(SkBitmap* image); // Sets the label text, font, and color. |text| may be nil; |color| and // |font| are ignored if |text| is nil. @@ -165,21 +156,9 @@ class LocationBarViewMac : public AutocompleteEditController, const NSAttributedString* GetLabel() const { return label_; } bool IsVisible() const { return visible_; } - // Default size when no image is present. - virtual NSSize GetDefaultImageSize() const; - - // Returns the size of the image, else the default size. - NSSize GetImageSize() const; - // Returns the tooltip for this image view or |nil| if there is none. virtual const NSString* GetToolTip() { return nil; } - // Used to determinate if the item can act as a drag source. - virtual bool IsDraggable() { return false; } - - // The drag pasteboard to use if a drag is initiated. - virtual NSPasteboard* GetDragPasteboard() { return nil; } - // Called on mouse down. virtual void OnMousePressed(NSRect bounds) {} @@ -197,50 +176,42 @@ class LocationBarViewMac : public AutocompleteEditController, DISALLOW_COPY_AND_ASSIGN(LocationBarImageView); }; - // LocationIconView is used to display an icon to the left of the address. - class LocationIconView : public LocationBarImageView { + // SecurityImageView is used to display the lock or warning icon when the + // current URL's scheme is https. + class SecurityImageView : public LocationBarImageView { public: - explicit LocationIconView(LocationBarViewMac* owner); - virtual ~LocationIconView(); + enum Image { + LOCK = 0, + WARNING + }; - // Is draggable if the autocomplete edit view has not be changed. - virtual bool IsDraggable(); + SecurityImageView(LocationBarViewMac* owner, + Profile* profile, + ToolbarModel* model); + virtual ~SecurityImageView(); - // Drag the URL and title from the current tab. - virtual NSPasteboard* GetDragPasteboard(); + // Sets the image to the appropriate icon. + void SetImageShown(Image image); // Shows the page info dialog. virtual void OnMousePressed(NSRect bounds); private: - // The location bar view that owns us. - LocationBarViewMac* owner_; + // The lock icon shown when using HTTPS. Loaded lazily, the first time it's + // needed. + scoped_nsobject<NSImage> lock_icon_; - DISALLOW_COPY_AND_ASSIGN(LocationIconView); - }; - - // Used to display the bookmark star in the RHS. - class StarIconView : public LocationBarImageView { - public: - explicit StarIconView(CommandUpdater* command_updater); - virtual ~StarIconView() {} + // The warning icon shown when HTTPS is broken. Loaded lazily, the first + // time it's needed. + scoped_nsobject<NSImage> warning_icon_; - // Shows the bookmark bubble. - virtual void OnMousePressed(NSRect bounds); - - // Set the image and tooltip based on |starred|. - void SetStarred(bool starred); - - virtual const NSString* GetToolTip(); - - private: - // For bringing up bookmark bar. - CommandUpdater* command_updater_; // Weak, owned by Browser. + // The location bar view that owns us. + LocationBarViewMac* owner_; - // The string to show for a tooltip. - scoped_nsobject<NSString> tooltip_; + Profile* profile_; + ToolbarModel* model_; - DISALLOW_COPY_AND_ASSIGN(StarIconView); + DISALLOW_COPY_AND_ASSIGN(SecurityImageView); }; // PageActionImageView is used to display the icon for a given Page Action @@ -260,13 +231,14 @@ class LocationBarViewMac : public AutocompleteEditController, void set_preview_enabled(bool enabled) { preview_enabled_ = enabled; } - bool preview_enabled() const { return preview_enabled_; } + bool preview_enabled() { return preview_enabled_; } + // Returns the size of the image, or a default size if no image available. // When a new page action is created, all the icons are destroyed and // recreated; at this point we need to calculate sizes to lay out the // icons even though no images are available yet. For this case, we return // the default image size for a page icon. - virtual NSSize GetDefaultImageSize() const; + virtual NSSize GetPreferredImageSize(); // Either notify listeners or show a popup depending on the Page Action. virtual void OnMousePressed(NSRect bounds); @@ -412,11 +384,11 @@ class LocationBarViewMac : public AutocompleteEditController, }; private: - // Sets the location icon we should be showing. - void SetIcon(int resource_id); + // Sets the SSL icon we should be showing. + void SetSecurityIcon(ToolbarModel::Icon icon); - // Sets the label for the SSL state. - void SetSecurityLabel(); + // Sets the label for the SSL icon. + void SetSecurityIconLabel(); // Posts |notification| to the default notification center. void PostNotification(const NSString* notification); @@ -439,14 +411,8 @@ class LocationBarViewMac : public AutocompleteEditController, // The user's desired disposition for how their input should be opened. WindowOpenDisposition disposition_; - // A view that shows an icon to the left of the address. - LocationIconView location_icon_view_; - - // Security info as text which floats left of the page actions. - LocationBarImageView security_label_view_; - - // Bookmark star right of page actions. - StarIconView star_icon_view_; + // The view that shows the lock/warning when in HTTPS mode. + SecurityImageView security_image_view_; // Any installed Page Actions. PageActionViewList page_action_views_; diff --git a/chrome/browser/cocoa/location_bar_view_mac.mm b/chrome/browser/cocoa/location_bar_view_mac.mm index 6e33130..62b12d4 100644 --- a/chrome/browser/cocoa/location_bar_view_mac.mm +++ b/chrome/browser/cocoa/location_bar_view_mac.mm @@ -41,7 +41,6 @@ #include "grit/generated_resources.h" #include "grit/theme_resources.h" #include "skia/ext/skia_utils_mac.h" -#import "third_party/mozilla/NSPasteboard+Utils.h" // TODO(shess): This code is mostly copied from the gtk @@ -63,13 +62,11 @@ std::wstring GetKeywordName(Profile* profile, const std::wstring& keyword) { return std::wstring(); } -// Values for the label colors for different security states. -static const CGFloat kEVSecureTextColorRedComponent = 0.03; -static const CGFloat kEVSecureTextColorGreenComponent = 0.58; -static const CGFloat kEVSecureTextColorBlueComponent = 0.0; -static const CGFloat kSecurityErrorTextColorRedComponent = 0.63; -static const CGFloat kSecurityErrorTextColorGreenComponent = 0.0; -static const CGFloat kSecurityErrorTextColorBlueComponent = 0.0; +// Values for the green text color displayed for EV certificates, based +// on the values for kEvTextColor in location_bar_view_gtk.cc. +static const CGFloat kEvTextColorRedComponent = 0.0; +static const CGFloat kEvTextColorGreenComponent = 0.59; +static const CGFloat kEvTextColorBlueComponent = 0.08; // Build a short string to use in keyword-search when the field isn't // very big. @@ -94,18 +91,17 @@ std::wstring CalculateMinString(const std::wstring& description) { LocationBarViewMac::LocationBarViewMac( AutocompleteTextField* field, + const BubblePositioner* bubble_positioner, CommandUpdater* command_updater, ToolbarModel* toolbar_model, Profile* profile, Browser* browser) - : edit_view_(new AutocompleteEditViewMac(this, toolbar_model, profile, - command_updater, field)), + : edit_view_(new AutocompleteEditViewMac(this, bubble_positioner, + toolbar_model, profile, command_updater, field)), command_updater_(command_updater), field_(field), disposition_(CURRENT_TAB), - location_icon_view_(this), - security_label_view_(), - star_icon_view_(command_updater), + security_image_view_(this, profile, toolbar_model), page_action_views_(this, profile, toolbar_model), profile_(profile), browser_(browser), @@ -120,9 +116,7 @@ LocationBarViewMac::LocationBarViewMac( } AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell]; - [cell setLocationIconView:&location_icon_view_]; - [cell setSecurityLabelView:&security_label_view_]; - [cell setStarIconView:&star_icon_view_]; + [cell setSecurityImageView:&security_image_view_]; [cell setPageActionViewList:&page_action_views_]; [cell setContentSettingViewsList:&content_setting_views_]; @@ -135,9 +129,7 @@ LocationBarViewMac::~LocationBarViewMac() { // Disconnect from cell in case it outlives us. AutocompleteTextFieldCell* cell = [field_ autocompleteTextFieldCell]; [cell setPageActionViewList:NULL]; - [cell setLocationIconView:NULL]; - [cell setSecurityLabelView:NULL]; - [cell setStarIconView:NULL]; + [cell setSecurityImageView:NULL]; } std::wstring LocationBarViewMac::GetInputString() const { @@ -214,7 +206,7 @@ void LocationBarViewMac::SaveStateToContents(TabContents* contents) { void LocationBarViewMac::Update(const TabContents* contents, bool should_restore_state) { - SetIcon(edit_view_->GetIcon()); + SetSecurityIcon(toolbar_model_->GetIcon()); page_action_views_.RefreshViews(); RefreshContentSettingsViews(); // AutocompleteEditView restores state if the tab is non-NULL. @@ -260,6 +252,7 @@ void LocationBarViewMac::OnChangedImpl(AutocompleteTextField* field, const std::wstring& keyword, const std::wstring& short_name, const bool is_keyword_hint, + const bool show_search_hint, NSImage* image) { AutocompleteTextFieldCell* cell = [field autocompleteTextFieldCell]; const CGFloat availableWidth([field availableDecorationWidth]); @@ -305,6 +298,12 @@ void LocationBarViewMac::OnChangedImpl(AutocompleteTextField* field, [cell setKeywordHintPrefix:prefix image:image suffix:suffix availableWidth:availableWidth]; + } else if (show_search_hint) { + // Show a search hint right-justified in the field if there is no + // keyword. + const std::wstring hint(l10n_util::GetString(IDS_OMNIBOX_EMPTY_TEXT)); + [cell setSearchHintString:base::SysWideToNSString(hint) + availableWidth:availableWidth]; } else { // Nothing interesting to show, plain old text field. [cell clearKeywordAndHint]; @@ -331,6 +330,7 @@ void LocationBarViewMac::OnChanged() { keyword, short_name, edit_view_->model()->is_keyword_hint(), + edit_view_->model()->show_search_hint(), GetTabButtonImage()); } @@ -444,22 +444,6 @@ void LocationBarViewMac::TestPageActionPressed(size_t index) { page_action_views_.OnMousePressed(NSZeroRect, index); } -void LocationBarViewMac::SetEditable(bool editable) { - [field_ setEditable:editable ? YES : NO]; - star_icon_view_.SetVisible(editable); - UpdatePageActions(); -} - -bool LocationBarViewMac::IsEditable() { - return [field_ isEditable] ? true : false; -} - -void LocationBarViewMac::SetStarred(bool starred) { - star_icon_view_.SetStarred(starred); - [field_ updateCursorAndToolTipRects]; - [field_ resetFieldEditorFrameIfNeeded]; -} - NSImage* LocationBarViewMac::GetTabButtonImage() { if (!tab_button_image_) { SkBitmap* skiaBitmap = ResourceBundle::GetSharedInstance(). @@ -471,37 +455,44 @@ NSImage* LocationBarViewMac::GetTabButtonImage() { return tab_button_image_; } -void LocationBarViewMac::SetIcon(int resource_id) { - DCHECK(resource_id != 0); - - // The icon is always visible except when there is a keyword hint. - if (!edit_view_->model()->keyword().empty() && - !edit_view_->model()->is_keyword_hint()) { - location_icon_view_.SetVisible(false); +void LocationBarViewMac::SetSecurityIconLabel() { + std::wstring info_text; + std::wstring info_tooltip; + ToolbarModel::InfoTextType info_text_type = + toolbar_model_->GetInfoText(&info_text, &info_tooltip); + if (info_text_type == ToolbarModel::INFO_EV_TEXT) { + NSString* icon_label = base::SysWideToNSString(info_text); + NSColor* color = [NSColor colorWithCalibratedRed:kEvTextColorRedComponent + green:kEvTextColorGreenComponent + blue:kEvTextColorBlueComponent + alpha:1.0]; + security_image_view_.SetLabel(icon_label, [field_ font], color); } else { - NSImage* image = AutocompleteEditViewMac::ImageForResource(resource_id); - location_icon_view_.SetImage(image); - location_icon_view_.SetVisible(true); - SetSecurityLabel(); + security_image_view_.SetLabel(nil, nil, nil); } - [field_ resetFieldEditorFrameIfNeeded]; } -void LocationBarViewMac::SetSecurityLabel() { - if (toolbar_model_->GetSecurityLevel() == ToolbarModel::EV_SECURE) { - std::wstring security_info_text(toolbar_model_->GetEVCertName()); - NSString* icon_label = base::SysWideToNSString(security_info_text); - NSColor* color = - [NSColor colorWithCalibratedRed:kEVSecureTextColorRedComponent - green:kEVSecureTextColorGreenComponent - blue:kEVSecureTextColorBlueComponent - alpha:1.0]; - security_label_view_.SetLabel(icon_label, [field_ font], color); - security_label_view_.SetVisible(true); - } else { - security_label_view_.SetLabel(nil, nil, nil); - security_label_view_.SetVisible(false); +void LocationBarViewMac::SetSecurityIcon(ToolbarModel::Icon icon) { + switch (icon) { + case ToolbarModel::LOCK_ICON: + security_image_view_.SetImageShown(SecurityImageView::LOCK); + security_image_view_.SetVisible(true); + SetSecurityIconLabel(); + break; + case ToolbarModel::WARNING_ICON: + security_image_view_.SetImageShown(SecurityImageView::WARNING); + security_image_view_.SetVisible(true); + SetSecurityIconLabel(); + break; + case ToolbarModel::NO_ICON: + security_image_view_.SetVisible(false); + break; + default: + NOTREACHED(); + security_image_view_.SetVisible(false); + break; } + [field_ resetFieldEditorFrameIfNeeded]; } void LocationBarViewMac::Observe(NotificationType type, @@ -544,9 +535,8 @@ void LocationBarViewMac::LocationBarImageView::SetImage(NSImage* image) { image_.reset([image retain]); } -void LocationBarViewMac::LocationBarImageView::SetIcon(int resource_id) { - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - SetImage(rb.GetNSImageNamed(resource_id)); +void LocationBarViewMac::LocationBarImageView::SetImage(SkBitmap* image) { + SetImage(gfx::SkBitmapToNSImage(*image)); } void LocationBarViewMac::LocationBarImageView::SetLabel(NSString* text, @@ -574,32 +564,43 @@ void LocationBarViewMac::LocationBarImageView::SetVisible(bool visible) { visible_ = visible; } -NSSize LocationBarViewMac::LocationBarImageView::GetDefaultImageSize() const { - return NSZeroSize; -} +// SecurityImageView------------------------------------------------------------ -NSSize LocationBarViewMac::LocationBarImageView::GetImageSize() const { - NSImage* image = GetImage(); - if (image) - return [image size]; - return GetDefaultImageSize(); -} +LocationBarViewMac::SecurityImageView::SecurityImageView( + LocationBarViewMac* owner, + Profile* profile, + ToolbarModel* model) + : lock_icon_(nil), + warning_icon_(nil), + owner_(owner), + profile_(profile), + model_(model) {} -// LocationIconView ------------------------------------------------------------ +LocationBarViewMac::SecurityImageView::~SecurityImageView() {} -LocationBarViewMac::LocationIconView::LocationIconView( - LocationBarViewMac* owner) - : owner_(owner) { +void LocationBarViewMac::SecurityImageView::SetImageShown(Image image) { + switch (image) { + case LOCK: + if (!lock_icon_.get()) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + lock_icon_.reset([rb.GetNSImageNamed(IDR_LOCK) retain]); + } + SetImage(lock_icon_); + break; + case WARNING: + if (!warning_icon_.get()) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + warning_icon_.reset([rb.GetNSImageNamed(IDR_WARNING) retain]); + } + SetImage(warning_icon_); + break; + default: + NOTREACHED(); + break; + } } -LocationBarViewMac::LocationIconView::~LocationIconView() {} - -void LocationBarViewMac::LocationIconView::OnMousePressed(NSRect bounds) { - // Do not show page info if the user has been editing the location - // bar, or the location bar is at the NTP. - if (owner_->location_entry()->IsEditingOrEmpty()) - return; - +void LocationBarViewMac::SecurityImageView::OnMousePressed(NSRect bounds) { TabContents* tab = owner_->GetTabContents(); NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); if (!nav_entry) { @@ -609,57 +610,6 @@ void LocationBarViewMac::LocationIconView::OnMousePressed(NSRect bounds) { tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); } -bool LocationBarViewMac::LocationIconView::IsDraggable() { - // Do not drag if the user has been editing the location bar, or the - // location bar is at the NTP. - if (owner_->location_entry()->IsEditingOrEmpty()) - return false; - - return true; -} - -NSPasteboard* LocationBarViewMac::LocationIconView::GetDragPasteboard() { - TabContents* tab = owner_->GetTabContents(); - DCHECK(tab); - - NSString* url = base::SysUTF8ToNSString(tab->GetURL().spec()); - NSString* title = base::SysUTF16ToNSString(tab->GetTitle()); - - NSPasteboard* pboard = [NSPasteboard pasteboardWithName:NSDragPboard]; - [pboard declareURLPasteboardWithAdditionalTypes:[NSArray array] - owner:nil]; - [pboard setDataForURL:url title:title]; - return pboard; -} - -// StarIconView----------------------------------------------------------------- - -LocationBarViewMac::StarIconView::StarIconView(CommandUpdater* command_updater) - : command_updater_(command_updater) { - SetVisible(true); - SetStarred(false); -} - -void LocationBarViewMac::StarIconView::SetStarred(bool starred) { - if (starred) { - SetImage(AutocompleteEditViewMac::ImageForResource(IDR_OMNIBOX_STAR_LIT)); - tooltip_.reset( - [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STARRED) retain]); - } else { - SetImage(AutocompleteEditViewMac::ImageForResource(IDR_OMNIBOX_STAR)); - tooltip_.reset( - [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STAR) retain]); - } -} - -void LocationBarViewMac::StarIconView::OnMousePressed(NSRect bounds) { - command_updater_->ExecuteCommand(IDC_BOOKMARK_PAGE); -} - -const NSString* LocationBarViewMac::StarIconView::GetToolTip() { - return tooltip_.get(); -} - // PageActionImageView---------------------------------------------------------- LocationBarViewMac::PageActionImageView::PageActionImageView( @@ -697,9 +647,14 @@ LocationBarViewMac::PageActionImageView::PageActionImageView( LocationBarViewMac::PageActionImageView::~PageActionImageView() { } -NSSize LocationBarViewMac::PageActionImageView::GetDefaultImageSize() const { - return NSMakeSize(Extension::kPageActionIconMaxSize, - Extension::kPageActionIconMaxSize); +NSSize LocationBarViewMac::PageActionImageView::GetPreferredImageSize() { + NSImage* image = GetImage(); + if (image) { + return [image size]; + } else { + return NSMakeSize(Extension::kPageActionIconMaxSize, + Extension::kPageActionIconMaxSize); + } } // Overridden from LocationBarImageView. Either notify listeners or show a @@ -913,9 +868,10 @@ void LocationBarViewMac::ContentSettingImageView::UpdateFromTabContents( const TabContents* tab_contents) { content_setting_image_model_->UpdateFromTabContents(tab_contents); if (content_setting_image_model_->is_visible()) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); // TODO(thakis): We should use pdfs for these icons on OSX. // http://crbug.com/35847 - SetIcon(content_setting_image_model_->get_icon()); + SetImage(rb.GetNSImageNamed(content_setting_image_model_->get_icon())); SetToolTip(base::SysUTF8ToNSString( content_setting_image_model_->get_tooltip())); SetVisible(true); @@ -939,11 +895,6 @@ void LocationBarViewMac::PageActionViewList::DeleteAll() { } void LocationBarViewMac::PageActionViewList::RefreshViews() { - if (!owner_->IsEditable()) { - DeleteAll(); - return; - } - std::vector<ExtensionAction*> page_actions; ExtensionsService* service = profile_->GetExtensionsService(); if (!service) diff --git a/chrome/browser/cocoa/location_bar_view_mac_unittest.mm b/chrome/browser/cocoa/location_bar_view_mac_unittest.mm index ecb2a7b..aec948d 100644 --- a/chrome/browser/cocoa/location_bar_view_mac_unittest.mm +++ b/chrome/browser/cocoa/location_bar_view_mac_unittest.mm @@ -81,6 +81,7 @@ TEST_F(LocationBarViewMacTest, OnChangedImpl) { NSImage* image = [NSImage imageNamed:@"NSApplicationIcon"]; const std::wstring kKeyword(L"Google"); + const NSString* kSearchHint = @"Type to search"; const NSString* kKeywordPrefix = @"Press "; const NSString* kKeywordSuffix = @" to search Google"; const NSString* kKeywordString = @"Search Google:"; @@ -89,20 +90,39 @@ TEST_F(LocationBarViewMacTest, OnChangedImpl) { [NSString stringWithFormat:@"Search Go%C:", 0x2026]; // With no special hints requested, none set. - LocationBarViewMac::OnChangedImpl(field_, std::wstring(), std::wstring(), false, image); + LocationBarViewMac::OnChangedImpl( + field_, std::wstring(), std::wstring(), false, false, image); EXPECT_FALSE([cell keywordString]); EXPECT_FALSE([cell hintString]); - // Request a keyword hint. - LocationBarViewMac::OnChangedImpl(field_, kKeyword, kKeyword, true, image); + // Request only a search hint. + LocationBarViewMac::OnChangedImpl( + field_, std::wstring(), std::wstring(), false, true, image); + EXPECT_FALSE([cell keywordString]); + EXPECT_TRUE([[[cell hintString] string] isEqualToString:kSearchHint]); + + // Request a keyword hint, same results whether |search_hint| + // parameter is true or false. + LocationBarViewMac::OnChangedImpl( + field_, kKeyword, kKeyword, true, true, image); + EXPECT_FALSE([cell keywordString]); + EXPECT_TRUE([[[cell hintString] string] hasPrefix:kKeywordPrefix]); + EXPECT_TRUE([[[cell hintString] string] hasSuffix:kKeywordSuffix]); + LocationBarViewMac::OnChangedImpl( + field_, kKeyword, kKeyword, true, false, image); EXPECT_FALSE([cell keywordString]); EXPECT_TRUE([[[cell hintString] string] hasPrefix:kKeywordPrefix]); EXPECT_TRUE([[[cell hintString] string] hasSuffix:kKeywordSuffix]); - // Request keyword-search mode. + // Request keyword-search mode, same results whether |search_hint| + // parameter is true or false. LocationBarViewMac::OnChangedImpl( - field_, kKeyword, kKeyword, false, image); - EXPECT_TRUE([[[cell keywordString] string] hasSuffix:kKeywordString]); + field_, kKeyword, kKeyword, false, true, image); + EXPECT_TRUE([[[cell keywordString] string] isEqualToString:kKeywordString]); + EXPECT_FALSE([cell hintString]); + LocationBarViewMac::OnChangedImpl( + field_, kKeyword, kKeyword, false, false, image); + EXPECT_TRUE([[[cell keywordString] string] isEqualToString:kKeywordString]); EXPECT_FALSE([cell hintString]); // Check that a partial keyword-search string is passed down in case @@ -112,13 +132,14 @@ TEST_F(LocationBarViewMacTest, OnChangedImpl) { NSRect frame([field_ frame]); frame.size.width = 10.0; [field_ setFrame:frame]; - LocationBarViewMac::OnChangedImpl(field_, kKeyword, kKeyword, false, image); + LocationBarViewMac::OnChangedImpl( + field_, kKeyword, kKeyword, false, true, image); EXPECT_TRUE([[[cell keywordString] string] isEqualToString:kPartialString]); EXPECT_FALSE([cell hintString]); // Transition back to baseline. LocationBarViewMac::OnChangedImpl( - field_, std::wstring(), std::wstring(), false, image); + field_, std::wstring(), std::wstring(), false, false, image); EXPECT_FALSE([cell keywordString]); EXPECT_FALSE([cell hintString]); } diff --git a/chrome/browser/cocoa/status_bubble_mac_unittest.mm b/chrome/browser/cocoa/status_bubble_mac_unittest.mm index 6f4dab4..3dd628e 100644 --- a/chrome/browser/cocoa/status_bubble_mac_unittest.mm +++ b/chrome/browser/cocoa/status_bubble_mac_unittest.mm @@ -141,7 +141,7 @@ TEST_F(StatusBubbleMacTest, SetURL) { EXPECT_TRUE([GetURLText() isEqualToString:@"foopy://"]); bubble_->SetURL(GURL("http://www.cnn.com"), L""); EXPECT_TRUE(IsVisible()); - EXPECT_TRUE([GetURLText() isEqualToString:@"www.cnn.com/"]); + EXPECT_TRUE([GetURLText() isEqualToString:@"http://www.cnn.com/"]); } // Test hiding bubble that's already hidden. @@ -162,7 +162,7 @@ TEST_F(StatusBubbleMacTest, SetStatusAndURL) { EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"Status"]); bubble_->SetURL(GURL("http://www.nytimes.com/"), L""); EXPECT_TRUE(IsVisible()); - EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"www.nytimes.com/"]); + EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"http://www.nytimes.com/"]); bubble_->SetURL(GURL(), L""); EXPECT_TRUE(IsVisible()); EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"Status"]); @@ -170,13 +170,13 @@ TEST_F(StatusBubbleMacTest, SetStatusAndURL) { EXPECT_FALSE(IsVisible()); bubble_->SetURL(GURL("http://www.nytimes.com/"), L""); EXPECT_TRUE(IsVisible()); - EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"www.nytimes.com/"]); + EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"http://www.nytimes.com/"]); bubble_->SetStatus(L"Status"); EXPECT_TRUE(IsVisible()); EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"Status"]); bubble_->SetStatus(L""); EXPECT_TRUE(IsVisible()); - EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"www.nytimes.com/"]); + EXPECT_TRUE([GetBubbleViewText() isEqualToString:@"http://www.nytimes.com/"]); bubble_->SetURL(GURL(), L""); EXPECT_FALSE(IsVisible()); } diff --git a/chrome/browser/cocoa/tab_strip_controller_unittest.mm b/chrome/browser/cocoa/tab_strip_controller_unittest.mm index 82cea8e..0967ae4 100644 --- a/chrome/browser/cocoa/tab_strip_controller_unittest.mm +++ b/chrome/browser/cocoa/tab_strip_controller_unittest.mm @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. diff --git a/chrome/browser/cocoa/toolbar_controller.h b/chrome/browser/cocoa/toolbar_controller.h index c038077..3c5086b 100644 --- a/chrome/browser/cocoa/toolbar_controller.h +++ b/chrome/browser/cocoa/toolbar_controller.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -22,6 +22,7 @@ class AppMenuModel; @class BackForwardMenuController; class Browser; @class BrowserActionsController; +class BubblePositioner; class CommandUpdater; @class DelayedMenuButton; class LocationBar; @@ -69,6 +70,8 @@ class ToolbarModel; // Used for monitoring the optional toolbar button prefs. scoped_ptr<ToolbarControllerInternal::PrefObserverBridge> prefObserver_; + // Used to position the omnibox bubble. + scoped_ptr<BubblePositioner> bubblePositioner_; BooleanPrefMember showHomeButton_; BooleanPrefMember showPageOptionButtons_; BOOL hasToolbar_; // If NO, we may have only the location bar. @@ -96,6 +99,7 @@ class ToolbarModel; IBOutlet DelayedMenuButton* forwardButton_; IBOutlet NSButton* reloadButton_; IBOutlet NSButton* homeButton_; + IBOutlet NSButton* starButton_; IBOutlet NSButton* goButton_; IBOutlet MenuButton* pageButton_; IBOutlet MenuButton* wrenchButton_; @@ -143,10 +147,9 @@ class ToolbarModel; // ignored. This changes the behavior of other methods, like |-view|. - (void)setHasToolbar:(BOOL)toolbar hasLocationBar:(BOOL)locBar; -// The bookmark bubble (when you click the star or hit Command-d) -// needs to know where to go. Somewhere near the star icon seems like -// a good start. -- (NSRect)starIconInWindowCoordinates; +// The bookmark bubble (when you click the star) needs to know where to go. +// Somewhere near the star button seems like a good start. +- (NSRect)starButtonInWindowCoordinates; // Returns the desired toolbar height for the given compression factor. - (CGFloat)desiredHeightForCompression:(CGFloat)compressByHeight; @@ -168,6 +171,7 @@ class ToolbarModel; - (NSArray*)toolbarViews; - (void)showOptionalHomeButton; - (void)showOptionalPageWrenchButtons; +- (gfx::Rect)locationStackBounds; // Return a hover button for the current event. - (NSButton*)hoverButtonForEvent:(NSEvent*)theEvent; @end diff --git a/chrome/browser/cocoa/toolbar_controller.mm b/chrome/browser/cocoa/toolbar_controller.mm index 085c493..0d12ee5 100644 --- a/chrome/browser/cocoa/toolbar_controller.mm +++ b/chrome/browser/cocoa/toolbar_controller.mm @@ -15,6 +15,7 @@ #include "chrome/browser/autocomplete/autocomplete_edit_view.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_window.h" +#include "chrome/browser/bubble_positioner.h" #import "chrome/browser/cocoa/autocomplete_text_field.h" #import "chrome/browser/cocoa/autocomplete_text_field_editor.h" #import "chrome/browser/cocoa/back_forward_menu_controller.h" @@ -50,6 +51,8 @@ NSString* const kBackButtonImageName = @"back_Template.pdf"; NSString* const kForwardButtonImageName = @"forward_Template.pdf"; NSString* const kReloadButtonImageName = @"reload_Template.pdf"; NSString* const kHomeButtonImageName = @"home_Template.pdf"; +NSString* const kStarButtonImageName = @"star_Template.pdf"; +NSString* const kStarButtonFillingImageName = @"starred.pdf"; NSString* const kGoButtonGoImageName = @"go_Template.pdf"; NSString* const kGoButtonStopImageName = @"stop_Template.pdf"; NSString* const kPageButtonImageName = @"menu_page_Template.pdf"; @@ -84,6 +87,26 @@ const CGFloat kAnimationDuration = 0.2; - (void)adjustLocationAndGoPositionsBy:(CGFloat)dX animate:(BOOL)animate; @end +namespace { + +// A C++ class used to correctly position the omnibox. +class BubblePositionerMac : public BubblePositioner { + public: + BubblePositionerMac(ToolbarController* controller) + : controller_(controller) { } + virtual ~BubblePositionerMac() { } + + // BubblePositioner: + virtual gfx::Rect GetLocationStackBounds() const { + return [controller_ locationStackBounds]; + } + + private: + ToolbarController* controller_; // weak, owns us +}; + +} // namespace + namespace ToolbarControllerInternal { // A C++ delegate that handles enabling/disabling menu items and handling when @@ -202,6 +225,7 @@ class PrefObserverBridge : public NotificationObserver { [forwardButton_ setImage:nsimage_cache::ImageNamed(kForwardButtonImageName)]; [reloadButton_ setImage:nsimage_cache::ImageNamed(kReloadButtonImageName)]; [homeButton_ setImage:nsimage_cache::ImageNamed(kHomeButtonImageName)]; + [starButton_ setImage:nsimage_cache::ImageNamed(kStarButtonImageName)]; [goButton_ setImage:nsimage_cache::ImageNamed(kGoButtonGoImageName)]; [pageButton_ setImage:nsimage_cache::ImageNamed(kPageButtonImageName)]; [wrenchButton_ setImage:nsimage_cache::ImageNamed(kWrenchButtonImageName)]; @@ -210,7 +234,9 @@ class PrefObserverBridge : public NotificationObserver { [wrenchButton_ setShowsBorderOnlyWhileMouseInside:YES]; [self initCommandStatus:commands_]; + bubblePositioner_.reset(new BubblePositionerMac(self)); locationBarView_.reset(new LocationBarViewMac(locationBar_, + bubblePositioner_.get(), commands_, toolbarModel_, profile_, browser_)); [locationBar_ setFont:[NSFont systemFontOfSize:[NSFont systemFontSize]]]; @@ -286,6 +312,10 @@ class PrefObserverBridge : public NotificationObserver { [[homeButton_ cell] accessibilitySetOverrideValue:description forAttribute:NSAccessibilityDescriptionAttribute]; + description = l10n_util::GetNSStringWithFixup(IDS_ACCNAME_STAR); + [[starButton_ cell] + accessibilitySetOverrideValue:description + forAttribute:NSAccessibilityDescriptionAttribute]; description = l10n_util::GetNSStringWithFixup(IDS_ACCNAME_LOCATION); [[locationBar_ cell] accessibilitySetOverrideValue:description @@ -364,6 +394,9 @@ class PrefObserverBridge : public NotificationObserver { case IDC_HOME: button = homeButton_; break; + case IDC_BOOKMARK_PAGE: + button = starButton_; + break; } [button setEnabled:enabled]; } @@ -376,6 +409,8 @@ class PrefObserverBridge : public NotificationObserver { setEnabled:commands->IsCommandEnabled(IDC_FORWARD) ? YES : NO]; [reloadButton_ setEnabled:commands->IsCommandEnabled(IDC_RELOAD) ? YES : NO]; [homeButton_ setEnabled:commands->IsCommandEnabled(IDC_HOME) ? YES : NO]; + [starButton_ + setEnabled:commands->IsCommandEnabled(IDC_BOOKMARK_PAGE) ? YES : NO]; } - (void)updateToolbarWithContents:(TabContents*)tab @@ -390,7 +425,23 @@ class PrefObserverBridge : public NotificationObserver { } - (void)setStarredState:(BOOL)isStarred { - locationBarView_->SetStarred(isStarred ? true : false); + NSImage* starImage = nil; + NSString* toolTip; + if (isStarred) { + starImage = nsimage_cache::ImageNamed(kStarButtonFillingImageName); + // Cache the string since we'll need it a lot + static NSString* starredToolTip = + [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STARRED) retain]; + toolTip = starredToolTip; + } else { + // Cache the string since we'll need it a lot + static NSString* starToolTip = + [l10n_util::GetNSStringWithFixup(IDS_TOOLTIP_STAR) retain]; + toolTip = starToolTip; + } + + [(GradientButtonCell*)[starButton_ cell] setUnderlayImage:starImage]; + [starButton_ setToolTip:toolTip]; } - (void)setIsLoading:(BOOL)isLoading { @@ -419,7 +470,7 @@ class PrefObserverBridge : public NotificationObserver { // Make location bar not editable when in a pop-up. // TODO(viettrungluu): is this right (all the time)? - locationBarView_->SetEditable(toolbar ? true : false); + [locationBar_ setEditable:toolbar]; } - (NSView*)view { @@ -457,7 +508,7 @@ class PrefObserverBridge : public NotificationObserver { // Returns an array of views in the order of the outlets above. - (NSArray*)toolbarViews { return [NSArray arrayWithObjects:backButton_, forwardButton_, reloadButton_, - homeButton_, goButton_, pageButton_, wrenchButton_, + homeButton_, starButton_, goButton_, pageButton_, wrenchButton_, locationBar_, browserActionsContainerView_, nil]; } @@ -470,16 +521,14 @@ class PrefObserverBridge : public NotificationObserver { return frame; } -// Computes the padding between the buttons that should have a -// separation from the positions in the nib. |homeButton_| is right -// of |forwardButton_| unless it has been hidden, in which case -// |reloadButton_| is in that spot. +// Computes the padding between the buttons that should have a separation from +// the positions in the nib. Since the forward and reload buttons are always +// visible, we use those buttons as the canonical spacing. - (CGFloat)interButtonSpacing { - const NSRect forwardFrame = [forwardButton_ frame]; - NSButton* nextButton = [homeButton_ isHidden] ? reloadButton_ : homeButton_; - const NSRect nextButtonFrame = [nextButton frame]; - DCHECK_GT(NSMinX(nextButtonFrame), NSMaxX(forwardFrame)); - return NSMinX(nextButtonFrame) - NSMaxX(forwardFrame); + NSRect forwardFrame = [forwardButton_ frame]; + NSRect reloadFrame = [reloadButton_ frame]; + DCHECK(NSMinX(reloadFrame) > NSMaxX(forwardFrame)); + return NSMinX(reloadFrame) - NSMaxX(forwardFrame); } // Show or hide the home button based on the pref. @@ -498,7 +547,7 @@ class PrefObserverBridge : public NotificationObserver { if (hide) moveX *= -1; // Reverse the direction of the move. - [reloadButton_ setFrame:NSOffsetRect([reloadButton_ frame], moveX, 0)]; + [starButton_ setFrame:NSOffsetRect([starButton_ frame], moveX, 0)]; [locationBar_ setFrame:[self adjustRect:[locationBar_ frame] byAmount:moveX]]; [homeButton_ setHidden:hide]; @@ -721,8 +770,8 @@ class PrefObserverBridge : public NotificationObserver { [NSAnimationContext endGrouping]; } -- (NSRect)starIconInWindowCoordinates { - return [locationBar_ convertRect:[locationBar_ starIconFrame] toView:nil]; +- (NSRect)starButtonInWindowCoordinates { + return [starButton_ convertRect:[starButton_ bounds] toView:nil]; } - (CGFloat)desiredHeightForCompression:(CGFloat)compressByHeight { @@ -797,6 +846,31 @@ class PrefObserverBridge : public NotificationObserver { } +- (gfx::Rect)locationStackBounds { + // The number of pixels from the left or right edges of the location stack to + // "just inside the visible borders". When the omnibox bubble contents are + // aligned with this, the visible borders tacked on to the outsides will line + // up with the visible borders on the location stack. + const int kLocationStackEdgeWidth = 2; + + const NSRect locationFrame = [locationBar_ frame]; + + // Expand to include star and go buttons. Including the widths + // rather that calculating from their current placement because this + // method can be called while the resize is still rearranging the + // views involved. + const CGFloat minX = NSMinX(locationFrame) - NSWidth([starButton_ frame]); + const CGFloat maxX = NSMaxX(locationFrame) + NSWidth([goButton_ frame]); + + NSRect r = NSMakeRect(minX, NSMinY(locationFrame), maxX - minX, + NSHeight(locationFrame)); + gfx::Rect stack_bounds( + NSRectToCGRect([[self view] convertRect:r toView:nil])); + // Inset the bounds to just inside the visible edges (see comment above). + stack_bounds.Inset(kLocationStackEdgeWidth, 0); + return stack_bounds; +} + // (URLDropTargetController protocol) - (void)dropURLs:(NSArray*)urls inView:(NSView*)view at:(NSPoint)point { // TODO(viettrungluu): This code is more or less copied from the code in diff --git a/chrome/browser/cocoa/toolbar_controller_unittest.mm b/chrome/browser/cocoa/toolbar_controller_unittest.mm index 08e3176..dab5cba 100644 --- a/chrome/browser/cocoa/toolbar_controller_unittest.mm +++ b/chrome/browser/cocoa/toolbar_controller_unittest.mm @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -43,7 +43,7 @@ class ToolbarControllerTest : public CocoaTest { // Indexes that match the ordering returned by the private ToolbarController // |-toolbarViews| method. enum { - kBackIndex, kForwardIndex, kReloadIndex, kHomeIndex, kGoIndex, + kBackIndex, kForwardIndex, kReloadIndex, kHomeIndex, kStarIndex, kGoIndex, kPageIndex, kWrenchIndex, kLocationIndex, kBrowserActionContainerViewIndex }; @@ -78,6 +78,8 @@ class ToolbarControllerTest : public CocoaTest { [[views objectAtIndex:kReloadIndex] isEnabled] ? true : false); EXPECT_EQ(updater->IsCommandEnabled(IDC_HOME), [[views objectAtIndex:kHomeIndex] isEnabled] ? true : false); + EXPECT_EQ(updater->IsCommandEnabled(IDC_BOOKMARK_PAGE), + [[views objectAtIndex:kStarIndex] isEnabled] ? true : false); } BrowserTestHelper helper_; @@ -158,16 +160,16 @@ TEST_F(ToolbarControllerTest, ToggleHome) { NSView* homeButton = [[bar_ toolbarViews] objectAtIndex:kHomeIndex]; EXPECT_EQ(showHome, ![homeButton isHidden]); - NSView* reloadButton = [[bar_ toolbarViews] objectAtIndex:kReloadIndex]; + NSView* starButton = [[bar_ toolbarViews] objectAtIndex:kStarIndex]; NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex]; - NSRect originalReloadFrame = [reloadButton frame]; + NSRect originalStarFrame = [starButton frame]; NSRect originalLocationBarFrame = [locationBar frame]; // Toggle the pref and make sure the button changed state and the other // views moved. prefs->SetBoolean(prefs::kShowHomeButton, !showHome); EXPECT_EQ(showHome, [homeButton isHidden]); - EXPECT_NE(NSMinX(originalReloadFrame), NSMinX([reloadButton frame])); + EXPECT_NE(NSMinX(originalStarFrame), NSMinX([starButton frame])); EXPECT_NE(NSMinX(originalLocationBarFrame), NSMinX([locationBar frame])); EXPECT_NE(NSWidth(originalLocationBarFrame), NSWidth([locationBar frame])); } @@ -218,14 +220,32 @@ TEST_F(ToolbarControllerTest, DontToggleWhenNoToolbar) { EXPECT_TRUE(NSEqualRects(locationBarFrame, newLocationBarFrame)); } -TEST_F(ToolbarControllerTest, StarIconInWindowCoordinates) { - NSRect star = [bar_ starIconInWindowCoordinates]; +TEST_F(ToolbarControllerTest, StarButtonInWindowCoordinates) { + NSRect star = [bar_ starButtonInWindowCoordinates]; NSRect all = [[[bar_ view] window] frame]; // Make sure the star is completely inside the window rect EXPECT_TRUE(NSContainsRect(all, star)); } +TEST_F(ToolbarControllerTest, BubblePosition) { + NSView* locationBar = [[bar_ toolbarViews] objectAtIndex:kLocationIndex]; + + // The window frame (in window base coordinates). + NSRect all = [[[bar_ view] window] frame]; + // The frame of the location bar in window base coordinates. + NSRect locationFrame = + [locationBar convertRect:[locationBar bounds] toView:nil]; + // The frame of the location stack in window base coordinates. The horizontal + // coordinates here are used for the omnibox dropdown. + gfx::Rect locationStackFrame = [bar_ locationStackBounds]; + + // Make sure the location stack starts to the left of and ends to the right of + // the location bar. + EXPECT_LT(locationStackFrame.x(), NSMinX(locationFrame)); + EXPECT_GT(locationStackFrame.right(), NSMaxX(locationFrame)); +} + TEST_F(ToolbarControllerTest, HoverButtonForEvent) { scoped_nsobject<HitView> view([[HitView alloc] initWithFrame:NSMakeRect(0,0,100,100)]); diff --git a/chrome/browser/gtk/accelerators_gtk.cc b/chrome/browser/gtk/accelerators_gtk.cc index c93d8f0..21ffe03 100644 --- a/chrome/browser/gtk/accelerators_gtk.cc +++ b/chrome/browser/gtk/accelerators_gtk.cc @@ -151,7 +151,8 @@ const struct AcceleratorMapping { { GDK_o, IDC_OPEN_FILE, GDK_CONTROL_MASK }, { GDK_f, IDC_FIND, GDK_CONTROL_MASK }, { GDK_p, IDC_PRINT, GDK_CONTROL_MASK }, - { GDK_b, IDC_SHOW_BOOKMARK_BAR, + { GDK_b, IDC_SHOW_BOOKMARK_BAR, GDK_CONTROL_MASK }, + { GDK_b, IDC_SHOW_BOOKMARK_MANAGER, GdkModifierType(GDK_CONTROL_MASK | GDK_SHIFT_MASK) }, { GDK_F11, IDC_FULLSCREEN, GdkModifierType(0) }, { GDK_Delete, IDC_CLEAR_BROWSING_DATA, diff --git a/chrome/browser/gtk/bookmark_bubble_gtk.cc b/chrome/browser/gtk/bookmark_bubble_gtk.cc index 2bf86e2..524c9c3 100644 --- a/chrome/browser/gtk/bookmark_bubble_gtk.cc +++ b/chrome/browser/gtk/bookmark_bubble_gtk.cc @@ -219,7 +219,7 @@ BookmarkBubbleGtk::BookmarkBubbleGtk(GtkWidget* anchor, gtk_container_set_focus_child(GTK_CONTAINER(content), table); InfoBubbleGtk::ArrowLocationGtk arrow_location = - base::i18n::IsRTL() ? + !base::i18n::IsRTL() ? InfoBubbleGtk::ARROW_LOCATION_TOP_LEFT : InfoBubbleGtk::ARROW_LOCATION_TOP_RIGHT; bubble_ = InfoBubbleGtk::Show(anchor_, diff --git a/chrome/browser/gtk/browser_toolbar_gtk.cc b/chrome/browser/gtk/browser_toolbar_gtk.cc index bfe25fc..a4e79b0 100644 --- a/chrome/browser/gtk/browser_toolbar_gtk.cc +++ b/chrome/browser/gtk/browser_toolbar_gtk.cc @@ -35,6 +35,7 @@ #include "chrome/browser/gtk/location_bar_view_gtk.h" #include "chrome/browser/gtk/standard_menus.h" #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" +#include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" #include "chrome/browser/gtk/view_id_util.h" #include "chrome/browser/net/url_fixer_upper.h" #include "chrome/browser/pref_service.h" @@ -65,13 +66,17 @@ const int kToolbarHeightLocationBarOnly = kToolbarHeight - 2; // Interior spacing between toolbar widgets. const int kToolbarWidgetSpacing = 2; +// The color used as the base[] color of the location entry during a secure +// connection. +const GdkColor kSecureColor = GDK_COLOR_RGB(255, 245, 195); + } // namespace // BrowserToolbarGtk, public --------------------------------------------------- BrowserToolbarGtk::BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window) : toolbar_(NULL), - location_bar_(new LocationBarViewGtk(browser)), + location_bar_(new LocationBarViewGtk(this, browser)), model_(browser->toolbar_model()), page_menu_model_(this, browser), app_menu_model_(this, browser), @@ -155,6 +160,11 @@ void BrowserToolbarGtk::Init(Profile* profile, gtk_box_pack_start(GTK_BOX(toolbar_), back_forward_hbox_, FALSE, FALSE, kToolbarWidgetSpacing); + reload_.reset(BuildToolbarButton(IDR_RELOAD, IDR_RELOAD_P, IDR_RELOAD_H, 0, + IDR_BUTTON_MASK, + l10n_util::GetStringUTF8(IDS_TOOLTIP_RELOAD), + GTK_STOCK_REFRESH)); + home_.reset(BuildToolbarButton(IDR_HOME, IDR_HOME_P, IDR_HOME_H, 0, IDR_BUTTON_MASK, l10n_util::GetStringUTF8(IDS_TOOLTIP_HOME), @@ -162,25 +172,23 @@ void BrowserToolbarGtk::Init(Profile* profile, gtk_util::SetButtonTriggersNavigation(home_->widget()); SetUpDragForHomeButton(); + // Group the start, omnibox, and go button into an hbox. + GtkWidget* location_hbox = gtk_hbox_new(FALSE, 0); + star_.reset(BuildStarButton(l10n_util::GetStringUTF8(IDS_TOOLTIP_STAR))); + gtk_box_pack_start(GTK_BOX(location_hbox), star_->widget(), FALSE, FALSE, 0); - reload_.reset(BuildToolbarButton(IDR_RELOAD, IDR_RELOAD_P, IDR_RELOAD_H, 0, - IDR_RELOAD_MASK, - l10n_util::GetStringUTF8(IDS_TOOLTIP_RELOAD), - GTK_STOCK_REFRESH)); - - location_hbox_ = gtk_hbox_new(FALSE, 0); location_bar_->Init(ShouldOnlyShowLocation()); - gtk_box_pack_start(GTK_BOX(location_hbox_), location_bar_->widget(), TRUE, + gtk_box_pack_start(GTK_BOX(location_hbox), location_bar_->widget(), TRUE, TRUE, 0); - g_signal_connect(location_hbox_, "expose-event", + go_.reset(new GoButtonGtk(location_bar_.get(), browser_)); + gtk_box_pack_start(GTK_BOX(location_hbox), go_->widget(), FALSE, FALSE, 0); + + g_signal_connect(location_hbox, "expose-event", G_CALLBACK(OnLocationHboxExposeThunk), this); - gtk_box_pack_start(GTK_BOX(toolbar_), location_hbox_, TRUE, TRUE, + gtk_box_pack_start(GTK_BOX(toolbar_), location_hbox, TRUE, TRUE, kToolbarWidgetSpacing + (ShouldOnlyShowLocation() ? 1 : 0)); - go_.reset(new GoButtonGtk(location_bar_.get(), browser_)); - gtk_box_pack_start(GTK_BOX(toolbar_), go_->widget(), FALSE, FALSE, 0); - if (!ShouldOnlyShowLocation()) { actions_toolbar_.reset(new BrowserActionsToolbarGtk(browser_)); gtk_box_pack_start(GTK_BOX(toolbar_), actions_toolbar_->widget(), @@ -219,16 +227,17 @@ void BrowserToolbarGtk::Init(Profile* profile, gtk_widget_show(event_box_); gtk_widget_show(alignment_); gtk_widget_show(toolbar_); - gtk_widget_show_all(location_hbox_); - gtk_widget_hide(reload_->widget()); + gtk_widget_show_all(location_hbox); + gtk_widget_hide(star_->widget()); gtk_widget_hide(go_->widget()); } else { gtk_widget_show_all(event_box_); - if (show_home_button_.GetValue()) + if (show_home_button_.GetValue()) { gtk_widget_show(home_->widget()); - else + } else { gtk_widget_hide(home_->widget()); + } if (actions_toolbar_->button_count() == 0) gtk_widget_hide(actions_toolbar_->widget()); @@ -239,7 +248,6 @@ void BrowserToolbarGtk::Init(Profile* profile, location_bar_->UpdateContentSettingsIcons(); SetViewIDs(); - theme_provider_->InitThemesFor(this); } void BrowserToolbarGtk::SetViewIDs() { @@ -248,6 +256,7 @@ void BrowserToolbarGtk::SetViewIDs() { ViewIDUtil::SetID(forward_->widget(), VIEW_ID_FORWARD_BUTTON); ViewIDUtil::SetID(reload_->widget(), VIEW_ID_RELOAD_BUTTON); ViewIDUtil::SetID(home_->widget(), VIEW_ID_HOME_BUTTON); + ViewIDUtil::SetID(star_->widget(), VIEW_ID_STAR_BUTTON); ViewIDUtil::SetID(location_bar_->widget(), VIEW_ID_LOCATION_BAR); ViewIDUtil::SetID(go_->widget(), VIEW_ID_GO_BUTTON); ViewIDUtil::SetID(page_menu_button_.get(), VIEW_ID_PAGE_MENU); @@ -303,6 +312,9 @@ void BrowserToolbarGtk::EnabledStateChangedForCommand(int id, bool enabled) { if (home_.get()) widget = home_->widget(); break; + case IDC_BOOKMARK_PAGE: + widget = star_->widget(); + break; } if (widget) { if (!enabled && GTK_WIDGET_STATE(widget) == GTK_STATE_PRELIGHT) { @@ -398,19 +410,6 @@ void BrowserToolbarGtk::Observe(NotificationType type, gtk_image_set_from_pixbuf(GTK_IMAGE(app_menu_image_), theme_provider_->GetRTLEnabledPixbufNamed(IDR_MENU_CHROME)); - // Update the spacing between the reload button and the location bar. - gtk_box_set_child_packing( - GTK_BOX(toolbar_), reload_->widget(), - FALSE, FALSE, - theme_provider_->UseGtkTheme() ? kToolbarWidgetSpacing : 0, - GTK_PACK_START); - gtk_box_set_child_packing( - GTK_BOX(toolbar_), location_hbox_, - TRUE, TRUE, - (theme_provider_->UseGtkTheme() ? kToolbarWidgetSpacing : 0) + - (ShouldOnlyShowLocation() ? 1 : 0), - GTK_PACK_START); - // When using the GTK+ theme, we need to have the event box be visible so // buttons don't get a halo color from the background. When using Chromium // themes, we want to let the background show through the toolbar. @@ -446,6 +445,38 @@ void BrowserToolbarGtk::UpdateTabContents(TabContents* contents, actions_toolbar_->Update(); } +gfx::Rect BrowserToolbarGtk::GetLocationStackBounds() const { + // The number of pixels from the left or right edges of the location stack to + // "just inside the visible borders". When the omnibox bubble contents are + // aligned with this, the visible borders tacked on to the outsides will line + // up with the visible borders on the location stack. + const int kLocationStackEdgeWidth = 1; + + GtkWidget* left; + GtkWidget* right; + if (base::i18n::IsRTL()) { + left = go_->widget(); + right = star_->widget(); + } else { + left = star_->widget(); + right = go_->widget(); + } + + gint origin_x, origin_y; + DCHECK_EQ(left->window, right->window); + gdk_window_get_origin(left->window, &origin_x, &origin_y); + + gint right_x = origin_x + right->allocation.x + right->allocation.width; + gint left_x = origin_x + left->allocation.x; + DCHECK_LE(left_x, right_x); + + gfx::Rect stack_bounds(left_x, origin_y + left->allocation.y, + right_x - left_x, left->allocation.height); + // Inset the bounds to just inside the visible edges (see comment above). + stack_bounds.Inset(kLocationStackEdgeWidth, 0); + return stack_bounds; +} + // BrowserToolbarGtk, private -------------------------------------------------- CustomDrawButton* BrowserToolbarGtk::BuildToolbarButton( @@ -467,6 +498,18 @@ CustomDrawButton* BrowserToolbarGtk::BuildToolbarButton( return button; } +ToolbarStarToggleGtk* BrowserToolbarGtk::BuildStarButton( + const std::string& localized_tooltip) { + ToolbarStarToggleGtk* button = new ToolbarStarToggleGtk(this); + + gtk_widget_set_tooltip_text(button->widget(), + localized_tooltip.c_str()); + g_signal_connect(button->widget(), "clicked", + G_CALLBACK(OnButtonClickThunk), this); + + return button; +} + GtkWidget* BrowserToolbarGtk::BuildToolbarMenuButton( const std::string& localized_tooltip, OwnedWidgetGtk* owner) { @@ -536,9 +579,42 @@ gboolean BrowserToolbarGtk::OnAlignmentExpose(GtkWidget* widget, gboolean BrowserToolbarGtk::OnLocationHboxExpose(GtkWidget* location_hbox, GdkEventExpose* e) { if (theme_provider_->UseGtkTheme()) { + // To get the proper look surrounding the location bar, we issue raw gtk + // painting commands to the theme engine. We figure out the region from the + // leftmost widget to the rightmost and then tell GTK to perform the same + // drawing commands that draw a GtkEntry on that region. + GtkWidget* star = star_->widget(); + GtkWidget* left = NULL; + GtkWidget* right = NULL; + if (ShouldOnlyShowLocation()) { + left = location_hbox; + right = location_hbox; + } else if (gtk_widget_get_direction(star) == GTK_TEXT_DIR_LTR) { + left = star_->widget(); + right = go_->widget(); + } else { + left = go_->widget(); + right = star_->widget(); + } + + GdkRectangle rec = { + left->allocation.x, + left->allocation.y, + (right->allocation.x - left->allocation.x) + right->allocation.width, + (right->allocation.y - left->allocation.y) + right->allocation.height + }; + + // Make sure our off screen entry has the correct base color if we're in + // secure mode. + gtk_widget_modify_base( + offscreen_entry_.get(), GTK_STATE_NORMAL, + (browser_->toolbar_model()->GetSchemeSecurityLevel() == + ToolbarModel::SECURE) ? + &kSecureColor : NULL); + gtk_util::DrawTextEntryBackground(offscreen_entry_.get(), location_hbox, &e->area, - &location_hbox->allocation); + &rec); } return FALSE; @@ -563,6 +639,8 @@ void BrowserToolbarGtk::OnButtonClick(GtkWidget* button) { location_bar_->Revert(); } else if (home_.get() && button == home_->widget()) { tag = IDC_HOME; + } else if (button == star_->widget()) { + tag = IDC_BOOKMARK_PAGE; } DCHECK_NE(tag, -1) << "Unexpected button click callback"; diff --git a/chrome/browser/gtk/browser_toolbar_gtk.h b/chrome/browser/gtk/browser_toolbar_gtk.h index 9c5f2c8..1ece0db 100644 --- a/chrome/browser/gtk/browser_toolbar_gtk.h +++ b/chrome/browser/gtk/browser_toolbar_gtk.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -12,8 +12,8 @@ #include "app/menus/simple_menu_model.h" #include "base/scoped_ptr.h" #include "chrome/browser/app_menu_model.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/command_updater.h" -#include "chrome/browser/gtk/custom_button.h" #include "chrome/browser/gtk/menu_bar_helper.h" #include "chrome/browser/gtk/menu_gtk.h" #include "chrome/browser/page_menu_model.h" @@ -35,6 +35,7 @@ class LocationBarViewGtk; class Profile; class TabContents; class ToolbarModel; +class ToolbarStarToggleGtk; // View class that displays the GTK version of the toolbar and routes gtk // events back to the Browser. @@ -43,6 +44,7 @@ class BrowserToolbarGtk : public CommandUpdater::CommandObserver, public menus::SimpleMenuModel::Delegate, public MenuGtk::Delegate, public NotificationObserver, + public BubblePositioner, public MenuBarHelper::Delegate { public: explicit BrowserToolbarGtk(Browser* browser, BrowserWindowGtk* window); @@ -111,6 +113,11 @@ class BrowserToolbarGtk : public CommandUpdater::CommandObserver, // Message that we should react to a state change. void UpdateTabContents(TabContents* contents, bool should_restore_state); + ToolbarStarToggleGtk* star() { return star_.get(); } + + // BubblePositioner: + virtual gfx::Rect GetLocationStackBounds() const; + // MenuBarHelper::Delegate implementation ------------------------------------ virtual void PopupForButton(GtkWidget* button); virtual void PopupForButtonNextTo(GtkWidget* button, @@ -128,6 +135,9 @@ class BrowserToolbarGtk : public CommandUpdater::CommandObserver, const std::string& localized_tooltip, const char* stock_id); + // Create the star button given the tooltip. Returns the widget created. + ToolbarStarToggleGtk* BuildStarButton(const std::string& localized_tooltip); + // Create a menu for the toolbar given the icon id and tooltip. Returns the // widget created. GtkWidget* BuildToolbarMenuButton(const std::string& localized_tooltip, @@ -181,16 +191,14 @@ class BrowserToolbarGtk : public CommandUpdater::CommandObserver, // toolbar placed side by side. GtkWidget* toolbar_; - // Contains all the widgets of the location bar. - GtkWidget* location_hbox_; - // The location bar view. scoped_ptr<LocationBarViewGtk> location_bar_; // All the buttons in the toolbar. scoped_ptr<BackForwardButtonGtk> back_, forward_; - scoped_ptr<CustomDrawButton> home_; scoped_ptr<CustomDrawButton> reload_; + scoped_ptr<CustomDrawButton> home_; + scoped_ptr<ToolbarStarToggleGtk> star_; scoped_ptr<GoButtonGtk> go_; scoped_ptr<BrowserActionsToolbarGtk> actions_toolbar_; OwnedWidgetGtk page_menu_button_, app_menu_button_; diff --git a/chrome/browser/gtk/browser_window_gtk.cc b/chrome/browser/gtk/browser_window_gtk.cc index e31d564..03f9228 100644 --- a/chrome/browser/gtk/browser_window_gtk.cc +++ b/chrome/browser/gtk/browser_window_gtk.cc @@ -57,7 +57,6 @@ #include "chrome/browser/gtk/info_bubble_gtk.h" #include "chrome/browser/gtk/infobar_container_gtk.h" #include "chrome/browser/gtk/keyword_editor_view.h" -#include "chrome/browser/gtk/location_bar_view_gtk.h" #include "chrome/browser/gtk/nine_box.h" #include "chrome/browser/gtk/options/content_settings_window_gtk.h" #include "chrome/browser/gtk/repost_form_warning_gtk.h" @@ -66,6 +65,7 @@ #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" #include "chrome/browser/gtk/task_manager_gtk.h" #include "chrome/browser/gtk/theme_install_bubble_view_gtk.h" +#include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" #include "chrome/browser/location_bar.h" #include "chrome/browser/page_info_window.h" #include "chrome/browser/pref_service.h" @@ -742,7 +742,7 @@ void BrowserWindowGtk::LoadingAnimationCallback() { } void BrowserWindowGtk::SetStarredState(bool is_starred) { - toolbar_->GetLocationBarView()->SetStarred(is_starred); + toolbar_->star()->SetStarred(is_starred); } gfx::Rect BrowserWindowGtk::GetRestoredBounds() const { @@ -846,7 +846,7 @@ void BrowserWindowGtk::ShowBookmarkManager() { void BrowserWindowGtk::ShowBookmarkBubble(const GURL& url, bool already_bookmarked) { - toolbar_->GetLocationBarView()->ShowStarBubble(url, !already_bookmarked); + toolbar_->star()->ShowStarBubble(url, !already_bookmarked); } bool BrowserWindowGtk::IsDownloadShelfVisible() const { diff --git a/chrome/browser/gtk/find_bar_gtk.cc b/chrome/browser/gtk/find_bar_gtk.cc index b8785da..e3bc7ff 100644 --- a/chrome/browser/gtk/find_bar_gtk.cc +++ b/chrome/browser/gtk/find_bar_gtk.cc @@ -456,7 +456,6 @@ void FindBarGtk::Observe(NotificationType type, container_height_ = -1; if (theme_provider_->UseGtkTheme()) { - gtk_widget_modify_cursor(text_entry_, NULL, NULL); gtk_widget_modify_base(text_entry_, GTK_STATE_NORMAL, NULL); gtk_widget_modify_text(text_entry_, GTK_STATE_NORMAL, NULL); @@ -483,7 +482,6 @@ void FindBarGtk::Observe(NotificationType type, gtk_misc_set_alignment(GTK_MISC(match_count_label_), 0.5, 0.5); } else { - gtk_widget_modify_cursor(text_entry_, &gfx::kGdkBlack, &gfx::kGdkGray); gtk_widget_modify_base(text_entry_, GTK_STATE_NORMAL, &kEntryBackgroundColor); gtk_widget_modify_text(text_entry_, GTK_STATE_NORMAL, diff --git a/chrome/browser/gtk/gtk_theme_provider.cc b/chrome/browser/gtk/gtk_theme_provider.cc index ab8cd00..651fdda 100644 --- a/chrome/browser/gtk/gtk_theme_provider.cc +++ b/chrome/browser/gtk/gtk_theme_provider.cc @@ -91,30 +91,10 @@ const int kThemeImages[] = { IDR_THEME_FRAME_INCOGNITO_INACTIVE, }; -// A list of icons used in the autocomplete view that should be tinted to the -// current gtk theme selection color so they stand out against the GtkEntry's -// base color. -const int kAutocompleteImages[] = { - IDR_OMNIBOX_HTTP, - IDR_OMNIBOX_HTTP_DARK, - IDR_OMNIBOX_HISTORY, - IDR_OMNIBOX_HISTORY_DARK, - IDR_OMNIBOX_SEARCH, - IDR_OMNIBOX_SEARCH_DARK, - IDR_OMNIBOX_MORE, - IDR_OMNIBOX_MORE_DARK, - IDR_OMNIBOX_STAR, - IDR_OMNIBOX_STAR_DARK, - IDR_GEOLOCATION_ALLOWED_LOCATIONBAR_ICON, - IDR_GEOLOCATION_DENIED_LOCATIONBAR_ICON -}; - bool IsOverridableImage(int id) { static std::set<int> images; if (images.empty()) { images.insert(kThemeImages, kThemeImages + arraysize(kThemeImages)); - images.insert(kAutocompleteImages, - kAutocompleteImages + arraysize(kAutocompleteImages)); const std::set<int>& buttons = BrowserThemeProvider::GetTintableToolbarButtons(); @@ -758,49 +738,15 @@ SkBitmap* GtkThemeProvider::GenerateGtkThemeBitmap(int id) const { return GenerateFrameImage( BrowserThemeProvider::TINT_FRAME_INCOGNITO_INACTIVE); } - // Two sets of omnibox icons, the one for normal http and the one for - // history, include white backgrounds (and are supposed to, for the windows - // chrome-theme). On linux, where we have all sorts of wacky themes and - // color combinations we need to deal with, switch them out with - // transparent background versions. - case IDR_OMNIBOX_HTTP: { - TintMap::const_iterator it = tints_.find( - BrowserThemeProvider::TINT_BUTTONS); - DCHECK(it != tints_.end()); - return GenerateTintedIcon(IDR_OMNIBOX_HTTP_TRANSPARENT, it->second); - } - case IDR_OMNIBOX_HISTORY: { - TintMap::const_iterator it = tints_.find( - BrowserThemeProvider::TINT_BUTTONS); - DCHECK(it != tints_.end()); - return GenerateTintedIcon(IDR_OMNIBOX_HISTORY_TRANSPARENT, it->second); - } - // In GTK mode, the dark versions of the omnibox icons only ever appear in - // the autocomplete popup and only against the current theme's GtkEntry - // base[GTK_STATE_SELECTED] color, so tint the icons so they won't collide - // with the selected color. - case IDR_OMNIBOX_HTTP_DARK: { - color_utils::HSL tint; - GetEntryForegroundHSL(&tint); - return GenerateTintedIcon(IDR_OMNIBOX_HTTP_DARK_TRANSPARENT, tint); - } - case IDR_OMNIBOX_HISTORY_DARK: { - color_utils::HSL tint; - GetEntryForegroundHSL(&tint); - return GenerateTintedIcon(IDR_OMNIBOX_HISTORY_DARK_TRANSPARENT, tint); - } - case IDR_OMNIBOX_SEARCH_DARK: - case IDR_OMNIBOX_MORE_DARK: - case IDR_OMNIBOX_STAR_DARK: { - color_utils::HSL tint; - GetEntryForegroundHSL(&tint); - return GenerateTintedIcon(id, tint); - } default: { + // This is a tinted button. Tint it and return it. + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + scoped_ptr<SkBitmap> button(new SkBitmap(*rb.GetBitmapNamed(id))); TintMap::const_iterator it = tints_.find( BrowserThemeProvider::TINT_BUTTONS); DCHECK(it != tints_.end()); - return GenerateTintedIcon(id, it->second); + return new SkBitmap(SkBitmapOperations::CreateHSLShiftedBitmap( + *button, it->second)); } } } @@ -822,20 +768,6 @@ SkBitmap* GtkThemeProvider::GenerateTabImage(int base_id) const { bg_tint, 0, 0, bg_tint.width(), bg_tint.height())); } -SkBitmap* GtkThemeProvider::GenerateTintedIcon(int base_id, - color_utils::HSL tint) const { - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - scoped_ptr<SkBitmap> button(new SkBitmap(*rb.GetBitmapNamed(base_id))); - return new SkBitmap(SkBitmapOperations::CreateHSLShiftedBitmap( - *button, tint)); -} - -void GtkThemeProvider::GetEntryForegroundHSL(color_utils::HSL* tint) const { - GtkStyle* style = gtk_rc_get_style(fake_entry_.get()); - const GdkColor color = style->text[GTK_STATE_SELECTED]; - color_utils::SkColorToHSL(GdkToSkColor(&color), tint); -} - void GtkThemeProvider::OnDestroyChromeButton(GtkWidget* button) { std::vector<GtkWidget*>::iterator it = find(chrome_buttons_.begin(), chrome_buttons_.end(), button); diff --git a/chrome/browser/gtk/gtk_theme_provider.h b/chrome/browser/gtk/gtk_theme_provider.h index 227bbbe..23c0a57 100644 --- a/chrome/browser/gtk/gtk_theme_provider.h +++ b/chrome/browser/gtk/gtk_theme_provider.h @@ -163,13 +163,6 @@ class GtkThemeProvider : public BrowserThemeProvider, // Takes the base frame image |base_id| and tints it with |tint_id|. SkBitmap* GenerateTabImage(int base_id) const; - // Tints an icon based on tint. - SkBitmap* GenerateTintedIcon(int base_id, color_utils::HSL tint) const; - - // Returns a tint that's the color of the current highlighted text in an - // entry. - void GetEntryForegroundHSL(color_utils::HSL* tint) const; - // A notification from the GtkChromeButton GObject destructor that we should // remove it from our internal list. CHROMEGTK_CALLBACK_0(GtkThemeProvider, void, OnDestroyChromeButton); diff --git a/chrome/browser/gtk/gtk_util.cc b/chrome/browser/gtk/gtk_util.cc index 4d5796a..3013b12 100644 --- a/chrome/browser/gtk/gtk_util.cc +++ b/chrome/browser/gtk/gtk_util.cc @@ -17,13 +17,11 @@ #include "base/i18n/rtl.h" #include "base/linux_util.h" #include "base/logging.h" -#include "chrome/browser/autocomplete/autocomplete.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/browser_window.h" #include "chrome/browser/gtk/cairo_cached_surface.h" #include "chrome/browser/gtk/gtk_theme_provider.h" #include "chrome/common/renderer_preferences.h" -#include "googleurl/src/gurl.h" #include "grit/theme_resources.h" #include "third_party/skia/include/core/SkBitmap.h" #include "third_party/skia/include/core/SkColor.h" @@ -871,32 +869,4 @@ guint32 XTimeNow() { return ts.tv_sec * 1000 + ts.tv_nsec / 1000000; } -bool URLFromPrimarySelection(Profile* profile, GURL* url) { - GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY); - DCHECK(clipboard); - gchar* selection_text = gtk_clipboard_wait_for_text(clipboard); - if (!selection_text) - return false; - - // Use autocomplete to clean up the text, going so far as to turn it into - // a search query if necessary. - AutocompleteController controller(profile); - controller.Start(UTF8ToWide(selection_text), - std::wstring(), // desired_tld - true, // prevent_inline_autocomplete - false, // prefer_keyword - true); // synchronous_only - g_free(selection_text); - const AutocompleteResult& result = controller.result(); - AutocompleteResult::const_iterator it = result.default_match(); - if (it == result.end()) - return false; - - if (!it->destination_url.is_valid()) - return false; - - *url = it->destination_url; - return true; -} - } // namespace gtk_util diff --git a/chrome/browser/gtk/gtk_util.h b/chrome/browser/gtk/gtk_util.h index 1d8b6d3..e28778a 100644 --- a/chrome/browser/gtk/gtk_util.h +++ b/chrome/browser/gtk/gtk_util.h @@ -17,8 +17,6 @@ typedef struct _GtkWidget GtkWidget; class GtkThemeProvider; -class GURL; -class Profile; struct RendererPreferences; // from common/renderer_preferences.h namespace event_utils { @@ -272,11 +270,6 @@ void SetWMLastUserActionTime(GtkWindow* window); // function, instead using the timestamp from the latest GDK event. guint32 XTimeNow(); -// Uses the autocomplete controller for |profile| to convert the contents of the -// PRIMARY selection to a parsed URL. Returns true and sets |url| on success, -// otherwise returns false. -bool URLFromPrimarySelection(Profile* profile, GURL* url); - } // namespace gtk_util #endif // CHROME_BROWSER_GTK_GTK_UTIL_H_ diff --git a/chrome/browser/gtk/location_bar_view_gtk.cc b/chrome/browser/gtk/location_bar_view_gtk.cc index 59da90c..453a8f54 100644 --- a/chrome/browser/gtk/location_bar_view_gtk.cc +++ b/chrome/browser/gtk/location_bar_view_gtk.cc @@ -6,7 +6,6 @@ #include <string> -#include "app/gtk_dnd_util.h" #include "app/l10n_util.h" #include "app/resource_bundle.h" #include "base/basictypes.h" @@ -27,7 +26,6 @@ #include "chrome/browser/extensions/extension_browser_event_router.h" #include "chrome/browser/extensions/extension_tabs_module.h" #include "chrome/browser/extensions/extensions_service.h" -#include "chrome/browser/gtk/bookmark_bubble_gtk.h" #include "chrome/browser/gtk/cairo_cached_surface.h" #include "chrome/browser/gtk/content_setting_bubble_gtk.h" #include "chrome/browser/gtk/extension_popup_gtk.h" @@ -35,7 +33,6 @@ #include "chrome/browser/gtk/gtk_theme_provider.h" #include "chrome/browser/gtk/gtk_util.h" #include "chrome/browser/gtk/rounded_window.h" -#include "chrome/browser/gtk/view_id_util.h" #include "chrome/browser/profile.h" #include "chrome/browser/search_engines/template_url.h" #include "chrome/browser/search_engines/template_url_model.h" @@ -76,12 +73,10 @@ const int kHboxBorder = 4; // Padding between the elements in the bar. static const int kInnerPadding = 4; -// Colors used to draw the EV certificate rounded bubble. -const GdkColor kEvSecureTextColor = GDK_COLOR_RGB(0x07, 0x95, 0x00); -const GdkColor kEvSecureBackgroundColor = GDK_COLOR_RGB(0xef, 0xfc, 0xef); -const GdkColor kEvSecureBorderColor = GDK_COLOR_RGB(0x90, 0xc3, 0x90); - -// Colors used to draw the Tab to Search rounded bubble. +// TODO(deanm): Eventually this should be painted with the background png +// image, but for now we get pretty close by just drawing a solid border. +const GdkColor kBorderColor = GDK_COLOR_RGB(0xbe, 0xc8, 0xd4); +const GdkColor kEvTextColor = GDK_COLOR_RGB(0x00, 0x96, 0x14); // Green. const GdkColor kKeywordBackgroundColor = GDK_COLOR_RGB(0xf0, 0xf4, 0xfa); const GdkColor kKeywordBorderColor = GDK_COLOR_RGB(0xcb, 0xde, 0xf7); @@ -136,22 +131,19 @@ std::wstring CalculateMinString(const std::wstring& description) { // LocationBarViewGtk // static -const GdkColor LocationBarViewGtk::kBackgroundColor = - GDK_COLOR_RGB(255, 255, 255); - -LocationBarViewGtk::LocationBarViewGtk(Browser* browser) - : star_image_(NULL), - starred_(false), - security_icon_event_box_(NULL), - ev_secure_icon_image_(NULL), - secure_icon_image_(NULL), +const GdkColor LocationBarViewGtk::kBackgroundColorByLevel[3] = { + GDK_COLOR_RGB(255, 245, 195), // SecurityLevel SECURE: Yellow. + GDK_COLOR_RGB(255, 255, 255), // SecurityLevel NORMAL: White. + GDK_COLOR_RGB(255, 255, 255), // SecurityLevel INSECURE: White. +}; + +LocationBarViewGtk::LocationBarViewGtk( + const BubblePositioner* bubble_positioner, + Browser* browser) + : security_icon_event_box_(NULL), + security_lock_icon_image_(NULL), security_warning_icon_image_(NULL), - security_error_icon_image_(NULL), - site_type_alignment_(NULL), - site_type_event_box_(NULL), - location_icon_image_(NULL), - enable_location_drag_(false), - security_info_label_(NULL), + info_label_(NULL), tab_to_search_box_(NULL), tab_to_search_full_label_(NULL), tab_to_search_partial_label_(NULL), @@ -159,10 +151,12 @@ LocationBarViewGtk::LocationBarViewGtk(Browser* browser) tab_to_search_hint_leading_label_(NULL), tab_to_search_hint_icon_(NULL), tab_to_search_hint_trailing_label_(NULL), + type_to_search_hint_(NULL), profile_(NULL), command_updater_(browser->command_updater()), toolbar_model_(browser->toolbar_model()), browser_(browser), + bubble_positioner_(bubble_positioner), disposition_(CURRENT_TAB), transition_(PageTransition::TYPED), first_run_bubble_(this), @@ -170,12 +164,12 @@ LocationBarViewGtk::LocationBarViewGtk(Browser* browser) theme_provider_(NULL), entry_box_width_(0), show_selected_keyword_(false), - show_keyword_hint_(false) { + show_keyword_hint_(false), + show_search_hint_(false) { } LocationBarViewGtk::~LocationBarViewGtk() { // All of our widgets should have be children of / owned by the alignment. - star_.Destroy(); hbox_.Destroy(); content_setting_hbox_.Destroy(); page_action_hbox_.Destroy(); @@ -183,8 +177,14 @@ LocationBarViewGtk::~LocationBarViewGtk() { void LocationBarViewGtk::Init(bool popup_window_mode) { popup_window_mode_ = popup_window_mode; + location_entry_.reset(new AutocompleteEditViewGtk(this, + toolbar_model_, + profile_, + command_updater_, + popup_window_mode_, + bubble_positioner_)); + location_entry_->Init(); - // Create the widget first, so we can pass it to the AutocompleteEditViewGtk. hbox_.Own(gtk_hbox_new(FALSE, kInnerPadding)); gtk_container_set_border_width(GTK_CONTAINER(hbox_.get()), kHboxBorder); // We will paint for the alignment, to paint the background and border. @@ -193,23 +193,30 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { // the home button on/off. gtk_widget_set_redraw_on_allocate(hbox_.get(), TRUE); - // Now initialize the AutocompleteEditViewGtk. - location_entry_.reset(new AutocompleteEditViewGtk(this, - toolbar_model_, - profile_, - command_updater_, - popup_window_mode_, - hbox_.get())); - location_entry_->Init(); + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + security_lock_icon_image_ = gtk_image_new_from_pixbuf( + rb.GetPixbufNamed(IDR_LOCK)); + gtk_widget_set_name(security_lock_icon_image_, "chrome-security-lock-icon"); + gtk_widget_hide(GTK_WIDGET(security_lock_icon_image_)); + security_warning_icon_image_ = gtk_image_new(); + gtk_widget_set_name(security_warning_icon_image_, + "chrome-security-warning-icon"); + gtk_widget_hide(GTK_WIDGET(security_warning_icon_image_)); + + info_label_ = gtk_label_new(NULL); + gtk_widget_modify_base(info_label_, GTK_STATE_NORMAL, + &LocationBarViewGtk::kBackgroundColorByLevel[0]); + gtk_widget_hide(GTK_WIDGET(info_label_)); + gtk_widget_set_name(info_label_, + "chrome-location-bar-info-label"); g_signal_connect(hbox_.get(), "expose-event", G_CALLBACK(&HandleExposeThunk), this); - BuildSiteTypeArea(); - - // Put |tab_to_search_box_|, |location_entry_|, and |tab_to_search_hint_| into - // a sub hbox, so that we can make this part horizontally shrinkable without - // affecting other elements in the location bar. + // Put |tab_to_search_box_|, |location_entry_|, |tab_to_search_hint_| and + // |type_to_search_hint_| into a sub hbox, so that we can make this part + // horizontally shrinkable without affecting other elements in the location + // bar. GtkWidget* entry_box = gtk_hbox_new(FALSE, kInnerPadding); gtk_widget_show(entry_box); gtk_widget_set_size_request(entry_box, 0, -1); @@ -230,22 +237,13 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { tab_to_search_full_label_, 0, 0); gtk_fixed_put(GTK_FIXED(tab_to_search_label_fixed), tab_to_search_partial_label_, 0, 0); - GtkWidget* tab_to_search_hbox = gtk_hbox_new(FALSE, 0); - ResourceBundle& rb = ResourceBundle::GetSharedInstance(); - GtkWidget* tab_to_search_lens = gtk_image_new_from_pixbuf( - rb.GetPixbufNamed(IDR_OMNIBOX_SEARCH)); - gtk_box_pack_start(GTK_BOX(tab_to_search_hbox), tab_to_search_lens, - FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(tab_to_search_hbox), tab_to_search_label_fixed, - FALSE, FALSE, 0); // This creates a box around the keyword text with a border, background color, // and padding around the text. tab_to_search_box_ = gtk_util::CreateGtkBorderBin( - tab_to_search_hbox, NULL, 1, 1, 1, 3); + tab_to_search_label_fixed, NULL, 1, 1, 2, 2); gtk_widget_set_name(tab_to_search_box_, "chrome-tab-to-search-box"); - gtk_util::ActAsRoundedWindow(tab_to_search_box_, kKeywordBorderColor, - kCornerSize, + gtk_util::ActAsRoundedWindow(tab_to_search_box_, kBorderColor, kCornerSize, gtk_util::ROUNDED_ALL, gtk_util::BORDER_ALL); // Show all children widgets of |tab_to_search_box_| initially, except // |tab_to_search_partial_label_|. @@ -271,7 +269,7 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { kBottomMargin + kBorderThickness, 0, 0); } - gtk_container_add(GTK_CONTAINER(align), location_entry_->GetNativeView()); + gtk_container_add(GTK_CONTAINER(align), location_entry_->widget()); gtk_box_pack_start(GTK_BOX(entry_box), align, TRUE, TRUE, 0); // Tab to search notification (the hint on the right hand side). @@ -299,11 +297,36 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { // doesn't work, someone is probably calling show_all on our parent box. gtk_box_pack_end(GTK_BOX(entry_box), tab_to_search_hint_, FALSE, FALSE, 0); - // We don't show the star in popups, app windows, etc. - if (!ShouldOnlyShowLocation()) { - CreateStarButton(); - gtk_box_pack_end(GTK_BOX(hbox_.get()), star_.get(), FALSE, FALSE, 0); - } + // Type to search hint is on the right hand side. + type_to_search_hint_ = + gtk_label_new(l10n_util::GetStringUTF8(IDS_OMNIBOX_EMPTY_TEXT).c_str()); + gtk_widget_set_sensitive(type_to_search_hint_, FALSE); + gtk_box_pack_end(GTK_BOX(entry_box), type_to_search_hint_, FALSE, FALSE, 0); + + // Pack info_label_ and security icons in hbox. We hide/show them + // by SetSecurityIcon() and SetInfoText(). + gtk_box_pack_end(GTK_BOX(hbox_.get()), info_label_, FALSE, FALSE, 0); + + GtkWidget* security_icon_box = gtk_hbox_new(FALSE, 0); + gtk_box_pack_start(GTK_BOX(security_icon_box), + security_lock_icon_image_, FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(security_icon_box), + security_warning_icon_image_, FALSE, FALSE, 0); + + // GtkImage is a "no window" widget and requires a GtkEventBox to receive + // events. + security_icon_event_box_ = gtk_event_box_new(); + // Make the event box not visible so it does not paint a background. + gtk_event_box_set_visible_window(GTK_EVENT_BOX(security_icon_event_box_), + FALSE); + g_signal_connect(security_icon_event_box_, "button-press-event", + G_CALLBACK(&OnSecurityIconPressed), this); + + gtk_container_add(GTK_CONTAINER(security_icon_event_box_), security_icon_box); + gtk_widget_set_name(security_icon_event_box_, + "chrome-security-icon-eventbox"); + gtk_box_pack_end(GTK_BOX(hbox_.get()), security_icon_event_box_, + FALSE, FALSE, 0); content_setting_hbox_.Own(gtk_hbox_new(FALSE, kInnerPadding)); gtk_widget_set_name(content_setting_hbox_.get(), @@ -327,7 +350,9 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { FALSE, FALSE, 0); // Until we switch to vector graphics, force the font size of labels. - gtk_util::ForceFontSizePixels(security_info_label_, + gtk_util::ForceFontSizePixels(type_to_search_hint_, + browser_defaults::kAutocompleteEditFontPixelSize); + gtk_util::ForceFontSizePixels(info_label_, browser_defaults::kAutocompleteEditFontPixelSize); gtk_util::ForceFontSizePixels(tab_to_search_full_label_, browser_defaults::kAutocompleteEditFontPixelSize); @@ -337,6 +362,8 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { browser_defaults::kAutocompleteEditFontPixelSize); gtk_util::ForceFontSizePixels(tab_to_search_hint_trailing_label_, browser_defaults::kAutocompleteEditFontPixelSize); + gtk_util::ForceFontSizePixels(type_to_search_hint_, + browser_defaults::kAutocompleteEditFontPixelSize); registrar_.Add(this, NotificationType::BROWSER_THEME_CHANGED, @@ -345,71 +372,6 @@ void LocationBarViewGtk::Init(bool popup_window_mode) { theme_provider_->InitThemesFor(this); } -void LocationBarViewGtk::BuildSiteTypeArea() { - location_icon_image_ = gtk_image_new(); - gtk_widget_set_name(location_icon_image_, "chrome-location-icon"); - gtk_widget_show(location_icon_image_); - - security_info_label_ = gtk_label_new(NULL); - gtk_widget_modify_fg(GTK_WIDGET(security_info_label_), GTK_STATE_NORMAL, - &kEvSecureTextColor); - gtk_widget_set_name(security_info_label_, - "chrome-location-bar-security-info-label"); - - GtkWidget* site_type_hbox = gtk_hbox_new(FALSE, 0); - gtk_box_pack_start(GTK_BOX(site_type_hbox), location_icon_image_, - FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(site_type_hbox), security_info_label_, - FALSE, FALSE, kCornerSize); - - site_type_event_box_ = gtk_event_box_new(); - gtk_widget_modify_bg(site_type_event_box_, GTK_STATE_NORMAL, - &kEvSecureBackgroundColor); - - // Make the event box not visible so it does not paint a background. - gtk_event_box_set_visible_window(GTK_EVENT_BOX(site_type_event_box_), - FALSE); - gtk_widget_set_name(site_type_event_box_, - "chrome-location-icon-eventbox"); - gtk_container_add(GTK_CONTAINER(site_type_event_box_), - site_type_hbox); - - // Put the event box in an alignment to get the padding correct. - site_type_alignment_ = gtk_alignment_new(0, 0, 1, 1); - gtk_alignment_set_padding(GTK_ALIGNMENT(site_type_alignment_), - 0, 0, 1, 0); - gtk_container_add(GTK_CONTAINER(site_type_alignment_), - site_type_event_box_); - gtk_box_pack_start(GTK_BOX(hbox_.get()), site_type_alignment_, - FALSE, FALSE, 0); - - // Set up drags. -} - -void LocationBarViewGtk::SetSiteTypeDragSource() { - bool enable = !location_entry()->IsEditingOrEmpty(); - if (enable_location_drag_ == enable) - return; - enable_location_drag_ = enable; - - if (!enable) { - gtk_drag_source_unset(site_type_event_box_); - return; - } - - gtk_drag_source_set(site_type_event_box_, GDK_BUTTON1_MASK, - NULL, 0, GDK_ACTION_COPY); - gtk_dnd_util::SetSourceTargetListFromCodeMask(site_type_event_box_, - gtk_dnd_util::TEXT_PLAIN | - gtk_dnd_util::TEXT_URI_LIST | - gtk_dnd_util::CHROME_NAMED_URL); - - g_signal_connect(site_type_event_box_, "button-release-event", - G_CALLBACK(&OnIconReleasedThunk), this); - g_signal_connect(site_type_event_box_, "drag-data-get", - G_CALLBACK(&OnIconDragDataThunk), this); -} - void LocationBarViewGtk::SetProfile(Profile* profile) { profile_ = profile; } @@ -448,9 +410,10 @@ GtkWidget* LocationBarViewGtk::GetPageActionWidget( } void LocationBarViewGtk::Update(const TabContents* contents) { - UpdateSiteTypeArea(); + SetSecurityIcon(toolbar_model_->GetIcon()); UpdateContentSettingsIcons(); UpdatePageActions(); + SetInfoText(); location_entry_->Update(contents); // The security level (background color) could have changed, etc. if (theme_provider_->UseGtkTheme()) { @@ -498,12 +461,12 @@ void LocationBarViewGtk::OnAutocompleteAccept(const GURL& url, } void LocationBarViewGtk::OnChanged() { - UpdateSiteTypeArea(); - const std::wstring keyword(location_entry_->model()->keyword()); const bool is_keyword_hint = location_entry_->model()->is_keyword_hint(); show_selected_keyword_ = !keyword.empty() && !is_keyword_hint; show_keyword_hint_ = !keyword.empty() && is_keyword_hint; + show_search_hint_ = location_entry_->model()->show_search_hint(); + DCHECK(keyword.empty() || !show_search_hint_); if (show_selected_keyword_) SetKeywordLabel(keyword); @@ -514,20 +477,6 @@ void LocationBarViewGtk::OnChanged() { AdjustChildrenVisibility(); } -void LocationBarViewGtk::CreateStarButton() { - star_.Own(gtk_event_box_new()); - gtk_event_box_set_visible_window(GTK_EVENT_BOX(star_.get()), FALSE); - star_image_ = gtk_image_new(); - gtk_container_add(GTK_CONTAINER(star_.get()), star_image_); - gtk_widget_show_all(star_.get()); - ViewIDUtil::SetID(star_.get(), VIEW_ID_STAR_BUTTON); - - gtk_widget_set_tooltip_text(star_.get(), - l10n_util::GetStringUTF8(IDS_TOOLTIP_STAR).c_str()); - g_signal_connect(star_.get(), "button-press-event", - G_CALLBACK(OnStarButtonPressThunk), this); -} - void LocationBarViewGtk::OnInputInProgress(bool in_progress) { // This is identical to the Windows code, except that we don't proxy the call // back through the Toolbar, and just access the model here. @@ -662,7 +611,7 @@ void LocationBarViewGtk::UpdatePageActions() { // If there are no visible page actions, hide the hbox too, so that it does // not affect the padding in the location bar. - if (PageActionVisibleCount() && !ShouldOnlyShowLocation()) + if (PageActionVisibleCount()) gtk_widget_show(page_action_hbox_.get()); else gtk_widget_hide(page_action_hbox_.get()); @@ -741,6 +690,11 @@ void LocationBarViewGtk::Observe(NotificationType type, gtk_util::SetLabelColor(tab_to_search_partial_label_, NULL); gtk_util::SetLabelColor(tab_to_search_hint_leading_label_, NULL); gtk_util::SetLabelColor(tab_to_search_hint_trailing_label_, NULL); + gtk_util::SetLabelColor(type_to_search_hint_, NULL); + + gtk_image_set_from_stock(GTK_IMAGE(security_warning_icon_image_), + GTK_STOCK_DIALOG_WARNING, + GTK_ICON_SIZE_SMALL_TOOLBAR); } else { gtk_widget_modify_bg(tab_to_search_box_, GTK_STATE_NORMAL, &kKeywordBackgroundColor); @@ -753,11 +707,12 @@ void LocationBarViewGtk::Observe(NotificationType type, &kHintTextColor); gtk_util::SetLabelColor(tab_to_search_hint_trailing_label_, &kHintTextColor); - } + gtk_util::SetLabelColor(type_to_search_hint_, &kHintTextColor); - UpdateStarIcon(); - UpdateSiteTypeArea(); - UpdateContentSettingsIcons(); + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + gtk_image_set_from_pixbuf(GTK_IMAGE(security_warning_icon_image_), + rb.GetPixbufNamed(IDR_WARNING)); + } } gboolean LocationBarViewGtk::HandleExpose(GtkWidget* widget, @@ -790,7 +745,8 @@ gboolean LocationBarViewGtk::HandleExpose(GtkWidget* widget, alloc_rect->width, alloc_rect->height - kTopMargin - kBottomMargin - 2 * kBorderThickness); - gdk_cairo_set_source_color(cr, const_cast<GdkColor*>(&kBackgroundColor)); + gdk_cairo_set_source_color(cr, const_cast<GdkColor*>( + &kBackgroundColorByLevel[toolbar_model_->GetSchemeSecurityLevel()])); cairo_fill(cr); cairo_destroy(cr); @@ -799,52 +755,45 @@ gboolean LocationBarViewGtk::HandleExpose(GtkWidget* widget, return FALSE; // Continue propagating the expose. } -void LocationBarViewGtk::UpdateSiteTypeArea() { - // The icon is always visible except when the |tab_to_search_box_| is visible. - if (!location_entry_->model()->keyword().empty() && - !location_entry_->model()->is_keyword_hint()) { - gtk_widget_hide(site_type_area()); - return; +void LocationBarViewGtk::SetSecurityIcon(ToolbarModel::Icon icon) { + gtk_widget_hide(GTK_WIDGET(security_lock_icon_image_)); + gtk_widget_hide(GTK_WIDGET(security_warning_icon_image_)); + if (icon != ToolbarModel::NO_ICON) + gtk_widget_show(GTK_WIDGET(security_icon_event_box_)); + else + gtk_widget_hide(GTK_WIDGET(security_icon_event_box_)); + switch (icon) { + case ToolbarModel::LOCK_ICON: + gtk_widget_show(GTK_WIDGET(security_lock_icon_image_)); + break; + case ToolbarModel::WARNING_ICON: + gtk_widget_show(GTK_WIDGET(security_warning_icon_image_)); + break; + case ToolbarModel::NO_ICON: + break; + default: + NOTREACHED(); + break; } +} - int resource_id = location_entry_->GetIcon(); - gtk_image_set_from_pixbuf(GTK_IMAGE(location_icon_image_), - theme_provider_->GetPixbufNamed(resource_id)); - - if (toolbar_model_->GetSecurityLevel() == ToolbarModel::EV_SECURE) { - if (!gtk_util::IsActingAsRoundedWindow(site_type_event_box_)) { - // Fun fact: If wee try to make |site_type_event_box_| act as a - // rounded window while it doesn't have a visible window, GTK interprets - // this as a sign that it should paint the skyline texture into the - // omnibox. - gtk_event_box_set_visible_window(GTK_EVENT_BOX(site_type_event_box_), - TRUE); - - gtk_util::ActAsRoundedWindow(site_type_event_box_, - kEvSecureBorderColor, - kCornerSize, - gtk_util::ROUNDED_ALL, - gtk_util::BORDER_ALL); - } - - std::wstring info_text = toolbar_model_->GetEVCertName(); - gtk_label_set_text(GTK_LABEL(security_info_label_), - WideToUTF8(info_text).c_str()); - gtk_widget_show(GTK_WIDGET(security_info_label_)); +void LocationBarViewGtk::SetInfoText() { + std::wstring info_text, info_tooltip; + ToolbarModel::InfoTextType info_text_type = + toolbar_model_->GetInfoText(&info_text, &info_tooltip); + if (info_text_type == ToolbarModel::INFO_EV_TEXT) { + gtk_widget_modify_fg(GTK_WIDGET(info_label_), GTK_STATE_NORMAL, + &kEvTextColor); + gtk_widget_show(GTK_WIDGET(info_label_)); } else { - if (gtk_util::IsActingAsRoundedWindow(site_type_event_box_)) { - gtk_util::StopActingAsRoundedWindow(site_type_event_box_); - - gtk_event_box_set_visible_window(GTK_EVENT_BOX(site_type_event_box_), - FALSE); - } - - gtk_widget_hide(GTK_WIDGET(security_info_label_)); + DCHECK_EQ(info_text_type, ToolbarModel::INFO_NO_INFO); + DCHECK(info_text.empty()); + // Clear info_text. Should we reset the fg here? + gtk_widget_hide(GTK_WIDGET(info_label_)); } - - gtk_widget_show(site_type_area()); - - SetSiteTypeDragSource(); + gtk_label_set_text(GTK_LABEL(info_label_), WideToUTF8(info_text).c_str()); + gtk_widget_set_tooltip_text(GTK_WIDGET(info_label_), + WideToUTF8(info_tooltip).c_str()); } void LocationBarViewGtk::SetKeywordLabel(const std::wstring& keyword) { @@ -915,114 +864,46 @@ void LocationBarViewGtk::ShowFirstRunBubbleInternal( FirstRunBubble::Show(profile_, anchor, rect, bubble_type); } -gboolean LocationBarViewGtk::OnIconReleased(GtkWidget* sender, - GdkEventButton* event) { - TabContents* tab = GetTabContents(); - - if (event->button == 1) { - // Do not show page info if the user has been editing the location - // bar, or the location bar is at the NTP. - if (location_entry()->IsEditingOrEmpty()) - return FALSE; - - // (0,0) event coordinates indicates that the release came at the end of - // a drag. - if (event->x == 0 && event->y == 0) - return FALSE; - - NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); - if (!nav_entry) { - NOTREACHED(); - return FALSE; - } - tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); - return TRUE; - } else if (event->button == 2) { - // When the user middle clicks on the location icon, try to open the - // contents of the PRIMARY selection in the current tab. - // If the click was outside our bounds, do nothing. - if (!gtk_util::WidgetBounds(sender).Contains( - gfx::Point(event->x, event->y))) { - return FALSE; - } - - GURL url; - if (!gtk_util::URLFromPrimarySelection(profile_, &url)) - return FALSE; - - tab->OpenURL(url, GURL(), CURRENT_TAB, PageTransition::TYPED); - return TRUE; +// static +gboolean LocationBarViewGtk::OnSecurityIconPressed( + GtkWidget* sender, + GdkEventButton* event, + LocationBarViewGtk* location_bar) { + TabContents* tab = location_bar->GetTabContents(); + NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); + if (!nav_entry) { + NOTREACHED(); + return true; } - - return FALSE; -} - -void LocationBarViewGtk::OnIconDragData(GtkWidget* sender, - GdkDragContext* context, - GtkSelectionData* data, - guint info, guint time) { - TabContents* tab = GetTabContents(); - if (!tab) - return; - gtk_dnd_util::WriteURLWithName(data, tab->GetURL(), tab->GetTitle(), info); + tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); + return true; } -void LocationBarViewGtk::OnEntryBoxSizeAllocate(GtkWidget* sender, - GtkAllocation* allocation) { +void LocationBarViewGtk::OnEntryBoxSizeAllocate(GtkAllocation* allocation) { if (entry_box_width_ != allocation->width) { entry_box_width_ = allocation->width; AdjustChildrenVisibility(); } } -gboolean LocationBarViewGtk::OnStarButtonPress(GtkWidget* widget, - GdkEventButton* event) { - browser_->ExecuteCommand(IDC_BOOKMARK_PAGE); - return FALSE; -} - -void LocationBarViewGtk::ShowStarBubble(const GURL& url, - bool newly_bookmarked) { - if (!star_.get()) - return; - - BookmarkBubbleGtk::Show(star_.get(), profile_, url, newly_bookmarked); -} - -void LocationBarViewGtk::SetStarred(bool starred) { - if (starred == starred_) - return; - - starred_ = starred; - UpdateStarIcon(); -} - -void LocationBarViewGtk::UpdateStarIcon() { - if (!star_.get()) - return; - - gtk_image_set_from_pixbuf(GTK_IMAGE(star_image_), - theme_provider_->GetPixbufNamed( - starred_ ? IDR_OMNIBOX_STAR_LIT : IDR_OMNIBOX_STAR)); -} - -bool LocationBarViewGtk::ShouldOnlyShowLocation() { - return browser_->type() != Browser::TYPE_NORMAL; -} - void LocationBarViewGtk::AdjustChildrenVisibility() { int text_width = location_entry_->TextWidth(); int available_width = entry_box_width_ - text_width - kInnerPadding; - // Only one of |tab_to_search_box_| and |tab_to_search_hint_| can be visible - // at the same time. + // Only one of |tab_to_search_box_|, |tab_to_search_hint_| and + // |type_to_search_hint_| can be visible at the same time. if (!show_selected_keyword_ && GTK_WIDGET_VISIBLE(tab_to_search_box_)) { gtk_widget_hide(tab_to_search_box_); } else if (!show_keyword_hint_ && GTK_WIDGET_VISIBLE(tab_to_search_hint_)) { gtk_widget_hide(tab_to_search_hint_); location_entry_->set_enable_tab_to_search(false); + } else if (!show_search_hint_ && GTK_WIDGET_VISIBLE(type_to_search_hint_)) { + gtk_widget_hide(type_to_search_hint_); } + if (!show_selected_keyword_ && !show_keyword_hint_ && !show_search_hint_) + return; + if (show_selected_keyword_) { GtkRequisition box, full_label, partial_label; gtk_widget_size_request(tab_to_search_box_, &box); @@ -1071,6 +952,13 @@ void LocationBarViewGtk::AdjustChildrenVisibility() { gtk_widget_show(tab_to_search_hint_); location_entry_->set_enable_tab_to_search(true); } + } else if (show_search_hint_) { + GtkRequisition requisition; + gtk_widget_size_request(type_to_search_hint_, &requisition); + if (requisition.width >= available_width) + gtk_widget_hide(type_to_search_hint_); + else if (requisition.width < available_width) + gtk_widget_show(type_to_search_hint_); } } @@ -1108,12 +996,14 @@ LocationBarViewGtk::ContentSettingImageViewGtk::~ContentSettingImageViewGtk() { void LocationBarViewGtk::ContentSettingImageViewGtk::UpdateFromTabContents( const TabContents* tab_contents) { + int old_icon = content_setting_image_model_->get_icon(); content_setting_image_model_->UpdateFromTabContents(tab_contents); if (content_setting_image_model_->is_visible()) { - gtk_image_set_from_pixbuf(GTK_IMAGE(image_.get()), - GtkThemeProvider::GetFrom(profile_)->GetPixbufNamed( + if (old_icon != content_setting_image_model_->get_icon()) { + gtk_image_set_from_pixbuf(GTK_IMAGE(image_.get()), + ResourceBundle::GetSharedInstance().GetPixbufNamed( content_setting_image_model_->get_icon())); - + } gtk_widget_set_tooltip_text(widget(), content_setting_image_model_->get_tooltip().c_str()); gtk_widget_show(widget()); diff --git a/chrome/browser/gtk/location_bar_view_gtk.h b/chrome/browser/gtk/location_bar_view_gtk.h index dd2db25..d31655b 100644 --- a/chrome/browser/gtk/location_bar_view_gtk.h +++ b/chrome/browser/gtk/location_bar_view_gtk.h @@ -10,7 +10,6 @@ #include <map> #include <string> -#include "app/gtk_signal.h" #include "base/basictypes.h" #include "base/scoped_ptr.h" #include "base/scoped_vector.h" @@ -31,6 +30,7 @@ #include "webkit/glue/window_open_disposition.h" class AutocompleteEditViewGtk; +class BubblePositioner; class Browser; class CommandUpdater; class ContentSettingImageModel; @@ -47,7 +47,8 @@ class LocationBarViewGtk : public AutocompleteEditController, public LocationBarTesting, public NotificationObserver { public: - explicit LocationBarViewGtk(Browser* browser); + LocationBarViewGtk(const BubblePositioner* bubble_positioner, + Browser* browser_); virtual ~LocationBarViewGtk(); void Init(bool popup_window_mode); @@ -77,12 +78,6 @@ class LocationBarViewGtk : public AutocompleteEditController, // restore saved state that the tab holds. void Update(const TabContents* tab_for_state_restoring); - // Show the bookmark bubble. - void ShowStarBubble(const GURL& url, bool newly_boomkarked); - - // Set the starred state of the bookmark star. - void SetStarred(bool starred); - // Implement the AutocompleteEditController interface. virtual void OnAutocompleteAccept(const GURL& url, WindowOpenDisposition disposition, @@ -109,9 +104,6 @@ class LocationBarViewGtk : public AutocompleteEditController, virtual void InvalidatePageActions(); virtual void SaveStateToContents(TabContents* contents); virtual void Revert(); - virtual const AutocompleteEditView* location_entry() const { - return location_entry_.get(); - } virtual AutocompleteEditView* location_entry() { return location_entry_.get(); } @@ -129,8 +121,9 @@ class LocationBarViewGtk : public AutocompleteEditController, const NotificationSource& source, const NotificationDetails& details); - // Edit background color. - static const GdkColor kBackgroundColor; + // Translation between a security level and the background color. Both the + // location bar and edit have to manage and match the background color. + static const GdkColor kBackgroundColorByLevel[3]; private: class ContentSettingImageViewGtk : public InfoBubbleGtkDelegate { @@ -148,8 +141,12 @@ class LocationBarViewGtk : public AutocompleteEditController, void UpdateFromTabContents(const TabContents* tab_contents); private: - CHROMEGTK_CALLBACK_1(ContentSettingImageViewGtk, gboolean, OnButtonPressed, - GdkEvent*); + static gboolean OnButtonPressedThunk(GtkWidget* sender, + GdkEvent* event, + ContentSettingImageViewGtk* view) { + return view->OnButtonPressed(sender, event); + } + gboolean OnButtonPressed(GtkWidget* sender, GdkEvent* event); // InfoBubbleDelegate overrides: virtual void InfoBubbleClosing(InfoBubbleGtk* info_bubble, @@ -211,10 +208,19 @@ class LocationBarViewGtk : public AutocompleteEditController, // with a debugger window attached. Returns true if a popup was shown. bool ShowPopup(bool devtools); - CHROMEGTK_CALLBACK_1(PageActionViewGtk, gboolean, OnButtonPressed, - GdkEvent*); - CHROMEGTK_CALLBACK_1(PageActionViewGtk, gboolean, OnExposeEvent, - GdkEventExpose*); + static gboolean OnButtonPressedThunk(GtkWidget* sender, + GdkEvent* event, + PageActionViewGtk* page_action_view) { + return page_action_view->OnButtonPressed(sender, event); + } + gboolean OnButtonPressed(GtkWidget* sender, GdkEvent* event); + + static gboolean OnExposeEventThunk(GtkWidget* widget, + GdkEventExpose* event, + PageActionViewGtk* page_action_view) { + return page_action_view->OnExposeEvent(widget, event); + } + gboolean OnExposeEvent(GtkWidget* widget, GdkEventExpose* event); // The location bar view that owns us. LocationBarViewGtk* owner_; @@ -262,30 +268,20 @@ class LocationBarViewGtk : public AutocompleteEditController, }; friend class PageActionViewGtk; - // Creates, initializes, and packs the location icon, EV certificate name, - // and optional border. - void BuildSiteTypeArea(); - - // Enable or disable the location icon/EV certificate as a drag source for - // the URL. - void SetSiteTypeDragSource(); + static gboolean HandleExposeThunk(GtkWidget* widget, GdkEventExpose* event, + gpointer userdata) { + return reinterpret_cast<LocationBarViewGtk*>(userdata)-> + HandleExpose(widget, event); + } - GtkWidget* site_type_area() { return site_type_alignment_; } + gboolean HandleExpose(GtkWidget* widget, GdkEventExpose* event); - CHROMEGTK_CALLBACK_1(LocationBarViewGtk, gboolean, HandleExpose, - GdkEventExpose*); - CHROMEGTK_CALLBACK_1(LocationBarViewGtk, gboolean, OnIconReleased, - GdkEventButton*); - CHROMEGTK_CALLBACK_4(LocationBarViewGtk, void, OnIconDragData, - GdkDragContext*, GtkSelectionData*, guint, guint); - CHROMEGTK_CALLBACK_1(LocationBarViewGtk, void, OnEntryBoxSizeAllocate, - GtkAllocation*); - CHROMEGTK_CALLBACK_1(LocationBarViewGtk, gboolean, OnStarButtonPress, - GdkEventButton*); + static gboolean OnSecurityIconPressed(GtkWidget* sender, + GdkEventButton* event, + LocationBarViewGtk* location_bar); - // Updates the site type area: changes the icon and shows/hides the EV - // certificate information. - void UpdateSiteTypeArea(); + // Set the SSL icon we should be showing. + void SetSecurityIcon(ToolbarModel::Icon icon); // Sets the text that should be displayed in the info label and its associated // tooltip text. Call with an empty string if the info label should be @@ -300,43 +296,29 @@ class LocationBarViewGtk : public AutocompleteEditController, void ShowFirstRunBubbleInternal(FirstRun::BubbleType bubble_type); - // Show or hide |tab_to_search_box_| and |tab_to_search_hint_| according to - // the value of |show_selected_keyword_|, |show_keyword_hint_|, and the - // available horizontal space in the location bar. - void AdjustChildrenVisibility(); - - // Build the star icon. - void CreateStarButton(); - - // Update the star icon after it is toggled or the theme changes. - void UpdateStarIcon(); + static void OnEntryBoxSizeAllocateThunk(GtkWidget* widget, + GtkAllocation* allocation, + gpointer userdata) { + reinterpret_cast<LocationBarViewGtk*>(userdata)-> + OnEntryBoxSizeAllocate(allocation); + } + void OnEntryBoxSizeAllocate(GtkAllocation* allocation); - // Returns true if we should only show the URL and none of the extras like - // the star button or page actions. - bool ShouldOnlyShowLocation(); + // Show or hide |tab_to_search_box_|, |tab_to_search_hint_| and + // |type_to_search_hint_| according to the value of |show_selected_keyword_|, + // |show_keyword_hint_|, |show_search_hint_| and the available horizontal + // space in the location bar. + void AdjustChildrenVisibility(); // The outermost widget we want to be hosted. OwnedWidgetGtk hbox_; - // Star button. - OwnedWidgetGtk star_; - GtkWidget* star_image_; - bool starred_; - - // SSL state. + // SSL icons. GtkWidget* security_icon_event_box_; - GtkWidget* ev_secure_icon_image_; - GtkWidget* secure_icon_image_; + GtkWidget* security_lock_icon_image_; GtkWidget* security_warning_icon_image_; - GtkWidget* security_error_icon_image_; - // An icon to the left of the address bar. - GtkWidget* site_type_alignment_; - GtkWidget* site_type_event_box_; - GtkWidget* location_icon_image_; - bool enable_location_drag_; - // TODO(pkasting): Split this label off and move the rest of the items to the - // left of the address bar. - GtkWidget* security_info_label_; + // Toolbar info text (EV cert info). + GtkWidget* info_label_; // Content setting icons. OwnedWidgetGtk content_setting_hbox_; @@ -357,6 +339,9 @@ class LocationBarViewGtk : public AutocompleteEditController, GtkWidget* tab_to_search_hint_icon_; GtkWidget* tab_to_search_hint_trailing_label_; + // Hint to user that the inputted text is not a keyword or url. + GtkWidget* type_to_search_hint_; + scoped_ptr<AutocompleteEditViewGtk> location_entry_; Profile* profile_; @@ -364,6 +349,9 @@ class LocationBarViewGtk : public AutocompleteEditController, ToolbarModel* toolbar_model_; Browser* browser_; + // We need to hold on to this just to it pass to the edit. + const BubblePositioner* bubble_positioner_; + // When we get an OnAutocompleteAccept notification from the autocomplete // edit, we save the input string so we can give it back to the browser on // the LocationBar interface via GetInputString(). @@ -397,6 +385,9 @@ class LocationBarViewGtk : public AutocompleteEditController, // Indicate if |tab_to_search_hint_| should be shown. bool show_keyword_hint_; + // Indicate if |type_to_search_hint_| should be shown. + bool show_search_hint_; + DISALLOW_COPY_AND_ASSIGN(LocationBarViewGtk); }; diff --git a/chrome/browser/gtk/options/passwords_exceptions_page_gtk.cc b/chrome/browser/gtk/options/passwords_exceptions_page_gtk.cc index 8162610..5488e4f 100644 --- a/chrome/browser/gtk/options/passwords_exceptions_page_gtk.cc +++ b/chrome/browser/gtk/options/passwords_exceptions_page_gtk.cc @@ -116,7 +116,7 @@ void PasswordsExceptionsPageGtk::SetExceptionList( for (size_t i = 0; i < result.size(); ++i) { exception_list_[i] = *result[i]; std::wstring formatted = net::FormatUrl(result[i]->origin, languages, - net::kFormatUrlOmitAll, UnescapeRule::NONE, NULL, NULL, NULL); + false, UnescapeRule::NONE, NULL, NULL, NULL); std::string site = WideToUTF8(formatted); GtkTreeIter iter; gtk_list_store_insert_with_values(exception_list_store_, &iter, (gint) i, diff --git a/chrome/browser/gtk/options/passwords_page_gtk.cc b/chrome/browser/gtk/options/passwords_page_gtk.cc index 9ecf89f..0de0403 100644 --- a/chrome/browser/gtk/options/passwords_page_gtk.cc +++ b/chrome/browser/gtk/options/passwords_page_gtk.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -160,7 +160,7 @@ void PasswordsPageGtk::SetPasswordList( for (size_t i = 0; i < result.size(); ++i) { password_list_[i] = *result[i]; std::wstring formatted = net::FormatUrl(result[i]->origin, languages, - net::kFormatUrlOmitAll, UnescapeRule::NONE, NULL, NULL, NULL); + false, UnescapeRule::NONE, NULL, NULL, NULL); std::string site = WideToUTF8(formatted); std::string user = UTF16ToUTF8(result[i]->username_value); GtkTreeIter iter; diff --git a/chrome/browser/gtk/options/url_picker_dialog_gtk.cc b/chrome/browser/gtk/options/url_picker_dialog_gtk.cc index b5e5a5b..df45b14 100644 --- a/chrome/browser/gtk/options/url_picker_dialog_gtk.cc +++ b/chrome/browser/gtk/options/url_picker_dialog_gtk.cc @@ -198,8 +198,7 @@ std::string UrlPickerDialogGtk::GetURLForPath(GtkTreePath* path) const { // Because the url_field_ is user-editable, we set the URL with // username:password and escaped path and query. std::wstring formatted = net::FormatUrl(url_table_model_->GetURL(row), - languages, net::kFormatUrlOmitNothing, UnescapeRule::NONE, NULL, NULL, - NULL); + languages, false, UnescapeRule::NONE, NULL, NULL, NULL); return WideToUTF8(formatted); } diff --git a/chrome/browser/gtk/rounded_window.cc b/chrome/browser/gtk/rounded_window.cc index 52bedc9..540a465 100644 --- a/chrome/browser/gtk/rounded_window.cc +++ b/chrome/browser/gtk/rounded_window.cc @@ -287,10 +287,6 @@ void StopActingAsRoundedWindow(GtkWidget* widget) { gdk_window_shape_combine_mask(widget->window, NULL, 0, 0); } -bool IsActingAsRoundedWindow(GtkWidget* widget) { - return g_object_get_data(G_OBJECT(widget), kRoundedData) != NULL; -} - void SetRoundedWindowEdgesAndBorders(GtkWidget* widget, int corner_size, int rounded_edges, diff --git a/chrome/browser/gtk/rounded_window.h b/chrome/browser/gtk/rounded_window.h index cd98e71..95f91d9 100644 --- a/chrome/browser/gtk/rounded_window.h +++ b/chrome/browser/gtk/rounded_window.h @@ -42,9 +42,6 @@ void ActAsRoundedWindow( // Undoes most of the actions of ActAsRoundedWindow(). void StopActingAsRoundedWindow(GtkWidget* widget); -// Returns true if the window is rounded. -bool IsActingAsRoundedWindow(GtkWidget* widget); - // Sets edge and border properties on a widget that has already been configured // with ActAsRoundedWindow(). void SetRoundedWindowEdgesAndBorders(GtkWidget* widget, diff --git a/chrome/browser/gtk/tabs/tab_strip_gtk.cc b/chrome/browser/gtk/tabs/tab_strip_gtk.cc index 8d1d1c8..25a02c3 100644 --- a/chrome/browser/gtk/tabs/tab_strip_gtk.cc +++ b/chrome/browser/gtk/tabs/tab_strip_gtk.cc @@ -1980,8 +1980,28 @@ void TabStripGtk::OnNewTabClicked(GtkWidget* widget, TabStripGtk* tabstrip) { case 2: { // On middle-click, try to parse the PRIMARY selection as a URL and load // it instead of creating a blank page. - GURL url; - if (!gtk_util::URLFromPrimarySelection(tabstrip->model_->profile(), &url)) + GtkClipboard* clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY); + DCHECK(clipboard); + gchar* selection_text = gtk_clipboard_wait_for_text(clipboard); + if (!selection_text) + return; + + // Use autocomplete to clean up the text, going so far as to turn it into + // a search query if necessary. + AutocompleteController controller(tabstrip->model_->profile()); + controller.Start(UTF8ToWide(selection_text), + std::wstring(), // desired_tld + true, // prevent_inline_autocomplete + false, // prefer_keyword + true); // synchronous_only + g_free(selection_text); + const AutocompleteResult& result = controller.result(); + AutocompleteResult::const_iterator it = result.default_match(); + if (it == result.end()) + return; + + GURL url(it->destination_url); + if (!url.is_valid()) return; TabContents* contents = diff --git a/chrome/browser/gtk/toolbar_star_toggle_gtk.cc b/chrome/browser/gtk/toolbar_star_toggle_gtk.cc new file mode 100644 index 0000000..a57d79e --- /dev/null +++ b/chrome/browser/gtk/toolbar_star_toggle_gtk.cc @@ -0,0 +1,142 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" + +#include "app/gtk_dnd_util.h" +#include "app/resource_bundle.h" +#include "chrome/browser/browser.h" +#include "chrome/browser/gtk/bookmark_bubble_gtk.h" +#include "chrome/browser/gtk/browser_toolbar_gtk.h" +#include "chrome/browser/gtk/gtk_chrome_button.h" +#include "chrome/browser/gtk/gtk_theme_provider.h" +#include "chrome/browser/gtk/gtk_util.h" +#include "chrome/browser/profile.h" +#include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/common/notification_service.h" +#include "gfx/rect.h" +#include "grit/theme_resources.h" + +ToolbarStarToggleGtk::ToolbarStarToggleGtk(BrowserToolbarGtk* host) + : host_(host), + widget_(gtk_chrome_button_new()), + is_starred_(false), + theme_provider_(GtkThemeProvider::GetFrom(host->profile())), + unstarred_(theme_provider_, IDR_STAR, IDR_STAR_P, IDR_STAR_H, IDR_STAR_D, + IDR_STAR_MASK), + starred_(theme_provider_, IDR_STARRED, IDR_STARRED_P, IDR_STARRED_H, 0, + IDR_STAR_MASK) { + gtk_widget_set_size_request(widget_.get(), unstarred_.Width(), + unstarred_.Height()); + + gtk_widget_set_app_paintable(widget_.get(), TRUE); + // We effectively double-buffer by virtue of having only one image... + gtk_widget_set_double_buffered(widget_.get(), FALSE); + + g_signal_connect(widget(), "expose-event", + G_CALLBACK(OnExpose), this); + GTK_WIDGET_UNSET_FLAGS(widget(), GTK_CAN_FOCUS); + + gtk_drag_source_set(widget(), GDK_BUTTON1_MASK, NULL, 0, + static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_LINK)); + gtk_dnd_util::SetSourceTargetListFromCodeMask(widget(), + gtk_dnd_util::TEXT_PLAIN | + gtk_dnd_util::TEXT_URI_LIST | + gtk_dnd_util::CHROME_NAMED_URL | + gtk_dnd_util::NETSCAPE_URL); + g_signal_connect(widget(), "drag-data-get", G_CALLBACK(OnDragDataGet), this); + + theme_provider_->InitThemesFor(this); + registrar_.Add(this, + NotificationType::BROWSER_THEME_CHANGED, + NotificationService::AllSources()); + + hover_controller_.Init(widget()); +} + +ToolbarStarToggleGtk::~ToolbarStarToggleGtk() { + widget_.Destroy(); +} + +void ToolbarStarToggleGtk::Observe(NotificationType type, + const NotificationSource& source, const NotificationDetails& details) { + DCHECK(NotificationType::BROWSER_THEME_CHANGED == type); + + GtkThemeProvider* provider = static_cast<GtkThemeProvider*>( + Source<GtkThemeProvider>(source).ptr()); + DCHECK(provider == theme_provider_); + UpdateGTKButton(); +} + +void ToolbarStarToggleGtk::ShowStarBubble(const GURL& url, + bool newly_bookmarked) { + GtkWidget* widget = widget_.get(); + BookmarkBubbleGtk::Show(GTK_WINDOW(gtk_widget_get_toplevel(widget)), + gtk_util::GetWidgetRectRelativeToToplevel(widget), + host_->profile(), + url, + newly_bookmarked); +} + +void ToolbarStarToggleGtk::SetStarred(bool starred) { + is_starred_ = starred; + gtk_widget_queue_draw(widget_.get()); + UpdateGTKButton(); +} + +// static +gboolean ToolbarStarToggleGtk::OnExpose(GtkWidget* widget, GdkEventExpose* e, + ToolbarStarToggleGtk* button) { + if (button->theme_provider_->UseGtkTheme()) { + return FALSE; + } else { + double hover_state = button->hover_controller_.GetCurrentValue(); + if (button->is_starred_) + return button->starred_.OnExpose(widget, e, hover_state); + else + return button->unstarred_.OnExpose(widget, e, hover_state); + } +} + +// static +void ToolbarStarToggleGtk::OnDragDataGet(GtkWidget* widget, + GdkDragContext* drag_context, GtkSelectionData* data, guint info, + guint time, ToolbarStarToggleGtk* star) { + const TabContents* tab = star->host_->browser()->tabstrip_model()-> + GetSelectedTabContents(); + if (!tab) + return; + gtk_dnd_util::WriteURLWithName(data, tab->GetURL(), tab->GetTitle(), info); +} + +void ToolbarStarToggleGtk::UpdateGTKButton() { + bool use_gtk = theme_provider_ && theme_provider_->UseGtkTheme(); + + if (use_gtk) { + GdkPixbuf* pixbuf = NULL; + if (is_starred_) { + pixbuf = theme_provider_->GetPixbufNamed(IDR_STARRED_NOBORDER_CENTER); + } else { + pixbuf = theme_provider_->GetPixbufNamed(IDR_STAR_NOBORDER_CENTER); + } + + gtk_button_set_image( + GTK_BUTTON(widget_.get()), + gtk_image_new_from_pixbuf(pixbuf)); + + gtk_widget_set_size_request(widget_.get(), -1, -1); + gtk_widget_set_app_paintable(widget_.get(), FALSE); + gtk_widget_set_double_buffered(widget_.get(), TRUE); + } else { + gtk_widget_set_size_request(widget_.get(), unstarred_.Width(), + unstarred_.Height()); + + gtk_widget_set_app_paintable(widget_.get(), TRUE); + // We effectively double-buffer by virtue of having only one image... + gtk_widget_set_double_buffered(widget_.get(), FALSE); + } + + gtk_chrome_button_set_use_gtk_rendering( + GTK_CHROME_BUTTON(widget_.get()), use_gtk); +} diff --git a/chrome/browser/gtk/toolbar_star_toggle_gtk.h b/chrome/browser/gtk/toolbar_star_toggle_gtk.h new file mode 100644 index 0000000..faa025a --- /dev/null +++ b/chrome/browser/gtk/toolbar_star_toggle_gtk.h @@ -0,0 +1,76 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_GTK_TOOLBAR_STAR_TOGGLE_GTK_H_ +#define CHROME_BROWSER_GTK_TOOLBAR_STAR_TOGGLE_GTK_H_ + +#include <gtk/gtk.h> + +#include "base/basictypes.h" +#include "chrome/browser/gtk/custom_button.h" +#include "chrome/common/notification_observer.h" +#include "chrome/common/notification_registrar.h" +#include "chrome/common/owned_widget_gtk.h" + +class BrowserToolbarGtk; +class GtkThemeProvider; +class GURL; + +// Displays the bookmark star button, which toggles between two images. +class ToolbarStarToggleGtk : public NotificationObserver { + public: + explicit ToolbarStarToggleGtk(BrowserToolbarGtk* host); + ~ToolbarStarToggleGtk(); + + // Provide NotificationObserver implementation. + virtual void Observe(NotificationType type, + const NotificationSource& source, + const NotificationDetails& details); + + // If the bubble isn't showing, shows it above the star button. + void ShowStarBubble(const GURL& url, bool newly_bookmarked); + + void SetStarred(bool starred); + + GtkWidget* widget() const { return widget_.get(); } + + private: + // Updates the properties of |widget_| when we would need to change its + // state. + void UpdateGTKButton(); + + // Callback for expose, used to draw the custom graphics. + static gboolean OnExpose(GtkWidget* widget, GdkEventExpose* e, + ToolbarStarToggleGtk* obj); + + // Callback to get the data associated with a drag. + static void OnDragDataGet(GtkWidget* widget, + GdkDragContext* drag_context, + GtkSelectionData* data, + guint info, + guint time, + ToolbarStarToggleGtk* star); + + // Used to listen for theme change notifications. + NotificationRegistrar registrar_; + + // The browser toolbar hosting this widget, for getting the current profile. + BrowserToolbarGtk* host_; + + // The actual button widget. + OwnedWidgetGtk widget_; + + // Whether we show the yellow star. + bool is_starred_; + + GtkThemeProvider* theme_provider_; + + CustomDrawButtonBase unstarred_; + CustomDrawButtonBase starred_; + CustomDrawHoverController hover_controller_; + + DISALLOW_COPY_AND_ASSIGN(ToolbarStarToggleGtk); +}; + +#endif // CHROME_BROWSER_GTK_TOOLBAR_STAR_TOGGLE_GTK_H_ diff --git a/chrome/browser/location_bar.h b/chrome/browser/location_bar.h index a30dcf0..7919406 100644 --- a/chrome/browser/location_bar.h +++ b/chrome/browser/location_bar.h @@ -69,7 +69,6 @@ class LocationBar { virtual void Revert() = 0; // Returns a pointer to the text entry view. - virtual const AutocompleteEditView* location_entry() const = 0; virtual AutocompleteEditView* location_entry() = 0; // Returns a pointer to the testing interface. diff --git a/chrome/browser/net/browser_url_util.cc b/chrome/browser/net/browser_url_util.cc index 24747b2..9c8ab48 100644 --- a/chrome/browser/net/browser_url_util.cc +++ b/chrome/browser/net/browser_url_util.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -23,8 +23,8 @@ void WriteURLToClipboard(const GURL& url, // may not encode non-ASCII characters in UTF-8. See crbug.com/2820. string16 text = url.SchemeIs(chrome::kMailToScheme) ? ASCIIToUTF16(url.path()) : - WideToUTF16(net::FormatUrl(url, languages, net::kFormatUrlOmitNothing, - UnescapeRule::NONE, NULL, NULL, NULL)); + WideToUTF16(net::FormatUrl(url, languages, false, UnescapeRule::NONE, + NULL, NULL, NULL)); ScopedClipboardWriter scw(clipboard); scw.WriteURL(text); diff --git a/chrome/browser/net/url_fixer_upper.cc b/chrome/browser/net/url_fixer_upper.cc index 9d974db..edacefd 100644 --- a/chrome/browser/net/url_fixer_upper.cc +++ b/chrome/browser/net/url_fixer_upper.cc @@ -170,9 +170,8 @@ static std::string FixupPath(const std::string& text) { // Here, we know the input looks like a file. GURL file_url = net::FilePathToFileURL(FilePath(filename)); if (file_url.is_valid()) { - return WideToUTF8(net::FormatUrl(file_url, std::wstring(), - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, NULL, - NULL, NULL)); + return WideToUTF8(net::FormatUrl(file_url, std::wstring(), true, + UnescapeRule::NORMAL, NULL, NULL, NULL)); } // Invalid file URL, just return the input. @@ -558,8 +557,7 @@ std::string URLFixerUpper::FixupRelativeFile(const FilePath& base_dir, GURL file_url = net::FilePathToFileURL(full_path); if (file_url.is_valid()) return WideToUTF8(net::FormatUrl(file_url, std::wstring(), - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, NULL, - NULL, NULL)); + true, UnescapeRule::NORMAL, NULL, NULL, NULL)); // Invalid files fall through to regular processing. } diff --git a/chrome/browser/profile.cc b/chrome/browser/profile.cc index 92b2ff8..ed480e8 100644 --- a/chrome/browser/profile.cc +++ b/chrome/browser/profile.cc @@ -13,7 +13,6 @@ #include "base/scoped_ptr.h" #include "base/string_util.h" #include "chrome/browser/appcache/chrome_appcache_service.h" -#include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/autofill/personal_data_manager.h" #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/browser_list.h" @@ -46,6 +45,7 @@ #include "chrome/browser/printing/cloud_print/cloud_print_proxy_service.h" #include "chrome/browser/profile_manager.h" #include "chrome/browser/renderer_host/render_process_host.h" +#include "chrome/browser/search_versus_navigate_classifier.h" #include "chrome/browser/search_engines/template_url_fetcher.h" #include "chrome/browser/search_engines/template_url_model.h" #include "chrome/browser/sessions/session_service.h" @@ -338,8 +338,8 @@ class OffTheRecordProfileImpl : public Profile, return NULL; } - virtual AutocompleteClassifier* GetAutocompleteClassifier() { - return profile_->GetAutocompleteClassifier(); + virtual SearchVersusNavigateClassifier* GetSearchVersusNavigateClassifier() { + return profile_->GetSearchVersusNavigateClassifier(); } virtual WebDataService* GetWebDataService(ServiceAccessType sat) { @@ -1139,10 +1139,13 @@ TemplateURLFetcher* ProfileImpl::GetTemplateURLFetcher() { return template_url_fetcher_.get(); } -AutocompleteClassifier* ProfileImpl::GetAutocompleteClassifier() { - if (!autocomplete_classifier_.get()) - autocomplete_classifier_.reset(new AutocompleteClassifier(this)); - return autocomplete_classifier_.get(); +SearchVersusNavigateClassifier* +ProfileImpl::GetSearchVersusNavigateClassifier() { + if (!search_versus_navigate_classifier_.get()) { + search_versus_navigate_classifier_.reset( + new SearchVersusNavigateClassifier(this)); + } + return search_versus_navigate_classifier_.get(); } WebDataService* ProfileImpl::GetWebDataService(ServiceAccessType sat) { diff --git a/chrome/browser/profile.h b/chrome/browser/profile.h index 751d2e2..a4f680ad 100644 --- a/chrome/browser/profile.h +++ b/chrome/browser/profile.h @@ -30,7 +30,6 @@ namespace webkit_database { class DatabaseTracker; } -class AutocompleteClassifier; class Blacklist; class BookmarkModel; class BrowserThemeProvider; @@ -56,6 +55,7 @@ class PinnedTabService; class PrefService; class ProfileSyncService; class ProfileSyncFactory; +class SearchVersusNavigateClassifier; class SessionService; class SpellCheckHost; class SSLConfigServiceManager; @@ -217,10 +217,11 @@ class Profile { // doesn't already exist. virtual HistoryService* GetHistoryServiceWithoutCreating() = 0; - // Retrieves a pointer to the AutocompleteClassifier associated with this - // profile. The AutocompleteClassifier is lazily created the first time that - // this method is called. - virtual AutocompleteClassifier* GetAutocompleteClassifier() = 0; + // Retrieves a pointer to the SearchVersusNavigateClassifier associated with + // this profile. The SearchVersusNavigateClassifier is lazily created the + // first time that this method is called. + virtual SearchVersusNavigateClassifier* + GetSearchVersusNavigateClassifier() = 0; // Returns the WebDataService for this profile. This is owned by // the Profile. Callers that outlive the life of this profile need to be @@ -472,7 +473,7 @@ class ProfileImpl : public Profile, virtual FaviconService* GetFaviconService(ServiceAccessType sat); virtual HistoryService* GetHistoryService(ServiceAccessType sat); virtual HistoryService* GetHistoryServiceWithoutCreating(); - virtual AutocompleteClassifier* GetAutocompleteClassifier(); + virtual SearchVersusNavigateClassifier* GetSearchVersusNavigateClassifier(); virtual WebDataService* GetWebDataService(ServiceAccessType sat); virtual WebDataService* GetWebDataServiceWithoutCreating(); virtual PasswordStore* GetPasswordStore(ServiceAccessType sat); @@ -597,7 +598,7 @@ class ProfileImpl : public Profile, scoped_refptr<DownloadManager> download_manager_; scoped_refptr<HistoryService> history_service_; scoped_refptr<FaviconService> favicon_service_; - scoped_ptr<AutocompleteClassifier> autocomplete_classifier_; + scoped_ptr<SearchVersusNavigateClassifier> search_versus_navigate_classifier_; scoped_refptr<WebDataService> web_data_service_; scoped_refptr<PasswordStore> password_store_; scoped_refptr<SessionService> session_service_; diff --git a/chrome/browser/search_versus_navigate_classifier.cc b/chrome/browser/search_versus_navigate_classifier.cc new file mode 100644 index 0000000..b32b92b --- /dev/null +++ b/chrome/browser/search_versus_navigate_classifier.cc @@ -0,0 +1,56 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/search_versus_navigate_classifier.h" + +#include "chrome/browser/autocomplete/autocomplete.h" +#include "googleurl/src/gurl.h" + +SearchVersusNavigateClassifier::SearchVersusNavigateClassifier(Profile* profile) + : controller_(new AutocompleteController(profile)) { +} + +SearchVersusNavigateClassifier::~SearchVersusNavigateClassifier() { +} + +void SearchVersusNavigateClassifier::Classify(const std::wstring& text, + const std::wstring& desired_tld, + bool* is_search, + GURL* destination_url, + PageTransition::Type* transition, + bool* is_history_what_you_typed_match, + GURL* alternate_nav_url) { + controller_->Start(text, desired_tld, true, false, true); + DCHECK(controller_->done()); + const AutocompleteResult& result = controller_->result(); + if (result.empty()) { + if (is_search) + *is_search = false; + if (destination_url) + *destination_url = GURL(); + if (transition) + *transition = PageTransition::TYPED; + if (is_history_what_you_typed_match) + *is_history_what_you_typed_match = false; + if (alternate_nav_url) + *alternate_nav_url = GURL(); + return; + } + + const AutocompleteResult::const_iterator match(result.default_match()); + DCHECK(match != result.end()); + + // If this is a search, the page transition will be GENERATED rather than + // TYPED. + if (is_search) + *is_search = (match->transition != PageTransition::TYPED); + if (destination_url) + *destination_url = match->destination_url; + if (transition) + *transition = match->transition; + if (is_history_what_you_typed_match) + *is_history_what_you_typed_match = match->is_history_what_you_typed_match; + if (alternate_nav_url) + *alternate_nav_url = result.alternate_nav_url(); +} diff --git a/chrome/browser/search_versus_navigate_classifier.h b/chrome/browser/search_versus_navigate_classifier.h new file mode 100644 index 0000000..94471b8 --- /dev/null +++ b/chrome/browser/search_versus_navigate_classifier.h @@ -0,0 +1,52 @@ +// Copyright (c) 2009 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_SEARCH_VERSUS_NAVIGATE_CLASSIFIER_H_ +#define CHROME_BROWSER_SEARCH_VERSUS_NAVIGATE_CLASSIFIER_H_ + +#include <string> + +#include "base/scoped_ptr.h" +#include "chrome/common/page_transition_types.h" + +class AutocompleteController; +class GURL; +class Profile; + +class SearchVersusNavigateClassifier { + public: + explicit SearchVersusNavigateClassifier(Profile* profile); + virtual ~SearchVersusNavigateClassifier(); + + // Given some string |text| that the user wants to use for navigation, + // determines whether to treat it as a search query or a URL, and returns the + // details of the resulting navigation. + // NOTE: After |desired_tld|, all parameters are potentially-NULL outparams. + // |desired_tld| - User's desired TLD. + // See AutocompleteInput::desired_tld(). + // |is_search| - Set to true if this is to be treated as a + // query rather than URL. + // |destination_url| - The URL to load. It may be empty if there is no + // possible navigation (when |text| is empty). + // |transition| - The transition type. + // |is_history_what_you_typed_match| + // - Set to true when the default match is the + // "what you typed" match from the history. + // |alternate_nav_url| - The navigational URL in case of an accidental + // search; see comments on + // AutocompleteResult::alternate_nav_url_ in + // autocomplete.h. + void Classify(const std::wstring& text, + const std::wstring& desired_tld, + bool* is_search, + GURL* destination_url, + PageTransition::Type* transition, + bool* is_history_what_you_typed_match, + GURL* alternate_nav_url); + + private: + scoped_ptr<AutocompleteController> controller_; +}; + +#endif // CHROME_BROWSER_SEARCH_VERSUS_NAVIGATE_CLASSIFIER_H_ diff --git a/chrome/browser/ssl/ssl_browser_tests.cc b/chrome/browser/ssl/ssl_browser_tests.cc index d6ef458..fb3d447 100644 --- a/chrome/browser/ssl/ssl_browser_tests.cc +++ b/chrome/browser/ssl/ssl_browser_tests.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -65,9 +65,6 @@ class SSLUITest : public InProcessBrowserTest { entry->page_type()); EXPECT_EQ(SECURITY_STYLE_AUTHENTICATION_BROKEN, entry->ssl().security_style()); - // CERT_STATUS_UNABLE_TO_CHECK_REVOCATION doesn't lower the security style - // to SECURITY_STYLE_AUTHENTICATION_BROKEN. - ASSERT_NE(net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION, error); EXPECT_EQ(error, entry->ssl().cert_status() & net::CERT_STATUS_ALL_ERRORS); EXPECT_FALSE(entry->ssl().has_mixed_content()); EXPECT_FALSE(entry->ssl().has_unsafe_content()); diff --git a/chrome/browser/ssl/ssl_manager.cc b/chrome/browser/ssl/ssl_manager.cc index 7683221..c1350e4 100644 --- a/chrome/browser/ssl/ssl_manager.cc +++ b/chrome/browser/ssl/ssl_manager.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -271,15 +271,30 @@ bool SSLManager::DeserializeSecurityInfo(const std::string& state, } // static -std::wstring SSLManager::GetEVCertName(const net::X509Certificate& cert) { +bool SSLManager::GetEVCertNames(const net::X509Certificate& cert, + std::wstring* short_name, + std::wstring* ca_name) { + DCHECK(short_name || ca_name); + // EV are required to have an organization name and country. if (cert.subject().organization_names.empty() || cert.subject().country_name.empty()) { NOTREACHED(); - return std::wstring(); + return false; } - return l10n_util::GetStringF(IDS_SECURE_CONNECTION_EV, - UTF8ToWide(cert.subject().organization_names[0]), - UTF8ToWide(cert.subject().country_name)); + if (short_name) { + *short_name = l10n_util::GetStringF( + IDS_SECURE_CONNECTION_EV, + UTF8ToWide(cert.subject().organization_names[0]), + UTF8ToWide(cert.subject().country_name)); + } + + if (ca_name) { + // TODO(wtc): should we show the root CA's name instead? + *ca_name = l10n_util::GetStringF( + IDS_SECURE_CONNECTION_EV_CA, + UTF8ToWide(cert.issuer().organization_names[0])); + } + return true; } diff --git a/chrome/browser/ssl/ssl_manager.h b/chrome/browser/ssl/ssl_manager.h index f9e1685..b0f18e1 100644 --- a/chrome/browser/ssl/ssl_manager.h +++ b/chrome/browser/ssl/ssl_manager.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -92,8 +92,12 @@ class SSLManager : public NotificationObserver { int* cert_status, int* security_bits); - // Returns "<organization_name> [<country>]". - static std::wstring GetEVCertName(const net::X509Certificate& cert); + // Sets |short_name| to <organization_name> [<country>] and |ca_name| + // to something like: + // "Verified by <issuer_organization_name>" + static bool GetEVCertNames(const net::X509Certificate& cert, + std::wstring* short_name, + std::wstring* ca_name); private: // SSLMessageInfo contains the information necessary for displaying a message diff --git a/chrome/browser/ssl/ssl_policy.cc b/chrome/browser/ssl/ssl_policy.cc index 7f3ad87..9b4a6e9 100644 --- a/chrome/browser/ssl/ssl_policy.cc +++ b/chrome/browser/ssl/ssl_policy.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -67,9 +67,10 @@ void SSLPolicy::OnCertError(SSLCertErrorHandler* handler) { handler->ContinueRequest(); break; case net::ERR_CERT_UNABLE_TO_CHECK_REVOCATION: - // We ignore this error but will show a warning status in the location - // bar. + // We ignore this error and display an infobar. handler->ContinueRequest(); + backend_->ShowMessage(l10n_util::GetString( + IDS_CERT_ERROR_UNABLE_TO_CHECK_REVOCATION_INFO_BAR)); break; case net::ERR_CERT_CONTAINS_ERRORS: case net::ERR_CERT_REVOKED: @@ -126,12 +127,8 @@ void SSLPolicy::UpdateEntry(NavigationEntry* entry) { return; } - // If CERT_STATUS_UNABLE_TO_CHECK_REVOCATION is the only certificate error, - // don't lower the security style to SECURITY_STYLE_AUTHENTICATION_BROKEN. - int cert_errors = entry->ssl().cert_status() & net::CERT_STATUS_ALL_ERRORS; - if (cert_errors) { - if (cert_errors != net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION) - entry->ssl().set_security_style(SECURITY_STYLE_AUTHENTICATION_BROKEN); + if (net::IsCertStatusError(entry->ssl().cert_status())) { + entry->ssl().set_security_style(SECURITY_STYLE_AUTHENTICATION_BROKEN); return; } diff --git a/chrome/browser/tab_contents/render_view_context_menu.cc b/chrome/browser/tab_contents/render_view_context_menu.cc index 471d2b8..105e95d 100644 --- a/chrome/browser/tab_contents/render_view_context_menu.cc +++ b/chrome/browser/tab_contents/render_view_context_menu.cc @@ -13,7 +13,6 @@ #include "base/logging.h" #include "base/string_util.h" #include "chrome/app/chrome_dll_resource.h" -#include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/child_process_security_policy.h" #include "chrome/browser/debugger/devtools_manager.h" @@ -28,6 +27,7 @@ #include "chrome/browser/pref_service.h" #include "chrome/browser/profile.h" #include "chrome/browser/renderer_host/render_view_host.h" +#include "chrome/browser/search_versus_navigate_classifier.h" #include "chrome/browser/search_engines/template_url_model.h" #include "chrome/browser/spellcheck_host.h" #include "chrome/browser/spellchecker_platform_engine.h" @@ -445,10 +445,10 @@ void RenderViewContextMenu::AppendSearchProvider() { if (params_.selection_text.empty()) return; - AutocompleteMatch match; - profile_->GetAutocompleteClassifier()->Classify(params_.selection_text, - std::wstring(), &match, NULL); - selection_navigation_url_ = match.destination_url; + bool is_search; + profile_->GetSearchVersusNavigateClassifier()->Classify( + params_.selection_text, std::wstring(), &is_search, + &selection_navigation_url_, NULL, NULL, NULL); if (!selection_navigation_url_.is_valid()) return; @@ -458,14 +458,7 @@ void RenderViewContextMenu::AppendSearchProvider() { i = printable_selection_text.find('&', i + 2)) printable_selection_text.insert(i, 1, '&'); - if (match.transition == PageTransition::TYPED) { - if (ChildProcessSecurityPolicy::GetInstance()->IsWebSafeScheme( - selection_navigation_url_.scheme())) { - AppendMenuItem(IDS_CONTENT_CONTEXT_GOTOURL, - l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_GOTOURL, - printable_selection_text)); - } - } else { + if (is_search) { const TemplateURL* const default_provider = profile_->GetTemplateURLModel()->GetDefaultSearchProvider(); if (!default_provider) @@ -474,6 +467,13 @@ void RenderViewContextMenu::AppendSearchProvider() { l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_SEARCHWEBFOR, WideToUTF16(default_provider->short_name()), printable_selection_text)); + } else { + if (ChildProcessSecurityPolicy::GetInstance()->IsWebSafeScheme( + selection_navigation_url_.scheme())) { + AppendMenuItem(IDS_CONTENT_CONTEXT_GOTOURL, + l10n_util::GetStringFUTF16(IDS_CONTENT_CONTEXT_GOTOURL, + printable_selection_text)); + } } } diff --git a/chrome/browser/theme_resources_util_unittest.cc b/chrome/browser/theme_resources_util_unittest.cc index 6153e75..4bd6bd0 100644 --- a/chrome/browser/theme_resources_util_unittest.cc +++ b/chrome/browser/theme_resources_util_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -20,7 +20,7 @@ TEST(ThemeResourcesUtil, SpotCheckIds) { const TestCase kTestCases[] = { {"back", IDR_BACK}, {"go", IDR_GO}, - {"omnibox_star", IDR_OMNIBOX_STAR}, + {"star", IDR_STAR}, {"sad_tab", IDR_SAD_TAB}, }; for (size_t i = 0; i < arraysize(kTestCases); ++i) { diff --git a/chrome/browser/toolbar_model.cc b/chrome/browser/toolbar_model.cc index c641539..c651e3d 100644 --- a/chrome/browser/toolbar_model.cc +++ b/chrome/browser/toolbar_model.cc @@ -17,7 +17,6 @@ #include "chrome/common/pref_names.h" #include "chrome/common/url_constants.h" #include "grit/generated_resources.h" -#include "grit/theme_resources.h" #include "net/base/cert_status_flags.h" #include "net/base/net_util.h" @@ -39,6 +38,7 @@ std::wstring ToolbarModel::GetText() const { languages = navigation_controller->profile()->GetPrefs()->GetString( prefs::kAcceptLanguages); NavigationEntry* entry = navigation_controller->GetActiveEntry(); + // We may not have a navigation entry yet if (!navigation_controller->tab_contents()->ShouldDisplayURL()) { // Explicitly hide the URL for this tab. url = GURL(); @@ -53,70 +53,144 @@ std::wstring ToolbarModel::GetText() const { url = GURL(url.scheme() + ":"); } } - return net::FormatUrl(url, languages, net::kFormatUrlOmitAll, - UnescapeRule::NORMAL, NULL, NULL, NULL); + return net::FormatUrl(url, languages, true, UnescapeRule::NORMAL, NULL, NULL, + NULL); } ToolbarModel::SecurityLevel ToolbarModel::GetSecurityLevel() const { if (input_in_progress_) // When editing, assume no security style. - return NONE; + return ToolbarModel::NORMAL; NavigationController* navigation_controller = GetNavigationController(); if (!navigation_controller) // We might not have a controller on init. - return NONE; + return ToolbarModel::NORMAL; NavigationEntry* entry = navigation_controller->GetActiveEntry(); if (!entry) - return NONE; + return ToolbarModel::NORMAL; - const NavigationEntry::SSLStatus& ssl = entry->ssl(); - switch (ssl.security_style()) { + switch (entry->ssl().security_style()) { + case SECURITY_STYLE_AUTHENTICATED: + if (entry->ssl().has_mixed_content()) + return ToolbarModel::NORMAL; + return ToolbarModel::SECURE; + case SECURITY_STYLE_AUTHENTICATION_BROKEN: + return ToolbarModel::INSECURE; case SECURITY_STYLE_UNKNOWN: case SECURITY_STYLE_UNAUTHENTICATED: - return NONE; + return ToolbarModel::NORMAL; + default: + NOTREACHED(); + return ToolbarModel::NORMAL; + } +} - case SECURITY_STYLE_AUTHENTICATION_BROKEN: - return SECURITY_ERROR; +ToolbarModel::SecurityLevel ToolbarModel::GetSchemeSecurityLevel() const { + // For now, in sync with the security level. + return GetSecurityLevel(); +} + +ToolbarModel::Icon ToolbarModel::GetIcon() const { + if (input_in_progress_) + return ToolbarModel::NO_ICON; + + NavigationController* navigation_controller = GetNavigationController(); + if (!navigation_controller) // We might not have a controller on init. + return ToolbarModel::NO_ICON; + NavigationEntry* entry = navigation_controller->GetActiveEntry(); + if (!entry) + return ToolbarModel::NO_ICON; + + const NavigationEntry::SSLStatus& ssl = entry->ssl(); + switch (ssl.security_style()) { case SECURITY_STYLE_AUTHENTICATED: if (ssl.has_mixed_content()) - return SECURITY_WARNING; - if (net::IsCertStatusError(ssl.cert_status())) { - DCHECK_EQ(ssl.cert_status() & net::CERT_STATUS_ALL_ERRORS, - net::CERT_STATUS_UNABLE_TO_CHECK_REVOCATION); - return SECURITY_WARNING; - } - if ((ssl.cert_status() & net::CERT_STATUS_IS_EV) && - CertStore::GetSharedInstance()->RetrieveCert(ssl.cert_id(), NULL)) - return EV_SECURE; - return SECURE; - + return ToolbarModel::WARNING_ICON; + return ToolbarModel::LOCK_ICON; + case SECURITY_STYLE_AUTHENTICATION_BROKEN: + return ToolbarModel::WARNING_ICON; + case SECURITY_STYLE_UNKNOWN: + case SECURITY_STYLE_UNAUTHENTICATED: + return ToolbarModel::NO_ICON; default: NOTREACHED(); - return NONE; + return ToolbarModel::NO_ICON; } } -int ToolbarModel::GetIcon() const { - static int icon_ids[NUM_SECURITY_LEVELS] = { - IDR_OMNIBOX_HTTP, - IDR_OMNIBOX_HTTPS_VALID, - IDR_OMNIBOX_HTTPS_VALID, - IDR_OMNIBOX_HTTPS_WARNING, - IDR_OMNIBOX_HTTPS_INVALID, - }; - DCHECK(arraysize(icon_ids) == NUM_SECURITY_LEVELS); - return icon_ids[GetSecurityLevel()]; +void ToolbarModel::GetIconHoverText(std::wstring* text) const { + DCHECK(text); + + NavigationController* navigation_controller = GetNavigationController(); + // We don't expect to be called during initialization, so the controller + // should never be NULL. + DCHECK(navigation_controller); + NavigationEntry* entry = navigation_controller->GetActiveEntry(); + DCHECK(entry); + + + const NavigationEntry::SSLStatus& ssl = entry->ssl(); + switch (ssl.security_style()) { + case SECURITY_STYLE_AUTHENTICATED: { + if (ssl.has_mixed_content()) { + SSLErrorInfo error_info = SSLErrorInfo::CreateError( + SSLErrorInfo::MIXED_CONTENTS, NULL, GURL()); + text->assign(error_info.short_description()); + } else { + DCHECK(entry->url().has_host()); + text->assign(l10n_util::GetStringF(IDS_SECURE_CONNECTION, + UTF8ToWide(entry->url().host()))); + } + break; + } + case SECURITY_STYLE_AUTHENTICATION_BROKEN: { + CreateErrorText(entry, text); + if (text->empty()) { + // If the authentication is broken, we should always have at least one + // error. + NOTREACHED(); + return; + } + break; + } + default: + // Don't show the info bubble in any other cases. + text->clear(); + break; + } } -std::wstring ToolbarModel::GetEVCertName() const { - DCHECK_EQ(GetSecurityLevel(), EV_SECURE); +ToolbarModel::InfoTextType ToolbarModel::GetInfoText( + std::wstring* text, + std::wstring* tooltip) const { + DCHECK(text && tooltip); + text->clear(); + tooltip->clear(); + + if (input_in_progress_) + return INFO_NO_INFO; + + NavigationController* navigation_controller = GetNavigationController(); + if (!navigation_controller) // We might not have a controller on init. + return INFO_NO_INFO; + + NavigationEntry* entry = navigation_controller->GetActiveEntry(); + const NavigationEntry::SSLStatus& ssl = entry->ssl(); + if (!entry || ssl.has_mixed_content() || + net::IsCertStatusError(ssl.cert_status()) || + ((ssl.cert_status() & net::CERT_STATUS_IS_EV) == 0)) + return INFO_NO_INFO; + scoped_refptr<net::X509Certificate> cert; - // Note: Navigation controller and active entry are guaranteed non-NULL or - // the security level would be NONE. - CertStore::GetSharedInstance()->RetrieveCert( - GetNavigationController()->GetActiveEntry()->ssl().cert_id(), &cert); - return SSLManager::GetEVCertName(*cert); + CertStore::GetSharedInstance()->RetrieveCert(ssl.cert_id(), &cert); + if (!cert.get()) { + NOTREACHED(); + return INFO_NO_INFO; + } + + SSLManager::GetEVCertNames(*cert, text, tooltip); + return INFO_EV_TEXT; } NavigationController* ToolbarModel::GetNavigationController() const { @@ -126,3 +200,37 @@ NavigationController* ToolbarModel::GetNavigationController() const { TabContents* current_tab = browser_->GetSelectedTabContents(); return current_tab ? ¤t_tab->controller() : NULL; } + +void ToolbarModel::CreateErrorText(NavigationEntry* entry, + std::wstring* text) const { + const NavigationEntry::SSLStatus& ssl = entry->ssl(); + std::vector<SSLErrorInfo> errors; + SSLErrorInfo::GetErrorsForCertStatus(ssl.cert_id(), + ssl.cert_status(), + entry->url(), + &errors); + if (ssl.has_mixed_content()) { + errors.push_back(SSLErrorInfo::CreateError(SSLErrorInfo::MIXED_CONTENTS, + NULL, GURL())); + } + if (ssl.has_unsafe_content()) { + errors.push_back(SSLErrorInfo::CreateError(SSLErrorInfo::UNSAFE_CONTENTS, + NULL, GURL())); + } + + int error_count = static_cast<int>(errors.size()); + if (error_count == 0) { + text->assign(L""); + } else if (error_count == 1) { + text->assign(errors[0].short_description()); + } else { + // Multiple errors. + text->assign(l10n_util::GetString(IDS_SEVERAL_SSL_ERRORS)); + text->append(L"\n"); + for (int i = 0; i < error_count; ++i) { + text->append(errors[i].short_description()); + if (i != error_count - 1) + text->append(L"\n"); + } + } +} diff --git a/chrome/browser/toolbar_model.h b/chrome/browser/toolbar_model.h index a4959e6fd..1d959c5 100644 --- a/chrome/browser/toolbar_model.h +++ b/chrome/browser/toolbar_model.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -18,36 +18,54 @@ class NavigationEntry; // from the navigation controller returned by GetNavigationController(). class ToolbarModel { public: - // TODO(wtc): unify ToolbarModel::SecurityLevel with SecurityStyle. We - // don't need two sets of security UI levels. SECURITY_STYLE_AUTHENTICATED - // needs to be refined into three levels: warning, standard, and EV. enum SecurityLevel { - NONE = 0, // HTTP/no URL/user is editing - EV_SECURE, // HTTPS with valid EV cert - SECURE, // HTTPS (non-EV) - SECURITY_WARNING, // HTTPS, but unable to check certificate revocation - // status or with mixed content on the page - SECURITY_ERROR, // Attempted HTTPS and failed, page not authenticated - NUM_SECURITY_LEVELS, + SECURE = 0, + NORMAL, + INSECURE + }; + + enum Icon { + NO_ICON = 0, + LOCK_ICON, + WARNING_ICON + }; + + enum InfoTextType { + INFO_NO_INFO = 0, + INFO_EV_TEXT, }; explicit ToolbarModel(Browser* browser); ~ToolbarModel(); // Returns the text that should be displayed in the location bar. + // Default value: empty string. std::wstring GetText() const; // Returns the security level that the toolbar should display. + // Default value: NORMAL. SecurityLevel GetSecurityLevel() const; - // Returns the resource_id of the icon to show to the left of the address, - // based on the current URL. This doesn't cover specialized icons while the - // user is editing; see AutocompleteEditView::GetIcon(). - int GetIcon() const; + // Returns the security level that should be used in the scheme part of the + // displayed URL. If SECURE, then the scheme is painted in green. If + // INSECURE, it is painted in red and stricken-out. + // Default value: NORMAL. + SecurityLevel GetSchemeSecurityLevel() const; - // Returns the name of the EV cert holder. Only call this when the security - // level is EV_SECURE. - std::wstring GetEVCertName() const; + // Returns the icon that should be displayed on the right of the location bar. + // Default value: NO_ICON. + Icon GetIcon() const; + + // Sets the text displayed in the info bubble that appears when the user + // hovers the mouse over the icon. + // Default value: empty string. + void GetIconHoverText(std::wstring* text) const; + + // Sets |text| to contain the text that should be displayed on the right of + // the location bar, and |tooltip| to the tooltip text that should be shown + // when the mouse hover over that info label. + // Default value: NO_INFO and empty string for |text| and |tooltip|. + InfoTextType GetInfoText(std::wstring* text, std::wstring* tooltip) const; // Getter/setter of whether the text in location bar is currently being // edited. @@ -60,6 +78,10 @@ class ToolbarModel { // If this returns NULL, default values are used. NavigationController* GetNavigationController() const; + // Builds a short error message from the SSL status code found in |entry|. + // The message is set in |text|. + void CreateErrorText(NavigationEntry* entry, std::wstring* text) const; + Browser* browser_; // Whether the text in the location bar is currently being edited. diff --git a/chrome/browser/views/accelerator_table_gtk.cc b/chrome/browser/views/accelerator_table_gtk.cc index 9e1f6c9..c8b54f7 100644 --- a/chrome/browser/views/accelerator_table_gtk.cc +++ b/chrome/browser/views/accelerator_table_gtk.cc @@ -115,6 +115,7 @@ const AcceleratorMapping kAcceleratorMap[] = { // Miscellany. { base::VKEY_D, false, true, false, IDC_BOOKMARK_PAGE }, { base::VKEY_D, true, true, false, IDC_BOOKMARK_ALL_TABS }, + { base::VKEY_B, false, true, false, IDC_SHOW_BOOKMARK_BAR }, { base::VKEY_DELETE, true, true, false, IDC_CLEAR_BROWSING_DATA }, { base::VKEY_H, false, true, false, IDC_SHOW_HISTORY }, { base::VKEY_J, false, true, false, IDC_SHOW_DOWNLOADS }, @@ -128,7 +129,7 @@ const AcceleratorMapping kAcceleratorMap[] = { { base::VKEY_F11, false, true, true, IDC_FULLSCREEN }, { base::VKEY_DELETE, false, true, true, IDC_TASK_MANAGER }, { base::VKEY_OEM_COMMA, false, true, false, IDC_SYSTEM_OPTIONS }, - { base::VKEY_B, true, true, false, IDC_SHOW_BOOKMARK_BAR }, + { base::VKEY_B, true, true, false, IDC_SHOW_BOOKMARK_MANAGER }, #if !defined(OS_CHROMEOS) { base::VKEY_F1, false, false, false, IDC_HELP_PAGE }, #endif diff --git a/chrome/browser/views/app_launcher.cc b/chrome/browser/views/app_launcher.cc index a074f84..d1e87aa 100644 --- a/chrome/browser/views/app_launcher.cc +++ b/chrome/browser/views/app_launcher.cc @@ -16,13 +16,12 @@ #include "chrome/browser/autocomplete/autocomplete_edit_view.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_window.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/profile.h" #include "chrome/browser/tab_contents/tab_contents.h" -#include "chrome/browser/view_ids.h" #include "chrome/browser/views/dom_view.h" #include "chrome/browser/views/info_bubble.h" #include "chrome/browser/views/frame/browser_view.h" -#include "chrome/browser/views/toolbar_view.h" #include "chrome/common/url_constants.h" #include "views/widget/root_view.h" #include "views/widget/widget.h" @@ -46,11 +45,10 @@ const int kNavigationEntryYMargin = 1; // Padding between the navigation bar and the render view contents. const int kNavigationBarBottomPadding = 3; -// NavigationBar constants. -const int kNavigationBarHeight = 23; -const int kNavigationBarBorderThickness = 1; +// NavigationBar size. +const int kNavigationBarHeight = 25; -// The delta applied to the default font size for the Omnibox. +// The delta applied to the default font size for the omnibox. const int kAutocompleteEditFontDelta = 3; // Command line switch for specifying url of the page. @@ -74,7 +72,8 @@ static GURL GetMenuURL() { // mode. class NavigationBar : public views::View, - public AutocompleteEditController { + public AutocompleteEditController, + public BubblePositioner { public: explicit NavigationBar(AppLauncher* app_launcher) : app_launcher_(app_launcher), @@ -82,12 +81,7 @@ class NavigationBar : public views::View, SetFocusable(true); location_entry_view_ = new views::NativeViewHost; AddChildView(location_entry_view_); - set_border(views::Border::CreateSolidBorder(kNavigationBarBorderThickness, - SK_ColorGRAY)); - - AddChildView(&popup_positioning_view_); - popup_positioning_view_.SetVisible(false); - popup_positioning_view_.set_parent_owned(false); + set_border(views::Border::CreateSolidBorder(1, SK_ColorGRAY)); } virtual ~NavigationBar() { @@ -117,8 +111,7 @@ class NavigationBar : public views::View, new AutocompleteEditViewWin(font, this, browser->toolbar_model(), this, GetWidget()->GetNativeView(), browser->profile(), - browser->command_updater(), false, - &popup_positioning_view_); + browser->command_updater(), false, this); location_entry_.reset(autocomplete_view); autocomplete_view->Update(NULL); // The Update call above sets the autocomplete text to the current one in @@ -128,11 +121,10 @@ class NavigationBar : public views::View, AutocompleteEditViewGtk* autocomplete_view = new AutocompleteEditViewGtk(this, browser->toolbar_model(), browser->profile(), - browser->command_updater(), false, - &popup_positioning_view_); + browser->command_updater(), false, this); autocomplete_view->Init(); - gtk_widget_show_all(autocomplete_view->GetNativeView()); - gtk_widget_hide(autocomplete_view->GetNativeView()); + gtk_widget_show_all(autocomplete_view->widget()); + gtk_widget_hide(autocomplete_view->widget()); location_entry_.reset(autocomplete_view); #else NOTIMPLEMENTED(); @@ -149,10 +141,21 @@ class NavigationBar : public views::View, bounds.width() - 2 * (kNavigationEntryPadding + kNavigationEntryXMargin), bounds.height() - kNavigationEntryYMargin * 2); + } - gfx::Rect popup_positioning_bounds(bounds); - popup_positioning_bounds.Inset(0, -(kNavigationBarBorderThickness + 1)); - popup_positioning_view_.SetBounds(popup_positioning_bounds); + // BubblePositioner implementation. + virtual gfx::Rect GetLocationStackBounds() const { + gfx::Rect bounds = location_entry_view_->GetBounds( + views::View::APPLY_MIRRORING_TRANSFORMATION); + gfx::Point origin(bounds.x(), bounds.bottom() + kNavigationEntryPadding); + views::View::ConvertPointToScreen(this, &origin); + gfx::Rect rect = gfx::Rect(origin, gfx::Size(500, 0)); + if (UILayoutIsRightToLeft()) { + // Align the window to the right side of the entry view when + // UI is RTL mode. + rect.set_x(rect.x() - (rect.width() - location_entry_view_->width())); + } + return rect; } // AutocompleteController implementation. @@ -192,11 +195,6 @@ class NavigationBar : public views::View, NOTIMPLEMENTED(); #endif - // This invisible view is provided to the popup in place of |this|, so the - // popup can size itself against it using the same offsets it does with the - // LocationBarView. - views::View popup_positioning_view_; - DISALLOW_COPY_AND_ASSIGN(NavigationBar); }; @@ -239,7 +237,6 @@ InfoBubbleContentsView::InfoBubbleContentsView(AppLauncher* app_launcher) : app_launcher_(app_launcher), navigation_bar_(NULL), dom_view_(NULL) { - DCHECK(app_launcher); } InfoBubbleContentsView::~InfoBubbleContentsView() { @@ -302,7 +299,6 @@ void InfoBubbleContentsView::Layout() { AppLauncher::AppLauncher(Browser* browser) : browser_(browser), info_bubble_(NULL) { - DCHECK(browser); info_bubble_content_ = new InfoBubbleContentsView(this); } @@ -310,15 +306,12 @@ AppLauncher::~AppLauncher() { } // static -AppLauncher* AppLauncher::Show(Browser* browser, - const gfx::Rect& bounds, - const gfx::Point& bubble_anchor) { +AppLauncher* AppLauncher::Show(Browser* browser, const gfx::Rect& bounds) { AppLauncher* app_launcher = new AppLauncher(browser); BrowserView* browser_view = static_cast<BrowserView*>(browser->window()); app_launcher->info_bubble_ = - PinnedContentsInfoBubble::Show(browser_view->frame()->GetWindow(), - bounds, bubble_anchor, app_launcher->info_bubble_content_, - app_launcher); + InfoBubble::Show(browser_view->frame()->GetWindow(), bounds, + app_launcher->info_bubble_content_, app_launcher); app_launcher->info_bubble_content_->BubbleShown(); return app_launcher; } @@ -333,17 +326,7 @@ AppLauncher* AppLauncher::ShowForNewTab(Browser* browser) { gfx::Point origin = bounds.origin(); views::RootView::ConvertPointToScreen(tabstrip, &origin); bounds.set_origin(origin); - - // Figure out where the location bar is, so we can pin the bubble to - // make our url bar appear exactly over it. - views::RootView* root_view = views::Widget::GetWidgetFromNativeWindow( - browser_view->GetNativeHandle())->GetRootView(); - views::View* location_bar = root_view->GetViewByID(VIEW_ID_LOCATION_BAR); - gfx::Point location_bar_origin = location_bar->bounds().origin(); - views::RootView::ConvertPointToScreen(location_bar->GetParent(), - &location_bar_origin); - - return Show(browser, bounds, location_bar_origin); + return Show(browser, bounds); } void AppLauncher::Hide() { @@ -369,6 +352,7 @@ void AppLauncher::InfoBubbleClosing(InfoBubble* info_bubble, new DeleteTask<AppLauncher>(this)); } + void AppLauncher::AddTabWithURL(const GURL& url, PageTransition::Type transition) { #if defined(OS_CHROMEOS) diff --git a/chrome/browser/views/app_launcher.h b/chrome/browser/views/app_launcher.h index fa5cc03..229f265 100644 --- a/chrome/browser/views/app_launcher.h +++ b/chrome/browser/views/app_launcher.h @@ -7,7 +7,7 @@ #include "base/scoped_ptr.h" #include "chrome/browser/tab_contents/tab_contents_delegate.h" -#include "chrome/browser/views/pinned_contents_info_bubble.h" +#include "chrome/browser/views/info_bubble.h" #include "views/view.h" class Browser; @@ -49,17 +49,13 @@ class TabContentsDelegateImpl; // When a new url is opened, or the user clicks outsides the bounds of the // widget the app launcher is closed. class AppLauncher : public InfoBubbleDelegate, - public TabContentsDelegate { + public TabContentsDelegate { public: // Shows an application launcher bubble pointing to the |bounds| (which should - // be in screen coordinates). |bubble_anchor| specifies at which coordinates - // the bubble contents should appear (in screen coordinates). The bubble will - // be moved accordingly. + // be in screen coordinates). // The caller DOES NOT OWN the AppLauncher returned. It is deleted // automatically when the AppLauncher is closed. - static AppLauncher* Show(Browser* browser, - const gfx::Rect& bounds, - const gfx::Point& bubble_anchor); + static AppLauncher* Show(Browser* browser, const gfx::Rect& bounds); // Shows an application launcher bubble pointing to the new tab button. // The caller DOES NOT OWN the AppLauncher returned. It is deleted @@ -111,8 +107,8 @@ class AppLauncher : public InfoBubbleDelegate, // The currently active browser. We use this to open urls. Browser* browser_; - // The InfoBubble displaying the Omnibox and app contents. - PinnedContentsInfoBubble* info_bubble_; + // The InfoBubble displaying the omnibox and app contents. + InfoBubble* info_bubble_; // The view with the navigation bar and render view, shown in the info-bubble. InfoBubbleContentsView* info_bubble_content_; diff --git a/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.cc b/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.cc index de0464e..d5eb1f3 100644 --- a/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.cc +++ b/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.cc @@ -12,6 +12,7 @@ #include "base/i18n/rtl.h" #include "chrome/browser/autocomplete/autocomplete_edit_view.h" #include "chrome/browser/autocomplete/autocomplete_popup_model.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/views/bubble_border.h" #include "gfx/canvas.h" #include "gfx/color_utils.h" @@ -90,8 +91,13 @@ const int kIconVerticalPadding = 2; // bottom of the row. See comment about the use of "minimum" for // kIconVerticalPadding. const int kTextVerticalPadding = 3; -// The padding between horizontally adjacent items (including row edges). -const int kHorizontalPadding = 3; +// The padding at the left edge of the row, left of the icon. +const int kRowLeftPadding = 6; +// The padding on the right edge of the row, right of the text. +const int kRowRightPadding = 3; +// The horizontal distance between the right edge of the icon and the left edge +// of the text. +const int kIconTextSpacing = 9; // The size delta between the font used for the edit and the result rows. Passed // to gfx::Font::DeriveFont. #if !defined(OS_CHROMEOS) @@ -164,15 +170,40 @@ class AutocompleteResultView : public views::View { gfx::Rect icon_bounds_; gfx::Rect text_bounds_; + // Icons for rows. + static SkBitmap* icon_url_; + static SkBitmap* icon_url_selected_; + static SkBitmap* icon_history_; + static SkBitmap* icon_history_selected_; + static SkBitmap* icon_search_; + static SkBitmap* icon_search_selected_; + static SkBitmap* icon_more_; + static SkBitmap* icon_more_selected_; + static SkBitmap* icon_star_; + static SkBitmap* icon_star_selected_; static int icon_size_; AutocompleteMatch match_; + static bool initialized_; + static void InitClass(); + DISALLOW_COPY_AND_ASSIGN(AutocompleteResultView); }; // static +SkBitmap* AutocompleteResultView::icon_url_ = NULL; +SkBitmap* AutocompleteResultView::icon_url_selected_ = NULL; +SkBitmap* AutocompleteResultView::icon_history_ = NULL; +SkBitmap* AutocompleteResultView::icon_history_selected_ = NULL; +SkBitmap* AutocompleteResultView::icon_search_ = NULL; +SkBitmap* AutocompleteResultView::icon_search_selected_ = NULL; +SkBitmap* AutocompleteResultView::icon_star_ = NULL; +SkBitmap* AutocompleteResultView::icon_star_selected_ = NULL; +SkBitmap* AutocompleteResultView::icon_more_ = NULL; +SkBitmap* AutocompleteResultView::icon_more_selected_ = NULL; int AutocompleteResultView::icon_size_ = 0; +bool AutocompleteResultView::initialized_ = false; // This class is a utility class which mirrors an x position, calculates the // index of the i-th run of a text, and calculates the index of the i-th @@ -291,11 +322,7 @@ AutocompleteResultView::AutocompleteResultView( mirroring_context_(new MirroringContext()), match_(NULL, 0, false, AutocompleteMatch::URL_WHAT_YOU_TYPED) { CHECK(model_index >= 0); - if (icon_size_ == 0) { - icon_size_ = ResourceBundle::GetSharedInstance().GetBitmapNamed( - AutocompleteMatch::TypeToIcon(AutocompleteMatch::URL_WHAT_YOU_TYPED))-> - width(); - } + InitClass(); } AutocompleteResultView::~AutocompleteResultView() { @@ -317,8 +344,7 @@ void AutocompleteResultView::Paint(gfx::Canvas* canvas) { // position of an input text. bool text_mirroring = View::UILayoutIsRightToLeft(); int text_left = MirroredLeftPointForRect(text_bounds_); - int text_right = - text_mirroring ? (x - kHorizontalPadding) : text_bounds_.right(); + int text_right = text_mirroring ? x - kIconTextSpacing : text_bounds_.right(); x = mirroring_context_->Initialize(text_left, text_right, text_mirroring); x = DrawString(canvas, match_.contents, match_.contents_class, false, x, text_bounds_.y()); @@ -339,11 +365,13 @@ void AutocompleteResultView::Paint(gfx::Canvas* canvas) { } void AutocompleteResultView::Layout() { - icon_bounds_.SetRect(kHorizontalPadding, (height() - icon_size_) / 2, + icon_bounds_.SetRect(kRowLeftPadding, (height() - icon_size_) / 2, icon_size_, icon_size_); - int text_x = icon_bounds_.right() + kHorizontalPadding; - text_bounds_.SetRect(text_x, std::max(0, (height() - font_.height()) / 2), - std::max(0, bounds().right() - text_x - kHorizontalPadding), + int text_x = icon_bounds_.right() + kIconTextSpacing; + text_bounds_.SetRect( + text_x, + std::max(0, (height() - font_.height()) / 2), + std::max(0, bounds().right() - text_x - kRowRightPadding), font_.height()); } @@ -361,19 +389,29 @@ ResultViewState AutocompleteResultView::GetState() const { } SkBitmap* AutocompleteResultView::GetIcon() const { - int icon = match_.starred ? - IDR_OMNIBOX_STAR : AutocompleteMatch::TypeToIcon(match_.type); - if (model_->IsSelectedIndex(model_index_)) { - switch (icon) { - case IDR_OMNIBOX_HTTP: icon = IDR_OMNIBOX_HTTP_SELECTED; break; - case IDR_OMNIBOX_HISTORY: icon = IDR_OMNIBOX_HISTORY_SELECTED; break; - case IDR_OMNIBOX_SEARCH: icon = IDR_OMNIBOX_SEARCH_SELECTED; break; - case IDR_OMNIBOX_MORE: icon = IDR_OMNIBOX_MORE_SELECTED; break; - case IDR_OMNIBOX_STAR: icon = IDR_OMNIBOX_STAR_SELECTED; break; - default: NOTREACHED(); break; - } + bool selected = model_->IsSelectedIndex(model_index_); + if (match_.starred) + return selected ? icon_star_selected_ : icon_star_; + switch (match_.type) { + case AutocompleteMatch::URL_WHAT_YOU_TYPED: + case AutocompleteMatch::HISTORY_URL: + case AutocompleteMatch::NAVSUGGEST: + return selected ? icon_url_selected_ : icon_url_; + case AutocompleteMatch::HISTORY_TITLE: + case AutocompleteMatch::HISTORY_BODY: + case AutocompleteMatch::HISTORY_KEYWORD: + return selected ? icon_history_selected_ : icon_history_; + case AutocompleteMatch::SEARCH_WHAT_YOU_TYPED: + case AutocompleteMatch::SEARCH_HISTORY: + case AutocompleteMatch::SEARCH_SUGGEST: + case AutocompleteMatch::SEARCH_OTHER_ENGINE: + return selected ? icon_search_selected_ : icon_search_; + case AutocompleteMatch::OPEN_HISTORY_PAGE: + return selected ? icon_more_selected_ : icon_more_; + default: + NOTREACHED(); + return NULL; } - return ResourceBundle::GetSharedInstance().GetBitmapNamed(icon); } int AutocompleteResultView::DrawString( @@ -470,7 +508,7 @@ int AutocompleteResultView::DrawStringFragment( // Clamp text width to the available width within the popup so we elide if // necessary. int string_width = std::min(display_font.GetStringWidth(text), - width() - kHorizontalPadding - x); + width() - kRowRightPadding - x); int string_left = mirroring_context_->GetLeft(x, x + string_width); const int flags = force_rtl_directionality ? gfx::Canvas::FORCE_RTL_DIRECTIONALITY : 0; @@ -493,6 +531,25 @@ SkColor AutocompleteResultView::GetFragmentTextColor(int style) const { (style & ACMatchClassification::DIM) ? DIMMED_TEXT : TEXT); } +void AutocompleteResultView::InitClass() { + if (!initialized_) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + icon_url_ = rb.GetBitmapNamed(IDR_O2_GLOBE); + icon_url_selected_ = rb.GetBitmapNamed(IDR_O2_GLOBE_SELECTED); + icon_history_ = rb.GetBitmapNamed(IDR_O2_HISTORY); + icon_history_selected_ = rb.GetBitmapNamed(IDR_O2_HISTORY_SELECTED); + icon_search_ = rb.GetBitmapNamed(IDR_O2_SEARCH); + icon_search_selected_ = rb.GetBitmapNamed(IDR_O2_SEARCH_SELECTED); + icon_star_ = rb.GetBitmapNamed(IDR_O2_STAR); + icon_star_selected_ = rb.GetBitmapNamed(IDR_O2_STAR_SELECTED); + icon_more_ = rb.GetBitmapNamed(IDR_O2_MORE); + icon_more_selected_ = rb.GetBitmapNamed(IDR_O2_MORE_SELECTED); + // All icons are assumed to be square, and the same size. + icon_size_ = icon_url_->width(); + initialized_ = true; + } +} + //////////////////////////////////////////////////////////////////////////////// // AutocompletePopupContentsView, public: @@ -501,10 +558,10 @@ AutocompletePopupContentsView::AutocompletePopupContentsView( AutocompleteEditView* edit_view, AutocompleteEditModel* edit_model, Profile* profile, - const views::View* location_bar) + const BubblePositioner* bubble_positioner) : model_(new AutocompletePopupModel(this, edit_model, profile)), edit_view_(edit_view), - location_bar_(location_bar), + bubble_positioner_(bubble_positioner), result_font_(font.DeriveFont(kEditFontAdjust)), ignore_mouse_drag_(false), ALLOW_THIS_IN_INITIALIZER_LIST(size_animation_(this)) { @@ -580,13 +637,10 @@ void AutocompletePopupContentsView::UpdatePopupAppearance() { } // Calculate desired bounds. - gfx::Rect location_bar_bounds(location_bar_->bounds()); - gfx::Point location; - views::View::ConvertPointToScreen(location_bar_, &location); - location_bar_bounds.set_origin(location); - location_bar_bounds.set_height(location_bar_bounds.height() - 1); - gfx::Rect new_target_bounds(bubble_border_->GetBounds(location_bar_bounds, - gfx::Size(location_bar_bounds.width(), total_child_height))); + gfx::Rect location_stack_bounds = + bubble_positioner_->GetLocationStackBounds(); + gfx::Rect new_target_bounds(bubble_border_->GetBounds(location_stack_bounds, + gfx::Size(location_stack_bounds.width(), total_child_height))); // If we're animating and our target height changes, reset the animation. // NOTE: If we just reset blindly on _every_ update, then when the user types @@ -793,19 +847,7 @@ void AutocompletePopupContentsView::MakeContentsPath( SkIntToScalar(bounding_rect.bottom())); SkScalar radius = SkIntToScalar(BubbleBorder::GetCornerRadius()); - SkScalar scaled_radius = - SkScalarMul(radius, (SK_ScalarSqrt2 - SK_Scalar1) * 4 / 3); - path->moveTo(rect.fRight, rect.fTop); - path->lineTo(rect.fRight, rect.fBottom - radius); - path->cubicTo(rect.fRight, rect.fBottom - radius + scaled_radius, - rect.fRight - radius + scaled_radius, rect.fBottom, - rect.fRight - radius, rect.fBottom); - path->lineTo(rect.fLeft + radius, rect.fBottom); - path->cubicTo(rect.fLeft + radius - scaled_radius, rect.fBottom, - rect.fLeft, rect.fBottom - radius + scaled_radius, - rect.fLeft, rect.fBottom - radius); - path->lineTo(rect.fLeft, rect.fTop); - path->close(); + path->addRoundRect(rect, radius, radius); } void AutocompletePopupContentsView::UpdateBlurRegion() { @@ -878,3 +920,14 @@ size_t AutocompletePopupContentsView::GetIndexForPoint( } return AutocompletePopupModel::kNoMatch; } + +// static +AutocompletePopupView* AutocompletePopupView::CreatePopupView( + const gfx::Font& font, + AutocompleteEditView* edit_view, + AutocompleteEditModel* edit_model, + Profile* profile, + const BubblePositioner* bubble_positioner) { + return new AutocompletePopupContentsView(font, edit_view, edit_model, + profile, bubble_positioner); +} diff --git a/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h b/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h index d814206..30a9bf1 100644 --- a/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h +++ b/chrome/browser/views/autocomplete/autocomplete_popup_contents_view.h @@ -45,7 +45,7 @@ class AutocompletePopupContentsView : public views::View, AutocompleteEditView* edit_view, AutocompleteEditModel* edit_model, Profile* profile, - const views::View* location_bar); + const BubblePositioner* bubble_positioner); virtual ~AutocompletePopupContentsView(); // Returns the bounds the popup should be shown at. This is the display bounds @@ -125,8 +125,8 @@ class AutocompletePopupContentsView : public views::View, // The edit view that invokes us. AutocompleteEditView* edit_view_; - // An object that the popup positions itself against. - const views::View* location_bar_; + // An object that tells the popup how to position itself. + const BubblePositioner* bubble_positioner_; // Our border, which can compute our desired bounds. const BubbleBorder* bubble_border_; diff --git a/chrome/browser/views/bookmark_editor_view.cc b/chrome/browser/views/bookmark_editor_view.cc index bd61ab3..34f8e91 100644 --- a/chrome/browser/views/bookmark_editor_view.cc +++ b/chrome/browser/views/bookmark_editor_view.cc @@ -282,9 +282,10 @@ void BookmarkEditorView::Init() { std::wstring languages = profile_ ? profile_->GetPrefs()->GetString(prefs::kAcceptLanguages) : std::wstring(); - // The following URL is user-editable, so we don't strip anything from it. + // The following URL is user-editable. We specify omit_username_password= + // false and unescape=false to show the original URL except IDN. url_text = net::FormatUrl(details_.existing_node->GetURL(), languages, - net::kFormatUrlOmitNothing, UnescapeRule::NONE, NULL, NULL, NULL); + false, UnescapeRule::NONE, NULL, NULL, NULL); } url_tf_.SetText(url_text); url_tf_.SetController(this); diff --git a/chrome/browser/views/browser_views_accessibility_browsertest.cc b/chrome/browser/views/browser_views_accessibility_browsertest.cc index 6a5bcf1..ac20277 100644 --- a/chrome/browser/views/browser_views_accessibility_browsertest.cc +++ b/chrome/browser/views/browser_views_accessibility_browsertest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -218,8 +218,7 @@ IN_PROC_BROWSER_TEST_F(BrowserViewsAccessibilityTest, TestHomeButtonAccObj) { } // Retrieve accessibility object for Star button and verify accessibility info. -IN_PROC_BROWSER_TEST_F(BrowserViewsAccessibilityTest, - TestStarButtonAccObj) { +IN_PROC_BROWSER_TEST_F(BrowserViewsAccessibilityTest, TestStarButtonAccObj) { // Verify Star button MSAA name and role. TestViewAccessibilityObject( GetToolbarView()->GetViewByID(VIEW_ID_STAR_BUTTON), diff --git a/chrome/browser/views/bubble_border.cc b/chrome/browser/views/bubble_border.cc index 3548286..230a0f4 100644 --- a/chrome/browser/views/bubble_border.cc +++ b/chrome/browser/views/bubble_border.cc @@ -1,6 +1,6 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. #include "chrome/browser/views/bubble_border.h" @@ -31,6 +31,10 @@ static const int kArrowInteriorHeight = 7; gfx::Rect BubbleBorder::GetBounds(const gfx::Rect& position_relative_to, const gfx::Size& contents_size) const { + // The spacing (in pixels) between |position_relative_to| and the bubble + // content. + const int kBubbleSpacing = 2; + // Desired size is size of contents enlarged by the size of the border images. gfx::Size border_size(contents_size); gfx::Insets insets; @@ -39,40 +43,33 @@ gfx::Rect BubbleBorder::GetBounds(const gfx::Rect& position_relative_to, insets.top() + insets.bottom()); // Screen position depends on the arrow location. - // The arrow should overlap the target by some amount since the bottom arrow - // has lots of shadow below it and the top arrow is given an equivalent amount - // of padding. - const int kArrowOverlap = 3; int x = position_relative_to.x() + (position_relative_to.width() / 2); - int arrow_offset = override_arrow_x_offset_ ? override_arrow_x_offset_ : - arrow_x_offset_; if (arrow_is_left()) - x -= arrow_offset; + x -= arrow_x_offset_; else if (arrow_location_ == NONE) x -= ((contents_size.width() / 2) + insets.left()); else - x += (arrow_offset - border_size.width() + 1); + x += (arrow_x_offset_ - border_size.width() + 1); int y = position_relative_to.y(); - if (arrow_is_bottom()) - y += (kArrowOverlap - border_size.height()); - else if (arrow_location_ == NONE) - y += position_relative_to.height(); - else - y += (position_relative_to.height() - kArrowOverlap); + if (arrow_is_top()) { + y += (position_relative_to.height() - + (top_arrow_->height() - kBubbleSpacing)); + } else if (arrow_location_ == NONE) { + y += (position_relative_to.height() - (top_->height() - kBubbleSpacing)); + } else { + y += ((bottom_arrow_->height() - kBubbleSpacing) - border_size.height()); + } return gfx::Rect(x, y, border_size.width(), border_size.height()); } void BubbleBorder::GetInsets(gfx::Insets* insets) const { - int top, bottom; - if (arrow_is_bottom()) { - top = top_->height(); - bottom = std::max(bottom_->height(), bottom_arrow_->height()); - } else { - top = (arrow_location_ == NONE) ? - 0 : std::max(top_->height(), top_arrow_->height()); - bottom = bottom_->height(); - } + int top = top_->height(); + int bottom = bottom_->height(); + if (arrow_is_top()) + top = std::max(top, top_arrow_->height()); + else if (arrow_location_ != NONE) + bottom = std::max(bottom, bottom_arrow_->height()); insets->Set(top, left_->width(), bottom, right_->width()); } @@ -105,7 +102,7 @@ void BubbleBorder::InitClass() { } void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { - // Convenience shorthand variables. + // Convenience shorthand variables int width = view.width(); int tl_width = top_left_->width(); int tl_height = top_left_->height(); @@ -135,33 +132,25 @@ void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { * border_bottom∙∙∙∙└────┴─┤ â–¼ ├──────┤ â–¼ ├─┴────┘ * view.height()∙∙∙∙∙∙∙∙∙∙∙└───┘ └───┘ * - * If |arrow_location_| == NONE, the entire top edge is ommitted, and - * |tl_bottom| == |tr_bottom| == 0. Otherwise, one of the four arrows will be - * drawn. + * (At most one of the arrows will be drawn) */ gfx::Insets insets; GetInsets(&insets); int top = insets.top(); + int border_top = top - t_height; + int tl_bottom = border_top + tl_height; + int tr_bottom = border_top + tr_height; int bottom = view.height() - insets.bottom(); int border_bottom = bottom + b_height; int bl_y = border_bottom - bl_height; int br_y = border_bottom - br_height; - int border_top, tl_bottom, tr_bottom; - if (arrow_location_ == NONE) { - border_top = tl_bottom = tr_bottom = 0; - } else { - border_top = top - t_height; - tl_bottom = border_top + tl_height; - tr_bottom = border_top + tr_height; - - // Top left corner - canvas->DrawBitmapInt(*top_left_, 0, border_top); + // Top left corner + canvas->DrawBitmapInt(*top_left_, 0, border_top); - // Top right corner - canvas->DrawBitmapInt(*top_right_, width - tr_width, border_top); - } + // Top right corner + canvas->DrawBitmapInt(*top_right_, width - tr_width, border_top); // Right edge canvas->TileImageInt(*right_, width - r_width, tr_bottom, r_width, @@ -178,7 +167,7 @@ void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { canvas->TileImageInt(*left_, 0, tl_bottom, left_->width(), bl_y - tl_bottom); // Arrow edge, if necessary - bool should_draw_top_edge = false; + bool should_draw_top_edge = true; bool should_draw_bottom_edge = true; if (arrow_location_ != NONE) { /* Here's what the variables below mean (without loss of generality): @@ -205,17 +194,8 @@ void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { SkBitmap* arrow; int left_of_edge, right_of_edge, edge_y, arrow_y; SkScalar border_y, tip_y; - if (arrow_is_bottom()) { - should_draw_top_edge = true; - should_draw_bottom_edge = false; - edge = bottom_; - arrow = bottom_arrow_; - left_of_edge = bl_width; - right_of_edge = br_width; - edge_y = arrow_y = bottom; - border_y = SkIntToScalar(bottom); - tip_y = SkIntToScalar(bottom + kArrowInteriorHeight); - } else { + if (arrow_is_top()) { + should_draw_top_edge = false; edge = top_; arrow = top_arrow_; left_of_edge = tl_width; @@ -224,12 +204,19 @@ void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { arrow_y = top - top_arrow_->height(); border_y = SkIntToScalar(top); tip_y = SkIntToScalar(top - kArrowInteriorHeight); + } else { + should_draw_bottom_edge = false; + edge = bottom_; + arrow = bottom_arrow_; + left_of_edge = bl_width; + right_of_edge = br_width; + edge_y = arrow_y = bottom; + border_y = SkIntToScalar(bottom); + tip_y = SkIntToScalar(bottom + kArrowInteriorHeight); } - int arrow_offset = override_arrow_x_offset_ ? override_arrow_x_offset_ : - arrow_x_offset_; - int arrow_width = arrow->width(); + int arrow_width = (arrow_is_top() ? top_arrow_ : bottom_arrow_)->width(); int arrow_center = arrow_is_left() ? - arrow_offset : width - arrow_offset - 1; + arrow_x_offset_ : width - arrow_x_offset_ - 1; int arrow_x = arrow_center - (arrow_width / 2); SkScalar arrow_interior_x = SkIntToScalar(arrow_center - kArrowInteriorHeight); @@ -284,8 +271,6 @@ void BubbleBorder::Paint(const views::View& view, gfx::Canvas* canvas) const { void BubbleBackground::Paint(gfx::Canvas* canvas, views::View* view) const { // The border of this view creates an anti-aliased round-rect region for the // contents, which we need to fill with the background color. - // NOTE: This doesn't handle an arrow location of "NONE", which has square top - // corners. SkPaint paint; paint.setAntiAlias(true); paint.setStyle(SkPaint::kFill_Style); diff --git a/chrome/browser/views/bubble_border.h b/chrome/browser/views/bubble_border.h index 3670503..3b48048 100644 --- a/chrome/browser/views/bubble_border.h +++ b/chrome/browser/views/bubble_border.h @@ -1,6 +1,6 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. Use of this +// source code is governed by a BSD-style license that can be found in the +// LICENSE file. #ifndef CHROME_BROWSER_VIEWS_BUBBLE_BORDER_H_ #define CHROME_BROWSER_VIEWS_BUBBLE_BORDER_H_ @@ -11,11 +11,8 @@ class SkBitmap; -// Renders a border, with optional arrow (off by default), and a custom -// dropshadow. This can be used to produce floating "bubble" objects. -// -// If the arrow is on, the bubble has four round corner. If not, it has round -// corners on the bottom and square corners on the top, and lacks a top border. +// Renders a round-rect border, with optional arrow (off by default), and a +// custom dropshadow. This can be used to produce floating "bubble" objects. class BubbleBorder : public views::Border { public: // Possible locations for the (optional) arrow. @@ -27,9 +24,7 @@ class BubbleBorder : public views::Border { BOTTOM_RIGHT }; - BubbleBorder() : override_arrow_x_offset_(0), - arrow_location_(NONE), - background_color_(SK_ColorWHITE) { + BubbleBorder() : arrow_location_(NONE), background_color_(SK_ColorWHITE) { InitClass(); } @@ -47,12 +42,6 @@ class BubbleBorder : public views::Border { arrow_location_ = arrow_location; } - // Sets a fixed x offset for the arrow. The arrow will still point to the - // same location but the bubble will shift horizontally to make that happen. - void set_arrow_offset(int offset) { - override_arrow_x_offset_ = offset; - } - // Sets the background color for the arrow body. This is irrelevant if you do // not also set the arrow location to something other than NONE. void set_background_color(SkColor background_color) { @@ -79,10 +68,9 @@ class BubbleBorder : public views::Border { virtual ~BubbleBorder() { } - // Returns true if there is an arrow and it is positioned on the bottom edge. - bool arrow_is_bottom() const { - return (arrow_location_ == BOTTOM_LEFT) || - (arrow_location_ == BOTTOM_RIGHT); + // Returns true if there is an arrow and it is positioned on the top edge. + bool arrow_is_top() const { + return (arrow_location_ == TOP_LEFT) || (arrow_location_ == TOP_RIGHT); } // Returns true if there is an arrow and it is positioned on the left side. @@ -107,9 +95,6 @@ class BubbleBorder : public views::Border { static int arrow_x_offset_; - // If specified, overrides the pre-calculated |arrow_x_offset_| of the arrow. - int override_arrow_x_offset_; - ArrowLocation arrow_location_; SkColor background_color_; diff --git a/chrome/browser/views/constrained_window_win.cc b/chrome/browser/views/constrained_window_win.cc index c70ec75..488f1a4 100644 --- a/chrome/browser/views/constrained_window_win.cc +++ b/chrome/browser/views/constrained_window_win.cc @@ -34,7 +34,6 @@ #include "views/window/client_view.h" #include "views/window/non_client_view.h" #include "views/window/window_resources.h" -#include "views/window/window_shape.h" using base::TimeDelta; @@ -350,7 +349,24 @@ int ConstrainedWindowFrameView::NonClientHitTest(const gfx::Point& point) { void ConstrainedWindowFrameView::GetWindowMask(const gfx::Size& size, gfx::Path* window_mask) { DCHECK(window_mask); - views::GetDefaultWindowMask(size, window_mask); + + // Redefine the window visible region for the new size. + window_mask->moveTo(0, 3); + window_mask->lineTo(1, 2); + window_mask->lineTo(1, 1); + window_mask->lineTo(2, 1); + window_mask->lineTo(3, 0); + + window_mask->lineTo(SkIntToScalar(size.width() - 3), 0); + window_mask->lineTo(SkIntToScalar(size.width() - 2), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 2); + window_mask->lineTo(SkIntToScalar(size.width()), 3); + + window_mask->lineTo(SkIntToScalar(size.width()), + SkIntToScalar(size.height())); + window_mask->lineTo(0, SkIntToScalar(size.height())); + window_mask->close(); } void ConstrainedWindowFrameView::EnableClose(bool enable) { diff --git a/chrome/browser/views/frame/browser_frame_win.cc b/chrome/browser/views/frame/browser_frame_win.cc index 0092fa7..d12963f 100644 --- a/chrome/browser/views/frame/browser_frame_win.cc +++ b/chrome/browser/views/frame/browser_frame_win.cc @@ -28,9 +28,6 @@ // static static const int kClientEdgeThickness = 3; static const int kTabDragWindowAlpha = 200; -// We need to offset the DWMFrame into the toolbar so that the blackness -// doesn't show up on our rounded corners. -static const int kDWMFrameTopOffset = 3; // static (Factory method.) BrowserFrame* BrowserFrame::Create(BrowserView* browser_view, @@ -306,8 +303,7 @@ void BrowserFrameWin::UpdateDWMFrame() { margins.cyTopHeight += GetSystemMetrics(SM_CYSIZEFRAME); } else { margins.cyTopHeight = - GetBoundsForTabStrip(browser_view_->tabstrip()).bottom() + - kDWMFrameTopOffset; + GetBoundsForTabStrip(browser_view_->tabstrip()).bottom(); } } } else { diff --git a/chrome/browser/views/frame/browser_root_view.cc b/chrome/browser/views/frame/browser_root_view.cc index d2985dd..d789b94 100644 --- a/chrome/browser/views/frame/browser_root_view.cc +++ b/chrome/browser/views/frame/browser_root_view.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,10 +7,9 @@ #include "app/drag_drop_types.h" #include "app/l10n_util.h" #include "app/os_exchange_data.h" -#include "chrome/browser/autocomplete/autocomplete.h" -#include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/location_bar.h" #include "chrome/browser/profile.h" +#include "chrome/browser/search_versus_navigate_classifier.h" #include "chrome/browser/views/frame/browser_view.h" #include "chrome/browser/views/frame/browser_frame.h" #include "chrome/browser/views/tabs/tab_strip.h" @@ -142,13 +141,13 @@ bool BrowserRootView::GetPasteAndGoURL(const OSExchangeData& data, GURL* url) { if (!data.GetString(&text) || text.empty()) return false; - AutocompleteMatch match; - browser_view_->browser()->profile()->GetAutocompleteClassifier()->Classify( - text, std::wstring(), &match, NULL); - if (!match.destination_url.is_valid()) + GURL destination_url; + browser_view_->browser()->profile()->GetSearchVersusNavigateClassifier()-> + Classify(text, std::wstring(), NULL, &destination_url, NULL, NULL, NULL); + if (!destination_url.is_valid()) return false; if (url) - *url = match.destination_url; + *url = destination_url; return true; } diff --git a/chrome/browser/views/frame/browser_view.cc b/chrome/browser/views/frame/browser_view.cc index f96964a..cc77bc6 100644 --- a/chrome/browser/views/frame/browser_view.cc +++ b/chrome/browser/views/frame/browser_view.cc @@ -8,13 +8,20 @@ #include <gtk/gtk.h> #endif +#include "app/drag_drop_types.h" #include "app/l10n_util.h" +#include "app/os_exchange_data.h" #include "app/resource_bundle.h" +#include "base/command_line.h" #include "base/i18n/rtl.h" +#include "base/keyboard_codes.h" +#include "base/time.h" +#include "build/build_config.h" #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/app_modal_dialog_queue.h" #include "chrome/browser/automation/ui_controls.h" #include "chrome/browser/bookmarks/bookmark_utils.h" +#include "chrome/browser/browser.h" #include "chrome/browser/browser_list.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_theme_provider.h" @@ -23,30 +30,40 @@ #include "chrome/browser/ntp_background_util.h" #include "chrome/browser/page_info_window.h" #include "chrome/browser/pref_service.h" -#include "chrome/browser/sessions/tab_restore_service.h" -#include "chrome/browser/tab_contents/tab_contents.h" -#include "chrome/browser/tab_contents/tab_contents_view.h" +#include "chrome/browser/profile.h" #include "chrome/browser/view_ids.h" #include "chrome/browser/views/accessible_view_helper.h" #include "chrome/browser/views/bookmark_bar_view.h" +#include "chrome/browser/views/browser_bubble.h" #include "chrome/browser/views/browser_dialogs.h" +#include "chrome/browser/views/chrome_views_delegate.h" #include "chrome/browser/views/download_shelf_view.h" #include "chrome/browser/views/extensions/extension_shelf.h" -#include "chrome/browser/views/frame/browser_extender.h" #include "chrome/browser/views/frame/browser_view_layout.h" +#include "chrome/browser/views/frame/browser_extender.h" +#include "chrome/browser/views/frame/browser_frame.h" #include "chrome/browser/views/fullscreen_exit_bubble.h" +#include "chrome/browser/views/infobars/infobar_container.h" #include "chrome/browser/views/status_bubble_views.h" #include "chrome/browser/views/tab_contents/tab_contents_container.h" #include "chrome/browser/views/tabs/browser_tab_strip_controller.h" #include "chrome/browser/views/tabs/side_tab_strip.h" +#include "chrome/browser/views/tabs/tab_strip.h" #include "chrome/browser/views/theme_install_bubble_view.h" +#include "chrome/browser/views/toolbar_star_toggle.h" #include "chrome/browser/views/toolbar_view.h" +#include "chrome/browser/sessions/tab_restore_service.h" +#include "chrome/browser/tab_contents/navigation_entry.h" +#include "chrome/browser/tab_contents/tab_contents.h" +#include "chrome/browser/tab_contents/tab_contents_view.h" #include "chrome/browser/window_sizer.h" #include "chrome/common/chrome_switches.h" +#include "chrome/common/native_web_keyboard_event.h" #include "chrome/common/native_window_notification_source.h" #include "chrome/common/notification_service.h" #include "chrome/common/pref_names.h" #include "gfx/canvas.h" +#include "gfx/scrollbar_size.h" #include "grit/app_resources.h" #include "grit/chromium_strings.h" #include "grit/generated_resources.h" @@ -54,11 +71,14 @@ #include "grit/theme_resources.h" #include "grit/webkit_resources.h" #include "views/controls/single_split_view.h" +#include "views/fill_layout.h" #include "views/focus/external_focus_tracker.h" #include "views/focus/view_storage.h" #include "views/grid_layout.h" +#include "views/view.h" #include "views/widget/root_view.h" #include "views/window/dialog_delegate.h" +#include "views/window/non_client_view.h" #include "views/window/window.h" #if defined(OS_WIN) @@ -769,7 +789,7 @@ void BrowserView::UpdateLoadingAnimations(bool should_animate) { } void BrowserView::SetStarredState(bool is_starred) { - toolbar_->location_bar()->SetStarToggled(is_starred); + toolbar_->star_button()->SetToggled(is_starred); } gfx::Rect BrowserView::GetRestoredBounds() const { @@ -949,7 +969,7 @@ void BrowserView::ShowBookmarkManager() { } void BrowserView::ShowBookmarkBubble(const GURL& url, bool already_bookmarked) { - toolbar_->location_bar()->ShowStarBubble(url, !already_bookmarked); + toolbar_->star_button()->ShowStarBubble(url, !already_bookmarked); } void BrowserView::SetDownloadShelfVisible(bool visible) { diff --git a/chrome/browser/views/frame/glass_browser_frame_view.cc b/chrome/browser/views/frame/glass_browser_frame_view.cc index 9a665f7..608fea9 100644 --- a/chrome/browser/views/frame/glass_browser_frame_view.cc +++ b/chrome/browser/views/frame/glass_browser_frame_view.cc @@ -40,8 +40,6 @@ const int kOTRBottomSpacing = 2; // There are 2 px on each side of the OTR avatar (between the frame border and // it on the left, and between it and the tabstrip on the right). const int kOTRSideSpacing = 2; -// The content left/right images have a shadow built into them. -const int kContentEdgeShadowThickness = 2; // The top 1 px of the tabstrip is shadow; in maximized mode we push this off // the top of the screen so the tabs appear flush against the screen edge. const int kTabstripTopShadowThickness = 1; @@ -263,46 +261,19 @@ void GlassBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { toolbar_bounds.x() - 1, toolbar_bounds.y() + 2, toolbar_bounds.width() + 2, theme_toolbar->height()); - // Draw rounded corners for the tab. - SkBitmap* toolbar_left_mask = - tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER_MASK); - SkBitmap* toolbar_right_mask = - tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER_MASK); - - // We mask out the corners by using the DestinationIn transfer mode, - // which keeps the RGB pixels from the destination and the alpha from - // the source. - SkPaint paint; - paint.setXfermodeMode(SkXfermode::kDstIn_Mode); - - // Mask out the top left corner. - int left_x = toolbar_bounds.x() - kContentEdgeShadowThickness - - kClientEdgeThickness; - canvas->DrawBitmapInt(*toolbar_left_mask, - left_x, toolbar_bounds.y(), paint); - - // Mask out the top right corner. - int right_x = toolbar_bounds.right() - toolbar_right_mask->width() + - kContentEdgeShadowThickness + kClientEdgeThickness; - canvas->DrawBitmapInt(*toolbar_right_mask, - right_x, toolbar_bounds.y(), - paint); - - // Draw left edge. - SkBitmap* toolbar_left = tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER); - canvas->DrawBitmapInt(*toolbar_left, left_x, toolbar_bounds.y()); - - // Draw center edge. + SkBitmap* toolbar_left = + tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER); + canvas->DrawBitmapInt(*toolbar_left, + toolbar_bounds.x() - toolbar_left->width(), + toolbar_bounds.y()); + SkBitmap* toolbar_center = tp->GetBitmapNamed(IDR_CONTENT_TOP_CENTER); - canvas->TileImageInt(*toolbar_center, left_x + toolbar_left->width(), - toolbar_bounds.y(), - right_x - (left_x + toolbar_left->width()), - toolbar_center->height()); + canvas->TileImageInt(*toolbar_center, toolbar_bounds.x(), toolbar_bounds.y(), + toolbar_bounds.width(), toolbar_center->height()); - // Right edge. canvas->DrawBitmapInt(*tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER), - right_x, toolbar_bounds.y()); + toolbar_bounds.right(), toolbar_bounds.y()); // Draw the content/toolbar separator. canvas->DrawLineInt(ResourceBundle::toolbar_separator_color, diff --git a/chrome/browser/views/frame/opaque_browser_frame_view.cc b/chrome/browser/views/frame/opaque_browser_frame_view.cc index c91cb51..e9276f8 100644 --- a/chrome/browser/views/frame/opaque_browser_frame_view.cc +++ b/chrome/browser/views/frame/opaque_browser_frame_view.cc @@ -26,7 +26,6 @@ #include "views/widget/root_view.h" #include "views/window/window.h" #include "views/window/window_resources.h" -#include "views/window/window_shape.h" #if defined(OS_WIN) #include "app/win_util.h" @@ -59,8 +58,6 @@ const int kResizeAreaCornerSize = 16; // The titlebar never shrinks too short to show the caption button plus some // padding below it. const int kCaptionButtonHeightWithPadding = 19; -// The content left/right images have a shadow built into them. -const int kContentEdgeShadowThickness = 2; // The titlebar has a 2 px 3D edge along the top and bottom. const int kTitlebarTopAndBottomEdgeThickness = 2; // The icon is inset 2 px from the left frame border. @@ -92,9 +89,6 @@ const int kNewTabCaptionRestoredSpacing = 5; // similar vertical coordinates, we need to reserve a larger, 16 px gap to avoid // looking too cluttered. const int kNewTabCaptionMaximizedSpacing = 16; -// How far to indent the tabstrip from the left side of the screen when there -// is no OTR icon. -const int kTabStripIndent = 1; } /////////////////////////////////////////////////////////////////////////////// @@ -194,7 +188,7 @@ gfx::Rect OpaqueBrowserFrameView::GetBoundsForTabStrip( BaseTabStrip* tabstrip) const { int tabstrip_x = browser_view_->ShouldShowOffTheRecordAvatar() ? (otr_avatar_icon_->bounds().right() + kOTRSideSpacing) : - NonClientBorderThickness() + kTabStripIndent; + NonClientBorderThickness(); int tabstrip_width = minimize_button_->x() - tabstrip_x - (frame_->GetWindow()->IsMaximized() ? kNewTabCaptionMaximizedSpacing : kNewTabCaptionRestoredSpacing); @@ -304,7 +298,23 @@ void OpaqueBrowserFrameView::GetWindowMask(const gfx::Size& size, if (frame_->GetWindow()->IsMaximized() || frame_->GetWindow()->IsFullscreen()) return; - views::GetDefaultWindowMask(size, window_mask); + // Redefine the window visible region for the new size. + window_mask->moveTo(0, 3); + window_mask->lineTo(1, 2); + window_mask->lineTo(1, 1); + window_mask->lineTo(2, 1); + window_mask->lineTo(3, 0); + + window_mask->lineTo(SkIntToScalar(size.width() - 3), 0); + window_mask->lineTo(SkIntToScalar(size.width() - 2), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 2); + window_mask->lineTo(SkIntToScalar(size.width()), 3); + + window_mask->lineTo(SkIntToScalar(size.width()), + SkIntToScalar(size.height())); + window_mask->lineTo(0, SkIntToScalar(size.height())); + window_mask->close(); } void OpaqueBrowserFrameView::EnableClose(bool enable) { @@ -707,17 +717,6 @@ void OpaqueBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { int bottom_edge_height = std::min(toolbar_left->height(), toolbar_bounds.height()) - split_point; - // Split our canvas out so we can mask out the corners of the toolbar - // without masking out the frame. - SkRect bounds; - bounds.set(SkIntToScalar(toolbar_bounds.x() - kClientEdgeThickness), - SkIntToScalar(toolbar_bounds.y()), - SkIntToScalar(toolbar_bounds.x() + toolbar_bounds.width() + - kClientEdgeThickness * 2), - SkIntToScalar(toolbar_bounds.y() + toolbar_bounds.height())); - canvas->saveLayerAlpha(&bounds, 255); - canvas->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); - SkColor theme_toolbar_color = tp->GetColor(BrowserThemeProvider::COLOR_TOOLBAR); canvas->FillRectInt(theme_toolbar_color, toolbar_bounds.x(), bottom_y, @@ -733,65 +732,26 @@ void OpaqueBrowserFrameView::PaintToolbarBackground(gfx::Canvas* canvas) { toolbar_bounds.width() + (2 * kClientEdgeThickness), theme_toolbar->height()); - // Draw rounded corners for the tab. - SkBitmap* toolbar_left_mask = - tp->GetBitmapNamed(IDR_CONTENT_TOP_LEFT_CORNER_MASK); - SkBitmap* toolbar_right_mask = - tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER_MASK); - - // We mask out the corners by using the DestinationIn transfer mode, - // which keeps the RGB pixels from the destination and the alpha from - // the source. - SkPaint paint; - paint.setXfermodeMode(SkXfermode::kDstIn_Mode); - - // Make the left edge. - int left_x = toolbar_bounds.x() - kClientEdgeThickness - - kContentEdgeShadowThickness; - canvas->DrawBitmapInt(*toolbar_left_mask, 0, 0, - toolbar_left_mask->width(), split_point, - left_x, toolbar_bounds.y(), - toolbar_left_mask->width(), split_point, false, paint); - canvas->DrawBitmapInt(*toolbar_left_mask, 0, - toolbar_left_mask->height() - bottom_edge_height, - toolbar_left_mask->width(), bottom_edge_height, - left_x, bottom_y, - toolbar_left_mask->width(), bottom_edge_height, false, paint); - - // Mask the right edge. - int right_x = toolbar_bounds.right() - - toolbar_right_mask->width() + kClientEdgeThickness + - kContentEdgeShadowThickness; - canvas->DrawBitmapInt(*toolbar_right_mask, 0, 0, - toolbar_right_mask->width(), split_point, right_x, toolbar_bounds.y(), - toolbar_right_mask->width(), split_point, false, paint); - canvas->DrawBitmapInt(*toolbar_right_mask, 0, - toolbar_right_mask->height() - bottom_edge_height, - toolbar_right_mask->width(), bottom_edge_height, right_x, bottom_y, - toolbar_right_mask->width(), bottom_edge_height, false, paint); - canvas->restore(); - canvas->DrawBitmapInt(*toolbar_left, 0, 0, toolbar_left->width(), split_point, - left_x, toolbar_bounds.y(), + toolbar_bounds.x() - toolbar_left->width(), toolbar_bounds.y(), toolbar_left->width(), split_point, false); canvas->DrawBitmapInt(*toolbar_left, 0, toolbar_left->height() - bottom_edge_height, toolbar_left->width(), - bottom_edge_height, left_x, bottom_y, + bottom_edge_height, toolbar_bounds.x() - toolbar_left->width(), bottom_y, toolbar_left->width(), bottom_edge_height, false); SkBitmap* toolbar_center = tp->GetBitmapNamed(IDR_CONTENT_TOP_CENTER); - canvas->TileImageInt(*toolbar_center, 0, 0, left_x + toolbar_left->width(), - toolbar_bounds.y(), right_x - (left_x + toolbar_left->width()), - split_point); + canvas->TileImageInt(*toolbar_center, 0, 0, toolbar_bounds.x(), + toolbar_bounds.y(), toolbar_bounds.width(), split_point); SkBitmap* toolbar_right = tp->GetBitmapNamed(IDR_CONTENT_TOP_RIGHT_CORNER); canvas->DrawBitmapInt(*toolbar_right, 0, 0, toolbar_right->width(), - split_point, right_x, toolbar_bounds.y(), + split_point, toolbar_bounds.right(), toolbar_bounds.y(), toolbar_right->width(), split_point, false); canvas->DrawBitmapInt(*toolbar_right, 0, toolbar_right->height() - bottom_edge_height, toolbar_right->width(), - bottom_edge_height, right_x, bottom_y, + bottom_edge_height, toolbar_bounds.right(), bottom_y, toolbar_right->width(), bottom_edge_height, false); // Draw the content/toolbar separator. diff --git a/chrome/browser/views/info_bubble.cc b/chrome/browser/views/info_bubble.cc index 8150db9..e5c4858 100644 --- a/chrome/browser/views/info_bubble.cc +++ b/chrome/browser/views/info_bubble.cc @@ -29,17 +29,55 @@ const SkColor InfoBubble::kBackgroundColor = const SkColor InfoBubble::kBackgroundColor = SK_ColorWHITE; #endif +// BorderContents ------------------------------------------------------------- + +// This is used to paint the border of the InfoBubble. Windows uses this via +// BorderWidget (see below), while others can use it directly in the bubble. +class BorderContents : public views::View { + public: + BorderContents() { } + + // Given the size of the contents and the rect to point at, initializes the + // bubble and returns the bounds of both the border + // and the contents inside the bubble. + // |prefer_arrow_on_right| specifies the preferred location for the arrow + // anchor. If the bubble does not fit on the monitor, the arrow location may + // changed so it can. + // + // TODO(pkasting): Maybe this should use mirroring transformations instead, + // which would hopefully simplify this code. + void InitAndGetBounds( + const gfx::Rect& position_relative_to, // In screen coordinates + const gfx::Size& contents_size, + bool prefer_arrow_on_right, + gfx::Rect* contents_bounds, // Returned in window coordinates + gfx::Rect* window_bounds); // Returned in screen coordinates + + private: + virtual ~BorderContents() { } + + // Overridden from View: + virtual void Paint(gfx::Canvas* canvas); + + DISALLOW_COPY_AND_ASSIGN(BorderContents); +}; + void BorderContents::InitAndGetBounds( const gfx::Rect& position_relative_to, const gfx::Size& contents_size, bool prefer_arrow_on_right, gfx::Rect* contents_bounds, gfx::Rect* window_bounds) { + // Margins between the contents and the inside of the border, in pixels. + const int kLeftMargin = 6; + const int kTopMargin = 6; + const int kRightMargin = 6; + const int kBottomMargin = 9; + // Set the border. - if (!bubble_border_) - bubble_border_ = new BubbleBorder; - set_border(bubble_border_); - bubble_border_->set_background_color(InfoBubble::kBackgroundColor); + BubbleBorder* bubble_border = new BubbleBorder; + set_border(bubble_border); + bubble_border->set_background_color(InfoBubble::kBackgroundColor); // Give the contents a margin. gfx::Size local_contents_size(contents_size); @@ -50,9 +88,9 @@ void BorderContents::InitAndGetBounds( // bounds. BubbleBorder::ArrowLocation arrow_location(prefer_arrow_on_right ? BubbleBorder::TOP_RIGHT : BubbleBorder::TOP_LEFT); - bubble_border_->set_arrow_location(arrow_location); + bubble_border->set_arrow_location(arrow_location); *window_bounds = - bubble_border_->GetBounds(position_relative_to, local_contents_size); + bubble_border->GetBounds(position_relative_to, local_contents_size); // See if those bounds will fit on the monitor. scoped_ptr<WindowSizer::MonitorInfoProvider> monitor_provider( @@ -71,10 +109,10 @@ void BorderContents::InitAndGetBounds( arrow_location = arrow_on_left ? BubbleBorder::TOP_LEFT : BubbleBorder::TOP_RIGHT; } - bubble_border_->set_arrow_location(arrow_location); + bubble_border->set_arrow_location(arrow_location); // Now get the recalculated bounds. - *window_bounds = bubble_border_->GetBounds(position_relative_to, + *window_bounds = bubble_border->GetBounds(position_relative_to, local_contents_size); } @@ -82,7 +120,7 @@ void BorderContents::InitAndGetBounds( // subtracting the border dimensions and margin amounts. *contents_bounds = gfx::Rect(gfx::Point(), window_bounds->size()); gfx::Insets insets; - bubble_border_->GetInsets(&insets); + bubble_border->GetInsets(&insets); contents_bounds->Inset(insets.left() + kLeftMargin, insets.top() + kTopMargin, insets.right() + kRightMargin, insets.bottom() + kBottomMargin); } @@ -90,8 +128,6 @@ void BorderContents::InitAndGetBounds( void BorderContents::Paint(gfx::Canvas* canvas) { // The border of this view creates an anti-aliased round-rect region for the // contents, which we need to fill with the background color. - // NOTE: This doesn't handle an arrow location of "NONE", which has square top - // corners. SkPaint paint; paint.setAntiAlias(true); paint.setStyle(SkPaint::kFill_Style); @@ -114,7 +150,7 @@ void BorderContents::Paint(gfx::Canvas* canvas) { #if defined(OS_WIN) // BorderWidget --------------------------------------------------------------- -BorderWidget::BorderWidget() : border_contents_(NULL) { +BorderWidget::BorderWidget() { set_delete_on_destroy(false); // Our owner will free us manually. set_window_style(WS_POPUP); set_window_ex_style(WS_EX_TOOLWINDOW | WS_EX_LAYERED); @@ -127,16 +163,15 @@ gfx::Rect BorderWidget::InitAndGetBounds( bool prefer_arrow_on_right) { // Set up the border view and ask it to calculate our bounds (and our // contents'). - if (!border_contents_) - border_contents_ = new BorderContents; + BorderContents* border_contents = new BorderContents; gfx::Rect contents_bounds, window_bounds; - border_contents_->InitAndGetBounds(position_relative_to, contents_size, - prefer_arrow_on_right, &contents_bounds, - &window_bounds); + border_contents->InitAndGetBounds(position_relative_to, contents_size, + prefer_arrow_on_right, &contents_bounds, + &window_bounds); // Initialize ourselves. WidgetWin::Init(GetAncestor(owner, GA_ROOT), window_bounds); - SetContentsView(border_contents_); + SetContentsView(border_contents); SetWindowPos(owner, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE | SWP_NOACTIVATE | SWP_NOREDRAW); @@ -233,8 +268,7 @@ void InfoBubble::Init(views::Window* parent, (contents->UILayoutIsRightToLeft() == delegate->PreferOriginSideAnchor()); #if defined(OS_WIN) - if (!border_.get()) - border_.reset(new BorderWidget); + border_.reset(new BorderWidget); // Initialize and position the border window. window_bounds = border_->InitAndGetBounds(GetNativeView(), position_relative_to, contents->GetPreferredSize(), diff --git a/chrome/browser/views/info_bubble.h b/chrome/browser/views/info_bubble.h index ea80b0f..90911b5 100644 --- a/chrome/browser/views/info_bubble.h +++ b/chrome/browser/views/info_bubble.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -7,7 +7,6 @@ #include "third_party/skia/include/core/SkColor.h" #include "views/accelerator.h" -#include "views/view.h" #if defined(OS_WIN) #include "views/widget/widget_win.h" #elif defined(OS_LINUX) @@ -24,7 +23,6 @@ // have any additional margins. class BorderWidget; -class BubbleBorder; class InfoBubble; namespace views { @@ -35,46 +33,6 @@ namespace gfx { class Path; } -// This is used to paint the border of the InfoBubble. Windows uses this via -// BorderWidget (see below), while others can use it directly in the bubble. -class BorderContents : public views::View { - public: - BorderContents() : bubble_border_(NULL) { } - - // Given the size of the contents and the rect to point at, initializes the - // bubble and returns the bounds of both the border - // and the contents inside the bubble. - // |prefer_arrow_on_right| specifies the preferred location for the arrow - // anchor. If the bubble does not fit on the monitor, the arrow location may - // changed so it can. - // - // TODO(pkasting): Maybe this should use mirroring transformations instead, - // which would hopefully simplify this code. - virtual void InitAndGetBounds( - const gfx::Rect& position_relative_to, // In screen coordinates - const gfx::Size& contents_size, - bool prefer_arrow_on_right, - gfx::Rect* contents_bounds, // Returned in window coordinates - gfx::Rect* window_bounds); // Returned in screen coordinates - - protected: - virtual ~BorderContents() { } - - // Margins between the contents and the inside of the border, in pixels. - static const int kLeftMargin = 6; - static const int kTopMargin = 6; - static const int kRightMargin = 6; - static const int kBottomMargin = 9; - - BubbleBorder* bubble_border_; - - private: - // Overridden from View: - virtual void Paint(gfx::Canvas* canvas); - - DISALLOW_COPY_AND_ASSIGN(BorderContents); -}; - #if defined(OS_WIN) // This is a window that surrounds the info bubble and paints the margin and // border. It is a separate window so that it can be a layered window, so that @@ -89,15 +47,12 @@ class BorderWidget : public views::WidgetWin { // Given the owning (parent) window, the size of the contained contents // (without margins), and the rect (in screen coordinates) to point to, // initializes the window and returns the bounds (in screen coordinates) the - // contents should use. |is_rtl| is supplied to + // contents should use. |is_rtl| is supplied to // BorderContents::InitAndGetBounds(), see its declaration for details. - virtual gfx::Rect InitAndGetBounds(HWND owner, - const gfx::Rect& position_relative_to, - const gfx::Size& contents_size, - bool is_rtl); - - protected: - BorderContents* border_contents_; + gfx::Rect InitAndGetBounds(HWND owner, + const gfx::Rect& position_relative_to, + const gfx::Size& contents_size, + bool is_rtl); private: // Overridden from WidgetWin: @@ -127,7 +82,7 @@ class InfoBubbleDelegate { virtual bool PreferOriginSideAnchor() { return true; } }; -// TODO(sky): this code is ifdef-tastic. It might be cleaner to refactor the +// TODO: this code is ifdef-tastic. It might be cleaner to refactor the // WidgetFoo subclass into a separate class that calls into InfoBubble. // That way InfoBubble has no (or very few) ifdefs. class InfoBubble @@ -165,10 +120,10 @@ class InfoBubble virtual ~InfoBubble() {} // Creates the InfoBubble. - virtual void Init(views::Window* parent, - const gfx::Rect& position_relative_to, - views::View* contents, - InfoBubbleDelegate* delegate); + void Init(views::Window* parent, + const gfx::Rect& position_relative_to, + views::View* contents, + InfoBubbleDelegate* delegate); #if defined(OS_WIN) // Overridden from WidgetWin: @@ -178,11 +133,6 @@ class InfoBubble virtual void IsActiveChanged(); #endif -#if defined(OS_WIN) - // The window used to render the padding, border and arrow. - scoped_ptr<BorderWidget> border_; -#endif - private: // Closes the window notifying the delegate. |closed_by_escape| is true if // the close is the result of pressing escape. @@ -197,6 +147,11 @@ class InfoBubble // The window that this InfoBubble is parented to. views::Window* parent_; +#if defined(OS_WIN) + // The window used to render the padding, border and arrow. + scoped_ptr<BorderWidget> border_; +#endif + // Have we been closed? bool closed_; diff --git a/chrome/browser/views/location_bar_view.cc b/chrome/browser/views/location_bar_view.cc index a4e6da7..b9e36d5 100644 --- a/chrome/browser/views/location_bar_view.cc +++ b/chrome/browser/views/location_bar_view.cc @@ -8,7 +8,6 @@ #include <gtk/gtk.h> #endif -#include "app/drag_drop_types.h" #include "app/l10n_util.h" #include "app/resource_bundle.h" #include "app/theme_provider.h" @@ -17,6 +16,8 @@ #include "chrome/app/chrome_dll_resource.h" #include "chrome/browser/alternate_nav_url_fetcher.h" #include "chrome/browser/browser_list.h" +#include "chrome/browser/browser_window.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/command_updater.h" #include "chrome/browser/content_setting_bubble_model.h" #include "chrome/browser/content_setting_image_model.h" @@ -25,15 +26,17 @@ #include "chrome/browser/profile.h" #include "chrome/browser/search_engines/template_url_model.h" #include "chrome/browser/view_ids.h" -#include "chrome/browser/views/browser_dialogs.h" -#include "chrome/browser/views/content_blocked_bubble_contents.h" +#include "chrome/browser/views/extensions/extension_popup.h" #include "chrome/browser/views/frame/browser_view.h" +#include "chrome/browser/views/content_blocked_bubble_contents.h" +#include "chrome/common/content_settings.h" #include "chrome/common/platform_util.h" +#include "chrome/common/pref_names.h" #include "gfx/canvas.h" #include "gfx/color_utils.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" -#include "views/drag_utils.h" +#include "net/base/net_util.h" #if defined(OS_WIN) #include "chrome/browser/views/first_run_bubble.h" @@ -44,31 +47,20 @@ using views::View; // static const int LocationBarView::kVertMargin = 2; -// Padding between items in the location bar. -static const int kViewPadding = 3; - -// Padding before the start of a bubble. -static const int kBubblePadding = kViewPadding - 1; - -// Padding between the location icon and the edit, if they're adjacent. -static const int kLocationIconEditPadding = kViewPadding - 1; +// Padding on the right and left of the entry field. +static const int kEntryPadding = 3; -static const int kEVBubbleBackgroundImages[] = { - IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_L, - IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_C, - IDR_OMNIBOX_EV_BUBBLE_BACKGROUND_R, -}; - -static const int kSelectedKeywordBackgroundImages[] = { - IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_L, - IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_C, - IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_R, -}; +// Padding between the entry and the leading/trailing views. +static const int kInnerPadding = 3; static const SkBitmap* kBackground = NULL; static const SkBitmap* kPopupBackground = NULL; +// The delay the mouse has to be hovering over the lock/warning icon before the +// info bubble is shown. +static const int kInfoBubbleHoverDelayMs = 500; + // The tab key image. static const SkBitmap* kTabButtonBitmap = NULL; @@ -140,23 +132,21 @@ LocationBarView::LocationBarView(Profile* profile, CommandUpdater* command_updater, ToolbarModel* model, Delegate* delegate, - bool popup_window_mode) + bool popup_window_mode, + const BubblePositioner* bubble_positioner) : profile_(profile), command_updater_(command_updater), model_(model), delegate_(delegate), disposition_(CURRENT_TAB), - ALLOW_THIS_IN_INITIALIZER_LIST(location_icon_view_(this)), - ALLOW_THIS_IN_INITIALIZER_LIST(ev_bubble_view_( - kEVBubbleBackgroundImages, IDR_OMNIBOX_HTTPS_VALID, - GetColor(ToolbarModel::EV_SECURE, SECURITY_TEXT), this)), location_entry_view_(NULL), - selected_keyword_view_(kSelectedKeywordBackgroundImages, - IDR_OMNIBOX_SEARCH, SK_ColorBLACK, profile), + selected_keyword_view_(profile), keyword_hint_view_(profile), - star_view_(command_updater), + type_to_search_view_(l10n_util::GetString(IDS_OMNIBOX_EMPTY_TEXT)), + security_image_view_(this, profile, model, bubble_positioner), popup_window_mode_(popup_window_mode), - ALLOW_THIS_IN_INITIALIZER_LIST(first_run_bubble_(this)) { + first_run_bubble_(this), + bubble_positioner_(bubble_positioner) { DCHECK(profile_); SetID(VIEW_ID_LOCATION_BAR); SetFocusable(true); @@ -180,45 +170,52 @@ void LocationBarView::Init() { font_ = font_.DeriveFont(3); } - AddChildView(&location_icon_view_); - location_icon_view_.SetVisible(true); - location_icon_view_.SetDragController(this); - location_icon_view_.set_parent_owned(false); - - AddChildView(&ev_bubble_view_); - ev_bubble_view_.SetVisible(false); - ev_bubble_view_.SetDragController(this); - ev_bubble_view_.set_parent_owned(false); - // URL edit field. // View container for URL edit field. #if defined(OS_WIN) + views::Widget* widget = GetWidget(); location_entry_.reset(new AutocompleteEditViewWin(font_, this, model_, this, - GetWidget()->GetNativeView(), profile_, command_updater_, - popup_window_mode_, this)); + widget->GetNativeView(), + profile_, command_updater_, + popup_window_mode_, + bubble_positioner_)); #else location_entry_.reset(new AutocompleteEditViewGtk(this, model_, profile_, - command_updater_, popup_window_mode_, this)); + command_updater_, + popup_window_mode_, + bubble_positioner_)); location_entry_->Init(); // Make all the children of the widget visible. NOTE: this won't display // anything, it just toggles the visible flag. - gtk_widget_show_all(location_entry_->GetNativeView()); + gtk_widget_show_all(location_entry_->widget()); // Hide the widget. NativeViewHostGtk will make it visible again as // necessary. - gtk_widget_hide(location_entry_->GetNativeView()); + gtk_widget_hide(location_entry_->widget()); #endif location_entry_view_ = new views::NativeViewHost; location_entry_view_->SetID(VIEW_ID_AUTOCOMPLETE); AddChildView(location_entry_view_); location_entry_view_->set_focus_view(this); - location_entry_view_->Attach(location_entry_->GetNativeView()); + location_entry_view_->Attach( +#if defined(OS_WIN) + location_entry_->m_hWnd +#else + location_entry_->widget() +#endif + ); // NOLINT AddChildView(&selected_keyword_view_); selected_keyword_view_.SetFont(font_); selected_keyword_view_.SetVisible(false); selected_keyword_view_.set_parent_owned(false); - SkColor dimmed_text = GetColor(ToolbarModel::NONE, DEEMPHASIZED_TEXT); + SkColor dimmed_text = GetColor(false, DEEMPHASIZED_TEXT); + + AddChildView(&type_to_search_view_); + type_to_search_view_.SetVisible(false); + type_to_search_view_.SetFont(font_); + type_to_search_view_.SetColor(dimmed_text); + type_to_search_view_.set_parent_owned(false); AddChildView(&keyword_hint_view_); keyword_hint_view_.SetVisible(false); @@ -226,19 +223,22 @@ void LocationBarView::Init() { keyword_hint_view_.SetColor(dimmed_text); keyword_hint_view_.set_parent_owned(false); + AddChildView(&security_image_view_); + security_image_view_.SetVisible(false); + security_image_view_.set_parent_owned(false); + for (int i = 0; i < CONTENT_SETTINGS_NUM_TYPES; ++i) { - ContentSettingImageView* content_blocked_view = new ContentSettingImageView( - static_cast<ContentSettingsType>(i), this, profile_); + ContentSettingImageView* content_blocked_view = + new ContentSettingImageView(static_cast<ContentSettingsType>(i), this, + profile_, bubble_positioner_); content_setting_views_.push_back(content_blocked_view); AddChildView(content_blocked_view); content_blocked_view->SetVisible(false); } - if (!popup_window_mode_) { - AddChildView(&star_view_); - star_view_.SetVisible(true); - star_view_.set_parent_owned(false); - } + AddChildView(&info_label_); + info_label_.SetVisible(false); + info_label_.set_parent_owned(false); // Notify us when any ancestor is resized. In this case we want to tell the // AutocompleteEditView to close its popup. @@ -256,59 +256,63 @@ bool LocationBarView::IsInitialized() const { } // static -SkColor LocationBarView::GetColor(ToolbarModel::SecurityLevel security_level, - ColorKind kind) { - switch (kind) { +SkColor LocationBarView::GetColor(bool is_secure, ColorKind kind) { + enum SecurityState { + NOT_SECURE = 0, + SECURE, + NUM_STATES + }; + + static bool initialized = false; + static SkColor colors[NUM_STATES][NUM_KINDS]; + if (!initialized) { #if defined(OS_WIN) - case BACKGROUND: return color_utils::GetSysSkColor(COLOR_WINDOW); - case TEXT: return color_utils::GetSysSkColor(COLOR_WINDOWTEXT); - case SELECTED_TEXT: return color_utils::GetSysSkColor(COLOR_HIGHLIGHTTEXT); + colors[NOT_SECURE][BACKGROUND] = color_utils::GetSysSkColor(COLOR_WINDOW); + colors[NOT_SECURE][TEXT] = color_utils::GetSysSkColor(COLOR_WINDOWTEXT); + colors[NOT_SECURE][SELECTED_TEXT] = + color_utils::GetSysSkColor(COLOR_HIGHLIGHTTEXT); #else // TODO(beng): source from theme provider. - case BACKGROUND: return SK_ColorWHITE; - case TEXT: return SK_ColorBLACK; - case SELECTED_TEXT: return SK_ColorWHITE; + colors[NOT_SECURE][BACKGROUND] = SK_ColorWHITE; + colors[NOT_SECURE][TEXT] = SK_ColorBLACK; + colors[NOT_SECURE][SELECTED_TEXT] = SK_ColorWHITE; #endif - - case DEEMPHASIZED_TEXT: - return color_utils::AlphaBlend(GetColor(security_level, TEXT), - GetColor(security_level, BACKGROUND), 128); - - case SECURITY_TEXT: { - SkColor color; - switch (security_level) { - case ToolbarModel::EV_SECURE: - case ToolbarModel::SECURE: - color = SkColorSetRGB(7, 149, 0); - break; - - case ToolbarModel::SECURITY_WARNING: - return GetColor(security_level, DEEMPHASIZED_TEXT); - break; - - case ToolbarModel::SECURITY_ERROR: - color = SkColorSetRGB(162, 0, 0); - break; - - default: - NOTREACHED(); - return GetColor(security_level, TEXT); - } - return color_utils::GetReadableColor(color, GetColor(security_level, - BACKGROUND)); - } - - default: - NOTREACHED(); - return GetColor(security_level, TEXT); + colors[SECURE][BACKGROUND] = SkColorSetRGB(255, 245, 195); + colors[SECURE][TEXT] = SK_ColorBLACK; + colors[SECURE][SELECTED_TEXT] = 0; // Unused + colors[NOT_SECURE][DEEMPHASIZED_TEXT] = + color_utils::AlphaBlend(colors[NOT_SECURE][TEXT], + colors[NOT_SECURE][BACKGROUND], 128); + colors[SECURE][DEEMPHASIZED_TEXT] = + color_utils::AlphaBlend(colors[SECURE][TEXT], + colors[SECURE][BACKGROUND], 128); + colors[NOT_SECURE][SECURITY_TEXT] = color_utils::GetReadableColor( + SkColorSetRGB(200, 0, 0), colors[NOT_SECURE][BACKGROUND]); + colors[SECURE][SECURITY_TEXT] = SkColorSetRGB(0, 150, 20); + colors[NOT_SECURE][SECURITY_INFO_BUBBLE_TEXT] = + colors[NOT_SECURE][SECURITY_TEXT]; + colors[SECURE][SECURITY_INFO_BUBBLE_TEXT] = color_utils::GetReadableColor( + SkColorSetRGB(0, 153, 51), colors[NOT_SECURE][BACKGROUND]); + colors[NOT_SECURE][SCHEME_STRIKEOUT] = color_utils::GetReadableColor( + SkColorSetRGB(210, 0, 0), colors[NOT_SECURE][BACKGROUND]); + colors[SECURE][SCHEME_STRIKEOUT] = 0; // Unused + initialized = true; } + + return colors[is_secure ? SECURE : NOT_SECURE][kind]; } void LocationBarView::Update(const TabContents* tab_for_state_restoring) { + SetSecurityIcon(model_->GetIcon()); RefreshContentSettingViews(); RefreshPageActionViews(); + std::wstring info_text, info_tooltip; + ToolbarModel::InfoTextType info_text_type = + model_->GetInfoText(&info_text, &info_tooltip); + SetInfoText(info_text, info_text_type, info_tooltip); location_entry_->Update(tab_for_state_restoring); - OnChanged(); + Layout(); + SchedulePaint(); } void LocationBarView::UpdateContentSettingsIcons() { @@ -358,6 +362,7 @@ void LocationBarView::SetProfile(Profile* profile) { for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); i != content_setting_views_.end(); ++i) (*i)->set_profile(profile); + security_image_view_.set_profile(profile); } } @@ -365,11 +370,8 @@ TabContents* LocationBarView::GetTabContents() const { return delegate_->GetTabContents(); } -void LocationBarView::SetPreviewEnabledPageAction(ExtensionAction* page_action, +void LocationBarView::SetPreviewEnabledPageAction(ExtensionAction *page_action, bool preview_enabled) { - if (popup_window_mode_) - return; - DCHECK(page_action); TabContents* contents = delegate_->GetTabContents(); @@ -398,156 +400,13 @@ views::View* LocationBarView::GetPageActionView( return NULL; } -void LocationBarView::SetStarToggled(bool on) { - star_view_.SetToggled(on); -} - -void LocationBarView::ShowStarBubble(const GURL& url, bool newly_bookmarked) { - gfx::Rect screen_bounds(star_view_.GetImageBounds()); - // Compensate for some built-in padding in the Star image. - screen_bounds.Inset(1, 1, 1, 2); - gfx::Point origin(screen_bounds.origin()); - views::View::ConvertPointToScreen(&star_view_, &origin); - screen_bounds.set_origin(origin); - browser::ShowBookmarkBubbleView(GetWindow(), screen_bounds, &star_view_, - profile_, url, newly_bookmarked); -} - gfx::Size LocationBarView::GetPreferredSize() { return gfx::Size(0, (popup_window_mode_ ? kPopupBackground : kBackground)->height()); } void LocationBarView::Layout() { - if (!location_entry_.get()) - return; - - int entry_width = width() - kViewPadding; - - // |location_icon_view_| is visible except when |ev_bubble_view_| or - // |selected_keyword_view_| are visible. - int location_icon_width = 0; - int ev_bubble_width = 0; - location_icon_view_.SetVisible(false); - ev_bubble_view_.SetVisible(false); - const std::wstring keyword(location_entry_->model()->keyword()); - const bool is_keyword_hint(location_entry_->model()->is_keyword_hint()); - const bool show_selected_keyword = !keyword.empty() && !is_keyword_hint; - if (show_selected_keyword) { - entry_width -= kViewPadding; // Assume the keyword might be hidden. - } else if (model_->GetSecurityLevel() == ToolbarModel::EV_SECURE) { - ev_bubble_view_.SetVisible(true); - ev_bubble_view_.SetLabel(model_->GetEVCertName()); - ev_bubble_width = ev_bubble_view_.GetPreferredSize().width(); - entry_width -= kBubblePadding + ev_bubble_width + kViewPadding; - } else { - location_icon_view_.SetVisible(true); - location_icon_width = location_icon_view_.GetPreferredSize().width(); - entry_width -= - kViewPadding + location_icon_width + kLocationIconEditPadding; - } - - entry_width -= star_view_.GetPreferredSize().width() + kViewPadding; - for (PageActionViews::const_iterator i(page_action_views_.begin()); - i != page_action_views_.end(); ++i) { - if ((*i)->IsVisible()) - entry_width -= (*i)->GetPreferredSize().width() + kViewPadding; - } - for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); - i != content_setting_views_.end(); ++i) { - if ((*i)->IsVisible()) - entry_width -= (*i)->GetPreferredSize().width() + kViewPadding; - } - -#if defined(OS_WIN) - RECT formatting_rect; - location_entry_->GetRect(&formatting_rect); - RECT edit_bounds; - location_entry_->GetClientRect(&edit_bounds); - int max_edit_width = entry_width - formatting_rect.left - - (edit_bounds.right - formatting_rect.right); -#else - int max_edit_width = entry_width; -#endif - - if (max_edit_width < 0) - return; - const int available_width = AvailableWidth(max_edit_width); - - const bool show_keyword_hint = !keyword.empty() && is_keyword_hint; - selected_keyword_view_.SetVisible(show_selected_keyword); - keyword_hint_view_.SetVisible(show_keyword_hint); - if (show_selected_keyword) { - if (selected_keyword_view_.keyword() != keyword) - selected_keyword_view_.SetKeyword(keyword); - } else if (show_keyword_hint) { - if (keyword_hint_view_.keyword() != keyword) - keyword_hint_view_.SetKeyword(keyword); - } - - // TODO(sky): baseline layout. - int location_y = TopMargin(); - int location_height = std::max(height() - location_y - kVertMargin, 0); - - // Lay out items to the right of the edit field. - int offset = width() - kViewPadding; - int star_width = star_view_.GetPreferredSize().width(); - offset -= star_width; - star_view_.SetBounds(offset, location_y, star_width, location_height); - offset -= kViewPadding; - - for (PageActionViews::const_iterator i(page_action_views_.begin()); - i != page_action_views_.end(); ++i) { - if ((*i)->IsVisible()) { - int page_action_width = (*i)->GetPreferredSize().width(); - offset -= page_action_width; - (*i)->SetBounds(offset, location_y, page_action_width, location_height); - offset -= kViewPadding; - } - } - // We use a reverse_iterator here because we're laying out the views from - // right to left but in the vector they're ordered left to right. - for (ContentSettingViews::const_reverse_iterator - i(content_setting_views_.rbegin()); i != content_setting_views_.rend(); - ++i) { - if ((*i)->IsVisible()) { - int content_blocked_width = (*i)->GetPreferredSize().width(); - offset -= content_blocked_width; - (*i)->SetBounds(offset, location_y, content_blocked_width, - location_height); - offset -= kViewPadding; - } - } - - // Now lay out items to the left of the edit field. - if (location_icon_view_.IsVisible()) { - location_icon_view_.SetBounds(kViewPadding, location_y, location_icon_width, - location_height); - offset = location_icon_view_.bounds().right() + kLocationIconEditPadding; - } else if (ev_bubble_view_.IsVisible()) { - ev_bubble_view_.SetBounds(kBubblePadding, location_y, ev_bubble_width, - location_height); - offset = ev_bubble_view_.bounds().right() + kViewPadding; - } else { - offset = show_selected_keyword ? kBubblePadding : kViewPadding; - } - - // Now lay out the edit field and views that autocollapse to give it more - // room. - gfx::Rect location_bounds(offset, location_y, entry_width, location_height); - if (show_selected_keyword) { - LayoutView(true, &selected_keyword_view_, available_width, - &location_bounds); - if (!selected_keyword_view_.IsVisible()) { - location_bounds.set_x( - location_bounds.x() + kViewPadding - kBubblePadding); - } - } else if (show_keyword_hint) { - LayoutView(false, &keyword_hint_view_, available_width, - &location_bounds); - } - - location_entry_view_->SetBounds(location_bounds); + DoLayout(true); } void LocationBarView::Paint(gfx::Canvas* canvas) { @@ -560,9 +419,10 @@ void LocationBarView::Paint(gfx::Canvas* canvas) { canvas->TileImageInt(*background, 0, 0, 0, 0, width(), height()); int top_margin = TopMargin(); - canvas->FillRectInt(GetColor(ToolbarModel::NONE, BACKGROUND), 0, - top_margin, width(), - std::max(height() - top_margin - kVertMargin, 0)); + canvas->FillRectInt( + GetColor(model_->GetSchemeSecurityLevel() == ToolbarModel::SECURE, + BACKGROUND), + 0, top_margin, width(), std::max(height() - top_margin - kVertMargin, 0)); } void LocationBarView::VisibleBoundsInRootChanged() { @@ -649,11 +509,7 @@ void LocationBarView::OnAutocompleteAccept( } void LocationBarView::OnChanged() { - location_icon_view_.SetImage( - ResourceBundle::GetSharedInstance().GetBitmapNamed( - location_entry_->GetIcon())); - Layout(); - SchedulePaint(); + DoLayout(false); } void LocationBarView::OnInputInProgress(bool in_progress) { @@ -684,6 +540,117 @@ std::wstring LocationBarView::GetTitle() const { return UTF16ToWideHack(delegate_->GetTabContents()->GetTitle()); } +void LocationBarView::DoLayout(const bool force_layout) { + if (!location_entry_.get()) + return; + + int entry_width = width() - (kEntryPadding * 2); + + for (PageActionViews::const_iterator i(page_action_views_.begin()); + i != page_action_views_.end(); ++i) { + if ((*i)->IsVisible()) + entry_width -= (*i)->GetPreferredSize().width() + kInnerPadding; + } + for (ContentSettingViews::const_iterator i(content_setting_views_.begin()); + i != content_setting_views_.end(); ++i) { + if ((*i)->IsVisible()) + entry_width -= (*i)->GetPreferredSize().width() + kInnerPadding; + } + gfx::Size security_image_size; + if (security_image_view_.IsVisible()) { + security_image_size = security_image_view_.GetPreferredSize(); + entry_width -= security_image_size.width() + kInnerPadding; + } + gfx::Size info_label_size; + if (info_label_.IsVisible()) { + info_label_size = info_label_.GetPreferredSize(); + entry_width -= (info_label_size.width() + kInnerPadding); + } + +#if defined(OS_WIN) + RECT formatting_rect; + location_entry_->GetRect(&formatting_rect); + RECT edit_bounds; + location_entry_->GetClientRect(&edit_bounds); + int max_edit_width = entry_width - formatting_rect.left - + (edit_bounds.right - formatting_rect.right); +#else + int max_edit_width = entry_width; +#endif + + if (max_edit_width < 0) + return; + const int available_width = AvailableWidth(max_edit_width); + bool needs_layout = force_layout; + needs_layout |= AdjustHints(available_width); + + if (!needs_layout) + return; + + // TODO(sky): baseline layout. + int location_y = TopMargin(); + int location_height = std::max(height() - location_y - kVertMargin, 0); + + // First set the bounds for the label that appears to the right of the + // security icon. + int offset = width() - kEntryPadding; + if (info_label_.IsVisible()) { + offset -= info_label_size.width(); + info_label_.SetBounds(offset, location_y, + info_label_size.width(), location_height); + offset -= kInnerPadding; + } + if (security_image_view_.IsVisible()) { + offset -= security_image_size.width(); + security_image_view_.SetBounds(offset, location_y, + security_image_size.width(), + location_height); + offset -= kInnerPadding; + } + + for (PageActionViews::const_iterator i(page_action_views_.begin()); + i != page_action_views_.end(); ++i) { + if ((*i)->IsVisible()) { + int page_action_width = (*i)->GetPreferredSize().width(); + offset -= page_action_width; + (*i)->SetBounds(offset, location_y, page_action_width, location_height); + offset -= kInnerPadding; + } + } + // We use a reverse_iterator here because we're laying out the views from + // right to left but in the vector they're ordered left to right. + for (ContentSettingViews::const_reverse_iterator + i(content_setting_views_.rbegin()); i != content_setting_views_.rend(); + ++i) { + if ((*i)->IsVisible()) { + int content_blocked_width = (*i)->GetPreferredSize().width(); + offset -= content_blocked_width; + (*i)->SetBounds(offset, location_y, content_blocked_width, + location_height); + offset -= kInnerPadding; + } + } + gfx::Rect location_bounds(kEntryPadding, location_y, entry_width, + location_height); + if (selected_keyword_view_.IsVisible()) { + LayoutView(true, &selected_keyword_view_, available_width, + &location_bounds); + } else if (keyword_hint_view_.IsVisible()) { + LayoutView(false, &keyword_hint_view_, available_width, + &location_bounds); + } else if (type_to_search_view_.IsVisible()) { + LayoutView(false, &type_to_search_view_, available_width, + &location_bounds); + } + + location_entry_view_->SetBounds(location_bounds); + if (!force_layout) { + // If force_layout is false and we got this far it means one of the views + // was added/removed or changed in size. We need to paint ourselves. + SchedulePaint(); + } +} + int LocationBarView::TopMargin() const { return std::min(kVertMargin, height()); } @@ -702,7 +669,52 @@ int LocationBarView::AvailableWidth(int location_bar_width) { } bool LocationBarView::UsePref(int pref_width, int available_width) { - return (pref_width + kViewPadding <= available_width); + return (pref_width + kInnerPadding <= available_width); +} + +bool LocationBarView::NeedsResize(View* view, int available_width) { + gfx::Size size = view->GetPreferredSize(); + if (!UsePref(size.width(), available_width)) + size = view->GetMinimumSize(); + return (view->width() != size.width()); +} + +bool LocationBarView::AdjustHints(int available_width) { + const std::wstring keyword(location_entry_->model()->keyword()); + const bool is_keyword_hint(location_entry_->model()->is_keyword_hint()); + const bool show_selected_keyword = !keyword.empty() && !is_keyword_hint; + const bool show_keyword_hint = !keyword.empty() && is_keyword_hint; + bool show_search_hint(location_entry_->model()->show_search_hint()); + DCHECK(keyword.empty() || !show_search_hint); + + if (show_search_hint) { + // Only show type to search if all the text fits. + gfx::Size view_pref = type_to_search_view_.GetPreferredSize(); + show_search_hint = UsePref(view_pref.width(), available_width); + } + + // NOTE: This isn't just one big || statement as ToggleVisibility MUST be + // invoked for each view. + bool needs_layout = false; + needs_layout |= ToggleVisibility(show_selected_keyword, + &selected_keyword_view_); + needs_layout |= ToggleVisibility(show_keyword_hint, &keyword_hint_view_); + needs_layout |= ToggleVisibility(show_search_hint, &type_to_search_view_); + if (show_selected_keyword) { + if (selected_keyword_view_.keyword() != keyword) { + needs_layout = true; + selected_keyword_view_.SetKeyword(keyword); + } + needs_layout |= NeedsResize(&selected_keyword_view_, available_width); + } else if (show_keyword_hint) { + if (keyword_hint_view_.keyword() != keyword) { + needs_layout = true; + keyword_hint_view_.SetKeyword(keyword); + } + needs_layout |= NeedsResize(&keyword_hint_view_, available_width); + } + + return needs_layout; } void LocationBarView::LayoutView(bool leading, @@ -713,20 +725,40 @@ void LocationBarView::LayoutView(bool leading, gfx::Size view_size = view->GetPreferredSize(); if (!UsePref(view_size.width(), available_width)) view_size = view->GetMinimumSize(); - if (view_size.width() + kViewPadding >= bounds->width()) { + if (view_size.width() + kInnerPadding < bounds->width()) { + view->SetVisible(true); + if (leading) { + view->SetBounds(bounds->x(), bounds->y(), view_size.width(), + bounds->height()); + bounds->Offset(view_size.width() + kInnerPadding, 0); + } else { + view->SetBounds(bounds->right() - view_size.width(), bounds->y(), + view_size.width(), bounds->height()); + } + bounds->set_width(bounds->width() - view_size.width() - kInnerPadding); + } else { view->SetVisible(false); - return; } - if (leading) { - view->SetBounds(bounds->x(), bounds->y(), view_size.width(), - bounds->height()); - bounds->Offset(view_size.width() + kViewPadding, 0); - } else { - view->SetBounds(bounds->right() - view_size.width(), bounds->y(), - view_size.width(), bounds->height()); +} + +void LocationBarView::SetSecurityIcon(ToolbarModel::Icon icon) { + switch (icon) { + case ToolbarModel::LOCK_ICON: + security_image_view_.SetImageShown(SecurityImageView::LOCK); + security_image_view_.SetVisible(true); + break; + case ToolbarModel::WARNING_ICON: + security_image_view_.SetImageShown(SecurityImageView::WARNING); + security_image_view_.SetVisible(true); + break; + case ToolbarModel::NO_ICON: + security_image_view_.SetVisible(false); + break; + default: + NOTREACHED(); + security_image_view_.SetVisible(false); + break; } - bounds->set_width(bounds->width() - view_size.width() - kViewPadding); - view->SetVisible(true); } void LocationBarView::RefreshContentSettingViews() { @@ -746,9 +778,7 @@ void LocationBarView::DeletePageActionViews() { } void LocationBarView::RefreshPageActionViews() { - if (popup_window_mode_) - return; - + std::vector<ExtensionAction*> page_actions; ExtensionsService* service = profile_->GetExtensionsService(); if (!service) return; @@ -760,7 +790,6 @@ void LocationBarView::RefreshPageActionViews() { // Remember the previous visibility of the page actions so that we can // notify when this changes. - std::vector<ExtensionAction*> page_actions; for (size_t i = 0; i < service->extensions()->size(); ++i) { if (service->extensions()->at(i)->page_action()) page_actions.push_back(service->extensions()->at(i)->page_action()); @@ -775,7 +804,8 @@ void LocationBarView::RefreshPageActionViews() { for (size_t i = 0; i < page_actions.size(); ++i) { page_action_views_[i] = new PageActionWithBadgeView( - new PageActionImageView(this, profile_, page_actions[i])); + new PageActionImageView(this, profile_, + page_actions[i], bubble_positioner_)); page_action_views_[i]->SetVisible(false); AddChildView(page_action_views_[i]); } @@ -802,6 +832,25 @@ void LocationBarView::RefreshPageActionViews() { } } +void LocationBarView::SetInfoText(const std::wstring& text, + ToolbarModel::InfoTextType text_type, + const std::wstring& tooltip_text) { + info_label_.SetVisible(!text.empty()); + info_label_.SetText(text); + if (text_type == ToolbarModel::INFO_EV_TEXT) + info_label_.SetColor(GetColor(true, SECURITY_TEXT)); + info_label_.SetTooltipText(tooltip_text); +} + +bool LocationBarView::ToggleVisibility(bool new_vis, View* view) { + DCHECK(view); + if (view->IsVisible() != new_vis) { + view->SetVisible(new_vis); + return true; + } + return false; +} + #if defined(OS_WIN) void LocationBarView::OnMouseEvent(const views::MouseEvent& event, UINT msg) { UINT flags = 0; @@ -818,54 +867,10 @@ void LocationBarView::OnMouseEvent(const views::MouseEvent& event, UINT msg) { gfx::Point screen_point(event.location()); ConvertPointToScreen(this, &screen_point); - location_entry_->HandleExternalMsg(msg, flags, screen_point.ToPOINT()); -} -#endif - -void LocationBarView::ShowFirstRunBubbleInternal( - FirstRun::BubbleType bubble_type) { -#if defined(OS_WIN) // First run bubble doesn't make sense for Chrome OS. - // If the browser is no longer active, let's not show the info bubble, as this - // would make the browser the active window again. - if (!location_entry_view_ || !location_entry_view_->GetWidget()->IsActive()) - return; - // Point at the start of the edit control; adjust to look as good as possible. - const int kXOffset = 1; // Text looks like it actually starts 1 px in. - const int kYOffset = -4; // Point into the omnibox, not just at its edge. - gfx::Point origin(location_entry_view_->bounds().x() + kXOffset, - y() + height() + kYOffset); - // If the UI layout is RTL, the coordinate system is not transformed and - // therefore we need to adjust the X coordinate so that bubble appears on the - // right hand side of the location bar. - if (UILayoutIsRightToLeft()) - origin.set_x(width() - origin.x()); - views::View::ConvertPointToScreen(this, &origin); - FirstRunBubble::Show(profile_, GetWindow(), gfx::Rect(origin, gfx::Size()), - bubble_type); -#endif + location_entry_->HandleExternalMsg(msg, flags, screen_point.ToPOINT()); } - -bool LocationBarView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) { - if (keyword_hint_view_.IsVisible() && - views::FocusManager::IsTabTraversalKeyEvent(e)) { - // We want to receive tab key events when the hint is showing. - return true; - } - -#if defined(OS_WIN) - return location_entry_->SkipDefaultKeyEventProcessing(e); -#else - // TODO(jcampan): We need to refactor the code of - // AutocompleteEditViewWin::SkipDefaultKeyEventProcessing into this class so - // it can be shared between Windows and Linux. - // For now, we just override back-space as it is the accelerator for back - // navigation. - if (e.GetKeyCode() == base::VKEY_BACK) - return true; - return false; #endif -} bool LocationBarView::GetAccessibleRole(AccessibilityTypes::Role* role) { DCHECK(role); @@ -874,213 +879,76 @@ bool LocationBarView::GetAccessibleRole(AccessibilityTypes::Role* role) { return true; } +// SelectedKeywordView ------------------------------------------------------- -void LocationBarView::WriteDragData(views::View* sender, - const gfx::Point& press_pt, - OSExchangeData* data) { - DCHECK(GetDragOperations(sender, press_pt) != DragDropTypes::DRAG_NONE); - - TabContents* tab_contents = delegate_->GetTabContents(); - DCHECK(tab_contents); - drag_utils::SetURLAndDragImage(tab_contents->GetURL(), - UTF16ToWideHack(tab_contents->GetTitle()), - tab_contents->GetFavIcon(), data); -} - -int LocationBarView::GetDragOperations(views::View* sender, - const gfx::Point& p) { - DCHECK((sender == &location_icon_view_) || (sender == &ev_bubble_view_)); - TabContents* tab_contents = delegate_->GetTabContents(); - return (tab_contents && tab_contents->GetURL().is_valid() && - !location_entry()->IsEditingOrEmpty()) ? - (DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK) : - DragDropTypes::DRAG_NONE; -} - -bool LocationBarView::CanStartDrag(View* sender, - const gfx::Point& press_pt, - const gfx::Point& p) { - return true; -} - -// ClickHandler ---------------------------------------------------------------- - -LocationBarView::ClickHandler::ClickHandler(const views::View* owner, - const LocationBarView* location_bar) - : owner_(owner), - location_bar_(location_bar) { -} - -void LocationBarView::ClickHandler::OnMouseReleased( - const views::MouseEvent& event, - bool canceled) { - if (canceled || !owner_->HitTest(event.location())) - return; - - // Do not show page info if the user has been editing the location - // bar, or the location bar is at the NTP. - if (location_bar_->location_entry()->IsEditingOrEmpty()) - return; - - TabContents* tab = location_bar_->GetTabContents(); - NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); - if (!nav_entry) { - NOTREACHED(); - return; - } - tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); -} - -// LocationIconView ------------------------------------------------------------ - -LocationBarView::LocationIconView::LocationIconView( - const LocationBarView* location_bar) - : ALLOW_THIS_IN_INITIALIZER_LIST(click_handler_(this, location_bar)) { -} - -LocationBarView::LocationIconView::~LocationIconView() { -} - -bool LocationBarView::LocationIconView::OnMousePressed( - const views::MouseEvent& event) { - // We want to show the dialog on mouse release; that is the standard behavior - // for buttons. - return true; -} - -void LocationBarView::LocationIconView::OnMouseReleased( - const views::MouseEvent& event, - bool canceled) { - click_handler_.OnMouseReleased(event, canceled); -} - -// IconLabelBubbleView --------------------------------------------------------- - -// Amount to offset the image. -static const int kImageOffset = 1; - -// Amount to offset the label from the image. -static const int kLabelOffset = 3; - -// Amount of padding after the label. -static const int kLabelPadding = 4; - -LocationBarView::IconLabelBubbleView::IconLabelBubbleView( - const int background_images[], - int contained_image, - const SkColor& color) - : background_painter_(background_images) { - AddChildView(&image_); - image_.set_parent_owned(false); - image_.SetImage( - ResourceBundle::GetSharedInstance().GetBitmapNamed(contained_image)); - AddChildView(&label_); - label_.set_parent_owned(false); - label_.SetColor(color); -} - -LocationBarView::IconLabelBubbleView::~IconLabelBubbleView() { -} - -void LocationBarView::IconLabelBubbleView::SetFont(const gfx::Font& font) { - label_.SetFont(font); -} - -void LocationBarView::IconLabelBubbleView::SetLabel(const std::wstring& label) { - label_.SetText(label); -} - -void LocationBarView::IconLabelBubbleView::Paint(gfx::Canvas* canvas) { - int y_offset = (GetParent()->height() - height()) / 2; - canvas->TranslateInt(0, y_offset); - background_painter_.Paint(width(), height(), canvas); - canvas->TranslateInt(0, -y_offset); -} - -gfx::Size LocationBarView::IconLabelBubbleView::GetPreferredSize() { - gfx::Size size(GetNonLabelSize()); - size.Enlarge(label_.GetPreferredSize().width(), 0); - return size; -} - -void LocationBarView::IconLabelBubbleView::Layout() { - image_.SetBounds(kImageOffset, 0, image_.GetPreferredSize().width(), - height()); - gfx::Size label_size(label_.GetPreferredSize()); - label_.SetBounds(image_.x() + image_.width() + kLabelOffset, - (height() - label_size.height()) / 2, label_size.width(), - label_size.height()); -} - -gfx::Size LocationBarView::IconLabelBubbleView::GetNonLabelSize() { - return gfx::Size(kImageOffset + image_.GetPreferredSize().width() + - kLabelOffset + kLabelPadding, background_painter_.height()); -} - -// EVBubbleView ---------------------------------------------------------------- - -LocationBarView::EVBubbleView::EVBubbleView(const int background_images[], - int contained_image, - const SkColor& color, - const LocationBarView* location_bar) - : IconLabelBubbleView(background_images, contained_image, color), - ALLOW_THIS_IN_INITIALIZER_LIST(click_handler_(this, location_bar)) { -} - -LocationBarView::EVBubbleView::~EVBubbleView() { -} - -bool LocationBarView::EVBubbleView::OnMousePressed( - const views::MouseEvent& event) { - // We want to show the dialog on mouse release; that is the standard behavior - // for buttons. - return true; -} +// The background is drawn using HorizontalPainter. This is the +// left/center/right image names. +static const int kBorderImages[] = { + IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_L, + IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_C, + IDR_LOCATION_BAR_SELECTED_KEYWORD_BACKGROUND_R }; -void LocationBarView::EVBubbleView::OnMouseReleased( - const views::MouseEvent& event, - bool canceled) { - click_handler_.OnMouseReleased(event, canceled); -} +// Insets around the label. +static const int kTopInset = 0; +static const int kBottomInset = 0; +static const int kLeftInset = 4; +static const int kRightInset = 4; -// SelectedKeywordView --------------------------------------------------------- +// Offset from the top the background is drawn at. +static const int kBackgroundYOffset = 2; -LocationBarView::SelectedKeywordView::SelectedKeywordView( - const int background_images[], - int contained_image, - const SkColor& color, - Profile* profile) - : IconLabelBubbleView(background_images, contained_image, color), +LocationBarView::SelectedKeywordView::SelectedKeywordView(Profile* profile) + : background_painter_(kBorderImages), profile_(profile) { + AddChildView(&full_label_); + AddChildView(&partial_label_); + // Full_label and partial_label are deleted by us, make sure View doesn't + // delete them too. + full_label_.set_parent_owned(false); + partial_label_.set_parent_owned(false); full_label_.SetVisible(false); partial_label_.SetVisible(false); + full_label_.set_border( + views::Border::CreateEmptyBorder(kTopInset, kLeftInset, kBottomInset, + kRightInset)); + partial_label_.set_border( + views::Border::CreateEmptyBorder(kTopInset, kLeftInset, kBottomInset, + kRightInset)); + full_label_.SetColor(SK_ColorBLACK); + partial_label_.SetColor(SK_ColorBLACK); } LocationBarView::SelectedKeywordView::~SelectedKeywordView() { } void LocationBarView::SelectedKeywordView::SetFont(const gfx::Font& font) { - IconLabelBubbleView::SetFont(font); full_label_.SetFont(font); partial_label_.SetFont(font); } +void LocationBarView::SelectedKeywordView::Paint(gfx::Canvas* canvas) { + canvas->TranslateInt(0, kBackgroundYOffset); + background_painter_.Paint(width(), height() - kTopInset, canvas); + canvas->TranslateInt(0, -kBackgroundYOffset); +} + gfx::Size LocationBarView::SelectedKeywordView::GetPreferredSize() { - gfx::Size size(GetNonLabelSize()); - size.Enlarge(full_label_.GetPreferredSize().width(), 0); - return size; + return full_label_.GetPreferredSize(); } gfx::Size LocationBarView::SelectedKeywordView::GetMinimumSize() { - gfx::Size size(GetNonLabelSize()); - size.Enlarge(partial_label_.GetMinimumSize().width(), 0); - return size; + return partial_label_.GetMinimumSize(); } void LocationBarView::SelectedKeywordView::Layout() { - SetLabel((width() == GetPreferredSize().width()) ? - full_label_.GetText() : partial_label_.GetText()); - IconLabelBubbleView::Layout(); + gfx::Size pref = GetPreferredSize(); + bool at_pref = (width() == pref.width()); + if (at_pref) + full_label_.SetBounds(0, 0, width(), height()); + else + partial_label_.SetBounds(0, 0, width(), height()); + full_label_.SetVisible(at_pref); + partial_label_.SetVisible(!at_pref); } void LocationBarView::SelectedKeywordView::SetKeyword( @@ -1096,9 +964,12 @@ void LocationBarView::SelectedKeywordView::SetKeyword( full_label_.SetText(l10n_util::GetStringF(IDS_OMNIBOX_KEYWORD_TEXT, short_name)); const std::wstring min_string = CalculateMinString(short_name); - partial_label_.SetText(min_string.empty() ? - full_label_.GetText() : - l10n_util::GetStringF(IDS_OMNIBOX_KEYWORD_TEXT, min_string)); + if (!min_string.empty()) { + partial_label_.SetText( + l10n_util::GetStringF(IDS_OMNIBOX_KEYWORD_TEXT, min_string)); + } else { + partial_label_.SetText(full_label_.GetText()); + } } std::wstring LocationBarView::SelectedKeywordView::CalculateMinString( @@ -1225,18 +1096,250 @@ void LocationBarView::KeywordHintView::Layout() { } } +bool LocationBarView::SkipDefaultKeyEventProcessing(const views::KeyEvent& e) { + if (keyword_hint_view_.IsVisible() && + views::FocusManager::IsTabTraversalKeyEvent(e)) { + // We want to receive tab key events when the hint is showing. + return true; + } + +#if defined(OS_WIN) + return location_entry_->SkipDefaultKeyEventProcessing(e); +#else + // TODO(jcampan): We need to refactor the code of + // AutocompleteEditViewWin::SkipDefaultKeyEventProcessing into this class so + // it can be shared between Windows and Linux. + // For now, we just override back-space as it is the accelerator for back + // navigation. + if (e.GetKeyCode() == base::VKEY_BACK) + return true; + return false; +#endif +} + +// ShowInfoBubbleTask----------------------------------------------------------- + +class LocationBarView::ShowInfoBubbleTask : public Task { + public: + explicit ShowInfoBubbleTask( + LocationBarView::LocationBarImageView* image_view); + virtual void Run(); + void Cancel(); + + private: + LocationBarView::LocationBarImageView* image_view_; + bool cancelled_; + + DISALLOW_COPY_AND_ASSIGN(ShowInfoBubbleTask); +}; + +LocationBarView::ShowInfoBubbleTask::ShowInfoBubbleTask( + LocationBarView::LocationBarImageView* image_view) + : image_view_(image_view), + cancelled_(false) { +} + +void LocationBarView::ShowInfoBubbleTask::Run() { + if (cancelled_) + return; + + if (!image_view_->GetWidget()->IsActive()) { + // The browser is no longer active. Let's not show the info bubble, this + // would make the browser the active window again. Also makes sure we NULL + // show_info_bubble_task_ to prevent the SecurityImageView from keeping a + // dangling pointer. + image_view_->show_info_bubble_task_ = NULL; + return; + } + + image_view_->ShowInfoBubble(); +} + +void LocationBarView::ShowInfoBubbleTask::Cancel() { + cancelled_ = true; +} + +// ----------------------------------------------------------------------------- + +void LocationBarView::ShowFirstRunBubbleInternal( + FirstRun::BubbleType bubble_type) { + if (!location_entry_view_) + return; + if (!location_entry_view_->GetWidget()->IsActive()) { + // The browser is no longer active. Let's not show the info bubble, this + // would make the browser the active window again. + return; + } + + gfx::Point location; + + // If the UI layout is RTL, the coordinate system is not transformed and + // therefore we need to adjust the X coordinate so that bubble appears on the + // right hand side of the location bar. + if (UILayoutIsRightToLeft()) + location.Offset(width(), 0); + views::View::ConvertPointToScreen(this, &location); + + // We try to guess that 20 pixels offset is a good place for the first + // letter in the OmniBox. + gfx::Rect bounds(location.x(), location.y(), 20, height()); + + // Moving the bounds "backwards" so that it appears within the location bar + // if the UI layout is RTL. + if (UILayoutIsRightToLeft()) + bounds.set_x(location.x() - 20); + +#if defined(OS_WIN) + FirstRunBubble::Show(profile_, GetWindow(), bounds, bubble_type); +#else + // First run bubble doesn't make sense for Chrome OS. +#endif +} + +// LocationBarImageView--------------------------------------------------------- + +LocationBarView::LocationBarImageView::LocationBarImageView( + const BubblePositioner* bubble_positioner) + : info_bubble_(NULL), + show_info_bubble_task_(NULL), + bubble_positioner_(bubble_positioner) { +} + +LocationBarView::LocationBarImageView::~LocationBarImageView() { + if (show_info_bubble_task_) + show_info_bubble_task_->Cancel(); + + if (info_bubble_) + info_bubble_->Close(); +} + +void LocationBarView::LocationBarImageView::OnMouseMoved( + const views::MouseEvent& event) { + if (show_info_bubble_task_) { + show_info_bubble_task_->Cancel(); + show_info_bubble_task_ = NULL; + } + + if (info_bubble_) { + // If an info bubble is currently showing, nothing to do. + return; + } + + show_info_bubble_task_ = new ShowInfoBubbleTask(this); + MessageLoop::current()->PostDelayedTask(FROM_HERE, show_info_bubble_task_, + kInfoBubbleHoverDelayMs); +} + +void LocationBarView::LocationBarImageView::OnMouseExited( + const views::MouseEvent& event) { + if (show_info_bubble_task_) { + show_info_bubble_task_->Cancel(); + show_info_bubble_task_ = NULL; + } + + if (info_bubble_) + info_bubble_->Close(); +} + +void LocationBarView::LocationBarImageView::InfoBubbleClosing( + InfoBubble* info_bubble, bool closed_by_escape) { + info_bubble_ = NULL; +} + +void LocationBarView::LocationBarImageView::ShowInfoBubbleImpl( + const std::wstring& text, SkColor text_color) { + gfx::Rect bounds(bubble_positioner_->GetLocationStackBounds()); + gfx::Point location; + views::View::ConvertPointToScreen(this, &location); + bounds.set_x(location.x()); + bounds.set_width(width()); + + views::Label* label = new views::Label(text); + label->SetMultiLine(true); + label->SetColor(text_color); + label->SetFont(ResourceBundle::GetSharedInstance().GetFont( + ResourceBundle::BaseFont).DeriveFont(2)); + label->SetHorizontalAlignment(views::Label::ALIGN_LEFT); + label->SizeToFit(0); + DCHECK(info_bubble_ == NULL); + info_bubble_ = InfoBubble::Show(GetWindow(), bounds, label, this); + show_info_bubble_task_ = NULL; +} + +// SecurityImageView------------------------------------------------------------ + +// static +SkBitmap* LocationBarView::SecurityImageView::lock_icon_ = NULL; +SkBitmap* LocationBarView::SecurityImageView::warning_icon_ = NULL; + +LocationBarView::SecurityImageView::SecurityImageView( + const LocationBarView* parent, + Profile* profile, + ToolbarModel* model, + const BubblePositioner* bubble_positioner) + : LocationBarImageView(bubble_positioner), + parent_(parent), + profile_(profile), + model_(model) { + if (!lock_icon_) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + lock_icon_ = rb.GetBitmapNamed(IDR_LOCK); + warning_icon_ = rb.GetBitmapNamed(IDR_WARNING); + } + SetImageShown(LOCK); +} + +LocationBarView::SecurityImageView::~SecurityImageView() { +} + +void LocationBarView::SecurityImageView::SetImageShown(Image image) { + switch (image) { + case LOCK: + SetImage(lock_icon_); + break; + case WARNING: + SetImage(warning_icon_); + break; + default: + NOTREACHED(); + break; + } +} + +bool LocationBarView::SecurityImageView::OnMousePressed( + const views::MouseEvent& event) { + TabContents* tab = parent_->GetTabContents(); + NavigationEntry* nav_entry = tab->controller().GetActiveEntry(); + if (!nav_entry) { + NOTREACHED(); + return true; + } + tab->ShowPageInfo(nav_entry->url(), nav_entry->ssl(), true); + return true; +} + +void LocationBarView::SecurityImageView::ShowInfoBubble() { + std::wstring text; + model_->GetIconHoverText(&text); + ShowInfoBubbleImpl(text, GetColor( + model_->GetSecurityLevel() == ToolbarModel::SECURE, + SECURITY_INFO_BUBBLE_TEXT)); +} + // ContentSettingImageView------------------------------------------------------ LocationBarView::ContentSettingImageView::ContentSettingImageView( ContentSettingsType content_type, const LocationBarView* parent, - Profile* profile) + Profile* profile, + const BubblePositioner* bubble_positioner) : content_setting_image_model_( ContentSettingImageModel::CreateContentSettingImageModel( content_type)), parent_(parent), profile_(profile), - info_bubble_(NULL) { + info_bubble_(NULL), + bubble_positioner_(bubble_positioner) { } LocationBarView::ContentSettingImageView::~ContentSettingImageView() { @@ -1248,39 +1351,29 @@ void LocationBarView::ContentSettingImageView::UpdateFromTabContents( const TabContents* tab_contents) { int old_icon = content_setting_image_model_->get_icon(); content_setting_image_model_->UpdateFromTabContents(tab_contents); - if (!content_setting_image_model_->is_visible()) { + if (content_setting_image_model_->is_visible()) { + if (old_icon != content_setting_image_model_->get_icon()) { + ResourceBundle& rb = ResourceBundle::GetSharedInstance(); + SetImage(rb.GetBitmapNamed(content_setting_image_model_->get_icon())); + } + SetTooltipText(UTF8ToWide(content_setting_image_model_->get_tooltip())); + SetVisible(true); + } else { SetVisible(false); - return; - } - if (old_icon != content_setting_image_model_->get_icon()) { - SetImage(ResourceBundle::GetSharedInstance().GetBitmapNamed( - content_setting_image_model_->get_icon())); } - SetTooltipText(UTF8ToWide(content_setting_image_model_->get_tooltip())); - SetVisible(true); } bool LocationBarView::ContentSettingImageView::OnMousePressed( const views::MouseEvent& event) { - // We want to show the bubble on mouse release; that is the standard behavior - // for buttons. - return true; -} - -void LocationBarView::ContentSettingImageView::OnMouseReleased( - const views::MouseEvent& event, - bool canceled) { - if (canceled || !HitTest(event.location())) - return; + gfx::Rect bounds(bubble_positioner_->GetLocationStackBounds()); + gfx::Point location; + views::View::ConvertPointToScreen(this, &location); + bounds.set_x(location.x()); + bounds.set_width(width()); TabContents* tab_contents = parent_->GetTabContents(); if (!tab_contents) - return; - - gfx::Rect screen_bounds(GetImageBounds()); - gfx::Point origin(screen_bounds.origin()); - views::View::ConvertPointToScreen(this, &origin); - screen_bounds.set_origin(origin); + return true; ContentSettingBubbleContents* bubble_contents = new ContentSettingBubbleContents( ContentSettingBubbleModel::CreateContentSettingBubbleModel( @@ -1288,9 +1381,9 @@ void LocationBarView::ContentSettingImageView::OnMouseReleased( content_setting_image_model_->get_content_settings_type()), profile_, tab_contents); DCHECK(!info_bubble_); - info_bubble_ = - InfoBubble::Show(GetWindow(), screen_bounds, bubble_contents, this); + info_bubble_ = InfoBubble::Show(GetWindow(), bounds, bubble_contents, this); bubble_contents->set_info_bubble(info_bubble_); + return true; } void LocationBarView::ContentSettingImageView::VisibilityChanged( @@ -1315,8 +1408,10 @@ bool LocationBarView::ContentSettingImageView::CloseOnEscape() { LocationBarView::PageActionImageView::PageActionImageView( LocationBarView* owner, Profile* profile, - ExtensionAction* page_action) - : owner_(owner), + ExtensionAction* page_action, + const BubblePositioner* bubble_positioner) + : LocationBarImageView(bubble_positioner), + owner_(owner), profile_(profile), page_action_(page_action), ALLOW_THIS_IN_INITIALIZER_LIST(tracker_(this)), @@ -1373,17 +1468,19 @@ void LocationBarView::PageActionImageView::ExecuteAction(int button, if (popup_showing) return; - gfx::Rect screen_bounds(GetImageBounds()); - gfx::Point origin(screen_bounds.origin()); - View::ConvertPointToScreen(this, &origin); - screen_bounds.set_origin(origin); + View* parent = GetParent(); + gfx::Point origin; + View::ConvertPointToScreen(parent, &origin); + gfx::Rect rect = parent->bounds(); + rect.set_x(origin.x()); + rect.set_y(origin.y()); popup_ = ExtensionPopup::Show( page_action_->GetPopupUrl(current_tab_id_), browser, browser->profile(), browser->window()->GetNativeHandle(), - screen_bounds, + rect, BubbleBorder::TOP_RIGHT, true, // Activate the popup window. inspect_with_devtools, @@ -1396,17 +1493,24 @@ void LocationBarView::PageActionImageView::ExecuteAction(int button, } } +void LocationBarView::PageActionImageView::OnMouseMoved( + const views::MouseEvent& event) { + // PageActionImageView uses normal tooltips rather than the info bubble, + // so just do nothing here rather than letting LocationBarImageView start + // its hover timer. +} + bool LocationBarView::PageActionImageView::OnMousePressed( const views::MouseEvent& event) { - // We want to show the bubble on mouse release; that is the standard behavior - // for buttons. (Also, triggering on mouse press causes bugs like - // http://crbug.com/33155.) + // We are interested in capturing mouse messages, but we want want to wait + // until mouse-up because we might show a context menu. Doing so on mouse-down + // causes weird bugs like http://crbug.com/33155. return true; } void LocationBarView::PageActionImageView::OnMouseReleased( const views::MouseEvent& event, bool canceled) { - if (canceled || !HitTest(event.location())) + if (canceled) return; int button = -1; @@ -1416,26 +1520,30 @@ void LocationBarView::PageActionImageView::OnMouseReleased( button = 2; } else if (event.IsRightMouseButton()) { // Get the top left point of this button in screen coordinates. - gfx::Point menu_origin; - ConvertPointToScreen(this, &menu_origin); + gfx::Point point = gfx::Point(0, 0); + ConvertPointToScreen(this, &point); // Make the menu appear below the button. - menu_origin.Offset(0, height()); + point.Offset(0, height()); Extension* extension = profile_->GetExtensionsService()->GetExtensionById( page_action()->extension_id(), false); Browser* browser = BrowserView::GetBrowserViewForNativeWindow( platform_util::GetTopLevel(GetWidget()->GetNativeView()))->browser(); - context_menu_contents_ = - new ExtensionContextMenuModel(extension, browser, this); + context_menu_contents_ = new ExtensionContextMenuModel( + extension, browser, this); context_menu_menu_.reset(new views::Menu2(context_menu_contents_.get())); - context_menu_menu_->RunContextMenuAt(menu_origin); + context_menu_menu_->RunContextMenuAt(point); return; } ExecuteAction(button, false); // inspect_with_devtools } +void LocationBarView::PageActionImageView::ShowInfoBubble() { + ShowInfoBubbleImpl(ASCIIToWide(tooltip_), GetColor(false, TEXT)); +} + void LocationBarView::PageActionImageView::OnImageLoaded( SkBitmap* image, ExtensionResource resource, int index) { // We loaded icons()->size() icons, plus one extra if the page action had @@ -1464,8 +1572,8 @@ void LocationBarView::PageActionImageView::UpdateVisibility( current_tab_id_ = ExtensionTabUtil::GetTabId(contents); current_url_ = url; - bool visible = - preview_enabled_ || page_action_->GetIsVisible(current_tab_id_); + bool visible = preview_enabled_ || + page_action_->GetIsVisible(current_tab_id_); if (visible) { // Set the tooltip. tooltip_ = page_action_->GetTitle(current_tab_id_); @@ -1521,54 +1629,6 @@ void LocationBarView::PageActionImageView::HidePopup() { popup_->Close(); } -// StarView--------------------------------------------------------------------- - -LocationBarView::StarView::StarView(CommandUpdater* command_updater) - : command_updater_(command_updater) { - SetID(VIEW_ID_STAR_BUTTON); - SetToggled(false); -} - -LocationBarView::StarView::~StarView() { -} - -void LocationBarView::StarView::SetToggled(bool on) { - SetTooltipText(l10n_util::GetString( - on ? IDS_TOOLTIP_STARRED : IDS_TOOLTIP_STAR)); - // Since StarView is an ImageView, the SetTooltipText changes the accessible - // name. To keep the accessible name unchanged, we need to set the accessible - // name right after we modify the tooltip text for this view. - SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_STAR)); - SetImage(ResourceBundle::GetSharedInstance().GetBitmapNamed( - on ? IDR_OMNIBOX_STAR_LIT : IDR_OMNIBOX_STAR)); -} - -bool LocationBarView::StarView::GetAccessibleRole( - AccessibilityTypes::Role* role) { - *role = AccessibilityTypes::ROLE_PUSHBUTTON; - return true; -} - -bool LocationBarView::StarView::OnMousePressed(const views::MouseEvent& event) { - // We want to show the bubble on mouse release; that is the standard behavior - // for buttons. - return true; -} - -void LocationBarView::StarView::OnMouseReleased(const views::MouseEvent& event, - bool canceled) { - if (!canceled && HitTest(event.location())) - command_updater_->ExecuteCommand(IDC_BOOKMARK_PAGE); -} - -void LocationBarView::StarView::InfoBubbleClosing(InfoBubble* info_bubble, - bool closed_by_escape) { -} - -bool LocationBarView::StarView::CloseOnEscape() { - return true; -} - //////////////////////////////////////////////////////////////////////////////// // LocationBarView, LocationBar implementation: diff --git a/chrome/browser/views/location_bar_view.h b/chrome/browser/views/location_bar_view.h index 956523b..faf2bfc 100644 --- a/chrome/browser/views/location_bar_view.h +++ b/chrome/browser/views/location_bar_view.h @@ -38,6 +38,7 @@ #endif class Browser; +class BubblePositioner; class CommandUpdater; class ContentSettingImageModel; class ExtensionAction; @@ -56,7 +57,6 @@ class Profile; class LocationBarView : public LocationBar, public LocationBarTesting, public views::View, - public views::DragController, public AutocompleteEditController { public: class Delegate { @@ -76,13 +76,17 @@ class LocationBarView : public LocationBar, SELECTED_TEXT, DEEMPHASIZED_TEXT, SECURITY_TEXT, + SECURITY_INFO_BUBBLE_TEXT, + SCHEME_STRIKEOUT, + NUM_KINDS }; LocationBarView(Profile* profile, CommandUpdater* command_updater, ToolbarModel* model, Delegate* delegate, - bool popup_window_mode); + bool popup_window_mode, + const BubblePositioner* bubble_positioner); virtual ~LocationBarView(); void Init(); @@ -93,8 +97,7 @@ class LocationBarView : public LocationBar, // Returns the appropriate color for the desired kind, based on the user's // system theme. - static SkColor GetColor(ToolbarModel::SecurityLevel security_level, - ColorKind kind); + static SkColor GetColor(bool is_secure, ColorKind kind); // Updates the location bar. We also reset the bar's permanent text and // security style, and, if |tab_for_state_restoring| is non-NULL, also restore @@ -118,12 +121,6 @@ class LocationBarView : public LocationBar, // Retrieves the PageAction View which is associated with |page_action|. views::View* GetPageActionView(ExtensionAction* page_action); - // Toggles the star on or off. - void SetStarToggled(bool on); - - // Shows the bookmark bubble. - void ShowStarBubble(const GURL& url, bool newly_bookmarked); - // Sizing functions virtual gfx::Size GetPreferredSize(); @@ -161,15 +158,6 @@ class LocationBarView : public LocationBar, virtual bool SkipDefaultKeyEventProcessing(const views::KeyEvent& e); virtual bool GetAccessibleRole(AccessibilityTypes::Role* role); - // Overridden from views::DragController: - virtual void WriteDragData(View* sender, - const gfx::Point& press_pt, - OSExchangeData* data); - virtual int GetDragOperations(View* sender, const gfx::Point& p); - virtual bool CanStartDrag(View* sender, - const gfx::Point& press_pt, - const gfx::Point& p); - // Overridden from LocationBar: virtual void ShowFirstRunBubble(FirstRun::BubbleType bubble_type); virtual std::wstring GetInputString() const; @@ -184,9 +172,6 @@ class LocationBarView : public LocationBar, virtual void InvalidatePageActions(); virtual void SaveStateToContents(TabContents* contents); virtual void Revert(); - virtual const AutocompleteEditView* location_entry() const { - return location_entry_.get(); - } virtual AutocompleteEditView* location_entry() { return location_entry_.get(); } @@ -205,100 +190,20 @@ class LocationBarView : public LocationBar, void Focus(); private: - // This helper class is kept as a member by classes that need to show the Page - // Info dialog on click, to encapsulate that logic in one place. - class ClickHandler { - public: - explicit ClickHandler(const views::View* owner, - const LocationBarView* location_bar); - - void OnMouseReleased(const views::MouseEvent& event, bool canceled); - - private: - const views::View* owner_; - const LocationBarView* location_bar_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(ClickHandler); - }; - - // LocationIconView is used to display an icon to the left of the edit field. - // This shows the user's current action while editing, the page security - // status on https pages, or a globe for other URLs. - class LocationIconView : public views::ImageView { - public: - explicit LocationIconView(const LocationBarView* location_bar); - virtual ~LocationIconView(); - - // Overridden from view. - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); - - private: - ClickHandler click_handler_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(LocationIconView); - }; - - // View used to draw a bubble to the left of the address, containing an icon - // and a label. We use this as a base for the classes that handle the EV - // bubble and tab-to-search UI. - class IconLabelBubbleView : public views::View { + // View used when the user has selected a keyword. + // + // SelectedKeywordView maintains two labels. One label contains the + // complete description of the keyword, the second contains a truncated + // version of the description. The second is used if there is not enough room + // to display the complete description. + class SelectedKeywordView : public views::View { public: - IconLabelBubbleView(const int background_images[], - int contained_image, - const SkColor& color); - virtual ~IconLabelBubbleView(); + explicit SelectedKeywordView(Profile* profile); + virtual ~SelectedKeywordView(); void SetFont(const gfx::Font& font); - void SetLabel(const std::wstring& label); virtual void Paint(gfx::Canvas* canvas); - virtual gfx::Size GetPreferredSize(); - virtual void Layout(); - - protected: - gfx::Size GetNonLabelSize(); - - private: - // For painting the background. - views::HorizontalPainter background_painter_; - - // The contents of the bubble. - views::ImageView image_; - views::Label label_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(IconLabelBubbleView); - }; - - // EVBubbleView displays the EV Bubble. - class EVBubbleView : public IconLabelBubbleView { - public: - EVBubbleView(const int background_images[], - int contained_image, - const SkColor& color, - const LocationBarView* location_bar); - virtual ~EVBubbleView(); - - // Overridden from view. - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); - - private: - ClickHandler click_handler_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(EVBubbleView); - }; - - // SelectedKeywordView displays the tab-to-search UI. - class SelectedKeywordView : public IconLabelBubbleView { - public: - SelectedKeywordView(const int background_images[], - int contained_image, - const SkColor& color, - Profile* profile); - virtual ~SelectedKeywordView(); - - void SetFont(const gfx::Font& font); virtual gfx::Size GetPreferredSize(); virtual gfx::Size GetMinimumSize(); @@ -319,16 +224,18 @@ class LocationBarView : public LocationBar, // deleted out from under us. std::wstring keyword_; - // These labels are never visible. They are used to size the view. One - // label contains the complete description of the keyword, the second - // contains a truncated version of the description, for if there is not - // enough room to display the complete description. + // For painting the background. + views::HorizontalPainter background_painter_; + + // Label containing the complete description. views::Label full_label_; + + // Label containing the partial description. views::Label partial_label_; Profile* profile_; - DISALLOW_IMPLICIT_CONSTRUCTORS(SelectedKeywordView); + DISALLOW_COPY_AND_ASSIGN(SelectedKeywordView); }; // KeywordHintView is used to display a hint to the user when the selected @@ -368,7 +275,96 @@ class LocationBarView : public LocationBar, Profile* profile_; - DISALLOW_IMPLICIT_CONSTRUCTORS(KeywordHintView); + DISALLOW_COPY_AND_ASSIGN(KeywordHintView); + }; + + class ShowInfoBubbleTask; + class ShowFirstRunBubbleTask; + + class LocationBarImageView : public views::ImageView, + public InfoBubbleDelegate { + public: + explicit LocationBarImageView(const BubblePositioner* bubble_positioner); + virtual ~LocationBarImageView(); + + // Overridden from view for the mouse hovering. + virtual void OnMouseMoved(const views::MouseEvent& event); + virtual void OnMouseExited(const views::MouseEvent& event); + virtual bool OnMousePressed(const views::MouseEvent& event) = 0; + + // InfoBubbleDelegate + void InfoBubbleClosing(InfoBubble* info_bubble, bool closed_by_escape); + bool CloseOnEscape() { return true; } + + virtual void ShowInfoBubble() = 0; + + protected: + void ShowInfoBubbleImpl(const std::wstring& text, SkColor text_color); + + private: + friend class ShowInfoBubbleTask; + + // The currently shown info bubble if any. + InfoBubble* info_bubble_; + + // A task used to display the info bubble when the mouse hovers on the + // image. + ShowInfoBubbleTask* show_info_bubble_task_; + + // A positioner used to give the info bubble the correct target bounds. The + // caller maintains ownership of this and must ensure it's kept alive. + const BubblePositioner* bubble_positioner_; + + DISALLOW_COPY_AND_ASSIGN(LocationBarImageView); + }; + + // SecurityImageView is used to display the lock or warning icon when the + // current URL's scheme is https. + // + // If a message has been set with SetInfoBubbleText, it displays an info + // bubble when the mouse hovers on the image. + class SecurityImageView : public LocationBarImageView { + public: + enum Image { + LOCK = 0, + WARNING + }; + + SecurityImageView(const LocationBarView* parent, + Profile* profile, + ToolbarModel* model_, + const BubblePositioner* bubble_positioner); + virtual ~SecurityImageView(); + + // Sets the image that should be displayed. + void SetImageShown(Image image); + + // Overridden from view for the mouse hovering. + virtual bool OnMousePressed(const views::MouseEvent& event); + + void set_profile(Profile* profile) { profile_ = profile; } + + virtual void ShowInfoBubble(); + + private: + // The lock icon shown when using HTTPS. + static SkBitmap* lock_icon_; + + // The warning icon shown when HTTPS is broken. + static SkBitmap* warning_icon_; + + // A task used to display the info bubble when the mouse hovers on the + // image. + ShowInfoBubbleTask* show_info_bubble_task_; + + // The owning LocationBarView. + const LocationBarView* parent_; + + Profile* profile_; + + ToolbarModel* model_; + + DISALLOW_COPY_AND_ASSIGN(SecurityImageView); }; class ContentSettingImageView : public views::ImageView, @@ -376,7 +372,8 @@ class LocationBarView : public LocationBar, public: ContentSettingImageView(ContentSettingsType content_type, const LocationBarView* parent, - Profile* profile); + Profile* profile, + const BubblePositioner* bubble_positioner); virtual ~ContentSettingImageView(); void set_profile(Profile* profile) { profile_ = profile; } @@ -385,7 +382,6 @@ class LocationBarView : public LocationBar, private: // views::ImageView overrides: virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); virtual void VisibilityChanged(View* starting_from, bool is_visible); // InfoBubbleDelegate overrides: @@ -404,20 +400,25 @@ class LocationBarView : public LocationBar, // The currently shown info bubble if any. InfoBubble* info_bubble_; + // A positioner used to give the info bubble the correct target bounds. The + // caller maintains ownership of this and must ensure it's kept alive. + const BubblePositioner* bubble_positioner_; + DISALLOW_IMPLICIT_CONSTRUCTORS(ContentSettingImageView); }; typedef std::vector<ContentSettingImageView*> ContentSettingViews; // PageActionImageView is used to display the icon for a given PageAction // and notify the extension when the icon is clicked. - class PageActionImageView : public views::ImageView, + class PageActionImageView : public LocationBarImageView, public ImageLoadingTracker::Observer, public ExtensionContextMenuModel::PopupDelegate, public ExtensionPopup::Observer { public: PageActionImageView(LocationBarView* owner, Profile* profile, - ExtensionAction* page_action); + ExtensionAction* page_action, + const BubblePositioner* bubble_positioner); virtual ~PageActionImageView(); ExtensionAction* page_action() { return page_action_; } @@ -429,9 +430,13 @@ class LocationBarView : public LocationBar, } // Overridden from view. + virtual void OnMouseMoved(const views::MouseEvent& event); virtual bool OnMousePressed(const views::MouseEvent& event); virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); + // Overridden from LocationBarImageView. + virtual void ShowInfoBubble(); + // Overridden from ImageLoadingTracker. virtual void OnImageLoaded( SkBitmap* image, ExtensionResource resource, int index); @@ -492,7 +497,7 @@ class LocationBarView : public LocationBar, // The current popup and the button it came from. NULL if no popup. ExtensionPopup* popup_; - DISALLOW_IMPLICIT_CONSTRUCTORS(PageActionImageView); + DISALLOW_COPY_AND_ASSIGN(PageActionImageView); }; friend class PageActionImageView; @@ -500,30 +505,11 @@ class LocationBarView : public LocationBar, friend class PageActionWithBadgeView; typedef std::vector<PageActionWithBadgeView*> PageActionViews; - class StarView : public views::ImageView, public InfoBubbleDelegate { - public: - explicit StarView(CommandUpdater* command_updater); - virtual ~StarView(); - - // Toggles the star on or off. - void SetToggled(bool on); - - private: - // views::ImageView overrides: - virtual bool GetAccessibleRole(AccessibilityTypes::Role* role); - virtual bool OnMousePressed(const views::MouseEvent& event); - virtual void OnMouseReleased(const views::MouseEvent& event, bool canceled); - - // InfoBubbleDelegate overrides: - virtual void InfoBubbleClosing(InfoBubble* info_bubble, - bool closed_by_escape); - virtual bool CloseOnEscape(); - - // The CommandUpdater for the Browser object that owns the location bar. - CommandUpdater* command_updater_; - - DISALLOW_IMPLICIT_CONSTRUCTORS(StarView); - }; + // Both Layout and OnChanged call into this. This updates the contents + // of the 3 views: selected_keyword, keyword_hint and type_search_view. If + // force_layout is true, or one of these views has changed in such a way as + // to necessitate a layout, layout occurs as well. + void DoLayout(bool force_layout); // Returns the height in pixels of the margin at the top of the bar. int TopMargin() const; @@ -539,12 +525,25 @@ class LocationBarView : public LocationBar, // minimum size of the view should be used. bool UsePref(int pref_width, int available_width); + // Returns true if the view needs to be resized. This determines whether the + // min or pref should be used, and returns true if the view is not at that + // size. + bool NeedsResize(View* view, int available_width); + + // Adjusts the keyword hint, selected keyword and type to search views + // based on the contents of the edit. Returns true if something changed that + // necessitates a layout. + bool AdjustHints(int available_width); + // If View fits in the specified region, it is made visible and the // bounds are adjusted appropriately. If the View does not fit, it is // made invisible. void LayoutView(bool leading, views::View* view, int available_width, gfx::Rect* bounds); + // Sets the security icon to display. Note that no repaint is done. + void SetSecurityIcon(ToolbarModel::Icon icon); + // Update the visibility state of the Content Blocked icons to reflect what is // actually blocked on the current page. void RefreshContentSettingViews(); @@ -556,8 +555,16 @@ class LocationBarView : public LocationBar, // PageActions. void RefreshPageActionViews(); - // Sets the visibility of view to new_vis. - void ToggleVisibility(bool new_vis, views::View* view); + // Sets the text that should be displayed in the info label and its associated + // tooltip text. Call with an empty string if the info label should be + // hidden. + void SetInfoText(const std::wstring& text, + ToolbarModel::InfoTextType text_type, + const std::wstring& tooltip_text); + + // Sets the visibility of view to new_vis. Returns whether the visibility + // changed. + bool ToggleVisibility(bool new_vis, views::View* view); #if defined(OS_WIN) // Helper for the Mouse event handlers that does all the real work. @@ -602,20 +609,13 @@ class LocationBarView : public LocationBar, // Font used by edit and some of the hints. gfx::Font font_; - // An icon to the left of the edit field. - LocationIconView location_icon_view_; - - // A bubble displayed for EV HTTPS sites. - EVBubbleView ev_bubble_view_; - // Location_entry view wrapper views::NativeViewHost* location_entry_view_; // The following views are used to provide hints and remind the user as to // what is going in the edit. They are all added a children of the // LocationBarView. At most one is visible at a time. Preference is - // given to the keyword_view_, then hint_view_. - // These autocollapse when the edit needs the room. + // given to the keyword_view_, then hint_view_, then type_to_search_view_. // Shown if the user has selected a keyword. SelectedKeywordView selected_keyword_view_; @@ -623,14 +623,20 @@ class LocationBarView : public LocationBar, // Shown if the selected url has a corresponding keyword. KeywordHintView keyword_hint_view_; + // Shown if the text is not a keyword or url. + views::Label type_to_search_view_; + + // The view that shows the lock/warning when in HTTPS mode. + SecurityImageView security_image_view_; + // The content setting views. ContentSettingViews content_setting_views_; // The page action icon views. PageActionViews page_action_views_; - // The star. - StarView star_view_; + // A label displayed after the lock icon to show some extra information. + views::Label info_label_; // When true, the location bar view is read only and also is has a slightly // different presentation (font size / color). This is used for popups. @@ -639,10 +645,13 @@ class LocationBarView : public LocationBar, // Used schedule a task for the first run info bubble. ScopedRunnableMethodFactory<LocationBarView> first_run_bubble_; + // The positioner that places the omnibox and info bubbles. + const BubblePositioner* bubble_positioner_; + // Storage of string needed for accessibility. std::wstring accessible_name_; - DISALLOW_IMPLICIT_CONSTRUCTORS(LocationBarView); + DISALLOW_COPY_AND_ASSIGN(LocationBarView); }; #endif // CHROME_BROWSER_VIEWS_LOCATION_BAR_VIEW_H_ diff --git a/chrome/browser/views/pinned_contents_info_bubble.cc b/chrome/browser/views/pinned_contents_info_bubble.cc deleted file mode 100644 index 8331db1..0000000 --- a/chrome/browser/views/pinned_contents_info_bubble.cc +++ /dev/null @@ -1,74 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/views/pinned_contents_info_bubble.h" - -#include "chrome/browser/views/bubble_border.h" - -#if defined(OS_WIN) -// BorderWidget --------------------------------------------------------------- - -void PinnedContentsBorderContents::InitAndGetBounds( - const gfx::Rect& position_relative_to, - const gfx::Size& contents_size, - bool prefer_arrow_on_right, - gfx::Rect* contents_bounds, - gfx::Rect* window_bounds) { - bubble_border_ = new BubbleBorder; - - // Arrow offset is calculated from the middle of the |position_relative_to|. - int offset = position_relative_to.x() + (position_relative_to.width() / 2); - offset -= bubble_anchor_.x(); - - gfx::Insets insets; - bubble_border_->GetInsets(&insets); - offset += kLeftMargin + insets.left() + 1; - bubble_border_->set_arrow_offset(offset); - - BorderContents::InitAndGetBounds( - position_relative_to, contents_size, prefer_arrow_on_right, - contents_bounds, window_bounds); - - // Now move the y position to make sure the bubble contents overlap the view. - window_bounds->Offset(0, -(kTopMargin + 1)); -} - -gfx::Rect PinnedContentsBorderWidget::InitAndGetBounds( - HWND owner, - const gfx::Rect& position_relative_to, - const gfx::Size& contents_size, - bool prefer_arrow_on_right) { - border_contents_ = new PinnedContentsBorderContents(bubble_anchor_); - return BorderWidget::InitAndGetBounds( - owner, position_relative_to, contents_size, - prefer_arrow_on_right); -} -#endif - -// InfoBubble ----------------------------------------------------------------- - -// static -PinnedContentsInfoBubble* PinnedContentsInfoBubble::Show( - views::Window* parent, - const gfx::Rect& position_relative_to, - const gfx::Point& bubble_anchor, - views::View* contents, - InfoBubbleDelegate* delegate) { - PinnedContentsInfoBubble* window = - new PinnedContentsInfoBubble(bubble_anchor); - window->Init(parent, position_relative_to, contents, delegate); - return window; -} - -void PinnedContentsInfoBubble::Init(views::Window* parent, - const gfx::Rect& position_relative_to, - views::View* contents, - InfoBubbleDelegate* delegate) { -// TODO(finnur): This needs to be implemented for other platforms once we -// decide this is the way to go. -#if defined(OS_WIN) - border_.reset(new PinnedContentsBorderWidget(bubble_anchor_)); -#endif - InfoBubble::Init(parent, position_relative_to, contents, delegate); -} diff --git a/chrome/browser/views/pinned_contents_info_bubble.h b/chrome/browser/views/pinned_contents_info_bubble.h deleted file mode 100644 index 92477c0..0000000 --- a/chrome/browser/views/pinned_contents_info_bubble.h +++ /dev/null @@ -1,89 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_VIEWS_PINNED_CONTENTS_INFO_BUBBLE_H_ -#define CHROME_BROWSER_VIEWS_PINNED_CONTENTS_INFO_BUBBLE_H_ - -#include "chrome/browser/views/info_bubble.h" - -// This is a specialization of BorderContents, used to draw a border around -// an InfoBubble that has its contents pinned to a specific location. See -// base class for details. -class PinnedContentsBorderContents : public BorderContents { - public: - explicit PinnedContentsBorderContents(const gfx::Point& bubble_anchor) - : bubble_anchor_(bubble_anchor) {} - - // BorderContents overrides: - virtual void InitAndGetBounds( - const gfx::Rect& position_relative_to, // In screen coordinates - const gfx::Size& contents_size, - bool prefer_arrow_on_right, - gfx::Rect* contents_bounds, // Returned in window coordinates - gfx::Rect* window_bounds); // Returned in screen coordinates - - private: - // The location of the pinned contents (in screen coordinates). - const gfx::Point bubble_anchor_; - - DISALLOW_COPY_AND_ASSIGN(PinnedContentsBorderContents); -}; - -#if defined(OS_WIN) -// The window that surrounds the info bubble. See base class for details. -class PinnedContentsBorderWidget : public BorderWidget { - public: - explicit PinnedContentsBorderWidget(const gfx::Point& bubble_anchor) - : bubble_anchor_(bubble_anchor) {} - virtual ~PinnedContentsBorderWidget() {} - - // BorderWidget overrides: - virtual gfx::Rect InitAndGetBounds(HWND owner, - const gfx::Rect& position_relative_to, - const gfx::Size& contents_size, - bool is_rtl); - - private: - // The location of the pinned contents (in screen coordinates). - const gfx::Point bubble_anchor_; - - DISALLOW_COPY_AND_ASSIGN(PinnedContentsBorderWidget); -}; -#endif - -// A specialization of the InfoBubble. Used to draw an InfoBubble which, in -// addition to having an arrow pointing to where the user clicked, also shifts -// the bubble horizontally to fix it to a specific location. See base class -// for details. -class PinnedContentsInfoBubble : public InfoBubble { - public: - // Shows the InfoBubble (see base class function for details). - // |bubble_anchor| specifies how far horizontally to shift the bubble in - // order to anchor its contents. Once the InfoBubble has been anchored its - // arrow may be pointing to a slightly different |y| location than specified - // in |position_relative_to|. - static PinnedContentsInfoBubble* Show(views::Window* parent, - const gfx::Rect& position_relative_to, - const gfx::Point& bubble_anchor_, - views::View* contents, - InfoBubbleDelegate* delegate); - - private: - explicit PinnedContentsInfoBubble(const gfx::Point& bubble_anchor) - : bubble_anchor_(bubble_anchor) {} - virtual ~PinnedContentsInfoBubble() {} - - // InfoBubble overrides: - virtual void Init(views::Window* parent, - const gfx::Rect& position_relative_to, - views::View* contents, - InfoBubbleDelegate* delegate); - - // The location of the pinned contents (in screen coordinates). - const gfx::Point bubble_anchor_; - - DISALLOW_COPY_AND_ASSIGN(PinnedContentsInfoBubble); -}; - -#endif // CHROME_BROWSER_VIEWS_PINNED_CONTENTS_INFO_BUBBLE_H_ diff --git a/chrome/browser/views/tabs/dragged_tab_controller.cc b/chrome/browser/views/tabs/dragged_tab_controller.cc index 3521a88..ce26ac7 100644 --- a/chrome/browser/views/tabs/dragged_tab_controller.cc +++ b/chrome/browser/views/tabs/dragged_tab_controller.cc @@ -316,7 +316,7 @@ DraggedTabController::DraggedTabController(Tab* source_tab, original_delegate_(NULL), source_tab_(source_tab), source_tabstrip_(source_tabstrip), - source_model_index_(source_tabstrip->GetModelIndexOfTab(source_tab)), + source_model_index_(source_tabstrip->GetIndexOfTab(source_tab)), attached_tabstrip_(source_tabstrip), old_focused_view_(NULL), in_destructor_(false), @@ -508,7 +508,7 @@ void DraggedTabController::InitWindowCreatePoint() { // first_tab based on source_tabstrip_, not attached_tabstrip_. Otherwise, // the window_create_point_ is not in the correct coordinate system. Please // refer to http://crbug.com/6223 comment #15 for detailed information. - Tab* first_tab = source_tabstrip_->GetTabAtTabDataIndex(0); + Tab* first_tab = source_tabstrip_->GetTabAt(0); views::View::ConvertPointToWidget(first_tab, &first_source_tab_point_); UpdateWindowCreatePoint(); } @@ -963,9 +963,8 @@ gfx::Point DraggedTabController::GetDraggedViewPoint( Tab* DraggedTabController::GetTabMatchingDraggedContents( TabStrip* tabstrip) const { - int model_index = tabstrip->model()->GetIndexOfTabContents(dragged_contents_); - return model_index == TabStripModel::kNoTab ? - NULL : tabstrip->GetTabAtModelIndex(model_index); + int index = tabstrip->model()->GetIndexOfTabContents(dragged_contents_); + return index == TabStripModel::kNoTab ? NULL : tabstrip->GetTabAt(index); } bool DraggedTabController::EndDragImpl(EndDragType type) { diff --git a/chrome/browser/views/tabs/tab_renderer.cc b/chrome/browser/views/tabs/tab_renderer.cc index f089393..b363cb5 100644 --- a/chrome/browser/views/tabs/tab_renderer.cc +++ b/chrome/browser/views/tabs/tab_renderer.cc @@ -6,7 +6,6 @@ #include <limits> -#include "app/animation_container.h" #include "app/l10n_util.h" #include "app/resource_bundle.h" #include "app/slide_animation.h" @@ -82,15 +81,9 @@ static int loading_animation_frame_count = 0; static int waiting_animation_frame_count = 0; static int waiting_to_loading_frame_count_ratio = 0; -// Used when |render_as_new_tab| is true. -static SkBitmap* new_tab_mask = NULL; -static SkBitmap* new_tab_shadow = NULL; - TabRenderer::TabImage TabRenderer::tab_alpha = {0}; TabRenderer::TabImage TabRenderer::tab_active = {0}; -TabRenderer::TabImage TabRenderer::tab_active_nano = {0}; TabRenderer::TabImage TabRenderer::tab_inactive = {0}; -TabRenderer::TabImage TabRenderer::tab_alpha_nano = {0}; // Max opacity for the mini-tab title change animation. const double kMiniTitleChangeThrobOpacity = 0.75; @@ -212,7 +205,7 @@ class TabCloseButton : public views::ImageButton { } private: - DISALLOW_COPY_AND_ASSIGN(TabCloseButton); + DISALLOW_EVIL_CONSTRUCTORS(TabCloseButton); }; } // namespace @@ -253,7 +246,7 @@ class TabRenderer::FavIconCrashAnimation : public Animation, private: TabRenderer* target_; - DISALLOW_COPY_AND_ASSIGN(FavIconCrashAnimation); + DISALLOW_EVIL_CONSTRUCTORS(FavIconCrashAnimation); }; //////////////////////////////////////////////////////////////////////////////// @@ -289,10 +282,6 @@ TabRenderer::~TabRenderer() { delete crash_animation_; } -void TabRenderer::SizeToNewTabButtonImages() { - SetBounds(x(), y(), new_tab_shadow->width(), new_tab_shadow->height()); -} - void TabRenderer::ViewHierarchyChanged(bool is_add, View* parent, View* child) { if (parent->GetThemeProvider()) SetThemeProvider(parent->GetThemeProvider()); @@ -418,11 +407,6 @@ void TabRenderer::StopMiniTabTitleAnimation() { mini_title_animation_->Stop(); } -void TabRenderer::SetAnimationContainer(AnimationContainer* container) { - container_ = container; - pulse_animation_->SetContainer(container); -} - void TabRenderer::PaintIcon(gfx::Canvas* canvas) { if (animation_state_ != ANIMATION_NONE) { PaintLoadingAnimation(canvas); @@ -518,15 +502,6 @@ void TabRenderer::OnMouseExited(const views::MouseEvent& e) { // TabRenderer, views::View overrides: void TabRenderer::Paint(gfx::Canvas* canvas) { - if (data_.render_as_new_tab) { - if (UILayoutIsRightToLeft()) { - canvas->TranslateInt(width(), 0); - canvas->ScaleInt(-1, 1); - } - PaintAsNewTab(canvas); - return; - } - // Don't paint if we're narrower than we can render correctly. (This should // only happen during animations). if (width() < GetMinimumUnselectedSize().width() && !mini()) @@ -740,47 +715,45 @@ void TabRenderer::PaintInactiveTabBackground(gfx::Canvas* canvas) { int bg_offset_y = GetThemeProvider()->HasCustomImage(tab_id) ? 0 : background_offset_.y(); - if (!data_.app) { - // Draw left edge. Don't draw over the toolbar, as we're not the foreground - // tab. - SkBitmap tab_l = SkBitmapOperations::CreateTiledBitmap( - *tab_bg, offset, bg_offset_y, tab_active.l_width, height()); - SkBitmap theme_l = - SkBitmapOperations::CreateMaskedBitmap(tab_l, *tab_alpha.image_l); - canvas->DrawBitmapInt(theme_l, - 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap, - 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap, - false); - - // Draw right edge. Again, don't draw over the toolbar. - SkBitmap tab_r = SkBitmapOperations::CreateTiledBitmap(*tab_bg, - offset + width() - tab_active.r_width, bg_offset_y, - tab_active.r_width, height()); - SkBitmap theme_r = - SkBitmapOperations::CreateMaskedBitmap(tab_r, *tab_alpha.image_r); - canvas->DrawBitmapInt(theme_r, - 0, 0, theme_r.width(), theme_r.height() - kToolbarOverlap, - width() - theme_r.width(), 0, theme_r.width(), - theme_r.height() - kToolbarOverlap, false); - - // Draw center. Instead of masking out the top portion we simply skip over - // it by incrementing by kDropShadowHeight, since it's a simple rectangle. - // And again, don't draw over the toolbar. - canvas->TileImageInt(*tab_bg, - offset + tab_active.l_width, bg_offset_y + kDropShadowHeight, - tab_active.l_width, kDropShadowHeight, - width() - tab_active.l_width - tab_active.r_width, - height() - kDropShadowHeight - kToolbarOverlap); - - // Now draw the highlights/shadows around the tab edge. - canvas->DrawBitmapInt(*tab_inactive.image_l, 0, 0); - canvas->TileImageInt(*tab_inactive.image_c, - tab_inactive.l_width, 0, - width() - tab_inactive.l_width - tab_inactive.r_width, - height()); - canvas->DrawBitmapInt(*tab_inactive.image_r, - width() - tab_inactive.r_width, 0); - } + // Draw left edge. Don't draw over the toolbar, as we're not the foreground + // tab. + SkBitmap tab_l = SkBitmapOperations::CreateTiledBitmap( + *tab_bg, offset, bg_offset_y, tab_active.l_width, height()); + SkBitmap theme_l = + SkBitmapOperations::CreateMaskedBitmap(tab_l, *tab_alpha.image_l); + canvas->DrawBitmapInt(theme_l, + 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap, + 0, 0, theme_l.width(), theme_l.height() - kToolbarOverlap, + false); + + // Draw right edge. Again, don't draw over the toolbar. + SkBitmap tab_r = SkBitmapOperations::CreateTiledBitmap(*tab_bg, + offset + width() - tab_active.r_width, bg_offset_y, + tab_active.r_width, height()); + SkBitmap theme_r = + SkBitmapOperations::CreateMaskedBitmap(tab_r, *tab_alpha.image_r); + canvas->DrawBitmapInt(theme_r, + 0, 0, theme_r.width(), theme_r.height() - kToolbarOverlap, + width() - theme_r.width(), 0, theme_r.width(), + theme_r.height() - kToolbarOverlap, false); + + // Draw center. Instead of masking out the top portion we simply skip over it + // by incrementing by kDropShadowHeight, since it's a simple rectangle. And + // again, don't draw over the toolbar. + canvas->TileImageInt(*tab_bg, + offset + tab_active.l_width, bg_offset_y + kDropShadowHeight, + tab_active.l_width, kDropShadowHeight, + width() - tab_active.l_width - tab_active.r_width, + height() - kDropShadowHeight - kToolbarOverlap); + + // Now draw the highlights/shadows around the tab edge. + canvas->DrawBitmapInt(*tab_inactive.image_l, 0, 0); + canvas->TileImageInt(*tab_inactive.image_c, + tab_inactive.l_width, 0, + width() - tab_inactive.l_width - tab_inactive.r_width, + height()); + canvas->DrawBitmapInt(*tab_inactive.image_r, + width() - tab_inactive.r_width, 0); } void TabRenderer::PaintActiveTabBackground(gfx::Canvas* canvas) { @@ -792,39 +765,33 @@ void TabRenderer::PaintActiveTabBackground(gfx::Canvas* canvas) { SkBitmap* tab_bg = GetThemeProvider()->GetBitmapNamed(IDR_THEME_TOOLBAR); - // App tabs are drawn slightly differently (as nano tabs). - TabImage* tab_image = data_.app ? &tab_active_nano : &tab_active; - TabImage* alpha = data_.app ? &tab_alpha_nano : &tab_alpha; - // Draw left edge. SkBitmap tab_l = SkBitmapOperations::CreateTiledBitmap( - *tab_bg, offset, 0, tab_image->l_width, height()); + *tab_bg, offset, 0, tab_active.l_width, height()); SkBitmap theme_l = - SkBitmapOperations::CreateMaskedBitmap(tab_l, *alpha->image_l); + SkBitmapOperations::CreateMaskedBitmap(tab_l, *tab_alpha.image_l); canvas->DrawBitmapInt(theme_l, 0, 0); // Draw right edge. SkBitmap tab_r = SkBitmapOperations::CreateTiledBitmap(*tab_bg, - offset + width() - tab_image->r_width, 0, tab_image->r_width, height()); + offset + width() - tab_active.r_width, 0, tab_active.r_width, height()); SkBitmap theme_r = - SkBitmapOperations::CreateMaskedBitmap(tab_r, *alpha->image_r); - canvas->DrawBitmapInt(theme_r, width() - tab_image->r_width, 0); + SkBitmapOperations::CreateMaskedBitmap(tab_r, *tab_alpha.image_r); + canvas->DrawBitmapInt(theme_r, width() - tab_active.r_width, 0); // Draw center. Instead of masking out the top portion we simply skip over it // by incrementing by kDropShadowHeight, since it's a simple rectangle. canvas->TileImageInt(*tab_bg, - offset + tab_image->l_width, - kDropShadowHeight + tab_image->y_offset, - tab_image->l_width, - kDropShadowHeight + tab_image->y_offset, - width() - tab_image->l_width - tab_image->r_width, - height() - kDropShadowHeight - tab_image->y_offset); + offset + tab_active.l_width, kDropShadowHeight, + tab_active.l_width, kDropShadowHeight, + width() - tab_active.l_width - tab_active.r_width, + height() - kDropShadowHeight); // Now draw the highlights/shadows around the tab edge. - canvas->DrawBitmapInt(*tab_image->image_l, 0, 0); - canvas->TileImageInt(*tab_image->image_c, tab_image->l_width, 0, - width() - tab_image->l_width - tab_image->r_width, height()); - canvas->DrawBitmapInt(*tab_image->image_r, width() - tab_image->r_width, 0); + canvas->DrawBitmapInt(*tab_active.image_l, 0, 0); + canvas->TileImageInt(*tab_active.image_c, tab_active.l_width, 0, + width() - tab_active.l_width - tab_active.r_width, height()); + canvas->DrawBitmapInt(*tab_active.image_r, width() - tab_active.r_width, 0); } void TabRenderer::PaintLoadingAnimation(gfx::Canvas* canvas) { @@ -852,47 +819,6 @@ void TabRenderer::PaintLoadingAnimation(gfx::Canvas* canvas) { false); } -void TabRenderer::PaintAsNewTab(gfx::Canvas* canvas) { - bool is_otr = data_.off_the_record; - - // The tab image needs to be lined up with the background image - // so that it feels partially transparent. These offsets represent the tab - // position within the frame background image. - int offset = GetX(views::View::APPLY_MIRRORING_TRANSFORMATION) + - background_offset_.x(); - - int tab_id; - if (GetWidget() && - GetWidget()->GetWindow()->GetNonClientView()->UseNativeFrame()) { - tab_id = IDR_THEME_TAB_BACKGROUND_V; - } else { - tab_id = is_otr ? IDR_THEME_TAB_BACKGROUND_INCOGNITO : - IDR_THEME_TAB_BACKGROUND; - } - - SkBitmap* tab_bg = GetThemeProvider()->GetBitmapNamed(tab_id); - - // If the theme is providing a custom background image, then its top edge - // should be at the top of the tab. Otherwise, we assume that the background - // image is a composited foreground + frame image. - int bg_offset_y = GetThemeProvider()->HasCustomImage(tab_id) ? - 0 : background_offset_.y(); - - SkBitmap image = SkBitmapOperations::CreateTiledBitmap( - *tab_bg, offset, bg_offset_y, new_tab_mask->width(), - new_tab_mask->height()); - image = SkBitmapOperations::CreateMaskedBitmap(image, *new_tab_mask); - canvas->DrawBitmapInt(image, - 0, 0, image.width(), image.height(), - 0, 0, image.width(), image.height(), - false); - - canvas->DrawBitmapInt(*new_tab_shadow, - 0, 0, new_tab_shadow->width(), new_tab_shadow->height(), - 0, 0, new_tab_shadow->width(), new_tab_shadow->height(), - false); -} - int TabRenderer::IconCapacity() const { if (height() < GetMinimumUnselectedSize().height()) return 0; @@ -918,9 +844,6 @@ bool TabRenderer::ShouldShowCloseBox() const { } double TabRenderer::GetThrobValue() { - if (data_.alpha != 1) - return data_.alpha; - if (pulse_animation_->IsAnimating()) return pulse_animation_->GetCurrentValue() * kHoverOpacity; @@ -969,38 +892,21 @@ void TabRenderer::LoadTabImages() { tab_alpha.image_l = rb.GetBitmapNamed(IDR_TAB_ALPHA_LEFT); tab_alpha.image_r = rb.GetBitmapNamed(IDR_TAB_ALPHA_RIGHT); - tab_alpha_nano.image_l = rb.GetBitmapNamed(IDR_TAB_ALPHA_NANO_LEFT); - tab_alpha_nano.image_r = rb.GetBitmapNamed(IDR_TAB_ALPHA_NANO_RIGHT); - tab_active.image_l = rb.GetBitmapNamed(IDR_TAB_ACTIVE_LEFT); tab_active.image_c = rb.GetBitmapNamed(IDR_TAB_ACTIVE_CENTER); tab_active.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_RIGHT); tab_active.l_width = tab_active.image_l->width(); tab_active.r_width = tab_active.image_r->width(); - // This is high much taller *visually* the regular tab is compared to the - // nano tabs. The images are the same height, this is really just the - // difference in whitespace above the tab image. - const int kMiniTabDiffHeight = 14; - - tab_active_nano.image_l = rb.GetBitmapNamed(IDR_TAB_ACTIVE_NANO_LEFT); - tab_active_nano.image_c = rb.GetBitmapNamed(IDR_TAB_ACTIVE_NANO_CENTER); - tab_active_nano.image_r = rb.GetBitmapNamed(IDR_TAB_ACTIVE_NANO_RIGHT); - tab_active_nano.l_width = tab_active_nano.image_l->width(); - tab_active_nano.r_width = tab_active_nano.image_r->width(); - tab_active_nano.y_offset = kMiniTabDiffHeight; - tab_inactive.image_l = rb.GetBitmapNamed(IDR_TAB_INACTIVE_LEFT); tab_inactive.image_c = rb.GetBitmapNamed(IDR_TAB_INACTIVE_CENTER); tab_inactive.image_r = rb.GetBitmapNamed(IDR_TAB_INACTIVE_RIGHT); + tab_inactive.l_width = tab_inactive.image_l->width(); tab_inactive.r_width = tab_inactive.image_r->width(); loading_animation_frames = rb.GetBitmapNamed(IDR_THROBBER); waiting_animation_frames = rb.GetBitmapNamed(IDR_THROBBER_WAITING); - - new_tab_mask = rb.GetBitmapNamed(IDR_TAB_ALPHA_NEW_TAB); - new_tab_shadow = rb.GetBitmapNamed(IDR_TAB_NEW_TAB_SHADOW); } void TabRenderer::SetBlocked(bool blocked) { diff --git a/chrome/browser/views/tabs/tab_renderer.h b/chrome/browser/views/tabs/tab_renderer.h index fc01a7a..2e309c6 100644 --- a/chrome/browser/views/tabs/tab_renderer.h +++ b/chrome/browser/views/tabs/tab_renderer.h @@ -1,19 +1,17 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ -#define CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ +#ifndef CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ +#define CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ #include "app/animation.h" -#include "base/ref_counted.h" #include "base/scoped_ptr.h" #include "base/string16.h" #include "gfx/point.h" #include "views/controls/button/image_button.h" #include "views/view.h" -class AnimationContainer; class SlideAnimation; class TabContents; class ThrobAnimation; @@ -39,11 +37,6 @@ class TabRenderer : public views::View, TabRenderer(); virtual ~TabRenderer(); - // Sizes the renderer to the size of the new tab images. This is used - // during the new tab animation. See TabStrip's description of AnimationType - // for details. - void SizeToNewTabButtonImages(); - // Overridden from views: void ViewHierarchyChanged(bool is_add, View* parent, View* child); ThemeProvider* GetThemeProvider(); @@ -62,26 +55,10 @@ class TabRenderer : public views::View, void set_mini(bool mini) { data_.mini = mini; } bool mini() const { return data_.mini; } - // Sets the mini-state of the tab. - void set_app(bool app) { data_.app = app; } - bool app() const { return data_.app; } - // Sets the phantom state of the tab. void set_phantom(bool phantom) { data_.phantom = phantom; } bool phantom() const { return data_.phantom; } - // Used during new tab animation to force the tab to render a new tab like - // animation. - void set_render_as_new_tab(bool value) { data_.render_as_new_tab = value; } - - // Sets the alpha value to render the tab at. This is used during the new - // tab animation. - void set_alpha(double value) { data_.alpha = value; } - - // Forces the tab to render unselected even though it is selected. - void set_render_unselected(bool value) { data_.render_unselected = value; } - bool render_unselected() const { return data_.render_unselected; } - // Are we in the process of animating a mini tab state change on this tab? void set_animating_mini_change(bool value); @@ -116,9 +93,6 @@ class TabRenderer : public views::View, theme_provider_ = provider; } - // Sets the container all animations run from. - void SetAnimationContainer(AnimationContainer* container); - // Paints the icon. Most of the time you'll want to invoke Paint directly, but // in certain situations this invoked outside of Paint. void PaintIcon(gfx::Canvas* canvas); @@ -184,7 +158,6 @@ class TabRenderer : public views::View, void PaintInactiveTabBackground(gfx::Canvas* canvas); void PaintActiveTabBackground(gfx::Canvas* canvas); void PaintLoadingAnimation(gfx::Canvas* canvas); - void PaintAsNewTab(gfx::Canvas* canvas); // Returns the number of favicon-size elements that can fit in the tab's // current size. @@ -238,11 +211,7 @@ class TabRenderer : public views::View, mini(false), blocked(false), animating_mini_change(false), - phantom(false), - app(false), - render_as_new_tab(false), - render_unselected(false), - alpha(1) { + phantom(false) { } SkBitmap favicon; @@ -255,10 +224,6 @@ class TabRenderer : public views::View, bool blocked; bool animating_mini_change; bool phantom; - bool app; - bool render_as_new_tab; - bool render_unselected; - double alpha; }; TabData data_; @@ -268,13 +233,10 @@ class TabRenderer : public views::View, SkBitmap* image_r; int l_width; int r_width; - int y_offset; }; static TabImage tab_active; - static TabImage tab_active_nano; static TabImage tab_inactive; static TabImage tab_alpha; - static TabImage tab_alpha_nano; // Whether we're showing the icon. It is cached so that we can detect when it // changes and layout appropriately. @@ -298,12 +260,10 @@ class TabRenderer : public views::View, ThemeProvider* theme_provider_; - scoped_refptr<AnimationContainer> container_; - static void InitClass(); static bool initialized_; - DISALLOW_COPY_AND_ASSIGN(TabRenderer); + DISALLOW_EVIL_CONSTRUCTORS(TabRenderer); }; -#endif // CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H_ +#endif // CHROME_BROWSER_VIEWS_TABS_TAB_RENDERER_H__ diff --git a/chrome/browser/views/tabs/tab_strip.cc b/chrome/browser/views/tabs/tab_strip.cc index a28ff52b..1a9edb3 100644 --- a/chrome/browser/views/tabs/tab_strip.cc +++ b/chrome/browser/views/tabs/tab_strip.cc @@ -4,14 +4,12 @@ #include "chrome/browser/views/tabs/tab_strip.h" -#include "app/animation_container.h" #include "app/drag_drop_types.h" #include "app/l10n_util.h" #include "app/os_exchange_data.h" #include "app/resource_bundle.h" #include "app/slide_animation.h" #include "base/command_line.h" -#include "base/compiler_specific.h" #include "base/stl_util-inl.h" #include "chrome/browser/browser.h" #include "chrome/browser/browser_theme_provider.h" @@ -27,7 +25,6 @@ #include "chrome/browser/views/tabs/tab.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" -#include "chrome/common/url_constants.h" #include "gfx/canvas.h" #include "gfx/path.h" #include "gfx/size.h" @@ -57,21 +54,10 @@ using views::DropTargetEvent; -// Duration of the first step in a new tab animation. -static const int kNewTabDurationMs = 50; - -// Duration of the last step in the new tab animation. -static const int kNewTab3DurationMs = 100; - -// Amount in pixels newly inserted tabs go past target bounds before animating -// to final position. This is used for ANIMATION_NEW_TAB_2. -static const int kNewTabOvershoot = 9; - -// Amount in pixels the newly inserted tab is clipped against the previous -// tab while animating. This is used to make sure the user doesn't see the -// newly inserted tab behind other tabs and so that its shadow isn't visible -// until the user can actually see the tab. -static const int kNetTabSelectedOffset = -13; +static const int kDefaultAnimationDurationMs = 200; +static const int kResizeLayoutAnimationDurationMs = 200; +static const int kReorderAnimationDurationMs = 200; +static const int kMiniTabAnimationDurationMs = 200; static const int kNewTabButtonHOffset = -5; static const int kNewTabButtonVOffset = 5; @@ -95,27 +81,6 @@ static inline int Round(double x) { return static_cast<int>(floor(x + 0.5)); } -namespace { - -// Animation delegate used during new tab animation step 2 to vary the alpha of -// the tab. -class NewTabAlphaDelegate - : public views::BoundsAnimator::OwnedAnimationDelegate { - public: - explicit NewTabAlphaDelegate(Tab* tab) : tab_(tab) { - } - - virtual void AnimationProgressed(const Animation* animation) { - if (tab_->render_unselected()) - tab_->set_alpha(animation->GetCurrentValue()); - } - - private: - Tab* tab_; - - DISALLOW_COPY_AND_ASSIGN(NewTabAlphaDelegate); -}; - /////////////////////////////////////////////////////////////////////////////// // NewTabButton // @@ -159,44 +124,292 @@ class NewTabButton : public views::ImageButton { DISALLOW_COPY_AND_ASSIGN(NewTabButton); }; -} // namespace - -// AnimationDelegate used when removing a tab. Does the necessary cleanup when -// done. -class TabStrip::RemoveTabDelegate - : public views::BoundsAnimator::OwnedAnimationDelegate { +/////////////////////////////////////////////////////////////////////////////// +// +// TabAnimation +// +// A base class for all TabStrip animations. +// +class TabStrip::TabAnimation : public AnimationDelegate { public: - RemoveTabDelegate(TabStrip* tab_strip, Tab* tab) - : tabstrip_(tab_strip), - tab_(tab) { + friend class TabStrip; + + // Possible types of animation. + enum Type { + INSERT, + REMOVE, + MOVE, + RESIZE, + MINI, + MINI_MOVE + }; + + TabAnimation(TabStrip* tabstrip, Type type) + : tabstrip_(tabstrip), + animation_(this), + start_selected_width_(0), + start_unselected_width_(0), + end_selected_width_(0), + end_unselected_width_(0), + layout_on_completion_(false), + type_(type) { + } + virtual ~TabAnimation() {} + + Type type() const { return type_; } + + void Start() { + animation_.SetSlideDuration(GetDuration()); + animation_.SetTweenType(SlideAnimation::EASE_OUT); + if (!animation_.IsShowing()) { + animation_.Reset(); + animation_.Show(); + } + } + + void Stop() { + animation_.Stop(); + } + + void set_layout_on_completion(bool layout_on_completion) { + layout_on_completion_ = layout_on_completion; + } + + // Retrieves the width for the Tab at the specified index if an animation is + // active. + static double GetCurrentTabWidth(TabStrip* tabstrip, + TabStrip::TabAnimation* animation, + int index) { + Tab* tab = tabstrip->GetTabAt(index); + double tab_width; + if (tab->mini()) { + tab_width = Tab::GetMiniWidth(); + } else { + double unselected, selected; + tabstrip->GetCurrentTabWidths(&unselected, &selected); + tab_width = tab->IsSelected() ? selected : unselected; + } + if (animation) { + double specified_tab_width = animation->GetWidthForTab(index); + if (specified_tab_width != -1) + tab_width = specified_tab_width; + } + return tab_width; + } + + // Overridden from AnimationDelegate: + virtual void AnimationProgressed(const Animation* animation) { + tabstrip_->AnimationLayout(end_unselected_width_); } virtual void AnimationEnded(const Animation* animation) { - CompleteRemove(); + tabstrip_->FinishAnimation(this, layout_on_completion_); + // This object is destroyed now, so we can't do anything else after this. } virtual void AnimationCanceled(const Animation* animation) { - // We can be canceled for two interesting reasons: - // . The tab we reference was dragged back into the tab strip. In this case - // we don't want to remove the tab (closing is false). - // . The drag was completed before the animation completed - // (DestroyDraggedSourceTab). In this case we need to remove the tab - // (closing is true). - if (tab_->closing()) - CompleteRemove(); + AnimationEnded(animation); + } + + // Returns the gap before the tab at the specified index. Subclass if during + // an animation you need to insert a gap before a tab. + virtual double GetGapWidth(int index) { + return 0; + } + + protected: + // Returns the duration of the animation. + virtual int GetDuration() const { + return kDefaultAnimationDurationMs; + } + + // Subclasses override to return the width of the Tab at the specified index + // at the current animation frame. -1 indicates the default width should be + // used for the Tab. + virtual double GetWidthForTab(int index) const { + return -1; // Use default. + } + + // Figure out the desired start and end widths for the specified pre- and + // post- animation tab counts. + void GenerateStartAndEndWidths(int start_tab_count, int end_tab_count, + int start_mini_count, + int end_mini_count) { + tabstrip_->GetDesiredTabWidths(start_tab_count, start_mini_count, + &start_unselected_width_, + &start_selected_width_); + double standard_tab_width = + static_cast<double>(TabRenderer::GetStandardSize().width()); + if (start_tab_count < end_tab_count && + start_unselected_width_ < standard_tab_width) { + double minimum_tab_width = + static_cast<double>(TabRenderer::GetMinimumUnselectedSize().width()); + start_unselected_width_ -= minimum_tab_width / start_tab_count; + } + tabstrip_->GenerateIdealBounds(); + tabstrip_->GetDesiredTabWidths(end_tab_count, end_mini_count, + &end_unselected_width_, + &end_selected_width_); } + TabStrip* tabstrip_; + SlideAnimation animation_; + + double start_selected_width_; + double start_unselected_width_; + double end_selected_width_; + double end_unselected_width_; + private: - void CompleteRemove() { - if (!tab_->closing()) { - // The tab was added back yet we weren't canceled. This shouldn't happen. - NOTREACHED(); - return; + // True if a complete re-layout is required upon completion of the animation. + // Subclasses set this if they don't perform a complete layout + // themselves and canceling the animation may leave the strip in an + // inconsistent state. + bool layout_on_completion_; + + const Type type_; + + DISALLOW_COPY_AND_ASSIGN(TabAnimation); +}; + +/////////////////////////////////////////////////////////////////////////////// + +// Handles insertion of a Tab at |index|. +class TabStrip::InsertTabAnimation : public TabStrip::TabAnimation { + public: + explicit InsertTabAnimation(TabStrip* tabstrip, int index) + : TabAnimation(tabstrip, INSERT), + index_(index) { + int tab_count = tabstrip->GetTabCount(); + int end_mini_count = tabstrip->GetMiniTabCount(); + int start_mini_count = end_mini_count; + if (index < end_mini_count) + start_mini_count--; + GenerateStartAndEndWidths(tab_count - 1, tab_count, start_mini_count, + end_mini_count); + } + virtual ~InsertTabAnimation() {} + + protected: + // Overridden from TabStrip::TabAnimation: + virtual double GetWidthForTab(int index) const { + if (index == index_) { + bool is_selected = tabstrip_->model()->selected_index() == index; + double start_width, target_width; + if (index < tabstrip_->GetMiniTabCount()) { + start_width = Tab::GetMinimumSelectedSize().width(); + target_width = Tab::GetMiniWidth(); + } else { + target_width = + is_selected ? end_unselected_width_ : end_selected_width_; + start_width = + is_selected ? Tab::GetMinimumSelectedSize().width() : + Tab::GetMinimumUnselectedSize().width(); + } + double delta = target_width - start_width; + if (delta > 0) + return start_width + (delta * animation_.GetCurrentValue()); + return start_width; + } + + if (tabstrip_->GetTabAt(index)->mini()) + return Tab::GetMiniWidth(); + + if (tabstrip_->GetTabAt(index)->IsSelected()) { + double delta = end_selected_width_ - start_selected_width_; + return start_selected_width_ + (delta * animation_.GetCurrentValue()); + } + + double delta = end_unselected_width_ - start_unselected_width_; + return start_unselected_width_ + (delta * animation_.GetCurrentValue()); + } + + private: + int index_; + + DISALLOW_COPY_AND_ASSIGN(InsertTabAnimation); +}; + +/////////////////////////////////////////////////////////////////////////////// + +// Handles removal of a Tab from |index| +class TabStrip::RemoveTabAnimation : public TabStrip::TabAnimation { + public: + RemoveTabAnimation(TabStrip* tabstrip, int index, TabContents* contents) + : TabAnimation(tabstrip, REMOVE), + index_(index) { + int tab_count = tabstrip->GetTabCount(); + int start_mini_count = tabstrip->GetMiniTabCount(); + int end_mini_count = start_mini_count; + if (index < start_mini_count) + end_mini_count--; + GenerateStartAndEndWidths(tab_count, tab_count - 1, start_mini_count, + end_mini_count); + // If the last non-mini-tab is being removed we force a layout on + // completion. This is necessary as the value returned by GetTabHOffset + // changes once the tab is actually removed (which happens at the end of + // the animation), and unless we layout GetTabHOffset won't be called after + // the removal. + // We do the same when the last mini-tab is being removed for the same + // reason. + set_layout_on_completion(start_mini_count > 0 && + (end_mini_count == 0 || + (start_mini_count == end_mini_count && + tab_count == start_mini_count + 1))); + } + + // Returns the index of the tab being removed. + int index() const { return index_; } + + virtual ~RemoveTabAnimation() { + } + + protected: + // Overridden from TabStrip::TabAnimation: + virtual double GetWidthForTab(int index) const { + Tab* tab = tabstrip_->GetTabAt(index); + if (index == index_) { + // The tab(s) being removed are gradually shrunken depending on the state + // of the animation. + // Removed animated Tabs are never selected. + if (tab->mini()) { + return animation_.CurrentValueBetween(Tab::GetMiniWidth(), + -kTabHOffset); + } + + double start_width = start_unselected_width_; + // Make sure target_width is at least abs(kTabHOffset), otherwise if + // less than kTabHOffset during layout tabs get negatively offset. + double target_width = + std::max(abs(kTabHOffset), + Tab::GetMinimumUnselectedSize().width() + kTabHOffset); + return animation_.CurrentValueBetween(start_width, target_width); + } + + if (tab->mini()) + return Tab::GetMiniWidth(); + + if (tabstrip_->available_width_for_tabs_ != -1 && + index_ != tabstrip_->GetTabCount() - 1) { + return TabStrip::TabAnimation::GetWidthForTab(index); + } + // All other tabs are sized according to the start/end widths specified at + // the start of the animation. + if (tab->IsSelected()) { + double delta = end_selected_width_ - start_selected_width_; + return start_selected_width_ + (delta * animation_.GetCurrentValue()); } - tabstrip_->RemoveTab(tab_); + double delta = end_unselected_width_ - start_unselected_width_; + return start_unselected_width_ + (delta * animation_.GetCurrentValue()); + } + + virtual void AnimationEnded(const Animation* animation) { + tabstrip_->RemoveTabAt(index_); HighlightCloseButton(); + TabStrip::TabAnimation::AnimationEnded(animation); } + private: // When the animation completes, we send the Container a message to simulate // a mouse moved event at the current mouse position. This tickles the Tab // the mouse is currently over to show the "hot" state of the close button. @@ -226,10 +439,293 @@ class TabStrip::RemoveTabDelegate #endif } - TabStrip* tabstrip_; + int index_; + + DISALLOW_COPY_AND_ASSIGN(RemoveTabAnimation); +}; + +/////////////////////////////////////////////////////////////////////////////// + +// Handles the movement of a Tab from one position to another. +class TabStrip::MoveTabAnimation : public TabStrip::TabAnimation { + public: + MoveTabAnimation(TabStrip* tabstrip, int tab_a_index, int tab_b_index) + : TabAnimation(tabstrip, MOVE), + start_tab_a_bounds_(tabstrip_->GetIdealBounds(tab_b_index)), + start_tab_b_bounds_(tabstrip_->GetIdealBounds(tab_a_index)) { + tab_a_ = tabstrip_->GetTabAt(tab_a_index); + tab_b_ = tabstrip_->GetTabAt(tab_b_index); + + // Since we don't do a full TabStrip re-layout, we need to force a full + // layout upon completion since we're not guaranteed to be in a good state + // if for example the animation is canceled. + set_layout_on_completion(true); + } + virtual ~MoveTabAnimation() {} + + // Overridden from AnimationDelegate: + virtual void AnimationProgressed(const Animation* animation) { + // Position Tab A + double distance = start_tab_b_bounds_.x() - start_tab_a_bounds_.x(); + double delta = distance * animation_.GetCurrentValue(); + double new_x = start_tab_a_bounds_.x() + delta; + tab_a_->SetBounds(Round(new_x), tab_a_->y(), tab_a_->width(), + tab_a_->height()); + + // Position Tab B + distance = start_tab_a_bounds_.x() - start_tab_b_bounds_.x(); + delta = distance * animation_.GetCurrentValue(); + new_x = start_tab_b_bounds_.x() + delta; + tab_b_->SetBounds(Round(new_x), tab_b_->y(), tab_b_->width(), + tab_b_->height()); + + tabstrip_->SchedulePaint(); + } + + protected: + // Overridden from TabStrip::TabAnimation: + virtual int GetDuration() const { return kReorderAnimationDurationMs; } + + private: + // The two tabs being exchanged. + Tab* tab_a_; + Tab* tab_b_; + + // ...and their bounds. + gfx::Rect start_tab_a_bounds_; + gfx::Rect start_tab_b_bounds_; + + DISALLOW_COPY_AND_ASSIGN(MoveTabAnimation); +}; + +/////////////////////////////////////////////////////////////////////////////// + +// Handles the animated resize layout of the entire TabStrip from one width +// to another. +class TabStrip::ResizeLayoutAnimation : public TabStrip::TabAnimation { + public: + explicit ResizeLayoutAnimation(TabStrip* tabstrip) + : TabAnimation(tabstrip, RESIZE) { + int tab_count = tabstrip->GetTabCount(); + int mini_tab_count = tabstrip->GetMiniTabCount(); + GenerateStartAndEndWidths(tab_count, tab_count, mini_tab_count, + mini_tab_count); + InitStartState(); + } + virtual ~ResizeLayoutAnimation() { + } + + // Overridden from AnimationDelegate: + virtual void AnimationEnded(const Animation* animation) { + tabstrip_->needs_resize_layout_ = false; + TabStrip::TabAnimation::AnimationEnded(animation); + } + + protected: + // Overridden from TabStrip::TabAnimation: + virtual int GetDuration() const { + return kResizeLayoutAnimationDurationMs; + } + + virtual double GetWidthForTab(int index) const { + Tab* tab = tabstrip_->GetTabAt(index); + if (tab->mini()) + return Tab::GetMiniWidth(); + + if (tab->IsSelected()) { + return animation_.CurrentValueBetween(start_selected_width_, + end_selected_width_); + } + + return animation_.CurrentValueBetween(start_unselected_width_, + end_unselected_width_); + } + + private: + // We need to start from the current widths of the Tabs as they were last + // laid out, _not_ the last known good state, which is what'll be done if we + // don't measure the Tab sizes here and just go with the default TabAnimation + // behavior... + void InitStartState() { + for (int i = 0; i < tabstrip_->GetTabCount(); ++i) { + Tab* current_tab = tabstrip_->GetTabAt(i); + if (!current_tab->mini()) { + if (current_tab->IsSelected()) { + start_selected_width_ = current_tab->width(); + } else { + start_unselected_width_ = current_tab->width(); + } + } + } + } + + DISALLOW_COPY_AND_ASSIGN(ResizeLayoutAnimation); +}; + +// Handles a tabs mini-state changing while the tab does not change position +// in the model. +class TabStrip::MiniTabAnimation : public TabStrip::TabAnimation { + public: + explicit MiniTabAnimation(TabStrip* tabstrip, int index) + : TabAnimation(tabstrip, MINI), + index_(index) { + int tab_count = tabstrip->GetTabCount(); + int start_mini_count = tabstrip->GetMiniTabCount(); + int end_mini_count = start_mini_count; + if (tabstrip->GetTabAt(index)->mini()) + start_mini_count--; + else + start_mini_count++; + tabstrip_->GetTabAt(index)->set_animating_mini_change(true); + GenerateStartAndEndWidths(tab_count, tab_count, start_mini_count, + end_mini_count); + } + + protected: + // Overridden from TabStrip::TabAnimation: + virtual int GetDuration() const { + return kMiniTabAnimationDurationMs; + } + + virtual double GetWidthForTab(int index) const { + Tab* tab = tabstrip_->GetTabAt(index); + + if (index == index_) { + if (tab->mini()) { + return animation_.CurrentValueBetween( + start_selected_width_, + static_cast<double>(Tab::GetMiniWidth())); + } else { + return animation_.CurrentValueBetween( + static_cast<double>(Tab::GetMiniWidth()), + end_selected_width_); + } + } else if (tab->mini()) { + return Tab::GetMiniWidth(); + } + + if (tab->IsSelected()) { + return animation_.CurrentValueBetween(start_selected_width_, + end_selected_width_); + } + + return animation_.CurrentValueBetween(start_unselected_width_, + end_unselected_width_); + } + + private: + // Index of the tab whose mini state changed. + int index_; + + DISALLOW_COPY_AND_ASSIGN(MiniTabAnimation); +}; + +//////////////////////////////////////////////////////////////////////////////// + +// Handles the animation when a tabs mini state changes and the tab moves as a +// result. +class TabStrip::MiniMoveAnimation : public TabStrip::TabAnimation { + public: + explicit MiniMoveAnimation(TabStrip* tabstrip, + int from_index, + int to_index, + const gfx::Rect& start_bounds) + : TabAnimation(tabstrip, MINI_MOVE), + tab_(tabstrip->GetTabAt(to_index)), + start_bounds_(start_bounds), + from_index_(from_index), + to_index_(to_index) { + int tab_count = tabstrip->GetTabCount(); + int start_mini_count = tabstrip->GetMiniTabCount(); + int end_mini_count = start_mini_count; + if (tabstrip->GetTabAt(to_index)->mini()) + start_mini_count--; + else + start_mini_count++; + GenerateStartAndEndWidths(tab_count, tab_count, start_mini_count, + end_mini_count); + target_bounds_ = tabstrip->GetIdealBounds(to_index); + tab_->set_animating_mini_change(true); + } + + // Overridden from AnimationDelegate: + virtual void AnimationProgressed(const Animation* animation) { + // Do the normal layout. + TabAnimation::AnimationProgressed(animation); + + // Then special case the position of the tab being moved. + int x = animation_.CurrentValueBetween(start_bounds_.x(), + target_bounds_.x()); + int width = animation_.CurrentValueBetween(start_bounds_.width(), + target_bounds_.width()); + gfx::Rect tab_bounds(x, start_bounds_.y(), width, + start_bounds_.height()); + tab_->SetBounds(tab_bounds); + } + + virtual void AnimationEnded(const Animation* animation) { + tabstrip_->needs_resize_layout_ = false; + TabStrip::TabAnimation::AnimationEnded(animation); + } + + virtual double GetGapWidth(int index) { + if (to_index_ < from_index_) { + // The tab was mini. + if (index == to_index_) { + double current_size = + animation_.CurrentValueBetween(0, target_bounds_.width()); + if (current_size < -kTabHOffset) + return -(current_size + kTabHOffset); + } else if (index == from_index_ + 1) { + return animation_.CurrentValueBetween(start_bounds_.width(), 0); + } + } else { + // The tab was made a normal tab. + if (index == from_index_) { + return animation_.CurrentValueBetween(Tab::GetMiniWidth() + + kTabHOffset, 0); + } + } + return 0; + } + + protected: + // Overridden from TabStrip::TabAnimation: + virtual int GetDuration() const { return kReorderAnimationDurationMs; } + + virtual double GetWidthForTab(int index) const { + Tab* tab = tabstrip_->GetTabAt(index); + + if (index == to_index_) + return animation_.CurrentValueBetween(0, target_bounds_.width()); + + if (tab->mini()) + return Tab::GetMiniWidth(); + + if (tab->IsSelected()) { + return animation_.CurrentValueBetween(start_selected_width_, + end_selected_width_); + } + + return animation_.CurrentValueBetween(start_unselected_width_, + end_unselected_width_); + } + + private: + // The tab being moved. Tab* tab_; - DISALLOW_COPY_AND_ASSIGN(RemoveTabDelegate); + // Initial bounds of tab_. + gfx::Rect start_bounds_; + + // Target bounds. + gfx::Rect target_bounds_; + + // Start and end indices of the tab. + int from_index_; + int to_index_; + + DISALLOW_COPY_AND_ASSIGN(MiniMoveAnimation); }; /////////////////////////////////////////////////////////////////////////////// @@ -245,14 +741,13 @@ TabStrip::TabStrip(TabStripModel* model) needs_resize_layout_(false), current_unselected_width_(Tab::GetStandardSize().width()), current_selected_width_(Tab::GetStandardSize().width()), - available_width_for_tabs_(-1), - animation_container_(new AnimationContainer()), - ALLOW_THIS_IN_INITIALIZER_LIST(bounds_animator_(this)), - animation_type_(ANIMATION_DEFAULT) { + available_width_for_tabs_(-1) { Init(); } TabStrip::~TabStrip() { + active_animation_.reset(NULL); + // TODO(beng): (1031854) Restore this line once XPFrame/VistaFrame are dead. // model_->RemoveObserver(this); @@ -280,34 +775,36 @@ void TabStrip::DestroyDragController() { void TabStrip::DestroyDraggedSourceTab(Tab* tab) { // We could be running an animation that references this Tab. - StopAnimating(true); - + if (active_animation_.get()) + active_animation_->Stop(); // Make sure we leave the tab_data_ vector in a consistent state, otherwise // we'll be pointing to tabs that have been deleted and removed from the // child view list. - int tab_data_index = TabDataIndexOfTab(tab); - if (tab_data_index != -1) { - if (!model_->closing_all()) - NOTREACHED() << "Leaving in an inconsistent state!"; - tab_data_.erase(tab_data_.begin() + tab_data_index); + std::vector<TabData>::iterator it = tab_data_.begin(); + for (; it != tab_data_.end(); ++it) { + if (it->tab == tab) { + if (!model_->closing_all()) + NOTREACHED() << "Leaving in an inconsistent state!"; + tab_data_.erase(it); + break; + } } - + tab->GetParent()->RemoveChildView(tab); delete tab; - // Force a layout here, because if we've just quickly drag detached a Tab, // the stopping of the active animation above may have left the TabStrip in a // bad (visual) state. Layout(); } -gfx::Rect TabStrip::GetIdealBounds(int tab_data_index) { - DCHECK_GE(tab_data_index, 0); - DCHECK_LT(tab_data_index, GetTabCount()); - return tab_data_[tab_data_index].ideal_bounds; +gfx::Rect TabStrip::GetIdealBounds(int index) { + DCHECK_GE(index, 0); + DCHECK_LT(index, GetTabCount()); + return tab_data_.at(index).ideal_bounds; } Tab* TabStrip::GetSelectedTab() const { - return GetTabAtModelIndex(model()->selected_index()); + return GetTabAtAdjustForAnimation(model()->selected_index()); } void TabStrip::InitTabStripButtons() { @@ -339,7 +836,7 @@ int TabStrip::GetPreferredHeight() { void TabStrip::SetBackgroundOffset(const gfx::Point& offset) { int tab_count = GetTabCount(); for (int i = 0; i < tab_count; ++i) - GetTabAtTabDataIndex(i)->SetBackgroundOffset(offset); + GetTabAt(i)->SetBackgroundOffset(offset); } bool TabStrip::IsPositionInWindowCaption(const gfx::Point& point) { @@ -374,10 +871,12 @@ bool TabStrip::IsDragSessionActive() const { } void TabStrip::UpdateLoadingAnimations() { - for (int i = 0, model_index = 0; i < GetTabCount(); ++i) { - Tab* current_tab = GetTabAtTabDataIndex(i); - if (!current_tab->closing()) { - TabContents* contents = model_->GetTabContentsAt(model_index); + for (int i = 0, index = 0; i < GetTabCount(); ++i, ++index) { + Tab* current_tab = GetTabAt(i); + if (current_tab->closing()) { + --index; + } else { + TabContents* contents = model_->GetTabContentsAt(index); if (!contents || !contents->is_loading()) { current_tab->ValidateLoadingAnimation(Tab::ANIMATION_NONE); } else if (contents->waiting_for_response()) { @@ -385,13 +884,12 @@ void TabStrip::UpdateLoadingAnimations() { } else { current_tab->ValidateLoadingAnimation(Tab::ANIMATION_LOADING); } - model_index++; } } } bool TabStrip::IsAnimating() const { - return bounds_animator_.IsAnimating() || new_tab_timer_.IsRunning(); + return active_animation_.get() != NULL; } TabStrip* TabStrip::AsTabStrip() { @@ -403,7 +901,6 @@ TabStrip* TabStrip::AsTabStrip() { void TabStrip::PaintChildren(gfx::Canvas* canvas) { // Tabs are painted in reverse order, so they stack to the left. - int tab_count = GetTabCount(); // Phantom tabs appear behind all other tabs and are rendered first. To make // them slightly transparent we render them to a different layer. @@ -413,8 +910,8 @@ void TabStrip::PaintChildren(gfx::Canvas* canvas) { canvas->saveLayerAlpha(&bounds, kPhantomTabAlpha, SkCanvas::kARGB_ClipLayer_SaveFlag); canvas->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); - for (int i = tab_count - 1; i >= 0; --i) { - Tab* tab = GetTabAtTabDataIndex(i); + for (int i = GetTabCount() - 1; i >= 0; --i) { + Tab* tab = GetTabAt(i); if (tab->phantom()) tab->ProcessPaint(canvas); } @@ -423,8 +920,8 @@ void TabStrip::PaintChildren(gfx::Canvas* canvas) { canvas->saveLayerAlpha(&bounds, kPhantomTabIconAlpha, SkCanvas::kARGB_ClipLayer_SaveFlag); canvas->drawARGB(0, 255, 255, 255, SkXfermode::kClear_Mode); - for (int i = tab_count - 1; i >= 0; --i) { - Tab* tab = GetTabAtTabDataIndex(i); + for (int i = GetTabCount() - 1; i >= 0; --i) { + Tab* tab = GetTabAt(i); if (tab->phantom()) { canvas->save(); canvas->ClipRectInt(tab->MirroredX(), tab->y(), tab->width(), @@ -439,27 +936,14 @@ void TabStrip::PaintChildren(gfx::Canvas* canvas) { Tab* selected_tab = NULL; - for (int i = tab_count - 1; i >= 0; --i) { - Tab* tab = GetTabAtTabDataIndex(i); + for (int i = GetTabCount() - 1; i >= 0; --i) { + Tab* tab = GetTabAt(i); // We must ask the _Tab's_ model, not ourselves, because in some situations // the model will be different to this object, e.g. when a Tab is being // removed after its TabContents has been destroyed. if (!tab->phantom()) { if (!tab->IsSelected()) { - if (tab->render_unselected() && model_->count() > 1) { - // See comment above kNetTabAnimationSelectedOffset as to why we do - // this. - Tab* last_tab = GetTabAtModelIndex(model_->count() - 2); - canvas->save(); - int clip_x = last_tab->bounds().right() + kNetTabSelectedOffset; - int clip_width = width() - clip_x; - clip_x = MirroredXWithWidthInsideView(clip_x, clip_width); - canvas->ClipRectInt(clip_x, 0, clip_width, height()); - tab->ProcessPaint(canvas); - canvas->restore(); - } else { - tab->ProcessPaint(canvas); - } + tab->ProcessPaint(canvas); } else { selected_tab = tab; } @@ -478,30 +962,23 @@ void TabStrip::PaintChildren(gfx::Canvas* canvas) { paint); } - if (animation_type_ == ANIMATION_NEW_TAB_3) - newtab_button_->ProcessPaint(canvas); - // Paint the selected tab last, so it overlaps all the others. if (selected_tab) selected_tab->ProcessPaint(canvas); // Paint the New Tab button. - if (animation_type_ != ANIMATION_NEW_TAB_1 && - animation_type_ != ANIMATION_NEW_TAB_2 && - animation_type_ != ANIMATION_NEW_TAB_3) { - newtab_button_->ProcessPaint(canvas); - } + newtab_button_->ProcessPaint(canvas); } // Overridden to support automation. See automation_proxy_uitest.cc. views::View* TabStrip::GetViewByID(int view_id) const { if (GetTabCount() > 0) { if (view_id == VIEW_ID_TAB_LAST) { - return GetTabAtTabDataIndex(GetTabCount() - 1); + return GetTabAt(GetTabCount() - 1); } else if ((view_id >= VIEW_ID_TAB_0) && (view_id < VIEW_ID_TAB_LAST)) { int index = view_id - VIEW_ID_TAB_0; if (index >= 0 && index < GetTabCount()) { - return GetTabAtTabDataIndex(index); + return GetTabAt(index); } else { return NULL; } @@ -514,15 +991,22 @@ views::View* TabStrip::GetViewByID(int view_id) const { void TabStrip::Layout() { // Called from: // - window resize - StopAnimating(false); - + // - animation completion + if (active_animation_.get()) + active_animation_->Stop(); GenerateIdealBounds(); + int tab_count = GetTabCount(); + int tab_right = 0; - for (int i = 0, tab_count = GetTabCount(); i < tab_count; ++i) - tab_data_[i].tab->SetBounds(tab_data_[i].ideal_bounds); - - newtab_button_->SetBounds(newtab_button_bounds_); - + for (int i = 0; i < tab_count; ++i) { + const gfx::Rect& bounds = tab_data_.at(i).ideal_bounds; + Tab* tab = GetTabAt(i); + tab->set_animating_mini_change(false); + tab->SetBounds(bounds.x(), bounds.y(), bounds.width(), bounds.height()); + tab_right = bounds.right(); + tab_right += GetTabHOffset(i + 1); + } + LayoutNewTabButton(static_cast<double>(tab_right), current_unselected_width_); SchedulePaint(); } @@ -531,9 +1015,6 @@ gfx::Size TabStrip::GetPreferredSize() { } void TabStrip::OnDragEntered(const DropTargetEvent& event) { - // Force animations to stop, otherwise it makes the index calculation tricky. - StopAnimating(true); - UpdateDropIndex(event); } @@ -604,10 +1085,10 @@ views::View* TabStrip::GetViewForPoint(const gfx::Point& point) { // left-adjacent Tab, so we look ahead for it as we walk. int tab_count = GetTabCount(); for (int i = 0; i < tab_count; ++i) { - Tab* next_tab = i < (tab_count - 1) ? GetTabAtTabDataIndex(i + 1) : NULL; + Tab* next_tab = i < (tab_count - 1) ? GetTabAt(i + 1) : NULL; if (next_tab && next_tab->IsSelected() && IsPointInTab(next_tab, point)) return next_tab; - Tab* tab = GetTabAtTabDataIndex(i); + Tab* tab = GetTabAt(i); if (IsPointInTab(tab, point)) return tab; } @@ -636,15 +1117,16 @@ void TabStrip::ViewHierarchyChanged(bool is_add, // TabStrip, TabStripModelObserver implementation: void TabStrip::TabInsertedAt(TabContents* contents, - int model_index, + int index, bool foreground) { DCHECK(contents); - DCHECK(model_index == TabStripModel::kNoTab || - model_->ContainsIndex(model_index)); + DCHECK(index == TabStripModel::kNoTab || model_->ContainsIndex(index)); // This tab may be attached to another browser window, we should notify // renderer. contents->render_view_host()->UpdateBrowserWindowId( contents->controller().window_id().id()); + if (active_animation_.get()) + active_animation_->Stop(); bool contains_tab = false; Tab* tab = NULL; @@ -663,23 +1145,10 @@ void TabStrip::TabInsertedAt(TabContents* contents, } // See if we're already in the list. We don't want to add ourselves twice. - int tab_data_index = TabDataIndexOfTab(tab); - - if (tab_data_index != -1) { - contains_tab = true; - - // Make sure we stop animating the view. This is necessary otherwise when - // the animation is done it'll try to remove the tab. - bounds_animator_.StopAnimatingView(tab); - - // We have the tab, but it might not be at the right index. Reset the data - // to ensure it's at the right index. - TabData tab_data = tab_data_[tab_data_index]; - DCHECK(tab_data.tab == tab); - tab_data_.erase(tab_data_.begin() + tab_data_index); - tab_data_.insert( - tab_data_.begin() + ModelIndexToTabDataIndex(model_index), - tab_data); + std::vector<TabData>::const_iterator iter = tab_data_.begin(); + for (; iter != tab_data_.end() && !contains_tab; ++iter) { + if (iter->tab == tab) + contains_tab = true; } } @@ -690,43 +1159,40 @@ void TabStrip::TabInsertedAt(TabContents* contents, // Only insert if we're not already in the list. if (!contains_tab) { TabData d = { tab, gfx::Rect() }; - tab_data_.insert(tab_data_.begin() + - ModelIndexToTabDataIndex(model_index), d); - tab->UpdateData(contents, model_->IsPhantomTab(model_index), false); + tab_data_.insert(tab_data_.begin() + index, d); + tab->UpdateData(contents, model_->IsPhantomTab(index), false); } - tab->set_mini(model_->IsMiniTab(model_index)); - tab->set_app(model_->IsAppTab(model_index)); - tab->SetBlocked(model_->IsTabBlocked(model_index)); + tab->set_mini(model_->IsMiniTab(index)); + tab->SetBlocked(model_->IsTabBlocked(index)); // We only add the tab to the child list if it's not already - an invisible // tab maintained by the DraggedTabController will already be parented. - if (!tab->GetParent()) { + if (!tab->GetParent()) AddChildView(tab); - tab->SetAnimationContainer(animation_container_.get()); - } // Don't animate the first tab, it looks weird, and don't animate anything // if the containing window isn't visible yet. if (GetTabCount() > 1 && GetWindow() && GetWindow()->IsVisible()) { - if (!IsDragSessionActive() && - ShouldStartIntertTabAnimationAtEnd(model_index, foreground)) { - StartInsertTabAnimationAtEnd(); - } else { - StartInsertTabAnimation(model_index); - } + StartInsertTabAnimation(index); } else { Layout(); } } -void TabStrip::TabDetachedAt(TabContents* contents, int model_index) { - StartRemoveTabAnimation(model_index); +void TabStrip::TabDetachedAt(TabContents* contents, int index) { + GenerateIdealBounds(); + StartRemoveTabAnimation(index, contents); + // Have to do this _after_ calling StartRemoveTabAnimation, so that any + // previous remove is completed fully and index is valid in sync with the + // model index. + GetTabAt(index)->set_closing(true); } void TabStrip::TabSelectedAt(TabContents* old_contents, TabContents* new_contents, - int model_index, + int index, bool user_gesture) { + DCHECK(index >= 0 && index < GetTabCount()); // We have "tiny tabs" if the tabs are so tiny that the unselected ones are // a different size to the selected ones. bool tiny_tabs = current_unselected_width_ != current_selected_width_; @@ -736,133 +1202,117 @@ void TabStrip::TabSelectedAt(TabContents* old_contents, SchedulePaint(); } - int old_model_index = model_->GetIndexOfTabContents(old_contents); - if (old_model_index >= 0) { - GetTabAtTabDataIndex(ModelIndexToTabDataIndex(old_model_index))-> - StopMiniTabTitleAnimation(); - } + int old_index = model_->GetIndexOfTabContents(old_contents); + if (old_index >= 0) + GetTabAt(old_index)->StopMiniTabTitleAnimation(); } -void TabStrip::TabMoved(TabContents* contents, - int from_model_index, - int to_model_index) { - StartMoveTabAnimation(from_model_index, to_model_index); +void TabStrip::TabMoved(TabContents* contents, int from_index, int to_index) { + gfx::Rect start_bounds = GetIdealBounds(from_index); + Tab* tab = GetTabAt(from_index); + tab_data_.erase(tab_data_.begin() + from_index); + TabData data = {tab, gfx::Rect()}; + tab->set_mini(model_->IsMiniTab(to_index)); + tab->SetBlocked(model_->IsTabBlocked(to_index)); + tab_data_.insert(tab_data_.begin() + to_index, data); + if (tab->phantom() != model_->IsPhantomTab(to_index)) + tab->set_phantom(!tab->phantom()); + GenerateIdealBounds(); + StartMoveTabAnimation(from_index, to_index); } -void TabStrip::TabChangedAt(TabContents* contents, - int model_index, +void TabStrip::TabChangedAt(TabContents* contents, int index, TabChangeType change_type) { // Index is in terms of the model. Need to make sure we adjust that index in // case we have an animation going. - Tab* tab = GetTabAtModelIndex(model_index); + Tab* tab = GetTabAtAdjustForAnimation(index); if (change_type == TITLE_NOT_LOADING) { if (tab->mini() && !tab->IsSelected()) tab->StartMiniTabTitleAnimation(); // We'll receive another notification of the change asynchronously. return; } - tab->UpdateData(contents, model_->IsPhantomTab(model_index), + tab->UpdateData(contents, model_->IsPhantomTab(index), change_type == LOADING_ONLY); tab->UpdateFromModel(); } void TabStrip::TabReplacedAt(TabContents* old_contents, TabContents* new_contents, - int model_index) { - TabChangedAt(new_contents, model_index, ALL); + int index) { + TabChangedAt(new_contents, index, ALL); } -void TabStrip::TabMiniStateChanged(TabContents* contents, int model_index) { - GetTabAtModelIndex(model_index)->set_mini( - model_->IsMiniTab(model_index)); +void TabStrip::TabMiniStateChanged(TabContents* contents, int index) { + GetTabAt(index)->set_mini(model_->IsMiniTab(index)); // Don't animate if the window isn't visible yet. The window won't be visible // when dragging a mini-tab to a new window. if (GetWindow() && GetWindow()->IsVisible()) - StartMiniTabAnimation(); + StartMiniTabAnimation(index); else Layout(); } -void TabStrip::TabBlockedStateChanged(TabContents* contents, int model_index) { - GetTabAtModelIndex(model_index)->SetBlocked( - model_->IsTabBlocked(model_index)); +void TabStrip::TabBlockedStateChanged(TabContents* contents, int index) { + GetTabAt(index)->SetBlocked(model_->IsTabBlocked(index)); } /////////////////////////////////////////////////////////////////////////////// // TabStrip, Tab::Delegate implementation: bool TabStrip::IsTabSelected(const Tab* tab) const { - if (tab->closing() || tab->render_unselected()) + if (tab->closing()) return false; - return GetModelIndexOfTab(tab) == model_->selected_index(); + return GetIndexOfTab(tab) == model_->selected_index(); } bool TabStrip::IsTabPinned(const Tab* tab) const { if (tab->closing()) return false; - return model_->IsTabPinned(GetModelIndexOfTab(tab)); + return model_->IsTabPinned(GetIndexOfTab(tab)); } void TabStrip::SelectTab(Tab* tab) { - int model_index = GetModelIndexOfTab(tab); - if (model_->ContainsIndex(model_index)) - model_->SelectTabContentsAt(model_index, true); + int index = GetIndexOfTab(tab); + if (model_->ContainsIndex(index)) + model_->SelectTabContentsAt(index, true); } void TabStrip::CloseTab(Tab* tab) { - int model_index = GetModelIndexOfTab(tab); - if (model_->ContainsIndex(model_index)) { - TabContents* contents = model_->GetTabContentsAt(model_index); + int tab_index = GetIndexOfTab(tab); + if (model_->ContainsIndex(tab_index)) { + TabContents* contents = model_->GetTabContentsAt(tab_index); if (contents) UserMetrics::RecordAction(UserMetricsAction("CloseTab_Mouse"), contents->profile()); - if (model_index + 1 != model_->count() && model_->count() > 1) { - Tab* last_tab = GetTabAtModelIndex(model_->count() - 2); - // Limit the width available to the TabStrip for laying out Tabs, so that - // Tabs are not resized until a later time (when the mouse pointer leaves - // the TabStrip). - available_width_for_tabs_ = GetAvailableWidthForTabs(last_tab); - needs_resize_layout_ = true; - AddMessageLoopObserver(); - } else if (model_->count() > 1) { - Tab* last_tab = GetTabAtModelIndex(model_->count() - 1); - // Limit the width available to the TabStrip for laying out Tabs, so that - // Tabs are not resized until a later time (when the mouse pointer leaves - // the TabStrip). - available_width_for_tabs_ = GetAvailableWidthForTabs(last_tab); - needs_resize_layout_ = true; - AddMessageLoopObserver(); - } + Tab* last_tab = GetTabAt(GetTabCount() - 1); + // Limit the width available to the TabStrip for laying out Tabs, so that + // Tabs are not resized until a later time (when the mouse pointer leaves + // the TabStrip). + available_width_for_tabs_ = GetAvailableWidthForTabs(last_tab); + needs_resize_layout_ = true; + AddMessageLoopObserver(); // Note that the next call might not close the tab (because of unload // hanlders or if the delegate veto the close). - model_->CloseTabContentsAt(model_index); + model_->CloseTabContentsAt(tab_index); } } bool TabStrip::IsCommandEnabledForTab( TabStripModel::ContextMenuCommand command_id, const Tab* tab) const { - int model_index = GetModelIndexOfTab(tab); - if (model_->ContainsIndex(model_index)) - return model_->IsContextMenuCommandEnabled(model_index, command_id); + int index = GetIndexOfTab(tab); + if (model_->ContainsIndex(index)) + return model_->IsContextMenuCommandEnabled(index, command_id); return false; } void TabStrip::ExecuteCommandForTab( TabStripModel::ContextMenuCommand command_id, Tab* tab) { - int model_index = GetModelIndexOfTab(tab); - if (model_->ContainsIndex(model_index)) - model_->ExecuteContextMenuCommand(model_index, command_id); -} - -void TabStrip::OnBoundsAnimatorDone(views::BoundsAnimator* animator) { - AnimationType last_type = animation_type_; - - ResetAnimationState(false); - - if (last_type == ANIMATION_NEW_TAB_2) - NewTabAnimation2Done(); + int index = GetIndexOfTab(tab); + if (model_->ContainsIndex(index)) + model_->ExecuteContextMenuCommand(index, command_id); } void TabStrip::StartHighlightTabsForCommand( @@ -870,13 +1320,13 @@ void TabStrip::StartHighlightTabsForCommand( if (command_id == TabStripModel::CommandCloseTabsOpenedBy || command_id == TabStripModel::CommandCloseOtherTabs || command_id == TabStripModel::CommandCloseTabsToRight) { - int model_index = GetModelIndexOfTab(tab); - if (model_->ContainsIndex(model_index)) { + int index = GetIndexOfTab(tab); + if (model_->ContainsIndex(index)) { std::vector<int> indices = - model_->GetIndicesClosedByCommand(model_index, command_id); + model_->GetIndicesClosedByCommand(index, command_id); for (std::vector<int>::const_iterator i = indices.begin(); i != indices.end(); ++i) { - GetTabAtModelIndex(*i)->StartPulse(); + GetTabAtAdjustForAnimation(*i)->StartPulse(); } } } @@ -894,7 +1344,7 @@ void TabStrip::StopHighlightTabsForCommand( void TabStrip::StopAllHighlighting() { for (int i = 0; i < GetTabCount(); ++i) - GetTabAtTabDataIndex(i)->StopPulse(); + GetTabAt(i)->StopPulse(); } void TabStrip::MaybeStartDrag(Tab* tab, const views::MouseEvent& event) { @@ -904,8 +1354,8 @@ void TabStrip::MaybeStartDrag(Tab* tab, const views::MouseEvent& event) { // the user is dragging. if (IsAnimating() || tab->closing() || !HasAvailableDragActions()) return; - int model_index = GetModelIndexOfTab(tab); - if (!model_->ContainsIndex(model_index)) { + int index = GetIndexOfTab(tab); + if (!model_->ContainsIndex(index)) { CHECK(false); return; } @@ -1013,18 +1463,15 @@ void TabStrip::DidProcessEvent(GdkEvent* event) { void TabStrip::Init() { SetID(VIEW_ID_TAB_STRIP); model_->AddObserver(this); - newtab_button_bounds_.SetRect(0, 0, kNewTabButtonWidth, kNewTabButtonHeight); - if (browser_defaults::kSizeTabButtonToTopOfTabStrip) { - newtab_button_bounds_.set_height( - kNewTabButtonHeight + kNewTabButtonVOffset); - } + newtab_button_size_.SetSize(kNewTabButtonWidth, kNewTabButtonHeight); + if (browser_defaults::kSizeTabButtonToTopOfTabStrip) + newtab_button_size_.set_height(kNewTabButtonHeight + kNewTabButtonVOffset); if (drop_indicator_width == 0) { // Direction doesn't matter, both images are the same size. SkBitmap* drop_image = GetDropArrowImage(true); drop_indicator_width = drop_image->width(); drop_indicator_height = drop_image->height(); } - bounds_animator_.set_observer(this); } void TabStrip::LoadNewTabButtonImage() { @@ -1054,14 +1501,20 @@ void TabStrip::LoadNewTabButtonImage() { delete tp; } -Tab* TabStrip::GetTabAtTabDataIndex(int tab_data_index) const { - DCHECK_GE(tab_data_index, 0); - DCHECK_LT(tab_data_index, GetTabCount()); - return tab_data_[tab_data_index].tab; +Tab* TabStrip::GetTabAt(int index) const { + DCHECK_GE(index, 0); + DCHECK_LT(index, GetTabCount()); + return tab_data_.at(index).tab; } -Tab* TabStrip::GetTabAtModelIndex(int model_index) const { - return GetTabAtTabDataIndex(ModelIndexToTabDataIndex(model_index)); +Tab* TabStrip::GetTabAtAdjustForAnimation(int index) const { + if (active_animation_.get() && + active_animation_->type() == TabAnimation::REMOVE && + index >= + static_cast<RemoveTabAnimation*>(active_animation_.get())->index()) { + index++; + } + return GetTabAt(index); } int TabStrip::GetTabCount() const { @@ -1094,7 +1547,7 @@ void TabStrip::GetDesiredTabWidths(int tab_count, int available_width; if (available_width_for_tabs_ < 0) { available_width = width(); - available_width -= (kNewTabButtonHOffset + newtab_button_bounds_.width()); + available_width -= (kNewTabButtonHOffset + newtab_button_size_.width()); } else { // Interesting corner case: if |available_width_for_tabs_| > the result // of the calculation in the conditional arm above, the strip is in @@ -1154,6 +1607,14 @@ void TabStrip::GetDesiredTabWidths(int tab_count, } } +int TabStrip::GetTabHOffset(int tab_index) { + if (tab_index < GetTabCount() && GetTabAt(tab_index - 1)->mini() && + !GetTabAt(tab_index)->mini()) { + return mini_to_non_mini_gap_ + kTabHOffset; + } + return kTabHOffset; +} + void TabStrip::ResizeLayoutTabs() { // We've been called back after the TabStrip has been emptied out (probably // just prior to the window being destroyed). We need to do nothing here or @@ -1174,7 +1635,7 @@ void TabStrip::ResizeLayoutTabs() { // mini-tabs have the same width), so there is nothing to do. return; } - Tab* first_tab = GetTabAtTabDataIndex(mini_tab_count); + Tab* first_tab = GetTabAt(mini_tab_count); double unselected, selected; GetDesiredTabWidths(GetTabCount(), mini_tab_count, &unselected, &selected); int w = Round(first_tab->IsSelected() ? selected : selected); @@ -1196,7 +1657,7 @@ bool TabStrip::IsCursorInTabStripZone() const { DWORD pos = GetMessagePos(); gfx::Point cursor_point(pos); #elif defined(OS_LINUX) - // TODO(sky): make sure this is right with multiple monitors. + // TODO: make sure this is right with multiple monitors. GdkScreen* screen = gdk_screen_get_default(); GdkDisplay* display = gdk_screen_get_display(screen); gint x, y; @@ -1227,13 +1688,14 @@ gfx::Rect TabStrip::GetDropBounds(int drop_index, DCHECK(drop_index != -1); int center_x; if (drop_index < GetTabCount()) { - Tab* tab = GetTabAtTabDataIndex(drop_index); + Tab* tab = GetTabAt(drop_index); + // TODO(sky): update these for mini-tabs. if (drop_before) center_x = tab->x() - (kTabHOffset / 2); else center_x = tab->x() + (tab->width() / 2); } else { - Tab* last_tab = GetTabAtTabDataIndex(drop_index - 1); + Tab* last_tab = GetTabAt(drop_index - 1); center_x = last_tab->x() + last_tab->width() + (kTabHOffset / 2); } @@ -1269,7 +1731,7 @@ void TabStrip::UpdateDropIndex(const DropTargetEvent& event) { const int x = MirroredXCoordinateInsideView(event.x()); // We don't allow replacing the urls of mini-tabs. for (int i = GetMiniTabCount(); i < GetTabCount(); ++i) { - Tab* tab = GetTabAtTabDataIndex(i); + Tab* tab = GetTabAt(i); const int tab_max_x = tab->x() + tab->width(); const int hot_width = tab->width() / 3; if (x < tab_max_x) { @@ -1287,26 +1749,25 @@ void TabStrip::UpdateDropIndex(const DropTargetEvent& event) { SetDropIndex(GetTabCount(), true); } -void TabStrip::SetDropIndex(int tab_data_index, bool drop_before) { - if (tab_data_index == -1) { +void TabStrip::SetDropIndex(int index, bool drop_before) { + if (index == -1) { if (drop_info_.get()) drop_info_.reset(NULL); return; } - if (drop_info_.get() && drop_info_->drop_index == tab_data_index && + if (drop_info_.get() && drop_info_->drop_index == index && drop_info_->drop_before == drop_before) { return; } bool is_beneath; - gfx::Rect drop_bounds = GetDropBounds(tab_data_index, drop_before, - &is_beneath); + gfx::Rect drop_bounds = GetDropBounds(index, drop_before, &is_beneath); if (!drop_info_.get()) { - drop_info_.reset(new DropInfo(tab_data_index, drop_before, !is_beneath)); + drop_info_.reset(new DropInfo(index, drop_before, !is_beneath)); } else { - drop_info_->drop_index = tab_data_index; + drop_info_->drop_index = index; drop_info_->drop_before = drop_before; if (is_beneath == drop_info_->point_down) { drop_info_->point_down = !is_beneath; @@ -1383,19 +1844,8 @@ TabStrip::DropInfo::~DropInfo() { // - Tab reorder void TabStrip::GenerateIdealBounds() { int tab_count = GetTabCount(); - int non_closing_tab_count = 0; - int mini_tab_count = 0; - for (int i = 0; i < tab_count; ++i) { - if (!tab_data_[i].tab->closing()) { - ++non_closing_tab_count; - if (tab_data_[i].tab->mini()) - mini_tab_count++; - } - } - double unselected, selected; - GetDesiredTabWidths(non_closing_tab_count, mini_tab_count, &unselected, - &selected); + GetDesiredTabWidths(tab_count, GetMiniTabCount(), &unselected, &selected); current_unselected_width_ = unselected; current_selected_width_ = selected; @@ -1404,259 +1854,139 @@ void TabStrip::GenerateIdealBounds() { // selected state or the number of tabs in the strip! int tab_height = Tab::GetStandardSize().height(); double tab_x = 0; - bool last_was_mini = false; for (int i = 0; i < tab_count; ++i) { - if (!tab_data_[i].tab->closing()) { - Tab* tab = GetTabAtTabDataIndex(i); - double tab_width = unselected; - if (tab->mini()) { - tab_width = Tab::GetMiniWidth(); - } else { - if (last_was_mini) { - // Give a bigger gap between mini and non-mini tabs. - tab_x += mini_to_non_mini_gap_; - } - if (tab->IsSelected()) - tab_width = selected; - } - double end_of_tab = tab_x + tab_width; - int rounded_tab_x = Round(tab_x); - tab_data_[i].ideal_bounds = - gfx::Rect(rounded_tab_x, 0, Round(end_of_tab) - rounded_tab_x, + Tab* tab = GetTabAt(i); + double tab_width = unselected; + if (tab->mini()) + tab_width = Tab::GetMiniWidth(); + else if (tab->IsSelected()) + tab_width = selected; + double end_of_tab = tab_x + tab_width; + int rounded_tab_x = Round(tab_x); + gfx::Rect state(rounded_tab_x, 0, Round(end_of_tab) - rounded_tab_x, tab_height); - tab_x = end_of_tab + kTabHOffset; - last_was_mini = tab->mini(); - } + tab_data_.at(i).ideal_bounds = state; + tab_x = end_of_tab + GetTabHOffset(i + 1); } +} - // Update bounds of new tab button. - int new_tab_x; - int new_tab_y = browser_defaults::kSizeTabButtonToTopOfTabStrip ? +void TabStrip::LayoutNewTabButton(double last_tab_right, + double unselected_width) { + int delta = abs(Round(unselected_width) - Tab::GetStandardSize().width()); + int v_offset = browser_defaults::kSizeTabButtonToTopOfTabStrip ? 0 : kNewTabButtonVOffset; - if (abs(Round(unselected) - Tab::GetStandardSize().width()) > 1 && - available_width_for_tabs_ == -1) { + if (delta > 1 && !needs_resize_layout_) { // We're shrinking tabs, so we need to anchor the New Tab button to the // right edge of the TabStrip's bounds, rather than the right edge of the // right-most Tab, otherwise it'll bounce when animating. - new_tab_x = width() - newtab_button_bounds_.width(); + newtab_button_->SetBounds(width() - newtab_button_size_.width(), + v_offset, + newtab_button_size_.width(), + newtab_button_size_.height()); } else { - new_tab_x = Round(tab_x - kTabHOffset) + kNewTabButtonHOffset; - } - newtab_button_bounds_.set_origin(gfx::Point(new_tab_x, new_tab_y)); -} - -void TabStrip::NewTabAnimation1Done() { - int tab_data_index = static_cast<int>(tab_data_.size() - 1); - Tab* tab = GetTabAtTabDataIndex(tab_data_index); - - gfx::Rect old_tab_bounds = tab->bounds(); - - GenerateIdealBounds(); - - gfx::Rect& end_bounds = tab_data_[tab_data_index].ideal_bounds; - end_bounds.Offset(kNewTabOvershoot, 0); - - int x = old_tab_bounds.right() - end_bounds.width(); - int w = end_bounds.width(); - if (x < 0) { - w += x; - x = 0; - } - tab->SetBounds(x, old_tab_bounds.y(), w, end_bounds.height()); - - AnimateToIdealBounds(); - - animation_type_ = ANIMATION_NEW_TAB_2; - tab->set_render_as_new_tab(false); - tab->set_render_unselected(true); - tab->set_alpha(0); - - // BoundsAnimator takes ownership of NewTabAlphaDelegate. - bounds_animator_.SetAnimationDelegate(tab, new NewTabAlphaDelegate(tab), - true); -} - -void TabStrip::NewTabAnimation2Done() { - animation_type_ = ANIMATION_NEW_TAB_3; - - GenerateIdealBounds(); - - AnimateToIdealBounds(); - - SlideAnimation* animation = new SlideAnimation(NULL); - animation->SetSlideDuration(kNewTab3DurationMs); - animation->SetTweenType(SlideAnimation::EASE_IN_OUT); - - // BoundsAnimator takes ownership of animation. - bounds_animator_.SetAnimationForView(tab_data_.back().tab, animation); -} - -void TabStrip::AnimateToIdealBounds() { - for (size_t i = 0; i < tab_data_.size(); ++i) { - if (!tab_data_[i].tab->closing()) { - bounds_animator_.AnimateViewTo(tab_data_[i].tab, - tab_data_[i].ideal_bounds, - false); - } - } - - if (animation_type_ != ANIMATION_NEW_TAB_3) { - bounds_animator_.AnimateViewTo(newtab_button_, - newtab_button_bounds_, - false); + newtab_button_->SetBounds( + Round(last_tab_right - kTabHOffset) + kNewTabButtonHOffset, + v_offset, newtab_button_size_.width(), newtab_button_size_.height()); } } -bool TabStrip::ShouldStartIntertTabAnimationAtEnd(int model_index, - bool foreground) { - return foreground && (model_index + 1 == model_->count()) && - (model_->GetTabContentsAt(model_index)->GetURL() == - GURL(chrome::kChromeUINewTabURL)); +// Called from: +// - animation tick +void TabStrip::AnimationLayout(double unselected_width) { + int tab_height = Tab::GetStandardSize().height(); + double tab_x = 0; + for (int i = 0; i < GetTabCount(); ++i) { + TabAnimation* animation = active_animation_.get(); + if (animation) + tab_x += animation->GetGapWidth(i); + double tab_width = TabAnimation::GetCurrentTabWidth(this, animation, i); + double end_of_tab = tab_x + tab_width; + int rounded_tab_x = Round(tab_x); + Tab* tab = GetTabAt(i); + tab->SetBounds(rounded_tab_x, 0, Round(end_of_tab) - rounded_tab_x, + tab_height); + tab_x = end_of_tab + GetTabHOffset(i + 1); + } + LayoutNewTabButton(tab_x, unselected_width); + SchedulePaint(); } void TabStrip::StartResizeLayoutAnimation() { - ResetAnimationState(true); - GenerateIdealBounds(); - AnimateToIdealBounds(); + if (active_animation_.get()) + active_animation_->Stop(); + active_animation_.reset(new ResizeLayoutAnimation(this)); + active_animation_->Start(); } -void TabStrip::StartInsertTabAnimationAtEnd() { - ResetAnimationState(true); - +void TabStrip::StartInsertTabAnimation(int index) { // The TabStrip can now use its entire width to lay out Tabs. available_width_for_tabs_ = -1; - - animation_type_ = ANIMATION_NEW_TAB_1; - - GenerateIdealBounds(); - - int tab_data_index = ModelIndexToTabDataIndex(model_->count() - 1); - Tab* tab = tab_data_[tab_data_index].tab; - tab->SizeToNewTabButtonImages(); - tab->SetBounds(newtab_button_->x() + - (newtab_button_->width() - tab->width()) / 2, - tab_data_[tab_data_index].ideal_bounds.y(), - tab->width(), tab->height()); - tab->set_render_as_new_tab(true); - - new_tab_timer_.Start(base::TimeDelta::FromMilliseconds(kNewTabDurationMs), - this, &TabStrip::NewTabAnimation1Done); + if (active_animation_.get()) + active_animation_->Stop(); + active_animation_.reset(new InsertTabAnimation(this, index)); + active_animation_->Start(); } -void TabStrip::StartInsertTabAnimation(int model_index) { - ResetAnimationState(true); - - // The TabStrip can now use its entire width to lay out Tabs. - available_width_for_tabs_ = -1; - - GenerateIdealBounds(); - - int tab_data_index = ModelIndexToTabDataIndex(model_index); - Tab* tab = tab_data_[tab_data_index].tab; - if (model_index == 0) { - tab->SetBounds(0, tab_data_[tab_data_index].ideal_bounds.y(), 0, - tab_data_[tab_data_index].ideal_bounds.height()); - } else { - Tab* last_tab = tab_data_[tab_data_index - 1].tab; - tab->SetBounds(last_tab->bounds().right() + kTabHOffset, - tab_data_[tab_data_index].ideal_bounds.y(), 0, - tab_data_[tab_data_index].ideal_bounds.height()); +void TabStrip::StartRemoveTabAnimation(int index, TabContents* contents) { + if (active_animation_.get()) { + // Some animations (e.g. MoveTabAnimation) cause there to be a Layout when + // they're completed (which includes canceled). Since |tab_data_| is now + // inconsistent with TabStripModel, doing this Layout will crash now, so + // we ask the MoveTabAnimation to skip its Layout (the state will be + // corrected by the RemoveTabAnimation we're about to initiate). + active_animation_->set_layout_on_completion(false); + active_animation_->Stop(); } - - AnimateToIdealBounds(); + active_animation_.reset(new RemoveTabAnimation(this, index, contents)); + active_animation_->Start(); } -void TabStrip::StartRemoveTabAnimation(int model_index) { - ResetAnimationState(true); - - // Mark the tab as closing. - int tab_data_index = ModelIndexToTabDataIndex(model_index); - Tab* tab = tab_data_[tab_data_index].tab; - tab->set_closing(true); - - // Start an animation for the tabs. - GenerateIdealBounds(); - AnimateToIdealBounds(); - - // Animate the tab being closed to 0x0. - gfx::Rect tab_bounds = tab->bounds(); - tab_bounds.set_width(0); - bounds_animator_.AnimateViewTo(tab, tab_bounds, false); - - // Register delegate to do cleanup when done, BoundsAnimator takes - // ownership of RemoveTabDelegate. - bounds_animator_.SetAnimationDelegate(tab, new RemoveTabDelegate(this, tab), - true); +void TabStrip::StartMoveTabAnimation(int from_index, int to_index) { + if (active_animation_.get()) + active_animation_->Stop(); + active_animation_.reset(new MoveTabAnimation(this, from_index, to_index)); + active_animation_->Start(); } -void TabStrip::StartMoveTabAnimation(int from_model_index, - int to_model_index) { - ResetAnimationState(true); - - int from_tab_data_index = ModelIndexToTabDataIndex(from_model_index); - - Tab* tab = tab_data_[from_tab_data_index].tab; - tab_data_.erase(tab_data_.begin() + from_tab_data_index); - - TabData data = {tab, gfx::Rect()}; - tab->set_mini(model_->IsMiniTab(to_model_index)); - //tab->set_app(model_->IsAppTab(to_model_index)); - tab->SetBlocked(model_->IsTabBlocked(to_model_index)); - - int to_tab_data_index = ModelIndexToTabDataIndex(to_model_index); - - tab_data_.insert(tab_data_.begin() + to_tab_data_index, data); - if (tab->phantom() != model_->IsPhantomTab(to_model_index)) - tab->set_phantom(!tab->phantom()); - - GenerateIdealBounds(); - AnimateToIdealBounds(); +void TabStrip::StartMiniTabAnimation(int index) { + if (active_animation_.get()) + active_animation_->Stop(); + active_animation_.reset(new MiniTabAnimation(this, index)); + active_animation_->Start(); } -void TabStrip::StartMiniTabAnimation() { - ResetAnimationState(true); - - GenerateIdealBounds(); - AnimateToIdealBounds(); +void TabStrip::StartMiniMoveTabAnimation(int from_index, + int to_index, + const gfx::Rect& start_bounds) { + if (active_animation_.get()) + active_animation_->Stop(); + active_animation_.reset( + new MiniMoveAnimation(this, from_index, to_index, start_bounds)); + active_animation_->Start(); } -void TabStrip::StopAnimating(bool layout) { - if (!IsAnimating()) - return; - - new_tab_timer_.Stop(); +void TabStrip::FinishAnimation(TabStrip::TabAnimation* animation, + bool layout) { + active_animation_.reset(NULL); - if (bounds_animator_.IsAnimating()) { - // Cancelling the animation triggers OnBoundsAnimatorDone, which invokes - // ResetAnimationState. - bounds_animator_.Cancel(); - } else { - ResetAnimationState(false); - } - - DCHECK(!IsAnimating()); + // Reset the animation state of each tab. + for (int i = 0, count = GetTabCount(); i < count; ++i) + GetTabAt(i)->set_animating_mini_change(false); if (layout) Layout(); } -void TabStrip::ResetAnimationState(bool stop_new_tab_timer) { - if (animation_type_ == ANIMATION_NEW_TAB_2) - newtab_button_->SchedulePaint(); - - if (stop_new_tab_timer) - new_tab_timer_.Stop(); - - animation_type_ = ANIMATION_DEFAULT; - - // Reset the animation state of each tab. - for (int i = 0, count = GetTabCount(); i < count; ++i) { - Tab* tab = GetTabAtTabDataIndex(i); - tab->set_animating_mini_change(false); - tab->set_render_as_new_tab(false); - tab->set_render_unselected(false); - tab->set_alpha(1); +int TabStrip::GetIndexOfTab(const Tab* tab) const { + for (int i = 0, index = 0; i < GetTabCount(); ++i, ++index) { + Tab* current_tab = GetTabAt(i); + if (current_tab->closing()) { + --index; + } else if (current_tab == tab) { + return index; + } } + return -1; } int TabStrip::GetMiniTabCount() const { @@ -1681,21 +2011,22 @@ bool TabStrip::IsPointInTab(Tab* tab, return tab->HitTest(point_in_tab_coords); } -void TabStrip::RemoveTab(Tab* tab) { - int tab_data_index = TabDataIndexOfTab(tab); - - DCHECK(tab_data_index != -1); +void TabStrip::RemoveTabAt(int index) { + Tab* removed = tab_data_.at(index).tab; // Remove the Tab from the TabStrip's list... - tab_data_.erase(tab_data_.begin() + tab_data_index); + tab_data_.erase(tab_data_.begin() + index); // If the TabContents being detached was removed as a result of a drag // gesture from its corresponding Tab, we don't want to remove the Tab from // the child list, because if we do so it'll stop receiving events and the // drag will stall. So we only remove if a drag isn't active, or the Tab // was for some other TabContents. - if (!IsDragSessionActive() || !drag_controller_->IsDragSourceTab(tab)) - delete tab; + if (!IsDragSessionActive() || !drag_controller_->IsDragSourceTab(removed)) { + removed->GetParent()->RemoveChildView(removed); + delete removed; + } + GenerateIdealBounds(); } void TabStrip::HandleGlobalMouseMoveEvent() { @@ -1718,40 +2049,8 @@ void TabStrip::HandleGlobalMouseMoveEvent() { bool TabStrip::HasPhantomTabs() const { for (int i = 0; i < GetTabCount(); ++i) { - if (GetTabAtTabDataIndex(i)->phantom()) + if (GetTabAt(i)->phantom()) return true; } return false; } - -int TabStrip::GetModelIndexOfTab(const Tab* tab) const { - for (int i = 0, model_index = 0; i < GetTabCount(); ++i) { - Tab* current_tab = GetTabAtTabDataIndex(i); - if (!current_tab->closing()) { - if (current_tab == tab) - return model_index; - model_index++; - } - } - return -1; -} - -int TabStrip::ModelIndexToTabDataIndex(int model_index) const { - int current_model_index = 0; - for (size_t i = 0; i < tab_data_.size(); ++i) { - if (!tab_data_[i].tab->closing()) { - if (current_model_index == model_index) - return i; - current_model_index++; - } - } - return tab_data_.size(); -} - -int TabStrip::TabDataIndexOfTab(Tab* tab) const { - for (size_t i = 0; i < tab_data_.size(); ++i) { - if (tab_data_[i].tab == tab) - return i; - } - return -1; -} diff --git a/chrome/browser/views/tabs/tab_strip.h b/chrome/browser/views/tabs/tab_strip.h index e1cbfda..af6cc34 100644 --- a/chrome/browser/views/tabs/tab_strip.h +++ b/chrome/browser/views/tabs/tab_strip.h @@ -5,16 +5,11 @@ #ifndef CHROME_BROWSER_VIEWS_TABS_TAB_STRIP_H_ #define CHROME_BROWSER_VIEWS_TABS_TAB_STRIP_H_ -#include "app/animation_container.h" #include "base/message_loop.h" -#include "base/ref_counted.h" -#include "base/timer.h" #include "chrome/browser/tabs/tab_strip_model.h" #include "chrome/browser/views/tabs/base_tab_strip.h" #include "chrome/browser/views/tabs/tab.h" #include "gfx/point.h" -#include "gfx/rect.h" -#include "views/animation/bounds_animator.h" #include "views/controls/button/image_button.h" class DraggedTabController; @@ -47,8 +42,7 @@ class TabStrip : public BaseTabStrip, public TabStripModelObserver, public Tab::TabDelegate, public views::ButtonListener, - public MessageLoopForUI::Observer, - public views::BoundsAnimatorObserver { + public MessageLoopForUI::Observer { public: explicit TabStrip(TabStripModel* model); virtual ~TabStrip(); @@ -68,7 +62,7 @@ class TabStrip : public BaseTabStrip, void DestroyDraggedSourceTab(Tab* tab); // Retrieves the ideal bounds for the Tab at the specified index. - gfx::Rect GetIdealBounds(int tab_data_index); + gfx::Rect GetIdealBounds(int index); // Returns the currently selected tab. Tab* GetSelectedTab() const; @@ -109,9 +103,6 @@ class TabStrip : public BaseTabStrip, virtual views::View* GetViewForPoint(const gfx::Point& point); virtual void ThemeChanged(); - // BoundsAnimator::Observer overrides: - virtual void OnBoundsAnimatorDone(views::BoundsAnimator* animator); - protected: // Creates a new tab. virtual Tab* CreateTab(); @@ -123,24 +114,21 @@ class TabStrip : public BaseTabStrip, // TabStripModelObserver implementation: virtual void TabInsertedAt(TabContents* contents, - int model_index, + int index, bool foreground); - virtual void TabDetachedAt(TabContents* contents, int model_index); + virtual void TabDetachedAt(TabContents* contents, int index); virtual void TabSelectedAt(TabContents* old_contents, TabContents* contents, - int model_index, + int index, bool user_gesture); - virtual void TabMoved(TabContents* contents, - int from_model_index, - int to_model_index); - virtual void TabChangedAt(TabContents* contents, - int model_index, + virtual void TabMoved(TabContents* contents, int from_index, int to_index); + virtual void TabChangedAt(TabContents* contents, int index, TabChangeType change_type); virtual void TabReplacedAt(TabContents* old_contents, TabContents* new_contents, - int model_index); - virtual void TabMiniStateChanged(TabContents* contents, int model_index); - virtual void TabBlockedStateChanged(TabContents* contents, int model_index); + int index); + virtual void TabMiniStateChanged(TabContents* contents, int index); + virtual void TabBlockedStateChanged(TabContents* contents, int index); // Tab::Delegate implementation: virtual bool IsTabSelected(const Tab* tab) const; @@ -177,70 +165,22 @@ class TabStrip : public BaseTabStrip, static const int mini_to_non_mini_gap_; private: - class RemoveTabDelegate; + class InsertTabAnimation; + class MiniMoveAnimation; + class MiniTabAnimation; + class MoveTabAnimation; + class RemoveTabAnimation; + class ResizeLayoutAnimation; + class TabAnimation; friend class DraggedTabController; - - // AnimationType used for tracking animations that require additional - // state beyond just animating the bounds of a view. - // - // Currently the only animation special cased is that of inserting the new tab - // page at the end of the tab strip. Here's the steps that take place when - // this happens. - // . The newly inserted tab is set to render for the new tab animation - // |set_render_as_new_tab|. The timer new_tab_timer_ is used to determine - // when to turn this off. This is represented by state ANIMATION_NEW_TAB_1. - // . The new tab is rendered in the background with an ever increasing alpha - // value and the tab goes slightly past the new tab button. The new tab - // button is not visible during this animation. This is represented by the - // state ANIMATION_NEW_TAB_2. - // . The new tab is animated to its final position and the new tab button is - // rendered beneath the selected tab. This is represented by the state - // ANIMATION_NEW_TAB_3. - enum AnimationType { - ANIMATION_DEFAULT, - - ANIMATION_NEW_TAB_1, - ANIMATION_NEW_TAB_2, - ANIMATION_NEW_TAB_3 - }; - - // Used during a drop session of a url. Tracks the position of the drop as - // well as a window used to highlight where the drop occurs. - struct DropInfo { - DropInfo(int index, bool drop_before, bool paint_down); - ~DropInfo(); - - // Index of the tab to drop on. If drop_before is true, the drop should - // occur between the tab at drop_index - 1 and drop_index. - // WARNING: if drop_before is true it is possible this will == tab_count, - // which indicates the drop should create a new tab at the end of the tabs. - int drop_index; - bool drop_before; - - // Direction the arrow should point in. If true, the arrow is displayed - // above the tab and points down. If false, the arrow is displayed beneath - // the tab and points up. - bool point_down; - - // Renders the drop indicator. - // TODO(beng): should be views::Widget. -#if defined(OS_WIN) - views::WidgetWin* arrow_window; -#else - views::WidgetGtk* arrow_window; -#endif - views::ImageView* arrow_view; - - private: - DISALLOW_COPY_AND_ASSIGN(DropInfo); - }; - - // The Tabs we contain, and their last generated "good" bounds. - struct TabData { - Tab* tab; - gfx::Rect ideal_bounds; - }; + friend class InsertTabAnimation; + friend class MiniMoveAnimation; + friend class MiniTabAnimation; + friend class MoveTabAnimation; + friend class RemoveTabAnimation; + friend class ResizeLayoutAnimation; + friend class TabAnimation; TabStrip(); void Init(); @@ -248,9 +188,9 @@ class TabStrip : public BaseTabStrip, // Set the images for the new tab button. void LoadNewTabButtonImage(); - // Retrieves the Tab at the specified index. Remember, the specified index - // is in terms of tab_data, *not* the model. - Tab* GetTabAtTabDataIndex(int tab_data_index) const; + // Retrieves the Tab at the specified index. Take care in using this, you may + // need to use GetTabAtAdjustForAnimation. + Tab* GetTabAt(int index) const; // Returns the tab at the specified index. If a remove animation is on going // and the index is >= the index of the tab being removed, the index is @@ -258,13 +198,10 @@ class TabStrip : public BaseTabStrip, // do not line up with the indices of the view. This method adjusts the index // accordingly. // - // Use this instead of GetTabAtTabDataIndex if the index comes from the model. - Tab* GetTabAtModelIndex(int model_index) const; + // Use this instead of GetTabAt if the index comes from the model. + Tab* GetTabAtAdjustForAnimation(int index) const; // Gets the number of Tabs in the collection. - // WARNING: this is the number of tabs displayed by the tabstrip, which if - // an animation is ongoing is not necessarily the same as the number of tabs - // in the model. int GetTabCount() const; // Returns the number of mini-tabs. @@ -287,6 +224,9 @@ class TabStrip : public BaseTabStrip, double* unselected_width, double* selected_width) const; + // Returns the horizontal offset before the tab at |tab_index|. + int GetTabHOffset(int tab_index); + // Perform an animated resize-relayout of the TabStrip immediately. void ResizeLayoutTabs(); @@ -310,7 +250,7 @@ class TabStrip : public BaseTabStrip, void UpdateDropIndex(const views::DropTargetEvent& event); // Sets the location of the drop, repainting as necessary. - void SetDropIndex(int tab_data_index, bool drop_before); + void SetDropIndex(int index, bool drop_before); // Returns the drop effect for dropping a URL on the tab strip. This does // not query the data in anyway, it only looks at the source operations. @@ -328,38 +268,32 @@ class TabStrip : public BaseTabStrip, // stable representations of Tab positions. void GenerateIdealBounds(); - // Both of these are invoked when a part of the new tab animation completes. - // They configure state for the next step in the animation and start it. - void NewTabAnimation1Done(); - void NewTabAnimation2Done(); - - // Animates all the views to their ideal bounds. - // NOTE: this does *not* invoke GenerateIdealBounds, it uses the bounds - // currently set in ideal_bounds. - void AnimateToIdealBounds(); + // Lays out the New Tab button, assuming the right edge of the last Tab on + // the TabStrip at |last_tab_right|. + void LayoutNewTabButton(double last_tab_right, double unselected_width); - // Returns true if a new tab inserted at specified index should start the - // new tab animation. See description above AnimationType for details on - // this animation. - bool ShouldStartIntertTabAnimationAtEnd(int model_index, bool foreground); + // A generic Layout method for various classes of TabStrip animations, + // including Insert, Remove and Resize Layout cases/ + void AnimationLayout(double unselected_width); // Starts various types of TabStrip animations. void StartResizeLayoutAnimation(); - void StartInsertTabAnimationAtEnd(); - void StartInsertTabAnimation(int model_index); - void StartRemoveTabAnimation(int model_index); - void StartMoveTabAnimation(int from_model_index, - int to_model_index); - void StartMiniTabAnimation(); - - // Stops any ongoing animations. If |layout| is true and an animation is - // ongoing this does a layout. - void StopAnimating(bool layout); - - // Resets all state related to animations. This is invoked when an animation - // completes, prior to starting an animation or when we cancel an animation. - // If |stop_new_tab_timer| is true, |new_tab_timer_| is stopped. - void ResetAnimationState(bool stop_new_tab_timer); + void StartInsertTabAnimation(int index); + void StartRemoveTabAnimation(int index, TabContents* contents); + void StartMoveTabAnimation(int from_index, int to_index); + void StartMiniTabAnimation(int index); + void StartMiniMoveTabAnimation(int from_index, + int to_index, + const gfx::Rect& start_bounds); + + // Notifies the TabStrip that the specified TabAnimation has completed. + // Optionally a full Layout will be performed, specified by |layout|. + void FinishAnimation(TabAnimation* animation, bool layout); + + // Finds the index of the TabContents corresponding to |tab| in our + // associated TabStripModel, or -1 if there is none (e.g. the specified |tab| + // is being animated closed). + int GetIndexOfTab(const Tab* tab) const; // Calculates the available width for tabs, assuming a Tab is to be closed. int GetAvailableWidthForTabs(Tab* last_tab) const; @@ -368,9 +302,9 @@ class TabStrip : public BaseTabStrip, // hit-test region of the specified Tab. bool IsPointInTab(Tab* tab, const gfx::Point& point_in_tabstrip_coords); - // Cleans up the Tab from the TabStrip. This is called from the tab animation - // code and is not a general-purpose method. - void RemoveTab(Tab* tab); + // Cleans up the Tab from the TabStrip at the specified |index|. This is + // called from the tab animation code and is not a general-purpose method. + void RemoveTabAt(int index); // Called from the message loop observer when a mouse movement has occurred // anywhere over our containing window. @@ -379,19 +313,6 @@ class TabStrip : public BaseTabStrip, // Returns true if any of the tabs are phantom. bool HasPhantomTabs() const; - // Returns the index of the specified tab in the model coordiate system, or - // -1 if tab is closing or not in |tab_data_|. - int GetModelIndexOfTab(const Tab* tab) const; - - // Returns the index into |tab_data_| corresponding to the index from the - // TabStripModel, or |tab_data_.size()| if there is no tab representing - // |model_index|. - int ModelIndexToTabDataIndex(int model_index) const; - - // Returns the index into |tab_data_| corresponding to the specified tab, or - // -1 if the tab isn't in |tab_data_|. - int TabDataIndexOfTab(Tab* tab) const; - // -- Member Variables ------------------------------------------------------ // Our model. @@ -410,9 +331,7 @@ class TabStrip : public BaseTabStrip, // The "New Tab" button. views::ImageButton* newtab_button_; - - // Ideal bounds of the new tab button. - gfx::Rect newtab_button_bounds_; + gfx::Size newtab_button_size_; // The current widths of various types of tabs. We save these so that, as // users close tabs while we're holding them at the same size, we can lay out @@ -440,6 +359,37 @@ class TabStrip : public BaseTabStrip, static const int kNewTabButtonWidth = 28; static const int kNewTabButtonHeight = 18; + // Used during a drop session of a url. Tracks the position of the drop as + // well as a window used to highlight where the drop occurs. + struct DropInfo { + DropInfo(int index, bool drop_before, bool paint_down); + ~DropInfo(); + + // Index of the tab to drop on. If drop_before is true, the drop should + // occur between the tab at drop_index - 1 and drop_index. + // WARNING: if drop_before is true it is possible this will == tab_count, + // which indicates the drop should create a new tab at the end of the tabs. + int drop_index; + bool drop_before; + + // Direction the arrow should point in. If true, the arrow is displayed + // above the tab and points down. If false, the arrow is displayed beneath + // the tab and points up. + bool point_down; + + // Renders the drop indicator. + // TODO(beng): should be views::Widget. +#if defined(OS_WIN) + views::WidgetWin* arrow_window; +#else + views::WidgetGtk* arrow_window; +#endif + views::ImageView* arrow_view; + + private: + DISALLOW_COPY_AND_ASSIGN(DropInfo); + }; + // Valid for the lifetime of a drag over us. scoped_ptr<DropInfo> drop_info_; @@ -447,19 +397,15 @@ class TabStrip : public BaseTabStrip, // the drag session. scoped_ptr<DraggedTabController> drag_controller_; + // The Tabs we contain, and their last generated "good" bounds. + struct TabData { + Tab* tab; + gfx::Rect ideal_bounds; + }; std::vector<TabData> tab_data_; - // To ensure all tabs pulse at the same time they share the same animation - // container. This is that animation container. - scoped_refptr<AnimationContainer> animation_container_; - - views::BoundsAnimator bounds_animator_; - - // Used for stage 1 of new tab animation. - base::OneShotTimer<TabStrip> new_tab_timer_; - - // Set for special animations. - AnimationType animation_type_; + // The currently running animation. + scoped_ptr<TabAnimation> active_animation_; DISALLOW_COPY_AND_ASSIGN(TabStrip); }; diff --git a/chrome/browser/views/toolbar_star_toggle.cc b/chrome/browser/views/toolbar_star_toggle.cc new file mode 100644 index 0000000..710d6fa --- /dev/null +++ b/chrome/browser/views/toolbar_star_toggle.cc @@ -0,0 +1,133 @@ +// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/browser/views/toolbar_star_toggle.h" + +#include "app/l10n_util.h" +#include "app/resource_bundle.h" +#include "chrome/app/chrome_dll_resource.h" +#include "chrome/browser/bookmarks/bookmark_model.h" +#include "chrome/browser/browser.h" +#include "chrome/browser/browser_theme_provider.h" +#include "chrome/browser/bubble_positioner.h" +#include "chrome/browser/profile.h" +#include "chrome/browser/views/browser_dialogs.h" +#include "chrome/browser/view_ids.h" +#include "googleurl/src/gurl.h" +#include "grit/generated_resources.h" +#include "grit/theme_resources.h" + +using base::TimeTicks; + +// The amount of time (in milliseconds) between when the bubble closes and when +// pressing on the button again does something. Yes, this is a hackish. I tried +// many different options, all to no avail: +// . Keying off mouse activation: this didn't work as there is no way to know +// which window receives the activation. Additionally once the mouse +// activation occurs we have no way to tie the next mouse event to the mouse +// activation. +// . Watching all events as we dispatch them in the MessageLoop. Mouse +// activation isn't an observable event though. +// Ideally we could use mouse capture for this, but we can't use mouse capture +// with the bubble because it has other native windows. +static const int64 kDisallowClickMS = 40; + +ToolbarStarToggle::ToolbarStarToggle(views::ButtonListener* listener) + : ToggleImageButton(listener), + profile_(NULL), + host_view_(NULL), + bubble_positioner_(NULL), + ignore_click_(false) { +} + +void ToolbarStarToggle::Init() { + set_tag(IDC_BOOKMARK_PAGE); + SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_STAR)); + SetToggledTooltipText(l10n_util::GetString(IDS_TOOLTIP_STARRED)); + SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_STAR)); + SetID(VIEW_ID_STAR_BUTTON); +} + +void ToolbarStarToggle::LoadImages() { + ThemeProvider* tp = profile_->GetThemeProvider(); + + // Load images. + SkColor color = tp->GetColor(BrowserThemeProvider::COLOR_BUTTON_BACKGROUND); + SkBitmap* background = tp->GetBitmapNamed(IDR_THEME_BUTTON_BACKGROUND); + + SetImage(views::CustomButton::BS_NORMAL, tp->GetBitmapNamed(IDR_STAR)); + SetImage(views::CustomButton::BS_HOT, tp->GetBitmapNamed(IDR_STAR_H)); + SetImage(views::CustomButton::BS_PUSHED, tp->GetBitmapNamed(IDR_STAR_P)); + SetImage(views::CustomButton::BS_DISABLED, tp->GetBitmapNamed(IDR_STAR_D)); + SetToggledImage(views::CustomButton::BS_NORMAL, + tp->GetBitmapNamed(IDR_STARRED)); + SetToggledImage(views::CustomButton::BS_HOT, + tp->GetBitmapNamed(IDR_STARRED_H)); + SetToggledImage(views::CustomButton::BS_PUSHED, + tp->GetBitmapNamed(IDR_STARRED_P)); + SetBackground(color, background, tp->GetBitmapNamed(IDR_STAR_MASK)); +} + +void ToolbarStarToggle::ShowStarBubble(const GURL& url, bool newly_bookmarked) { + gfx::Rect bounds(bubble_positioner_->GetLocationStackBounds()); + gfx::Point star_location; + views::View::ConvertPointToScreen(this, &star_location); + // The visual center of the star is not centered within the bounds. The star + // has a single central pixel; there are 13 pixels on the "inside" side of it + // (toward the location bar) and 16 on the "outside". This means we need to + // shift the bounds one pixel toward the location bar in order to place the + // star's outside edge at the horizontal center. However, even this isn't + // good enough in RTL mode, because the InfoBubble's arrow's central pixel is + // drawn with its left edge on the target rect center-line in both LTR and RTL + // modes. So in RTL mode, we need to shift the bounds one more pixel left, in + // order to place the star's central pixel on the right side of the bounds' + // center-line, so that the arrow's center will line up. + // + // TODO(pkasting): If the InfoBubble used mirroring transformations maybe this + // could become symmetric (-1 : 1). + bounds.set_x(star_location.x() + (UILayoutIsRightToLeft() ? -2 : 1)); + bounds.set_width(width()); + browser::ShowBookmarkBubbleView(host_view_->GetWindow(), bounds, this, + profile_, url, newly_bookmarked); +} + +bool ToolbarStarToggle::OnMousePressed(const views::MouseEvent& e) { + ignore_click_ = ((TimeTicks::Now() - bubble_closed_time_).InMilliseconds() < + kDisallowClickMS); + return ToggleImageButton::OnMousePressed(e); +} + +void ToolbarStarToggle::OnMouseReleased(const views::MouseEvent& e, + bool canceled) { + ToggleImageButton::OnMouseReleased(e, canceled); + ignore_click_ = false; +} + +void ToolbarStarToggle::OnDragDone() { + ToggleImageButton::OnDragDone(); + ignore_click_ = false; +} + +void ToolbarStarToggle::NotifyClick(const views::Event& event) { + if (!ignore_click_ && !browser::IsBookmarkBubbleViewShowing()) + ToggleImageButton::NotifyClick(event); +} + +SkBitmap ToolbarStarToggle::GetImageToPaint() { + if (browser::IsBookmarkBubbleViewShowing()) { + ResourceBundle &rb = ResourceBundle::GetSharedInstance(); + return *rb.GetBitmapNamed(IDR_STARRED_P); + } + return ImageButton::GetImageToPaint(); +} + +void ToolbarStarToggle::InfoBubbleClosing(InfoBubble* info_bubble, + bool closed_by_escape) { + SchedulePaint(); + bubble_closed_time_ = TimeTicks::Now(); +} + +bool ToolbarStarToggle::CloseOnEscape() { + return true; +} diff --git a/chrome/browser/views/toolbar_star_toggle.h b/chrome/browser/views/toolbar_star_toggle.h new file mode 100644 index 0000000..4966655 --- /dev/null +++ b/chrome/browser/views/toolbar_star_toggle.h @@ -0,0 +1,85 @@ +// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROME_BROWSER_VIEWS_TOOLBAR_STAR_TOGGLE_H_ +#define CHROME_BROWSER_VIEWS_TOOLBAR_STAR_TOGGLE_H_ + +#include "base/time.h" +#include "chrome/browser/views/info_bubble.h" +#include "views/controls/button/image_button.h" + +class BubblePositioner; +class GURL; +class Profile; + +namespace views { +class ButtonListener; +class View; +} // namespace views + +// ToolbarStarToggle is used for the star button on the toolbar, allowing the +// user to star the current page. ToolbarStarToggle manages showing the +// InfoBubble and rendering the appropriate state while the bubble is visible. + +class ToolbarStarToggle : public views::ToggleImageButton, + public InfoBubbleDelegate { + public: + explicit ToolbarStarToggle(views::ButtonListener* listener); + + void set_profile(Profile* profile) { profile_ = profile; } + void set_host_view(views::View* host_view) { host_view_ = host_view; } + void set_bubble_positioner(BubblePositioner* bubble_positioner) { + bubble_positioner_ = bubble_positioner; + } + + // Sets up all labels for the button. + void Init(); + + // Sets up all images for the button. + void LoadImages(); + + // If the bubble isn't showing, shows it. + void ShowStarBubble(const GURL& url, bool newly_bookmarked); + + // Overridden to update ignore_click_ based on whether the mouse was clicked + // quickly after the bubble was hidden. + virtual bool OnMousePressed(const views::MouseEvent& e); + + // Overridden to set ignore_click_ to false. + virtual void OnMouseReleased(const views::MouseEvent& e, bool canceled); + virtual void OnDragDone(); + + protected: + // Only invokes super if ignore_click_ is true and the bubble isn't showing. + virtual void NotifyClick(const views::Event& event); + + // Overridden to so that we appear pressed while the bubble is showing. + virtual SkBitmap GetImageToPaint(); + + private: + // InfoBubbleDelegate. + virtual void InfoBubbleClosing(InfoBubble* info_bubble, + bool closed_by_escape); + virtual bool CloseOnEscape(); + + // Profile with bookmarks info. + Profile* profile_; + + // View that hosts us. + views::View* host_view_; + + // Positioner for bookmark bubble. + BubblePositioner* bubble_positioner_; + + // Time the bubble last closed. + base::TimeTicks bubble_closed_time_; + + // If true NotifyClick does nothing. This is set in OnMousePressed based on + // the amount of time between when the bubble clicked and now. + bool ignore_click_; + + DISALLOW_COPY_AND_ASSIGN(ToolbarStarToggle); +}; + +#endif // CHROME_BROWSER_VIEWS_TOOLBAR_STAR_TOGGLE_H_ diff --git a/chrome/browser/views/toolbar_view.cc b/chrome/browser/views/toolbar_view.cc index e69ff0f..52854e67 100644 --- a/chrome/browser/views/toolbar_view.cc +++ b/chrome/browser/views/toolbar_view.cc @@ -4,20 +4,42 @@ #include "chrome/browser/views/toolbar_view.h" +#include <algorithm> +#include <string> + +#include "app/drag_drop_types.h" #include "app/l10n_util.h" +#include "app/os_exchange_data.h" #include "app/resource_bundle.h" #include "base/command_line.h" +#include "base/keyboard_codes.h" +#include "base/logging.h" +#include "base/path_service.h" #include "chrome/app/chrome_dll_resource.h" +#include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/browser.h" +#include "chrome/browser/browser_process.h" #include "chrome/browser/browser_theme_provider.h" #include "chrome/browser/browser_window.h" +#include "chrome/browser/character_encoding.h" +#include "chrome/browser/defaults.h" +#include "chrome/browser/encoding_menu_controller.h" +#include "chrome/browser/metrics/user_metrics.h" #include "chrome/browser/pref_service.h" #include "chrome/browser/profile.h" -#include "chrome/browser/view_ids.h" +#include "chrome/browser/sync/profile_sync_service.h" +#include "chrome/browser/sync/sync_ui_util.h" +#include "chrome/browser/tab_contents/navigation_controller.h" +#include "chrome/browser/tab_contents/navigation_entry.h" #include "chrome/browser/views/bookmark_menu_button.h" #include "chrome/browser/views/browser_actions_container.h" #include "chrome/browser/views/event_utils.h" #include "chrome/browser/views/frame/browser_view.h" +#include "chrome/browser/views/go_button.h" +#include "chrome/browser/views/location_bar_view.h" +#include "chrome/browser/views/toolbar_star_toggle.h" +#include "chrome/browser/view_ids.h" +#include "chrome/common/chrome_constants.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/notification_service.h" #include "chrome/common/pref_names.h" @@ -25,7 +47,12 @@ #include "grit/chromium_strings.h" #include "grit/generated_resources.h" #include "grit/theme_resources.h" +#include "net/base/net_util.h" +#include "views/background.h" #include "views/controls/button/button_dropdown.h" +#include "views/controls/label.h" +#include "views/controls/menu/menu_2.h" +#include "views/drag_utils.h" #include "views/focus/view_storage.h" #include "views/widget/tooltip_manager.h" #include "views/window/non_client_view.h" @@ -55,8 +82,9 @@ ToolbarView::ToolbarView(Browser* browser) : model_(browser->toolbar_model()), back_(NULL), forward_(NULL), - home_(NULL), reload_(NULL), + home_(NULL), + star_(NULL), location_bar_(NULL), go_(NULL), browser_actions_(NULL), @@ -72,8 +100,9 @@ ToolbarView::ToolbarView(Browser* browser) SetID(VIEW_ID_TOOLBAR); browser_->command_updater()->AddCommandObserver(IDC_BACK, this); browser_->command_updater()->AddCommandObserver(IDC_FORWARD, this); - browser_->command_updater()->AddCommandObserver(IDC_HOME, this); browser_->command_updater()->AddCommandObserver(IDC_RELOAD, this); + browser_->command_updater()->AddCommandObserver(IDC_HOME, this); + browser_->command_updater()->AddCommandObserver(IDC_BOOKMARK_PAGE, this); if (browser->type() == Browser::TYPE_NORMAL) display_mode_ = DISPLAYMODE_NORMAL; else @@ -267,11 +296,14 @@ void ToolbarView::EnabledStateChangedForCommand(int id, bool enabled) { case IDC_FORWARD: button = forward_; break; + case IDC_RELOAD: + button = reload_; + break; case IDC_HOME: button = home_; break; - case IDC_RELOAD: - button = reload_; + case IDC_BOOKMARK_PAGE: + button = star_; break; } if (button) @@ -281,8 +313,8 @@ void ToolbarView::EnabledStateChangedForCommand(int id, bool enabled) { //////////////////////////////////////////////////////////////////////////////// // ToolbarView, views::Button::ButtonListener implementation: -void ToolbarView::ButtonPressed(views::Button* sender, - const views::Event& event) { +void ToolbarView::ButtonPressed( + views::Button* sender, const views::Event& event) { int id = sender->tag(); switch (id) { case IDC_BACK: @@ -305,6 +337,30 @@ void ToolbarView::ButtonPressed(views::Button* sender, } //////////////////////////////////////////////////////////////////////////////// +// ToolbarView, BubblePositioner implementation: + +gfx::Rect ToolbarView::GetLocationStackBounds() const { + // The number of pixels from the left or right edges of the location stack to + // "just inside the visible borders". When the omnibox bubble contents are + // aligned with this, the visible borders tacked on to the outsides will line + // up with the visible borders on the location stack. + const int kLocationStackEdgeWidth = 2; + + gfx::Point origin; + views::View::ConvertPointToScreen(star_, &origin); + gfx::Rect stack_bounds(origin.x(), origin.y(), + star_->width() + location_bar_->width() + go_->width(), + location_bar_->height()); + if (UILayoutIsRightToLeft()) { + stack_bounds.set_x( + stack_bounds.x() - location_bar_->width() - go_->width()); + } + // Inset the bounds to just inside the visible edges (see comment above). + stack_bounds.Inset(kLocationStackEdgeWidth, 0); + return stack_bounds; +} + +//////////////////////////////////////////////////////////////////////////////// // ToolbarView, NotificationObserver implementation: void ToolbarView::Observe(NotificationType type, @@ -400,12 +456,11 @@ gfx::Size ToolbarView::GetPreferredSize() { if (IsDisplayModeNormal()) { int min_width = kControlIndent + back_->GetPreferredSize().width() + forward_->GetPreferredSize().width() + kControlHorizOffset + - (show_home_button_.GetValue() ? - (home_->GetPreferredSize().width() + kControlHorizOffset) : 0) + - reload_->GetPreferredSize().width() + - browser_actions_->GetPreferredSize().width() + - go_->GetPreferredSize().width() + + reload_->GetPreferredSize().width() + (show_home_button_.GetValue() ? + (home_->GetPreferredSize().width() + kControlHorizOffset) : 0) + + star_->GetPreferredSize().width() + go_->GetPreferredSize().width() + kMenuButtonOffset + + browser_actions_->GetPreferredSize().width() + (bookmark_menu_ ? bookmark_menu_->GetPreferredSize().width() : 0) + page_menu_->GetPreferredSize().width() + app_menu_->GetPreferredSize().width() + kPaddingRight; @@ -460,18 +515,21 @@ void ToolbarView::Layout() { forward_->SetBounds(back_->x() + back_->width(), child_y, forward_->GetPreferredSize().width(), child_height); + reload_->SetBounds(forward_->x() + forward_->width() + kControlHorizOffset, + child_y, reload_->GetPreferredSize().width(), + child_height); + if (show_home_button_.GetValue()) { home_->SetVisible(true); - home_->SetBounds(forward_->x() + forward_->width() + kControlHorizOffset, + home_->SetBounds(reload_->x() + reload_->width() + kControlHorizOffset, child_y, home_->GetPreferredSize().width(), child_height); } else { home_->SetVisible(false); - home_->SetBounds(forward_->x() + forward_->width(), child_y, 0, - child_height); + home_->SetBounds(reload_->x() + reload_->width(), child_y, 0, child_height); } - reload_->SetBounds(home_->x() + home_->width() + kControlHorizOffset, child_y, - reload_->GetPreferredSize().width(), child_height); + star_->SetBounds(home_->x() + home_->width() + kControlHorizOffset, + child_y, star_->GetPreferredSize().width(), child_height); int go_button_width = go_->GetPreferredSize().width(); int browser_actions_width = browser_actions_->GetPreferredSize().width(); @@ -479,7 +537,7 @@ void ToolbarView::Layout() { int app_menu_width = app_menu_->GetPreferredSize().width(); int bookmark_menu_width = bookmark_menu_ ? bookmark_menu_->GetPreferredSize().width() : 0; - int location_x = reload_->x() + reload_->width(); + int location_x = star_->x() + star_->width(); int available_width = width() - kPaddingRight - bookmark_menu_width - app_menu_width - page_menu_width - browser_actions_width - kMenuButtonOffset - go_button_width - location_x; @@ -546,6 +604,51 @@ void ToolbarView::ThemeChanged() { } //////////////////////////////////////////////////////////////////////////////// +// ToolbarView, views::DragController implementation: + +void ToolbarView::WriteDragData(views::View* sender, + const gfx::Point& press_pt, + OSExchangeData* data) { + DCHECK(GetDragOperations(sender, press_pt) != DragDropTypes::DRAG_NONE); + + UserMetrics::RecordAction(UserMetricsAction("Toolbar_DragStar"), profile_); + + // If there is a bookmark for the URL, add the bookmark drag data for it. We + // do this to ensure the bookmark is moved, rather than creating an new + // bookmark. + TabContents* tab = browser_->GetSelectedTabContents(); + if (tab) { + if (profile_ && profile_->GetBookmarkModel()) { + const BookmarkNode* node = profile_->GetBookmarkModel()-> + GetMostRecentlyAddedNodeForURL(tab->GetURL()); + if (node) { + BookmarkDragData bookmark_data(node); + bookmark_data.Write(profile_, data); + } + } + + drag_utils::SetURLAndDragImage(tab->GetURL(), + UTF16ToWideHack(tab->GetTitle()), + tab->GetFavIcon(), + data); + } +} + +int ToolbarView::GetDragOperations(views::View* sender, const gfx::Point& p) { + DCHECK(sender == star_); + TabContents* tab = browser_->GetSelectedTabContents(); + if (!tab || !tab->ShouldDisplayURL() || !tab->GetURL().is_valid()) { + return DragDropTypes::DRAG_NONE; + } + if (profile_ && profile_->GetBookmarkModel() && + profile_->GetBookmarkModel()->IsBookmarked(tab->GetURL())) { + return DragDropTypes::DRAG_MOVE | DragDropTypes::DRAG_COPY | + DragDropTypes::DRAG_LINK; + } + return DragDropTypes::DRAG_COPY | DragDropTypes::DRAG_LINK; +} + +//////////////////////////////////////////////////////////////////////////////// // ToolbarView, private: int ToolbarView::PopupTopSpacing() const { @@ -572,6 +675,12 @@ void ToolbarView::CreateLeftSideControls() { forward_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_FORWARD)); forward_->SetID(VIEW_ID_FORWARD_BUTTON); + reload_ = new views::ImageButton(this); + reload_->set_tag(IDC_RELOAD); + reload_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_RELOAD)); + reload_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_RELOAD)); + reload_->SetID(VIEW_ID_RELOAD_BUTTON); + home_ = new views::ImageButton(this); home_->set_triggerable_event_flags(views::Event::EF_LEFT_BUTTON_DOWN | views::Event::EF_MIDDLE_BUTTON_DOWN); @@ -584,19 +693,22 @@ void ToolbarView::CreateLeftSideControls() { AddChildView(back_); AddChildView(forward_); + AddChildView(reload_); AddChildView(home_); } void ToolbarView::CreateCenterStack(Profile *profile) { - reload_ = new views::ImageButton(this); - reload_->set_tag(IDC_RELOAD); - reload_->SetTooltipText(l10n_util::GetString(IDS_TOOLTIP_RELOAD)); - reload_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_RELOAD)); - reload_->SetID(VIEW_ID_RELOAD_BUTTON); + star_ = new ToolbarStarToggle(this); + star_->SetDragController(this); + star_->set_profile(profile); + star_->set_host_view(this); + star_->set_bubble_positioner(this); + star_->Init(); location_bar_ = new LocationBarView(profile, browser_->command_updater(), model_, this, - display_mode_ == DISPLAYMODE_LOCATION); + display_mode_ == DISPLAYMODE_LOCATION, + this); // The Go button. go_ = new GoButton(location_bar_, browser_); @@ -605,7 +717,7 @@ void ToolbarView::CreateCenterStack(Profile *profile) { LoadCenterStackImages(); - AddChildView(reload_); + AddChildView(star_); location_bar_->SetAccessibleName(l10n_util::GetString(IDS_ACCNAME_LOCATION)); AddChildView(location_bar_); location_bar_->Init(); @@ -667,6 +779,15 @@ void ToolbarView::LoadLeftSideControlsImages() { forward_->SetBackground(color, background, tp->GetBitmapNamed(IDR_FORWARD_MASK)); + reload_->SetImage(views::CustomButton::BS_NORMAL, + tp->GetBitmapNamed(IDR_RELOAD)); + reload_->SetImage(views::CustomButton::BS_HOT, + tp->GetBitmapNamed(IDR_RELOAD_H)); + reload_->SetImage(views::CustomButton::BS_PUSHED, + tp->GetBitmapNamed(IDR_RELOAD_P)); + reload_->SetBackground(color, background, + tp->GetBitmapNamed(IDR_BUTTON_MASK)); + home_->SetImage(views::CustomButton::BS_NORMAL, tp->GetBitmapNamed(IDR_HOME)); home_->SetImage(views::CustomButton::BS_HOT, tp->GetBitmapNamed(IDR_HOME_H)); home_->SetImage(views::CustomButton::BS_PUSHED, @@ -676,20 +797,13 @@ void ToolbarView::LoadLeftSideControlsImages() { } void ToolbarView::LoadCenterStackImages() { + star_->LoadImages(); + ThemeProvider* tp = GetThemeProvider(); SkColor color = tp->GetColor(BrowserThemeProvider::COLOR_BUTTON_BACKGROUND); SkBitmap* background = tp->GetBitmapNamed(IDR_THEME_BUTTON_BACKGROUND); - reload_->SetImage(views::CustomButton::BS_NORMAL, - tp->GetBitmapNamed(IDR_RELOAD)); - reload_->SetImage(views::CustomButton::BS_HOT, - tp->GetBitmapNamed(IDR_RELOAD_H)); - reload_->SetImage(views::CustomButton::BS_PUSHED, - tp->GetBitmapNamed(IDR_RELOAD_P)); - reload_->SetBackground(color, background, - tp->GetBitmapNamed(IDR_RELOAD_MASK)); - go_->SetImage(views::CustomButton::BS_NORMAL, tp->GetBitmapNamed(IDR_GO)); go_->SetImage(views::CustomButton::BS_HOT, tp->GetBitmapNamed(IDR_GO_H)); go_->SetImage(views::CustomButton::BS_PUSHED, tp->GetBitmapNamed(IDR_GO_P)); diff --git a/chrome/browser/views/toolbar_view.h b/chrome/browser/views/toolbar_view.h index 6e45799..62faebf 100644 --- a/chrome/browser/views/toolbar_view.h +++ b/chrome/browser/views/toolbar_view.h @@ -11,6 +11,7 @@ #include "base/scoped_ptr.h" #include "chrome/browser/app_menu_model.h" #include "chrome/browser/back_forward_menu_model.h" +#include "chrome/browser/bubble_positioner.h" #include "chrome/browser/command_updater.h" #include "chrome/browser/page_menu_model.h" #include "chrome/browser/pref_member.h" @@ -26,6 +27,7 @@ class BrowserActionsContainer; class Browser; class Profile; +class ToolbarStarToggle; namespace views { class Menu2; @@ -34,12 +36,14 @@ class Menu2; // The Browser Window's toolbar. class ToolbarView : public AccessibleToolbarView, public views::ViewMenuDelegate, + public views::DragController, public views::FocusChangeListener, public menus::SimpleMenuModel::Delegate, public LocationBarView::Delegate, public NotificationObserver, public CommandUpdater::CommandObserver, - public views::ButtonListener { + public views::ButtonListener, + public BubblePositioner { public: explicit ToolbarView(Browser* browser); virtual ~ToolbarView(); @@ -82,6 +86,7 @@ class ToolbarView : public AccessibleToolbarView, // Accessors... Browser* browser() const { return browser_; } BrowserActionsContainer* browser_actions() const { return browser_actions_; } + ToolbarStarToggle* star_button() const { return star_; } GoButton* go_button() const { return go_; } LocationBarView* location_bar() const { return location_bar_; } views::MenuButton* page_menu() const { return page_menu_; } @@ -110,6 +115,9 @@ class ToolbarView : public AccessibleToolbarView, // Overridden from views::BaseButton::ButtonListener: virtual void ButtonPressed(views::Button* sender, const views::Event& event); + // BubblePositioner: + virtual gfx::Rect GetLocationStackBounds() const; + // Overridden from NotificationObserver: virtual void Observe(NotificationType type, const NotificationSource& source, @@ -130,6 +138,17 @@ class ToolbarView : public AccessibleToolbarView, virtual void ThemeChanged(); private: + // Overridden from views::DragController: + virtual void WriteDragData(View* sender, + const gfx::Point& press_pt, + OSExchangeData* data); + virtual int GetDragOperations(View* sender, const gfx::Point& p); + virtual bool CanStartDrag(View* sender, + const gfx::Point& press_pt, + const gfx::Point& p) { + return true; + } + // Returns the number of pixels above the location bar in non-normal display. int PopupTopSpacing() const; @@ -179,8 +198,9 @@ class ToolbarView : public AccessibleToolbarView, // Controls views::ImageButton* back_; views::ImageButton* forward_; - views::ImageButton* home_; views::ImageButton* reload_; + views::ImageButton* home_; + ToolbarStarToggle* star_; LocationBarView* location_bar_; GoButton* go_; BrowserActionsContainer* browser_actions_; diff --git a/chrome/browser/views/url_picker.cc b/chrome/browser/views/url_picker.cc index 3d275d4..5f82832 100644 --- a/chrome/browser/views/url_picker.cc +++ b/chrome/browser/views/url_picker.cc @@ -221,10 +221,10 @@ void UrlPicker::OnSelectionChanged() { if (selection >= 0 && selection < url_table_model_->RowCount()) { std::wstring languages = profile_->GetPrefs()->GetString(prefs::kAcceptLanguages); - // Because the url_field_ is user-editable, we don't strip anything. + // Because the url_field_ is user-editable, we set the URL with + // username:password and escaped path and query. std::wstring formatted = net::FormatUrl(url_table_model_->GetURL(selection), - languages, net::kFormatUrlOmitNothing, UnescapeRule::NONE, NULL, NULL, - NULL); + languages, false, UnescapeRule::NONE, NULL, NULL, NULL); url_field_->SetText(formatted); GetDialogClientView()->UpdateDialogButtons(); } diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index dfad823..43d9aac 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -82,8 +82,6 @@ 'browser/autocomplete/autocomplete.h', 'browser/autocomplete/autocomplete_accessibility.cc', 'browser/autocomplete/autocomplete_accessibility.h', - 'browser/autocomplete/autocomplete_classifier.cc', - 'browser/autocomplete/autocomplete_classifier.h', 'browser/autocomplete/autocomplete_edit.cc', 'browser/autocomplete/autocomplete_edit.h', 'browser/autocomplete/autocomplete_edit_view.h', @@ -296,6 +294,7 @@ 'browser/browsing_data_remover.h', 'browser/browsing_instance.cc', 'browser/browsing_instance.h', + 'browser/bubble_positioner.h', 'browser/bug_report_util.cc', 'browser/bug_report_util.h', 'browser/cancelable_request.cc', @@ -1386,6 +1385,8 @@ 'browser/gtk/task_manager_gtk.h', 'browser/gtk/theme_install_bubble_view_gtk.cc', 'browser/gtk/theme_install_bubble_view_gtk.h', + 'browser/gtk/toolbar_star_toggle_gtk.cc', + 'browser/gtk/toolbar_star_toggle_gtk.h', 'browser/gtk/translate_infobars.cc', 'browser/gtk/translate_infobars.h', 'browser/gtk/view_id_util.cc', @@ -1909,6 +1910,8 @@ 'browser/safe_browsing/safe_browsing_util.h', 'browser/scoped_pref_update.cc', 'browser/scoped_pref_update.h', + 'browser/search_versus_navigate_classifier.cc', + 'browser/search_versus_navigate_classifier.h', 'browser/search_engines/edit_search_engine_controller.cc', 'browser/search_engines/edit_search_engine_controller.h', 'browser/search_engines/keyword_editor_controller.cc', @@ -2379,8 +2382,6 @@ 'browser/views/options/plugin_filter_page_view.cc', 'browser/views/options/plugin_filter_page_view.h', 'browser/views/page_info_window_view.cc', - 'browser/views/pinned_contents_info_bubble.cc', - 'browser/views/pinned_contents_info_bubble.h', 'browser/views/repost_form_warning_view.cc', 'browser/views/repost_form_warning_view.h', 'browser/views/restart_message_box.cc', @@ -2448,6 +2449,8 @@ 'browser/views/theme_helpers.h', 'browser/views/theme_install_bubble_view.cc', 'browser/views/theme_install_bubble_view.h', + 'browser/views/toolbar_star_toggle.cc', + 'browser/views/toolbar_star_toggle.h', 'browser/views/toolbar_view.cc', 'browser/views/toolbar_view.h', 'browser/views/uninstall_view.cc', @@ -2902,6 +2905,8 @@ ['include', '^browser/views/html_dialog_view.h'], ['include', '^browser/views/theme_install_bubble_view.cc'], ['include', '^browser/views/theme_install_bubble_view.h'], + ['include', '^browser/views/toolbar_star_toggle.h'], + ['include', '^browser/views/toolbar_star_toggle.cc'], ['include', '^browser/views/frame/browser_bubble_host.cc'], ['include', '^browser/views/frame/browser_bubble_host.h'], ['include', '^browser/views/frame/browser_view_layout.cc'], @@ -2942,8 +2947,6 @@ #['include', '^browser/views/panels/panel_scroller_container.h'], #['include', '^browser/views/panels/panel_scroller_header.cc'], #['include', '^browser/views/panels/panel_scroller_header.h'], - ['include', '^browser/views/pinned_contents_info_bubble.cc'], - ['include', '^browser/views/pinned_contents_info_bubble.h'], ['include', '^browser/views/restart_message_box.cc'], ['include', '^browser/views/restart_message_box.h'], ['include', '^browser/views/sad_tab_view.cc'], diff --git a/chrome/chrome_dll.gypi b/chrome/chrome_dll.gypi index b1771ec..889c685 100644 --- a/chrome/chrome_dll.gypi +++ b/chrome/chrome_dll.gypi @@ -253,15 +253,6 @@ 'app/theme/newtab.pdf', 'app/theme/newtab_h.pdf', 'app/theme/newtab_p.pdf', - 'app/theme/omnibox_history.pdf', - 'app/theme/omnibox_http.pdf', - 'app/theme/omnibox_https_invalid.pdf', - 'app/theme/omnibox_https_valid.pdf', - 'app/theme/omnibox_https_warning.pdf', - 'app/theme/omnibox_more.pdf', - 'app/theme/omnibox_search.pdf', - 'app/theme/omnibox_star.pdf', - 'app/theme/omnibox_star_lit.pdf', 'app/theme/otr_icon.pdf', 'app/theme/reload_Template.pdf', 'app/theme/stop_Template.pdf', diff --git a/chrome/chrome_tests.gypi b/chrome/chrome_tests.gypi index aa90b8c..5f34f37 100644 --- a/chrome/chrome_tests.gypi +++ b/chrome/chrome_tests.gypi @@ -20,7 +20,6 @@ ], # TODO(jcampan): move these vars to views.gyp. 'views_unit_tests_sources': [ - '../views/animation/bounds_animator_unittest.cc', '../views/view_unittest.cc', '../views/focus/focus_manager_unittest.cc', '../views/controls/label_unittest.cc', diff --git a/chrome/test/data/profiles/complex_theme/Default/Extensions/mblmlcbknbnfebdfjnolmcapmdofhmme/1.1/Cached Theme.pak b/chrome/test/data/profiles/complex_theme/Default/Extensions/mblmlcbknbnfebdfjnolmcapmdofhmme/1.1/Cached Theme.pak Binary files differindex c3124f7..7ca26da 100644 --- a/chrome/test/data/profiles/complex_theme/Default/Extensions/mblmlcbknbnfebdfjnolmcapmdofhmme/1.1/Cached Theme.pak +++ b/chrome/test/data/profiles/complex_theme/Default/Extensions/mblmlcbknbnfebdfjnolmcapmdofhmme/1.1/Cached Theme.pak diff --git a/chrome/test/test_location_bar.h b/chrome/test/test_location_bar.h index 4c19d8d..7d4a114 100644 --- a/chrome/test/test_location_bar.h +++ b/chrome/test/test_location_bar.h @@ -43,9 +43,6 @@ class TestLocationBar : public LocationBar { virtual void InvalidatePageActions() {} virtual void SaveStateToContents(TabContents* contents) {} virtual void Revert() {} - virtual const AutocompleteEditView* location_entry() const { - return NULL; - } virtual AutocompleteEditView* location_entry() { return NULL; } diff --git a/chrome/test/testing_profile.cc b/chrome/test/testing_profile.cc index c6f2a87..d4fcc36 100644 --- a/chrome/test/testing_profile.cc +++ b/chrome/test/testing_profile.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2006-2010 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -239,10 +239,6 @@ void TestingProfile::CreateBookmarkModel(bool delete_file) { bookmark_bar_model_->Load(); } -void TestingProfile::CreateAutocompleteClassifier() { - autocomplete_classifier_.reset(new AutocompleteClassifier(this)); -} - void TestingProfile::CreateWebDataService(bool delete_file) { if (web_data_service_.get()) web_data_service_->Shutdown(); diff --git a/chrome/test/testing_profile.h b/chrome/test/testing_profile.h index b4e97d5..f3c37f0 100644 --- a/chrome/test/testing_profile.h +++ b/chrome/test/testing_profile.h @@ -8,7 +8,6 @@ #include "base/base_paths.h" #include "base/file_util.h" #include "base/path_service.h" -#include "chrome/browser/autocomplete/autocomplete_classifier.h" #include "chrome/browser/bookmarks/bookmark_model.h" #include "chrome/browser/browser_prefs.h" #include "chrome/browser/browser_theme_provider.h" @@ -59,16 +58,14 @@ class TestingProfile : public Profile { // BlockUntilBookmarkModelLoaded. void CreateBookmarkModel(bool delete_file); - // Creates an AutocompleteClassifier. If not invoked the - // AutocompleteClassifier is NULL. - void CreateAutocompleteClassifier(); - // Creates the webdata service. If |delete_file| is true, the webdata file is // deleted first, then the WebDataService is created. As TestingProfile // deletes the directory containing the files used by WebDataService, this // only matters if you're recreating the WebDataService. void CreateWebDataService(bool delete_file); + // Destroys + // Blocks until the BookmarkModel finishes loaded. This is NOT invoked from // CreateBookmarkModel. void BlockUntilBookmarkModelLoaded(); @@ -130,8 +127,8 @@ class TestingProfile : public Profile { return NULL; return GetRequestContext()->GetCookieStore()->GetCookieMonster(); } - virtual AutocompleteClassifier* GetAutocompleteClassifier() { - return autocomplete_classifier_.get(); + virtual SearchVersusNavigateClassifier* GetSearchVersusNavigateClassifier() { + return NULL; } virtual WebDataService* GetWebDataService(ServiceAccessType access) { return web_data_service_.get(); @@ -288,10 +285,6 @@ class TestingProfile : public Profile { // The ProfileSyncService. Created by CreateProfileSyncService. scoped_ptr<ProfileSyncService> profile_sync_service_; - // The AutocompleteClassifier. Only created if CreateAutocompleteClassifier - // is invoked. - scoped_ptr<AutocompleteClassifier> autocomplete_classifier_; - // The WebDataService. Only created if CreateWebDataService is invoked. scoped_refptr<WebDataService> web_data_service_; diff --git a/gfx/gtk_util.cc b/gfx/gtk_util.cc index bbed191..1f5b370 100644 --- a/gfx/gtk_util.cc +++ b/gfx/gtk_util.cc @@ -25,7 +25,6 @@ void FreePixels(guchar* pixels, gpointer data) { namespace gfx { const GdkColor kGdkWhite = GDK_COLOR_RGB(0xff, 0xff, 0xff); -const GdkColor kGdkGray = GDK_COLOR_RGB(0x7f, 0x7f, 0x7f); const GdkColor kGdkBlack = GDK_COLOR_RGB(0x00, 0x00, 0x00); const GdkColor kGdkGreen = GDK_COLOR_RGB(0x00, 0xff, 0x00); diff --git a/gfx/gtk_util.h b/gfx/gtk_util.h index 5af37df..cc1fa8a 100644 --- a/gfx/gtk_util.h +++ b/gfx/gtk_util.h @@ -31,7 +31,6 @@ namespace gfx { class Rect; extern const GdkColor kGdkWhite; -extern const GdkColor kGdkGray; extern const GdkColor kGdkBlack; extern const GdkColor kGdkGreen; diff --git a/net/base/net_util.cc b/net/base/net_util.cc index b251ee1..a66d27a 100644 --- a/net/base/net_util.cc +++ b/net/base/net_util.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -707,30 +707,10 @@ bool IDNToUnicodeOneComponent(const char16* comp, return false; } -// If |component| is valid, its begin is incremented by |delta|. -void AdjustComponent(int delta, url_parse::Component* component) { - if (!component->is_valid()) - return; - - DCHECK(delta >= 0 || component->begin >= -delta); - component->begin += delta; -} - -// Adjusts all the components of |parsed| by |delta|, except for the scheme. -void AdjustComponents(int delta, url_parse::Parsed* parsed) { - AdjustComponent(delta, &(parsed->username)); - AdjustComponent(delta, &(parsed->password)); - AdjustComponent(delta, &(parsed->host)); - AdjustComponent(delta, &(parsed->port)); - AdjustComponent(delta, &(parsed->path)); - AdjustComponent(delta, &(parsed->query)); - AdjustComponent(delta, &(parsed->ref)); -} - // Helper for FormatUrl(). std::wstring FormatViewSourceUrl(const GURL& url, const std::wstring& languages, - net::FormatUrlTypes format_types, + bool omit_username_password, UnescapeRule::Type unescape_rules, url_parse::Parsed* new_parsed, size_t* prefix_end, @@ -745,7 +725,8 @@ std::wstring FormatViewSourceUrl(const GURL& url, size_t* temp_offset_ptr = (*offset_for_adjustment < kViewSourceLengthPlus1) ? NULL : &temp_offset; std::wstring result = net::FormatUrl(real_url, languages, - format_types, unescape_rules, new_parsed, prefix_end, temp_offset_ptr); + omit_username_password, unescape_rules, new_parsed, prefix_end, + temp_offset_ptr); result.insert(0, kWideViewSource); // Adjust position values. @@ -756,7 +737,20 @@ std::wstring FormatViewSourceUrl(const GURL& url, new_parsed->scheme.begin = 0; new_parsed->scheme.len = kViewSourceLengthPlus1 - 1; } - AdjustComponents(kViewSourceLengthPlus1, new_parsed); + if (new_parsed->username.is_nonempty()) + new_parsed->username.begin += kViewSourceLengthPlus1; + if (new_parsed->password.is_nonempty()) + new_parsed->password.begin += kViewSourceLengthPlus1; + if (new_parsed->host.is_nonempty()) + new_parsed->host.begin += kViewSourceLengthPlus1; + if (new_parsed->port.is_nonempty()) + new_parsed->port.begin += kViewSourceLengthPlus1; + if (new_parsed->path.is_nonempty()) + new_parsed->path.begin += kViewSourceLengthPlus1; + if (new_parsed->query.is_nonempty()) + new_parsed->query.begin += kViewSourceLengthPlus1; + if (new_parsed->ref.is_nonempty()) + new_parsed->ref.begin += kViewSourceLengthPlus1; if (prefix_end) *prefix_end += kViewSourceLengthPlus1; if (temp_offset_ptr) { @@ -770,12 +764,6 @@ std::wstring FormatViewSourceUrl(const GURL& url, namespace net { -const FormatUrlType kFormatUrlOmitNothing = 0; -const FormatUrlType kFormatUrlOmitUsernamePassword = 1 << 0; -const FormatUrlType kFormatUrlOmitHTTP = 1 << 1; -const FormatUrlType kFormatUrlOmitAll = kFormatUrlOmitUsernamePassword | - kFormatUrlOmitHTTP; - std::set<int> explicitly_allowed_ports; // Appends the substring |in_component| inside of the URL |spec| to |output|, @@ -1384,7 +1372,7 @@ void AppendFormattedComponent(const std::string& spec, std::wstring FormatUrl(const GURL& url, const std::wstring& languages, - FormatUrlTypes format_types, + bool omit_username_password, UnescapeRule::Type unescape_rules, url_parse::Parsed* new_parsed, size_t* prefix_end, @@ -1392,8 +1380,6 @@ std::wstring FormatUrl(const GURL& url, url_parse::Parsed parsed_temp; if (!new_parsed) new_parsed = &parsed_temp; - else - *new_parsed = url_parse::Parsed(); size_t offset_temp = std::wstring::npos; if (!offset_for_adjustment) offset_for_adjustment = &offset_temp; @@ -1415,7 +1401,7 @@ std::wstring FormatUrl(const GURL& url, // Rejects view-source:view-source:... to avoid deep recursive call. if (url.SchemeIs(kViewSource) && !StartsWithASCII(url.possibly_invalid_spec(), kViewSourceTwice, false)) { - return FormatViewSourceUrl(url, languages, format_types, + return FormatViewSourceUrl(url, languages, omit_username_password, unescape_rules, new_parsed, prefix_end, offset_for_adjustment); } @@ -1432,26 +1418,9 @@ std::wstring FormatUrl(const GURL& url, spec.begin() + parsed.CountCharactersBefore(url_parse::Parsed::USERNAME, true), std::back_inserter(url_string)); - - const wchar_t* const kHTTP = L"http://"; - const char* const kFTP = "ftp."; - const size_t kHTTPSize = std::wstring(kHTTP).size(); - // The omnibox treats ftp.foo.com as ftp://foo.com. This means that if we - // trimmed http off a string that starts with http://ftp and the user tried to - // reload the page the user would end up with a scheme of ftp://. For example, - // 'http://ftp.foo.com' -> 'ftp.foo.com' -> 'ftp://foo.com'. For this reason - // don't strip http off url's whose scheme is http and the host starts with - // 'ftp.'. - bool omit_http = - ((format_types & kFormatUrlOmitHTTP) != 0 && - url_string == kHTTP && (!parsed.host.is_valid() || - (parsed.host.is_nonempty() && - spec.compare(parsed.host.begin, - std::string(kFTP).size(), kFTP)))); - new_parsed->scheme = parsed.scheme; - if ((format_types & kFormatUrlOmitUsernamePassword) != 0) { + if (omit_username_password) { // Remove the username and password fields. We don't want to display those // to the user since they can be used for attacks, // e.g. "http://google.com:search@evil.ru/" @@ -1551,26 +1520,6 @@ std::wstring FormatUrl(const GURL& url, } } - // If we need to strip out http do it after the fact. This way we don't need - // to worry about how offset_for_adjustment is interpreted. - if (omit_http && !url_string.compare(0, kHTTPSize, kHTTP)) { - url_string = url_string.substr(kHTTPSize); - if (*offset_for_adjustment != std::wstring::npos) { - if (*offset_for_adjustment < kHTTPSize) - *offset_for_adjustment = std::wstring::npos; - else - *offset_for_adjustment -= kHTTPSize; - } - if (prefix_end) - *prefix_end -= kHTTPSize; - - // Adjust new_parsed. - DCHECK(new_parsed->scheme.is_valid()); - int delta = -(new_parsed->scheme.len + 3); // +3 for ://. - new_parsed->scheme.reset(); - AdjustComponents(delta, new_parsed); - } - return url_string; } diff --git a/net/base/net_util.h b/net/base/net_util.h index 53314bf..f614eb6 100644 --- a/net/base/net_util.h +++ b/net/base/net_util.h @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -36,22 +36,6 @@ struct Parsed; namespace net { -// Used by FormatUrl to specify handling of certain parts of the url. -typedef uint32 FormatUrlType; -typedef uint32 FormatUrlTypes; - -// Nothing is ommitted. -extern const FormatUrlType kFormatUrlOmitNothing; - -// If set, any username and password are removed. -extern const FormatUrlType kFormatUrlOmitUsernamePassword; - -// If the scheme is 'http://', it's removed. -extern const FormatUrlType kFormatUrlOmitHTTP; - -// Convenience for omitting all unecessary types. -extern const FormatUrlType kFormatUrlOmitAll; - // Holds a list of ports that should be accepted despite bans. extern std::set<int> explicitly_allowed_ports; @@ -261,12 +245,13 @@ void AppendFormattedHost(const GURL& url, size_t* offset_for_adjustment); // Creates a string representation of |url|. The IDN host name may be in Unicode -// if |languages| accepts the Unicode representation. |format_type| is a bitmask -// of FormatUrlTypes, see it for details. |unescape_rules| defines how to clean -// the URL for human readability. You will generally want |UnescapeRule::SPACES| -// for display to the user if you can handle spaces, or |UnescapeRule::NORMAL| -// if not. If the path part and the query part seem to be encoded in %-encoded -// UTF-8, decodes %-encoding and UTF-8. +// if |languages| accepts the Unicode representation. If +// |omit_username_password| is true, any username and password are removed. +// |unescape_rules| defines how to clean the URL for human readability. +// You will generally want |UnescapeRule::SPACES| for display to the user if you +// can handle spaces, or |UnescapeRule::NORMAL| if not. If the path part and the +// query part seem to be encoded in %-encoded UTF-8, decodes %-encoding and +// UTF-8. // // The last three parameters may be NULL. // |new_parsed| will be set to the parsing parameters of the resultant URL. @@ -282,17 +267,18 @@ void AppendFormattedHost(const GURL& url, // std::wstring::npos. std::wstring FormatUrl(const GURL& url, const std::wstring& languages, - FormatUrlTypes format_types, + bool omit_username_password, UnescapeRule::Type unescape_rules, url_parse::Parsed* new_parsed, size_t* prefix_end, size_t* offset_for_adjustment); -// This is a convenience for FormatUrl with -// format_types=kFormatUrlOmitUsernamePassword and unescape=SPACES. +// Creates a string representation of |url| for display to the user. +// This is a shorthand of the above function with omit_username_password=true, +// unescape=SPACES, new_parsed=NULL, and prefix_end=NULL. inline std::wstring FormatUrl(const GURL& url, const std::wstring& languages) { - return FormatUrl(url, languages, kFormatUrlOmitUsernamePassword, - UnescapeRule::SPACES, NULL, NULL, NULL); + return FormatUrl(url, languages, true, UnescapeRule::SPACES, NULL, NULL, + NULL); } // Strip the portions of |url| that aren't core to the network request. diff --git a/net/base/net_util_unittest.cc b/net/base/net_util_unittest.cc index 30ab0b99..833375c 100644 --- a/net/base/net_util_unittest.cc +++ b/net/base/net_util_unittest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. +// Copyright (c) 2009 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. @@ -364,7 +364,7 @@ struct UrlTestData { const char* description; const char* input; const std::wstring languages; - net::FormatUrlTypes format_types; + bool omit; UnescapeRule::Type escape_rules; const std::wstring output; size_t prefix_len; @@ -1267,78 +1267,74 @@ TEST(NetUtilTest, GetHostName) { } TEST(NetUtilTest, FormatUrl) { - net::FormatUrlTypes default_format_type = net::kFormatUrlOmitUsernamePassword; const UrlTestData tests[] = { - {"Empty URL", "", L"", default_format_type, UnescapeRule::NORMAL, L"", 0}, + {"Empty URL", "", L"", true, UnescapeRule::NORMAL, L"", 0}, {"Simple URL", - "http://www.google.com/", L"", default_format_type, UnescapeRule::NORMAL, + "http://www.google.com/", L"", true, UnescapeRule::NORMAL, L"http://www.google.com/", 7}, {"With a port number and a reference", - "http://www.google.com:8080/#\xE3\x82\xB0", L"", default_format_type, + "http://www.google.com:8080/#\xE3\x82\xB0", L"", true, UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0", 7}, // -------- IDN tests -------- {"Japanese IDN with ja", - "http://xn--l8jvb1ey91xtjb.jp", L"ja", default_format_type, - UnescapeRule::NORMAL, L"http://\x671d\x65e5\x3042\x3055\x3072.jp/", 7}, + "http://xn--l8jvb1ey91xtjb.jp", L"ja", true, UnescapeRule::NORMAL, + L"http://\x671d\x65e5\x3042\x3055\x3072.jp/", 7}, {"Japanese IDN with en", - "http://xn--l8jvb1ey91xtjb.jp", L"en", default_format_type, - UnescapeRule::NORMAL, L"http://xn--l8jvb1ey91xtjb.jp/", 7}, + "http://xn--l8jvb1ey91xtjb.jp", L"en", true, UnescapeRule::NORMAL, + L"http://xn--l8jvb1ey91xtjb.jp/", 7}, {"Japanese IDN without any languages", - "http://xn--l8jvb1ey91xtjb.jp", L"", default_format_type, - UnescapeRule::NORMAL, + "http://xn--l8jvb1ey91xtjb.jp", L"", true, UnescapeRule::NORMAL, // Single script is safe for empty languages. L"http://\x671d\x65e5\x3042\x3055\x3072.jp/", 7}, {"mailto: with Japanese IDN", - "mailto:foo@xn--l8jvb1ey91xtjb.jp", L"ja", default_format_type, - UnescapeRule::NORMAL, + "mailto:foo@xn--l8jvb1ey91xtjb.jp", L"ja", true, UnescapeRule::NORMAL, // GURL doesn't assume an email address's domain part as a host name. L"mailto:foo@xn--l8jvb1ey91xtjb.jp", 7}, {"file: with Japanese IDN", - "file://xn--l8jvb1ey91xtjb.jp/config.sys", L"ja", default_format_type, + "file://xn--l8jvb1ey91xtjb.jp/config.sys", L"ja", true, UnescapeRule::NORMAL, L"file://\x671d\x65e5\x3042\x3055\x3072.jp/config.sys", 7}, {"ftp: with Japanese IDN", - "ftp://xn--l8jvb1ey91xtjb.jp/config.sys", L"ja", default_format_type, + "ftp://xn--l8jvb1ey91xtjb.jp/config.sys", L"ja", true, UnescapeRule::NORMAL, L"ftp://\x671d\x65e5\x3042\x3055\x3072.jp/config.sys", 6}, // -------- omit_username_password flag tests -------- {"With username and password, omit_username_password=false", - "http://user:passwd@example.com/foo", L"", - net::kFormatUrlOmitNothing, UnescapeRule::NORMAL, + "http://user:passwd@example.com/foo", L"", false, UnescapeRule::NORMAL, L"http://user:passwd@example.com/foo", 19}, {"With username and password, omit_username_password=true", - "http://user:passwd@example.com/foo", L"", default_format_type, - UnescapeRule::NORMAL, L"http://example.com/foo", 7}, + "http://user:passwd@example.com/foo", L"", true, UnescapeRule::NORMAL, + L"http://example.com/foo", 7}, {"With username and no password", - "http://user@example.com/foo", L"", default_format_type, - UnescapeRule::NORMAL, L"http://example.com/foo", 7}, + "http://user@example.com/foo", L"", true, UnescapeRule::NORMAL, + L"http://example.com/foo", 7}, {"Just '@' without username and password", - "http://@example.com/foo", L"", default_format_type, UnescapeRule::NORMAL, + "http://@example.com/foo", L"", true, UnescapeRule::NORMAL, L"http://example.com/foo", 7}, // GURL doesn't think local-part of an email address is username for URL. {"mailto:, omit_username_password=true", - "mailto:foo@example.com", L"", default_format_type, UnescapeRule::NORMAL, + "mailto:foo@example.com", L"", true, UnescapeRule::NORMAL, L"mailto:foo@example.com", 7}, // -------- unescape flag tests -------- {"Do not unescape", "http://%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB.jp/" "%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB" - "?q=%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB", L"en", default_format_type, + "?q=%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB", L"en", true, UnescapeRule::NONE, // GURL parses %-encoded hostnames into Punycode. L"http://xn--qcka1pmc.jp/%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB" @@ -1347,59 +1343,38 @@ TEST(NetUtilTest, FormatUrl) { {"Unescape normally", "http://%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB.jp/" "%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB" - "?q=%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB", L"en", default_format_type, + "?q=%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB", L"en", true, UnescapeRule::NORMAL, L"http://xn--qcka1pmc.jp/\x30B0\x30FC\x30B0\x30EB" L"?q=\x30B0\x30FC\x30B0\x30EB", 7}, {"Unescape normally including unescape spaces", - "http://www.google.com/search?q=Hello%20World", L"en", default_format_type, - UnescapeRule::SPACES, L"http://www.google.com/search?q=Hello World", 7}, + "http://www.google.com/search?q=Hello%20World", L"en", true, + UnescapeRule::SPACES, + L"http://www.google.com/search?q=Hello World", 7}, /* {"unescape=true with some special characters", - "http://user%3A:%40passwd@example.com/foo%3Fbar?q=b%26z", L"", - net::kFormatUrlOmitNothing, UnescapeRule::NORMAL, + "http://user%3A:%40passwd@example.com/foo%3Fbar?q=b%26z", L"", false, true, L"http://user%3A:%40passwd@example.com/foo%3Fbar?q=b%26z", 25}, */ // Disabled: the resultant URL becomes "...user%253A:%2540passwd...". // -------- view-source: -------- {"view-source", - "view-source:http://xn--qcka1pmc.jp/", L"ja", default_format_type, - UnescapeRule::NORMAL, L"view-source:http://\x30B0\x30FC\x30B0\x30EB.jp/", - 12 + 7}, + "view-source:http://xn--qcka1pmc.jp/", L"ja", true, UnescapeRule::NORMAL, + L"view-source:http://\x30B0\x30FC\x30B0\x30EB.jp/", 12 + 7}, {"view-source of view-source", - "view-source:view-source:http://xn--qcka1pmc.jp/", L"ja", - default_format_type, UnescapeRule::NORMAL, + "view-source:view-source:http://xn--qcka1pmc.jp/", L"ja", true, + UnescapeRule::NORMAL, L"view-source:view-source:http://xn--qcka1pmc.jp/", 12}, - - // -------- omit http: -------- - {"omit http with user name", - "http://user@example.com/foo", L"", net::kFormatUrlOmitAll, - UnescapeRule::NORMAL, L"example.com/foo", 0}, - - {"omit http", - "http://www.google.com/", L"en", net::kFormatUrlOmitHTTP, - UnescapeRule::NORMAL, L"www.google.com/", - 0}, - - {"omit http with https", - "https://www.google.com/", L"en", net::kFormatUrlOmitHTTP, - UnescapeRule::NORMAL, L"https://www.google.com/", - 8}, - - {"omit http starts with ftp.", - "http://ftp.google.com/", L"en", net::kFormatUrlOmitHTTP, - UnescapeRule::NORMAL, L"http://ftp.google.com/", - 7}, }; for (size_t i = 0; i < arraysize(tests); ++i) { size_t prefix_len; std::wstring formatted = net::FormatUrl( - GURL(tests[i].input), tests[i].languages, tests[i].format_types, + GURL(tests[i].input), tests[i].languages, tests[i].omit, tests[i].escape_rules, NULL, &prefix_len, NULL); EXPECT_EQ(tests[i].output, formatted) << tests[i].description; EXPECT_EQ(tests[i].prefix_len, prefix_len) << tests[i].description; @@ -1412,8 +1387,7 @@ TEST(NetUtilTest, FormatUrlParsed) { std::wstring formatted = net::FormatUrl( GURL("http://\xE3\x82\xB0:\xE3\x83\xBC@xn--qcka1pmc.jp:8080/" "%E3%82%B0/?q=%E3%82%B0#\xE3\x82\xB0"), - L"ja", net::kFormatUrlOmitNothing, UnescapeRule::NONE, &parsed, NULL, - NULL); + L"ja", false, UnescapeRule::NONE, &parsed, NULL, NULL); EXPECT_EQ(L"http://%E3%82%B0:%E3%83%BC@\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/%E3%82%B0/?q=%E3%82%B0#\x30B0", formatted); EXPECT_EQ(L"%E3%82%B0", @@ -1433,8 +1407,7 @@ TEST(NetUtilTest, FormatUrlParsed) { formatted = net::FormatUrl( GURL("http://\xE3\x82\xB0:\xE3\x83\xBC@xn--qcka1pmc.jp:8080/" "%E3%82%B0/?q=%E3%82%B0#\xE3\x82\xB0"), - L"ja", net::kFormatUrlOmitNothing, UnescapeRule::NORMAL, &parsed, NULL, - NULL); + L"ja", false, UnescapeRule::NORMAL, &parsed, NULL, NULL); EXPECT_EQ(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/\x30B0/?q=\x30B0#\x30B0", formatted); EXPECT_EQ(L"\x30B0", @@ -1453,8 +1426,7 @@ TEST(NetUtilTest, FormatUrlParsed) { formatted = net::FormatUrl( GURL("http://\xE3\x82\xB0:\xE3\x83\xBC@xn--qcka1pmc.jp:8080/" "%E3%82%B0/?q=%E3%82%B0#\xE3\x82\xB0"), - L"ja", net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, - &parsed, NULL, NULL); + L"ja", true, UnescapeRule::NORMAL, &parsed, NULL, NULL); EXPECT_EQ(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080" L"/\x30B0/?q=\x30B0#\x30B0", formatted); EXPECT_FALSE(parsed.username.is_valid()); @@ -1470,8 +1442,7 @@ TEST(NetUtilTest, FormatUrlParsed) { // View-source case. formatted = net::FormatUrl( GURL("view-source:http://user:passwd@host:81/path?query#ref"), - L"", net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, &parsed, - NULL, NULL); + L"", true, UnescapeRule::NORMAL, &parsed, NULL, NULL); EXPECT_EQ(L"view-source:http://host:81/path?query#ref", formatted); EXPECT_EQ(L"view-source:http", formatted.substr(parsed.scheme.begin, parsed.scheme.len)); @@ -1482,50 +1453,6 @@ TEST(NetUtilTest, FormatUrlParsed) { EXPECT_EQ(L"/path", formatted.substr(parsed.path.begin, parsed.path.len)); EXPECT_EQ(L"query", formatted.substr(parsed.query.begin, parsed.query.len)); EXPECT_EQ(L"ref", formatted.substr(parsed.ref.begin, parsed.ref.len)); - - // omit http case. - formatted = net::FormatUrl( - GURL("http://host:8000/a?b=c#d"), - L"", net::kFormatUrlOmitHTTP, UnescapeRule::NORMAL, &parsed, NULL, NULL); - EXPECT_EQ(L"host:8000/a?b=c#d", formatted); - EXPECT_FALSE(parsed.scheme.is_valid()); - EXPECT_FALSE(parsed.username.is_valid()); - EXPECT_FALSE(parsed.password.is_valid()); - EXPECT_EQ(L"host", formatted.substr(parsed.host.begin, parsed.host.len)); - EXPECT_EQ(L"8000", formatted.substr(parsed.port.begin, parsed.port.len)); - EXPECT_EQ(L"/a", formatted.substr(parsed.path.begin, parsed.path.len)); - EXPECT_EQ(L"b=c", formatted.substr(parsed.query.begin, parsed.query.len)); - EXPECT_EQ(L"d", formatted.substr(parsed.ref.begin, parsed.ref.len)); - - // omit http starts with ftp case. - formatted = net::FormatUrl( - GURL("http://ftp.host:8000/a?b=c#d"), - L"", net::kFormatUrlOmitHTTP, UnescapeRule::NORMAL, &parsed, NULL, NULL); - EXPECT_EQ(L"http://ftp.host:8000/a?b=c#d", formatted); - EXPECT_TRUE(parsed.scheme.is_valid()); - EXPECT_FALSE(parsed.username.is_valid()); - EXPECT_FALSE(parsed.password.is_valid()); - EXPECT_EQ(L"http", formatted.substr(parsed.scheme.begin, parsed.scheme.len)); - EXPECT_EQ(L"ftp.host", formatted.substr(parsed.host.begin, parsed.host.len)); - EXPECT_EQ(L"8000", formatted.substr(parsed.port.begin, parsed.port.len)); - EXPECT_EQ(L"/a", formatted.substr(parsed.path.begin, parsed.path.len)); - EXPECT_EQ(L"b=c", formatted.substr(parsed.query.begin, parsed.query.len)); - EXPECT_EQ(L"d", formatted.substr(parsed.ref.begin, parsed.ref.len)); - - // omit http starts with 'f' case. - formatted = net::FormatUrl( - GURL("http://f/"), - L"", net::kFormatUrlOmitHTTP, UnescapeRule::NORMAL, &parsed, NULL, NULL); - EXPECT_EQ(L"f/", formatted); - EXPECT_FALSE(parsed.scheme.is_valid()); - EXPECT_FALSE(parsed.username.is_valid()); - EXPECT_FALSE(parsed.password.is_valid()); - EXPECT_FALSE(parsed.port.is_valid()); - EXPECT_TRUE(parsed.path.is_valid()); - EXPECT_FALSE(parsed.query.is_valid()); - EXPECT_FALSE(parsed.ref.is_valid()); - EXPECT_EQ(L"f", formatted.substr(parsed.host.begin, parsed.host.len)); - EXPECT_EQ(L"/", formatted.substr(parsed.path.begin, parsed.path.len)); } TEST(NetUtilTest, FormatUrlAdjustOffset) { @@ -1545,9 +1472,8 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(basic_cases); ++i) { size_t offset = basic_cases[i].input_offset; - net::FormatUrl(GURL("http://www.google.com/foo/"), L"en", - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, - NULL, NULL, &offset); + net::FormatUrl(GURL("http://www.google.com/foo/"), L"en", true, + UnescapeRule::NORMAL, NULL, NULL, &offset); EXPECT_EQ(basic_cases[i].output_offset, offset); } @@ -1569,9 +1495,8 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(omit_auth_cases); ++i) { size_t offset = omit_auth_cases[i].input_offset; - net::FormatUrl(GURL(omit_auth_cases[i].input_url), L"en", - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, - NULL, NULL, &offset); + net::FormatUrl(GURL(omit_auth_cases[i].input_url), L"en", true, + UnescapeRule::NORMAL, NULL, NULL, &offset); EXPECT_EQ(omit_auth_cases[i].output_offset, offset); } @@ -1589,9 +1514,8 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { }; for (size_t i = 0; i < ARRAYSIZE_UNSAFE(view_source_cases); ++i) { size_t offset = view_source_cases[i].input_offset; - net::FormatUrl(GURL("view-source:http://foo@www.google.com/"), L"en", - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, - NULL, NULL, &offset); + net::FormatUrl(GURL("view-source:http://foo@www.google.com/"), L"en", true, + UnescapeRule::NORMAL, NULL, NULL, &offset); EXPECT_EQ(view_source_cases[i].output_offset, offset); } @@ -1605,9 +1529,8 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { for (size_t i = 0; i < ARRAYSIZE_UNSAFE(idn_hostname_cases); ++i) { size_t offset = idn_hostname_cases[i].input_offset; // "http://\x671d\x65e5\x3042\x3055\x3072.jp/foo/" - net::FormatUrl(GURL("http://xn--l8jvb1ey91xtjb.jp/foo/"), L"ja", - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, - NULL, NULL, &offset); + net::FormatUrl(GURL("http://xn--l8jvb1ey91xtjb.jp/foo/"), L"ja", true, + UnescapeRule::NORMAL, NULL, NULL, &offset); EXPECT_EQ(idn_hostname_cases[i].output_offset, offset); } @@ -1628,8 +1551,7 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { // "http://www.google.com/foo bar/\x30B0\x30FC\x30B0\x30EB" net::FormatUrl(GURL( "http://www.google.com/foo%20bar/%E3%82%B0%E3%83%BC%E3%82%B0%E3%83%AB"), - L"en", net::kFormatUrlOmitUsernamePassword, UnescapeRule::SPACES, NULL, - NULL, &offset); + L"en", true, UnescapeRule::SPACES, NULL, NULL, &offset); EXPECT_EQ(unescape_cases[i].output_offset, offset); } @@ -1646,48 +1568,9 @@ TEST(NetUtilTest, FormatUrlAdjustOffset) { // "http://www.google.com/foo.html#\x30B0\x30B0z" net::FormatUrl(GURL( "http://www.google.com/foo.html#\xE3\x82\xB0\xE3\x82\xB0z"), L"en", - net::kFormatUrlOmitUsernamePassword, UnescapeRule::NORMAL, NULL, NULL, - &offset); + true, UnescapeRule::NORMAL, NULL, NULL, &offset); EXPECT_EQ(ref_cases[i].output_offset, offset); } - - const AdjustOffsetCase omit_http_cases[] = { - {0, std::wstring::npos}, - {3, std::wstring::npos}, - {7, 0}, - {8, 1}, - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(omit_http_cases); ++i) { - size_t offset = omit_http_cases[i].input_offset; - net::FormatUrl(GURL("http://www.google.com"), L"en", - net::kFormatUrlOmitHTTP, UnescapeRule::NORMAL, NULL, NULL, &offset); - EXPECT_EQ(omit_http_cases[i].output_offset, offset); - } - - const AdjustOffsetCase omit_http_start_with_ftp[] = { - {0, 0}, - {3, 3}, - {8, 8}, - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(omit_http_start_with_ftp); ++i) { - size_t offset = omit_http_start_with_ftp[i].input_offset; - net::FormatUrl(GURL("http://ftp.google.com"), L"en", - net::kFormatUrlOmitHTTP, UnescapeRule::NORMAL, NULL, NULL, &offset); - EXPECT_EQ(omit_http_start_with_ftp[i].output_offset, offset); - } - - const AdjustOffsetCase omit_all_cases[] = { - {12, 0}, - {13, 1}, - {0, std::wstring::npos}, - {3, std::wstring::npos}, - }; - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(omit_all_cases); ++i) { - size_t offset = omit_all_cases[i].input_offset; - net::FormatUrl(GURL("http://user@foo.com/"), L"en", net::kFormatUrlOmitAll, - UnescapeRule::NORMAL, NULL, NULL, &offset); - EXPECT_EQ(omit_all_cases[i].output_offset, offset); - } } TEST(NetUtilTest, SimplifyUrlForRequest) { diff --git a/tools/valgrind/memcheck/suppressions.txt b/tools/valgrind/memcheck/suppressions.txt index c318cc2..2c9930c 100755 --- a/tools/valgrind/memcheck/suppressions.txt +++ b/tools/valgrind/memcheck/suppressions.txt @@ -2506,6 +2506,15 @@ fun:_ZN11ProfileImpl14InitExtensionsEv } { + bug_40475 + Memcheck:Leak + fun:_Znw* + fun:_ZN8TabStrip20NewTabAnimation1DoneEv + ... + fun:ChromeMain + fun:main +} +{ bug_40499 Memcheck:Leak fun:_Znw* diff --git a/views/animation/bounds_animator.cc b/views/animation/bounds_animator.cc index aee3675..e723504 100644 --- a/views/animation/bounds_animator.cc +++ b/views/animation/bounds_animator.cc @@ -28,7 +28,7 @@ BoundsAnimator::~BoundsAnimator() { // Delete all the animations, but don't remove any child views. We assume the // view owns us and is going to be deleted anyway. for (ViewToDataMap::iterator i = data_.begin(); i != data_.end(); ++i) - CleanupData(false, &(i->second), i->first); + CleanupData(&(i->second)); } void BoundsAnimator::AnimateViewTo(View* view, @@ -36,21 +36,21 @@ void BoundsAnimator::AnimateViewTo(View* view, bool delete_when_done) { DCHECK_EQ(view->GetParent(), parent_); - Data existing_data; - - if (data_.count(view) > 0) { - // Don't immediatly delete the animation, that might trigger a callback from - // the animationcontainer. - existing_data = data_[view]; - - RemoveFromMaps(view); + scoped_ptr<Animation> current_animation; + + if (data_.find(view) != data_.end()) { + // Currently animating this view, blow away the current animation and + // we'll create another animation below. + // We delay deleting the view until the end so that we don't prematurely + // send out notification that we're done. + current_animation.reset(ResetAnimationForView(view)); + } else if (target == view->bounds()) { + // View is already at the target location, delete it if necessary. + if (delete_when_done) + delete view; + return; } - // NOTE: we don't check if the view is already at the target location. Doing - // so leads to odd cases where no animations may be present after invoking - // AnimateViewTo. AnimationProgressed does nothing when the bounds of the - // view don't change. - Data& data = data_[view]; data.start_bounds = view->bounds(); data.target_bounds = target; @@ -60,8 +60,6 @@ void BoundsAnimator::AnimateViewTo(View* view, animation_to_view_[data.animation] = view; data.animation->Show(); - - CleanupData(true, &existing_data, NULL); } void BoundsAnimator::SetAnimationForView(View* view, @@ -128,25 +126,22 @@ SlideAnimation* BoundsAnimator::CreateAnimation() { return animation; } -void BoundsAnimator::RemoveFromMaps(View* view) { +void BoundsAnimator::RemoveFromMapsAndDelete(View* view) { DCHECK(data_.count(view) > 0); - animation_to_view_.erase(data_[view].animation); + Data& data = data_[view]; + animation_to_view_.erase(data.animation); + if (data.delete_when_done) + delete view; data_.erase(view); } -void BoundsAnimator::CleanupData(bool send_cancel, Data* data, View* view) { - if (send_cancel && data->delegate) - data->delegate->AnimationCanceled(data->animation); - +void BoundsAnimator::CleanupData(Data* data) { if (data->delete_delegate_when_done) { delete static_cast<OwnedAnimationDelegate*>(data->delegate); data->delegate = NULL; } - if (data->delete_when_done) - delete view; - delete data->animation; data->animation = NULL; } @@ -195,12 +190,12 @@ void BoundsAnimator::AnimationEnded(const Animation* animation) { // Make a copy of the data as Remove empties out the maps. Data data = data_[view]; - RemoveFromMaps(view); + RemoveFromMapsAndDelete(view); if (delegate) delegate->AnimationEnded(animation); - CleanupData(false, &data, view); + CleanupData(&data); } void BoundsAnimator::AnimationCanceled(const Animation* animation) { @@ -210,20 +205,17 @@ void BoundsAnimator::AnimationCanceled(const Animation* animation) { // Make a copy of the data as Remove empties out the maps. Data data = data_[view]; - RemoveFromMaps(view); + RemoveFromMapsAndDelete(view); if (delegate) delegate->AnimationCanceled(animation); - CleanupData(false, &data, view); + CleanupData(&data); } void BoundsAnimator::AnimationContainerProgressed( AnimationContainer* container) { if (!repaint_bounds_.IsEmpty()) { - // Adjust for rtl. - repaint_bounds_.set_x(parent_->MirroredXWithWidthInsideView( - repaint_bounds_.x(), repaint_bounds_.width())); parent_->SchedulePaint(repaint_bounds_, false); repaint_bounds_.SetRect(0, 0, 0, 0); } diff --git a/views/animation/bounds_animator.h b/views/animation/bounds_animator.h index 606c05f..ab2fde9 100644 --- a/views/animation/bounds_animator.h +++ b/views/animation/bounds_animator.h @@ -50,9 +50,7 @@ class BoundsAnimator : public AnimationDelegate, // Starts animating |view| from its current bounds to |target|. If // |delete_when_done| is true the view is deleted when the animation // completes. If there is already an animation running for the view it's - // stopped and a new one started. If an AnimationDelegate has been set for - // |view| it is removed (after being notified that the animation was - // canceled). + // stopped and a new one started. void AnimateViewTo(View* view, const gfx::Rect& target, bool delete_when_done); @@ -66,7 +64,7 @@ class BoundsAnimator : public AnimationDelegate, const SlideAnimation* GetAnimationForView(View* view); // Stops animating the specified view. If the view was scheduled for deletion - // it is deleted. This does nothing if |view| is not currently animating. + // it is deleted. void StopAnimatingView(View* view); // Sets the delegate for the animation created for the specified view. If @@ -90,10 +88,6 @@ class BoundsAnimator : public AnimationDelegate, observer_ = observer; } - protected: - // Creates the animation to use for animating views. - virtual SlideAnimation* CreateAnimation(); - private: // Tracks data about the view being animated. struct Data { @@ -126,13 +120,15 @@ class BoundsAnimator : public AnimationDelegate, typedef std::map<const Animation*, View*> AnimationToViewMap; - // Removes references to |view| and its animation. This does NOT delete the - // animation or delegate. - void RemoveFromMaps(View* view); + // Creates the animation to use for animating views. + SlideAnimation* CreateAnimation(); + + // Removes references to |view| and its animation as well as deleting |view| + // (if necessary). This does NOT delete the animation or delegate. + void RemoveFromMapsAndDelete(View* view); - // Does the necessary cleanup for |data|. If |send_cancel| is true and a - // delegate has been installed on |data| AnimationCanceled is invoked on it. - void CleanupData(bool send_cancel, Data* data, View* view); + // Does the necessary cleanup for |data|. + void CleanupData(Data* data); // Used when changing the animation for a view. This resets the maps for // the animation used by view and returns the current animation. Ownership diff --git a/views/animation/bounds_animator_unittest.cc b/views/animation/bounds_animator_unittest.cc deleted file mode 100644 index 74ea5f2..0000000 --- a/views/animation/bounds_animator_unittest.cc +++ /dev/null @@ -1,178 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "app/slide_animation.h" -#include "app/test_animation_delegate.h" -#include "testing/gtest/include/gtest/gtest.h" -#include "views/animation/bounds_animator.h" -#include "views/view.h" - -using views::BoundsAnimator; - -namespace { - -class TestBoundsAnimator : public BoundsAnimator { - public: - explicit TestBoundsAnimator(views::View* view) : BoundsAnimator(view) { - } - - protected: - SlideAnimation* CreateAnimation() { - SlideAnimation* animation = BoundsAnimator::CreateAnimation(); - animation->SetSlideDuration(10); - return animation; - } - - private: - DISALLOW_COPY_AND_ASSIGN(TestBoundsAnimator); -}; - -class OwnedDelegate : public BoundsAnimator::OwnedAnimationDelegate { - public: - OwnedDelegate() { - deleted_ = false; - canceled_ = false; - } - - ~OwnedDelegate() { - deleted_ = true; - } - - static bool get_and_clear_deleted() { - bool value = deleted_; - deleted_ = false; - return value; - } - - static bool get_and_clear_canceled() { - bool value = canceled_; - canceled_ = false; - return value; - } - - // AnimationDelegate: - virtual void AnimationCanceled(const Animation* animation) { - canceled_ = true; - } - - private: - static bool deleted_; - static bool canceled_; - - DISALLOW_COPY_AND_ASSIGN(OwnedDelegate); -}; - -// static -bool OwnedDelegate::deleted_ = false; - -// static -bool OwnedDelegate::canceled_ = false; - -class TestView : public views::View { - public: - TestView() {} - virtual void SchedulePaint(const gfx::Rect& r, bool urgent) { - if (dirty_rect_.IsEmpty()) - dirty_rect_ = r; - else - dirty_rect_ = dirty_rect_.Union(r); - } - - const gfx::Rect& dirty_rect() const { return dirty_rect_; } - - private: - gfx::Rect dirty_rect_; - - DISALLOW_COPY_AND_ASSIGN(TestView); -}; - -} // namespace - -class BoundsAnimatorTest : public testing::Test { - public: - BoundsAnimatorTest() : child_(new TestView()), animator_(&parent_) { - parent_.AddChildView(child_); - } - - TestView* parent() { return &parent_; } - TestView* child() { return child_; } - TestBoundsAnimator* animator() { return &animator_; } - - private: - MessageLoopForUI message_loop_; - TestView parent_; - TestView* child_; // Owned by |parent_|. - TestBoundsAnimator animator_; - - DISALLOW_COPY_AND_ASSIGN(BoundsAnimatorTest); -}; - -// Checks animate view to. -TEST_F(BoundsAnimatorTest, AnimateViewTo) { - TestAnimationDelegate delegate; - gfx::Rect initial_bounds(0, 0, 10, 10); - child()->SetBounds(initial_bounds); - gfx::Rect target_bounds(10, 10, 20, 20); - animator()->AnimateViewTo(child(), target_bounds, false); - animator()->SetAnimationDelegate(child(), &delegate, false); - - // The animator should be animating now. - EXPECT_TRUE(animator()->IsAnimating()); - - // Run the message loop; the delegate exits the loop when the animation is - // done. - MessageLoop::current()->Run(); - - // Make sure the bounds match of the view that was animated match. - EXPECT_EQ(target_bounds, child()->bounds()); - - // The parent should have been told to repaint as the animation progressed. - // The resulting rect is the union of the original and target bounds. - EXPECT_EQ(target_bounds.Union(initial_bounds), parent()->dirty_rect()); -} - -// Make sure an AnimationDelegate is deleted when canceled. -TEST_F(BoundsAnimatorTest, DeleteDelegateOnCancel) { - animator()->AnimateViewTo(child(), gfx::Rect(0, 0, 10, 10), false); - animator()->SetAnimationDelegate(child(), new OwnedDelegate(), true); - - animator()->Cancel(); - - // The animator should no longer be animating. - EXPECT_FALSE(animator()->IsAnimating()); - - // The cancel should both cancel the delegate and delete it. - EXPECT_TRUE(OwnedDelegate::get_and_clear_canceled()); - EXPECT_TRUE(OwnedDelegate::get_and_clear_deleted()); -} - -// Make sure an AnimationDelegate is deleted when another animation is -// scheduled. -TEST_F(BoundsAnimatorTest, DeleteDelegateOnNewAnimate) { - animator()->AnimateViewTo(child(), gfx::Rect(0, 0, 10, 10), false); - animator()->SetAnimationDelegate(child(), new OwnedDelegate(), true); - - animator()->AnimateViewTo(child(), gfx::Rect(0, 0, 10, 10), false); - - // Starting a new animation should both cancel the delegate and delete it. - EXPECT_TRUE(OwnedDelegate::get_and_clear_deleted()); - EXPECT_TRUE(OwnedDelegate::get_and_clear_canceled()); -} - -// Makes sure StopAnimating works. -TEST_F(BoundsAnimatorTest, StopAnimating) { - scoped_ptr<OwnedDelegate> delegate(new OwnedDelegate()); - - animator()->AnimateViewTo(child(), gfx::Rect(0, 0, 10, 10), false); - animator()->SetAnimationDelegate(child(), new OwnedDelegate(), true); - - animator()->StopAnimatingView(child()); - - // Shouldn't be animating now. - EXPECT_FALSE(animator()->IsAnimating()); - - // Stopping should both cancel the delegate and delete it. - EXPECT_TRUE(OwnedDelegate::get_and_clear_deleted()); - EXPECT_TRUE(OwnedDelegate::get_and_clear_canceled()); -} diff --git a/views/controls/image_view.cc b/views/controls/image_view.cc index 9728332..d35585e 100644 --- a/views/controls/image_view.cc +++ b/views/controls/image_view.cc @@ -49,12 +49,6 @@ bool ImageView::GetImageSize(gfx::Size* image_size) { return image_size_set_; } -gfx::Rect ImageView::GetImageBounds() const { - gfx::Size image_size(image_size_set_ ? - image_size_ : gfx::Size(image_.width(), image_.height())); - return gfx::Rect(ComputeImageOrigin(image_size), image_size); -} - void ImageView::ResetImageSize() { image_size_set_ = false; } @@ -71,52 +65,74 @@ gfx::Size ImageView::GetPreferredSize() { image_.height() + insets.height()); } -gfx::Point ImageView::ComputeImageOrigin(const gfx::Size& image_size) const { - gfx::Insets insets = GetInsets(); - - int x; +void ImageView::ComputeImageOrigin(int image_width, int image_height, + int *x, int *y) { // In order to properly handle alignment of images in RTL locales, we need // to flip the meaning of trailing and leading. For example, if the // horizontal alignment is set to trailing, then we'll use left alignment for // the image instead of right alignment if the UI layout is RTL. Alignment actual_horiz_alignment = horiz_alignment_; - if (UILayoutIsRightToLeft() && (horiz_alignment_ != CENTER)) - actual_horiz_alignment = (horiz_alignment_ == LEADING) ? TRAILING : LEADING; + if (UILayoutIsRightToLeft()) { + if (horiz_alignment_ == TRAILING) + actual_horiz_alignment = LEADING; + if (horiz_alignment_ == LEADING) + actual_horiz_alignment = TRAILING; + } + + gfx::Insets insets = GetInsets(); + switch (actual_horiz_alignment) { - case LEADING: x = insets.left(); break; - case TRAILING: x = width() - insets.right() - image_size.width(); break; - case CENTER: x = (width() - image_size.width()) / 2; break; - default: NOTREACHED(); x = 0; break; + case LEADING: + *x = insets.left(); + break; + case TRAILING: + *x = width() - insets.right() - image_width; + break; + case CENTER: + *x = (width() - image_width) / 2; + break; + default: + NOTREACHED(); } - int y; switch (vert_alignment_) { - case LEADING: y = insets.top(); break; - case TRAILING: y = height() - insets.bottom() - image_size.height(); break; - case CENTER: y = (height() - image_size.height()) / 2; break; - default: NOTREACHED(); y = 0; break; + case LEADING: + *y = insets.top(); + break; + case TRAILING: + *y = height() - insets.bottom() - image_height; + break; + case CENTER: + *y = (height() - image_height) / 2; + break; + default: + NOTREACHED(); } - - return gfx::Point(x, y); } void ImageView::Paint(gfx::Canvas* canvas) { View::Paint(canvas); + int image_width = image_.width(); + int image_height = image_.height(); - gfx::Rect image_bounds(GetImageBounds()); - if (image_bounds.IsEmpty()) + if (image_width == 0 || image_height == 0) return; - if (image_bounds.size() != gfx::Size(image_.width(), image_.height())) { + int x, y; + if (image_size_set_ && + (image_size_.width() != image_width || + image_size_.width() != image_height)) { // Resize case image_.buildMipMap(false); + ComputeImageOrigin(image_size_.width(), image_size_.height(), &x, &y); SkPaint paint; paint.setFilterBitmap(true); - canvas->DrawBitmapInt(image_, 0, 0, image_.width(), image_.height(), - image_bounds.x(), image_bounds.y(), image_bounds.width(), - image_bounds.height(), true, paint); + canvas->DrawBitmapInt(image_, 0, 0, image_width, image_height, + x, y, image_size_.width(), image_size_.height(), + true, paint); } else { - canvas->DrawBitmapInt(image_, image_bounds.x(), image_bounds.y()); + ComputeImageOrigin(image_width, image_height, &x, &y); + canvas->DrawBitmapInt(image_, x, y); } } diff --git a/views/controls/image_view.h b/views/controls/image_view.h index 45eeecd..46cbb00 100644 --- a/views/controls/image_view.h +++ b/views/controls/image_view.h @@ -55,9 +55,6 @@ class ImageView : public View { // size. bool GetImageSize(gfx::Size* image_size); - // Returns the actual bounds of the visible image inside the view. - gfx::Rect GetImageBounds() const; - // Reset the image size to the current image dimensions. void ResetImageSize(); @@ -73,16 +70,19 @@ class ImageView : public View { void SetTooltipText(const std::wstring& tooltip); std::wstring GetTooltipText(); + // Return whether the image should be centered inside the view. // Overriden from View virtual gfx::Size GetPreferredSize(); virtual void Paint(gfx::Canvas* canvas); virtual bool GetAccessibleRole(AccessibilityTypes::Role* role); + + // Overriden from View. virtual bool GetTooltipText(const gfx::Point& p, std::wstring* tooltip); private: // Compute the image origin given the desired size and the receiver alignment // properties. - gfx::Point ComputeImageOrigin(const gfx::Size& image_size) const; + void ComputeImageOrigin(int image_width, int image_height, int *x, int *y); // Whether the image size is set. bool image_size_set_; diff --git a/views/views.gyp b/views/views.gyp index 950fb86..d092722 100644 --- a/views/views.gyp +++ b/views/views.gyp @@ -301,8 +301,6 @@ 'window/window_resources.h', 'window/window_gtk.cc', 'window/window_gtk.h', - 'window/window_shape.cc', - 'window/window_shape.h', 'window/window_win.cc', 'window/window_win.h', ], diff --git a/views/window/custom_frame_view.cc b/views/window/custom_frame_view.cc index e67a5c2..5f62219 100644 --- a/views/window/custom_frame_view.cc +++ b/views/window/custom_frame_view.cc @@ -17,7 +17,6 @@ #include "grit/app_resources.h" #include "grit/app_strings.h" #include "views/window/client_view.h" -#include "views/window/window_shape.h" #if defined(OS_LINUX) #include "views/window/hit_test.h" #endif @@ -188,10 +187,27 @@ int CustomFrameView::NonClientHitTest(const gfx::Point& point) { void CustomFrameView::GetWindowMask(const gfx::Size& size, gfx::Path* window_mask) { DCHECK(window_mask); + if (frame_->IsMaximized()) return; - views::GetDefaultWindowMask(size, window_mask); + // Redefine the window visible region for the new size. + window_mask->moveTo(0, 3); + window_mask->lineTo(1, 2); + window_mask->lineTo(1, 1); + window_mask->lineTo(2, 1); + window_mask->lineTo(3, 0); + + window_mask->lineTo(SkIntToScalar(size.width() - 3), 0); + window_mask->lineTo(SkIntToScalar(size.width() - 2), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 1); + window_mask->lineTo(SkIntToScalar(size.width() - 1), 2); + window_mask->lineTo(SkIntToScalar(size.width()), 3); + + window_mask->lineTo(SkIntToScalar(size.width()), + SkIntToScalar(size.height())); + window_mask->lineTo(0, SkIntToScalar(size.height())); + window_mask->close(); } void CustomFrameView::EnableClose(bool enable) { diff --git a/views/window/window_shape.cc b/views/window/window_shape.cc deleted file mode 100644 index dd234bf..0000000 --- a/views/window/window_shape.cc +++ /dev/null @@ -1,46 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "views/window/window_shape.h" - -#include "gfx/path.h" -#include "gfx/size.h" - -namespace views { - -void GetDefaultWindowMask(const gfx::Size &size, gfx::Path *window_mask) { - // Redefine the window visible region for the new size. - window_mask->moveTo(0, 3); - window_mask->lineTo(1, 2); - window_mask->lineTo(1, 1); - window_mask->lineTo(2, 1); - window_mask->lineTo(3, 0); - - window_mask->lineTo(SkIntToScalar(size.width() - 3), 0); - window_mask->lineTo(SkIntToScalar(size.width() - 2), 1); - window_mask->lineTo(SkIntToScalar(size.width() - 1), 1); - window_mask->lineTo(SkIntToScalar(size.width() - 1), 2); - window_mask->lineTo(SkIntToScalar(size.width()), 3); - - window_mask->lineTo(SkIntToScalar(size.width()), - SkIntToScalar(size.height() - 3)); - window_mask->lineTo(SkIntToScalar(size.width() - 1), - SkIntToScalar(size.height() - 3)); - window_mask->lineTo(SkIntToScalar(size.width() - 1), - SkIntToScalar(size.height() - 1)); - window_mask->lineTo(SkIntToScalar(size.width() - 3), - SkIntToScalar(size.height() - 2)); - window_mask->lineTo(SkIntToScalar(size.width() - 3), - SkIntToScalar(size.height())); - - window_mask->lineTo(3, SkIntToScalar(size.height())); - window_mask->lineTo(2, SkIntToScalar(size.height() - 2)); - window_mask->lineTo(1, SkIntToScalar(size.height() - 1)); - window_mask->lineTo(1, SkIntToScalar(size.height() - 3)); - window_mask->lineTo(0, SkIntToScalar(size.height() - 3)); - - window_mask->close(); -} - -} // namespace views diff --git a/views/window/window_shape.h b/views/window/window_shape.h deleted file mode 100644 index 5b47415..0000000 --- a/views/window/window_shape.h +++ /dev/null @@ -1,21 +0,0 @@ -// Copyright (c) 2010 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef VIEWS_WINDOW_WINDOW_SHAPE_H_ -#define VIEWS_WINDOW_WINDOW_SHAPE_H_ - -namespace gfx { -class Size; -class Path; -} - -namespace views { - -// Sets the window mask to a style that most likely matches -// app/resources/window_* -void GetDefaultWindowMask(const gfx::Size& size, gfx::Path* window_mask); - -} // namespace views - -#endif // #ifndef VIEWS_WINDOW_WINDOW_SHAPE_H_ |