@3 Q m (  ; P@ FF H L O ^ e n r    ̫ L        + b   / x] 7c f i 'p s  C @        } w  A   s  M t`$u%\&),-2#59?DILQV)[j2m{~ʑb rѬaNӷaul6  :\R"#77JKKkLMOPQqRBSSlUV_XY[bPccd;fghSjkmptxyJ{|)xzS#*'8T1vI   V  }   f#&u+z;G7HHH[IdJeKL8MuNN P\P(QQR\STUVWXYZ[.]H^_`abd9f9h&jjknq}tuvwxoyz{{[||7}}>~~_1Ҁ"i'mGͅOTȇ; f)If֍=Ɏj  c   V2NF֘]ș/ G!"#N$j%&%'()M+,- .~/0123 4}56788ϼ9i:;<=>?@3AyB5CDE;FGHIUJKmLMN-OPQRSWTU8VW XYZk[\]^b_`aqbcRde>fg h in j klm~n8o& p#q#r$s%t%u*&vv&w 'x'yk)z*{;,X/-Yz5Z17[7\ 9]9^<_?`BBa`DbEc_FdDHe>IfmLgOMlOmOnPowPpPqQQrQs'RtRuRv^SwSx+TyTzT{|UVVyW9XX[)^chkm'x {4~IΕۧ_Y"+%H  UO,[Q51yz c lt)YYLZ2=S   $     $'(A)+**+-505:$==BYCbE  J!$N"R. T/j0167 8' 9 : ;i < =@ > ? @}ABFCDEFGKHI+JKLcMN0OPQgRST!U"X(Y(ZQ*[*\+]T1^6_c8`:b?cCdxDi)EnIJoJp@KqKr-LsLtMu[MvNwNx|PyRzsS{S#TVxYZ=]B}   L      & ~   O   [ 3  K        ( ! " s" " # p# # $ $ '% & k& 8' ' @( ( ( x) * + 0 0 !2 2 C8 F P [ b 4k Oo rp q r [s s ^t t Eu u xx z % t    w B    @ . l> L a ex g   h  F  {$ b> T l } =      n  =   ]   g     a   i  " |  o   p  $   e    F    J  K ! "9 # $ %c & ' ( ) *) +z , -. . /? 0 1? 2 3 48 5 6 7+ 8 9 :' ;| < =& >x ? @ Aq B C Dp E F Gl H I Je K W X? Y Z ]M ^ _ `* aY# b& c- d3 e64 hA9 i9 o: pU> qyB r+I sL t]N uqT zY {\ |c\ }_ ~c :d ge e h Rj k q wr x y J}    B  ۂ ,  I  |   r  Y   } u ś * >   -     :    a j +      s Ŀ  Z y    jc kcW8 lc0S mcS tT tZ t_ t` t)f tuk tm to tr tgt tKx tx tPy t{ t| tf~ t t tM tv t7 t

// Copyright 2012 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. var chrome; if (!chrome) chrome = {}; if (!chrome.embeddedSearch) { chrome.embeddedSearch = new function() { this.searchBox = new function() { // ======================================================================= // Private functions // ======================================================================= native function Focus(); native function GetDisplayInstantResults(); native function GetMostVisitedItemData(); native function GetQuery(); native function GetSearchRequestParams(); native function GetRightToLeft(); native function GetSuggestionToPrefetch(); native function IsFocused(); native function IsKeyCaptureEnabled(); native function Paste(); native function StartCapturingKeyStrokes(); native function StopCapturingKeyStrokes(); // ======================================================================= // Exported functions // ======================================================================= this.__defineGetter__('displayInstantResults', GetDisplayInstantResults); this.__defineGetter__('isFocused', IsFocused); this.__defineGetter__('isKeyCaptureEnabled', IsKeyCaptureEnabled); this.__defineGetter__('rtl', GetRightToLeft); this.__defineGetter__('suggestion', GetSuggestionToPrefetch); this.__defineGetter__('value', GetQuery); Object.defineProperty(this, 'requestParams', { get: GetSearchRequestParams }); this.focus = function() { Focus(); }; // This method is restricted to chrome-search://most-visited pages by // checking the invoking context's origin in searchbox_extension.cc. this.getMostVisitedItemData = function(restrictedId) { var item = GetMostVisitedItemData(restrictedId); if (item) { var sizeInPx = Math.floor(48 * window.devicePixelRatio + 0.5); // Populate large icon and fallback icon data, if they exist. We'll // render everything here, once these become available by default. if (item.largeIconUrl) { item.largeIconUrl += sizeInPx + "/" + item.renderViewId + "/" + item.rid; } if (item.fallbackIconUrl) { item.fallbackIconUrl += sizeInPx + ",,,,/" + item.renderViewId + "/" + item.rid; } } return item; }; this.paste = function(value) { Paste(value); }; this.startCapturingKeyStrokes = function() { StartCapturingKeyStrokes(); }; this.stopCapturingKeyStrokes = function() { StopCapturingKeyStrokes(); }; this.onfocuschange = null; this.onkeycapturechange = null; this.onsubmit = null; this.onsuggestionchange = null; //TODO(jered): Remove this empty method when google no longer requires it. this.setRestrictedValue = function() {}; }; this.newTabPage = new function() { // ======================================================================= // Private functions // ======================================================================= native function CheckIsUserSignedInToChromeAs(); native function CheckIsUserSyncingHistory(); native function DeleteMostVisitedItem(); native function GetAppLauncherEnabled(); native function GetMostVisitedItems(); native function GetThemeBackgroundInfo(); native function IsInputInProgress(); native function LogEvent(); native function LogMostVisitedImpression(); native function LogMostVisitedNavigation(); native function UndoAllMostVisitedDeletions(); native function UndoMostVisitedDeletion(); function GetMostVisitedItemsWrapper() { var mostVisitedItems = GetMostVisitedItems(); for (var i = 0, item; item = mostVisitedItems[i]; ++i) { item.faviconUrl = GenerateFaviconURL(item.renderViewId, item.rid); // These properties are private data and should not be returned to // the page. They are only accessible via getMostVisitedItemData(). delete item.url; delete item.title; delete item.domain; delete item.direction; delete item.renderViewId; delete item.largeIconUrl; delete item.fallbackIconUrl; } return mostVisitedItems; } function GenerateFaviconURL(renderViewId, rid) { return "chrome-search://favicon/size/16@" + window.devicePixelRatio + "x/" + renderViewId + "/" + rid; } // ======================================================================= // Exported functions // ======================================================================= this.__defineGetter__('appLauncherEnabled', GetAppLauncherEnabled); this.__defineGetter__('isInputInProgress', IsInputInProgress); this.__defineGetter__('mostVisited', GetMostVisitedItemsWrapper); this.__defineGetter__('themeBackgroundInfo', GetThemeBackgroundInfo); this.deleteMostVisitedItem = function(restrictedId) { DeleteMostVisitedItem(restrictedId); }; this.checkIsUserSignedIntoChromeAs = function(identity) { CheckIsUserSignedInToChromeAs(identity); }; this.checkIsUserSyncingHistory = function() { CheckIsUserSyncingHistory(); }; // This method is restricted to chrome-search://most-visited pages by // checking the invoking context's origin in searchbox_extension.cc. this.logEvent = function(histogram_name) { LogEvent(histogram_name); }; // This method is restricted to chrome-search://most-visited pages by // checking the invoking context's origin in searchbox_extension.cc. this.logMostVisitedImpression = function(position, provider) { LogMostVisitedImpression(position, provider); }; // This method is restricted to chrome-search://most-visited pages by // checking the invoking context's origin in searchbox_extension.cc. this.logMostVisitedNavigation = function(position, provider) { LogMostVisitedNavigation(position, provider); }; this.undoAllMostVisitedDeletions = function() { UndoAllMostVisitedDeletions(); }; this.undoMostVisitedDeletion = function(restrictedId) { UndoMostVisitedDeletion(restrictedId); }; this.onsignedincheckdone = null; this.onhistorysynccheckdone = null; this.oninputcancel = null; this.oninputstart = null; this.onmostvisitedchange = null; this.onthemechange = null; }; // TODO(jered): Remove when google no longer expects this object. chrome.searchBox = this.searchBox; }; } // Copyright (c) 2012 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. // Custom binding for the app API. var GetAvailability = requireNative('v8_context').GetAvailability; if (!GetAvailability('app').is_available) { exports.$set('binding', {}); exports.$set('onInstallStateResponse', function(){}); return; } var appNatives = requireNative('app'); var process = requireNative('process'); var extensionId = process.GetExtensionId(); var logActivity = requireNative('activityLogger'); function wrapForLogging(fun) { if (!extensionId) return fun; // nothing interesting to log without an extension return function() { // TODO(ataly): We need to make sure we use the right prototype for // fun.apply. Array slice can either be rewritten or similarly defined. logActivity.LogAPICall(extensionId, "app." + fun.name, $Array.slice(arguments)); return $Function.apply(fun, this, arguments); }; } // This becomes chrome.app var app = { getIsInstalled: wrapForLogging(appNatives.GetIsInstalled), getDetails: wrapForLogging(appNatives.GetDetails), runningState: wrapForLogging(appNatives.GetRunningState) }; // Tricky; "getIsInstalled" is actually exposed as the getter "isInstalled", // but we don't have a way to express this in the schema JSON (nor is it // worth it for this one special case). // // So, define it manually, and let the getIsInstalled function act as its // documentation. app.__defineGetter__('isInstalled', wrapForLogging(appNatives.GetIsInstalled)); // Called by app_bindings.cc. function onInstallStateResponse(state, callbackId) { var callback = callbacks[callbackId]; delete callbacks[callbackId]; if (typeof(callback) == 'function') { try { callback(state); } catch (e) { console.error('Exception in chrome.app.installState response handler: ' + e.stack); } } } // TODO(kalman): move this stuff to its own custom bindings. var callbacks = {}; var nextCallbackId = 1; app.installState = function getInstallState(callback) { var callbackId = nextCallbackId++; callbacks[callbackId] = callback; appNatives.GetInstallState(callbackId); }; if (extensionId) app.installState = wrapForLogging(app.installState); exports.$set('binding', app); exports.$set('onInstallStateResponse', onInstallStateResponse); // Copyright 2014 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. // Custom bindings for the automation API. var AutomationNode = require('automationNode').AutomationNode; var AutomationRootNode = require('automationNode').AutomationRootNode; var automation = require('binding').Binding.create('automation'); var automationInternal = require('binding').Binding.create('automationInternal').generate(); var eventBindings = require('event_bindings'); var Event = eventBindings.Event; var exceptionHandler = require('uncaught_exception_handler'); var forEach = require('utils').forEach; var lastError = require('lastError'); var logging = requireNative('logging'); var nativeAutomationInternal = requireNative('automationInternal'); var GetRoutingID = nativeAutomationInternal.GetRoutingID; var GetSchemaAdditions = nativeAutomationInternal.GetSchemaAdditions; var DestroyAccessibilityTree = nativeAutomationInternal.DestroyAccessibilityTree; var GetIntAttribute = nativeAutomationInternal.GetIntAttribute; var StartCachingAccessibilityTrees = nativeAutomationInternal.StartCachingAccessibilityTrees; var AddTreeChangeObserver = nativeAutomationInternal.AddTreeChangeObserver; var RemoveTreeChangeObserver = nativeAutomationInternal.RemoveTreeChangeObserver; var GetFocus = nativeAutomationInternal.GetFocus; var schema = GetSchemaAdditions(); /** * A namespace to export utility functions to other files in automation. */ window.automationUtil = function() {}; // TODO(aboxhall): Look into using WeakMap var idToCallback = {}; var DESKTOP_TREE_ID = 0; automationUtil.storeTreeCallback = function(id, callback) { if (!callback) return; var targetTree = AutomationRootNode.get(id); if (!targetTree) { // If we haven't cached the tree, hold the callback until the tree is // populated by the initial onAccessibilityEvent call. if (id in idToCallback) idToCallback[id].push(callback); else idToCallback[id] = [callback]; } else { callback(targetTree); } }; /** * Global list of tree change observers. * @type {Object} */ automationUtil.treeChangeObserverMap = {}; /** * The id of the next tree change observer. * @type {number} */ automationUtil.nextTreeChangeObserverId = 1; /** * @type {AutomationNode} The current focused node. This is only updated * when calling automationUtil.updateFocusedNode. */ automationUtil.focusedNode = null; /** * Update automationUtil.focusedNode to be the node that currently has focus. */ automationUtil.updateFocusedNode = function() { automationUtil.focusedNode = null; var focusedNodeInfo = GetFocus(DESKTOP_TREE_ID); if (!focusedNodeInfo) return; var tree = AutomationRootNode.getOrCreate(focusedNodeInfo.treeId); if (tree) { automationUtil.focusedNode = privates(tree).impl.get(focusedNodeInfo.nodeId); } }; automation.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; // TODO(aboxhall, dtseng): Make this return the speced AutomationRootNode obj. apiFunctions.setHandleRequest('getTree', function getTree(tabID, callback) { var routingID = GetRoutingID(); StartCachingAccessibilityTrees(); // enableTab() ensures the renderer for the active or specified tab has // accessibility enabled, and fetches its ax tree id to use as // a key in the idToAutomationRootNode map. The callback to // enableTab is bound to the callback passed in to getTree(), so that once // the tree is available (either due to having been cached earlier, or after // an accessibility event occurs which causes the tree to be populated), the // callback can be called. var params = { routingID: routingID, tabID: tabID }; automationInternal.enableTab(params, function onEnable(id) { if (lastError.hasError(chrome)) { callback(); return; } automationUtil.storeTreeCallback(id, callback); }); }); var desktopTree = null; apiFunctions.setHandleRequest('getDesktop', function(callback) { StartCachingAccessibilityTrees(); desktopTree = AutomationRootNode.get(DESKTOP_TREE_ID); if (!desktopTree) { if (DESKTOP_TREE_ID in idToCallback) idToCallback[DESKTOP_TREE_ID].push(callback); else idToCallback[DESKTOP_TREE_ID] = [callback]; var routingID = GetRoutingID(); // TODO(dtseng): Disable desktop tree once desktop object goes out of // scope. automationInternal.enableDesktop(routingID, function() { if (lastError.hasError(chrome)) { AutomationRootNode.destroy(DESKTOP_TREE_ID); callback(); return; } }); } else { callback(desktopTree); } }); apiFunctions.setHandleRequest('getFocus', function(callback) { automationUtil.updateFocusedNode(); callback(automationUtil.focusedNode); }); function removeTreeChangeObserver(observer) { for (var id in automationUtil.treeChangeObserverMap) { if (automationUtil.treeChangeObserverMap[id] == observer) { RemoveTreeChangeObserver(id); delete automationUtil.treeChangeObserverMap[id]; return; } } } apiFunctions.setHandleRequest('removeTreeChangeObserver', function(observer) { removeTreeChangeObserver(observer); }); function addTreeChangeObserver(filter, observer) { removeTreeChangeObserver(observer); var id = automationUtil.nextTreeChangeObserverId++; AddTreeChangeObserver(id, filter); automationUtil.treeChangeObserverMap[id] = observer; } apiFunctions.setHandleRequest('addTreeChangeObserver', function(filter, observer) { addTreeChangeObserver(filter, observer); }); apiFunctions.setHandleRequest('setDocumentSelection', function(params) { var anchorNodeImpl = privates(params.anchorObject).impl; var focusNodeImpl = privates(params.focusObject).impl; if (anchorNodeImpl.treeID !== focusNodeImpl.treeID) throw new Error('Selection anchor and focus must be in the same tree.'); if (anchorNodeImpl.treeID === DESKTOP_TREE_ID) { throw new Error('Use AutomationNode.setSelection to set the selection ' + 'in the desktop tree.'); } automationInternal.performAction({ treeID: anchorNodeImpl.treeID, automationNodeID: anchorNodeImpl.id, actionType: 'setSelection'}, { focusNodeID: focusNodeImpl.id, anchorOffset: params.anchorOffset, focusOffset: params.focusOffset }); }); }); automationInternal.onChildTreeID.addListener(function(treeID, nodeID) { var tree = AutomationRootNode.getOrCreate(treeID); if (!tree) return; var node = privates(tree).impl.get(nodeID); if (!node) return; // A WebView in the desktop tree has a different AX tree as its child. // When we encounter a WebView with a child AX tree id that we don't // currently have cached, explicitly request that AX tree from the // browser process and set up a callback when it loads to attach that // tree as a child of this node and fire appropriate events. var childTreeID = GetIntAttribute(treeID, nodeID, 'childTreeId'); if (!childTreeID) return; var subroot = AutomationRootNode.get(childTreeID); if (!subroot) { automationUtil.storeTreeCallback(childTreeID, function(root) { // Return early if the root has already been attached. if (root.parent) return; privates(root).impl.setHostNode(node); if (root.docLoaded) privates(root).impl.dispatchEvent(schema.EventType.loadComplete); privates(node).impl.dispatchEvent(schema.EventType.childrenChanged); }); automationInternal.enableFrame(childTreeID); } else { privates(subroot).impl.setHostNode(node); } }); automationInternal.onTreeChange.addListener(function(observerID, treeID, nodeID, changeType) { var tree = AutomationRootNode.getOrCreate(treeID); if (!tree) return; var node = privates(tree).impl.get(nodeID); if (!node) return; var observer = automationUtil.treeChangeObserverMap[observerID]; if (!observer) return; try { observer({target: node, type: changeType}); } catch (e) { exceptionHandler.handle('Error in tree change observer for ' + treeChange.type, e); } }); automationInternal.onNodesRemoved.addListener(function(treeID, nodeIDs) { var tree = AutomationRootNode.getOrCreate(treeID); if (!tree) return; for (var i = 0; i < nodeIDs.length; i++) { privates(tree).impl.remove(nodeIDs[i]); } }); /** * Dispatch accessibility events fired on individual nodes to its * corresponding AutomationNode. Handle focus events specially * (see below). */ automationInternal.onAccessibilityEvent.addListener(function(eventParams) { var id = eventParams.treeID; var targetTree = AutomationRootNode.getOrCreate(id); // When we get a focus event, ignore the actual event target, and instead // check what node has focus globally. If that represents a focus change, // fire a focus event on the correct target. if (eventParams.eventType == schema.EventType.focus) { var previousFocusedNode = automationUtil.focusedNode; automationUtil.updateFocusedNode(); if (automationUtil.focusedNode && automationUtil.focusedNode == previousFocusedNode) { return; } if (automationUtil.focusedNode) { targetTree = automationUtil.focusedNode.root; eventParams.treeID = privates(targetTree).impl.treeID; eventParams.targetID = privates(automationUtil.focusedNode).impl.id; } } if (!privates(targetTree).impl.onAccessibilityEvent(eventParams)) return; // If we're not waiting on a callback to getTree(), we can early out here. if (!(id in idToCallback)) return; // We usually get a 'placeholder' tree first, which doesn't have any url // attribute or child nodes. If we've got that, wait for the full tree before // calling the callback. // TODO(dmazzoni): Don't send down placeholder (crbug.com/397553) if (id != DESKTOP_TREE_ID && !targetTree.url && targetTree.children.length == 0) return; // If the tree wasn't available when getTree() was called, the callback will // have been cached in idToCallback, so call and delete it now that we // have the complete tree. for (var i = 0; i < idToCallback[id].length; i++) { var callback = idToCallback[id][i]; callback(targetTree); } delete idToCallback[id]; }); automationInternal.onAccessibilityTreeDestroyed.addListener(function(id) { // Destroy the AutomationRootNode. var targetTree = AutomationRootNode.get(id); if (targetTree) { privates(targetTree).impl.destroy(); AutomationRootNode.destroy(id); } else { logging.WARNING('no targetTree to destroy'); } // Destroy the native cache of the accessibility tree. DestroyAccessibilityTree(id); }); var binding = automation.generate(); // Add additional accessibility bindings not specified in the automation IDL. // Accessibility and automation share some APIs (see // ui/accessibility/ax_enums.idl). forEach(schema, function(k, v) { binding[k] = v; }); exports.$set('binding', binding); // Copyright 2014 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. var utils = require('utils'); function AutomationEventImpl(type, target) { this.propagationStopped = false; // TODO(aboxhall): make these read-only properties this.type = type; this.target = target; this.eventPhase = Event.NONE; } AutomationEventImpl.prototype = { __proto__: null, stopPropagation: function() { this.propagationStopped = true; }, }; function AutomationEvent() { privates(AutomationEvent).constructPrivate(this, arguments); } utils.expose(AutomationEvent, AutomationEventImpl, { functions: [ 'stopPropagation', ], readonly: [ 'type', 'target', 'eventPhase', ], }); exports.$set('AutomationEvent', AutomationEvent); // Copyright 2014 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. var AutomationEvent = require('automationEvent').AutomationEvent; var automationInternal = require('binding').Binding.create('automationInternal').generate(); var exceptionHandler = require('uncaught_exception_handler'); var IsInteractPermitted = requireNative('automationInternal').IsInteractPermitted; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The id of the root node. */ var GetRootID = requireNative('automationInternal').GetRootID; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?string} The title of the document. */ var GetDocTitle = requireNative('automationInternal').GetDocTitle; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?string} The url of the document. */ var GetDocURL = requireNative('automationInternal').GetDocURL; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?boolean} True if the document has finished loading. */ var GetDocLoaded = requireNative('automationInternal').GetDocLoaded; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The loading progress, from 0.0 to 1.0 (fully loaded). */ var GetDocLoadingProgress = requireNative('automationInternal').GetDocLoadingProgress; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The ID of the selection anchor object. */ var GetAnchorObjectID = requireNative('automationInternal').GetAnchorObjectID; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The selection anchor offset. */ var GetAnchorOffset = requireNative('automationInternal').GetAnchorOffset; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The ID of the selection focus object. */ var GetFocusObjectID = requireNative('automationInternal').GetFocusObjectID; /** * @param {number} axTreeID The id of the accessibility tree. * @return {?number} The selection focus offset. */ var GetFocusOffset = requireNative('automationInternal').GetFocusOffset; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?number} The id of the node's parent, or undefined if it's the * root of its tree or if the tree or node wasn't found. */ var GetParentID = requireNative('automationInternal').GetParentID; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?number} The number of children of the node, or undefined if * the tree or node wasn't found. */ var GetChildCount = requireNative('automationInternal').GetChildCount; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {number} childIndex An index of a child of this node. * @return {?number} The id of the child at the given index, or undefined * if the tree or node or child at that index wasn't found. */ var GetChildIDAtIndex = requireNative('automationInternal').GetChildIDAtIndex; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?Object} An object mapping html attributes to values. */ var GetHtmlAttributes = requireNative('automationInternal').GetHtmlAttributes; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?number} The index of this node in its parent, or undefined if * the tree or node or node parent wasn't found. */ var GetIndexInParent = requireNative('automationInternal').GetIndexInParent; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?Object} An object with a string key for every state flag set, * or undefined if the tree or node or node parent wasn't found. */ var GetState = requireNative('automationInternal').GetState; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {string} The role of the node, or undefined if the tree or * node wasn't found. */ var GetRole = requireNative('automationInternal').GetRole; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @return {?automation.Rect} The location of the node, or undefined if * the tree or node wasn't found. */ var GetLocation = requireNative('automationInternal').GetLocation; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {number} startIndex The start index of the range. * @param {number} endIndex The end index of the range. * @return {?automation.Rect} The bounding box of the subrange of this node, * or the location if there are no subranges, or undefined if * the tree or node wasn't found. */ var GetBoundsForRange = requireNative('automationInternal').GetBoundsForRange; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of a string attribute. * @return {?string} The value of this attribute, or undefined if the tree, * node, or attribute wasn't found. */ var GetStringAttribute = requireNative('automationInternal').GetStringAttribute; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of an attribute. * @return {?boolean} The value of this attribute, or undefined if the tree, * node, or attribute wasn't found. */ var GetBoolAttribute = requireNative('automationInternal').GetBoolAttribute; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of an attribute. * @return {?number} The value of this attribute, or undefined if the tree, * node, or attribute wasn't found. */ var GetIntAttribute = requireNative('automationInternal').GetIntAttribute; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of an attribute. * @return {?number} The value of this attribute, or undefined if the tree, * node, or attribute wasn't found. */ var GetFloatAttribute = requireNative('automationInternal').GetFloatAttribute; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of an attribute. * @return {?Array.} The value of this attribute, or undefined * if the tree, node, or attribute wasn't found. */ var GetIntListAttribute = requireNative('automationInternal').GetIntListAttribute; /** * @param {number} axTreeID The id of the accessibility tree. * @param {number} nodeID The id of a node. * @param {string} attr The name of an HTML attribute. * @return {?string} The value of this attribute, or undefined if the tree, * node, or attribute wasn't found. */ var GetHtmlAttribute = requireNative('automationInternal').GetHtmlAttribute; var lastError = require('lastError'); var logging = requireNative('logging'); var schema = requireNative('automationInternal').GetSchemaAdditions(); var utils = require('utils'); /** * A single node in the Automation tree. * @param {AutomationRootNodeImpl} root The root of the tree. * @constructor */ function AutomationNodeImpl(root) { this.rootImpl = root; this.hostNode_ = null; this.listeners = {__proto__: null}; } AutomationNodeImpl.prototype = { __proto__: null, treeID: -1, id: -1, isRootNode: false, detach: function() { this.rootImpl = null; this.hostNode_ = null; this.listeners = {__proto__: null}; }, get root() { return this.rootImpl && this.rootImpl.wrapper; }, get parent() { if (!this.rootImpl) return undefined; if (this.hostNode_) return this.hostNode_; var parentID = GetParentID(this.treeID, this.id); return this.rootImpl.get(parentID); }, get htmlAttributes() { return GetHtmlAttributes(this.treeID, this.id) || {}; }, get state() { return GetState(this.treeID, this.id) || {}; }, get role() { return GetRole(this.treeID, this.id); }, get location() { return GetLocation(this.treeID, this.id); }, boundsForRange: function(startIndex, endIndex) { return GetBoundsForRange(this.treeID, this.id, startIndex, endIndex); }, get indexInParent() { return GetIndexInParent(this.treeID, this.id); }, get childTree() { var childTreeID = GetIntAttribute(this.treeID, this.id, 'childTreeId'); if (childTreeID) return AutomationRootNodeImpl.get(childTreeID); }, get firstChild() { if (!this.rootImpl) return undefined; if (this.childTree) return this.childTree; if (!GetChildCount(this.treeID, this.id)) return undefined; var firstChildID = GetChildIDAtIndex(this.treeID, this.id, 0); return this.rootImpl.get(firstChildID); }, get lastChild() { if (!this.rootImpl) return undefined; if (this.childTree) return this.childTree; var count = GetChildCount(this.treeID, this.id); if (!count) return undefined; var lastChildID = GetChildIDAtIndex(this.treeID, this.id, count - 1); return this.rootImpl.get(lastChildID); }, get children() { if (!this.rootImpl) return []; if (this.childTree) return [this.childTree]; var children = []; var count = GetChildCount(this.treeID, this.id); for (var i = 0; i < count; ++i) { var childID = GetChildIDAtIndex(this.treeID, this.id, i); var child = this.rootImpl.get(childID); $Array.push(children, child); } return children; }, get previousSibling() { var parent = this.parent; var indexInParent = GetIndexInParent(this.treeID, this.id); if (parent && indexInParent > 0) return parent.children[indexInParent - 1]; return undefined; }, get nextSibling() { var parent = this.parent; var indexInParent = GetIndexInParent(this.treeID, this.id); if (parent && indexInParent < parent.children.length) return parent.children[indexInParent + 1]; return undefined; }, doDefault: function() { this.performAction_('doDefault'); }, focus: function() { this.performAction_('focus'); }, makeVisible: function() { this.performAction_('makeVisible'); }, setSelection: function(startIndex, endIndex) { if (this.role == 'textField' || this.role == 'textBox') { this.performAction_('setSelection', { focusNodeID: this.id, anchorOffset: startIndex, focusOffset: endIndex }); } }, showContextMenu: function() { this.performAction_('showContextMenu'); }, domQuerySelector: function(selector, callback) { if (!this.rootImpl) callback(); automationInternal.querySelector( { treeID: this.rootImpl.treeID, automationNodeID: this.id, selector: selector }, $Function.bind(this.domQuerySelectorCallback_, this, callback)); }, find: function(params) { return this.findInternal_(params); }, findAll: function(params) { return this.findInternal_(params, []); }, matches: function(params) { return this.matchInternal_(params); }, addEventListener: function(eventType, callback, capture) { this.removeEventListener(eventType, callback); if (!this.listeners[eventType]) this.listeners[eventType] = []; $Array.push(this.listeners[eventType], { __proto__: null, callback: callback, capture: !!capture, }); }, // TODO(dtseng/aboxhall): Check this impl against spec. removeEventListener: function(eventType, callback) { if (this.listeners[eventType]) { var listeners = this.listeners[eventType]; for (var i = 0; i < listeners.length; i++) { if (callback === listeners[i].callback) $Array.splice(listeners, i, 1); } } }, toJSON: function() { return { treeID: this.treeID, id: this.id, role: this.role, attributes: this.attributes }; }, dispatchEvent: function(eventType) { var path = []; var parent = this.parent; while (parent) { $Array.push(path, parent); parent = parent.parent; } var event = new AutomationEvent(eventType, this.wrapper); // Dispatch the event through the propagation path in three phases: // - capturing: starting from the root and going down to the target's parent // - targeting: dispatching the event on the target itself // - bubbling: starting from the target's parent, going back up to the root. // At any stage, a listener may call stopPropagation() on the event, which // will immediately stop event propagation through this path. if (this.dispatchEventAtCapturing_(event, path)) { if (this.dispatchEventAtTargeting_(event, path)) this.dispatchEventAtBubbling_(event, path); } }, toString: function() { var parentID = GetParentID(this.treeID, this.id); var childTreeID = GetIntAttribute(this.treeID, this.id, 'childTreeId'); var count = GetChildCount(this.treeID, this.id); var childIDs = []; for (var i = 0; i < count; ++i) { var childID = GetChildIDAtIndex(this.treeID, this.id, i); $Array.push(childIDs, childID); } var result = 'node id=' + this.id + ' role=' + this.role + ' state=' + $JSON.stringify(this.state) + ' parentID=' + parentID + ' childIds=' + $JSON.stringify(childIDs); if (this.hostNode_) { var hostNodeImpl = privates(this.hostNode_).impl; result += ' host treeID=' + hostNodeImpl.treeID + ' host nodeID=' + hostNodeImpl.id; } if (childTreeID) result += ' childTreeID=' + childTreeID; return result; }, dispatchEventAtCapturing_: function(event, path) { privates(event).impl.eventPhase = Event.CAPTURING_PHASE; for (var i = path.length - 1; i >= 0; i--) { this.fireEventListeners_(path[i], event); if (privates(event).impl.propagationStopped) return false; } return true; }, dispatchEventAtTargeting_: function(event) { privates(event).impl.eventPhase = Event.AT_TARGET; this.fireEventListeners_(this.wrapper, event); return !privates(event).impl.propagationStopped; }, dispatchEventAtBubbling_: function(event, path) { privates(event).impl.eventPhase = Event.BUBBLING_PHASE; for (var i = 0; i < path.length; i++) { this.fireEventListeners_(path[i], event); if (privates(event).impl.propagationStopped) return false; } return true; }, fireEventListeners_: function(node, event) { var nodeImpl = privates(node).impl; if (!nodeImpl.rootImpl) return; var listeners = nodeImpl.listeners[event.type]; if (!listeners) return; var eventPhase = event.eventPhase; for (var i = 0; i < listeners.length; i++) { if (eventPhase == Event.CAPTURING_PHASE && !listeners[i].capture) continue; if (eventPhase == Event.BUBBLING_PHASE && listeners[i].capture) continue; try { listeners[i].callback(event); } catch (e) { exceptionHandler.handle('Error in event handler for ' + event.type + ' during phase ' + eventPhase, e); } } }, performAction_: function(actionType, opt_args) { if (!this.rootImpl) return; // Not yet initialized. if (this.rootImpl.treeID === undefined || this.id === undefined) { return; } // Check permissions. if (!IsInteractPermitted()) { throw new Error(actionType + ' requires {"desktop": true} or' + ' {"interact": true} in the "automation" manifest key.'); } automationInternal.performAction({ treeID: this.rootImpl.treeID, automationNodeID: this.id, actionType: actionType }, opt_args || {}); }, domQuerySelectorCallback_: function(userCallback, resultAutomationNodeID) { // resultAutomationNodeID could be zero or undefined or (unlikely) null; // they all amount to the same thing here, which is that no node was // returned. if (!resultAutomationNodeID || !this.rootImpl) { userCallback(null); return; } var resultNode = this.rootImpl.get(resultAutomationNodeID); if (!resultNode) { logging.WARNING('Query selector result not in tree: ' + resultAutomationNodeID); userCallback(null); } userCallback(resultNode); }, findInternal_: function(params, opt_results) { var result = null; this.forAllDescendants_(function(node) { if (privates(node).impl.matchInternal_(params)) { if (opt_results) $Array.push(opt_results, node); else result = node; return !opt_results; } }); if (opt_results) return opt_results; return result; }, /** * Executes a closure for all of this node's descendants, in pre-order. * Early-outs if the closure returns true. * @param {Function(AutomationNode):boolean} closure Closure to be executed * for each node. Return true to early-out the traversal. */ forAllDescendants_: function(closure) { var stack = $Array.reverse(this.wrapper.children); while (stack.length > 0) { var node = $Array.pop(stack); if (closure(node)) return; var children = node.children; for (var i = children.length - 1; i >= 0; i--) $Array.push(stack, children[i]); } }, matchInternal_: function(params) { if ($Object.keys(params).length === 0) return false; if ('role' in params && this.role != params.role) return false; if ('state' in params) { for (var state in params.state) { if (params.state[state] != (state in this.state)) return false; } } if ('attributes' in params) { for (var attribute in params.attributes) { var attrValue = params.attributes[attribute]; if (typeof attrValue != 'object') { if (this[attribute] !== attrValue) return false; } else if (attrValue instanceof $RegExp.self) { if (typeof this[attribute] != 'string') return false; if (!attrValue.test(this[attribute])) return false; } else { // TODO(aboxhall): handle intlist case. return false; } } } return true; } }; var stringAttributes = [ 'accessKey', 'action', 'ariaInvalidValue', 'autoComplete', 'containerLiveRelevant', 'containerLiveStatus', 'description', 'display', 'dropeffect', 'help', 'htmlTag', 'language', 'liveRelevant', 'liveStatus', 'name', 'placeholder', 'shortcut', 'textInputType', 'url', 'value']; var boolAttributes = [ 'ariaReadonly', 'buttonMixed', 'canSetValue', 'canvasHasFallback', 'containerLiveAtomic', 'containerLiveBusy', 'grabbed', 'isAxTreeHost', 'liveAtomic', 'liveBusy', 'updateLocationOnly']; var intAttributes = [ 'backgroundColor', 'color', 'colorValue', 'descriptionFrom', 'hierarchicalLevel', 'invalidState', 'nameFrom', 'posInSet', 'scrollX', 'scrollXMax', 'scrollXMin', 'scrollY', 'scrollYMax', 'scrollYMin', 'setSize', 'sortDirection', 'tableCellColumnIndex', 'tableCellColumnSpan', 'tableCellRowIndex', 'tableCellRowSpan', 'tableColumnCount', 'tableColumnIndex', 'tableRowCount', 'tableRowIndex', 'textDirection', 'textSelEnd', 'textSelStart', 'textStyle']; var nodeRefAttributes = [ ['activedescendantId', 'activeDescendant'], ['tableColumnHeaderId', 'tableColumnHeader'], ['tableHeaderId', 'tableHeader'], ['tableRowHeaderId', 'tableRowHeader'], ['titleUiElement', 'titleUIElement']]; var intListAttributes = [ 'characterOffsets', 'lineBreaks', 'wordEnds', 'wordStarts']; var nodeRefListAttributes = [ ['cellIds', 'cells'], ['controlsIds', 'controls'], ['describedbyIds', 'describedBy'], ['flowtoIds', 'flowTo'], ['labelledbyIds', 'labelledBy'], ['uniqueCellIds', 'uniqueCells']]; var floatAttributes = [ 'valueForRange', 'minValueForRange', 'maxValueForRange', 'fontSize']; var htmlAttributes = [ ['type', 'inputType']]; var publicAttributes = []; $Array.forEach(stringAttributes, function(attributeName) { $Array.push(publicAttributes, attributeName); $Object.defineProperty(AutomationNodeImpl.prototype, attributeName, { __proto__: null, get: function() { return GetStringAttribute(this.treeID, this.id, attributeName); } }); }); $Array.forEach(boolAttributes, function(attributeName) { $Array.push(publicAttributes, attributeName); $Object.defineProperty(AutomationNodeImpl.prototype, attributeName, { __proto__: null, get: function() { return GetBoolAttribute(this.treeID, this.id, attributeName); } }); }); $Array.forEach(intAttributes, function(attributeName) { $Array.push(publicAttributes, attributeName); $Object.defineProperty(AutomationNodeImpl.prototype, attributeName, { __proto__: null, get: function() { return GetIntAttribute(this.treeID, this.id, attributeName); } }); }); $Array.forEach(nodeRefAttributes, function(params) { var srcAttributeName = params[0]; var dstAttributeName = params[1]; $Array.push(publicAttributes, dstAttributeName); $Object.defineProperty(AutomationNodeImpl.prototype, dstAttributeName, { __proto__: null, get: function() { var id = GetIntAttribute(this.treeID, this.id, srcAttributeName); if (id && this.rootImpl) return this.rootImpl.get(id); else return undefined; } }); }); $Array.forEach(intListAttributes, function(attributeName) { $Array.push(publicAttributes, attributeName); $Object.defineProperty(AutomationNodeImpl.prototype, attributeName, { __proto__: null, get: function() { return GetIntListAttribute(this.treeID, this.id, attributeName); } }); }); $Array.forEach(nodeRefListAttributes, function(params) { var srcAttributeName = params[0]; var dstAttributeName = params[1]; $Array.push(publicAttributes, dstAttributeName); $Object.defineProperty(AutomationNodeImpl.prototype, dstAttributeName, { __proto__: null, get: function() { var ids = GetIntListAttribute(this.treeID, this.id, srcAttributeName); if (!ids || !this.rootImpl) return undefined; var result = []; for (var i = 0; i < ids.length; ++i) { var node = this.rootImpl.get(ids[i]); if (node) $Array.push(result, node); } return result; } }); }); $Array.forEach(floatAttributes, function(attributeName) { $Array.push(publicAttributes, attributeName); $Object.defineProperty(AutomationNodeImpl.prototype, attributeName, { __proto__: null, get: function() { return GetFloatAttribute(this.treeID, this.id, attributeName); } }); }); $Array.forEach(htmlAttributes, function(params) { var srcAttributeName = params[0]; var dstAttributeName = params[1]; $Array.push(publicAttributes, dstAttributeName); $Object.defineProperty(AutomationNodeImpl.prototype, dstAttributeName, { __proto__: null, get: function() { return GetHtmlAttribute(this.treeID, this.id, srcAttributeName); } }); }); /** * AutomationRootNode. * * An AutomationRootNode is the javascript end of an AXTree living in the * browser. AutomationRootNode handles unserializing incremental updates from * the source AXTree. Each update contains node data that form a complete tree * after applying the update. * * A brief note about ids used through this class. The source AXTree assigns * unique ids per node and we use these ids to build a hash to the actual * AutomationNode object. * Thus, tree traversals amount to a lookup in our hash. * * The tree itself is identified by the accessibility tree id of the * renderer widget host. * @constructor */ function AutomationRootNodeImpl(treeID) { $Function.call(AutomationNodeImpl, this, this); this.treeID = treeID; this.axNodeDataCache_ = {__proto__: null}; } utils.defineProperty(AutomationRootNodeImpl, 'idToAutomationRootNode_', {__proto__: null}); utils.defineProperty(AutomationRootNodeImpl, 'get', function(treeID) { var result = AutomationRootNodeImpl.idToAutomationRootNode_[treeID]; return result || undefined; }); utils.defineProperty(AutomationRootNodeImpl, 'getOrCreate', function(treeID) { if (AutomationRootNodeImpl.idToAutomationRootNode_[treeID]) return AutomationRootNodeImpl.idToAutomationRootNode_[treeID]; var result = new AutomationRootNode(treeID); AutomationRootNodeImpl.idToAutomationRootNode_[treeID] = result; return result; }); utils.defineProperty(AutomationRootNodeImpl, 'destroy', function(treeID) { delete AutomationRootNodeImpl.idToAutomationRootNode_[treeID]; }); AutomationRootNodeImpl.prototype = { __proto__: AutomationNodeImpl.prototype, /** * @type {boolean} */ isRootNode: true, /** * @type {number} */ treeID: -1, /** * The parent of this node from a different tree. * @type {?AutomationNode} * @private */ hostNode_: null, /** * A map from id to AutomationNode. * @type {Object.} * @private */ axNodeDataCache_: null, get id() { var result = GetRootID(this.treeID); // Don't return undefined, because the id is often passed directly // as an argument to a native binding that expects only a valid number. if (result === undefined) return -1; return result; }, get docUrl() { return GetDocURL(this.treeID); }, get docTitle() { return GetDocTitle(this.treeID); }, get docLoaded() { return GetDocLoaded(this.treeID); }, get docLoadingProgress() { return GetDocLoadingProgress(this.treeID); }, get anchorObject() { var id = GetAnchorObjectID(this.treeID); if (id && id != -1) return this.get(id); else return undefined; }, get anchorOffset() { var id = GetAnchorObjectID(this.treeID); if (id && id != -1) return GetAnchorOffset(this.treeID); }, get focusObject() { var id = GetFocusObjectID(this.treeID); if (id && id != -1) return this.get(id); else return undefined; }, get focusOffset() { var id = GetFocusObjectID(this.treeID); if (id && id != -1) return GetFocusOffset(this.treeID); }, get: function(id) { if (id == undefined) return undefined; if (id == this.id) return this.wrapper; var obj = this.axNodeDataCache_[id]; if (obj) return obj; obj = new AutomationNode(this); privates(obj).impl.treeID = this.treeID; privates(obj).impl.id = id; this.axNodeDataCache_[id] = obj; return obj; }, remove: function(id) { if (this.axNodeDataCache_[id]) privates(this.axNodeDataCache_[id]).impl.detach(); delete this.axNodeDataCache_[id]; }, destroy: function() { this.dispatchEvent(schema.EventType.destroyed); for (var id in this.axNodeDataCache_) this.remove(id); this.detach(); }, setHostNode(hostNode) { this.hostNode_ = hostNode; }, onAccessibilityEvent: function(eventParams) { var targetNode = this.get(eventParams.targetID); if (targetNode) { var targetNodeImpl = privates(targetNode).impl; targetNodeImpl.dispatchEvent(eventParams.eventType); } else { logging.WARNING('Got ' + eventParams.eventType + ' event on unknown node: ' + eventParams.targetID + '; this: ' + this.id); } return true; }, toString: function() { function toStringInternal(nodeImpl, indent) { if (!nodeImpl) return ''; var output = ''; if (nodeImpl.isRootNode) output += indent + 'tree id=' + nodeImpl.treeID + '\n'; output += indent + $Function.call(AutomationNodeImpl.prototype.toString, nodeImpl) + '\n'; indent += ' '; var children = nodeImpl.children; for (var i = 0; i < children.length; ++i) output += toStringInternal(privates(children[i]).impl, indent); return output; } return toStringInternal(this, ''); }, }; function AutomationNode() { privates(AutomationNode).constructPrivate(this, arguments); } utils.expose(AutomationNode, AutomationNodeImpl, { functions: [ 'doDefault', 'find', 'findAll', 'focus', 'makeVisible', 'matches', 'setSelection', 'showContextMenu', 'addEventListener', 'removeEventListener', 'domQuerySelector', 'toString', 'boundsForRange', ], readonly: $Array.concat(publicAttributes, [ 'parent', 'firstChild', 'lastChild', 'children', 'previousSibling', 'nextSibling', 'isRootNode', 'role', 'state', 'location', 'indexInParent', 'root', 'htmlAttributes', ]), }); function AutomationRootNode() { privates(AutomationRootNode).constructPrivate(this, arguments); } utils.expose(AutomationRootNode, AutomationRootNodeImpl, { superclass: AutomationNode, readonly: [ 'docTitle', 'docUrl', 'docLoaded', 'docLoadingProgress', 'anchorObject', 'anchorOffset', 'focusObject', 'focusOffset', ], }); utils.defineProperty(AutomationRootNode, 'get', function(treeID) { return AutomationRootNodeImpl.get(treeID); }); utils.defineProperty(AutomationRootNode, 'getOrCreate', function(treeID) { return AutomationRootNodeImpl.getOrCreate(treeID); }); utils.defineProperty(AutomationRootNode, 'destroy', function(treeID) { AutomationRootNodeImpl.destroy(treeID); }); exports.$set('AutomationNode', AutomationNode); exports.$set('AutomationRootNode', AutomationRootNode); // Copyright (c) 2012 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. // Custom binding for the browserAction API. var binding = require('binding').Binding.create('browserAction'); var setIcon = require('setIcon').setIcon; var getExtensionViews = requireNative('runtime').GetExtensionViews; var sendRequest = require('sendRequest').sendRequest; var lastError = require('lastError'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('setIcon', function(details, callback) { setIcon(details, function(args) { sendRequest(this.name, [args, callback], this.definition.parameters); }.bind(this)); }); apiFunctions.setCustomCallback('openPopup', function(name, request, callback, response) { if (!callback) return; if (lastError.hasError(chrome)) { callback(); } else { var views = getExtensionViews(-1, 'POPUP'); callback(views.length > 0 ? views[0] : null); } }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the Cast Streaming RtpStream API. var binding = require('binding').Binding.create('cast.streaming.rtpStream'); var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('destroy', function(transportId) { natives.DestroyCastRtpStream(transportId); }); apiFunctions.setHandleRequest('getSupportedParams', function(transportId) { return natives.GetSupportedParamsCastRtpStream(transportId); }); apiFunctions.setHandleRequest('start', function(transportId, params) { natives.StartCastRtpStream(transportId, params); }); apiFunctions.setHandleRequest('stop', function(transportId) { natives.StopCastRtpStream(transportId); }); apiFunctions.setHandleRequest('toggleLogging', function(transportId, enable) { natives.ToggleLogging(transportId, enable); }); apiFunctions.setHandleRequest('getRawEvents', function(transportId, extraData, callback) { natives.GetRawEvents(transportId, extraData, callback); }); apiFunctions.setHandleRequest('getStats', function(transportId, callback) { natives.GetStats(transportId, callback); }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the Cast Streaming Session API. var binding = require('binding').Binding.create('cast.streaming.session'); var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('create', function(audioTrack, videoTrack, callback) { natives.CreateSession(audioTrack, videoTrack, callback); }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the Cast Streaming UdpTransport API. var binding = require('binding').Binding.create('cast.streaming.udpTransport'); var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('destroy', function(transportId) { natives.DestroyCastUdpTransport(transportId); }); apiFunctions.setHandleRequest('setDestination', function(transportId, destination) { natives.SetDestinationCastUdpTransport(transportId, destination); }); apiFunctions.setHandleRequest('setOptions', function(transportId, options) { natives.SetOptionsCastUdpTransport(transportId, options); }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the Cast Streaming Session API. var binding = require('binding').Binding.create( 'cast.streaming.receiverSession'); var natives = requireNative('cast_streaming_natives'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('createAndBind', function(ap, vp, local, weidgth, height, fr, url, cb, op) { natives.StartCastRtpReceiver( ap, vp, local, weidgth, height, fr, url, cb, op); }); }); exports.$set('binding', binding.generate()); // Copyright 2015 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. var binding = require('binding').Binding.create('certificateProvider'); var certificateProviderInternal = require('binding').Binding.create( 'certificateProviderInternal').generate(); var eventBindings = require('event_bindings'); var certificateProviderSchema = requireNative('schema_registry').GetSchema('certificateProvider') var utils = require('utils'); var validate = require('schemaUtils').validate; // Custom bindings for chrome.certificateProvider API. // The bindings are used to implement callbacks for the API events. Internally // each event is passed a requestId argument used to identify the callback // associated with the event. This argument is massaged out from the event // arguments before dispatching the event to consumers. A callback is appended // to the event arguments. The callback wraps an appropriate // chrome.certificateProviderInternal API function that is used to report the // event result from the extension. The function is passed the requestId and // values provided by the extension. It validates that the values provided by // the extension match chrome.certificateProvider event callback schemas. It // also ensures that a callback is run at most once. In case there is an // exception during event dispatching, the chrome.certificateProviderInternal // function is called with a default error value. // Handles a chrome.certificateProvider event as described in the file comment. // |eventName|: The event name. The first argument of the event must be a // request id. // |internalReportFunc|: The function that should be called to report results in // reply to an event. The first argument of the function must be the request // id that was received with the event. function handleEvent(eventName, internalReportFunc) { var eventSchema = utils.lookup(certificateProviderSchema.events, 'name', eventName); var callbackSchema = utils.lookup(eventSchema.parameters, 'type', 'function'); eventBindings.registerArgumentMassager( 'certificateProvider.' + eventName, function(args, dispatch) { var responded = false; // Function provided to the extension as the event callback argument. // The extension calls this to report results in reply to the event. // It throws an exception if called more than once and if the provided // results don't match the callback schema. var reportFunc = function(reportArg1, reportArg2) { if (responded) { throw new Error( 'Event callback must not be called more than once.'); } var reportArgs = [reportArg1]; if (reportArg2 !== undefined) reportArgs.push(reportArg2); var finalArgs = []; try { // Validates that the results reported by the extension matche the // callback schema of the event. Throws an exception in case of an // error. validate(reportArgs, callbackSchema.parameters); finalArgs = reportArgs; } finally { responded = true; internalReportFunc.apply( null, [args[0] /* requestId */].concat(finalArgs)); } }; dispatch(args.slice(1).concat(reportFunc)); }); } handleEvent('onCertificatesRequested', certificateProviderInternal.reportCertificates); handleEvent('onSignDigestRequested', certificateProviderInternal.reportSignature); exports.$set('binding', binding.generate()); // Copyright 2013 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. var Event = require('event_bindings').Event; var sendRequest = require('sendRequest').sendRequest; var validate = require('schemaUtils').validate; function extendSchema(schema) { var extendedSchema = $Array.slice(schema); extendedSchema.unshift({'type': 'string'}); return extendedSchema; } function ChromeDirectSetting(prefKey, valueSchema, schema) { var getFunctionParameters = function(name) { var f = $Array.filter( schema.functions, function(f) { return f.name === name; })[0]; return f.parameters; }; this.get = function(details, callback) { var getSchema = getFunctionParameters('get'); validate([details, callback], getSchema); return sendRequest('types.private.ChromeDirectSetting.get', [prefKey, details, callback], extendSchema(getSchema)); }; this.set = function(details, callback) { var setSchema = $Array.slice(getFunctionParameters('set')); setSchema[0].properties.value = valueSchema; validate([details, callback], setSchema); return sendRequest('types.private.ChromeDirectSetting.set', [prefKey, details, callback], extendSchema(setSchema)); }; this.clear = function(details, callback) { var clearSchema = getFunctionParameters('clear'); validate([details, callback], clearSchema); return sendRequest('types.private.ChromeDirectSetting.clear', [prefKey, details, callback], extendSchema(clearSchema)); }; this.onChange = new Event('types.private.ChromeDirectSetting.' + prefKey + '.onChange'); }; exports.$set('ChromeDirectSetting', ChromeDirectSetting); // Copyright (c) 2012 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. var Event = require('event_bindings').Event; var sendRequest = require('sendRequest').sendRequest; var validate = require('schemaUtils').validate; function extendSchema(schema) { var extendedSchema = $Array.slice(schema); $Array.unshift(extendedSchema, {'type': 'string'}); return extendedSchema; } // TODO(devlin): Maybe find a way to combine this and ContentSetting. function ChromeSetting(prefKey, valueSchema, schema) { var getFunctionParameters = function(name) { var f = $Array.filter( schema.functions, function(f) { return f.name === name; })[0]; return f.parameters; }; this.get = function(details, callback) { var getSchema = getFunctionParameters('get'); validate([details, callback], getSchema); return sendRequest('types.ChromeSetting.get', [prefKey, details, callback], extendSchema(getSchema)); }; this.set = function(details, callback) { // The set schema included in the Schema object is generic, since it varies // per-setting. However, this is only ever for a single setting, so we can // enforce the types more thoroughly. var rawSetSchema = getFunctionParameters('set'); var rawSettingParam = rawSetSchema[0]; var props = $Object.assign({}, rawSettingParam.properties); props.value = valueSchema; var modSettingParam = { name: rawSettingParam.name, type: rawSettingParam.type, properties: props, }; var modSetSchema = $Array.slice(rawSetSchema); modSetSchema[0] = modSettingParam; validate([details, callback], modSetSchema); return sendRequest('types.ChromeSetting.set', [prefKey, details, callback], extendSchema(modSetSchema)); }; this.clear = function(details, callback) { var clearSchema = getFunctionParameters('clear'); validate([details, callback], clearSchema); return sendRequest('types.ChromeSetting.clear', [prefKey, details, callback], extendSchema(clearSchema)); }; this.onChange = new Event('types.ChromeSetting.' + prefKey + '.onChange'); }; exports.$set('ChromeSetting', ChromeSetting); // Copyright 2014 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. var binding = require('binding').Binding.create('chromeWebViewInternal'); var contextMenusHandlers = require('contextMenusHandlers'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var handlers = contextMenusHandlers.create(true /* isWebview */); apiFunctions.setHandleRequest('contextMenusCreate', handlers.requestHandlers.create); apiFunctions.setCustomCallback('contextMenusCreate', handlers.callbacks.create); apiFunctions.setCustomCallback('contextMenusUpdate', handlers.callbacks.update); apiFunctions.setCustomCallback('contextMenusRemove', handlers.callbacks.remove); apiFunctions.setCustomCallback('contextMenusRemoveAll', handlers.callbacks.removeAll); }); exports.$set('ChromeWebView', binding.generate()); // Copyright 2014 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. // This module implements chrome-specific API. // See web_view_api_methods.js for details. var ChromeWebView = require('chromeWebViewInternal').ChromeWebView; var ChromeWebViewSchema = requireNative('schema_registry').GetSchema('chromeWebViewInternal'); var CreateEvent = require('guestViewEvents').CreateEvent; var EventBindings = require('event_bindings'); var GuestViewInternalNatives = requireNative('guest_view_internal'); var idGeneratorNatives = requireNative('id_generator'); var utils = require('utils'); var WebViewImpl = require('webView').WebViewImpl; // This is the only "webViewInternal.onClicked" named event for this renderer. // // Since we need an event per , we define events with suffix // (subEventName) in each of the . Behind the scenes, this event is // registered as a ContextMenusEvent, with filter set to the webview's // |viewInstanceId|. Any time a ContextMenusEvent is dispatched, we re-dispatch // it to the subEvent's listeners. This way // .contextMenus.onClicked behave as a regular chrome Event type. var ContextMenusEvent = CreateEvent('chromeWebViewInternal.onClicked'); // See comment above. var ContextMenusHandlerEvent = CreateEvent('chromeWebViewInternal.onContextMenuShow'); // ----------------------------------------------------------------------------- // ContextMenusOnClickedEvent object. // This event is exposed as .contextMenus.onClicked. function ContextMenusOnClickedEvent(webViewInstanceId, opt_eventName, opt_argSchemas, opt_eventOptions) { var subEventName = GetUniqueSubEventName(opt_eventName); $Function.call(EventBindings.Event, this, subEventName, opt_argSchemas, opt_eventOptions, webViewInstanceId); var view = GuestViewInternalNatives.GetViewFromID(webViewInstanceId); if (!view) { return; } view.events.addScopedListener(ContextMenusEvent, function() { // Re-dispatch to subEvent's listeners. $Function.apply(this.dispatch, this, $Array.slice(arguments)); }.bind(this), {instanceId: webViewInstanceId}); } $Object.setPrototypeOf(ContextMenusOnClickedEvent.prototype, EventBindings.Event.prototype); // This event is exposed as .contextMenus.onShow. function ContextMenusOnContextMenuEvent(webViewInstanceId, opt_eventName, opt_argSchemas, opt_eventOptions) { var subEventName = GetUniqueSubEventName(opt_eventName); $Function.call(EventBindings.Event, this, subEventName, opt_argSchemas, opt_eventOptions, webViewInstanceId); var view = GuestViewInternalNatives.GetViewFromID(webViewInstanceId); if (!view) { return; } view.events.addScopedListener(ContextMenusHandlerEvent, function(e) { var defaultPrevented = false; var event = { 'preventDefault': function() { defaultPrevented = true; } }; // Re-dispatch to subEvent's listeners. $Function.apply(this.dispatch, this, [event]); if (!defaultPrevented) { // TODO(lazyboy): Remove |items| parameter completely from // ChromeWebView.showContextMenu as we don't do anything useful with it // currently. var items = []; var guestInstanceId = GuestViewInternalNatives. GetViewFromID(webViewInstanceId).guest.getId(); ChromeWebView.showContextMenu(guestInstanceId, e.requestId, items); } }.bind(this), {instanceId: webViewInstanceId}); } $Object.setPrototypeOf(ContextMenusOnContextMenuEvent.prototype, EventBindings.Event.prototype); // ----------------------------------------------------------------------------- // WebViewContextMenusImpl object. // An instance of this class is exposed as .contextMenus. function WebViewContextMenusImpl(viewInstanceId) { this.viewInstanceId_ = viewInstanceId; } $Object.setPrototypeOf(WebViewContextMenusImpl.prototype, null); WebViewContextMenusImpl.prototype.create = function() { var args = $Array.concat([this.viewInstanceId_], $Array.slice(arguments)); return $Function.apply(ChromeWebView.contextMenusCreate, null, args); }; WebViewContextMenusImpl.prototype.remove = function() { var args = $Array.concat([this.viewInstanceId_], $Array.slice(arguments)); return $Function.apply(ChromeWebView.contextMenusRemove, null, args); }; WebViewContextMenusImpl.prototype.removeAll = function() { var args = $Array.concat([this.viewInstanceId_], $Array.slice(arguments)); return $Function.apply(ChromeWebView.contextMenusRemoveAll, null, args); }; WebViewContextMenusImpl.prototype.update = function() { var args = $Array.concat([this.viewInstanceId_], $Array.slice(arguments)); return $Function.apply(ChromeWebView.contextMenusUpdate, null, args); }; function WebViewContextMenus() { privates(WebViewContextMenus).constructPrivate(this, arguments); } utils.expose(WebViewContextMenus, WebViewContextMenusImpl, { functions: [ 'create', 'remove', 'removeAll', 'update', ], }); // ----------------------------------------------------------------------------- WebViewImpl.prototype.maybeSetupContextMenus = function() { if (!this.contextMenusOnContextMenuEvent_) { var eventName = 'chromeWebViewInternal.onContextMenuShow'; var eventSchema = utils.lookup(ChromeWebViewSchema.events, 'name', 'onShow'); var eventOptions = {supportsListeners: true}; this.contextMenusOnContextMenuEvent_ = new ContextMenusOnContextMenuEvent( this.viewInstanceId, eventName, eventSchema, eventOptions); } var createContextMenus = function() { return this.weakWrapper(function() { if (this.contextMenus_) { return this.contextMenus_; } this.contextMenus_ = new WebViewContextMenus(this.viewInstanceId); // Define 'onClicked' event property on |this.contextMenus_|. var getOnClickedEvent = function() { return this.weakWrapper(function() { if (!this.contextMenusOnClickedEvent_) { var eventName = 'chromeWebViewInternal.onClicked'; var eventSchema = utils.lookup(ChromeWebViewSchema.events, 'name', 'onClicked'); var eventOptions = {supportsListeners: true}; var onClickedEvent = new ContextMenusOnClickedEvent( this.viewInstanceId, eventName, eventSchema, eventOptions); this.contextMenusOnClickedEvent_ = onClickedEvent; return onClickedEvent; } return this.contextMenusOnClickedEvent_; }); }.bind(this); $Object.defineProperty( this.contextMenus_, 'onClicked', {get: getOnClickedEvent(), enumerable: true}); $Object.defineProperty( this.contextMenus_, 'onShow', { get: this.weakWrapper(function() { return this.contextMenusOnContextMenuEvent_; }), enumerable: true }); return this.contextMenus_; }); }.bind(this); // Expose .contextMenus object. $Object.defineProperty( this.element, 'contextMenus', { get: createContextMenus(), enumerable: true }); }; function GetUniqueSubEventName(eventName) { return eventName + '/' + idGeneratorNatives.GetNextId(); } // Copyright (c) 2012 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. // Custom binding for the contentSettings API. var sendRequest = require('sendRequest').sendRequest; var validate = require('schemaUtils').validate; function extendSchema(schema) { var extendedSchema = $Array.slice(schema); $Array.unshift(extendedSchema, {'type': 'string'}); return extendedSchema; } function ContentSetting(contentType, settingSchema, schema) { var getFunctionParameters = function(name) { var f = $Array.filter( schema.functions, function(f) { return f.name === name; })[0]; return f.parameters; }; this.get = function(details, callback) { var getSchema = getFunctionParameters('get'); validate([details, callback], getSchema); return sendRequest('contentSettings.get', [contentType, details, callback], extendSchema(getSchema)); }; this.set = function(details, callback) { // The set schema included in the Schema object is generic, since it varies // per-setting. However, this is only ever for a single setting, so we can // enforce the types more thoroughly. var rawSetSchema = getFunctionParameters('set'); var rawSettingParam = rawSetSchema[0]; var props = $Object.assign({}, rawSettingParam.properties); props.setting = settingSchema; var modSettingParam = { name: rawSettingParam.name, type: rawSettingParam.type, properties: props, }; var modSetSchema = $Array.slice(rawSetSchema); modSetSchema[0] = modSettingParam; validate([details, callback], rawSetSchema); return sendRequest('contentSettings.set', [contentType, details, callback], extendSchema(modSetSchema)); }; this.clear = function(details, callback) { var clearSchema = getFunctionParameters('clear'); validate([details, callback], clearSchema); return sendRequest('contentSettings.clear', [contentType, details, callback], extendSchema(clearSchema)); }; this.getResourceIdentifiers = function(callback) { var schema = getFunctionParameters('getResourceIdentifiers'); validate([callback], schema); return sendRequest( 'contentSettings.getResourceIdentifiers', [contentType, callback], extendSchema(schema)); }; } exports.$set('ContentSetting', ContentSetting); // Copyright (c) 2012 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. // Custom binding for the declarativeContent API. var binding = require('binding').Binding.create('declarativeContent'); var utils = require('utils'); var validate = require('schemaUtils').validate; var canonicalizeCompoundSelector = requireNative('css_natives').CanonicalizeCompoundSelector; var setIcon = require('setIcon').setIcon; binding.registerCustomHook( function(api) { var declarativeContent = api.compiledApi; // Returns the schema definition of type |typeId| defined in |namespace|. function getSchema(typeId) { return utils.lookup(api.schema.types, 'id', 'declarativeContent.' + typeId); } // Helper function for the constructor of concrete datatypes of the // declarative content API. // Makes sure that |this| contains the union of parameters and // {'instanceType': 'declarativeContent.' + typeId} and validates the // generated union dictionary against the schema for |typeId|. function setupInstance(instance, parameters, typeId) { for (var key in parameters) { if ($Object.hasOwnProperty(parameters, key)) { instance[key] = parameters[key]; } } instance.instanceType = 'declarativeContent.' + typeId; var schema = getSchema(typeId); validate([instance], [schema]); } function canonicalizeCssSelectors(selectors) { for (var i = 0; i < selectors.length; i++) { var canonicalizedSelector = canonicalizeCompoundSelector(selectors[i]); if (canonicalizedSelector == '') { throw new Error( 'Element of \'css\' array must be a ' + 'list of valid compound selectors: ' + selectors[i]); } selectors[i] = canonicalizedSelector; } } // Setup all data types for the declarative content API. declarativeContent.PageStateMatcher = function(parameters) { setupInstance(this, parameters, 'PageStateMatcher'); if ($Object.hasOwnProperty(this, 'css')) { canonicalizeCssSelectors(this.css); } }; declarativeContent.ShowPageAction = function(parameters) { setupInstance(this, parameters, 'ShowPageAction'); }; declarativeContent.RequestContentScript = function(parameters) { setupInstance(this, parameters, 'RequestContentScript'); }; // TODO(rockot): Do not expose this in M39 stable. Making this restriction // possible will take some extra work. See http://crbug.com/415315 declarativeContent.SetIcon = function(parameters) { setIcon(parameters, function (data) { setupInstance(this, data, 'SetIcon'); }.bind(this)); }; }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the desktopCapture API. var binding = require('binding').Binding.create('desktopCapture'); var sendRequest = require('sendRequest').sendRequest; var idGenerator = requireNative('id_generator'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var pendingRequests = {}; function onRequestResult(id, result) { if (id in pendingRequests) { var callback = pendingRequests[id]; delete pendingRequests[id]; callback(result); } } apiFunctions.setHandleRequest('chooseDesktopMedia', function(sources, target_tab, callback) { // |target_tab| is an optional parameter. if (callback === undefined) { callback = target_tab; target_tab = undefined; } var id = idGenerator.GetNextId(); pendingRequests[id] = callback; sendRequest(this.name, [id, sources, target_tab, onRequestResult.bind(null, id)], this.definition.parameters); return id; }); apiFunctions.setHandleRequest('cancelChooseDesktopMedia', function(id) { if (id in pendingRequests) { delete pendingRequests[id]; sendRequest(this.name, [id], this.definition.parameters); } }); }); exports.$set('binding', binding.generate()); // Copyright 2014 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. // Custom binding for the developerPrivate API. var binding = require('binding').Binding.create('developerPrivate'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; // Converts the argument of |functionName| from DirectoryEntry to URL. function bindFileSystemFunction(functionName) { apiFunctions.setUpdateArgumentsPostValidate( functionName, function(directoryEntry, callback) { var fileSystemName = directoryEntry.filesystem.name; var relativePath = $String.slice(directoryEntry.fullPath, 1); var url = directoryEntry.toURL(); return [fileSystemName, relativePath, url, callback]; }); } bindFileSystemFunction('loadDirectory'); // developerPrivate.enable is the same as chrome.management.setEnabled. // TODO(devlin): Migrate callers off developerPrivate.enable. bindingsAPI.compiledApi.enable = chrome.management.setEnabled; apiFunctions.setHandleRequest('allowFileAccess', function(id, allow, callback) { chrome.developerPrivate.updateExtensionConfiguration( {extensionId: id, fileAccess: allow}, callback); }); apiFunctions.setHandleRequest('allowIncognito', function(id, allow, callback) { chrome.developerPrivate.updateExtensionConfiguration( {extensionId: id, incognitoAccess: allow}, callback); }); apiFunctions.setHandleRequest('inspect', function(options, callback) { var renderViewId = options.render_view_id; if (typeof renderViewId == 'string') { renderViewId = parseInt(renderViewId); if (isNaN(renderViewId)) throw new Error('Invalid value for render_view_id'); } var renderProcessId = options.render_process_id; if (typeof renderProcessId == 'string') { renderProcessId = parseInt(renderProcessId); if (isNaN(renderProcessId)) throw new Error('Invalid value for render_process_id'); } chrome.developerPrivate.openDevTools({ extensionId: options.extension_id, renderProcessId: renderProcessId, renderViewId: renderViewId, incognito: options.incognito }, callback); }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2013 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. // Custom bindings for the downloads API. var binding = require('binding').Binding.create('downloads'); var downloadsInternal = require('binding').Binding.create( 'downloadsInternal').generate(); var eventBindings = require('event_bindings'); eventBindings.registerArgumentMassager( 'downloads.onDeterminingFilename', function massage_determining_filename(args, dispatch) { var downloadItem = args[0]; // Copy the id so that extensions can't change it. var downloadId = downloadItem.id; var suggestable = true; function isValidResult(result) { if (result === undefined) return false; if (typeof(result) != 'object') { console.error('Error: Invocation of form suggest(' + typeof(result) + ') doesn\'t match definition suggest({filename: string, ' + 'conflictAction: string})'); return false; } else if ((typeof(result.filename) != 'string') || (result.filename.length == 0)) { console.error('Error: "filename" parameter to suggest() must be a ' + 'non-empty string'); return false; } else if ([undefined, 'uniquify', 'overwrite', 'prompt'].indexOf( result.conflictAction) < 0) { console.error('Error: "conflictAction" parameter to suggest() must be ' + 'one of undefined, "uniquify", "overwrite", "prompt"'); return false; } return true; } function suggestCallback(result) { if (!suggestable) { console.error('suggestCallback may not be called more than once.'); return; } suggestable = false; if (isValidResult(result)) { downloadsInternal.determineFilename( downloadId, result.filename, result.conflictAction || ""); } else { downloadsInternal.determineFilename(downloadId, "", ""); } } try { var results = dispatch([downloadItem, suggestCallback]); var async = (results && results.results && (results.results.length != 0) && (results.results[0] === true)); if (suggestable && !async) suggestCallback(); } catch (e) { suggestCallback(); throw e; } }); exports.$set('binding', binding.generate()); // Copyright 2014 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. // Custom binding for the enterprise.platformKeys API. // The platformKeys API consists of two major parts: // - the certificate management. // - the key generation and crypto operations and // The former is implemented without custom binding as static functions. // The latter is exposed by implementing WebCrypto's SubtleCrypto interface. // The internal API provides the key and crypto operations through static // functions expecting token IDs and this custom binding adds the SubtleCrypto // wrapper. // The Token object holds the token id and the SubtleCrypto member. var binding = require('binding').Binding.create('enterprise.platformKeys'); var Token = require('enterprise.platformKeys.Token').Token; var internalAPI = require('enterprise.platformKeys.internalAPI'); binding.registerCustomHook(function(api) { var apiFunctions = api.apiFunctions; var ret = apiFunctions.setHandleRequest('getTokens', function(callback) { internalAPI.getTokens(function(tokenIds) { callback($Array.map(tokenIds, function(tokenId) { return new Token(tokenId); })); }); }); }); exports.$set('binding', binding.generate()); // Copyright 2014 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. var binding = require('binding') .Binding.create('enterprise.platformKeysInternal') .generate(); exports.$set('getTokens', binding.getTokens); exports.$set('generateKey', binding.generateKey); exports.$set('sign', binding.sign); // Copyright 2014 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. var utils = require('utils'); var intersect = require('platformKeys.utils').intersect; var keyModule = require('platformKeys.Key'); var Key = keyModule.Key; var KeyType = keyModule.KeyType; var KeyUsage = keyModule.KeyUsage; /** * Implementation of WebCrypto.KeyPair used in enterprise.platformKeys. * @param {ArrayBuffer} publicKeySpki The Subject Public Key Info in DER * encoding. * @param {KeyAlgorithm} algorithm The algorithm identifier. * @param {KeyUsage[]} usages The allowed key usages. * @constructor */ function KeyPairImpl(publicKeySpki, algorithm, usages) { this.publicKey = new Key(KeyType.public, publicKeySpki, algorithm, intersect([KeyUsage.verify], usages), true /* extractable */); this.privateKey = new Key(KeyType.private, publicKeySpki, algorithm, intersect([KeyUsage.sign], usages), false /* not extractable */); } $Object.setPrototypeOf(KeyPairImpl.prototype, null); function KeyPair() { privates(KeyPair).constructPrivate(this, arguments); } utils.expose(KeyPair, KeyPairImpl, { readonly: [ 'publicKey', 'privateKey', ], }); exports.$set('KeyPair', KeyPair); // Copyright 2014 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. var utils = require('utils'); var internalAPI = require('enterprise.platformKeys.internalAPI'); var intersect = require('platformKeys.utils').intersect; var subtleCryptoModule = require('platformKeys.SubtleCrypto'); var SubtleCryptoImpl = subtleCryptoModule.SubtleCryptoImpl; var KeyPair = require('enterprise.platformKeys.KeyPair').KeyPair; var KeyUsage = require('platformKeys.Key').KeyUsage; var normalizeAlgorithm = requireNative('platform_keys_natives').NormalizeAlgorithm; // This error is thrown by the internal and public API's token functions and // must be rethrown by this custom binding. Keep this in sync with the C++ part // of this API. var errorInvalidToken = 'The token is not valid.'; // The following errors are specified in WebCrypto. // TODO(pneubeck): These should be DOMExceptions. function CreateNotSupportedError() { return new Error('The algorithm is not supported'); } function CreateInvalidAccessError() { return new Error('The requested operation is not valid for the provided key'); } function CreateDataError() { return new Error('Data provided to an operation does not meet requirements'); } function CreateSyntaxError() { return new Error('A required parameter was missing or out-of-range'); } function CreateOperationError() { return new Error('The operation failed for an operation-specific reason'); } // Catches an |internalErrorInvalidToken|. If so, forwards it to |reject| and // returns true. function catchInvalidTokenError(reject) { if (chrome.runtime.lastError && chrome.runtime.lastError.message == errorInvalidToken) { reject(chrome.runtime.lastError); return true; } return false; } // Returns true if |array| is a BigInteger describing the standard public // exponent 65537. In particular, it ignores leading zeros as required by the // BigInteger definition in WebCrypto. function equalsStandardPublicExponent(array) { var expected = [0x01, 0x00, 0x01]; if (array.length < expected.length) return false; for (var i = 0; i < array.length; i++) { var expectedDigit = 0; if (i < expected.length) { // |expected| is symmetric, endianness doesn't matter. expectedDigit = expected[i]; } if (array[array.length - 1 - i] !== expectedDigit) return false; } return true; } /** * Implementation of WebCrypto.SubtleCrypto used in enterprise.platformKeys. * Derived from platformKeys.SubtleCrypto. * @param {string} tokenId The id of the backing Token. * @constructor */ function EnterpriseSubtleCryptoImpl(tokenId) { $Function.call(SubtleCryptoImpl, this, tokenId); } EnterpriseSubtleCryptoImpl.prototype = $Object.create(SubtleCryptoImpl.prototype); EnterpriseSubtleCryptoImpl.prototype.generateKey = function(algorithm, extractable, keyUsages) { var subtleCrypto = this; return new Promise(function(resolve, reject) { // TODO(pneubeck): Apply the algorithm normalization of the WebCrypto // implementation. if (extractable) { // Note: This deviates from WebCrypto.SubtleCrypto. throw CreateNotSupportedError(); } if (intersect(keyUsages, [KeyUsage.sign, KeyUsage.verify]).length != keyUsages.length) { throw CreateDataError(); } var normalizedAlgorithmParameters = normalizeAlgorithm(algorithm, 'GenerateKey'); if (!normalizedAlgorithmParameters) { // TODO(pneubeck): It's not clear from the WebCrypto spec which error to // throw here. throw CreateSyntaxError(); } // normalizeAlgorithm returns an array, but publicExponent should be a // Uint8Array. normalizedAlgorithmParameters.publicExponent = new Uint8Array(normalizedAlgorithmParameters.publicExponent); if (normalizedAlgorithmParameters.name !== 'RSASSA-PKCS1-v1_5' || !equalsStandardPublicExponent( normalizedAlgorithmParameters.publicExponent)) { // Note: This deviates from WebCrypto.SubtleCrypto. throw CreateNotSupportedError(); } internalAPI.generateKey(subtleCrypto.tokenId, normalizedAlgorithmParameters.modulusLength, function(spki) { if (catchInvalidTokenError(reject)) return; if (chrome.runtime.lastError) { reject(CreateOperationError()); return; } resolve(new KeyPair(spki, normalizedAlgorithmParameters, keyUsages)); }); }); }; function SubtleCrypto() { privates(SubtleCrypto).constructPrivate(this, arguments); } utils.expose(SubtleCrypto, EnterpriseSubtleCryptoImpl, { superclass: subtleCryptoModule.SubtleCrypto, functions: [ 'generateKey', // 'sign', 'exportKey' are exposed by the base class ], }); exports.$set('SubtleCrypto', SubtleCrypto); // Copyright 2014 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. var utils = require('utils'); var SubtleCrypto = require('enterprise.platformKeys.SubtleCrypto').SubtleCrypto; /** * Implementation of enterprise.platformKeys.Token. * @param {string} id The id of the new Token. * @constructor */ function TokenImpl(id) { this.id = id; this.subtleCrypto = new SubtleCrypto(id); } $Object.setPrototypeOf(TokenImpl.prototype, null); function Token() { privates(Token).constructPrivate(this, arguments); } utils.expose(Token, TokenImpl, { readonly: [ 'id', 'subtleCrypto', ], }); exports.$set('Token', Token); // Copyright 2013 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. // Custom bindings for the feedbackPrivate API. var binding = require('binding').Binding.create('feedbackPrivate'); var blobNatives = requireNative('blob_natives'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setUpdateArgumentsPostValidate( "sendFeedback", function(feedbackInfo, callback) { var attachedFileBlobUuid = ''; var screenshotBlobUuid = ''; if (feedbackInfo.attachedFile) attachedFileBlobUuid = blobNatives.GetBlobUuid(feedbackInfo.attachedFile.data); if (feedbackInfo.screenshot) screenshotBlobUuid = blobNatives.GetBlobUuid(feedbackInfo.screenshot); feedbackInfo.attachedFileBlobUuid = attachedFileBlobUuid; feedbackInfo.screenshotBlobUuid = screenshotBlobUuid; return [feedbackInfo, callback]; }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the fileBrowserHandler API. var binding = require('binding').Binding.create('fileBrowserHandler'); var eventBindings = require('event_bindings'); var fileBrowserNatives = requireNative('file_browser_handler'); var GetExternalFileEntry = fileBrowserNatives.GetExternalFileEntry; var fileBrowserHandlerInternal = require('binding').Binding.create( 'fileBrowserHandlerInternal').generate(); eventBindings.registerArgumentMassager('fileBrowserHandler.onExecute', function(args, dispatch) { if (args.length < 2) { dispatch(args); return; } var fileList = args[1].entries; if (!fileList) { dispatch(args); return; } // The second parameter for this event's payload is file definition // dictionary that we used to reconstruct File API's Entry instance // here. for (var i = 0; i < fileList.length; i++) fileList[i] = GetExternalFileEntry(fileList[i]); dispatch(args); }); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('selectFile', function(selectionParams, callback) { function internalCallback(externalCallback, internalResult) { if (!externalCallback) return; var result = undefined; if (internalResult) { result = { success: internalResult.success, entry: null }; if (internalResult.success) result.entry = GetExternalFileEntry(internalResult.entry); } externalCallback(result); } return fileBrowserHandlerInternal.selectFile( selectionParams, $Function.bind(internalCallback, null, callback)); }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the fileManagerPrivate API. // Bindings var binding = require('binding').Binding.create('fileManagerPrivate'); var eventBindings = require('event_bindings'); // Natives var fileManagerPrivateNatives = requireNative('file_manager_private'); // Internals var fileManagerPrivateInternal = require('binding').Binding.create('fileManagerPrivateInternal').generate(); // Shorthands var GetFileSystem = fileManagerPrivateNatives.GetFileSystem; var GetExternalFileEntry = fileManagerPrivateNatives.GetExternalFileEntry; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setCustomCallback('searchDrive', function(name, request, callback, response) { if (response && !response.error && response.entries) { response.entries = response.entries.map(function(entry) { return GetExternalFileEntry(entry); }); } // So |callback| doesn't break if response is not defined. if (!response) response = {}; if (callback) callback(response.entries, response.nextFeed); }); apiFunctions.setCustomCallback('searchDriveMetadata', function(name, request, callback, response) { if (response && !response.error) { for (var i = 0; i < response.length; i++) { response[i].entry = GetExternalFileEntry(response[i].entry); } } // So |callback| doesn't break if response is not defined. if (!response) response = {}; if (callback) callback(response); }); apiFunctions.setHandleRequest('resolveIsolatedEntries', function(entries, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.resolveIsolatedEntries(urls, function( entryDescriptions) { callback(entryDescriptions.map(function(description) { return GetExternalFileEntry(description); })); }); }); apiFunctions.setHandleRequest('getEntryProperties', function(entries, names, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.getEntryProperties(urls, names, callback); }); apiFunctions.setHandleRequest('addFileWatch', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.addFileWatch(url, callback); }); apiFunctions.setHandleRequest('removeFileWatch', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.removeFileWatch(url, callback); }); apiFunctions.setHandleRequest('getCustomActions', function( entries, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.getCustomActions(urls, callback); }); apiFunctions.setHandleRequest('executeCustomAction', function( entries, actionId, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.executeCustomAction(urls, actionId, callback); }); apiFunctions.setHandleRequest('computeChecksum', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.computeChecksum(url, callback); }); apiFunctions.setHandleRequest('getMimeType', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.getMimeType(url, callback); }); apiFunctions.setHandleRequest('pinDriveFile', function(entry, pin, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.pinDriveFile(url, pin, callback); }); apiFunctions.setHandleRequest('executeTask', function(taskId, entries, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.executeTask(taskId, urls, callback); }); apiFunctions.setHandleRequest('setDefaultTask', function(taskId, entries, mimeTypes, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.setDefaultTask( taskId, urls, mimeTypes, callback); }); apiFunctions.setHandleRequest('getFileTasks', function(entries, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.getFileTasks(urls, callback); }); apiFunctions.setHandleRequest('getShareUrl', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.getShareUrl(url, callback); }); apiFunctions.setHandleRequest('getDownloadUrl', function(entry, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.getDownloadUrl(url, callback); }); apiFunctions.setHandleRequest('requestDriveShare', function( entry, shareType, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.requestDriveShare(url, shareType, callback); }); apiFunctions.setHandleRequest('setEntryTag', function( entry, visibility, key, value, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.setEntryTag( url, visibility, key, value, callback); }); apiFunctions.setHandleRequest('cancelFileTransfers', function( entries, callback) { var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.cancelFileTransfers(urls, callback); }); apiFunctions.setHandleRequest('startCopy', function( entry, parentEntry, newName, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); var parentUrl = fileManagerPrivateNatives.GetEntryURL(parentEntry); fileManagerPrivateInternal.startCopy( url, parentUrl, newName, callback); }); apiFunctions.setHandleRequest('zipSelection', function( parentEntry, entries, destName, callback) { var parentUrl = fileManagerPrivateNatives.GetEntryURL(parentEntry); var urls = entries.map(function(entry) { return fileManagerPrivateNatives.GetEntryURL(entry); }); fileManagerPrivateInternal.zipSelection( parentUrl, urls, destName, callback); }); apiFunctions.setHandleRequest('validatePathNameLength', function( entry, name, callback) { var url = fileManagerPrivateNatives.GetEntryURL(entry); fileManagerPrivateInternal.validatePathNameLength(url, name, callback); }); }); eventBindings.registerArgumentMassager( 'fileManagerPrivate.onDirectoryChanged', function(args, dispatch) { // Convert the entry arguments into a real Entry object. args[0].entry = GetExternalFileEntry(args[0].entry); dispatch(args); }); exports.$set('binding', binding.generate()); // Copyright 2014 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. var fileSystemNatives = requireNative('file_system_natives'); var GetIsolatedFileSystem = fileSystemNatives.GetIsolatedFileSystem; var sendRequest = require('sendRequest'); var lastError = require('lastError'); var GetModuleSystem = requireNative('v8_context').GetModuleSystem; // TODO(sammc): Don't require extension. See http://crbug.com/235689. var GetExtensionViews = requireNative('runtime').GetExtensionViews; // For a given |apiName|, generates object with two elements that are used // in file system relayed APIs: // * 'bindFileEntryCallback' function that provides mapping between JS objects // into actual FileEntry|DirectoryEntry objects. // * 'entryIdManager' object that implements methods for keeping the tracks of // previously saved file entries. function getFileBindingsForApi(apiName) { // Fallback to using the current window if no background page is running. var backgroundPage = GetExtensionViews(-1, 'BACKGROUND')[0] || window; var backgroundPageModuleSystem = GetModuleSystem(backgroundPage); // All windows use the bindFileEntryCallback from the background page so their // FileEntry objects have the background page's context as their own. This // allows them to be used from other windows (including the background page) // after the original window is closed. if (window == backgroundPage) { var bindFileEntryCallback = function(functionName, apiFunctions) { apiFunctions.setCustomCallback(functionName, function(name, request, callback, response) { if (callback) { if (!response) { callback(); return; } var entries = []; var hasError = false; var getEntryError = function(fileError) { if (!hasError) { hasError = true; lastError.run( apiName + '.' + functionName, 'Error getting fileEntry, code: ' + fileError.code, request.stack, callback); } } // Loop through the response entries and asynchronously get the // FileEntry for each. We use hasError to ensure that only the first // error is reported. Note that an error can occur either during the // loop or in the asynchronous error callback to getFile. $Array.forEach(response.entries, function(entry) { if (hasError) return; var fileSystemId = entry.fileSystemId; var baseName = entry.baseName; var id = entry.id; var fs = GetIsolatedFileSystem(fileSystemId); try { var getEntryCallback = function(fileEntry) { if (hasError) return; entryIdManager.registerEntry(id, fileEntry); entries.push(fileEntry); // Once all entries are ready, pass them to the callback. In the // event of an error, this condition will never be satisfied so // the callback will not be called with any entries. if (entries.length == response.entries.length) { if (response.multiple) { sendRequest.safeCallbackApply( apiName + '.' + functionName, request, callback, [entries]); } else { sendRequest.safeCallbackApply( apiName + '.' + functionName, request, callback, [entries[0]]); } } } // TODO(koz): fs.root.getFile() makes a trip to the browser // process, but it might be possible avoid that by calling // WebDOMFileSystem::createV8Entry(). if (entry.isDirectory) { fs.root.getDirectory(baseName, {}, getEntryCallback, getEntryError); } else { fs.root.getFile(baseName, {}, getEntryCallback, getEntryError); } } catch (e) { if (!hasError) { hasError = true; lastError.run(apiName + '.' + functionName, 'Error getting fileEntry: ' + e.stack, request.stack, callback); } } }); } }); }; var entryIdManager = require('entryIdManager'); } else { // Force the fileSystem API to be loaded in the background page. Using // backgroundPageModuleSystem.require('fileSystem') is insufficient as // requireNative is only allowed while lazily loading an API. backgroundPage.chrome.fileSystem; var bindFileEntryCallback = backgroundPageModuleSystem.require( apiName).bindFileEntryCallback; var entryIdManager = backgroundPageModuleSystem.require('entryIdManager'); } return {bindFileEntryCallback: bindFileEntryCallback, entryIdManager: entryIdManager}; } exports.$set('getFileBindingsForApi', getFileBindingsForApi); // Copyright (c) 2012 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. // Custom binding for the fileSystem API. var binding = require('binding').Binding.create('fileSystem'); var sendRequest = require('sendRequest'); var getFileBindingsForApi = require('fileEntryBindingUtil').getFileBindingsForApi; var fileBindings = getFileBindingsForApi('fileSystem'); var bindFileEntryCallback = fileBindings.bindFileEntryCallback; var entryIdManager = fileBindings.entryIdManager; var fileSystemNatives = requireNative('file_system_natives'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var fileSystem = bindingsAPI.compiledApi; function bindFileEntryFunction(functionName) { apiFunctions.setUpdateArgumentsPostValidate( functionName, function(fileEntry, callback) { var fileSystemName = fileEntry.filesystem.name; var relativePath = $String.slice(fileEntry.fullPath, 1); return [fileSystemName, relativePath, callback]; }); } $Array.forEach(['getDisplayPath', 'getWritableEntry', 'isWritableEntry'], bindFileEntryFunction); $Array.forEach(['getWritableEntry', 'chooseEntry', 'restoreEntry'], function(functionName) { bindFileEntryCallback(functionName, apiFunctions); }); apiFunctions.setHandleRequest('retainEntry', function(fileEntry) { var id = entryIdManager.getEntryId(fileEntry); if (!id) return ''; var fileSystemName = fileEntry.filesystem.name; var relativePath = $String.slice(fileEntry.fullPath, 1); sendRequest.sendRequest(this.name, [id, fileSystemName, relativePath], this.definition.parameters); return id; }); apiFunctions.setHandleRequest('isRestorable', function(id, callback) { var savedEntry = entryIdManager.getEntryById(id); if (savedEntry) { sendRequest.safeCallbackApply( 'fileSystem.isRestorable', {}, callback, [true]); } else { sendRequest.sendRequest( this.name, [id, callback], this.definition.parameters); } }); apiFunctions.setUpdateArgumentsPostValidate('restoreEntry', function(id, callback) { var savedEntry = entryIdManager.getEntryById(id); if (savedEntry) { // We already have a file entry for this id so pass it to the callback and // send a request to the browser to move it to the back of the LRU. sendRequest.safeCallbackApply( 'fileSystem.restoreEntry', {}, callback, [savedEntry]); return [id, false, null]; } else { // Ask the browser process for a new file entry for this id, to be passed // to |callback|. return [id, true, callback]; } }); apiFunctions.setCustomCallback('requestFileSystem', function(name, request, callback, response) { var fileSystem; if (response && response.file_system_id) { fileSystem = fileSystemNatives.GetIsolatedFileSystem( response.file_system_id, response.file_system_path); } sendRequest.safeCallbackApply( 'fileSystem.requestFileSystem', request, callback, [fileSystem]); }); // TODO(benwells): Remove these deprecated versions of the functions. fileSystem.getWritableFileEntry = function() { console.log("chrome.fileSystem.getWritableFileEntry is deprecated"); console.log("Please use chrome.fileSystem.getWritableEntry instead"); $Function.apply(fileSystem.getWritableEntry, this, arguments); }; fileSystem.isWritableFileEntry = function() { console.log("chrome.fileSystem.isWritableFileEntry is deprecated"); console.log("Please use chrome.fileSystem.isWritableEntry instead"); $Function.apply(fileSystem.isWritableEntry, this, arguments); }; fileSystem.chooseFile = function() { console.log("chrome.fileSystem.chooseFile is deprecated"); console.log("Please use chrome.fileSystem.chooseEntry instead"); $Function.apply(fileSystem.chooseEntry, this, arguments); }; }); exports.$set('bindFileEntryCallback', bindFileEntryCallback); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the fileSystemProvider API. var binding = require('binding').Binding.create('fileSystemProvider'); var fileSystemProviderInternal = require('binding').Binding.create('fileSystemProviderInternal').generate(); var eventBindings = require('event_bindings'); /** * Maximum size of the thumbnail in bytes. * @type {number} * @const */ var METADATA_THUMBNAIL_SIZE_LIMIT = 32 * 1024 * 1024; /** * Regular expression to validate if the thumbnail URI is a valid data URI, * taking into account allowed formats. * @type {RegExp} * @const */ var METADATA_THUMBNAIL_FORMAT = new RegExp( '^data:image/(png|jpeg|webp);', 'i'); /** * Annotates a date with its serialized value. * @param {Date} date Input date. * @return {Date} Date with an extra value attribute. */ function annotateDate(date) { // Copy in case the input date is frozen. var result = new Date(date.getTime()); result.value = result.toString(); return result; } /** * Verifies if the passed image URI is valid. * @param {*} uri Image URI. * @return {boolean} True if valid, valse otherwise. */ function verifyImageURI(uri) { // The URI is specified by a user, so the type may be incorrect. if (typeof uri != 'string' && !(uri instanceof String)) return false; return METADATA_THUMBNAIL_FORMAT.test(uri); } /** * Verifies if the passed metadata is valid. * @param {!GetMetadataOptions|!ReadDirectoryOptions} options * @return {boolean} True if valid, false if invalid. */ function verifyMetadata(options, metadata) { // Ideally we'd like to consider the following as errors, but for backward // compatibility they are warnings only. if (!options.isDirectory && metadata.isDirectory !== undefined) console.warn('IsDirectory specified, but not requested.'); if (!options.name && metadata.name !== undefined) console.warn('Name specified, but not requested.'); if (!options.size && metadata.size !== undefined) console.warn('Size specified, but not requested.'); if (!options.modificationTime && metadata.modificationTime !== undefined) console.warn('Last modification time specified, but not requested.'); if (!options.mimeType && metadata.mimeType !== undefined) { console.warn('MIME type specified, but not requested.'); } else { if (metadata.mimeType === '') { warning = 'MIME type must not be an empty string.' + 'If unknown, then do not set it.'; } } if (options.isDirectory && metadata.isDirectory === undefined) { console.error('IsDirectory is required for this request.'); return false; } if (options.name && metadata.name === undefined) { console.error('Name is required for this request.'); return false; } if (options.size && metadata.size === undefined) { console.error('Size is required for this request.'); return false; } if (options.modificationTime && metadata.modificationTime === undefined) { console.error('Last modification time is required for this request.'); return false; } // It is invalid to return a thumbnail when it's not requested. The // restriction is added in order to avoid fetching the thumbnail while // it's not needed. if (!options.thumbnail && metadata.thumbnail !== undefined) { console.error('Thumbnail data provided, but not requested.'); return false; } // Check the format and size. Note, that in the C++ layer, there is // another sanity check to avoid passing any evil URL. if (metadata.thumbnail !== undefined && !verifyImageURI(metadata.thumbnail)) { console.error('Thumbnail format invalid.'); return false; } if (metadata.thumbnail !== undefined && metadata.thumbnail.length > METADATA_THUMBNAIL_SIZE_LIMIT) { console.error('Thumbnail data too large.'); return false; } return true; } /** * Annotates an entry metadata by serializing its modifiedTime value. * @param {EntryMetadata} metadata Input metadata. * @return {EntryMetadata} metadata Annotated metadata, which can be passed * back to the C++ layer. */ function annotateMetadata(metadata) { var result = {}; if (metadata.isDirectory !== undefined) result.isDirectory = metadata.isDirectory; if (metadata.name !== undefined) result.name = metadata.name; if (metadata.size !== undefined) result.size = metadata.size; if (metadata.modificationTime !== undefined) result.modificationTime = annotateDate(metadata.modificationTime); if (metadata.mimeType !== undefined) result.mimeType = metadata.mimeType; if (metadata.thumbnail !== undefined) result.thumbnail = metadata.thumbnail; return result; } /** * Massages arguments of an event raised by the File System Provider API. * @param {Array<*>} args Input arguments. * @param {function(Array<*>)} dispatch Closure to be called with massaged * arguments. */ function massageArgumentsDefault(args, dispatch) { var executionStart = Date.now(); var options = args[0]; var onSuccessCallback = function(hasNext) { fileSystemProviderInternal.operationRequestedSuccess( options.fileSystemId, options.requestId, Date.now() - executionStart); }; var onErrorCallback = function(error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, error, Date.now() - executionStart); } dispatch([options, onSuccessCallback, onErrorCallback]); } eventBindings.registerArgumentMassager( 'fileSystemProvider.onUnmountRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onGetMetadataRequested', function(args, dispatch) { var executionStart = Date.now(); var options = args[0]; var onSuccessCallback = function(metadata) { if (!verifyMetadata(options, metadata)) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, 'FAILED', Date.now() - executionStart); return; } fileSystemProviderInternal.getMetadataRequestedSuccess( options.fileSystemId, options.requestId, annotateMetadata(metadata), Date.now() - executionStart); }; var onErrorCallback = function(error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, error, Date.now() - executionStart); } dispatch([options, onSuccessCallback, onErrorCallback]); }); eventBindings.registerArgumentMassager( 'fileSystemProvider.onGetActionsRequested', function(args, dispatch) { var executionStart = Date.now(); var options = args[0]; var onSuccessCallback = function(actions) { fileSystemProviderInternal.getActionsRequestedSuccess( options.fileSystemId, options.requestId, actions, Date.now() - executionStart); }; var onErrorCallback = function(error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, error, Date.now() - executionStart); } dispatch([options, onSuccessCallback, onErrorCallback]); }); eventBindings.registerArgumentMassager( 'fileSystemProvider.onReadDirectoryRequested', function(args, dispatch) { var executionStart = Date.now(); var options = args[0]; var onSuccessCallback = function(entries, hasNext) { var error = false; for (var i = 0; i < entries.length; i++) { if (!verifyMetadata(options, entries[i])) { error = true; break; } } if (error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, 'FAILED', Date.now() - executionStart); return; } var annotatedEntries = entries.map(annotateMetadata); fileSystemProviderInternal.readDirectoryRequestedSuccess( options.fileSystemId, options.requestId, annotatedEntries, hasNext, Date.now() - executionStart); }; var onErrorCallback = function(error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, error, Date.now() - executionStart); } dispatch([options, onSuccessCallback, onErrorCallback]); }); eventBindings.registerArgumentMassager( 'fileSystemProvider.onOpenFileRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onCloseFileRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onReadFileRequested', function(args, dispatch) { var executionStart = Date.now(); var options = args[0]; var onSuccessCallback = function(data, hasNext) { fileSystemProviderInternal.readFileRequestedSuccess( options.fileSystemId, options.requestId, data, hasNext, Date.now() - executionStart); }; var onErrorCallback = function(error) { fileSystemProviderInternal.operationRequestedError( options.fileSystemId, options.requestId, error, Date.now() - executionStart); } dispatch([options, onSuccessCallback, onErrorCallback]); }); eventBindings.registerArgumentMassager( 'fileSystemProvider.onCreateDirectoryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onDeleteEntryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onCreateFileRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onCopyEntryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onMoveEntryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onTruncateRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onWriteFileRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onAbortRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onObserveDirectoryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onUnobserveEntryRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onAddWatcherRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onRemoveWatcherRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onConfigureRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onExecuteActionRequested', massageArgumentsDefault); eventBindings.registerArgumentMassager( 'fileSystemProvider.onMountRequested', function(args, dispatch) { var onSuccessCallback = function() { // TODO(mtomasz): To be implemented. }; var onErrorCallback = function(error) { // TODO(mtomasz): To be implemented. } dispatch([onSuccessCallback, onErrorCallback]); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the GCM API. var binding = require('binding').Binding.create('gcm'); var forEach = require('utils').forEach; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var gcm = bindingsAPI.compiledApi; apiFunctions.setUpdateArgumentsPostValidate( 'send', function(message, callback) { // Validate message.data. var payloadSize = 0; forEach(message.data, function(property, value) { if (property.length == 0) throw new Error("One of data keys is empty."); var lowerCasedProperty = property.toLowerCase(); // Issue an error for forbidden prefixes of property names. if (lowerCasedProperty.indexOf("goog.") == 0 || lowerCasedProperty.indexOf("google") == 0 || property.indexOf("collapse_key") == 0) { throw new Error("Invalid data key: " + property); } payloadSize += property.length + value.length; }); if (payloadSize > gcm.MAX_MESSAGE_SIZE) throw new Error("Payload exceeded allowed size limit. Payload size is: " + payloadSize); if (payloadSize == 0) throw new Error("No data to send."); return arguments; }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the Identity API. var binding = require('binding').Binding.create('identity'); binding.registerCustomHook(function(binding, id, contextType) { var apiFunctions = binding.apiFunctions; var identity = binding.compiledApi; apiFunctions.setHandleRequest('getRedirectURL', function(path) { if (path === null || path === undefined) path = '/'; else path = String(path); if (path[0] != '/') path = '/' + path; return 'https://' + id + '.chromiumapp.org' + path; }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom binding for the image writer private API. var binding = require('binding').Binding.create('imageWriterPrivate'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setUpdateArgumentsPostValidate( 'writeFromFile', function(device, fileEntry, options, callback) { var fileSystemName = fileEntry.filesystem.name; var relativePath = $String.slice(fileEntry.fullPath, 1); return [device, fileSystemName, relativePath, callback]; }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the input ime API. Only injected into the // v8 contexts for extensions which have permission for the API. var binding = require('binding').Binding.create('input.ime'); var Event = require('event_bindings').Event; var appWindowNatives = requireNative('app_window_natives'); binding.registerCustomHook(function(api) { var input_ime = api.compiledApi; input_ime.onKeyEvent.dispatchToListener = function(callback, args) { var engineID = args[0]; var keyData = args[1]; var result = false; try { result = $Function.call(Event.prototype.dispatchToListener, this, callback, args); } catch (e) { console.error('Error in event handler for onKeyEvent: ' + e.stack); } if (!input_ime.onKeyEvent.async) { input_ime.keyEventHandled(keyData.requestId, result); } }; input_ime.onKeyEvent.addListener = function(cb, opt_extraInfo) { input_ime.onKeyEvent.async = false; if (opt_extraInfo instanceof Array) { for (var i = 0; i < opt_extraInfo.length; ++i) { if (opt_extraInfo[i] == "async") { input_ime.onKeyEvent.async = true; } } } $Function.call(Event.prototype.addListener, this, cb); }; api.apiFunctions.setCustomCallback('createWindow', function(name, request, callback, windowParams) { if (!callback) { return; } var view; if (windowParams && windowParams.frameId) { view = appWindowNatives.GetFrame( windowParams.frameId, false /* notifyBrowser */); view.id = windowParams.frameId; } callback(view); }); }); exports.$set('binding', binding.generate()); // Copyright 2014 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. // Custom binding for the logPrivate API. var binding = require('binding').Binding.create('logPrivate'); var sendRequest = require('sendRequest'); var getFileBindingsForApi = require('fileEntryBindingUtil').getFileBindingsForApi; var fileBindings = getFileBindingsForApi('logPrivate'); var bindFileEntryCallback = fileBindings.bindFileEntryCallback; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var fileSystem = bindingsAPI.compiledApi; $Array.forEach(['dumpLogs'], function(functionName) { bindFileEntryCallback(functionName, apiFunctions); }); }); exports.$set('bindFileEntryCallback', bindFileEntryCallback); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the Media Gallery API. var binding = require('binding').Binding.create('mediaGalleries'); var blobNatives = requireNative('blob_natives'); var mediaGalleriesNatives = requireNative('mediaGalleries'); var blobsAwaitingMetadata = {}; var mediaGalleriesMetadata = {}; function createFileSystemObjectsAndUpdateMetadata(response) { var result = []; mediaGalleriesMetadata = {}; // Clear any previous metadata. if (response) { for (var i = 0; i < response.length; i++) { var filesystem = mediaGalleriesNatives.GetMediaFileSystemObject( response[i].fsid); $Array.push(result, filesystem); var metadata = response[i]; delete metadata.fsid; mediaGalleriesMetadata[filesystem.name] = metadata; } } return result; } binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; // getMediaFileSystems and addUserSelectedFolder use a custom callback so that // they can instantiate and return an array of file system objects. apiFunctions.setCustomCallback('getMediaFileSystems', function(name, request, callback, response) { var result = createFileSystemObjectsAndUpdateMetadata(response); if (callback) callback(result); }); apiFunctions.setCustomCallback('addUserSelectedFolder', function(name, request, callback, response) { var fileSystems = []; var selectedFileSystemName = ""; if (response && 'mediaFileSystems' in response && 'selectedFileSystemIndex' in response) { fileSystems = createFileSystemObjectsAndUpdateMetadata( response['mediaFileSystems']); var selectedFileSystemIndex = response['selectedFileSystemIndex']; if (selectedFileSystemIndex >= 0) { selectedFileSystemName = fileSystems[selectedFileSystemIndex].name; } } if (callback) callback(fileSystems, selectedFileSystemName); }); apiFunctions.setHandleRequest('getMediaFileSystemMetadata', function(filesystem) { if (filesystem && filesystem.name && filesystem.name in mediaGalleriesMetadata) { return mediaGalleriesMetadata[filesystem.name]; } return { 'name': '', 'galleryId': '', 'isRemovable': false, 'isMediaDevice': false, 'isAvailable': false, }; }); apiFunctions.setUpdateArgumentsPostValidate('getMetadata', function(mediaFile, options, callback) { var blobUuid = blobNatives.GetBlobUuid(mediaFile) // Store the blob in a global object to keep its refcount nonzero -- this // prevents the object from being garbage collected before any metadata // parsing gets to occur (see crbug.com/415792). blobsAwaitingMetadata[blobUuid] = mediaFile; return [blobUuid, options, callback]; }); apiFunctions.setCustomCallback('getMetadata', function(name, request, callback, response) { if (response && response.attachedImagesBlobInfo) { for (var i = 0; i < response.attachedImagesBlobInfo.length; i++) { var blobInfo = response.attachedImagesBlobInfo[i]; var blob = blobNatives.TakeBrowserProcessBlob( blobInfo.blobUUID, blobInfo.type, blobInfo.size); response.metadata.attachedImages.push(blob); } } if (callback) callback(response ? response.metadata : null); // The UUID was in position 0 in the setUpdateArgumentsPostValidate // function. var uuid = request.args[0]; delete blobsAwaitingMetadata[uuid]; }); }); exports.$set('binding', binding.generate()); // Copyright 2013 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. // Custom bindings for the notifications API. // var binding = require('binding').Binding.create('notifications'); var sendRequest = require('sendRequest').sendRequest; var exceptionHandler = require('uncaught_exception_handler'); var imageUtil = require('imageUtil'); var lastError = require('lastError'); var notificationsPrivate = requireNative('notifications_private'); function imageDataSetter(context, key) { var f = function(val) { this[key] = val; }; return $Function.bind(f, context); } // A URL Spec is an object with the following keys: // path: The resource to be downloaded. // width: (optional) The maximum width of the image to be downloaded in device // pixels. // height: (optional) The maximum height of the image to be downloaded in // device pixels. // callback: A function to be called when the URL is complete. It // should accept an ImageData object and set the appropriate // field in |notificationDetails|. function getUrlSpecs(imageSizes, notificationDetails) { var urlSpecs = []; // |iconUrl| might be optional for notification updates. if (notificationDetails.iconUrl) { $Array.push(urlSpecs, { path: notificationDetails.iconUrl, width: imageSizes.icon.width * imageSizes.scaleFactor, height: imageSizes.icon.height * imageSizes.scaleFactor, callback: imageDataSetter(notificationDetails, 'iconBitmap') }); } // |appIconMaskUrl| is optional. if (notificationDetails.appIconMaskUrl) { $Array.push(urlSpecs, { path: notificationDetails.appIconMaskUrl, width: imageSizes.appIconMask.width * imageSizes.scaleFactor, height: imageSizes.appIconMask.height * imageSizes.scaleFactor, callback: imageDataSetter(notificationDetails, 'appIconMaskBitmap') }); } // |imageUrl| is optional. if (notificationDetails.imageUrl) { $Array.push(urlSpecs, { path: notificationDetails.imageUrl, width: imageSizes.image.width * imageSizes.scaleFactor, height: imageSizes.image.height * imageSizes.scaleFactor, callback: imageDataSetter(notificationDetails, 'imageBitmap') }); } // Each button has an optional icon. var buttonList = notificationDetails.buttons; if (buttonList && typeof buttonList.length === 'number') { var numButtons = buttonList.length; for (var i = 0; i < numButtons; i++) { if (buttonList[i].iconUrl) { $Array.push(urlSpecs, { path: buttonList[i].iconUrl, width: imageSizes.buttonIcon.width * imageSizes.scaleFactor, height: imageSizes.buttonIcon.height * imageSizes.scaleFactor, callback: imageDataSetter(buttonList[i], 'iconBitmap') }); } } } return urlSpecs; } function replaceNotificationOptionURLs(notification_details, callback) { var imageSizes = notificationsPrivate.GetNotificationImageSizes(); var url_specs = getUrlSpecs(imageSizes, notification_details); if (!url_specs.length) { callback(true); return; } var errors = 0; imageUtil.loadAllImages(url_specs, { onerror: function(index) { errors++; }, oncomplete: function(imageData) { if (errors > 0) { callback(false); return; } for (var index = 0; index < url_specs.length; index++) { var url_spec = url_specs[index]; url_spec.callback(imageData[index]); } callback(true); } }); } function genHandle(name, failure_function) { return function(id, input_notification_details, callback) { // TODO(dewittj): Remove this hack. This is used as a way to deep // copy a complex JSON object. var notification_details = $JSON.parse( $JSON.stringify(input_notification_details)); var that = this; var stack = exceptionHandler.getExtensionStackTrace(); replaceNotificationOptionURLs(notification_details, function(success) { if (success) { sendRequest(that.name, [id, notification_details, callback], that.definition.parameters, {__proto__: null, stack: stack}); return; } lastError.run(name, 'Unable to download all specified images.', stack, failure_function, [callback || function() {}, id]); }); }; } var handleCreate = genHandle('notifications.create', function(callback, id) { callback(id); }); var handleUpdate = genHandle('notifications.update', function(callback, id) { callback(false); }); var notificationsCustomHook = function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('create', handleCreate); apiFunctions.setHandleRequest('update', handleUpdate); }; binding.registerCustomHook(notificationsCustomHook); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the omnibox API. Only injected into the v8 contexts // for extensions which have permission for the omnibox API. var binding = require('binding').Binding.create('omnibox'); var eventBindings = require('event_bindings'); var sendRequest = require('sendRequest').sendRequest; // Remove invalid characters from |text| so that it is suitable to use // for |AutocompleteMatch::contents|. function sanitizeString(text, shouldTrim) { // NOTE: This logic mirrors |AutocompleteMatch::SanitizeString()|. // 0x2028 = line separator; 0x2029 = paragraph separator. var kRemoveChars = /(\r|\n|\t|\u2028|\u2029)/gm; if (shouldTrim) text = text.trimLeft(); return text.replace(kRemoveChars, ''); } // Parses the xml syntax supported by omnibox suggestion results. Returns an // object with two properties: 'description', which is just the text content, // and 'descriptionStyles', which is an array of style objects in a format // understood by the C++ backend. function parseOmniboxDescription(input) { var domParser = new DOMParser(); // The XML parser requires a single top-level element, but we want to // support things like 'hello, world!'. So we wrap the // provided text in generated root level element. var root = domParser.parseFromString( '' + input + '', 'text/xml'); // DOMParser has a terrible error reporting facility. Errors come out nested // inside the returned document. var error = root.querySelector('parsererror div'); if (error) { throw new Error(error.textContent); } // Otherwise, it's valid, so build up the result. var result = { description: '', descriptionStyles: [] }; // Recursively walk the tree. function walk(node) { for (var i = 0, child; child = node.childNodes[i]; i++) { // Append text nodes to our description. if (child.nodeType == Node.TEXT_NODE) { var shouldTrim = result.description.length == 0; result.description += sanitizeString(child.nodeValue, shouldTrim); continue; } // Process and descend into a subset of recognized tags. if (child.nodeType == Node.ELEMENT_NODE && (child.nodeName == 'dim' || child.nodeName == 'match' || child.nodeName == 'url')) { var style = { 'type': child.nodeName, 'offset': result.description.length }; $Array.push(result.descriptionStyles, style); walk(child); style.length = result.description.length - style.offset; continue; } // Descend into all other nodes, even if they are unrecognized, for // forward compat. walk(child); } }; walk(root); return result; } binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setUpdateArgumentsPreValidate('setDefaultSuggestion', function(suggestResult) { if (suggestResult.content != undefined) { // null, etc. throw new Error( 'setDefaultSuggestion cannot contain the "content" field'); } return [suggestResult]; }); apiFunctions.setHandleRequest('setDefaultSuggestion', function(details) { var parseResult = parseOmniboxDescription(details.description); sendRequest(this.name, [parseResult], this.definition.parameters); }); apiFunctions.setUpdateArgumentsPostValidate( 'sendSuggestions', function(requestId, userSuggestions) { var suggestions = []; for (var i = 0; i < userSuggestions.length; i++) { var parseResult = parseOmniboxDescription( userSuggestions[i].description); parseResult.content = userSuggestions[i].content; $Array.push(suggestions, parseResult); } return [requestId, suggestions]; }); }); eventBindings.registerArgumentMassager('omnibox.onInputChanged', function(args, dispatch) { var text = args[0]; var requestId = args[1]; var suggestCallback = function(suggestions) { chrome.omnibox.sendSuggestions(requestId, suggestions); }; dispatch([text, suggestCallback]); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the pageAction API. var binding = require('binding').Binding.create('pageAction'); var setIcon = require('setIcon').setIcon; var sendRequest = require('sendRequest').sendRequest; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('setIcon', function(details, callback) { setIcon(details, function(args) { sendRequest(this.name, [args, callback], this.definition.parameters); }.bind(this)); }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the pageCapture API. var binding = require('binding').Binding.create('pageCapture'); var handleUncaughtException = require('uncaught_exception_handler').handle; var pageCaptureNatives = requireNative('page_capture'); var CreateBlob = pageCaptureNatives.CreateBlob; var SendResponseAck = pageCaptureNatives.SendResponseAck; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setCustomCallback('saveAsMHTML', function(name, request, callback, response) { if (response) response = CreateBlob(response.mhtmlFilePath, response.mhtmlFileLength); try { callback(response); } catch (e) { handleUncaughtException( 'Error in chrome.pageCapture.saveAsMHTML callback', e, request.stack); } finally { // Notify the browser. Now that the blob is referenced from JavaScript, // the browser can drop its reference to it. SendResponseAck(request.id); } }); }); exports.$set('binding', binding.generate()); // Copyright 2015 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. // Custom binding for the platformKeys API. var binding = require('binding').Binding.create('platformKeys'); var SubtleCrypto = require('platformKeys.SubtleCrypto').SubtleCrypto; var getPublicKey = require('platformKeys.getPublicKey').getPublicKey; var internalAPI = require('platformKeys.internalAPI'); var keyModule = require('platformKeys.Key'); var Key = keyModule.Key; var KeyType = keyModule.KeyType; var KeyUsage = keyModule.KeyUsage; function createPublicKey(publicKeySpki, algorithm) { return new Key(KeyType.public, publicKeySpki, algorithm, [KeyUsage.verify], true /* extractable */); } function createPrivateKey(publicKeySpki, algorithm) { return new Key(KeyType.private, publicKeySpki, algorithm, [KeyUsage.sign], false /* not extractable */); } binding.registerCustomHook(function(api) { var apiFunctions = api.apiFunctions; var subtleCrypto = new SubtleCrypto('' /* tokenId */); apiFunctions.setHandleRequest( 'selectClientCertificates', function(details, callback) { internalAPI.selectClientCertificates(details, function(matches) { if (chrome.runtime.lastError) { callback([]); return; } callback($Array.map(matches, function(match) { // internalAPI.selectClientCertificates returns publicExponent as // ArrayBuffer, but it should be a Uint8Array. if (match.keyAlgorithm.publicExponent) { match.keyAlgorithm.publicExponent = new Uint8Array(match.keyAlgorithm.publicExponent); } return match; })); }); }); apiFunctions.setHandleRequest( 'subtleCrypto', function() { return subtleCrypto }); apiFunctions.setHandleRequest( 'getKeyPair', function(cert, params, callback) { getPublicKey(cert, params, function(publicKey, algorithm) { if (chrome.runtime.lastError) { callback(); return; } callback(createPublicKey(publicKey, algorithm), createPrivateKey(publicKey, algorithm)); }); }); }); exports.$set('binding', binding.generate()); // Copyright 2015 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. var internalAPI = require('platformKeys.internalAPI'); var normalizeAlgorithm = requireNative('platform_keys_natives').NormalizeAlgorithm; // Returns the normalized parameters of |importParams|. // Any unknown parameters will be ignored. function normalizeImportParams(importParams) { if (!importParams.name || Object.prototype.toString.call(importParams.name) != '[object String]') { throw new Error('Algorithm: name: Missing or not a String'); } var filteredParams = { name: importParams.name }; var hashIsNone = false; if (importParams.hash) { if (importParams.hash.name.toLowerCase() === 'none') { hashIsNone = true; // Temporarily replace |hash| by a valid WebCrypto Hash for normalization. // This will be reverted to 'none' after normalization. filteredParams.hash = { name: 'SHA-1' }; } else { filteredParams.hash = { name: importParams.hash.name } } } // Apply WebCrypto's algorithm normalization. var resultParams = normalizeAlgorithm(filteredParams, 'ImportKey'); if (!resultParams ) { throw new Error('A required parameter was missing or out-of-range'); } if (hashIsNone) { resultParams.hash = { name: 'none' }; } return resultParams; } function combineAlgorithms(algorithm, importParams) { // internalAPI.getPublicKey returns publicExponent as ArrayBuffer, but it // should be a Uint8Array. if (algorithm.publicExponent) { algorithm.publicExponent = new Uint8Array(algorithm.publicExponent); } algorithm.hash = importParams.hash; return algorithm; } function getPublicKey(cert, importParams, callback) { importParams = normalizeImportParams(importParams); internalAPI.getPublicKey( cert, importParams.name, function(publicKey, algorithm) { if (chrome.runtime.lastError) { callback(); return; } var combinedAlgorithm = combineAlgorithms(algorithm, importParams); callback(publicKey, combinedAlgorithm); }); } exports.$set('getPublicKey', getPublicKey); // Copyright 2015 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. var binding = require('binding') .Binding.create('platformKeysInternal') .generate(); exports.$set('selectClientCertificates', binding.selectClientCertificates); exports.$set('sign', binding.sign); exports.$set('getPublicKey', binding.getPublicKey); // Copyright 2014 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. var utils = require('utils'); /** * Enum of possible key types (subset of WebCrypto.KeyType). * @enum {string} */ var KeyType = { __proto__: null, public: 'public', private: 'private' }; /** * Enum of possible key usages (subset of WebCrypto.KeyUsage). * @enum {string} */ var KeyUsage = { __proto__: null, sign: 'sign', verify: 'verify' }; /** * Implementation of WebCrypto.Key used in enterprise.platformKeys. * @param {KeyType} type The type of the new key. * @param {ArrayBuffer} publicKeySpki The Subject Public Key Info in DER * encoding. * @param {KeyAlgorithm} algorithm The algorithm identifier. * @param {KeyUsage[]} usages The allowed key usages. * @param {boolean} extractable Whether the key is extractable. * @constructor */ function KeyImpl(type, publicKeySpki, algorithm, usages, extractable) { this.type = type; this.spki = publicKeySpki; this.algorithm = algorithm; this.usages = usages; this.extractable = extractable; } $Object.setPrototypeOf(KeyImpl.prototype, null); /** * The public base class of Key. */ function KeyBase() {} KeyBase.prototype = { constructor: KeyBase, get algorithm() { return utils.deepCopy(privates(this).impl.algorithm); }, }; function Key() { privates(Key).constructPrivate(this, arguments); } utils.expose(Key, KeyImpl, { superclass: KeyBase, readonly: [ 'extractable', 'type', 'usages', ], }); /** * Returns |key|'s Subject Public Key Info. Throws an exception if |key| is not * a valid Key object. * @param {Key} key * @return {ArrayBuffer} The Subject Public Key Info in DER encoding of |key|. */ function getSpki(key) { if (!privates(key)) throw new Error('Invalid key object.'); var keyImpl = privates(key).impl; if (!keyImpl || !keyImpl.spki) throw new Error('Invalid key object.'); return keyImpl.spki; } exports.$set('Key', Key); exports.$set('KeyType', KeyType); exports.$set('KeyUsage', KeyUsage); exports.$set('getSpki', getSpki); // Copyright 2015 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. var utils = require('utils'); var internalAPI = require('platformKeys.internalAPI'); var keyModule = require('platformKeys.Key'); var getSpki = keyModule.getSpki; var KeyUsage = keyModule.KeyUsage; var normalizeAlgorithm = requireNative('platform_keys_natives').NormalizeAlgorithm; // This error is thrown by the internal and public API's token functions and // must be rethrown by this custom binding. Keep this in sync with the C++ part // of this API. var errorInvalidToken = 'The token is not valid.'; // The following errors are specified in WebCrypto. // TODO(pneubeck): These should be DOMExceptions. function CreateNotSupportedError() { return new Error('The algorithm is not supported'); } function CreateInvalidAccessError() { return new Error('The requested operation is not valid for the provided key'); } function CreateDataError() { return new Error('Data provided to an operation does not meet requirements'); } function CreateSyntaxError() { return new Error('A required parameter was missing or out-of-range'); } function CreateOperationError() { return new Error('The operation failed for an operation-specific reason'); } // Catches an |internalErrorInvalidToken|. If so, forwards it to |reject| and // returns true. function catchInvalidTokenError(reject) { if (chrome.runtime.lastError && chrome.runtime.lastError.message == errorInvalidToken) { reject(chrome.runtime.lastError); return true; } return false; } /** * Implementation of WebCrypto.SubtleCrypto used in platformKeys and * enterprise.platformKeys. * @param {string} tokenId The id of the backing Token. * @constructor */ function SubtleCryptoImpl(tokenId) { this.tokenId = tokenId; } $Object.setPrototypeOf(SubtleCryptoImpl.prototype, null); SubtleCryptoImpl.prototype.sign = function(algorithm, key, dataView) { var subtleCrypto = this; return new Promise(function(resolve, reject) { if (key.type != 'private' || key.usages.indexOf(KeyUsage.sign) == -1) throw CreateInvalidAccessError(); var normalizedAlgorithmParameters = normalizeAlgorithm(algorithm, 'Sign'); if (!normalizedAlgorithmParameters) { // TODO(pneubeck): It's not clear from the WebCrypto spec which error to // throw here. throw CreateSyntaxError(); } // Create an ArrayBuffer that equals the dataView. Note that dataView.buffer // might contain more data than dataView. var data = dataView.buffer.slice(dataView.byteOffset, dataView.byteOffset + dataView.byteLength); internalAPI.sign(subtleCrypto.tokenId, getSpki(key), key.algorithm.hash.name, data, function(signature) { if (catchInvalidTokenError(reject)) return; if (chrome.runtime.lastError) { reject(CreateOperationError()); return; } resolve(signature); }); }); }; SubtleCryptoImpl.prototype.exportKey = function(format, key) { return new Promise(function(resolve, reject) { if (format == 'pkcs8') { // Either key.type is not 'private' or the key is not extractable. In both // cases the error is the same. throw CreateInvalidAccessError(); } else if (format == 'spki') { if (key.type != 'public') throw CreateInvalidAccessError(); resolve(getSpki(key)); } else { // TODO(pneubeck): It should be possible to export to format 'jwk'. throw CreateNotSupportedError(); } }); }; function SubtleCrypto() { privates(SubtleCrypto).constructPrivate(this, arguments); } utils.expose(SubtleCrypto, SubtleCryptoImpl, { functions: [ 'sign', 'exportKey', ], }); // Required for subclassing. exports.$set('SubtleCryptoImpl', SubtleCryptoImpl); exports.$set('SubtleCrypto', SubtleCrypto); // Copyright 2014 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. // Returns the intersection of the arrays |a| and |b|, which do not have to be // sorted. function intersect(a, b) { var result = []; for (var i = 0; i < a.length; i++) { if (b.indexOf(a[i]) >= 0) result.push(a[i]); } return result; }; exports.$set('intersect', intersect); // Copyright (c) 2012 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. // Custom binding for the syncFileSystem API. var binding = require('binding').Binding.create('syncFileSystem'); var eventBindings = require('event_bindings'); var fileSystemNatives = requireNative('file_system_natives'); var syncFileSystemNatives = requireNative('sync_file_system'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; // Functions which take in an [instanceOf=FileEntry]. function bindFileEntryFunction(functionName) { apiFunctions.setUpdateArgumentsPostValidate( functionName, function(entry, callback) { var fileSystemUrl = entry.toURL(); return [fileSystemUrl, callback]; }); } $Array.forEach(['getFileStatus'], bindFileEntryFunction); // Functions which take in a FileEntry array. function bindFileEntryArrayFunction(functionName) { apiFunctions.setUpdateArgumentsPostValidate( functionName, function(entries, callback) { var fileSystemUrlArray = []; for (var i=0; i < entries.length; i++) { $Array.push(fileSystemUrlArray, entries[i].toURL()); } return [fileSystemUrlArray, callback]; }); } $Array.forEach(['getFileStatuses'], bindFileEntryArrayFunction); // Functions which take in an [instanceOf=DOMFileSystem]. function bindFileSystemFunction(functionName) { apiFunctions.setUpdateArgumentsPostValidate( functionName, function(filesystem, callback) { var fileSystemUrl = filesystem.root.toURL(); return [fileSystemUrl, callback]; }); } $Array.forEach(['getUsageAndQuota'], bindFileSystemFunction); // Functions which return an [instanceOf=DOMFileSystem]. apiFunctions.setCustomCallback('requestFileSystem', function(name, request, callback, response) { var result = null; if (response) { result = syncFileSystemNatives.GetSyncFileSystemObject( response.name, response.root); } if (callback) callback(result); }); // Functions which return an array of FileStatusInfo object // which has [instanceOf=FileEntry]. apiFunctions.setCustomCallback('getFileStatuses', function(name, request, callback, response) { var results = []; if (response) { for (var i = 0; i < response.length; i++) { var result = {}; var entry = response[i].entry; result.fileEntry = fileSystemNatives.GetFileEntry( entry.fileSystemType, entry.fileSystemName, entry.rootUrl, entry.filePath, entry.isDirectory); result.status = response[i].status; result.error = response[i].error; $Array.push(results, result); } } if (callback) callback(results); }); }); eventBindings.registerArgumentMassager( 'syncFileSystem.onFileStatusChanged', function(args, dispatch) { // Make FileEntry object using all the base string fields. var fileEntry = fileSystemNatives.GetFileEntry( args[0].fileSystemType, args[0].fileSystemName, args[0].rootUrl, args[0].filePath, args[0].isDirectory); // Combine into a single dictionary. var fileInfo = new Object(); fileInfo.fileEntry = fileEntry; fileInfo.status = args[1]; if (fileInfo.status == "synced") { fileInfo.action = args[2]; fileInfo.direction = args[3]; } dispatch([fileInfo]); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the systemIndicator API. // TODO(dewittj) Refactor custom binding to reduce redundancy between the // extension action APIs. var binding = require('binding').Binding.create('systemIndicator'); var setIcon = require('setIcon').setIcon; var sendRequest = require('sendRequest').sendRequest; binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; apiFunctions.setHandleRequest('setIcon', function(details, callback) { setIcon(details, function(args) { sendRequest(this.name, [args, callback], this.definition.parameters); }.bind(this)); }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the Tab Capture API. var binding = require('binding').Binding.create('tabCapture'); var lastError = require('lastError'); binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; function proxyToGetUserMedia(name, request, callback, response) { if (!callback) return; if (!response) { // When the response is missing, runtime.lastError has already been set. // See chrome/browser/extensions/api/tab_capture/tab_capture_api.cc. callback(null); return; } // Convenience function for processing webkitGetUserMedia() error objects to // provide runtime.lastError messages for the tab capture API. function getErrorMessage(error, fallbackMessage) { if (!error || (typeof error.message != 'string')) return fallbackMessage; return error.message.replace(/(navigator\.)?(webkit)?GetUserMedia/gi, name); } var options = {}; if (response.audioConstraints) options.audio = response.audioConstraints; if (response.videoConstraints) options.video = response.videoConstraints; try { navigator.webkitGetUserMedia( options, function onSuccess(media_stream) { callback(media_stream); }, function onError(error) { lastError.run( name, getErrorMessage(error, "Failed to start MediaStream."), request.stack, function() { callback(null); }); }); } catch (error) { lastError.run(name, getErrorMessage(error, "Invalid argument(s)."), request.stack, function() { callback(null); }); } } apiFunctions.setCustomCallback('capture', proxyToGetUserMedia); apiFunctions.setCustomCallback('captureOffscreenTab', proxyToGetUserMedia); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the tabs API. var binding = require('binding').Binding.create('tabs'); var messaging = require('messaging'); var tabsNatives = requireNative('tabs'); var OpenChannelToTab = tabsNatives.OpenChannelToTab; var sendRequestIsDisabled = requireNative('process').IsSendRequestDisabled(); var forEach = require('utils').forEach; binding.registerCustomHook(function(bindingsAPI, extensionId) { var apiFunctions = bindingsAPI.apiFunctions; var tabs = bindingsAPI.compiledApi; apiFunctions.setHandleRequest('connect', function(tabId, connectInfo) { var name = ''; var frameId = -1; if (connectInfo) { name = connectInfo.name || name; frameId = connectInfo.frameId; if (typeof frameId == 'undefined' || frameId < 0) frameId = -1; } var portId = OpenChannelToTab(tabId, frameId, extensionId, name); return messaging.createPort(portId, name); }); apiFunctions.setHandleRequest('sendRequest', function(tabId, request, responseCallback) { if (sendRequestIsDisabled) throw new Error(sendRequestIsDisabled); var port = tabs.connect(tabId, {name: messaging.kRequestChannel}); messaging.sendMessageImpl(port, request, responseCallback); }); apiFunctions.setHandleRequest('sendMessage', function(tabId, message, options, responseCallback) { var connectInfo = { name: messaging.kMessageChannel }; if (options) { forEach(options, function(k, v) { connectInfo[k] = v; }); } var port = tabs.connect(tabId, connectInfo); messaging.sendMessageImpl(port, message, responseCallback); }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. function watchForTag(tagName, cb) { if (!document.body) return; function findChildTags(queryNode) { $Array.forEach(queryNode.querySelectorAll(tagName), function(node) { cb(node); }); } // Query tags already in the document. findChildTags(document.body); // Observe the tags added later. var documentObserver = new MutationObserver(function(mutations) { $Array.forEach(mutations, function(mutation) { $Array.forEach(mutation.addedNodes, function(addedNode) { if (addedNode.nodeType == Node.ELEMENT_NODE) { if (addedNode.tagName == tagName) cb(addedNode); findChildTags(addedNode); } }); }); }); documentObserver.observe(document, {subtree: true, childList: true}); } // Expose a function to watch the |tagName| introduction via mutation observer. // // We employee mutation observer to watch on any introduction of |tagName| // within document so that we may handle it accordingly (either creating it or // reporting error due to lack of permission). // Think carefully about when to call this. On one hand, mutation observer // functions on document, so we need to make sure document is finished // parsing. To satisfy this, document.readyState has to be "interactive" or // after. On the other hand, we intend to do this as early as possible so that // developer would have no chance to bring in any conflicted property. To meet // this requirement, we choose "readystatechange" event of window and use // capturing way. function addTagWatcher(tagName, cb) { var useCapture = true; window.addEventListener('readystatechange', function listener(event) { if (document.readyState == 'loading') return; watchForTag(tagName, cb); window.removeEventListener(event.type, listener, useCapture); }, useCapture); } exports.$set('addTagWatcher', addTagWatcher); // Copyright 2015 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. var binding = require('binding').Binding.create('terminalPrivate'); var eventBindings = require('event_bindings'); // Custom bindings for chrome.terminalPrivate API. eventBindings.registerArgumentMassager('terminalPrivate.onProcessOutput', function(args, dispatch) { var tabId = args[0]; var terminalId = args[1]; try { // Remove tabId from event args, as it's not expected by listeners. dispatch(args.slice(1)); } finally { chrome.terminalPrivate.ackOutput(tabId, terminalId); } }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the tts API. var binding = require('binding').Binding.create('tts'); var idGenerator = requireNative('id_generator'); var sendRequest = require('sendRequest').sendRequest; var lazyBG = requireNative('lazy_background_page'); binding.registerCustomHook(function(api) { var apiFunctions = api.apiFunctions; var tts = api.compiledApi; var handlers = {}; function ttsEventListener(event) { var eventHandler = handlers[event.srcId]; if (eventHandler) { eventHandler({ type: event.type, charIndex: event.charIndex, errorMessage: event.errorMessage }); if (event.isFinalEvent) { delete handlers[event.srcId]; // Balanced in 'speak' handler. lazyBG.DecrementKeepaliveCount(); } } } // This file will get run if an extension needs the ttsEngine permission, but // it doesn't necessarily have the tts permission. If it doesn't, trying to // add a listener to chrome.tts.onEvent will fail. // See http://crbug.com/122474. try { tts.onEvent.addListener(ttsEventListener); } catch (e) {} apiFunctions.setHandleRequest('speak', function() { var args = arguments; if (args.length > 1 && args[1] && args[1].onEvent) { var id = idGenerator.GetNextId(); args[1].srcId = id; handlers[id] = args[1].onEvent; // Keep the page alive until the event finishes. // Balanced in eventHandler. lazyBG.IncrementKeepaliveCount(); } sendRequest(this.name, args, this.definition.parameters); return id; }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the ttsEngine API. var binding = require('binding').Binding.create('ttsEngine'); var eventBindings = require('event_bindings'); eventBindings.registerArgumentMassager('ttsEngine.onSpeak', function(args, dispatch) { var text = args[0]; var options = args[1]; var requestId = args[2]; var sendTtsEvent = function(event) { chrome.ttsEngine.sendTtsEvent(requestId, event); }; dispatch([text, options, sendTtsEvent]); }); exports.$set('binding', binding.generate()); // Copyright 2015 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. // Custom binding for the webrtcDesktopCapturePrivate API. var binding = require('binding').Binding.create('webrtcDesktopCapturePrivate'); var sendRequest = require('sendRequest').sendRequest; var idGenerator = requireNative('id_generator'); binding.registerCustomHook(function(bindingsAPI) { var apiFunctions = bindingsAPI.apiFunctions; var pendingRequests = {}; function onRequestResult(id, result) { if (id in pendingRequests) { var callback = pendingRequests[id]; delete pendingRequests[id]; callback(result); } } apiFunctions.setHandleRequest('chooseDesktopMedia', function(sources, request, callback) { var id = idGenerator.GetNextId(); pendingRequests[id] = callback; sendRequest(this.name, [id, sources, request, onRequestResult.bind(null, id)], this.definition.parameters); return id; }); apiFunctions.setHandleRequest('cancelChooseDesktopMedia', function(id) { if (id in pendingRequests) { delete pendingRequests[id]; sendRequest(this.name, [id], this.definition.parameters); } }); }); exports.$set('binding', binding.generate()); // Copyright (c) 2012 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. // Custom binding for the webstore API. var webstoreNatives = requireNative('webstore'); var Event = require('event_bindings').Event; function Installer() { this._pendingInstall = null; this.onInstallStageChanged = new Event(null, [{name: 'stage', type: 'string'}], {unmanaged: true}); this.onDownloadProgress = new Event(null, [{name: 'progress', type: 'number'}], {unmanaged: true}); } Installer.prototype.install = function(url, onSuccess, onFailure) { if (this._pendingInstall) throw new Error('A Chrome Web Store installation is already pending.'); if (url !== undefined && typeof(url) !== 'string') { throw new Error( 'The Chrome Web Store item link URL parameter must be a string.'); } if (onSuccess !== undefined && typeof(onSuccess) !== 'function') throw new Error('The success callback parameter must be a function.'); if (onFailure !== undefined && typeof(onFailure) !== 'function') throw new Error('The failure callback parameter must be a function.'); // Since we call Install() with a bool for if we have listeners, listeners // must be set prior to the inline installation starting (this is also // noted in the Event documentation in // chrome/common/extensions/api/webstore.json). var installId = webstoreNatives.Install( this.onInstallStageChanged.hasListeners(), this.onDownloadProgress.hasListeners(), url, onSuccess, onFailure); if (installId !== undefined) { this._pendingInstall = { installId: installId, onSuccess: onSuccess, onFailure: onFailure }; } }; Installer.prototype.onInstallResponse = function(installId, success, error, resultCode) { var pendingInstall = this._pendingInstall; if (!pendingInstall || pendingInstall.installId != installId) { // TODO(kalman): should this be an error? return; } try { if (success && pendingInstall.onSuccess) pendingInstall.onSuccess(); else if (!success && pendingInstall.onFailure) pendingInstall.onFailure(error, resultCode); } catch (e) { console.error('Exception in chrome.webstore.install response handler: ' + e.stack); } finally { this._pendingInstall = null; } }; Installer.prototype.onInstallStageChanged = function(installStage) { this.onInstallStageChanged.dispatch(installStage); }; Installer.prototype.onDownloadProgress = function(progress) { this.onDownloadProgress.dispatch(progress); }; var installer = new Installer(); var chromeWebstore = { install: function (url, onSuccess, onFailure) { installer.install(url, onSuccess, onFailure); }, onInstallStageChanged: installer.onInstallStageChanged, onDownloadProgress: installer.onDownloadProgress }; exports.$set('binding', chromeWebstore); // Called by webstore_bindings.cc. exports.onInstallResponse = Installer.prototype.onInstallResponse.bind(installer); exports.onInstallStageChanged = Installer.prototype.onInstallStageChanged.bind(installer); exports.onDownloadProgress = Installer.prototype.onDownloadProgress.bind(installer); PNG  IHDRTTaR PLTEtRNS@f`IDATx^1 0a%˒SdZD (ozm;Ǝ⮙zYE;CQ!bWàۚVU`]-j^қ&j5ʄ< j7)(rJe)IBK(AJnr.RC2$2GCRNUy 0׃C Z%h;o>8ܪ+VMIENDB`PNG  IHDR BIDATx^kQw2IZk- q'+uԊEq… MJpa)*iQ|mMҦ4LÝIp!ΜK"„fΞ Xxd3L*ΫǽH&T%"2L8aGMgZ%mu«CzS*D U- = %t%pؑHU ;ط;PXy"CD B+ICcnPP=fO BOOh^g wlVXR |$_ /ndnTj*5gLc+pï$r2g|* h sBXװ+ȲUT(_ J1ٺ*AB={?F 0;,'vKIB?Y~-RK2 4#uz(B]Uz,@&Ș)L#gEPޚ_w ZW0=|@\$>&Ж سS&{X?%xp2Ub!qBNX7&b-LAku Z,[bXaKB8+oKfm^GobI?U^cP/93󗠛"d6c99XpI-H<@TRƑ`9G3ya_)eb8~úh'|6s &%|M a\ =^i%ɐ TT V83IENDB`PNG  IHDR qcsCl0`MIDATx^ATqyYeY"bY":EZ"JSt:DZQ5EtS=-tZ c^a;L3}~|N_;_۪FYMWT?xfF6lFs?T‡$~\A;BnUF@A@A@A@A@A@[c1P[q ŷ1x7c%9;)^^46?oz++ƙ 9c3;¹BP~c9jA.^15ߍֻKQkMLQu?] B?ꞥ(K^( {H;5L-gQO# A0Yvg?FF@#O# 8A#qw:O#&oA hA#7 FpGAp44F@#hFF@## 8A#gF%4~h(9 A#ho-oF#Zmone+-..Blv2P~r& ^_ݨsw'6v4l5pm~;—xuͳk~]}p;^0f5G8tAacsCl0`MbKGD pHYs  IDATx 1tLdM˜hhGNjz@ @ @ @ @ @ @ (pIENDB`PNG  IHDRׁcsCl0`MSPLTEwwIStRNS 3$ 6*~0휽?c9u{N2gT0f8 G{N:+/ J f#cS>ؘu^Cc ك+m: 9i'nJp f#1UScI$3% ]$ҿt'yҴ8Ns `IȊ& ;;; 7=`I(n2p$  7A.ph%N} &#T?]}sw5{REQEQEQT(ӑvQIENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATx!Of "P(E4o4Q"DDA!Illwlwr|<+s66Yu&T?[:s27U=Z]vyU,Vugc3Xcu `W7ݶ83uUgmrnKS=R]չ:asXj- `RTGm|flV7v07uVglnK]ݯx 3XSuɓ:S8Utv:) `o5ǩsX8N@[ eu7?yKOL ?CخU=yN6x1dh^ s/ suVS=|"fh>58E 5c 1c1c1&v!:kIENDB`PNG  IHDRcsCl0`MIDATx^ Ka(BA&QFb(F(EQEQaLY+eͮ0slmٹoCg~v`<``````````````ADwQ1"LZ(." #B'n!&q>_{Kn NiG*t7nC8h p TSSNbA!fѫ'OUue!^UBeq^?By(FROų'A̡~gd#x!M;5)FyzAAJg-=wHvۣ?"[U+. a'ЋF!ᒴYDvΣxa?ڤJS!fҌ% FAXl5#lKCxc?&= !ԌgHǙZ,A6|_+4#l!;B5{rJ!Ԍ# !;-Ё]la wG_Zܾag`````````````/ IENDB`PNG  IHDR4EcsCl0`MLIDATx^ad\Y2  !B(%P2RJ)!,PPJ J RJ%PB(%,%nwF&&mFt^o$gvܻ|L̹sֳհ ˰ ˰ jXeXeXe5,2,2,òaaaY ˰ k̒7,+%rwyfX. 3pb=B X"> </( +St`X|ORzr@WyM1X9֠X+g lu $cل,W'йT-_"b8XTU8u=󆾤a B)+da]dGQb )j1av%UKXE IR.QV8VVLk$(I±!JV*u:QO5A\hX?S}d.S {Yk0tc iA{ K"+V]':2iR =Y-+-d-{7\9!Yuluh,ݑ%52`Óuޝ+hǎjx5>%7m(oeXy'^FĹi`~okźM(Vx&c5N)5;w:"۞I ԑi? #H^ wNXn=/ARocip,wj撰w''= V-(rλoJ.+KD2XrfY\s`0mY+|_ op T١b9B'b[?Suhq=ǫdX\k5{$W[X^H*nHGRe'|/M"&sآDGiX[\X3&: Q?r&$ ƲsJܰNεhX[Afİ\vYv[W)Ӽbr ˰ ˰ jeXeXe52,2,òaaaY ˰ ˰<IENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATxϋVU13q$DOq)jiĕF%pN"m72  s܁wӼs{}ys]@DDDDDDDDDDDDDDDDDDDDDDDDDDDCcB rF'@1p;ל 0x=9K{|^SA`3Y@Q]g6koם -`G(@ |謷8 <p[~Do)B O`r$$QݦѲ0P{}πҢ#@;O l0_e{G6'%Ԃ`#`L)@A`5~x-vrB??lz b> 0n `\o +>5ɆOX M l(yDj}*ЏOL+.O+;X@Om*fʮ}  l˜W|y P;}aH ?&UI/CEt"6W ?'ƐZ ? `}p짆9y p(8Թy p>8Ö OǾ~HG S )tp싛ؠ ~((~ pΟ`7`ֺbP`2U !-a=ໄ1G6T/MQ'ЉV&wXD~N}g\3|84 mRLA *Dd )^CyHT $}H}7& jjo#Gf(A xXṭwA ˚0 $~?+c:&Av>}iTNm)`r F$m_5 csFy{7C jw\ !p~ 0 \>r)?<.;|V9#`Y zIENDB`PNG  IHDR4EcsCl0`MIDATx^]d$Y4M3&4!W C\ ˲,{r5 !,Ye^-0 !Uaz2IKst.usS{ynI>5FK KX%,a KXR%,a)a KX%Y(!ea{E-,_4'^ au+[ ²=tiWX[ tT5V산4+M%@Xi7{iV82TX <Fi U8Vx9lX9q:J- Ã5K bs[[0XsD*>`csRw_1X_T`9%mg+"`efPCLeyDz Lkѥj'tgRL9P.x*̚**',u)YZ|=)Um?V6۔|"Y!X9~g׮[êIM sSp:)°fhS\ܚa=mn2m 1kXQ|azk"HA(;Pgn VflCǣeG2 28gn,-8M{#΍+8}QK.BKU0o u6.N3]>Oʨcyqe#@K5*N+d5p7;H3:Xf;}KTk2X-BKzL wMU"HCCbq\k ll1]^efph/b*a_] mo+b2դ\`^yw}߃:c@7v)3:T2O'Y,$kŦV4郰r3\JV9V\9ܠNcalÝ]r ĝ +`60 a7ɥw+ںNYX-OUr%,%a KX%,a K@XD ,a KXR?XIENDB`PNG  IHDR4EcsCl0`MIDATx^g\]0 a(%U!dmVR YuUJ *PBȪRJB(%BHMɏI&ݪks94?x1qNS @XJX%,%,a KX%,a K KX%,a== l1$gjIa6խ;auV ݶlGSuVn < Į ۆJX k_ Rb.;@XLAiP +)5aoVjºMR]ֺXWPšT.10TXJ(6TXe*̄5M]y6(MV1hEnFiU&Z sk&vkBJkZΏahX19 n0G 6"nuJû3e+ 6f2Xn;P'ޝ,lb7betX'{Ƣȗw FXqI]{ af:ݱk4aM$AbՉ}sa]XdX15ұfJԨzwhl [a,VȻʼ7 @XEQXD{?]S2nfb&C>c9Y_$ƹݢs1nb7מjX`p ;5g]S,7ܗ{kTRKX$V[~wE,׊с\ˆKX<Ŵ/,S׆KXj r}n'Yzy-ӯ"Uhp <Մh3aeTIq- +^Ko+~z!a{{z%,a K@XD ,a KXR"%,a)KXOeceIENDB`PNG  IHDR4EcsCl0`MIDATx^ggC(e0eQ(ir(#PePJ RB)F*e4B.;푓,99^nv{r7y.)??xy~zS ,a)a KX%,a KXJX%,%,a KX]4uru.݃] +ݡ|͑&;V nD\X8GyX߁ +PwE0b*:b*kLX1<F xŚFEXթ`'ՈV ^x:JcD[uoXWjX: `դ#}U |5&5`T8 3|jTF͘ A}@뒝gPs0HS8D D3gw4p-X69ZR w`]j6%cե9XWLT,KSy²SuN NB|UNUZ`٩~uezGU~9*)SU6Xv̰V(fl<_eՁ86!fU}B`㨭̰*z~ us=>G Bj,?KcFޗB#"*{C~&maFv #O$qD ,a KXR"%,a)KX%,a KX29IENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATxkA;hxI\@/%"'=zqM/ =( FA9 H_A !*>ݦ_aƞꞆ7KNIo8Sw$}!J =}\lLaj /T Kr]J2)~dd,7B%5!@%=|Vп靊75w :d13eJPgLHHF2@%~TD2I&A({R& _)g 1ktF͒ɧ~tI Ez$$_%Xˤ @^3WէUHn:9heKК&K~({0%h%H){~u$سJ1{&VW) A=ϐQWHS %`%Kxݰ=w(/L y,Yk^w3ٗl`9.ir$eɝEi#@`kVZ$p-=mF8%hQ K?' N )} Sgso┠iA8%< N y:ݞ"@S\>%$S+X6u!@)r{mP|^R#"R1]x<.C"$H%VBJ o {4 B / 57t @(A[B @ -&[u`S-I:pO7G )N&Y!rXxJ :H0$ȸ  X uKPMCel/OQ{a{ MJFSSS%%Cm uH8n٬x(☬Hw$3% p < `>lL Axk_I$8q,3mH$8go<-42Ij e&ÏDPW@["Y_0OPz)Ï@jVEd.XNoIENDB`PNG  IHDR4EcsCl0`MIDATx^oU閂* C$M$(! Ej h-V w/1&b+mRvNnf9lgL53'ܝʹ'w<$O ˰,2,2,2,˰ ˰ ˰ 2,2,2,ò ˰ ˰ ˰,2,j1v +45M<)Уnba5.i9Ê$MtbC6z@团}Y:)*!X@r,֎ c1n 9S(S>ԋu>XP`__dXL:XKUc.JD h:KTz*+Z~Aer\oST)]X{kD̅pgRU t_.]a -Ֆ SڅLQ#N]TkINu ku ,^ SU[)񄮁6 P%%5[1Ub XݺgT[p\whNh*nUT2UaATVR>jݹxE$UCh"~JQ}T5X)ciӿkAZkU\)!Ol5Sy9Y҂HZs S)e*ʩG!,9wx6Uư.DP}g.0]OFQ]źdo_݌` wk_9|\%;+XWt?3'X_5q W^ua>"}2'U$>~a?@ţ8i:@oCtqPO{;{  xOE`gA~U3ǸǷ(qWHoepelD0ހƃrWa@ٌ )p^Mt|= i'0w~|ϡw6$"jڍW(H,م㽳a +:/{gSUv[.zQQDul|cZ:8j43~tT CAq ӱMjLiC!ZSTh$Q0m2t*BLQRtN?E&uqs6qJN'cmSJV /9FĴ簾j>}^r=YCCCٖ-[o߾\fACKyl3vΜ9iAAA\m5<|( yqm޼wKyyyȨ7`Y) ^^VnўÇg 2-vҥҙ3gĉm |;F张<3fܷoV",Yhf`c& #~+VS)5kAo"/tnޏpQF/.]@eEy/@˃;~NT0O9>\[[Hdbޏ 6~<#pCG:$J{?^zćmV6Lߣ:2l|:Gs[.M<<|Z ׮]<OD߼ x?Vz]cVZOCh _^o)u0 2O>bȮkbSO& ,(cè /A%k?{ahZr$'T"+@iҤ>U`<v64xdx֬Y:tT&V%?"7o.twBӐF/Νx22̬%_ v9ظyРAsOO'=^Z^y`y䳯?G{BԚ.Ջ??eW"%@alx<Hn7t>ǔ<˞& gLI (x?˰ @kkk7D@([,K!V?r7 W30chaDRԆijZ7*taݾJ0ΟbJ=5`x@3 ~MBHߐ>Q0Πl\zy.H< / o '9e. (Q Vk=O|r~u:b @+BKà'b>LxHr@ XǏՁ4ch`j.@'8QߴbcOǸVJy?DGGqGql=Sڰ  |MXt3O>= U_A4QqA~%v^iii#φrNcѿzfT{6C }v,R)8$'z{)X7mh{K-7775%%3T[)c,Dg"J4k8HT@Lw>vtI;)VZWG%]%oڰ/[Naݔ$9mt~ܹ &R,)US=?٘%-ӱ@\RRR4A0QE$k {bSpDT;:GnBGDi/PTJjm#""` ٓ~5ӧbq݀uÂ.5]r5wm*8́ <#vMOl43tg={jȰt{q~ ɱ[{CY]ˀ-Gv8#Z1|ذaoMڈrhdցi.0)S Kz`DB#WTT,^Nc*x#&s '*h |,iPQ K;1 A!nCNW?T@;boFyֲeˎUSw] .q.<L81 Ԕ#G&3gΔ @x w) yM"eȎ; 233, :_V() 6R$,,l=… Gpu!;kV_{?/8N0wvv1Ná{^@u\9reBF@P`V;re?deeBqcb8R!T F<ːKxGkc222N蒁 B Fa湳N8ʏA,㘦e?/* /5si k2m{k` 47qwwsaIu76o-Ci-`004>S]C Ql\R@ eG/14J/Cq,|)|GHj  QD&qB@8F/@ ``t |pxp >VS0 >qjTӔc cc8@26_@K݀@/#dՎR=>jBT_Gk zt)o$OdP!Ĉ{8p(L(0> |)!W#k'%z| 2$7/Zw3kLpamz e K0@F1@%hRz/@ȢL` @_$ֱ_C:n?)gIENDB`PNG  IHDR00WcsCl0`MbKGD pHYs  IDAThMN@P/`WڄB.z4K W~$J4v:4fl@A GZtND;JmP0_k2uVb;C^;N ͸138K  `f dFB T W+P4/ſ 4iU0W?@#%>:%gGUF+Pc^R :R r}:֦s*&r>LKWIENDB`PNG  IHDRxx9d6csCl0`MlIDATx^A@aSӛwFBa⢲ijGZp$]o+'Á ix,fxf>j h;S9E{T뻴 *(@;11 k.oz˰Dh9rFZ`h4Úv{>0MwpCsd=M 8 f#L;&'2 rw1UeWs' uFEZ5&:Ʉ2 -#N HQǪTG55|D0U > *piI}9w{;9瞏^{#$ޅ9v؀kF80k׮;w={SE}ܹs_ƞ , Y0K]|y… ;0~/P/Ǐ߼ygW'd` QXT9 ϟ?ބ r5Mp Z*** %ob}cK2ԩSY0P>4zi yvyW$`襥Ys}SL٦rȕ_BDAG:`:וxIII(m綵pj@6R;wuKK(VL3eO’7Kd .Y}S0&?9sf2<2Xe4 gMD1ŌIˊ[ZZGwΝf LZL66 X=Ռ޽; Ei&׷M\EDRM;j&j˚,z? 夙^{D1ύk{=\I.9\u JpA{칀祙E L((@ 2&+&*V$ߎ1S>z߼y`!kjjQ]8 4`T|%Ifɳ7<#ɥLhB iBt4Uz!Ij!R0;w(vؾ.N`lX]Qt~UעL|J`%6Y>|p NokѨp=J׮]b̘1; L5iRTTTׯ_q2Ѳ6v{4YC8Qze[F' ^TV&R%v֭yLî uuuqx}K ;v| p` Xٳ}߾}ىt@l6X]ms]c7?E?LIڟe` ;'IHH76Q h0G]NwuXOhܞ00 EX"m 0V /3J:۴-񽤤dr||ܴ+&ـ,D*-7eY1}Bk1/ըpl*((I4_ACw6셶YyиP֭[,+랄94ZjK,>]2Yɠ,"`o{w0 a N@($yv!y0ѫV{ˣ_7۫H#7B-w{оz>F^A d2B}oW+;8vNHv99N9?/9V)v leG=| ս {>o :Z}gxO).;kRibV'B_zxFq;PqPvMq灍l^@;oA^nqj~#h @rȮo'S,ĭJ܁;;>BE`0 X7 ؀;\ `֩ < l-\㻧PlXfX#w#wh6>j{"pG6>XOA7vxڰ |} QJB J`c 40tD ~NL?̷X IENDB`PNG  IHDR00WcsCl0`MbKGD pHYs  IDAThMN@P/`WڄB.z4K W~$J4v:4fl@A GZtND;JmP0_k2uVb;C^;N ͸138K  `f dFB T W+P4/ſ 4iU0W?@#%>:%gGUF+Pc^R :R r}:֦s*&r>LKWIENDB`PNG  IHDRxxmYcsCl0`M IDATx^N1Q<þ +\RT9r dǩuik=} 7=p;[>o_O=(L33Ԣ.By5lp͡*h`bR=\z=t 61GAvUlȼQ6 .cwm pc)VT"blp΍'{D; .b] [씱)Jpw&蔉%UM'| .6&9׸‚ځt lsLpSvq/6y$з;[hlspYݽVQ}q)ENOoV(D[%Vk+r) fH'F|Dc5H"F)i{ڞz2`|Zsf:Ѱ+3]_릾1gմmTghl@F\d KBc  khjoY ˹ȖfumUoW0؄Fh``˳=XfN͓Kt44Z۟Lu9MFZ+&г ֖KjU7UV p^x" `aeQC@>س/fSl V)u }S0"%G'Qz, k@`}ey=N ΝNO.Z\xx _)_pzi”$p3|zᲔ"plNՕש9)_\[(~Z4KrwX.liY,-Iv:Vk8x-\*Vbr1#G]zSKm }mSsoTxcNjsTqr  Q{KՏGَK`-N enCxLÞNʌ`-7~h|kB.HϹ+?OX[|*:v=Rl1M]U0r/;t8גT-NA{~MnjZd<9MIfoJnQyȗmhye.ZnmѸ=vF> &XM3.жnwTCkkR?dy=c*zN='qˀ|?[x!ٵbu^4&]'~S,gXeDwW)cm>jU>b?4c\\Z .nՂ?`U^5m4rΕGo>jvjFpt{ץMfb? ztd ]xjepz0c=+,H/l56yTFP_RK[_ dl^uC0ͿZg Se0,5zX#Z$^˧p4ؠ{zx9khMpI*α0]f{q v+>|t^ŃƩm?m׶ZH^&3*\y#kmm&жJQBU]wR.JJH^BIzN8lkD`@5؆ 2%AmS\WuJ(%k hSetC"%T ȪF#) sHLWx (rk?^,dB=auy*_}J ZkU3\a˳&GP`;҇j7(<,g37  s66Q-J"E$KjmBP3㸉ĉ(#;:*=ʓ>3Oq-%kmMCGM)Ny 6w2b-MdumB`XCp=fY*#*9mֶ N^?=?UʟnjlO4Ï*N&@mH-K+jː8ph|F؀ G3:5{A/ڞr}KzFH(VLm;yz&dkR:Ӷ֖A7߆@3Y$\ۦ#0HTt8^ zBdH$xe =H v=b)f`PK Hn Hƻ1Fn+=o_đ/=$O" '@~mK`WwSt꿁Z3wxܱ-oӥ4Z;8)$LR "JEms&N7XQۓR4XN+ hC2޹Zek=I39+Luϳm>i9L@ f%}d䐴1e NR~-,a*o76,/-c37&'m/A%J8 j0銪 k2ab'm=D<\kms貢!9ːJ<TmH[qt] &k V6#mɣ0kLmq1R)D)ҥHgʀi,J[W kwB%"@Agi,-f1Pڶ !"EYo}B'z'dPba]a 'ZvEƗ [0DPD]+cXF;LZEn9L$648gtC9 3]8#YmkJ#V[73|FeHeIqv.MVvL0M]5s)4$5;t^yD7j['EQ9A`X'%ЖC4H3L$gE"(3TA[\9VC`ك$qz`An"NzR ݱ-Bsл@N [yQbĭ>b"h($.t{s:D{CVQN$,ۊhIfa9urtw]K!߿% tdI7c֫R'+gI1b6rXF_')/e%ޝPdzÄy!=EfV2`#s<z3)>/s C<Ƴb7ƱGv4WYbI|Q\v@@u9;c6lذa6lذ6aÆ 6aÆ 6aÆ 6aÆ 2Tx|IENDB`PNG  IHDR>acsCl0`MbKGD pHYs  TIDATxAjacH[Q  ݔхx;=CWP7A B*TL3˗w~?HI,dCIvt`d ?Hr _4Ij] Ē$ɠ&[3 Ʌ<,2;I |sVCWyjEvi X=F @ @ @6I&ydI&yf :M+yõ+\q A ?=R|G}+-b(#ن x; @ x#ApnA`EtkQ `n^p-o >Wwܞl1lg e$^M+#####@ @ lQ?-r6EG~N-65H2W˦ucK]zI$$X™$45JrҒ䰩]$y[>7s0Jr,[dIENDB`PNG  IHDR\l+csCl0`MPLTEyyyyyDxtRNSbiofU}z^]pm{~3R)ka86n`Y1Z> g-x|W*;uDy $'M$P$ zˉ3FafZi(Rn柫wl (WASLAviyTNuO<"0Td`&/uy4ޡNl<4T7TʶQf"9TVzT:GDNu+Ptb*˭nf\Q X5Ui:]A.%pKӱP.=<67AO)ͣ9VemGr\:FЩCq+zTo.[[D]7^-t`8q7tT Ni->ODNa QaIc1ͭٓ` *{ A=\&9p 81Vfn^O*.5Q] X h*& ~`UჁ@8+Sͣ,/m85_ܦ ӱLL".sOp 9v&Ob!m3ݳ\.mUʻ PǪ^unprY׾.1㓪\SX}E3L7aEyѥuLO9dܧ-ZDp_tʺygD!608VCja1g݊(F|9' [q@t[.oBKyo7Erwww my[ 5gAf=" AR>ݎ:769e \Qn7q':٢qtyM~ KOʁ] ]d.vH&O.:b?mܭ 01|'FۗسkobN.Z1ȶRU2lNƉLe:69082~?/}+yxD3؝$ƢtPBL8G^s䊕rJ?"oD%DK7L;4Bglnp(KpQQ]쭣j!:GáP(QCGNB#d{\`E>ZBwC?'ա)+{1sz]@ Tv: UAPȿn̤sAj}f>^{ acsCl0`MbKGD pHYs  Ʒ.TUV } A+A+(bT͹dNN}0˞QIgf̊\nW#|"`c sQAxV45`)*=GrB"o"(=X)9q+9_aD@xl{G.Bh@ 8G #@p/ӆ@< 8G.p 8 =,|?o97TC֘J=j5.ЈBp0@@h h,a4}? `:TBP4%(`RO r]lp짋%v>&h@`2Z@} S _OahʬQ-x 9QB Z5`\ Rrɷod15M#\ pY8p=Z>,`6p&G #@p@ 8G #@p9 ؍&ज़L_M`qGw\/mSG"i@wE "z)(kӁub"p#p#p#8JY~"yE4NIENDB`PNG  IHDRׁcsCl0`MPLTEwwwwFFFEEEDDDIIILLLJJJMMMVVVcccQQQGGGXXXnnn髫ppp՝xxxlll___OOOgggdddRRRZZZfffuuuYYYKKKPPPTTTwww```쒒E G%tRNSix?-b LfHH1CWJ0m(IMj) (DŽ(`ҕiC P2WeH%T!=J@=aBRE `> z°?fPp0G9:|%?}\2S$aJu}UU 7tEQt;:XU1*%T$<|%T'DݺI%(?v ՅLH<]g^d'px7I[UjȼIENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATxܱ  +PPNweD$囶G @ M/`_ ~/`@ @ @Q @ @0 ʩ4y@7IENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATxڱ E̙ ,w6yUtXM~@ k @  ! @ { @ Kʩ4y{IENDB`PNG  IHDR``HcsCl0`MKIDATx=HQq(^@RZ ^H()B0Z- ]l(kKKfAQ%zmSsy~sy6`| 0 0 0b 0 0 1ߓ4A:-b0-zIc񀓬N)si49&@3ʮ VGE^Qa鼦==<+E~fȦJ_Jx WI64Fieln (Q ԟg\0Fwݓi4U*=e;o=ECzf&ь"M|f|Bs5~E.8APISЌƶqda4c\dG69y&^CjsWN sfM,[˴ehI~Vv)O,2D+ )]/ (sZi|#T)/;'&fs"N\e Ǥ< rJN/#R89#v"@"c``UǩIENDB`PNG  IHDR>acsCl0`MbKGD pHYs  IDATx[MQLJaf눔Kry3&OI!ID.o(4 e4"n 5%"&rd܆|+I^{~N^^{}DK$"A9F1+y ${%LjcW'g3 $@-e'Hڙ >Pde-5>De-M>De-m>e!          b#"y(i\l,J ~uldS,:dd $STKJIz @|VXշb DD)@*%\LIKz"@+fHIJ2[g$%{$Ґ୑ n6_2ݮ~)8-$%Y47NrI$;Cht x@\ !A>Gn$85W A5JZɔtN2lJ z +z10DCJ >$-}! +?1hRiz\@:-@*͒Y>E[rߊ-)R~VA/ W+Q,E0y$Uz|8Ph$fQFr=OǼU\R[*/pE2cZϣ( B )uk"E흊Z  >É7 Z PSQQg"D[9s%Oqf`V \Gu@H˕;LUԙir{7:ۢXhvԨB4a'urYDz8-Bݎ 3 W0Qc%VՊ=zGv{ZW5J X +T). 5n8jTf\5&opu<n\09uQcc11'_(GjG3/{$@{Y=`*/9Ɨ:HZ_V4u& lv.x׀=u*v}1k- t ^y6Gt=> 1hkW2K':IENDB`PNG  IHDR``w8csCl0`M@IDATxMHTQq5Q+(2B"EH(BP7M2E6 [`)D(0 ",dӳ{}s"2f@@D@@D@@D@@D@@vM0) PTx@@ 7 o @%h@#H#Aj@lK)؆G ΃}@ Ql9 }p@.0;؍0<˝Xbk B1s))@<4p6؃$*[Z3LQ<`W3H)@1֢ "pMQK Xr;a.uR~#H Kb.\eI f`;k0w(@{c7 ?-j) 1gE}HAtF>.C20 muk,mg4ֈp&| Xx67=gثhDD1TznpO q?"m; ; yn*pw3 [|F\3L.c~gP8,\!|#xX2SܪI4*26(B8 m34{1cg3 'ac1ގu@9<IT{KcM<JŘoH= `< OvcvP<<:<Z!y)@D@@D@@D@@D@@p-IENDB`PNG  IHDR>acsCl0`MbKGD pHYs  "IDATx[UUqJ%̐h%=DхJ({ +hXTv { K $#rtF{YAe>~>kk}ƌ9x[NZ_>wt88u+* A{YU ;`u/*jXYQv9P + հ2TN3#m PPPP # p /)]v8(v9gE8x"(@"*"\|70C`1(p# tZ' Puѱ5^R`T7x8vՂT8w WJAn/T,p5pP#p+pZ_*@M˾>L`4W_<lm+0*?|&8X< Й *@k\2DRJ+@kpV2WehmOxќsKH |/t462'.a@G>#ii8 q.R4`0sƴU{$= LӀ43?g:@nYx_ۀA:,ĸ"hnbgbL $tz H, Y N,:egffl -x>S ]8%ci~1+&v`87?Lk27WHVafb-(S/SwX]l^Fm͝?;S˲ XSsdOZ\`M([QCΔ#"""""""""""""""""""""""""""rt[!IENDB`PNG  IHDR``F csCl0`M`PLTE+++ 222$$$ 444===%%% 000'''KKK)))...((("""888///NNN!!!VtRNSQ8IDATxj0a[R|4M]bєwe?c8s|)xhh{j5 ty 8tIyIaЉ`8ʣ L"\ltjj'm9ʴ$7<=lCoh7^dӎ,@ z5 Pt;L*<,ggRl(wZ]ih%A^YbnPQsW/ -즀Z(2d /^v'WPs=okwwfIENDB`PNG  IHDRRlcsCl0`MsRGBIDATxkWqN |`\((_c("7nT\(.ܨTK҄&&6&mLh[tι,7wΙ33AS-@ @ @ @ @ @ @ @={vcf͚5/_/QgPQo߾}|̙+V^wc_ bgg甃}Yj@r~]OPs~=s:T1Avqľ@ uqľ@ə\)R\Kt||( _ |Zr 6۲eΝ;g/_ݻ?9+a<{  mݺuŋ ={q֭Yy|pƍhp is7ob6 f.\xU"T\O{^xý{\ĉvKlw @311$7B#Xnݻ&TVLu>xرcZBB*ollϿZN>.+p1~WGV$qUK s, @<Bӏ92{`hhG(Rtw N:K߈+U@XQDK /۱c[9*"@Wjܹ`\riuT#|1;rU ?xs΍m۶mv!lܸq>'8eY6m`I@k4V rNbPj] \ իWoeL30Um#W R?tD+C9KSĩP՞k{puN@'s@-q,u,mEt@"șɉ{Sat>%S Fvʺ^@ggT]ߊqѶβv>iO+@jZ/}>n/|8|~)}=1mK-@ @ @ @ @ @ @ `' @ OIENDB`PNG  IHDRRlcsCl0`MsRGBxIDATxoMY;5TA{DR/^ăDܫLv:S(Z8kszznq{]?}Ъd@ @ @ @ @ @ @@ @ ̋/z?>~ş͛~LQUYw?vcccI&c٬4e.1h5eOuC4!ƖuNd0LcK:G)R9cG?  E @@o>A!ZgΜZz4вLOO߻}={5[(gϞcǎq͛-͛7{>uł ^|5kLmذ֭[:ps^ݸqޞXߚxpȑ @/[Ӯ]tuuaOn]bG! Yk׮:}P__ߓrȣ;w!e˖W^훚*?U=L @˗+TׯXh^UVM_rΝ;,Y3lM*0G,"3?u"ˢzM.@Lч18 Vݶm[sR`7+Q 19irwޱ:AX5 `[!-q.>|8kr1]g=Yo-l'j ~)ʉ E:WG%nܪn9١ss&A$JiN gS t @Q,ˉ5Rq4/_|r׮];qp[[T9%r$%SND۩T@^h%8Ρ=8&Y>@B*RU}C@-\$& 4u8r%u4{5a{"١V~X*3ݞ6ͩD+uJNuMHlUŲ>,{t @IHerc @cf9rq*5[C.]ꏬJ '0.i+W,n #7b =RJƹC' ƛ! P^.afTC>//^L.=XGZS4^5s %Mm합Y-J& "KOl/u=J]k$/M3uTi6Q1F z$Dv("VR#W* svIuRLm?>c(DZ--@J+6Ք>*u}|DErQ"@ ReX=k-@,{◿Y' JE=1q*ĘD'f\k ` @ @ @ @ @ @ @ A $qeIENDB`PNG  IHDRׁcsCl0`MSPLTEwwloIStRNS 3$ 6*~0휽?c9u{NL.O5~ J7҅'AP؂-7Dl m'ͽqM.!,p fؽ 8p|mcI$3%v ]$ҿt'yҴ8Ns `IȊ& {{{ 7=`I(n2p$T  7A.ph%N} &#T?]}sw5{REQEQEQ TVfIENDB`PNG  IHDRRlcsCl0`M IDATx[LUWDjm Mhľ؉IMZjM&`L/0 bF5F4ɀ %BQ$V8ĈpQ(=(Q׬5|ss/k74V8o-a>` r$qqp8'99 . #^뢿@I7пD_CPIfh-4F?j8?qr9U>.}=9'S'qå^K"6hN ^c f4{=`kj4aӭaM5>SQ.?5N;b:v@G{dK @5-&@ZA{|מMc4R/ CsJ<=؋)&-OG՝ LDBkHO}e$AARK9V>1ϩ h[ųEJCZ⼎Ph 6ֹ9M4Q`7]0hh.} O M oOO~oi^+)+Ljruh h&f\&s;<`vmKh0[M[, lD\1AVă vsʇb+؃ M$$8w 6 t &IqKx9 Ż!@)$iCсd$:%ؔs;lLwBLHJH>Eg;Pd 9; @~^9(.P|Ea"Z&QTV O﫴,g&u [BfggJMc`$]"&''9svJ-:(Q {&K.e/_F"#!@;l۶=xRh , --?~uuu!d3) Q^ drSpVPP?~ɉHHFdѢEܹs@NfG"/(XlܸݹspӇE/`ܹuttr G(V,_]z9PBY'Inn.knnFMPoAbY,` C*(}]ݺu uE`WTTZ[[Qgg %.pHLVYYZ;Gc0Ơ8 `yfv=` #GN^f`' &+Wdׯ_Gcg p$v=z>XO`FLӧف`2"&b8= r `~v~ֆNxV@%K`8ߢaSJDLn݊QO D)HC]0#Pp~TL& .dgϞgC'![lذY"A!)9a &GPBxW 燤Xp !Q}0O< W! ߸-hA`߾}ɓ':E]_/^[;:C!=ίt!ɦM<  @nΟ?[ <Cˢ,!A߆jn޼2(>\1Vy F`+l߾555iW]?-[Ʈ\pb@D׳u@ F"=.?s 䃌Db(ޣ5|>PzMt@0Ms' ` Ve+rsmi tϗB >jUtl042[jFs ^ࣇ^\z8]kI׆CGuI>{N@ +JLR.r]{;}<^r}@W\4rЇM&`vޯsr޿[V-~IENDB`PNG  IHDR>acsCl0`MIDATx1jAa#"$^kx9`-%2VkXe>"jygC0figywC``````` w@޽-ck~+/~/7px2MU~u;o<+ƯyZӅc͛@7r~/kwpQ΋*7 @ z ? @A@HoTYM{^ X@j<?(Ǐh@Z!?0@-`m`- `)#wE -MO_q!_@{Rw0 0 0 0 0 0 0 K+!RާGIENDB`PNG  IHDR>acsCl0`MsRGBbKGD pHYs B(x;IDATx횿oe?oA =[AQ;KD@j"!wx2eH4EH,'Z1%BHgeDl%CJIr>h.{;%85_ FN}ApsG[fs*]pgeKo6z!ӯc2 &xf8w1Ǹl6qMչyBD@˗zM/6Wz60 W$>Ƙ7&8=@M6+Z{7niAJT(~$@Iߑt q|I,=|߿+i,)7ƔJ>8./Up"0W|&@򭵟Y>8.O$>|p\>8.O˗xO, Ƙ'Nt"0%+ʘϻwe> Pް֞acsCl0`MIDATxOKQ-I#%j.-ڴkS.[$aЪj BWF~A; B&ma."͟3gy}939s+z@y ~֦/gR_鱯8UeQWfTƕQ1qʖ2L(Y0L@~XS4S&=;l+#L\Q|/$NRneI_/TZ5?`(WYE;v+qg T«K%z-X Ku                @p}[rJ+ rR2E/f 6d RKeMƲV>( PKK͵؝M P_s91団^w5{?vĦ잾Y%׭1~GʗUy/K@r6R8Y_3{(9PrZ Tc} >sӾ<׎ R * _@o갾2pa> P'`<-H}!Q^4a{7$OU ZK_@@@@@@@@@@@@@@@(EH;v;%-Ew[^eٰ7حĝ>+/wZIENDB`PNG  IHDR>acsCl0`MsRGBbKGD pHYs B(xwIDATxOheߣu1 z,^ b)g6!Bxo҃ C2B`A1D`ъmĒAL6;|?γλJhjt96IeZלs%jf_KZHt1I͎ û I/Kg\jC{Nqax%=弤86s M~hfK ~O_ҙ(o EӒ>랖Jx)N 4}8I+,R-+Af.3@Zh$&ז1/4 z}%̎KoA譃y=#[lQ\'#I4RF$[y<냒5$I+X}SQ6w^]ċ;eق Rߎqlԝsu433MeG)}kSZLO:77[@ewùy>Fn5\.>$F<55{}EJrszۓp:EQo/}@@g/sE1eE<6}XCsfKyZvcz>v&&&b^<ԭomm={}ƻ8{}Ex) ç:}JrBH>T*tQM:f R_3k׾۰9ݥRi9' XߎlwnЋ^~= <p>~#hs߷܇[ NK^zZomjyyР=IO'lIISo\JHd5˲g%No{,ˎ&Ire' \̎*ĺ/ZՖvUl a6yIwO9/i$[Z틁^twEIiPߪjt\cg[Zs]0$-i$&m,:~=IENDB`PNG  IHDR>acsCl0`MIDATxJTaa ]+ hWhUx]A+7*x*$A[ E`8oCˌN~?u @ @ndwkd&!l=[˖wsl+ή +|(^>{w<}~KܙOMvFϲoxix4l-9"g+ES?~pEYg0qEq޺"Tw7K+gYwW%{Y4{2npzM@G @ @ @ @ o|l<7:~g} @ѴV M]k}~[-c/ ?xo2g@ #g4׵gg/ST&qi"αXC7a6 `ygc}Ͷ%Zl%h{^gvWwuQ>A"sk&Q}Ν8d~?׳l9[pTmeUd @ @ @g`'ip *IENDB`PNG  IHDR>acsCl0`MsRGBbKGD pHYs B(xIDATxKa;3IQ %B&bx,u$Td$%CtX:!( QYP3oN]vtGw_}>ww7/(ccc=7%]+餤 J}k5f;{cA0P.KJ:h$ɹ(~t0ƌrt"[-of짂tQ:Rf:EY2Ë@ @ @ @pNOOm[ߟ;@ !1F@ Gsgۭg9@ v3\g6~0GGo,3tΧrsw)] sI9ql(lAVcS&fggg=Io3^'I46fbے0ێ$ɝ(3 @*JX,HZ`YXEFwZ-)3)r\B@Č_6Rz#Q8cnY{}D|zc}5 >t,5& QaLiөoHHQAT]#_T! )j2Ȱim5JW?JuO v۶BB(ETsX4Ě%D_@qoFIENDB`PNG  IHDRr ߔcsCl0`MIDATx^Ag\Q{7!RB(a(eha4UV颺(2dJB em>5^s2ͳsN@8@ b<#( )A/0u N 7Q }5_D F|N1%bgT0TP"9piJ& XPXHgHKEY`YPհX8kG22pғmiZzAbF+<0:{Aڱ"E=ʫ8A `'cFs;segiÁ-\5=٠bCL  e[` Pq {+ +c.hJIcGu K۾<~ :{}vg_viT? M|2N}i c9:wqΎnrqg;&wp @`Wbs"<^o2Ϋ^kk."Qm__^3d H8QE씝`*1w60nQ9\r$Bљ}DjZ}PDKJF^ޥ܈Bj -5ry(Ɲ]3}SeDsu{SG/]IENDB`PNG  IHDR7XIDATxcAn*x=XtFxSQ"K.-'%PirLwH#crdit3iIENDB`PNG  IHDRJ~scsCl0`M^IDATx^ӽKBQEXQD&H[CK4ED2Dc9CP$DmHPaAz@S(3c&K;N ЇeLxEPd7R䨑$A )NƸ&'Kq9,!3L3#!2H\ VG+Pe@dxYB l I(]v5~%}&Bo`yiN Z h4 eXS,fy#J[%ud; ąIn&W< x@b *xS|BQ YV$dxǍ6 Ff?)ڀhds(>IENDB`PNG  IHDRJ~scsCl0`M_IDATx^ӻKQ7LZŭ!Ab-jPCcSej(- J.'8{ پ%BG782M1 AUxHJCNq25@/a$AAP l/ifp`B}@A80=6 4D8A*bQ: jEILErX9`1C)>J3OXLVC29n@I4xK~z&kW< x@b |s(3,C̲H)ۏ3߮ q)A̩;vIQ`?iOi#IENDB`PNG  IHDR̰,EIDATx^ 0 +/IsG @4D @4D @4D D @4 @4D @4D @4D D @4D@4D @4D @4D D @4D@4D @4 @4D D @4D@4D @4 @4D AZ4G6*6 @TZ4ޓ dEC*=]BZ4fOeTl25%tz Ȇ{ {w"WKa,!$)Daiܯ='G=*Ch T1+ΆTTĻo; J|49nɺ ~aNE)dՇw!4l`ŽB|x@ ưGV>#Q7NB [ޅ;:i(i8!@v5؏аѮQ_ Pа``75=[&|+ `` :=H 88 M<{@' l452 `sΡ0/g "#4ITylujlE0:t p6CChp2 r daChl"1 )^2͔ /%4F ="u/g蓑U qgPg "6h 38Q`X3҆RVYVDpu5 h<' y㝥 18Jgc?BAQ0GYC9 NST8KBHHWVmWzs{ڧO缺^5F!gP2,YGTHJ1/\8qI EF@>vmP 5,b66!4bmxAVgTXcڀX8` ;HX6D; Rpn%;  cPh2,qDi-6g'FCI|Қ2EHm }h𦄷%$g$3޼Ċ(I'ݿ3TTوƔ"Dbpxk8Rd4mXQmCI~Y$#*/dw4&6El )aO:UG0@GTkt  K N.2Kpq6H]Bc{B`Y:8n!,lIޘ\#gPFz;J\ @C2GFb `9ZX%IrGpq36f:'02Ƨ7T5|&S':NJ7=x?_ Uw,c_kӓmBqw|_[ 1HOx1©FglR- eS z/B .$27SQWGhde|O ௏R~~kȔu^LC!pl떡??|}h6\umT0qսtǯc_FH}#Lcɖp`)Eo FtGߜ}t&@;azSPf8;MƆŖ ܇l"B$Ze.3 ZQʉLìɡI0^lm`8(K44?-`s)U_J4q%P SV]`*7&:5L5c49n%לL4T'>R?߉c߫v-5Koԕ2@@nCXpE5W94dw>þks \O0FP3iWe Y#0 7%>!#YD0[#t}F82@Ԑ^#t3?aFr<{` 8{q<"<5v&qSPj~|F<5gYM1To< NQZ`/LCTf}JF@YUbOɇ~+(kyhLC|ҵG4y=Oj]%8쿮WXԢ6Z͍qY,rBE1?5[b8 @]4T[%A\CuB4}hMOeJQPsLe\ 6P8#EZLj1ã'GE x`gzMs-}ryt Gpե|xMJq?`\}{z?1 =U1+tiPoy=c8jAKi*п`>bl\_@k*ɛbhM:ʕ_~eЧ*40r`m*Z"4FƢko_ *o+tyߧBK fngj`?_ihLY\Q4aPZi@4PxFx#UH[L1Q :WU#\/zj 'i?] Amcʭu/}(#“Ag1 kOB`ZEWMv-A[ @5id46hN$j[o7M~IQ4^%C$i:^?1 0EbLccy4 gDxOH *:EMh h h  hh h h h hh h h h hh h h h h  h h h h  hh h h  hh h h  hh h h  hh h h h hh h Y¢D#?yғ A~yq<]ĝƼ8P )WhLu M4vD$H.RnU|4=) ?)yQAՔQw4ul[M'Lc=ZQWui[ڢ(PWLc W4p%+d5Bօi9DvVMq6cIJPG wBw8eO&5dϢy0 U0&9u(XIGN0JP\tOD)Q1͇*`mfd:UJ/Ju4HB/LcϐsMY}YLC(k9R QOe}Rp@>s]`'Q\ wr|פfkC4EUeo"`ae{~IC`j*Ϣ 2riNF| @Eӕ'y%سi=s2qA_tʻrLC@zX\5smd*f+io$IYUA0FՈ.#ӓc{bqp-ZBWɄPaaQIP k/Fj k[QVZ}LCSFPtP Ӓ)-U> "Y+0 s-&j]2mb0eXa [JH hFעbx[;>G r5\iD^:__SUJ5Fʕ6xxnErB^)(!&KSIG]Cf8Uo˗nA۰f1ojaf|Z+Yz*}7rXTW a ~O|yK'+.h " 6u{'l8ۉαPN{I|~d@s|.z-W0WHl}*J 6^gO8Ho00"+46Xp!֘09ʘp@#P`Wş26XW.20`J|9 \*fa h8x#eGBBh0,Q3 VgkrOaBvtBꔠB 8* 1@&h31:<# z0i|FJ[`'ߛC#tsB7r4`D˓$S~jSB'娊0pyB. pƢ4p 8!Pð&/Oֶ-0ׅʸFpu hOHhTÜ q%{ nb\".ѐJSdc * Kg?Q=S2K 0'7t嫁$Xku:j=uAqTF`Ś!H5_['{u"g\1e}&IF-[Xh=)y(@;lHkP@#*^ȏa wpI |!t064ঐCkAv` x0`w+ڡ!h`MU F0lP>hب;#w|W}d}l0Qx۫+ 9,,>0jvQ@ˆSY|`A@A>Ys'rP|Dg+x4(|oϐ=e^ A ѐu>T3%X AK/mp*@~l{e$OH3sh[ yve=׈FSfW2!Ee.#(:D @4D @4D D @4D@4D @4D @4D D @4D@4D @4 @4D D @4D@4D @4 @4D K.V+IENDB`PNG  IHDRQgPLTE1MtRNS JB@ErG9!% 8 7:"A4/6*,;o5KU3CF]jn#p(4qIDATx^=k[1NJ@a y[ mLߠ[HRcMU* *~Q{̺⺮G6.gU.7}z5fyx>=W#uh<QZFJ8cJ]H]ˈz>QL5ܷ՜":[#\j3 Lcl>r8xjes mJ5 (uWZ|k(~ SIosu{p]Wg=+#F[+MO.WF4]7'8H@5vr>1߅D8;ܙv2`|&U^Ԕ4 +^B//i~@h%3t6;C [fL'HVB@AKmlB„FbAXO[Fi q,uh@4 0K'@16 Z/%(w IENDB`PNG  IHDR&&4!%fIDATx^JPG>7Ԃ3};hw:/Phgmz-՚I&.ĕq tG"sāy[}$Ly}_\}pǶ sL N|EpRo KZYžkkrFo-,Ʋ,ڙe'YVѾӖ٩\.O8^dire.ϼsh-Gdile[V.}[չeαs-nzW|F1OƍAE2Rڭ{ i{4+ʪj@0WzlU-Qީʲ=RJL~(Zr0 FtmO35RU  3A 0O"%SmIENDB`PNG  IHDR{` IDATx^ݍw$3dI$!#!*ZV*.V,*K]"*U+EʊZAuQX,Vb%{HϙsvOI2O~ןys_zd2@F #dy4@F #d:`&8pl@{.D%XzO,QxqQ0"E@{1TH}+GDډS4kAiɴ/UMo"m, pN,i{_SR}+l"$Ҭ]('x8ǐk46n҈%paПɷ<)msfxm@[ #&rƜ<1jrۀ0hR^1ת JH% 舙cxUY䓨/* J8Rs0Q7R)gL\| "l_UAo~(`\^/TPsT*r&`R~ߔyz-I"\ 5$w0d<̨e^٧ʢ>D`FCS{/ʲRl>Q&3h??势8qS"F@O\БPlHYV|?URd% T'w}*$9ex/*Dٷ`} Y~-z]̜K>\BPkwTS[D&18X]kҞ*y5Џ79aUEB|W'M8PN:8S*Yt/$Yp^"Tn{U<}@~b'`M y/|z˫a:V?/+ ?Le@E9"܂Qe2 &L%DKMu=SGe7(Ruw0~DYptoẍ́OOHc0@/n\FJl zڄgg4`w{֛Pc̅/tkfB/4bq~'q79XU< 77]B v@ןACP󂥌 ~@wΜ1Q? ]VPK˒YP/]aBg,]Xk%[ZLJkz57PUaE@s` >H{/6K (!3 -w76PgQ@_3Jςo9\hBmjzM^ ]*ϭ3gAY/p|[sNP筪_G^;ie@6n~/zVm2 6R + dzkjٲٚ?VsJW0$^zS'2 &т^Z5qe@^d[Q\j@JE Ƶʀ:Л'׸M~k\Cw j?2 5ǎ*gk9$YPXj@$pz̸p#׸\]DxrI/I=fzH>=Ӌ5Kq5 o~⾋0b M #_Cf i#8q^㚫׸4羱=V?hOGyի&:ꦛ?.\]S(g dFD%_* |o?h(c8Y$GY552A$wq#H׸~2"S/>r9d0ՠHNxA#8@ןq|/O<>~u (¯}Hu/ёYM1~}}trr=>ɷ-g48='OlLE\gW8ݩlI+!7p%OQdƓN p&MVwS@<8:I4}]$_T1X\MYlɪq 'QQv_HJD0|];M5;3;Am$;QL?"p;'d0 eHuM&EBP;٧m#ٳ3\đ},a$zOW-#XXU:A8>r˦ Y5`̖"9Qs YՕW‰gP_U6d FЗ]{94>\wGsQ$QX\]}=E4=M%##ĮO`KM"g̻Bv@7>SHԓk(&8"F? &'(#o|qdsº@0c䌰tyPd-[X2{koH҉'EK~t^/~QDIDY!9vtSL) y2tS]c}CC}FUw/xl*I%y4ʝL .arbŚϭrOWۂaߧR w<^,.|1GM!ap #l2I/>a=G^H&41  &$#h"qBW/cLn'N\z?Y,HcfA Me7UWu*" 4W82 ^l Ј'+Qa gĔf-7T08&NjN)-L`0 V@*Wn-)g xM@hg \=V/ZH@hv7(qed :H9uMX 5}n] {:@כ@O3 ̅ &XĒFmw@m($0F<$>&Ћt.in2ÏYH@h kMOL pʇ" 4,o1)O%&إ+Μ1O`%@ e+M Ҳd9Ŗ%Sd)"OE‚u<$@`G@`7|u|!e~w] %pjj}u~D0c]ms1$6 N~2҉/ s q[֟.< jO0~F$NYsRuKH ~b 3/4F\unxصrWHh)]}#եl-NK&M2C/ݻd6@ 89_ۙ4K YuU2): #H#O>K~r/\p%lb^XEoP>s[՞Rg|e)%71$'1I~3>񯿩m9Uw)7S(r@"Q 7$ЏL01TQJ)"ro*_+A8D#dRIO~I%$CX,_hC$^K$nq@O @F #d2@F #d2@F #dF&46IENDB`PNG  IHDR{`7IDATx^{x2LHȁ0@$HHHb]nJZ<PK+Ru"ZiZ(xU UQg/}ꖐyy}g2ɼ?T%R R R Re*@*@*@* 0] 8uPاo?݉>"!NNH!LrwdЇ$M8n@t]x&Tr8bʩκMu+ϣ2'=DL)K䶗^ػAOڎ޺'~2]HH=@ؼ8q# 7ZZ?/a1 k?^P?VR+)&d"qv?2^1u_iы<8 lFv{CjG>j*E ?7+M7uWϣtM@e~/ p:47t3%0ŁxغQu,iЗNuH/pRʼn^֪:(GLI}ƍC?9:0UNgI$:X50DųZ[U1?d(4`*z]%_/!0'j*HՈ)AŁF)|oI)DjTߧ/8RM@S\ēw |YŚ0̐U+ys 0xIdfeIi 4A{v+瓬1iUeϮ  (1UY;zh d%d 49*˳j! o*~5I&T{i $G_*>߫B߉D>ɚxͨw彷}a& ,.S1)H ׫m 8qKh5ǎfk 8%6-r5`Y #&]M.4`IqE:;wgFx?pMg y^y*M@XT\DA塚g㟩bI' +t57gsTj/xʀ<* aĒE[[yv=O& x>Hީ D8U"S9 ȺѰb 5M& MM4 bv} yԚ՚` &x?5`Aq 1raOV(ycS Z?N` 1x||P}Ss  "^'K:s4@i:%@{(#SȠt&8qb2?8M@@I?n[2 M@XE`w8aŷkJe.5㋖P kēIٝL Ҳ?}DXE{Z[M 0o1%,@ew/om3@E2@iM/i ǘAq|M@XJ`ժ6e8} ۇM 0}& $Pc&:j2kVAO!,%v2 uu\pM@Xuh6uO*rEWS  Zɳ(ҷJI?GS +$џ juP9rV ڸAC+s 'Ѝ\^yʯ, կnTZ@D'&e@>yVH&Ue@p8p~pw%y'm{]/z& z0&xtI$n$w <Ɔ_]e@<pƒXE_12B ҉ZD)s㦏j5 pbH/( Ī?Z|i׏j{=}ogG?5 ʀ|'/\%GG y[dS߭I#&=Fgwꅚ@$2)}յG|q hRHŝw= dG[ @>^7';MX;;bk_j@?jҖel$;'?vIt}{O;7Q2r;f/ٻkE?Qɐ_ߓ%D8f]p`M$۷PN8;.IgV<Ƈl8ҝ9 ۔"inFIxpy\.ޥtq~]ve$sxph2e$r}Hd5sM#iS\M> _FeH6vGi0f?>ur 38 ɠH#TM_mlء?~}^q h'8>t^Ey<!IENDB`PNG  IHDRWhIDATc ,j%uƼJ%S?!8XnsA `/ h> |$(tHA{>FFd?r20"nd`E2IIENDB`PNG  IHDRWrIDATcae b t;[jp Xn3p|e@X0>@1<~|E3a.e+[QIENDB`PNG  IHDR sIDATx^ԱjP讆8ƈSF@,[ri򛿳?/JDzx:ǀ/]䉻Z.N浓8B]t[D?D+hyF3ȣ@HTABP򗀹\ngo*rUpzH*\&+TZ qOLƁ01`!a3|yHvpf%!ĿHtIENDB`PNG  IHDR sIDATx핱jA@_PD;=APHVT-NN@IaD D76s9n.aa=֝// XK.ABL3"|6Wy6$p< +^V}%K BgVJ8+\ "L{-|R:5:\Ax#`m|ZMy%x )L3%yj:T͞= H Lo|IOb*s;OWs^Ŭ0^e3pI!FG>#(#)6{n"cR1 |CP`W #q^ֻ?1P0bԼpv5< 1ȻF&)q7]l,nS\FwN5΂B\Fz#c+׻<2YR+.Sm,݉׬^7".L+u|eI2ŲAYXO ڞ4UW +8HA,yvmAIENDB`PNG  IHDR sIDATx^1 ѽh#D._eLCd- >9 8T`FS sT3|a#?Hx', & $F %h6BA]IENDB`PNG  IHDR sIDATx^ԱjPƔh [rv(w"(j`T A}s|r 0RYB8qppypU 2k[lejMIP6fDODXl7KP< @H{M3+2L3 d%Ďr+sSSs+{K+ y>m%!<ΤyHWaF[!΍R0ȡc+8> 4y%IENDB`PNG  IHDR'ՆLIDATx^1 @ϵp 0@OU4䁤65+jFڌi3S0P2C30^.H+|懝B:0IENDB`PNG  IHDR V%(IDATx^M 0g16m@B&1O0Aw2p3 &L8 A&,jY*Xh*XXhHV5rǐ;n ̓e\:.q%,'yhWD*ET%/ ~l5Vg& 0;`<Y?*MAV &rCeQ {5GY" a(0J YC"KW"wj"HaB-H f`_58V@sǑWas3>2͐`Lx `SQp;^?7O3 yᨙcQ3 yN= g_!o7 v6^IENDB`PNG  IHDRMIDATx^ձ@%H&i$.H8!U4lj>֜+z w!IQ!Ӊ:AtkuЉh˸%+͈l"ݴEY~t߮LOfnAurlƣ%vO :P` UC*ׄ"'Z"HaB+H fh`h_59V@sQas:OuJ#nFnt 0~x `}uyr:6뿮͚VǃS9нllh`!/.}h/d:Q:NutUޣIENDB`PNG  IHDR s4IDATx^ݒ۪0EWNV⩈wTir|uq2+3d0"`1>²9;2E-'%B=GFqa7t$L84I-.`Vc~;C-sF_bj %=k ThRRFjBDaTkTl %SP;+$Br)X0Vƒˡ<9`"R2 3)*WqRH!Uk^ŵdJDjw΄\ذdIS; V}JF 9gOsAYQR`[:gIENDB`PNG  IHDR s_IDATx^ݓ?k@@`Z2EAP"EpQuQAmpGKn}w3B>r֍%xa=daĊ*qj?OHRg"߫|B7P$GSْǻݔhJGcb):^ [-4*r$avhph#1 P 4>pGh8B FN^:D$J2h_5ɈTxsC“K?_(b!K^+5B*eM%j%3`\|85N#ECGh v, `D$_IENDB`PNG  IHDR sIDATx^ݒKrQšE6UE7'q٥\Ї}`c`Xtpp=V=?쑣Fu'X:k>wl|Έ$f8b'#Rɒs V^@Bc8?W\m:k m7qLTݤȶ=ūQ1݋{mhd 4Ш Qq#rhFKO`P"@tȋpE,b& \K } u0(l!hdM qމAR󊊧–">KC2Pp̽, Q]pK6T`H)cS$44g@3* #UlIENDB`PNG  IHDRHHUGsRGBIDATxMlEMHbAz*E J{)RHR%.@=-"hڋ/$ E*J"8\" (RKCI?Zkgk{e׻yٝ$BܲJɟ]cR#QP[-R|nsӂhHMI!&>[%(l{/(!%T?{s]"A9R{;sݣ^⧪}fviIC2 "yD+~+,si鷱5fPܖdUU3m}^/P)%DW$9죴5πG(QX(qWcHA2ulDǏ^t4jquJ{1 {c;vw9 6WSrkf2 +S^xZy7 徂Qfezr )J=pFh74X0 I Jm>h`4 uwF2SZF/kW]U Kp*qv:)q]T; i5%A6& jxoG@d4w9ýU}0~`Ķ{߸IGr';.W;Y[+b<^j͝m{xEx|on#1 ck{.xRE`WaTZ1zCX;LjZ=3xiR"9d1`2ЍY3A>%eάLnL)T*8((`} OYRuM&28css`&`C+_6ҒIeBD^FQ ^7xԫ,Rz8Bc(7e'H hASk{VAu/NuÓwf!p{&k{ff#>-إLf UÁdmS7=XxI5]͟ihB;Pۙ+̅% nJb)j8 {QoIRA#pᩐw'8`C}#in$"N (10dn#GnM$kHը0p̆ 2bo)p٤t+AB{3C"ks(Mk|3!Gn6AK#k@|ӆޓ2}SyCh1o<NT49 Q3Q?R`Aiu ?IW>f.AFHy$Zʢ VLi6ўa<3,JZe@F~i?HXʀѰ(zU^Yh-u̾[W @8H=-*B#1n#VYOUQu`GiX6L{)tG#+1ssG# ^E#7Mi]G@Q0)z&Nq?Y+>eDC3 _[X]y$э >p:RO!|&y9Wկ~JS/X ܰ 56۶%ͩvd MBMz싽?Mau&7A]&(BnǮy7л?Gs1|6|jl~`ɭ8Otqx"xL Ot)Es֑:MuMk m#ovTaµ]/`Og.C#IENDB`PNG  IHDR sFIDATx^ 4\EE/V Ah@ T0`4 sYIENDB`PNG  IHDR@@`UpIDATx^ @t6 !@ x@,C01$8 @$8 @N @ @T="xH!IENDB`PNG  IHDRPX PLTEZZZZZZR\tRNS+NIDATx^10t)11/.Nzϋzr}F3V@# f+L0ä́.&0 L(`B P&0 L(`B Pz6  k mIENDB`PNG  IHDR66Ej&IDATx^ԱjPvtfgߡkVw'w7ǂK@G:>@Q\Ԃ>4dx9G?DDDO5LE$y ay?$%gD* ףثoav{\9&lW.-Tg}].$/)s9\xa K#c؀yY2,cIeb;e1a æ pg(a?`YQ`1 cc:˰Űna%A[9> 8בSIENDB`PNG  IHDR66Ej$IDATx^/QuwtѦ`ڍb]lvA'SA?b4? Wx#x;xrCDDf~ T3/QuXy`Eu&l:ijBЂhRŅt={C&ja5mվrBbjp9l'Qg/awư;2 ș$0I,\S~0l yFe%F9sIQ+f2a c%$úúImDDDDD|*:}YIENDB`PNG  IHDR66Ej%IDATx^ԭQqFfjb^Ŵ{^F5,,FXw.awpÜxS|^Lm& aY.Q ؀aEF7DnЁg= G5/"Le>M!|a+V`4aB}Ʉ|%.0ߑ1@dg @ 8 xܟ01aT`'}W61I ;Wb1;D1a ۂ820eXaĠGo\F֗6IENDB`PNG  IHDR66Ej$IDATx^ԱNAaAВk4t&5Ґ^d{Fu苐G:EӎpfEQFOk=HFԣ"#s. +j@w:?0{Aܧ6%H.A)- ,S ;sXy9Dڳ3lDd3l0lڙ g0iE*Kaϸ,akžXgLqZW,e!Y̰AA̰ A YC_<6wIENDB`PNG  IHDR66Ej&IDATx^ԱNAFaQԒ +4t&`s0q|| 1(La{L}Za}X "VV1{?La S3 QlKY–-k}_^X0)LaX "úúEUpYA3߳]?j{lIENDB`PNG  IHDR66Ej%IDATx^ԽjAa--mD\B.R xZjk喋Ԁ)>+Tp9~eBRQm؁y`Т  BUlo[wQu8 0S#}O(>VK>mT{}G7>$ ;fnl0=#SHH"g\X2wvvN?301a4a 'y6v\pV#301,cI2, _3(?RIENDB`PNG  IHDR66&LVIDATx^ohU9`#]~#?2gzL3c!#l4AX,I'"lɹrHldJn"~m`5bVRvƝ$s!N胵?vs13Y0% B*%"zo-a-|sP=M )yyT/dYhd{iwP]B Es0wd-pX{vZ.KD|-gR}1fX"\FbIܻ߳ԏ$09um2y#Nlb1 j؈ 80B. cM#2yvzMc k#:1WEqDXIC$4lDUp5/H}Auu pSȣ4(5^kU)V# 衮X=A # XFfaqrs`G4zaidB4{azV|d:{Y9Ҭ^+4X_ RчwAX1,"aCq0F!ȃ#b/R `-eI!Ґ=D,h_bܖ|9Se#>̓م YF*E,rJ)a[#eGƒ E&bDC#1Ғ'r0q\G\ & !N,&$#Q`^M850%.VG[\8le j#M."(ԹG4ZG!bccl^N1ƬŎO8;VIENDB`PNG  IHDR66&LVIDATx^}hUs6os4X j6+`i6h b$Ӌnm"P'H4hmDopxg|pyrʱNVl?SOF#^`=hF^63HES8 ,bI6Wr4E>=kP}0F :8mANQkuT4@x;%PAȳ/´f؊LbۖzUfs|v̽W lB*k2Tt4`?RbGІ :MKTvtl?̏F3f[\ɴY?7IfRy|f<WJ,a/:{RߙQU,f ؍`~yPlbhp9U#l ݳ.U49k֖G.bbS,&B7j1dݎ؈;NVkNI#1tY}Buuq8p$h @뉰؋=QT,~X,l5˜0d"\SbWfA]k3V$lqDؠɱ!Dجc=3_٣N͹J?qu7 8ϙ ҀfYe'3"BE؞y9<}WuSgG 5 b f3 -F&("}ly'ěp [m |JTѾE o-"Q4>X3"e9^ GЀT-X/Ҽ=0mY6J;l@M{*7C,GHtPC:G l-Ksܥ ^-1\@[ʬzy`Ͳq#L!8F;C*j~7Av"L_؋0 !g`cL3a1#lA9&rg!IqgnNT%3O{@HG iV+VTN"tN-/VA]WѯL"Z)l„ԔK 4U`fA V)~`P1SqekDOB6g?փNge 0’P^#@.Z9t2no̶Kt&E\DLRify_rb#E1'O,Z:4Uka C?ǀ=IENDB`PNG  IHDR66Ej$IDATx^ԿjAaGl }4E>`eب^Oq[baf7gcA?d,!""g~J`s5*YB rC ݬE F7D 1+xzD% ={5!M'S56QaKֹc2䰝FtǾnv!a+l@dg}@ ;: ;xܟ01a4a}7b|%b~4G-+2a cđϰðϰ" aYC S,0lIAY¶`(k_R1a ۃd2lb1l2 op|`Qά """"jCIENDB`PNG  IHDR66Ej&IDATx^1jAq5kRZS{~K )zRD;Bfv} ?9G""';y C|d5+07I"NVBUZPmXBߣWQ_P{s@E%a sPawj9l'Q'(ݱawư; 0)șaK"aGaG301 L Z^~(Ӽ('b1s01l ƒ˰Ű˰"`bV,>@DDDD ?eIENDB`PNG  IHDR ~6ze `IDATxO\qC:_EcCL梶.+Ֆ% ptuQ6U s^Dz2j$ VMZ< `pÌchUwzt$b{H]y}ŹPTԆD X>wc (m  D% 䚕\M<DZg}̵Lbp,ˣRQ5r#I-?u|X d\]ܒ,\kA=bW.߼-6[sKύk]U'\KId6K"z PI 47%\Ӹ*H+'lCGC^jZWRR.^_EIіz cRjR}I_C^}Ur=!y}C sx(%W ˒?F^f&v0M9jUf{ 5F[IuoԜC 䲺^GIիC >y?t_{j}}l b\z"}>G-% 5gCs>PkA7RPK1!kνǒkC >Qr^/1\JA7suJg'߿dQ^Gғ eB)Rr>u:*Rqdq9%rVɵ륟ۜ9*9=5QGC_rϱluk#KQc<>k碻Ģχfs#?/Мt9\Xg0>eFwH2efK:jÛ)C4\4D0F'%C _a-5搗\%!bҳ]'&gSQի oC_Ěԫ .='ϕk1ϥ^HrU1+MU.%ך.9i争%.Υ0|9.zK*zk< X_sRQDQz},3)<+|=7U^Ih'yzXP0(4Cm.kKJ0O^El#hO?x7q GIի[ \Kr 5j\VKr;ӆvx}Ii\kI~Lapn1`[֫Er^y_\ai-ǢUĎa[˦>,kw0hQAiE> >[և}y##ÒlyC귨-O2 g(aX)#ٗ-= 6lZ_ڴ9@~Y|~Wy[桚#Â;vԾ&[G˱+ε,:W\\EuZ/_L_Dq)]$~QCpZi}y#z\-GG>%z`kF.086 r5P \ >rb䪝<\Kt}oZᗃAW ׎`9*זA:n[<)|Q;^ޚ؝;c R/72Ȣ4,2 ,egޟ/5L ؎a,#0Q^!T%xh7eZ%QZ=WAV3fp}zCeI Wg\}(&~LK'k+1k 0R}X!W~B2Qqn'4GP)p97 e9 K3yT2'xʡa1͍*θ~B21GԇKry$84xa^kK6 +\_rLnDK^593\ⴹrZ7땋C?{k1/{8\(ǿ־JjƐ-#V_2[ù|OscDs׎R>G&\QFЊ?ն5}Q.{Ku_9bD:$2ݗ[Y_CCeО_=7"V>؇#_a(z} ~1_/Ɛ+7xP=`^E47%W~}ef!s~9j_5 &!V?΅9p>-$E늳Y{˶Gڪڭrybc' i6u= =%!$!c=zhߞo)Tْfss=+sՁK+@粷?^guGvjqHk\XCzd$CaEa^q!=Brhs{51C:rxȵ#q \^W8_!1|F]a8=ʯ\^eqx{=1J0b5=$\sgo{ʻ)'=䪗!_eKS. gx& {:x$v(_%װ}^\c9l蘎h>v;r;թӴU)'q]c~~xli#+_ciЪqo Ƴy#Rökdd!W*zȕ+e劀Kc +7~>)J#Wn'q (k90b|OrYTd2ư o 399ky3qF3ד.ʥ/CNWi\-g8/ N. 4su㚚旝nCU.-[5rU:CY~ՅUtcbbB 1E:/hUf%h|šn=A{5s!ƻQpukp1C<Z1$qUrXG/:bp_q!\nACꨈ8.n(9y 㰜+_*͗%B2*ԽhbPo8CZ%F*n؏_F/BKfB_A7u..s |}j/Sl=cmkIt+\*/M_up\\5>{vX5yC.&ם4(W+_:|\?`Wof׹6`n(suf4mꆍaOxmh,>fr_^wg̸]oPOJ\+׃Ϯ=+5<,?UPʒ_U Ņ{F߭u:W/h7_klB|DLZ]\ȥ/ D;56~A/庇gM+ ESqߌ-q(ž3".vz :h~-ֵ`YyH\YJ.~[\&>ئ._q(6/;.!g\hH$Tht_ES Bs"]=?DqH/4ؠ~׎v{Ti8Ѭچ {G3bѾ~s_Ѝkθk_{pz9B^e%Rt8n燅!4M{ ;.]z效lM8GT2O_n rA^rLX쬱bu3ƻX2lV6 ۗ n]sɼ\6x\333~B_qK~ġ \ȯf^xOwgW q6SZ/~"W _{h ?΅{.~yh\fğ_}.-by/t^|\^_qA69\_JUl\qYk3AFFWW-ӯ+ELV<₦616 \ o~'n ӆ2ab}r3  \5qcaʍbͿ\z\2ұ_!>h58/>+\G>1!%1z- WA\7جo8BEEc:qu|bj0׸_G?q7^-k6H*}k_5t5c̀5ep/o}4UƣTϒ}=C{l?KHa :wy%C7mKj*a!]u]si?::0*a:nDžɭ|Gzq#j+\r=!{._l¾S\x,N.;`us\'_glhu8Ġk\0:F_Hr=  \\:ΐ+ G2j/b(pLg>C̙̾ޠssdE/ԹNzDO/vFڸxΗ Rcˤ,{E-E6Gnrf`MD\Od{ьV.&.뤄 {8`3.;CaO{t.:G  \.pɸ~ǡG\y7T:t\mῇ=}^Izkt:M}OfifU1 c$}|t.FzS}wҜ_S ta,?xڴq}̰ϡC]ї&#n3erYNVY[,3|le\bs}|mŎ<~wݖ\MWlv2ɅgIԭ8, .Y" fFfL1,g dUj= W8tuV\eژW_0r9u#;denZ2C:A_ bZD '\ex-k9׍ez`ڜNp;6ŹQa\d\IbmJGjen:OW_gp\넌+ Zr Y=DVzHdW Z>ld|T_wZԵ(p<>Y*684O7׽o{}JyŅ@й|P搫l1XAqP###"Xk׮Fss3 ?L/4dp %^/jFGG5x7mT˹ppBnkrйqPɹ\+X!1/|}HĿrg\㗹!_ߐʼn ms 8ݠs59}W\ %$QLzWJN-\P\7Ò}j,Q/Uh1W˾`T8hLif|OuT &y\ksM. kXSfpݚEdk!7h; {k|國\Do~y2Wte\_grcluj{g\7uZ1+Eͬz7iyIF~srlն/}94qMmMkΝ;nܸaFMM; ȶR p{Rgn#$W G!k\A /X5u+(UT(ZXUgP$_D7F<! [~q.+X=lW+1%mayn\ZJ}_␵nv(u u ݨn@aGWM re\y%WݠWqFׇ!£kYAj7enjpkUaMk G\u kXKf[*r,\{:j\\&_%W.O=$4G%_ l!>_/7̿>D޽΅Gq2\Քy 6?u}CW?ϿrԿ\6}D5>m͡Y6\ƯJaBmΟ?oA4 ֩xV*aqKİ\@%\Ia2 W/\(P%\ a[pqCpU(r%9qX .žs~v4оys~o3[\.=$"r0#.ĖJ~mQPEL7-sⰒK=OJE݈%sLQ7*}Xo8W׍\qR1b>%So3]wq}3aY}nBCŎ/5^rsM&,:JIaelsڢU),!\q _ig\{$Go\opI f\g\yKظf_Pq|*_}.q(8ץC?u_}57)ӱL!y}0pATt#ɑ %y`<˵dϭ̯n'u\)!nM N%Ky<2]؉]U낄0b[}?%\}2W9tqGXߞoŔ?4Û>z(U)h=tÿkZtu> VG!_9~_\~ó8ܑk~=}>aH*<\G?{gyT?@N> L'_♀XBdW&S؎0Kb KjI'vlcN$$ &ERgJMUDssޗ-ziڬkbbbzmTVRM|CqnԾ/U@a\o%e,þ(PUHZGm߿C}7_ݦ< tv'־iuTW#n5z՟?wܕǟ]q2W#[+ąwBo*pz!XnZUbzpRrܞ_F28,x+yo^mmJ&[7^ba^lWW7H JI)>\> qa}G^ 2*~~Hڧ >'w"N{gJ?p^\*p˨ Wj=EeK~ AP|*%ЫUfrBk"vhq(NZ^mۙfK2zšD`dU=-ztKE"g_۷owN&sojj[0~Ue ]\ .K\&F^F0ڴqaw~5WqNc%\]/* |vծ_$DZn1|r"W;ů5fίgdMZo\TJWnWZˢZ+8땧+z? :z7O^ѫw]|~gV<D\ 5zeՋk:u?]zҹhs:6UZzǘJ)5`wL5$p}pkG녵u5;^*z 8%!8fCZ:a"εTpĴީӹ$}ToY,aٗrE &XS Q^o`OӋ#`" },z .,"Cf2+L-"+L뗰eov+kTpEf z-uWTrՃ 3o徱d>Ò au<׈jik Ms ~hɯ3<1"a3ƕ>닡Í'^ikD7Q˂ 8J #EE9,\tqGW&6=7Kaqr B 8x;?n:82qYV\LF׏eYk.8?eK3W*m׋"eY=uf?a˒ZSV?\[/ϯҮl*e\z!Wr)¥=gЋ7Vؗ|C۾q/!=uf7wA/3V[J. ~,. rLRn[%fJ3rߐzIؿH}#p_qWpMWBՌsl9ݤWi&܅~I3#xCQRm۬ů 644t́ /\7 sw_So^6qYskppPo̘\"ԫeyD}~L;ׯ,27[?,58| FA()W9CZ>v(8,%b?,"}%S_eu#z"y }Ə?hFzѷ`Cz4: 64Wf7 nJQFbP/przaz*1_kFU1"S*u{@/Fb"<-6_/,,,a`uӤ *B% b:^ZN^}j#'כ-.0Uj:z7~^ZB?eΙo# #C|RT{e9 l+@6.V^zMhFKzhp1Wi~ՒrTͣnUJ}awY Ы:u+`r$zqHueyIrL_5 S: \B?by^3ZBߨ:|HC/L|-\u.J8S ^|q@F Nﯼt{;Yeiueii Z}TU釉D7|lꇍ~"಼>OeQCF8l^\'Ig8N_M\X~Hͤ\-:=5E~a&PO0(F##ü|לءx ~D!\`dRX_$mĆ\ !WA8{ WP.8F0k fի0Ⱇt_3o" ruE_AR:"nF. 15;;kr}%~B/̢FO_UL( qd"Ð20^hyhtMAF.yk~4\A\LR 6ⲌiJx4N5y\oR)%\5~k_\ O La-L.A~"Q^q8ڿTq uoQ 'ogL:[FE^B/+1C5) N&/SpzMppi4(M.cSqSHs~9\\1Rq89u`s)/zD"޽{m۶7䫲r_mF5ey핣18Ε/ b Ut%?8&8$ؿ.K\^Ђ>Hsz~yhʢc_9IqHQF/{gNFd DL^"ಿ*>dWԽ"ͯ 51M'QE~hKpW"Խ6⚋+p ٢\޿pK~3L^w={,]v]O0< vH<Sv+䲄^]z)HM_A"թk fͯ.F`ѱcu ~e2:6Wi~!W7P'fS㚝qIPS]/ 1s8^/BNR?>\8Ot1gbjb_&{{H qKW_&Ջ+D_^}9Ș_uR~sjj꺃&ق g6Ԡ+6~ytة \F\g:SsҬTlդso~`6I8li,~H_M/B:nj"ȯDe`a=@ڧ I>!/05"FԾr#E%v .h(PSzɅ$NjP]\ISmzAFקoܿzSbHR.`~YMl12~H:i!7_\s\ߌnM00rUV;SI 6sX,F^ qUǠס&kVa-iEUEB-aԇ,Һ׬B ]1Wa7jL.*u_&ક>rz'Ѓɽ͖$< Z" S3!jHjL(֋^ E/\h/xFLHu/jWHj_9֒at>_ľQŨ.~="944tCa [:g8`xf Le\ \>|LCR!W]-0\Lq([T+׹+2rl@+Ws+ .q3k~/"߈8u]Q>UD"FKe~IsE5}eH>pȯa'Us ^Lw$`Jo‚ 5׹jˌC\~ܪ+2ϵ]} 0>sMWQR߈HPLzCduz1Hk <**%+"|>J%0L/šzF/8FKq X=-`###&XpՈgup?ֱ^pU-ʵ_uR/q^^z(|c7p,\z=}4k\Ka5W-Ȟ_\jF@^Ɲaik,}YJ.zH."*%EpUkw]2 G9%Wjj\K5W_2A~U Zٕ:JpU.:J%}=f^pfѫ7\UWv&7U|ssiu_6l,zuϑF-Q֒7=n?fҋ72 :Tf3YM5B\"k-:wڹςe\5r+WFzmЮW,!zљ_V\>8WڹZQz~7\4隆'=~cבֽIYpnnƕOQʵůbk}\m~u\\+OrOūWK5:wFrm8ϫZYơ{kN}yW{=}u?)zWyD\y\r.]R\8\EW>o/Zz#W^Z҉/Hf3PyuAfju+ԡpÆݓ-hluF>5 \pˌ6m\/}ȩ+y: .oÌCRJWp8L%&h# x5 yB.Ey5M5::w _^6A,wžv&%u#N^u/z7z}r?$"CayVvvK/fW?ȯ68\X.v4 >/罚k EWGԇz^f_njK&YqEE,l_x6m UqX-\qX=O)%}- M>UD_vUvEUJUdAR{1ŷ/4N=_)EM^w΄}Sm\вt\VR_rkxLWdrQRS:.8*^旝J" WEᇦ^EUSN29˧R[UBpR|s/B2b9^QA~L!t׀w߽a`Yl&,-wWb>0XV)]/\Y?;44tr}ŰB˦2w.K&^wRpkO~hDŽ^"ѫG^wסk}4q=5Wh/|=4Pի'zqثe^xo|y!J2_SQ~!LnVZN3|"7wZ.~-&={~Y2air=kkz8Dmlz\=\=C 2zn%\y'{Vظ|7׀rpq)| ٛ3 %:V"/~2g8wD=Y[9!rZϳÚA=zs`Hn v&;v)**n@]~_&CXpl\Y6)ښPW<_^&bի{d!Pv;7a_XiڹNڸ _ǿYFjg\ڞkP:}c_v먱,\?TkSmB_r·fn:1YGɋRf>"GB\XMz6۹q=PolLbrfQW1YCµ qzLR W8K5zmµz|g~\O~닡1u/|޿>T/C_)+[- Uϱ zn8|P<@<*kl_[sm#̱q^z5δ9@=ϋĢY)G B*U΋I9/NdZ"EbK\-CQv @ʌEŝ  A f@LFe}t=8UJ%b7=[}˔qluuՒh^a֯9{uJ2ښkנpq$s=x@5ET#ËɅH\VwԐ~\7g7tG0D =W>+Yq8CsPtG2kD.r _^㪇\MKk zxD EQ<Z_#s~#c̐5ƅ1ۆ6\6O>נ>@?4LL\Y cp!pb_|BqqwIB +kyjLˋdck` o:kI(.}6:yzX)Wsq׉NpDuc('aJt?0gZG)u󾸏bH ǯaƸ*?\nક%x-Yl&< )Tvr" :\۔-\._1Cp= 왘qUSlwEp!Գv"V'Jͯ酜L>,㓫Z*%-Gk\2*kf_~tJYF"םVmnzWZ*7WRVe~0#@~R|U.z_>D"%B7zz_|QIg}(eg+_p/hD1 +M+.km2mr!gSElZ5r1f\LJ̢XO:.}D7h&X&[np0亻$:*}p_ge$!_54>Ƞ;\GэmRG#Νtf^J}H+gɕ|PW %7}^_`uX\z-)8t=Q0cnzXSuTu ucO|ݠ/7/[oߦCPzvKWCK+҈_/ W%bWNYm\s/W@FǕ3̢+W2\;c.FM~I]6W]d#9-#&q=l56~5ƹ_'=sD-7^+E]D~]>{}Qf;sƚߐִ5qB w%Sh6]\4yKb#AsG/>K~d%t\ ԍ]tq8(3h:%TidžWWC:ooBrjxeb!^\vc>Fy6ݐW#hs y~NIz(?Os0d?@tCmtkv\z=A5>A\ðc bҸ:̅WK_uJHY_#[\RԾa j…빚\Rڴ㸌#\w+\ŋëj&s]rͯ8luMUC7~I7۵\qGpqsWޒ^ā1({?[z5;KR=5aIvGkm.h-%@3B"ժ|G(D$aqv"Eq#s!ڧ \e0.coZ3D/W\!EQIگ,}6e I%犿np\SWW C%l(Qϯ\פPݷV piL&b½pOT7y'uDRTܹ/W9BQRuXdbIqޢ/KY WCϝ\b _ru+P|rTqDs|u\ٺzu9痀:`/v>e25[C\Z ipyaE(㗆w塇!_/Ϩmo(ZH_͢7d.h|:v@؋71ߐυ 1њŕye9GxN+ZT5Լr7}'i땏\yeg_qaN4 \HZ4\-r: &tCa 0iF4,F\en:55P~oEHJ_[a39l5^Cgד>v\!;+<*,jĵ7u}QGEu_cpE?Db-ÌPW+5D=`Qmr!ە%ggg6k@I rܣ޽{J+ikٍ ϔd<.o2ը,/.W:nh/5WW.G>kq_)Č&e"ԍeqkM>wΟQϟRVo+/~zӏeeMᅱuWݎᄥ5#dZS\+Yk/͕Q[NY+p)e#;Bf%Lqe7,ndV )Ѝ]^YD볛Y!%,aD =<6bzZoz`1_7}Z>\ogd \-z㻉K {"vC2}̵U~æBK]>tsBΟyZ7e?kЍR_X\bM.ٚFp- qfCМ:ܷԳxhKP\{ŌCh[Y2Dp{}97<WL]Rn\{fD<\Wt/S(p31PW* |Ä.:>JE?\0āgQW/ukeˤnlgr1lC7&D C}e}vXDS pAcSu# }ŏe^cp% "q%|!cW]6 JȯZ\ &9W"j={~4][uüCQB᪔ Fn666((G$7 w)!V6Ņe\^\gUzF0_N.  +kЋ [XXpr!#6_ prqtOV\۔˅XoƯc50Gr /+n*eU/_[kH\U Fzzl lp>m vFЍAnR&gݾhZ/rېaA:dJ,fpdӣ *HW21e=30qTf\7 ﮪ7xr (gս&8~\5{rq\n/-d=Z=Z֚P qPBq~SvdqK7Mp]0z Zp܎Cf_`nլ;oɅ{Vko$O&l.lu9g!|ƐN78~/!g؀-*!b);oW+XxWA8.go믛3.|s3bl]iy; 9.oij^Ye V./&X_zZ!J\A?z_p|=_|&O~y/Kֽ~P6aE~/`r GjCQ;Y3_ C\p ?dr6_Eҍ~zAB ԽtF׉4vp8 1<.\!u= TK@H=nȯB*M ܋9;'#ຍ{^y툸CDC\*a~EŅ{MD5lw\׭ *P7#gqCULX9eQp!c͂ƴ.Xx:9",(WB9^9\ &׸o|1\u#ǗoTP7gڄQq^ : ˲LwS({O~9}QLϳQe!xt=#jTVNQ\!Ms/QgM&±qǘ1ř8­1 uWySꕕGϯ۔`aC!\ ͛0x›ͮ\ k^.k|?n\\(>F"Xgp+ )V/k* EOcMrGe-@7"jz0׍i8x|wD:?1Wcdzx|h\وɈQ~/OrKʾ`owgFvq8"ҋ%$w{iaHѿmVZ){lJԋ*hjnZ &vRbԘTz*53sOZmw~RpRvr^}}y >1UJECMq_:S5&F&׏gyqTip8QN}˿WŜ kIze޶;'v&Rb}m"3*u5NFiهg0"֙R&Ȃu"5Uw%:l /t+Ŭs\_n.G+XDp|-:Pɯ9%{k+9-5#wZ at"t+9[]qnln39FepSqn{]$aa#yTʲ2X3,0jټ7[^wck1dQ^A31dQ߸9Q`<'`^#q̱AN{- γ-+ߨq9l59~G^饾o p/yPqkK1{`澡?Ld7[E۠Vg9p?zxǍUTKzЫ 36{X# <4ȃ5k9#+fȼvz[岦pVk/E z96:r}`?{'Xs `^}:tk\7=d ^50r` ce{f&Or@zD)pIKӋ_!]pDv:̈" Iz?<\_3SQy顗㵯ѫ Y՝.kj y<~3cWE\_+5T^ma̳:ܿL%qC}cp[+ >{Bub8OwWF'AW.u1{+s]>#>[}lZt:sy󨄥N)Um>,el1(0- 2|g^?/ kP6ӝx]IUYpu+ ,9ͱc.y04exHO,xjzͱV}fvÜM̱«C͒~EfN}(+蒾~~g? h@5+://o}KΗ*hWyϟq/A{_1Cm?OI>Qy+ ŵ:|_Vx2]1 .yN,C^r+_r@W6ey+|/QK9!IENDB`PNG  IHDR66EjIDATx^/Pqq6F_`|{F7,6b p@a㳇'/ADDaFB[DY֨VXA`[T ][pЁhRA˖D͠ c-e[__-n[3.Z޵:a {TJrO?˰ (C&Y z>c QWbP+aGP 1 Nrdư (C6Y `vrO"""""w; B IENDB`PNG  IHDR66EjIDATx^ԡjP&[7H"~jBo0UNjb B!GJ½qO8ݘIڇ1,K,[֨b0'B%M*mzZ$0';WË-q3{Tq`K;<6F]z5*lR@z. 3 ce;+AaK0-YvVV::0!܇o(] [Q֮`=;9G| ciIeXbXeXf_1(;{gq{QKٴWIENDB`PNG  IHDR66EjIDATx^/A[X/"yv`|Vf.YlXq|Od[,N!Ԡ#ѓ{Q1,AeYZTΠgDU~DuW:5' =]kCs-Wia;ua {a*'36efXj0,|qo01 2 kٗfK.7K(7^1a [2dm3e0e3,ls ʞDDDDDTvdIENDB`PNG  IHDR&$HIDATx^1kAF> XT!6AA4>$D 66H%Xi'n|d=V7)yRvҤ-9PbcWHZ¥PYczcJI˂ 3(_Idz1HF E0#v4}B ږeI^dúnm~NON:6 n @RjEQHkK lޜ3!!/aqZeIENDB`PNG  IHDR&$Hw D~xxMbÑ`E@*VRQDy/cJh_?!i[$\D.r$6GXŒqFJZIcX.Eby蒱g,\dUS[Sѡq/G=_],U7cNrTP&9ul)QʬrK31c l1=6NDR_m%M  6nm|Tރw"PRV!̩Q1U 0j>{ J6PKON9@!IENDB`PNG  IHDR B*+IDATxڅ1ns R>Yhf=FYlzbh5IENDB`PNG  IHDR7IDATx^eϱ A ׁ\d `t` }Z؁ ʀ0[&K#vtnG ':W %.‹$$9@M2 Ifba"o'{ƪ&X&;*;9)+rA"G_; 3IENDB`PNG  IHDR szzIDATx^JPEc+߲M$jWTQ|WB"8qorѦ'lde$G`kb&LdLVȋR9q00n) ay Gkx}s-S P|m{1m;`Ԃ~*!ȇ"yZγI0 XD~c,"w9?wݴ9Mm i#6ǁ,a}Z 奷?EL#(;B#(VpDzV!ф8H Y"YGINOIV`@6p!0f5?IENDB`PNG  IHDR sIDATx^=K@ᛍur]gQʢ("66&[1n.sQN>0HP|r\6ŏ 'U"7Bch;~ Gܮ#6}@)sUr2¶s7q4OTO~~d`& R$x1Mx0Tm }w3O K_(^8rhq@4 p$, 0 ql @ľ%YZq$>#Xu%Zb-l{IyIENDB`PNG  IHDR sIDATx^ս 0Q&1.H7p 8{GtQGn|~ =&ܱ=w/ 0}e1@5 AuhyZ 9 \Ɂlrh"KHR`Lf h[X' h LILH a(=Pр:ȏ:󜷺tIkčbGUQ κ ~}IENDB`PNG  IHDR sIDATx^ս 0Q&1Yƀ,H7p 8{GtQGn|~ =&ܱ=w/ 0}e1@5 AuhyZ 9 \Ɂlrh"KHR`Lf h[X' h LILH a(=Pр:ȏ:󜷺tIkčbGUQ κ K+IENDB`PNG  IHDR sIDATx^ 0Fq&e! "`75))m󎤿ҏA'WzX|%~ e pW iy\4k@'d)Y(C@K>#%k0J3 xQ`#! %%:D t2=4{\9(֤vJUU-Fus oج&5iWIENDB`PNG  IHDR szzIDATx^ @y;vȆ F͡Y%1]Ȓ"˩.+n$ y'+&9-E ~Cyw O@@[B@x QZv&IENDB`PNG  IHDR slIDATxݕ @ t. :m0@bFB=SƂ X!* Y@؝z}D Gts{})Qo\< 8 @ǨhIFqIENDB`PNG  IHDR shIDATx^ݕ1 REH)r-9!J N`@qb'y_05~Z߰ZoJWWa,Xp7> {IENDB`PNG  IHDR s`IDATx^ݕA }F"?9aa$!7BЂa٘ء^OZ4c%קn@,X\/$YmEIENDB`PNG  IHDR$$K PIDATxA av m¥' H've BA Sˆz,7XD1CHP!$)2) :Zf ao#h–#L6_ @UIENDB`PNG  IHDR$$K PIDATx^AN@q<팩+=MPHH8 yЙB5&nwK?IWS/C SS"[v⃦|jmۥ!Qc tp׸y5/P̫W󽝁{_Fb;Po1$[@4b-'ԏԞ pRyKP p;ۺ=L9 :vnh$׆vn(u33J({b7*`; 29@!%3yjC Sk<&v-&Lψ)&ZE(Q՝'r%qLޔxEdU.D4]%#UQTmWP25գJNvjuk._/ۏRIENDB`PNG  IHDR$$K PsIDATx^?NQqJ;؁'.5zcBɒ-,捓l&.0 O!7yU!p İ3DToAmHh;CPX,_4`94@^K=r(껡{};l\+Qq^8Bf_hJ )}Z:P#E*<Tl"0:Ht[Poգ&C Ee*ԏTL)'TX"᥌T(l$MDJr :Bg(ڡͩ[)P\bîIfh(2Bj&5PjeP 3w`~-RIu+E\&a~p> 'S|IENDB`PNG  IHDR szzIDATx^Ŗ;o@h+@z^gGPP .%TTHxW );#1Xюf;5!ĩ*ET-WAre3cpn#G{ip0wbf+rsM w|FOgFelm/f{Z`O >_m,Kxs `(v| x!3w\Y6DH\sw{b-j}Ҩb1u Fjtki=n7L3AF<vVB( &_Ixfs0Z%7\ * p9(7bWɀ sb5H_!8%'ǜQMu>pk L8(\P|FMZߕ: /nspG^#T@l쭬6p)fs G! ;{;$nG'(@m3y!ℸB }=CTQN&/!ExzrO\VylhϽL+&rBk#^.Q7F;=Oe V;[Q$_{ ޙwp"/OA~<)ɽ~z$KQblj" j0Xְ!j'Z„ ΡŪWka/# .8Ԫ( KjiQ ߬ ,\9-=<ܡFCߥBеyr͊92j˜>ŐV"Dܱ;O|p 8D@mY#`xٜAj\~/1d^^PYcŨk?Eni(57!} _Rx̆2f4 j` N&{UHvNSXKg ju q&}}!5 Px<[mmxmj<;G`րZ o 4K\N>Kjg5(wOה\І.8d?jF;fϴL>nnX%|:~$;ɻ:P6@Ip}@Es%?Wtx qܤD&F@5M7I$uC7CuâZ &IENDB`PNG  IHDR sIDATx^͕1@E7C;zj-P h!GAZ+ff`jo=՘=o^^x((d k꼄I*I=fDi42ni4'2Rt.oà kW9>`GyckPP e(l5qdF%Enn:R0- $Qŋ$^ea,96P(X@E T.XW[k z乧IENDB`PNG  IHDR sIDATx^U1@nXhEoc+H-%ZxO>AY`X.\dfag9S=P/iU^a~ȪȺ G ĀU: Y8Xp$ i_X_1C>۾\D1(vp4atS==6JӒҵ&W.:hg ->̻`͕,pO&#(r#ɭ,_&^d9Pv@E T.XW[o\KebIENDB`PNG  IHDR sIDATx^J@X^Ro.EEPaWzX_@w=>AཅCLI #f&7`F1"F; c&`lsK[84(X)/knWo&>j}]?GZ j2eßt < R@$ nɌ ORe;rl>- pFvApxQqXa \v/%(/x~ES&s?VVJVX;z, n*n2d䠠&n/q7җWy䃾}4%⯊~m\/zv wT`d3[H P#wǺ H @,D5$biK\u\>Sm9püC3ukY׬a&n$yUyfGUWyT3TI}^:8@{ rZA8KWֺ BdJ[I/jz,DO_2L/+"6 e--ص2פJu~ c~d#+ku׹MK"HGX^YDx/,TcayiѶ;ڶU @c 1R|IENDB`PNG  IHDR sdIDATx^J[AIPR7FsR|l  BIڍB+/m"+l}O/uƹ/0H"gi(O- !cIP>@?7wC@o96om&B@+話!=" "yyr#;ADe9_prGz{Qrmxݽ,ɭ7P5ie }M LK̵2~5v#.#bvG̑]߂BQ a2=̬`V|s1஬t.گ{>\ +{%J`e%pf_?^y|AX—XNqٌ0|# A\Kފ ȐP76)%u+6ybSV%y/i8.݀auu<0ԍY6J;xkTy##:p\ACq%8a 6v 0CL3ܒ1)YV,)SBFO^&!L_iǵ T: mIENDB`PNG  IHDR sEIDATx 4\@ /6`BfHI `BhpׁFÈ IENDB`PNG  IHDRCEIDATx^픱 AX`ׂm؁t#0]#n5̎'xO#SdDO ГQa*j$mk_ҝ՛ qaR朽!N4p80{۱GI5҅/"aP0zFIENDB`PNG  IHDRCEIDATx^픱 AX`ׂm؁D&{05V#AAxh12AhH=I5*M}f%Y)Kn/eD H'h$Qsy,]:!Fq #PIENDB`PNG  IHDRCEIDATx^픱 AX`ׂmX؋XO Zo'iGKNQ\BHhBIENDB`PNG  IHDRJ'csCl0`M!IDATxc@08@i=IENDB`PNG  IHDRJ'csCl0`MIDATc? @i8 D5sIENDB`PNG  IHDRJ'csCl0`MIDATxcp_?8rNd.'LUIENDB`PNG  IHDRJ'csCl0`MIDATxc.s\X0dB@&4KIENDB`PNG  IHDR0:IDATx^ݚMNPEʈ2F\:scE8q JW+8`56$g ]gChۿ)\1`Fdy~YAGdy~YAGdy~YAGdy~M>`\ oK X攬 hpbn. O1x08ү kp jL0`wsY1pX@&YT8`j(PXp|OH"odsʏw`y58TOvrY \/-//G76;hXúY&{ (cg%bFL@om"0 sQGκd̿[@+ͧaIENDB`PNG  IHDR00W{IDATx^=NA) 1<j%5 `m*J WPY$j6;>oc ~d?ޙq'1L"zLqh#3,kFn[?IENDB`PNG  IHDR00WqIDATx^?N`.6TWL$$l`N^U; +(&] |:7ӯ5{ AS+ ؄=4;-G)(+fW9\DL[=`O94z |s<&PpqG} p(oL(I3#ezOUZ[Y.[Ї;/Y`ʈURWyx۟lhLD87yv l[k: [LW|5X&B$KC4 ET!c.TQ7főIENDB`PNG  IHDR22? IDATxZ TUU> Nkehi-\=F)SY-W& "LC lt-_XBqF " y?./Ξ;C( Tڬo~!v={HPPxKeeeMMMNwL&v#P^^2h0a6B}|L 7_y5y"쬈/Ljor{/~E(11hVe_Qv#N.GabuQ'u-FF?~lfd46Bq\V<}pR#q w Oõ*n)imMmo"E[mfr&{A\&+̙V4Lz(o*Fulc&}6\@[`S2l qH;$v67 3b 6ذg!Mi 4̏ ׺ֱ}צ.n@[UjWSEcUJ|!q'< %Tfm3s )3^XVS4$УG8dS0 κɳA6 ae36Yo쎧[GQ[ D3>!uC -w :TAOKJJv:t6[oRoP#./Ε' c;JIe'cPȯJal7.2e\62xh^wo~J^|o.LR4rpz3ά5 ܬǧ?]˴iӤk׾"3ja6K{Hߠbe v*h" 50̠7\jkJioܧkҭ[X/ IF#9sH˖-C]}W^=::`VVV,v\v".iqK."twt'8Lž'$$x#2bĈ;׭[`K? L>]*ҠAA:p>^^^ҢEs c-@ ]Œ %D̈~I#Gq [Skjjk@ $wqw\ܰ5XFN<{nǞZJ]͛8_\!~h?IENDB`PNG  IHDR226@:IDATx^JbQ{EoD+"eX ZвlS~ z_w, zCZpwz39,;pa~pAGW̥Ckψd/3Adϗ..ΗE^!1g ;a&21㫄H&2Sx"LBa<D'tffMq#:0&8Wq DP$qϊ"|@znTg4GK~mB830a4ZǎMJ-|GTP83Q :xNS/Di /u ^4$*!k&K?.OW""̣y𻆂tΤ;2%FãmHyDXox5b!o?  (ZcID[b*(b~䰈`޵Qnfҩ%yf]\gbIwQgv]4 3UW=3"*aftCSyzO7{m&af 2UBGiLq넎7J6n7f܄q3UB܌p#nF%ݎ0f30Ska5"fJ`8ƚJiafED(KFrZPGA2/!A"ļd,^3  #$:h.MIENDB`PNG  IHDR226@:jIDATx^_heO4]׮跑]Wl*xU !0U"(ƉQo'nNJ?l/4R*N^tkeh.X=>yyM}@~9I>x\PXTP&]x)]E;q*Y*C9HQ2Tp 7ƭ9mrX@$(N)"'s{!҃_&h 9to5S,D _u[uh@4P13KLCU T%_$H܆C1']eE@?gCAո"Dtr6^R112*NElѼC~U->D9H?qVBƀ(E>qЀ)IdMu%" QJM!\Qֳ+XJطe@-vc#gIl饜C^ `q%[xg k<эbxVܨDZMHz1Lrfȱד3 A6]A4yP1PA6jC+OKysil!"BhFsّ^l1 AR@qǮO/B,%{1H/9/dԘA.R@T/}5a >XjQfK[<Ȇ(-09y(*e)"wίIVrJ+%A6g鋣ץ=Rlu?d)חЅ,{"|v-fΏ糔C:r+SCzKV)DKRw}4Ÿ vR cC2FC، :h'{ن3}+?)Bt0̻  h4x+ 𓾺44者o9Dy'1at x =ُGmhA9Dr5نF;:hF=jP!Nhz_AM.ԄFW!? ?A0z!* /䃗BuUK %y B LcIENDB`PNG  IHDR22?IDATx^Y pUK ZP*Z(`VES- RhF* "%R!{B $ l/dݗwN5LjL=3ޝ=<)5keu@dʕ4C|l6Ns%@\vww655GG_CC%Kyon>&iBggVy= qV?VVV$**'::ZHHHMLL^RR2fy#LSqV ]`Aƻ!.].\0 ׿( 5b,c 2VZ`6i<]2ʘsf{;{BB+vK!a愹5=>scH9ܹs}̙#QYQ1c+X%ۥVv˦e]R4]dx{Y jd;Q^hkm D4q3l[FR%'˛6ɳKYdԩmx{Y=Bzq `GM'QTX8n^w"ncJsyl8rD}_\d?H F1KK=98V۝,EUUY9?#06RKmt_*Kl9<#iw۰aPE(Htlc2 :9JęED՞=-?_؛p>x{9Y%e#CcNJ!C|4adpA#z?7;mƍ:W!.dkBE"J6LɅw]#8{picmgʚxɂg ӬtV6:b'Q+KvqK-[6CӃVL*|[ׅ4H$֬"D *inthGEFK3ɵ'5'"_=W˟:84I:/PA.eCFԓ\`=hZkj "B{CF&EeU}A!q#Dw8q@C ~5553QXn)ֆ ݷa.D=(`d" @Gw˂UعYz:Q&H]#125 裏2ڪqm*@cPsf<`C (&C*g t?//<䓂EM|a&J֮L#:@&"ի[CHv4f? !sI0I ٌԌ'\>P LC @K ;V.ДPu-]*<7ӉP  *N>ЭW<0وY#Oj-"Σε<>? #|buT/86s&kA ٸd'kH#ÆFFGzTd s L6#5p ־fAA} ? 3f/P(Pl딊5]9F[K_{KІtZ, #A ɀKl9uJaO }MuS{ƃu y|Az>:-!+4D(y &N*wL%+lFvܪN h)'J4YM5, >=;ẂmXت&NkoE #; Ns4>maIId+7J RB6nv.CTi:OCPGK^CDגa@ O @ل-*!vn}u"M:.a1 aD~LCǠ6H-yV-2#l](vj{sN,T${ BeM02* @ Q!hs* [3; d (+uR򃲃Zj-Ŷ #4c:1M&eA4EvR^HNѬ/dR T܊|f"A 1 DDLT\dlt GCdoqԇq @ J a"/"$˂+%d.?(7tQ4}f,lӉ (MQP0j=?AC(C8{<ǟSxl+?D-`8muu׉F:((4@P`{kH.Yw)YkI]44hq:oTXkN>ydX[ggrP2h DMpO8 9Jt %t*ga&N  -E)l|o~ONyiMM{cKvn(W)=2n-inCE͚PAyרhc潱m߶mϺ&M41o޼i,f2_ !802H U,ٌ8DlanuǴ6i5H 7b߶zj_c-Jlܩ<"z Oe;XJ O{R Xc B8|Z\Q2 v_}UeV>N+n/((xu3N/cBnQ lѝ Q充QiRR;5MSGEyK#!=#ARb=G{?2ThGCfG/GmL/2Z471,2ZZ@-UUQY2 W9Rj`v4 x$ R, [ HtA_ZݬL~;v,MuFFƝuEYYYbL"㚰pO 9O?-B OLNYgD-)!?^3f!ᇚ8Z!PPhSPtȖـr ]xUC 9;[v^ #S /'$uuK uf?^8uԠGQ;k BJVt{"ÜF\7۹sm~uoׂjkƾ`!-.׆=f+3,Vk&X_M֎kV@?LKKc 7B9}RSSyz쐐~8h<iq2;#` NX@ H '%%^vDvkT0|ehlٲEٍF\\ܤӧO/,--}'/BZ{@^(ߢ& O@x뭷~=hk5 0?-"U`\FɅ0Gւyhh \,g!x\T<]Q^V|g B RBz$Ԭ—uK NIe'1i0ŢLQ"L`~~>,S=AȢJYO@K+l c>#~{3^KA /J¹nhj@gl^S2O6Jra= =AAf<|RUQX%=TM@cʚtA?(50ufZT*ޤwLAvh2.,Fȼ,? Іem29fsCoo?x$}믐,瞄M^1C_.H+JXQσ^Fsj[z ',ȼyz)"FdRYwv9h*kOH( TT\(6VD 7rIJFi,kP-*+Mc~v\6{|;a2/aAHV-P:ƥf^Ww'$Xj]FV'#\ߵ?.&|#v#im3 1՜;2zgǡ m6,k'=#a1޾~.KvC4DHLP.)IH ,JbI+!SGܐ۷bQB5y!ct߱g?zc_cݞ7 6c Û!=gQrʄ zFt0Ž+l :x6]7_#*uYFa=Ƀ%Eɪącqefk5p7OS[j8rECYòXݓ^à,DĤc05w5\|-ͳחQǛd[m.;T~1Q+f ӕ.}~km uHؤ Fe9C}}((J1ኪGcKeYEPsj!-uc L֍ .lI"(%pL:DHeذ{\,{FT>\5p 4sJVRAaRb)(Y&pQQ)tIi$&Kw!yEМDQ#YS7%'%QxXʪW0'"!!71R[mdP̒5lLj',r"L\K%U>NLdwe5K(l4QG%dn}t9J";{?!UP`\S^Dqq_TDiiuOTVjc%_?F#QZ8b`JBah_IENDB`PNG  IHDRѝcsCl0`MIDATxc  dp6IENDB`PNG  IHDR$McsCl0`MIDATxc @BȲSƩyIENDB`PNG  IHDR$McsCl0`MIDATxc 2@CWƂxIENDB`PNG  IHDR@"&IDATxca _82 "~AF?@ "10\%q0IENDB`PNG  IHDRnIDATx^=/A3&$D#AK:Ej*ՆҎ)<[۝3Rդ5cxR5qمuc5|fC^OZ/\5͹1JUbsb龿c9̱nw. $ f8T-0]>~.nn62F=^EINܹśnK箝S hTm?އ᧾b4I !"EŸҷ k:Z>@=}d +E P#a7D8҂ vIENDB`PNG  IHDR./ CIDATx^jPyGCݷu&Ku[S.CG.YZc3ߦ'&C|I bK7ia6,Sd qF s qzf.@!LċТCK~/gƻ]A'8 ےxB F4M;Ox.L'׼<\k^yy&˿8"S=IENDB`PNG  IHDR=IDATxc L , @ePjIENDB`PNG  IHDR.]IDATxI0DbL )tc jR*aQу hw`v:61w @~p^\!_8HKk@kkXde${A ;"4 d8>8 AM&H AFJ (1Ox"Y*l>lS5'T (<`~ɟѢA\;DZׅ1P%$5$qei\51}Μ 1'Hu3~nܝ}6w^rn[u܂x?s b 9OpxIENDB`PNG  IHDR@"IDATxcd0D  { IENDB`PNG  IHDRnIDATx^л A F]/b#V[l8#y9gG\x@L6t\x0'GF-K$lp0QnP9+ns^ ;sW ۈi Y/'\"IENDB`PNG  IHDRnIDATx^ν @E᳻nARؤIL):8 AE0rOg Olt45ՙmie`CM? Nzlf-Q\x;qBуW#Q\|%'Oqb61/$/^R>//_%IENDB`PNG  IHDR./ IDATx^ @ D16UuA scgAB?Y4uz%TqCk\WE)ރ4=DS4=@s4=@s4=@crB69iT=%5]/\K]IENDB`PNG  IHDR9f)iIDAT8 DѡJ(X*t;b8n삳1<ۙ20mEpϡ1idmjcl 3lKس``]$hs>:aIENDB`PNG  IHDR9f)IDATx^1@F0&@\ p*wDW EC͍{2K#2q q#nU8g.*-d܇xHC7%.ė,N#s9sqG+E-%H%`hGŀ!K ~1$2_ 4IIENDB`PNG  IHDR9f)IDAT81 @Ek-R؅,@bPqV٘ p *' iB@n}|9Qu~ήm Eh4n7o;ոƽC4|G.z :,!eqN+HMh`HwH1$|/jrIENDB`PNG  IHDR9f)IDATx!0@7@/Z85Y%z1\'Y --Y=;tKԓc1o ǝXH Nj# R/Kbw8x c-0 7l>_^%xlڵf%NoVrxUOf[!IENDB`PNG  IHDR;0IDATx^1 @Eb x O"*FQA KQ+h-ؙ{|> #W{SB}a OÌ!!q96(-)8bg&GII3Qʀ.8m¸ p5a{4a kx0mge1ٱW[[]3IpY6ɸ'5vn٭hIENDB`PNG  IHDR;0*IDATx?/Aݜ\ɉH".قƟܷP)Dr(0j%%j+zf3l37H[1dɇrʄwL~>%+p7xp"&ڕ]E$Q4Ew۝[S; Nufw8}c.8ֆ6,N gdx9sC '8ᅵǓ.XO>s+WH~Gl#_i &`fY$T4}̸:8ɴ#PNUq4!Ԅ_] q6IENDB`PNG  IHDR;0IDATx=J@F“'ik le~a2#i&ps;cz/m `ɧr L+GH_d/yh~9pQw As{`:S|j޹Aƣ0•W8[.tj֫ORhT]GWIsq蠋NmX@BaޒPOCa#C/?2P/IENDB`PNG  IHDR;0IDATxcxbEl@< ;YlX1t0H/ Y 3Ty 2lL-NɣZ.ٛ/&@˗,Hicd,4oeؘXPBY= nKU,CIENDB`PNG  IHDR;0#IDATx1J@Y"6ŠUw`!x -ьAu8#n40 LȬZ*W`:}:̴e+GVuS,K} BIENDB`PNG  IHDR;0IDATx^=@{!D"hcca7Ĉh䖖nFPu QAgpFl&>2{G7ą8\ZEdS3h&7 QIAb@DBJFe) baLIIENDB`PNG  IHDR $BiIDATx^KaGY݃Dj͸֭-w x:(vPOR (B^# ]f>,/ev "s~fa?Hܔ2H^nmg)Gm˰Q4*!wq0]ĀRg-y(q+&)34'/5 5X|y 񖈏F$jyV>ϷX&l9y5zާ+b>-z+B FxIENDB`PNG  IHDR $BiFIDATx^J@@ m+D&iVADD,E>^K5=0tfdQhm&QUTEyWUboX8tXSkiʧä|TApT)a^iA Rx &L݁w h>bn#'txp:7`1aGynBM :?<ٞp&MbvR1IN4qfrvyE I4kg{obADD:Oӹĕ&qYLłh1AWc/'"bH%$0)_[;P~[ƮqMyiӄ7mKx}IENDB`PNG  IHDR $BiIDATxݕ+aeٛ Gq Qe"JPa.aRJU24[j;0>n_TKtJ]B˛],#8y+ݿ2K5(1!3D$^IɩCI1hS#CC4U $+)3Ѓ$^&1a\LQ`Yx7}C .U6=t08=}qO_ƒ)yV{#YFDԧ>;?J8Sԧ[?TKd(:: ŁJ`5d W%l;v,^" x ~BHDWI|O ky3O  dZmNDj%& (Mif"* wFi4MDxYAzTi%rIENDB`PNG  IHDR $BiIDATx^?kSQC.jAw!(5S&7`Ҋ 5 AD|'.PD(B()ziդGBn{PD).oze&`:L7 #=6¬@8Ƕb£,|c.`e+Wyd ڗG|UQm| /Yޠ:'pgJDےWfy $!9 pq~/8s%zriɓgiPezܓj_;Wbo^HP!M4OU8oQD@~!tAO^=ţRϮ!j B4sԏBⱾ(P(u=ˤ=~RqP&/ H!( ް-@݌G tM_ $@ <_2 ix.tBYIENDB`PNG  IHDR $8IDATX혻QW"O %q齈 A$**OՋuutb&}`&9>b"t>3mrO&= q@ omeYZm:z 5H[@c^mHpppp;^ɥdjharmrˁÉ|*/t@ E"Hk"*OGH69< pL}IENDB`PNG  IHDR $8IDATx^MRQ 'A/P (N'E` #7BCPjd/Ѫ e \Lf?,Xks.<^ʿp{޻RHqL]w} ߡt(r@{D`0&po:< ~M\tI6'@<ge K <[@لG>T KV^łbHd6033Á9PN@ @9Ul6x^J%V ,"|>3@i4NC& )P"xV& lCP($9b^W7$Lh4ncee KrۍZ&4lLXDD"`$_[[Vȵ b1F9BAȵ ;;;#) v@.Ed'?Ok9]R^~I&9wOHW[|{s{ZK Pk 74bF1pIStuiJ8(r}IENDB`PNG  IHDR $8IDATx^KkZAbCWn6VJnλI*ua[i"P,K ]DAW.E*DƖyE X(=pHR,$ 3moockad2$rA\#BI[@"Ztpp@l?ggg)9ΙLH| '''R2@lV1"?pܘɷ@D)=pŀşFGk9p} }P)JCp<|KlYi"r\“1 N Cθ?ch̸1 αCT B!cT#, .ēIENDB`PNG  IHDR $8IDATx^Kkav/QRQd=(B+p!Ԃ !6 n **[q$ql)Yf!w~\暛7$a=}ѠZ&08+)`lRەdpo6$pHmt:) p;vtzzJ\rxXӑF!ZMBq qd2 n2T*V"nnn#p8r `ٌ8XR*Ib1DpHXd>D'Fplf',"#dz,å`XE*E, W?Z^ X]l=%ax(`7\ķwRf7 XWܼ>мwđ XO_BaP\IENDB`PNG  IHDR $8@IDATx^헽J@F.C\M >?(ZV>`+nAfrLd6n8pϙ+0}Vwͳ|Ȥ y6N7e(p_9rc ip'eZ?e@ icp w otHHHH~dn`-ןP/Mp=_U0$(<̈0ܵ<`te&fVj&֥ܟQE6"bS3YG~eC:XUnhy&p?J2 -jIENDB`PNG  IHDR $8IDATx^!@ajz &p 7$j0pj Y [0/)kTxvOv:"n8w!弚GB{48o'UU%2 @1@1"h@9Dh (@ P,Y^r`u mP)|?iƈbi@+vNxӞ6 ߾!0)bIENDB`PNG  IHDR $BiIDATx^?0M:,&L Lp' 'dU4]-no|gHr\<*ɑ;yEܵOSo>z)lTnazPo@8xNf|ؿ)NAl(R2e($ݏ%D(@ kbIENDB`PNG  IHDR $BiIDATxcO!.001SL^p?⇲^Ca?xhC€[@g$@W0€QF 5`ԀQX(? P}E܀GJ6 1Cp%Gˆʕ bAR4Us ’IENDB`PNG  IHDR+h!.csCl0`MfIDATx^ӽ 0 i(A9h;yڇL:E׸_t#7BcKVmgI}md;\V:ؾW`kYv;[(.ojC\s~5IENDB`PNG  IHDR+('csCl0`M IDATx=AWYq;k\EtBa-Gp 9D֓1ɿ7[j,y!CX/kh40IYQo|y͍~ϸr;V16X>Xc{>č7~{v u;mNJŶƕ&w(*%tsvk3MB>(p,"sT`n5tu-Wk1ZAǢfA *rk8IENDB`PNG  IHDR+('csCl0`MIDATxcXjfac30NO@`P,dž ~aw,C|A|w,ai;ӡtr,IbԱt迟?;x4ѽѶ]@;:UA=б@J1x0cC feIENDB`PNG  IHDR |l%IDATxc+o\pI0ᒐ%C?cagj&IENDB`PNG  IHDR |l%IDATxc+_\pI0ᒐ%C?Vr.IENDB`PNG  IHDR |l"IDATxc|+C\pI0/Na7zIENDB`PNG  IHDR |lHIDATxcep P&fL .CY6L nL Ff db`K/ %a.WIENDB`PNG  IHDR |lIIDATcg|J΀EBU4+;!, 7 #3210I$rkPIENDB`PNG  IHDR |lLIDATxc ? i%KOwRPPɚPx$˜P p)a9HJ CbF/:IENDB`PNG  IHDR |l+IDATc `c`a)Kx\v%o$:6*IENDB`PNG  IHDR |l)IDATc `f`a)HS<.;xC7 3~IENDB`PNG  IHDR |l"IDATxc|+C\pI0/Na7zIENDB`PNG  IHDR IbK IDATxcP8/YAHIENDB`PNG  IHDR IbK IDATxcP83I9IENDB`PNG  IHDR IbK IDATxcxP8y1IENDB`PNG  IHDR vIDATxc qJC$)<IENDB`PNG  IHDR vIDATxcg oÓIENDB`PNG  IHDR vIDATxc ? qJ2#IaRIENDB`PNG  IHDR IbKIDATxcQ8/e>IENDB`PNG  IHDR IbKIDATxcQ83v^emIENDB`PNG  IHDR IbK IDATxcxP8y1IENDB`PNG  IHDRB |`IDATxα @@F'D\Wz TFCg]W{ <6Ii15ODiB` HzL HMxy 57Qx4L2IENDB`PNG  IHDRB |_IDATxλ @ \#;۠\L*6=8Y7ጻ:|Ǵs&y-ڼ@a\NFJB6P\䍮|IENDB`PNG  IHDRB |_IDAT8cX32 QG鈇YQ1-:y8!9_#Au a` IENDB`PNG  IHDRBFIDATcXtɀ GׂdsdIENDB`PNG  IHDRBFIDATcX?tɀ GAJIENDB`PNG  IHDRBFIDATcX32 5)wՌ7IENDB`PNG  IHDRB |MIDATxcb`9bNtv jgڵt.ePĈt , ($21348V"IENDB`PNG  IHDRB |MIDATxc`8110aA }2 t¿`p p DqĎQG@lA*-IENDB`PNG  IHDRB |IIDATxc`812830a[t?egCsC:;@gC!04J#v:L%i皴IENDB`PNG  IHDR |lIDATxcπPS Ŀ8$~96<IENDB`PNG  IHDR |lIDATxcπPS Ŀ8$3+8IENDB`PNG  IHDR |lIDATxcπPSĭ8$x6ϷIENDB`PNG  IHDR |l;IDATcπ0P_AASRFL IDX`g "UL*+XLIENDB`PNG  IHDR |l:IDATcπ0P_AASLtfNL I &X`g c`*&JN;IENDB`PNG  IHDR |l7IDATcπ0P_AS}fLZ07/vZ0//+;8$@i$IENDB`PNG  IHDR |l%IDATxcπPS Ŀ3*]$=/=IENDB`PNG  IHDR |l$IDATxcπ01PM Ŀճ@ K ,XͫϪIENDB`PNG  IHDR |lIDATxcπPSĭ8$x6ϷIENDB`PNG  IHDR Vu\3IDATxco44 ٗIj"Ih9$&PIENDB`PNG  IHDR Vu\2IDATxc i<*iNO$ӏHo4 VY .AIENDB`PNG  IHDR Vu\.IDATxc|C4ܺu4 vu?Hck`B(4+IENDB`PNG  IHDR Vu\pIDATxc?2zp ߿ǀ77 0318'TwAffFDԼD{YX832 w0C1HC!@ d&␢IENDB`PNG  IHDR Vu\lIDATxc?2zp PPAVF3,Ҳ}8٘kQwlea GP### bbVb4 L ! EQaYR.IENDB`PNG  IHDR Vu\qIDATxc? ֭[=zٳgx(ix!q~|<};w4cL ? P&t&@M|9##,40B5@&YS||IENDB`PNG  IHDR Vu\:IDATxcb1 O$h"1Di` 3p" Z;,hIENDB`PNG  IHDR Vu\7IDAT(c"333 `0j`ddܫi8=UWTO?"I4X v 7^{IENDB`PNG  IHDR Vu\.IDATxc|C4ܺu4 vu?Hck`B(4+IENDB`PNG  IHDR IbK IDATxcP8/YAHIENDB`PNG  IHDR IbK IDATxcP83I9IENDB`PNG  IHDR IbK IDATxcxP8y1IENDB`PNG  IHDR l="IDATxc? |߿ϟd TAIENDB`PNG  IHDR l=IDATxc?2zp Pw錭YDIENDB`PNG  IHDR l="IDATxc? ֭[=zٳgd PA|IENDB`PNG  IHDR IbKIDATxcQ8/e>IENDB`PNG  IHDR IbKIDATxcQ83v^emIENDB`PNG  IHDR IbK IDATxcxP8y1IENDB`PNG  IHDRB kIDATHcX`ſ߿֕o31`1Xx+^(Ć+ i[7/7g@f_?ܱYFi z0#+( a9 `3ZIENDB`PNG  IHDRB kIDATxcX`ϰ߿֕o31h`1R<[W~3 ͛ P []_7/7g@f_?ܱYFi z0#+( a9 DQ0 bOIENDB`PNG  IHDRB kIDATHcX`gϞ kѣnoW?.0 ϟ?#% >|H\@g|Νg.#΀7o83> YGOg@f_'|& xG\# XF( H%IENDB`PNG  IHDRB +IDATxcZvſ߿֕o3L0Rr~=kIENDB`PNG  IHDRB +IDATxcZvϰ߿֕o3L0RKȅ{MIENDB`PNG  IHDRB *IDAT(cZvgϞ kѣnoW??N/ޥ;#IENDB`PNG  IHDRB kxIDATxұ EQ+RKֶv1P@=ÿ[5a &v6 9suٲƘbgdE1!T |Bx~:"B2 A)B >\ЩIENDB`PNG  IHDRB kwIDATx^ұ EQ+R 6b11F #=N^0/hWAʷ$…Yk kJ.bIy0g <B!4cB| 1oIENDB`PNG  IHDRB knIDATx! FaHlr &4me y5-tc{/D2[A*DY1,B8$AD !]CZ @|疨TIENDB`PNG  IHDR Vu\*IDATxc?)`0jAߤi+*/ޣIENDB`PNG  IHDR Vu\)IDAT(c?)$`_$Oh`#Ci8+& $IENDB`PNG  IHDR Vu\*IDATxc?)`0jA[nÇixوa(XIENDB`PNG  IHDR Vu\\IDATxc?)l@cXlXXq ̌S!&v/Oc M j< @f&IENDB`PNG  IHDR Vu\WIDATxc?)l@cXL2]8p  L q_ACSHcIENDB`PNG  IHDR Vu\NIDATxc?)l@cX d~ŚaGbAXYى 4Y4##PF= .IENDB`PNG  IHDR Vu\2IDAT(˱ @ ј(R Qt`lǰ-HwۂT6* IENDB`PNG  IHDR Vu\.IDATxc?)IphŌ P, *ĮIENDB`PNG  IHDR Vu\*IDATxc?)`0jA[nÇixوa(XIENDB`PNG  IHDRԭ csCl0`MIDATxc```e`[IENDB`PNG  IHDR!}4csCl0`MIDATxc`d0f`e``2 A0#{s IENDB`PNG  IHDR!}4csCl0`MIDATxc`b0fd  @ s=lIENDB`PNG  IHDR?csCl0`MIDATxc`d IENDB`PNG  IHDR?csCl0`MIDATxc``eIENDB`PNG  IHDR&$HIDATx^[UU}vtt33/E=hfv!Rz0!",,z*"4QgF訓6gf{]bpyr!(˺~k>o,) aՒ.`~`oF,"„K/GVXN(" ">=nڸ-/F%'S> 2m #g*WQbnISFh3'j 2DCzpX-%XNֹϻ͸~FZ`& DpI<1X_+NMs/>UljSSSu ;hm"݂0,[B(T)LxKڛ:Y|iT-޶%Xv|1gv~b/78pYJܳr5QL6+(NS.&17J:·ʐOF}\05&z\[Ajo :VOcesqz1ޒSv<11V4Vհ8}G*;"c*?'9p+ -Id۸h4lC>KO.:>鄲ѩ۠% -ɱ(UR ,ڽmm`5b5.{[l)L`ZT?ZH$!1={zw**W[h 2k1W.Fg |Pƒ0z7B[ˑ < Q7]-8!"8~:z[G)FlAgb1^zxbr@RP룴*CC9`:pYshn M³b TkA>JwcC/ϧ̓;'2g+)%O?v14Y+ٲN=I(1Y72e2*spSuK*f W[w&I)k_pQt .|Gf,y(wFT)G #FS-R ':G901r1$ ZJHmQ@G`o0ܸx[QYƉ𝏑&"w\wM3Θ0A`4V x8h`łpg \}Xys5.>p+b,  {ko\ qKIENDB`PNG  IHDR&$HbIDATxKlTUޡRQyȃZ dhqC ܸW>acD>D##1&ƨ b[ 4SΝs^`:1ړv~s˜e8"?VaQMP rbZq oUnl| x fAND#<^qA}kJ^+N[GĨ,>YC {0)o[})[Ǝ :ؾ3~U,C͑ q5ɮvѻ\=MZGك+đܮpH9Uv\1*(6#1 8?|9[{K+W4;+d?i^(rFaFJ;53 1yFϪ%7twQsyXxN1MEgqʤVԚ>Aک-}S|MKͶ湑96&Zlq9[ߜҠ>}w3:ؐơ%;TPeܽy/MReKɭ{+m-G'0aUsT ffu<2ʊ+e VACTƴ^2)vńf} .3$f:&MNNM*E9X>>=X֔N>Y^0>;u!v6} `deO\l`iδClx;/4 'ywhfK t5=pZgZj vgpBnwZ_+NĦ pЩΡY>itt4`8]c1w^Z8c ,+bKJE=ruL$V[ҁ#ڦ%[8*@8cyQ,~NC,q'`>fb8ԬU ,c xgE-؟=b#o IENDB`PNG  IHDR@4=csCl0`MIDATx^Ԙ銝E=#nŨWaPaРH ޔup\ɥ)36ֺt^m@Ȩ$5w4wFƨH5QlkK| p0 f4F"w>nԜU 8V V68S Rw>ZػD_MCQ#7x2e$;po abl ۙ: P%7<,xm!^ӘkcS\ZVKPD55 )߾oUw69Z/• ;"QCGԭŽ ]81;C%b"->GA*fз|uf) x.\ݫLyBWhZ5#o~T%1'd f(R lp7(o|O *]F{4oRAl웇XnfjDz5PbVbqxR/kS+pl **l{Jtج{ܺ}ltn,ƚSUl!TI˜xݭ ŎȯRdAnW6wV+v1GQ.EX'G}:> )*5lQBnp"O[Nf)gVW49#QppX;u@둼tb7#SG1ضmo" |<0Zȋ^Hlͩ28~I^BU~ny؋lXʚRzJ'gՑ=L~gff_G3KbS'˷zCp`v;='q a[r @IǢg7b!1e$ D==$ޠ>}ąsoJboƷ<||ܓ~d7RTƱ \?M GbQÅ`P?-[a*!`E^#;F'nbͅ$ # ԥmp0:k 8vd)Ec^W>!& M?>̤0cE$Qmɓ't8|YlMUM쫻$fF/Ղ 6{`&k:Kn~rl_Ä)!U[q՗Wp3c(vq؍xŚN8H}T\Uy[Y!<{\ǪWΠQi7Y QY[\A.:g 9 P{*f`+- `!}X)3VeɎ=;6c:Z 6i"/V(h @!? xZ0G׮]S$P/k |H_(KBnP 8lI҇iYJIENDB`PNG  IHDR@_XcsCl0`MPLTEݚݛޠ᜵ߝߞࡺ♳ݟ᜵ޝߜޡᠺᚲݛޞߚޝߛݟᚴݚޟޞࡹ᜶ޢ⢼⥿夽㤾䥿䦿奾䢻㦿䤽䢼㣼㣽㡻⤾)CIDATx^Ir1SR9N,a[j] 7lm>W.Z4ǽ%s RU4wFhH/_YӺQČ]l&†qa3Af3;c.D@ƘA!0B@ Jiu6W?vٯg0(*| ك/b@ Q"_vKekץ7jmsV滽lFZ8Ku@PP LU#QpEInzu= T&*^I{Z.۷X;ck><7~:-3cB&hAvZ`|ZjtB$ HIoϙhIENDB`PNG  IHDR.ucsCl0`MbIDATxc-D%@I+0`-jxJ %Dڡa `%t5S3#x[. XcZcsGIENDB`PNG  IHDR.ucsCl0`MjIDATxc={v#-D+W{Y$p4$//)1,K@b0HаW0QtyYBR<-@FK,PcZc]d(`IENDB`PNG  IHDR-YIDATx^ɱ P@3+PђR=!HBeg)Cuz%Z}2.V/3Xz1=_(P"morRt6C0UIENDB`PNG  IHDR-YIDATxc1`PȠ NalÀ ] }@z X`C+CCD6[0&nIglU #TC0k3UIENDB`PNG  IHDRı%IDAT(c@0*bdAI(j#FQÈW4Rqf;6QIENDB`PNG  IHDR-WIDATx1 0C@:*dx1^sE_Q"Kv(^Ƃՠ opʤ*D]=WUn?& ?HIENDB`PNG  IHDR-VIDATx^ɱ რ2inGN|I,<1sqgeϨxuK(aW(@CE~ ? GIENDB`PNG  IHDRı$IDATxc@0*bd0#F61DQ1Q-^ LIENDB`PNG  IHDR-ZIDATxɱ P@3X䫕@(" xOy]M~k{zV-FFK+PlRM28/IENDB`PNG  IHDR-ZIDATx^1 @wF!4'((h*_.{G5=$n4@Gv lČZBc*Ea[p^r[IENDB`PNG  IHDRı$IDATxc@0*bd$FQ1lQd<Q-"V5{IENDB`PNG  IHDR&2saNIDATx^OHTm5O0S}4F,& $hJD;R">hcng JBT4C T׹͝{Lg|+`gvK%(ƙAzoK޺HbL[6tCזc޶Vo.!965>êELru8|w|/[`3௳k 1%rZĶ36cN@G3`}T1xp Ѳ7 8-IQjU"9Y5=r=Ub.jQ #q T\넋ˤo];sӏ(y?l9? AlfqEvC"0w. q)Vnm |(-WJq߾ĕ9ayeՔ] _$NT1LHE!ʄ`%I2DֽM!S6K4ۓ-vg&%뛥3ɆC)n&)̔A?D n"lVɨHSY$Z cW[ٌI5Y: f=u4Gz)RɃ& wyhdz!i#WB#7sn!J>dpQpc8ȟ&+MjEOSrLQ|"Ow IʔH.x20()+|+Qd3@0D$}1%ɐTJg0in=ZE~^YKaoIbl3)0" e1If󿘟 QIENDB`PNG  IHDR&2sadIDATx^ֽn@ `/P1J]*Kɉ)o03<@ -#d`o.YrDnW4p|[:6ܓRc@ՁiZN !=$< : nz0=W7M^cl`WjoЂϵv7.~5srPjwppn& YyHU+ZGDH Fp~G"㲎S$򥚲/$ 7R0!`cfO |G>cOH <%tI]7WԂqdm˚R訓p~)4}7M`şSz|SjtŅRU~J?X&`IENDB`PNG  IHDR(csCl0`MRIDATxc`H/NdHi@ QM 31!M@~ڞtMz)N2ire|9@&soL<ܾDfW X\`VUũq@hst0gqg5` 0ͦ",.V,?;} X\]i3`qA^_ӺSbxy6^F\-`q %NZ=YcېI†a<7WcYx"`H,+'h\tK8 o0&I$j4{TTNݔ77 ْq!4QUUd2hu[L{^>BYLWpS_ Fa鰀1C jу^B$)"늢RUm )p5e=n>S~a03)k+Lk b5n3Wi$$1*z>`'IENDB`PNG  IHDR $8IDATx^MHT]ƛ1{GPBD-pQLMGaȅ?6.ZZmQdn u!sEm`PbkFO; ½zQ%ƒ9;sA2@i" *uqn:9iQDD͛7oG׿<<< 9bK g1Szii~ l'ȥZ8NcqCCc0d2 AZ8nJxhhKR6\p1+z ɩ@-p րM 7FhR=,72])L&ԔD"^) 7ԙO/T8nQ__/Bhkk#& w \XV>J! bբ0zzzD:Vhi \EoӢGT <# *gt{n43P5088(:;; G>F-FHeE䴶* ƀ_r@{{;93`t MȈ-@K@q`gg'jYO4@ @Kc\]]x )dxܔtc(51ɗNM166%tD-b}R -,,|S2^\\T 7hi Vͽ3s5c3 4juzc})h(OCy8@ D\z! NQtU])<+p 7*^p;UUOb})& .8ViMxl6[}F?N}-'7Z8 L]+xON|,b1s!j5+WPIIl[.y$E$"1s!7WcW 5fAP4'pU`1r՘jfbG."h'`1rL} ߕ1MLIENDB`PNG  IHDR $5PLTEggh\\] ``a񧧧ԷӲ)-7tRNS%#! 4k 0A B  b_ 3\-IDATx^͓z@Q -Ľ*ĵt!ȗ=Lc(ZN1Y0d M6b9@\WE ۓ@"81aed!RMcb_-(ph\x iM/bML5 ]7̮q"RI! ڈJĮ"+.u 10VG|Z> y0 ?75=bIENDB`PNG  IHDR $8IDATxV]HQ[;P /tI %iRSS^X7v 4nTؼJEPa^h`OG|sMv}眝)؉⿁7GD Yg yۄBx,q6`2!Mښggg/bA.jP{,gtDdr}}=Ҍ8rQZp$d-v{aף»J3Zp KxF{ڍḍ\ęrk(..Av' &`08)O8 \۞nhD5h: J8x<}bnh@+Ҁ:00Ti󬱱 V]] `g@ Ѐ4 (X=khh`_u[[a M.@Z2*uu5 Z0+++cMMM.+ x`###]iَMVWW!.7Nh@$#Z.2t:q TUU @Z2Kfrjkk @+;=!w[hЊb `yy(i9cccB-r}zz5 BnBqz{{֖5 LiY}}+4"s#!GAZ244fsceeeQcu>CbА$ hLxnD1?F^-4H봬*JOR?18 h pZm͖'YpSfC#@ AGre1 {% n!E VND/{.p@\B0թ spp`r G-89%%L----`g!A-V.i Bvj^/2H Cry2q A+8Oy6y"q !E-\@O0|㱔$ )A$$[ fzIENDB`PNG  IHDR $8UIDATx^KH\W[ HѦM|DڐDZiIXpNhtp]v[wRp1](ZGy5 FՅ.yE? O1kY KG V<5IdM; -N&&&SSSG333/kb䨡z/kzfgg,,,H$E9 C/)87]PuttԫHBjAjnK;[Rw~ennNVVVH \F2 @`-M.;qO\pF<wumޞ_̏g[fc sE}}}R__/@V+1r1 7 d?~i9bEl6Kuu5`ML~ 8ɡ݁1vvv [[[HEEW/6M`M'7h x^?dDt^1rR^^.n[ p|ZYY9\ZZ242dEq jZZZ1Zׯg[դM?d؈P\PSUU57hlFv{B֦n 77.-hmmMz n¡!`B k@ QZ zA.pbkoo^=p+1 l68*Z].W9jWOn428==M: .AndddD8 HOOx<FګpF4z(b6W~rz{#9>>Ŭ Ύ^4Ҿ޼yU'upe:ӟ?,*199,Bp)q8n4b3Φjy0ebC/p 7  M(3Ɔ@j顗+ N*B[L0ϟO.C ekbPK/pTk}&c~ٯaqr`M5CA/xl<X#GL8.ӌ|»& j.PBBUkbyTBT,%IENDB`PNG  IHDR $8!IDATxMNP 0 !Mt7S=($Pc6Z&'s{˲֊2i@e!}/GEt:51Ē#bӹ5MM, L&9 "OT*G5\A,\8ܦWz~*d'#p%I/j'؇@…@.p p<' 8v5exx Mh(٫D_1h8`Z훹@@0m{n4r2PJA hdLIen4r2pH]hZa6[6|@XU!Bk@$ j<4gTn_?Fys 'ht&TC,>d}"Z<^)ep !Ę7-7Ж,8rk჉eߦ>_ޮ7C&xF Ɉ(NIFyʶѬ3b%')6?D@<-=IENDB`PNG  IHDR $8IDATx^MHa]5!P䡢2 ̢C^8bȃZDE^>5$ =Xb废:֗: 8{ٙWWq+*o:HvR/)HRbC8`'Oo5is|nn^8PZ\JI=u=-M CM4 c sA-zHRt u"fR LD\I7)O sZY?18!IENDB`PNG  IHDR $8 IDATx^Kh\UmSlbk…Ņ)-v@h$$$1$.AjQ݊!D0>DX)ujMk6M&ܹG=sn.I@|p8~=!"?n𿻼EɯԯtFiN) PCfU]|wіXcXZzH{Ο8mB2<۶cSKx'^ 3sdY7QӋ1_j8& x<_3xܲ,x'nqަ5FC7 ^ַ]7-5OފϏ6Fp"!ijjߏ9֌AB|1=ill2Ę9dvvu`1ŤAx%OuOO/$,. n||\"sQ2097=v@B?v|9e:beW1K v~ɷWқ:Sy :V}gs9O6/p൯ʛEs8@̱&PK SkCܩto[y7O:~D 1f5jGi@0VQڭ^1sQz=iǎl[+ @Yƃ8i]:[IENDB`PNG  IHDR $8IDATx^mH]e j}alVhzmA^3L+5l -i,* ZEAP2 ~0a%+pLV.FnwZr=>=s]s?Rz\1D1LqLz}G#oHԬ(S'ێчg='%`E8*1UeD:>e c%-@_\UIUUe c+RK_N,p<J0t`9fLaֶ` x%=K |k `C/oPR*FnF"ڴ뙉^tψ639?#`HV6L&W![v?_x><5 VU@;+>޻k*e {G"Y fRJmCjLmaGNOڪ ƶ"D(mr`M~FCYȨ3h`V3/CTE7IENDB`PNG  IHDR $8lIDATx^KL\U[ݸи WiRKZ1$@BW!Ia#$0хJCML[2faf`&`58eh sB]|}y9pDDS <6p<: n()GP{_~BBjB>2.__P-zeqqQ~?`LaZzîbvޟGdNn B*x\ rPKp-v ƛWڛT3%lzKqt%wfj&F+ \pOo[7pϼ۝qd}}e8-=LN9і̨_*++%''HUU1rF tN;{V+VQQ!RXX(%%%11)//_kNrh3}EL+++HAAc5F-K؏!YXX~``@t"*@\^^ iW(&5u'@!khh`LPHn424R.W{!+**j2b@˶R=5eee ~ظu{r ^-@-+oa~ݴpxx+xjFFF(;&{O{]#Y86ᄻWi(!wH9\ Z[[[Ξ8he2`1&YؐQiooa@:::dllL677pFcG3S]M};SNӟc-0#D0&fYM}[Z@ރ7}dY#pQ;/~LqC/p 7҉Npj;/H$Zzep wg^f7waA^.t%&{?*nIM&N ?6~ a ƢQkePp˹FVHQ^.eg[Op`YC)5ƵcX 2%%<}I 'JE!Rt /6[{ٕ.0JŽ}A-f.B`ɒ227صr;X9s*} }a{/ Bh١IdfiTҩReB8jEp(ܣpb`dlS2́|X>'=P+"V43%^fIENDB`PNG  IHDR $8YIDATx^KTQƵ6-6C\ Z . WFƿ 0ӌLP7)EE&|8_9CEi1|{04{Ęk穥^xm;Q`0(ӊ9j^,K.0?uڰމᐹ9 r=€l`^Y۞X띸$K€vdݬCқ  &l<2hb8NӟژH=a[ i]%P`tz(X,V0aし)6c(`EMj&WבH`)| 2 &l<2(Wl}rF"I#kϦ^`#ӑ.a:Vp$2G ˝Â ;C){UGX֍r" I BV7ܢ ̜4H1ݹг,Oۨ| !\cNzaÄHQ`].ןTc1G O3Udmv*UU-b5#WYm SiA%JIENDB`PNG  IHDR $8IDATx^kAݵn/DQ#&,R"VR =x1zԳzRX+(zi͟P=WZjM<_Q>bfMBv}~0j?Mӥ`t!]$!Gx̋0M {_*J7 cAmOCG^=]V5c.jP 7:{{{-0ܟL޾Q*xgVO$Ʈ2TOx `&\P(, C`5N.Oz; mEQ:YN\~W/J0־;"xRŶy`+@r`\w`KU\-t0 tbl%,wN WV>'!id*zA'sK^) `B$aקRVivI׍k"dM0s2B&"pt ~,F:mRӶt(^ԤD77W?_brsIENDB`PNG  IHDR $8DIDATx^KQƋ ABtQI  KJe !IxVȌ[ Qq?-q檢.˜#s/0- 0{a' p}v^gfX0aqRZa\g X0fI:G ?|>F&l<:*@4EY6xUȉ`;N /]s~~g0Yx PRRj;Yl<:}+_-KZ閫].&^u[&&&~.C1.@wwO=j^{{{ןiY6۱|]ѥgw,41,u|b333ߥ7a FFF>hhx"9 X0aq\ĸ\͟ZZza D.`4 (5v%5C/&,@9; FP_bkHQk $^J!vwwqr|LWCcc_?ڽ#bkPKzގ ꚛ bk #ӟf牮MRePtQ/*a35g:3lIENDB`PNG  IHDR'+csCl0`MRIDATx^ PBRGڰ'ra0'"-ZEJ-j + ܜ99H='F~I;) V0g]]&7v df&Jo2~2 ">?(cIENDB`PNG  IHDR j=~IDATxcoO׶YwaoJόO=n_N#UU`o??7 kAekg``A4YC[g ~@11xt(@ sXV[(IENDB`PNG  IHDR&DIDATxcD0tp(ϫIENDB`PNG  IHDR &WU{IDATx^11 džJ'x!  {)E3lS5I5I5Ibi4t5rdt#zRr,3=\M4In,j7tz듌}F14~1\u~n"]^IENDB`PNG  IHDR &WU{IDATx^11gHSڔqiy4Y)_sF6E m,mm?n4/P$Jv۝e•qQ"ˀ祽zQGQR"Id"niI(ۙg;m<շO]~b4~HWEQIENDB`PNG  IHDRy$IDATxcȠ $}[Aq X!IENDB`PNG  IHDR j=pIDATcπ X@Lq00сܾ H.&vGļ-?J(mr1NUH7413,+hbpIENDB`PNG  IHDR j=nIDATxc20股62pTwӅeL[7}Ec? H }/uw& B亮G5pQgz`ZeIENDB`PNG  IHDRy$IDATxcda``dE%<%3-˥ IENDB`PNG  IHDR j=UIDATxcƠ +5910Ȣ?<4< Q>`"A߱s<< ?r?0!VA#49}>IENDB`PNG  IHDR j=YIDATc`AJndQMeTACua VCg``A.39c+g s@X VA[4 YkIENDB`PNG  IHDR&DIDATxcag``a`@%!,4P#LMNBٶIENDB`PNG  IHDR &WU{HIDATxc/ 0 Q!V8-b ڢ,b ";)N;o&ִDa(1G+B#OIENDB`PNG  IHDR &WU{DIDATxcag@6O0`FL XT)ΈEh*c;)t'd *)db+IENDB`PNG  IHDRy$IDATxc/P"C&~doIENDB`PNG  IHDR j=^IDATxcL/!RL U \̙Π @Ϥb!\ e@feBaA!%gIENDB`PNG  IHDR j=^IDATxc/Eg U TʙlT?DP t9+"=W3LAχ._ ]P94LCJ!;;X>֬A0AE8>! |7>ZAZ ٥ f|^ Gvㆰ4 m(LQ'`yW~r_4>HO\?\2,c$o03;ly{}񬫈X*F&X`#a1$6Qj4={h> |<68bBrWq?(?Gr\sDLwDMaΔ"~5L6O[@PU@6"NUXsZ92X!ټkĸNxmA؂!#$0}di9CzpgĈFk5rސFY=b-0*ad*l}YnAO`()X +\ #","VIEӊXr zΣEd2.BZyѼ: wc^-Y6qF o֌\=ϊC^z6ON5o畀~y]a @VYoy~;8K^q~x~~4Ay)}/O?mk@S.\/|f^lvC?",9#/1p4w0úͿ4fsUBaxb'HfH1*2jywf%yw_lfwR=&B\(daH"DhHP!H`’% 3.A}6`A6V\ytt8!kLF#rdJ?QDr;f "UbL%C3"1BgGWV*'uAL/1l:Ȓ#1V7 6VH!Izƒ\[!Fpz`-^IR.)3m"K9HMX` ūeR:Y9^{?"5.,/)$PAHڟ"(Z)5aR0/d' , .&z]K{VdTJSRTQ8`XzV RXB"GU4' ک |+PR=DpY=W„P:Ĝ?L"@'9Y=B, $G9D!ȩI=O)}ZXuԂĪuu Og9LUazXɶ p[IENDB`PNG  IHDRll0IDATxcπ!H q@&,& h)t!IENDB`PNG  IHDRll-IDATxcd%Hc A$ D $2 H&a ?k,|IENDB`PNG  IHDRlA6IDATxc@ȈE!,耉R@0c+k$ox$εIENDB`PNG  IHDRll%oFIDATx^AjA.@{9t oϣM;+j^a?8;;;;;0NL Ul1 환2az*F=0-irRzRlWb H RbJI aK+$i%)/uXΪQU')0-AQڕk1+Gi /cAxTY!J\x3X1JR xObRXN1YJiM9,ƊRiK0JHcR>JXJRY1 n]1g iVlYeƩ)Jl PA-KXrTP`WUta?E;LPC!0 2QwT5b*ӲsrH$fY-ΞGTa2DPJCE  Av9!a}WRX XKw yf^Lf9QΨ zW9.%iXLLbj@X=K@2xqk%1nS&Rp_1`L6O } >c>djAx&L}ҸY^U,aqYʶ VgbMdu'&ɸθXxaD+ٟ&>6,/xS0Ni /0n>Ua렑f(a70%Ԃa"=F:Z=t \k#DcCb9.XE\IұoS~v H _K&4r M Q c폿ɋ8/ˋ^698ê51f0ؓ!Øi &bL\Ʋj'hL aa2T`^c8gYn͉14B%trEÈ*3l_ż&FqϧVG17IENDB`PNG  IHDRll%oFIDATx^Ɏ! d}Q2*AOH`5#}5a kXְ5a_lvlK,-&ۂS "YH=졨 @VrDΣ 8 40ਅe#=?^n1pd18' I7$W=1{S^G6B@\NsgI/9 _7\BsXR6(9[@㝄܄~ cG(*NK Kp-]~r0UzI2 8^tAŌ]p~G:u;|p.Vn79UT#9ǭa)[K3"_[C[;KNX]~ahSd& ,h؎)!f$h: &OV] :_ l2˦iW ݀|Ɛ3+Ϧ|hUҜ)h], e+v=-i4V`7 obf$U^$fh2s=i<Ӫe8ϯ㇡م?>b'n}-zfۃw;)MfCXnšRWR^q'D\I͇E]q@K& =qHh=a"0`Hy$J`A|҈+q"/,)cC2N=Zb,JsS}0XaČJf=)k)I|d2Ά=[`*p"r|2c~3"BLY;XjA2X|ʄpde0f^%D@Lmİe~ʀ[21V$$63]hcy`S{\%^}ʄiH  0=%dzX >.$EL~0q*SƼ $hy`bqv[ L90iKvaGGr 9̮AL~㷁eHʨEߌU?x+IENDB`PNG  IHDRr>]N7IDATx^[[Uge9IL)T8hx@J^ET"^ Zi;9N1]. ˽쫇|Y?['}x3Lih83 T.9of)䧿p!?) bgoO2Pl8YD~J(6M\7.B.2s?pf-fЮ*"壸uU99E\WD$ *_vr6t\㸚#oJ0ŁnXx84F!CF$a[w9cCWĹ1#߭LE$aKC⾾8B=)rr} ySO{t24rd3'1| ycOb&{`93WDL@,$ }}7xUwLe8ףOm]|g@eW6KS|q]_[`:w[A0a_!^-ֵyae v= cм^>eOɎ?X8lj 5o2M:'N)ֿ]_e@b1#S攡b+7IzLӚ#dmL <2 1B f'; ADiE݉Ї֜jlis&B~Ȁg2 ? r%a (\|ːbe+ t:ᢄ|1`:-,GyN~'ޏk~Oi!X.F>Yż&:Xns,GwH1^Ȼ[@$[ȭ@_870@5ld;Iww2g2;y`, 1f%#$pJ X뛪E.#)G9$d+@X0ݦB %OY4Cӗ' !sZEWM9a=f%vG?B߮ E(V߈C-@ٖ/(ђLRdt# p e)gY-{$ȴDYw_gb{8IENDB`PNG  IHDR>rRIDATxKT]>gtСL-){BLH!袺.2LM*Pk t;sV֞4o}) @ĘU}a9owVۓ}4d:5b\(<٧$`>6s .:]_cxu,ˑ;gdG@Lj@1gq x6<@"ENfW X&0y.=?rRIDATx^nAP%,SK#p `; 3qViJ*(uϡm# .LvN]` ` ,w5l\H 7H!55ΩpE8'+u'mRpqv)q>.bIw'SgU(mMS=K,ܢm33ĥbWGvK?u]ƤE8 K0 gaO2xٌsR9t48zT(zqz*v3N> ec+eWgmr{ sZ4#2?3#/>]\Ǽ#N~pƑ?.Z05N# @[3e䇘:8'n͸8N^ .q ''`T'?05Vf(`}w4eL ] KO8=Ă_MB>?M9cS>&\c=c WEU<5 'Zz 7O2P&wuAZ#IjgZz [:~62=_!քSx=u],`jk[:o-8 k^&.aM"ee{]2 >Q[W@Z5/3/&X5a)8l%B("q9pV~E&.tx7wa:zUmZ!t2t0E*rm/Kp o ~~bi|qAI};]N7IDATx^ij@ іNSr-Pn *Cw΁<2(Bd9 {H"s$`)r  9|/HWFyɐ i uu6&Ng @jv'?ԕ@9>Y^QOuȰx< 'vRn?YNcp 4~[8;E W)6Zu EDZhզ HRCi1xw?>3u'Vw#IENDB`PNG  IHDRDGIDATxc , | XQ^GIENDB`PNG  IHDRDGIDATxcd"2¿D)Fk IENDB`PNG  IHDRi4IDATxcH $k1IENDB`PNG  IHDRF]IDATx^̱0}1M;MBԂf %ȹx֗y?@|v7K}ۜ)O E4Nf1j jD9"2?Tc IENDB`PNG  IHDRF`IDATx^̱ 0ы8@ZhdA \8N;~(vf2O&$6&Z Uq8 Ab@n!(txQ__:6 .Lԓ<IENDB`PNG  IHDR*Qg IDATx^A@geee Q+ؤݺm:Igx08!e #m2vwT< ori/ G4@;n䭦:*nQղ#7$o4hI~;ּ|QSMqL5{g< S~Y`3I.[|*!Ȗ>NV K8jZ(Ƙ*NV|ԅN+'*ږr(Ez|^/GM Ө"KK%dKުW:u5rTXtJأH* 9e"{ب%˨ƲS^'#maWl. ʣevըDZdG#X (}2*2L_\T6IENDB`PNG  IHDR*[.IDATx^]KA߸/n^HQApث;M]5ssw !$/?laȲC?Ls nh,y .h0j hYP3bpACBp@aゆ!P:|0J^HcFl Dœx8%e#.JcP2YN*9@iBTzPႂ WfO`o #\+eIENDB`PNG  IHDR*[0IDATx^MKBQҺ/Pf,ًdnZD 5 QEgQ@E@cD΃P)Cq8 B;vni)5 Vj@$# 8Rj@Qj@p pVO`AGW"aL<*rD 1S,2\ѣjth_Txe"BX o<);.@L?ݥmK6&-ۄJB??0D04 o AlLHGK<9ߞ479wNgwcq``>K/N \ *p+2ƭ=sA>;\+YI6;0J!D2swiJw'nY}kg WȲKAkI1J tajȉ_ew|kM^4~t˽e랡?V\b28Be18+\/zS/W^=[vM/mIAd&8J)ߍJcLu$/\?e~;Ihu8 B< ƂfnR-*L}v;6[ ԣ{<כU[N4J(E԰F*:\(p̔E&RWflw%!ˡMFe}&=™NmM ZJ:p8nΓ&Yr}ݎV W MVɌZr "i*ŒU& r$a7Q0jakd,9rTmOb=3|vi^=k6.i\Bks^8jaz`S=v⨌2(1H*ؔ6ZS;oeh| 2Q*A]ҀGD_^( č3U*mUQ,YҠ=12Q4p84Ag4!c՟c57bd-Ka\=o8w[F0DgGsNq=V1p?O1* {H; FVqpsfz.kޯ>/ʘRz0bU%Ei4/%nVd.ؾgUٴ?4ghڧqn(ȁ}>  O,ٌq@x6+?ĕ;wUG b@47mt>GЈţ`?>$Z|%Rm}{>tcT F?ΡD|޲5*| ƶSɹ19զ;|o[gzKzT퉹RR1:k ܨb1ڞUذm]!բ]/[5U]̕(Nȴ~{y|IZ?rA;~W38v5Y\F #HSYFϲ 了$g; @`^"KbJl}#G]o ;>\U*ٖy', m%S[MFNXx}2bsMa?7-܌| r<^v"ˆݡ2ډN|S~OM,w [o{Y 6ΤMK3V'^ފYp1-ؿ}"IENDB`PNG  IHDR&&4!%~IDATx^1Pؤ4i fT[/[=rH dLcilf>NI 75&) jLRjLRjLR%rD LRjd rVHPœGOLrǸ2W80,܄pfy삣``ްy|z4ڎG]x,T udv^XBXna+Uތ%^XJΌEU^؁m5Wn߳zĞo;۱J"xܟHFCIL]FC0ŌqQf f-*$1Ήqu,s!+g ꆍ#2B/A0ؒ(P gdIENDB`PNG  IHDR&&4!%dIDATx^1 @Qojm` ?Z2laq6~vP`P`P`P%aPVbEX{uf7a=VnszIENDB`PNG  IHDR&&4!%IDATxֱ aRlf3jl,$MY)Vbs?:uOy=%wԽ;& le== >0W 0"α&󥴲Sr8;0 m g>J`͎Ȩ[|c%rRH oXQYؚXX0I@SWj a#j{HPg4%RuUQU\- 4U*%x[IENDB`PNG  IHDR&&4!%IDATx^ֱ 0 DQEH)nBk ? dɲW0eUu U9L!\s, jvnm3Ga(0sfbZU b0sfFQ X#pюPMM/Տn#j< IENDB`PNG  IHDR&&=IDATx^KOQqK$0~cT]BŀkAbW $#(؆ZAmy 4f:S:{&G.H &4mNeUkL? qFET?LZR - 0+’<,%]%6dV(~ !l |RU4Sa\qnqa QW&S%r N3ll%#()d +ga$9Nq`i ¡ ʝdt D& CB9~ dYFl $ jky R 3,TL(j7岭S؉#vy6WqVغDaṵj&c{ *;4–LLlbi̎lw w#XhE@tpmxOm.,H`vFסg ׆ŁU-*(UpR`|RVI>8#[.a 쑯3ҊOAsO]4_7eYGq¼twwISa 36ڄo nf1ubutt0v} `f`$K30#.fX{{;FiuzD'.Vy̮^ i5;Y`z)/eY8+]uK_IENDB`PNG  IHDR&&4!%IDATxՔoLAK^H $"օĵB$H|Eծ*Ev[i!VD R[ݏM$}LN֊u .̓9̼eEȅ!sK/YhoB'BTj$/ݲSg/ P)^ӀԺ:>5x $lq+n}ڵ(Yhύߒݡ#z[فegHbh8Zfkna OAbVU㣒_|a(R&ӵP /\eA.ӺYN0NX)NEIMJL/)B4f GI#Y=#Ke-Xzy cɕ`s y"B'Q0^_q 4e얀4Kܕ>|`:0-BU:RvB NRW#IENDB`PNG  IHDR&&=IDATxKA,{ꡈL(хzԲ,KY8m >̷́;ssP+ˮfW)aJd?b(Kipj=_a1D AKkh[d\P8L۝0┰IpD xfQ)0aW4Dݓ8\KPDN7b8'<V-(UֆĝEYak7rS;Z6> 'SxYd5`ma_ ^`/|{`iƲf.,bk{ G[aN3VLu.GѩP.vŬ<am,솰 i HX 4u0kvn:y%QM,1qT4-D_WLTsq1ZE3i-uN|Toc:AJ;KDH)(i)jeԟ*J)a_u-{MIENDB`PNG  IHDR&&4!%IDATx^ݖON1DT $n x//q#1!z( $lD9M`fVA^nqgFmP㒡 iq`:|`=<.$r,kbVhji̓Fj-J<$26JȚTBf/K.oF d\*&Qb+FE|ɱ*PcI‚7+Č~YN(&c9d=cC i)M8NߦZVv8g&ܩxףf,J1 mބ0)Lzg'LQ҈svYg3FuJ5긨%G+6s^06]%dNbB`5lE|AbIENDB`PNG  IHDR$$K PEIDATxc`DEO ن 1 *QF BРQ(/)4ztIENDB`PNG  IHDR&&4!%IDATx^=O@/&W+ `MM d" .8"NF q>P1>csz1O1vs{&sC%*y&"#(W‚'STdzcbccccccccccccc`+#QҀQbb9JMES4pRa 8Tحd{NFģx%OVK{7v9+fǎ/NBSؽ.+CTHJDtx0/XUYF(UI|o})[#2|$w 3 X=8~W>$_1ʹwQ?%Sl.@OVU+pl4 267o N$̆IIENDB`PNG  IHDR&&4!%IDATx^1 0oRx' *8KATZ9~A!qyK"aUL  (Aшap3s@D84p!ġD< P*bXꊨ R_yB k=[y"]~(OoS=NİE0wv|.Ĉ=6";bk@&WٸrebqM[۠IENDB`PNG  IHDR&&4!%IDATx_M[q5A)7'Hȃ'MRI9cOcK'438c4_63kki uhB*:- iCGdxATƊN>5X?tg%' vO*EMql\d45]s5[2m#tOs<`UM!z48sLWuG(UA5GRol_3_a30Iډ%Abr8]mɐ5 f XCk@%؍Qa[ƎQ`IÞtaal5EF9&kZP.2҅Mol΢9>Pv,zqaA6+ PTf6̞Î-;G3,,gBY76S+Tp=}ݓX&)aZYhVaITT~?XLoIbݨSk9WXʹE4$V0P#efP:߿g(q$M'+3ƚ;0XA|z{<&jP7v!q#Ktw-*nV|.U؎+H ,O\%6ycIa  A"$\mh7q-Кz҃uqoE Fwt0w@5^DM}ܢcT~?3jUjRv3۩NeMiUjoMri_RȟJIENDB`PNG  IHDR&&4!%IDATx^ 0E4C Ep @pAЅ|}o K$J۰oN^6H0"l&ATr Q[{섿k 0C ,cr*aFMOfU|f gk oiz^v1;;c#o"_3Lư~ HWE^WIENDB`PNG  IHDR&&=IDATxb?`uPpӍAtffA09(踏p̘ JPcfQDPJ|ܸD#pFp} Gd!2` 0gpKonb rk1$OOgV֓K bK#0 {Ɯj00ub EwY/)eo@8 FE 3G~wOWFiQ :J,gHbZ+j(|8׆Qp~Ɇ"H"PH\E[EEv"p&&[kJ)W筠M:{}NU^\l5Jz>d:}s&$ cFݚAi`e ɼ{*OZR-8Gw/W&8\wF= ]{ʩ2,t~?@dpsN6w6!(_"JG^zQay{$DdSbHpQ}`5' :g1#'DB8 $" ayE1X@}~mSLQRu\FlIENDB`PNG  IHDR::K0IDATx^ֽnP'_8P$(>Nhb5$m6vZHB 1!q\+SG$P%01p Aby8R#[0$Q?Y{._QdQ.O v%(>\4PS(Gm `BJQj$Ue3RVy eNJYm eb_(e}nd-IVȒeLXԡq .!i6%YebNDœMIR7_'S,LgVTC+;S(ioF p﷩GARDBs6 XEDaFD  emDVhl~aK,x=m3 ۟ƨA᜞т0{-x[F82 Lp-Ɋ`N[y:2{F?.S]ԂfI r,:WaF+`t2eJ5/u~KG:/|YnYơkeh/q|H#?"yIENDB`PNG  IHDR::KDIDATx^ioTes,Pf +R4$d"aMX * % C1F"6MZ Pf`BY}ܿi{̜̽~9!~ CK)lV ^y23)]@}DK=)gT(qV-o/Qjs8>c'r J.ǜU" u";/v9#6""ኔȈ@ HzD1pR0P %#TH`CIP%M4*d#lzj׉qΤJm*#k׷A*Bׂ bւg \v:)T lㆮ,ɟgtƓ&wȒ"@HG7`mZϲlZ3wڒJV-4?EAG]HfH+n$[? ttk2&X@ Wf02 m租 @ɮ +k5#|aIȄsT[b.$2@{_xƷfW'a.12L% [Xab# !~O`ŞZ/le,lpZ`t&c)>۩uNX]Ǚ3Z5"AX1>1WI^!1{juo^s9@\ 0_BSpgDRЇk c Lce|^al0JV S _Fy\W舊~nI >J$5?}v{ч"X9mݕOQU[> ~>FaDnS Z} *fDˇ'y| alϰg%ꖡ8MfXfzCY?|ačf OzvL^7@9Shjw=eKgg k}W}2%ݺ-C܁~4 :t~*jLdv3T[Q^JO<q )$$tƃ!b|B/(!@k}lR3[{N9ǟ{ʪ{]ٺaYhm:vz\e*0DaU>WBMͯd-gS|w]DN{Z0 bZ|o7v4(dgmޞ{NY7Q A#jDs;xj ?ml[tIENDB`PNG  IHDR::KIDATx^kL[eVH:vBٹ6r ha7 F#kDb]Fpe3Y(i)W^<<H{xJ/ϛsmAg-T%"qr)*ڄa9*;V4 Mʎa9ھEZQ` 3X';zQdT(atrxBA :(ae68A%uPFw J H^!0g.B *  HHɣ.UUm)_0GE)5&(q#\*ѨGwa47r;gZb'XCĔY4Kԓ WzbMq<*!z"ΐX&DjJݚ$lިw*T LN5c)r8|i!ܸ!D1-X'G#//|~BP2IlXM$sqm#e "4VMqj&;NN(G{vyö́If?\ bGư'l:՜@dAWF0)CSwQ]&tOoh};˂^sslcӗQ}:t2H^=|^v˖oArPcԀ͵kU׻_`0Y\?~wnB (fx+Ǭn};$BɅ:vޭF raԘB@]Z }]r QUPF35`P2Fك|0jh憍#W=>ca1/Ԝ;n P7~e[W_n P;T A)X}ljgG]?9W@0Zli?}}/Ikz? Jh5F-ͅ™+ox~QH׎\:{Y3O2is Dk0ѽ%`h"0J% R{*IX{xu PIh]Z Wm`%`~ m?#Z%$XRoqP9vAJ Dlȋ&45!nA]!^IENDB`PNG  IHDR&&=IDATx^رjAFѨq-iҬBnUKҪJ.RT)܄X  lHH %dD!m9kKo?_;;;f 33aמ}K_I666k(5= ``afm \024F TJ  ˚KQ>K+,). ZhBTw|m3 [-g:X=&f"@E"geZJ{Nn}np1y6"Z6r ҃Ր l`4X1XA;+P`0xJa5X6Qpx(++"88rU^'5&ؚ LB|Q\cGDcK`h9樅j<@.s=JMࢨ v˜=va<ԌBMz@O@9sh 4#s9Pm ^j}CVa%K|[4ŝ'5% H0/1P<[~h?9wE8nQd7[r1'IENDB`PNG  IHDR&&=IDATx^J31&>II&ݺp#n -HE:uB9q!B&N>s.$v빆"` =U0y#,2CJ0R L`B*%PIj\.]Y6 +•Yvە"uo=6 W*^xRDܗp/XZ'f=P6pBk#6\qO?@j ¸;bnsÅ|V`0΃ =pM p5B5nI܄+5>]C42wM% jL}D wR|XcuN@Pl|uXS:#Pl޸F8V'Duވq(CpnC@9%jF X Z-Du qL1 B=`hnWē U'L' m#Xd:IENDB`PNG  IHDR&&= IDATx^՘ypUoӪԖEQAqZCSXDEY%*{0YȺ//!y!!/ ,佄uyyI ~7yptf3s=s~s}+jT\S6(iN?# I0)%=Krgr׵Fy}*/b`2qEynn6^^-eYPܸೃDKfK_SxL~tZKŕN|]jŵ&\mfc<^^H tb!d·>=_=j1J]1b6z_@W.rW%;JӜ^[.^i\ΜVFA#j&w~{OT+tߒ.}#$mA-!Д$]u@Qt z\kbW1' ~C:jg q<]"Ysib=pIGqJ6 w]2U,smTWRv =L8{Qhe}*=F\uDNc*F~}᫸Vʙ2v~]7RDhE}(5נRV% D-Y XySɠ͔b!'0-h.ǩUH9>)S8J*=,p;}n0PGHNfvԦP1nGKy,:gxmLDQ`y#5Dk:*Q΋uk-R1BLwBWY٦3m,:@W_6TGCM|V/oO)`<\xnFByˎlfDL[Nl9k̼KEIaΉIqȎk/!~G@C,h)[~7P&}> y`ES!$홃Rljr$Z&Sk$[x/u}ŨH_MȚed+qˌ0")S^ T1-c`LYS*T_ qWTe=q$M% U9`5 (6Iqw6 Mz%1)鏚yTE LGW,iJ EpF^ B)Uݐ(6n4Zq (7g8ύL'rFe+,Y[$պ(O[!Y1|u2(O}'e LW\Wd'w!n5Y E' %fDŁ~pXeGkﵱFI0-XF ,YnBeLF9VrAi*LA1FezԗP+e,ω Qy5sC~Q9 K&qݭaWrP+MY_,#nDy rurGE/Ee?.$xB 9%aLsEk<}mȏX{YY N/,MQh dg5:Z|F!s2p:YVȘb#ϻ;OiR?|Gw}yQ5E/A|"Ț<jOFrwhric{ؽW= Sv [gd\d{? \QJݡ8`YmfY9SŞ%]NY2N{qx6 Jv?oWH*gYF{C*سȻ$' 4[(N!"2%XVn!zG%`߇}/v_ ^(cSC 1C*߁:#Q GQIENDB`PNG  IHDR&&=IDATx^ֻka7(Xxew-h"$E((XBФIaa&X0p#l=8; 1{oa2 ٕu`Xu`QL$QEՁ]cNRPXO0I+2j+ާJA5U3f#` i7q4`$"޳O aczTL=jlrE٘V@@eؙPcccizT&3 cV`%r;X^9ީ?tP P\k{z: 1E&'qvg0Gfc_bD37Q:$uyp_3igL⾕W8-ZsgT~V͋[#n|DsxnPa´}l$/n2 ڪ8'f qcHV =a K?tq)3ey]^]E- Lז ^k0N j7R<%{8n ÈZ$jrRFOEXf8`y`uͲ~WS2 x:/gf8,n' QD<<Ύ MqHDJ 2o( 7GI^J|Q"^У8#pcE5\P힢aɏd(]?WXIENDB`PNG  IHDR sRGBIDAT8KLAofn)-z2H*plL|}p`DPH]`)s)0dΔ@sU X7@gi@,g `j vPR QUw 8%*FRx;zC7%I񧌍(V9gUYƠ>/`cZ#ЁJ$C$?I$DM!rQc㱩ct;X3LzFsTF7OQTUz#P,c ѭ(_f:jXݙZQzQ?|:'BSa{QG(bD؉ |*+ 55s(on„iB:EpFxom[Et\Er:9X~@:rt?~y @Q\pY:Ecu060M ΈblsL~Z\"&(]cv]`݈ d/撣9 PDh%p:&{53flg2&=ݎF%Lb1Td5 :ĸ}}5,kA H(l;PH~uÎFbqAalw1f[۸M `5vձJerRK46JbCpl6 ڧ ):kdcc?lWG0uIENDB`PNG  IHDR&&=IDATx^O[e#[:ʀ/9 1s^鍺%^ L #0e3BFఴ@i€tn47$`ffe~Gol`;l68֤I Tx%aS F,3; Z)\y%9 Hx{C ,Qg aNA(9gI.D]gu rb+UaEܜy1Nq$v' *f(yU!!>vb:a>tO6ü@8r998 .vX 9x?c2?Ə2Л07#HYLJn6c(vf!GJ˫[ej3Ng)C(J qM8 # h6x-B+ak pb9N|566~kݘĊTZnW@o2,h5c0b_VH7NU?PlP]F >,'T3\ %ϓjkka$X=Tt'Tch'\gXyxl6tfklq`gϞe׌uPbJ(7zαbpZcGŃԠdQ 0T7.<źdHJ[ ^TDVUU3tZ~:sY\}p)Q~!=mEH]p?,|Zjiił /'B˄[XTdsp\ҩl:%UA/'כ)3 WZ(xwe *Sk^",I1 *=J{b';uyh#R'IENDB`PNG  IHDR&&= IDATx^՗iK\Wǯ6fiB }ѷ$7`?M(Zq]ШDh$Eǥ.⾌6"O? d.H~\ν\^Ib')83|db? EXØ/uUUU477Gm Ʃ@h~~jjj i*%%%dZp]*--!ZZZeܤCCMbNDajkk 799 f-bȭ;::&K===&cccW-jKMM/++C"fX | 5c "dGOMMa м*.dff>S8>>jUebbZ[[400 b &%%)]TTTJss3dm6C1\HJJ0/`zq?==be)N'.* !}N'''d pχV톔*~?Q՗588A\5(%?/>#?K-DKnϾGȅB~!B~G `9D uR ~r_eABJ)Pbu$ؼGy.u)Kq;?PX1srr1r$@r>' H)Xohi1/K,55ImG]DG^ G-Q5LDK%cY 6䔞 )%opm:/H{X;Iv{X⢈V5DQDv"ϯJ!3w),:>rKWιXh$\2)uei}Jtq%gzĮ/" K ܎KRHD&c#"/'KoS{$@;=Cy`[ש5V`v!uuuX]X,u$@B⠨Gk XYrROYmI6pGzbq!wIf^@Sc6 >ɰ:1{-IdCbQ 'a帏ӃĐE\M2Id~`ҙz'UH4LKv__qyƫy|3rwi(=}p@jG.cB?E퀹HIENDB`PNG  IHDR&&=IDATxOHQgZC  C!F"khPFELV2):$ܵٝ8>e|e3yMvb٣в XĉUȺcd@CNšeLx8 ]P @y FʫƁN)iivn@T }R𝀚!u5PtGubFpc0R?ņOo5jn@5A),fi>40[{Pe@veHp/wWu*@R=Ox]T`ý?K5bl.m%tCtL J{Yj %%%d`'R}>*B|b~)>pب**2=XVaץ-bLGB hJ oUuuu4٧0=$Xhڵ*l&-*(hG_TXor* 2i. w8syE>ikP*)˾=|GjL/wjTsO?ݩ=0^}ʋ#;vU՜ kIENDB`PNG  IHDR&&=IDATx^]KaRRt[zm (t+$}Kh"R&IIPѼ/]]%#5rWezv|<3NBٙs̏g ˊbj~g)_2h&mp,Ţ, *oA\kA@+XdYm TXx"0^NWtcs.uAiBAhM*vs rO@4bm|T$3 vba>5 n:PD %#'pU8G0b墦eh-V,psr̃1-ybz:9-^-n@BzU(jǨ%Eg@-9O)!&~Dsnb"Oĭ,q>9uH6uhR^Dbcuu5[CN&֡XEw!Q6rǷh(C^>:jպ~=A[\mA,Ja)YShm?Io&Zw 9u!9zf$____a@:?_h 2+D6k',Mʘ߽@ $!Hd|:$$FN8611ܚc^,Rc"rcùA$)aH `؞&|}{:@+/3z8 Bc, ,lxGutS%'^v +"&jk\$􀌾bNd3ߓ$~ 9k#b(|,3KCRJ*>5RNԈ .][|r[x}YE ~Q\ħ_S7lFiIENDB`PNG  IHDR&&=IDATx^OkAGKI"қϢ rKAA4X#199X4D`&&βBBJ BPP 9}d~ %n&[Ѐָ$`+HRZ1 T@N0awlVa) ;|YgeMzVaa?;h X\V^WcTT yu5f~j:!?8 죀|S}V^ paa%.`"S_HU\(#le2 [ -`D@S~&@|fTAFcDxrpx `:D Ƞs Wtg~~ \5"!5 ;[MdznO"t)Q]CQtwkZۂ ]FCi\7HquwSu Vd|㎠Kh }QUY \l0/{\^U$2al=G;Lv*]"D&/ T*;@=bȄD.0w16e>PCJc#sGq51Y~/z;7Ш==k"c\79QZ'O75wdž$IENDB`PNG  IHDR&&=IDATx^J#AxwH"\'Od BBGA\ƕ.$^/9sCUXŏNuUJPVV-G9wírHOG2L03 !VarQjl?LPk$d8'̽+LNH0ϥjr%F8e>aQO=F)d4/#c)ʽVO3t_k@g'k>c4* @$לs$s@އwƝt 8w?Lq]ƝSt ɽ4,I$CH@a0L:.Q 5{oMQ gh2~euQ26;XUyaTVOҧڪOXXY @MҸ6x(c(7Zɵ T=aQP"=kUɅIENDB`PNG  IHDR&&=IDATx^KlTUmAj!1ݸc# ;6lHOۄWI1Ea(1>,N_ ،aFBFE :aYg)EG1Jf3m(Zpt5.bGDHʡi|0L lq_R.Z؃w`L¡@94m0$]Klm "*,f$1f21 ?Qo'P2tU0TÇ큀_fFH/߇Cyյb{nGA68]$x)D0F@?W.X>~ b(yY"Ұ}ׯ_C/FpН+Pmn CegO\]8p7 ->[lՆnXQb(N"J_ĝ|ϠJ2ݻwڊ)^K]ۇpZ%?1W1JV& 8USRK$hm C-ټyǏI&Cx.xFIM@wW'ii^91&죏>_`U\ZⲸ]:E(]-BiÜ&My<3>_`T1=5 A(+I>vXwTRX, ~*=(.ݸqc).!n&L %wKwu#25k-m ǎ}a޿<21dnԠTLLG"W_~ڥ}ZaÆ7%;OC g$zQ"1uwhvWQCRx\7*"r䚃%n!JZ bMMʃNL1Z3|)(K > ڡ=]WRuֽ!;܌Bͧihw`%]~nllㄯ= N>I#6p&"b.+?xq1X` H["yP}511~}վ9c.0.{k\R}}}7i^h iFM6},IENDB`PNG  IHDR&&=IDATx^Aj@`o{,Jh/ܠ$^袛BPxQ @]pV(R%;R% SS'P ~}$G-i` t:HĈ(Oˆz,өy.:؋=ٛ ei*I"Şhw&l_Xk`,˒۬7(P0d]{h4 ɢY58`v;P6s66@q&:8 뎱%0߀Tp@Uc|ʆ5PϘ 9P&x[GQW 3LX BϞ`2w)Z8;{Ӡ# |\)@ZA-h؂D f3vdx?711T\!ȓ!ڈȳ@}qZ_1A)yƆP۰Vahpam! 9!*jj֒cWu\x8w@a-WMԂWk+z@ǃGg"u,1*5r8!LOO3V*r*{Ɉ LǩxrAM 911a,d(!r[*{t^4!|2pO:6څ2Õ؂|e``@,333leQ$ROM{֨+|qqZswuu!ZǦ* Jҫ (JrGI *RB4gKUS>W>PS9ͮͯ 0Y/ -up8n1}*` IENDB`PNG  IHDR&&=IDATx^kSQK%E֍Bǝ]7!IЖ $…"łT*H!]"⢋B2" }w'Ώ"20v g`kk6yBM~` #//|&y666aa䰵5A-1,RݦFGd2PK Kj^ѠjaT_&) <L&ak:"u `GGGz ?D"Afj8t0hۚN^qNx<c~&b]p@ej []]5ajUP1q6pز_4bJ"Wwڭ.N0}+-0)osQݠ b1ܔ垃#dė{t:t6rM FMa}Nqc2 KLO[Jr͸ƹ|~s ^GeF2MQl6qF%yl0zzCm_ ]+8gH^0 n qlA!.O'gFG5r[7w-V~k>IENDB`PNG  IHDR&&=6IDATx^[HeU ! z衇y^"b+=j8bQiH #i~=~YggcC?|l-Ƙ+Ʌ/,o*ʲ[ĉ$??]oMAAQ9s||l<#333XeݪD ȽpbUWWCGt옜n\ؓYYYfjj G;e*_T^W=Gc}H! u9> %ͯB  W Rq%BRʟʌmԦ:͏؝Nszzjl>!+ޘH$b&&&\^^6޹Aqq1b 9$ā};l#022 Uv u?bIEDXxzzĈMX‚'k"~RU)q :+gɈ2<<xe$lmm(@֚%h jY lulQpt 8V,H(ﹹבWb?  ą@vyP,+++;b!b]]]ĸ8R qmllc C~n!J{7J*=//alϷKoll-+1ܠٕQ%7oDؒ!ߔqď"~ŞxvrrP|w{{MSk%%%Nj===A`A%u];3K[R{D78|Ez-$mW2zE%A4ɈF: #:a3Q7Q-2Մt:݀`1; ]7.ް(ָ^fw<f#ώTn2t \. li|PoRR:903 R3d46>>nϫ?uKR_1ɚ5м%uAĺEba! ꣭"Q$h|XWWr.-C3lt `;d0(>-/P(tHwrRjkS7 X]nKbMl ml55LPK' E>F ݳ5np WߋegP9%L-$ѳm+~~"Rkhĥ}Q"i4F>Ksvm:#XapPE.` 3cE/D54zi]GnEoDQk QuQQ>bPn>*rT1;V#pP~s̭/u*!TS$gಾ}P*+Ŕ@eHt]7u~} $qPZeP%(FG2p% 絤6E[FQsxe+[n c:8#@$^E\Lc(Uʥ 1* Lfn|m⁊I@NLo`<.|"Lxmn{`< y?@y:ɈtlTVmp8~L:ZnW0.tzàN6r:5uIl*#r^:5,]ţIqny[,]#ȍv?%ɧpx!Noj/f:?@cGIENDB`PNG  IHDR $8IDATx^1UuSD E)5E85 mAKDkM9-hP`!DCPdm 5%f}_WD/lܜo|#]:t P pwGY "P)&'᱿<{w? @$۟] H2I(7C1Vw~˷&~#}SGGK}2Gb""1`o>$8/}_}1D DHŒQ">voMO?ӧ<7s]~ybz Z((lCi$7Aγs|>zuJ u %Ql0a w MFd碾r/xD a25x +RLME0eF@qS @ t(8LvH4D!c6a] wXzA25`B FȍzACPNXFqC iPe;mz0(& 邜!1 DXJ3RlfI)`HWV YMEihCm n|j ,mA7NSi&Bz_035hDid2! Ck#Y@)G`J\` J`;ٜG 2ٛJYeH6$! 2n0 ?cm͡0f)\4cm\: O،-`N CX&6 if RoH#u xb#s"3-M:T5ݰ00P2 ! H4:ef0*-N N& 4**ج \E&{ˬ#]AF2LLL%eք@CFA8C-6a֠`|"(BO&R%/H-sqQ:( a5t {Lq:TQc@ݏ>ğo{M ^Q'E΀$0iZG@Û#? x=s>z9^\׀kIxʕ+{%!` g9xxF>&udG8"IENDB`PNG  IHDR $8IDATx^MgeuئWJUD&Ac"m"PzƷtJ^ &5+d4$$*"(Bp33ϹKs6ǐ!s8ܛ}8܇gs`[p?8E )lL"= 30mvΗ}%s&p@tlI{!e7u |>/{rEq+.UT! %,fvnMQBո [of91_OYM6!KP ir#p 7H4"UBj&z; I&)T4LesU璉HMXDLL)Z"e$hwC?*S\ n7TLOMcAb ঝLa[e!Md ۤ&۶oa qEW0ŮEǿͷ4.CEBX؂lkֵw0@_um_W.>;DPh!0&0a5iO?ou}WoݺgE7xvڵ hL 6bP n2`ȤvhfBUDƠFs@^Ww>{P3)a-_T3<>53EQHǜN\l~$4݃D a:j"ä 7z/٧?i ca.$a4/X TfD Qݠl7HԄ`umYô 4 @Qj(2;ʘ$!i\ 1u*?8; 2L{@Sn&1+n$!.5,\~9\~9(E (hr%R2i 7=T&1ƒLMtHf9/yG!%$ظm9f&AT$Be2X@0!"1, =4{o=Moa^z0<9n#l;~  >)A*`J0us}ͦ7oW^g?a!~y kW1DD߁ #M-1Fm6VA rpa @hB` s=nPE`nlk; "D 7&U!1Y "E& шTA6&m: ?su2x~<~SQEnZbJ# ;$nAVQ4xFj޶} xanA[hN<.:4ps Dq7Р&0 b=DB,"GQc-ǂ1֌=+.=uhEhZM ߁r]ʄ Bw6>}SÇPAٴ1|t ,B6$gj 'Lp Y`eYl EEHfCuNWYs¾;~q:smAQIБ$A0@O( M4Az`"-1%]h^-={\tM7=w1X_} xyΝ} 40^ϳc{+ogL` IENDB`PNG  IHDR szzIDATx^ԡ P 3b3 { WHy}I*T\PXs *DpBk PLTE^^^^ '@tRNS-IDATxc@L (|A#|f1Fb2F4zcIENDB`PNG  IHDR,csCl0`MtRNSIDATxczQQFIENDB`PNG  IHDR szzsRGBIDATX U;n@-C9;Z3$7 ҧK;X8E#@83 QHy;~/_ ,G>w@al֏x<^V6XQ$% ÄmqZ)ݏz+t:%Pa[H+7ë͗,IQlLY}T@*9 i?+x&6cj4-HF& e ᐬ뽲#k9X)0ϓ(6ɸp?n 2󜟪'RUr*cQ)*AfsCNNLD%ɧlTWo8'@|mX6lu}-zk5'M~g`c7Hl 9a:k^Pq 9Q+>k`#{b='Q%^YCڜ)`>XP7|s”=IENDB`PNG  IHDR&9csCl0`MIDATcddde_?$S/IENDB`PNG  IHDR&9csCl0`MIDATcddde_?$S/IENDB`PNG  IHDR&Mi"csCl0`MWIDAT(! o#IfP48F # @@XK=+#MV3L\=  Ex߉瘤9IENDB`PNG  IHDR&Mi"csCl0`M%IDATxcπX8R i 0NC=B*$?g I?%IENDB`PNG  IHDR&Mi"csCl0`MUIDATxc`dde`g``à_B'?H,/db`pepOqǗArqF91=IENDB`PNG  IHDR&Mi"csCl0`M"IDATxc8W ȜȜ3]&p;^\NIENDB`PNG  IHDR szzIDATxWkT~u윙z& bdH))_Cb?%-7(I i\h-h 4Fmjf]s9s;> a1P[vϜ<̌!Rq_?!q{(cUb08xg3G,*~N^>y ?UHA%IjZFaêd#0?bD >kx|)#W_vt.]w?dZ$ڹQoc nQk6Zs|2nl&>dEJFtWgO}#?3Dzmض_OwiZ=f |AQ EKo Ü=8/T5nvcF%z-@zخdמcoі[}q3 |\d!>1rLLǔF3#oOnݍ'ɷxͦnN3g9,HTԵh v}Vh5LF:6,8cxxVJ<At;9fVXv3s9ce}ƯrZ<1 UvIddP-{G -_T^|{ ~ O˽))fi\ё] #b X.E&h?iOȿ><7@ڮ ].9\ʽ#ƋRJcA᱂~oSlZ`<%_q5IENDB`PNG  IHDR szz=IDATx^MW;G'L&$1R( rt!\ TBp'; kcbi$G'<;/ wysƝz{_ֹАR E]Jљm3Qu )/T}+u:cc v<9h$5LJC1uzsMTg?w{]ڝ6!DdDj=4Ygnf&붉1Rv>׷y]XYsW)'uLJYpO}=亢_ ~4?>G۱($Rˀ4;\+/kWRuo5oC㊐}/<߽`FAXr%#YjEf "?y<Ek^H&zYRJ#&9 Y ioIIǡdr-'?smSjj{W/t]|xQ,4.bvXF )66 Zc8Q"EU[׋vHfgO2cvo#GC1EET$<7*fTw UքWx!-o;׹r-"A`Z6]NXO ?~z&c2b8rx?'y3ufu}kCYg~_1jBv;291S:+n,JQ5Plmqffq*jQYQ1T99нJH]B¹0![^FO\~W<Ș9)}\BAQ(+\0VE/"ӑ%]wbpD멩BNp5،*5 73c{A@1h0!A!oeKr-E[,B0c\>s,Xx!Fly⛼U7UR2*fu+ܾq߼*:-ā|U.<) EBE#jz}hsp~3?_X~2=4>ͧI,.sn`u;lnﰽ][l6iy:LƘo_X<2ұypp_wDpE>8gϜٳO{Q v{NTu&)4l>Ŋ};`;`ckG<匆9 APT!&_DTssI&){Ji‡"s,Hm^*w5N\2RXCZ)$Ded|48)?WdQz>|"Kƍ[E9捦b֨W_1vyOWxwX::!f0=SS=TPb{T7X[[޽Un^eݺkЙ< bsJ˩N 8OZÍ I޻E%r\QJ6 )\1C]"5>ʲ܉]8Wt>+5Iw !@ɣ)#A;PHICTߖ\?L*IENDB`PNG  IHDR nIDATxc?Ye 5[b0_+D~DH3a_6pRՠUl`©r_nOC=l&3+z/򔯻ul+ 98sA$Aڥ% p<IENDB`PNG  IHDR n"IDATxc<4&3? RH+?54IENDB`PNG  IHDR nIDATxc7F@̀[F/" +LbP nؽlWJP;L!MX@&}ݡ9"u\`Q(nݸWS} T)a @@ DWH}4IENDB`PNG  IHDR aaMIDATxcLB"R%<9IENDB`PNG  IHDR aaMIDATxc?~^e %. ShBB*hfIENDB`PNG  IHDR aaM IDATc+@Ā0"Q_IENDB`PNG  IHDR 0(vIDATx^1 @ЙMbVLVR&śA,R +&]p <3Ò@؁ wd0ʹ_]9&%"ŐQۮ =jEB!U]cM_3df=!X˨ UR `BML  P(9$Y5 Y:T5p癅=΃$L!'G;1qBIENDB`PNG  IHDR 0(v0IDATxc?QDH.cN&3|`I  G*U8pTB2!IENDB`PNG  IHDR 0(vIDATx^͓=J173.heacQ<3xDAҟFa2he /#8`;-` L\~]H ͬ5O I D\ߩG]}x\:ik㣫ɏ@p,HYW὿Ifq\>M^ elcG@D@C, q:j{2'c"\xzdˤ(G.;,sIENDB`PNG  IHDR szzsRGBIDATX  Q R20$ n=sf,L4M{hicl>8b9Nv-ݴB8b3P (*!Hd&ٜ@` l**s-";1*v[?Z'znqIENDB`PNG  IHDR8n^IDATxcoO_ߎU鰖UIENDB`PNG  IHDR8n^IDATxcI_?INIENDB`PNG  IHDR8n^IDATxc`/ aƵ'IENDB`PNG  IHDR8&;S~EIDATx^풁 &_.'$ 669& C7\006 l>= P=TN6-߷IENDB`PNG  IHDR8&;S~JIDATXб A#eVgz ERYeeZy~/aVzA!$)B'$)B$%i\xIENDB`PNG  IHDR8&;S~pw l~g]$IENDB`PNG  IHDR&gZIDATxѯ0-%LT `x S{LK0$<(ïf(?~wF 4@Cn' hN ͎phJA^P \ģ-;1@#$m=t_Sc5YD-,' IENDB`PNG  IHDR IDATx^M.CQUQ5iĬ;0؄-Xm !)MtPTUBﹿJ81b}jz>ÅOlVSoupؼ>acʽ߽VM AeGNc}BEWȊIENDB`PNG  IHDR IDATx^ѻJP lq_F-o+, +3s~=rE[ʾ-) 5-3HhAfy8,#(~_h`& .AԋߒF4 ^o:-Ǐ#֞J3Y-<;}0P*Se>8KBwOhi{?HxttkzHKs5_P\YY6@IENDB`PNG  IHDR IDAT8=anQXd %؈J"VP),CШH-wK1aF #FF##FFH?a7r9}Jqwrv^oNNEh?-z9 WtO}ypa'J>J9`IENDB`PNG  IHDR B*IDATc$[,2 /P'#2NEuefIENDB`PNG  IHDR B*IDATcZ3I0X7e?@0K8[}IENDB`PNG  IHDR BIDATxc`g0e" j1W/ oIENDB`PNG  IHDR &*Qb~IDATx^T1KBa=}`hA-F!Bm"jh~@D8E`""DK5d $/p1aQ+sh_OR@T>@A%Վk货k6zu7PD8sj]%󙅕s#z# ȄjJ D@)zX W + "%Q,M] W<".ṱVav fAlρw?Ǫ%icZoi-Hgy^XW!ZU"7KziT7s,x]'Prhe2uJJ-pS%a4>{IENDB`PNG  IHDR &*Qb|IDATx^=KBa\(Ԇ A@Z*IhiZ jlpi3*?C!h BEС" oޓr<{of0E͘ P.^ʵs\x%"#=ix搳>s4o \p"2G硹xXBw1DSCf Rf @+X`y ڨE䘔cth!M<d~PL:0&T m&,g'e׶^QhYbSq@ Z_98-:Myc#`lC6]zm.K4B\#yC!1s15$Ar53 IENDB`PNG  IHDR &*Qb*IDATxc/E2/?01& cLIp8ZR࿭߯QZ, 2G$w ON|a@??o w}g@!]b +|f`ab @hPj]8@ɇ@a@y:aЅI3`dzH/'Hq-b7<@,+~pM_xJff?O\)yC?~\̄tjͦ+;bS8FnU8IENDB`PNG  IHDR Ⱦ.IDATxcoɀpZ@М^fD Za<: CXc ,E7\IENDB`PNG  IHDR Ⱦ-IDATcπX0@J 3cEP8) i?IENDB`PNG  IHDR2IDATxKJ`FϵFDYh E"h%ѤAA#A9zm¾%fbc' HCkc >AKA8:sy/Tw{g".}]<[:*f9Փ:|ia^}َx).a'91-I4[:5IENDB`PNG  IHDR Ⱦ&IDATxcda@C\Pj=03` \VtIENDB`PNG  IHDR h[IDATxco aB{IENDB`PNG  IHDR h[IDATxc g`BT`IENDB`PNG  IHDRzIDATxco`ߔr#P&{ۋIENDB`PNG  IHDR h[IDATxc`€X*&QIENDB`PNG  IHDR &WU{5IDAT(cπ Xu;MeAcdd|fBtJ tSIENDB`PNG  IHDR &WU{.IDATxcπ Xu;Mz, 7 &@JڇJ[4|DžLfIENDB`PNG  IHDR&gZIDATxڥP=Q"P$*JP(NH\CK {R(HFBYo|a8Gt'<{]x䚍*젶_ק]4уgXp٠pC"04cX Fhng U jg.)B X%UM/Մ;}#cIENDB`PNG  IHDR &WU{+IDAT(c/ŀ cq02cr bJ >A,(E n(oIENDB`PNG  IHDRPX PLTESSSSSSgtRNSv8IDATx^1 D_s?/9!SHѸWl  {< ai1@r p ,y g0ixVm_N'ЪpIENDB`PNG  IHDR szzsRGBqIDATX W;KcAM$ X, vGep(<@{F`'VÀkbQ& "nXH^~#a;w̜w3rtdvG[UP4^;J6Aau:zT*Db cHMh}>\.>)I0[Yf0$~%%6  y+ .>t76ۄH;DF<3H^TάXu b. x1>jf#go+@wƱc>~h<7<85k]{أZſL(HLA JÎ CJɫm4Â/ rG&4#s3>xrxi̢}02']x<>n;gH>zPa " Ib Nwtuxv6e9̰ L^ ͅe|@Y $ңlKfsX,ĸpHoL:qE/ɉ/8jdH[ x D+qd8_ LkEέ cbp+@5 NVϚ.c]IENDB`PNG  IHDRĴl;D_6&X p?3D'a~ŀguau.;n{nz][I.ũrJ]vdr+R>M;b>=j4xfa. 0ݮT,hz/\99/eY~jZcEq3oea"X|R7,|6AX^R^#?G@ʀN;`sa>j:Eq+( w:RcIxF10=pݖqf4q҆F"=V:LK.f9o<ܢ%`Z0?`04nhy[0 cXxAi|Mޏ LFZaex v UP(l6){3?9J_>]إT*[P>!=cX(ϣP(<1F{pmtIENDB`PNG  IHDRĴl;7IDATx^]aGZ](=:d *WDc4DLw$CSQCm?ffKVvj:~D`A3l3 p3# .V!<׹|s ;ȓLJ'8&2$幄f:+Y8u.|fSR>:Fz$pl;LK6l%ݾr{<[pNPu:aCrOvbn:f\.Gwljl6EPB~@_y۵Z"3&>?e@D_W*ѲUN{ {@{/˻v[T Uha=nZLxAs@BLXT8i(JL ﷱ 7UH$b6 ^$ IWd2R8l? :&8HWt=6,Fc=hG-ˢ ɀ+aϷs"hAN#o$8 $q]j=Bjpt Q3Ll/MOӝ>䆾>|sIENDB`PNG  IHDRnIDATx^oP/,Nb7w^4-+2!4@c@?Hhv.YiS0kCsȁD+g H˜8{ όFvx98.SYȯ|սUlʶIMZNYPlXD3 u(0ҝ|XDP/OXx03bnEQ\clcV׋rvqjÃQ\1E"mzсu.׾aN&ue?$Tncc K'w>'k{dpg/sOґJYs!%[)#3QHA7hN9V[NNz,\83>Ix?ia&_= #GLڰ=KvbA@!H$9pi~?B1] `[-?nvXb~ހU)At9$+^ ~o&kHVhP  IENDB`PNG  IHDRĴl;TIDATxڭA+DQw4k&Y|51JHB!#5 e% bH)[.4۽ss\鈪7y,v .KP _K7ؤQHC"B 3+|.6e qϤ =b- H-ޱdpt7w$(BE*V ZFx_□ -ݼ=&4GxGV -ޖ 4- 5jޔ0P@(B LA sxrNQ.:!8$T$iT7b+RIENDB`PNG  IHDR"zIDATx^1 P<; 8'g#26f\b z# "vxGx ~mTTT `jj (y%%%pJ p= (++#G7&ίba£GyÖnQ^^f@ 9ȭt  ?&&&F Vf#vj,tLf320.$;P9p$;ޅo3@:44ZzCĎ_@uK\x2HR@]]{>JKK@ftvv>(y877jpU^2hkkCKK 9}P?s `ee!帠looGSS#= w|12 \4_%\~VnMAr1hpCr(g7Kזyћ擅2{QCc~Û2K&$zW55$Fm6[9H`7oL9W~W O]i=$>?3Tnp8>^SS ŨvzM:ֿ#xCllIENDB`PNG  IHDR86ZnwIDATxOOHNB@BX.+7ƞ^eVP8VT6Ni$DU!EJ~WNlf;x&V0Y/pХDSD/X{{Xv;;  0ۓ7Tp8$˲qGGo8&]A04_r`$#r(e -H'`,!a:ٲb'д*JSLi3_46n ^bfkug.sYea>vN+++H&h4Hy"lii \vR]{<~GZu777^iB <mcjjJ)ӵVi'p}t(ێ \'5~Z; Fyy΢ p "fY%sWυްT*^ e7δթȿaꞝ) f{1E9=jDvbf[' tkHR lt0??O8njHnۭUNhHLa9uМ^Bp:E#]~2nn>td2tK.2sfљvT*N;Ip# ĭ&$$+#!0,4;CŃclwB㋩H(K8x=cx8ŀ|{2&HĿb r滋! wJ%?xo\ X2t]-sR%Yx-pENT77u JӶlOZ[9^__@"K4ϗx'сHd}|zx*bIENDB`PNG  IHDR86ZnIDATx^]H[g͇ o$;"5b pCi-w*qʊy޹nwQaz1Aijw@i;)ė${D&KGE0"+҃_$W畕obUƍ˵kW?4~LRH2 ;;U/Xa(*G% +Xʴ(J B!#,(PCDpJA!#Ї>d^PEg<$) bu[^Yg#,,,c.݃|/вh, 6779 |'p|{?`1`II wF2|cB!ܹ%P]]bU`KK gDPXXȲcIɖs_a6!k8䲸r*jkkqzz|{{{ hX,G3L,DL})_3 oFK͟`r:l6[$g2`ffԧɨr, ϔܖ(IryNLLNL>4x|* /KQ__d(3]ZZr~s:wqՙL%yLsO644dKj(SԗQtww w.' QB2hjj!BҜ)A\.tt|ryeۍ.BT$=K4iܓL}>c7j9=L ~dtA =(z~R }d !gLȚ4x dIA"xa6JAA$vvvc555?#K0s J%zt0Nm]`[p*X[?k6662[[[$ FGGGwSG-z0!9 X$V_G!@[HIENDB`PNG  IHDR86ZnIDATx^kHWƓ^M43oS:L/9ZG&kkuLсNGN2(UtSfl5vYM ۠~Hr! h4hx1( 5q"_<@\GGpNĻXD9~:v}yygmm$X||3saggTwwWT8Y Hp1LRȱ(# ü(4nookqtEhs)J @%d_6QZZ*lhhp WLVUU i4GcccNNN~%q7 Wm pZb1gDlppM|Ggmmmdaű^R*/_M kjː֡pooOpopp8 ^B]]ekmkda;=6q\×Z"/Ý_וcHaIExPeqq񠷷ΫH ,89\TTJzzlbnnʯjW?[[[ Tݾ ؄dX8Cإ?Kal~بD AB8> ԟu7:::$$xpk,8))y-Ԥ s@(gW$J ɖnIENDB`PNG  IHDR86Zn IDATx^ڽK[a'QscT5cAt\?jŒcFT)T*S\C]5r!7~ssէ @_:L Lf>bu~8N5 VA0MMITqԢ|`c6dP6dl(e^(eCƜ}MJֳ*yeBvwwqpzS/x?tuu[[[8::"qA8r9 D".mgPpkki\\\=LOOs\ YpJg\]]nA·0B9R33o,VN#*Ut100P(bmmmclooL7^"2VV>0<<H$DP `<9l[ /RInnn85h4Z-LR 5U#OOO!H,0-ook\  y *(d2L&; tFX{gὼD88XNp"J%/$R#;GF2711*}A.3H= MM~ pi=Dwfrr1T*5{҂x6AT>_w>h9eо5~d@džʆ [5X:Ek>2!l2h h)5gIENDB`PNG  IHDR86R\)PLTE(tRNS3"NIDATx@ī1(&r{{{1ϙto`a!lX2Ⲭ-a~tOuXEcA~`dm`* b({q*kcoM{;vˁUӃ6Ls#Krֵ/Ƹ({}@+l":uYF;KV{妥3xHVYK9nUT洸#vb NS{kYs^Ў7rζ+JjAY͜hՠLjh:\M\;jv6α֛%{/d+u~='94C9KYO43uIENDB`PNG  IHDR86ZnIDATx^?K[aƟ\TD0 .7]\Zſ'TCoCuC]D*T BjR$$^_yIج/a|3)ب |>b8 p(A]Vl,CJ[4.DkK^ZE? mDŽd<,g{sfPC`wwW W 9yFf2+C<G,j_@}(3亟pzz6B!P|D.+^W[^^$ A-OB&d5P(`i#...nj>Vr1Ofcco W,G1B0$dKK NNNjoJ* \oo/FFހW&GI6B2 =q6S__@R0 ?v`{k˃ܗH@*m!RD>_x^?vsx*>M0 rby|-9uIľz뒘e 6x"LAX+Dbg{k5hbhl]IENDB`PNG  IHDR86ZnIDATx_HSQwܦsS"$ J0٘It%&e$>ɞDJXJD8kX5]sp"Bu=gp~=&R@3 ]AQS;F8.8.B*I@ T7deee  (At:ugutt4By>h< 䅶hqq΍8d`0pii: jZ|!-݋¦!(III t0kqqAO,|KJJyyy2^%$$Db1/H #@&%ɀ{83@bpH$EQV*Vd|Uyy6???^Ѐv]z +P.L5XRH1w%b+YVd r.ZYY`Oe"uO᰿][[;R]]=?R.G/ݢ" I^AEI%>À/C|(jn}g!onĮhnnn"~_P\"; GÖ{յ *Ԍ#lbʤo\\$vT b`Wahܬzmnnޘ{]WW7cƐc"RXh7***^B練lL#}X!S!48em6ۋkkkۚ@Mt%zGͻcEa1탽1VVV\]Lیggg_ 722ʗ~_d`[g_x d/{ja!(XAW. xyB;  i+\IENDB`PNG  IHDR@*FIDATx^1 0 HR y ܽActT^B&~ß?S{zZy]o lwQU` >aXP8F>J ι0eyLC&Lc]wx >ّ ޢ>:QL|IENDB`PNG  IHDR@+>p PLTEO5YtRNS3C. IDATx1)Ͱe{2%IIENDB`PNG  IHDR@*FIDATx^α @h$K8ػA\6H^8"`Ӥ9M:M:XHNa@z|3\@Gm`DQаo]Vm8;WdY%}0h/b>z mi@:ؒIENDB`PNG  IHDR@F:IDATxc idH?QQQQQQO$ED-(h$xR2IENDB`PNG  IHDR@F:IDATxc g@lR%#9*9*9*9*9*9*>|%[@B_Bu! xRAIENDB`PNG  IHDR::KIDATx^KhAp^T"eb 646M6ԋBU   Ń"(B {QD|dIKQCgY [cgtT@7* R~?@a5ܦWSd:d\Pm?E' 5@^oc\T)3|s(ȅJAO߻n˄JQdcjx PIXDފjiK댪7/XAm@fg''B7WJXS;D }eSԆn@3)&9)yeZ^kT#n6pU̎x>Vw A]iJ!~);K=컍.~WfB'v$#y(k<ف'qU.͹"TDNݯ)nl4aFF7ξ漵K@*P ::IENDB`PNG  IHDR::K+IDATx^ֱn@_ڄ*ϦNj;KC8$ !F6x 1"@H aeaba`DG["Y!W0Nߠ UBP"@\ ώyAYGz>gQ `B|bT~2o+tSVa&{[E: [AlVd*_76Rl9(@dVbV&g3G33'bmw9{4Oj_5DC=jll%bbvCuX3[ ]AŽZ]bBheb[ma/jvP:^#iHE:1q\ѝ(tgvNc·y2o$Zlvy2^rfSUڢ4qrBjpPS+Cե^e8oK}OY!)~ޣԟe?H_*H0P'] ٣l08ӰWJ|G%&CgTJ UBP=)AUIENDB`PNG  IHDR::KHIDATx^mlSeϽm-mئ)"`t[`^ FD "^C~@~M:-$20:`soy kޥ99o ah8d'f'd(FCYn^g;]G[OUw:sS@-%K?H ۗ`JZJaT8ǎ8j$n˟WyH!h}^>n{&?J;Iܠd&$ل^$[}X()d@`!" I1aI1*D@5Iu/UhmF5 8@BgJk,\s0?"h(lBXH5,VҼS m͗L(~4#*%LD}sLN:(f. !F6߈H=z~*In0rizވ5\h+Ҁ/vBH- -EOe-}o5-|,chǮ_E >ƍ!ͽE_:Nl+YF>sc @_f #0福 xٓvX=h)LP?9l+ ]erk3X/,;:Tpi p;P}}Sj/Wy"4V+mR J(N 2P8)T0$St1bڿ $SS[!rEa%6)u7Ý!hR{kcU[CmEɩyOCKh>c;U[zS<"Oq])8OTYь!( XV5ɯ[ܔx*EjqiR-ڼ]w+Rp a(ؕڐxpWlˆ^IENDB`PNG  IHDR::KIDATx^]L[e'b+ $M[ eZZ mmhͨ3Cgf6^`tLv1M8Ÿhd.fYi::Zv<Z2zC<%ze ,OJX%Bh J@6kUdxOrBz\/^VI/0Њ-{/C%Y)zAxR*в2`bvDf@Q`$-X=erA1`wd 0*NE! (ꢢ; PEQQEՁ aCt٨](Lv+=i+Ƥ1talm,bڒH=Y̊>^"N7%]q&Fmiӕy2D6,Di>b(&B-Rlp`"nZOni"2BQp4D|37q۽:{鼶^bv?(s5<(_\rkKZҝ0ˏF=1G5]0FuG%׻fYV&U@ {)[Ҟacu jU pOƄ6H x++Bܝݩ|zky{DռkΤo[w:󡚇QM{{ox4/O|/J |KTQ-n2.Շo7A![(9]̗g;Lp$waBQô{w<I,\_ *BuȄԘtg3yۥ5ιPAFzM\H"~ FC5lmg݋H+q毇[~԰-T7@֑dojJQ: /G~:ޗm-6o!uP^^v%c~Oc /ZQPxuOLx<<c她FLyQ[Lχ!L E1*cF?s\ZF0JC(YTA**Ja.FP-6c@ĊhuzU.bHwqAw﫵 h[t}p).ݫ!=Zn3Z.p|\{K@Jދ TBAQP -DhA3b E_IENDB`PNG  IHDR_vPLTEiiiiiii$tRNSvIDATx^}j0 ]! #ʖI̞U_<*aUԇ5:b1"c"=!T!6=b#v{ё]A`7^~^jlD</W7/'pDX aqc00؈[F#[FC#\F#WhYHF2jD+ . ǐ`: [DDI䕶H")H"$B1d &$7>S8#( '@q@ɱH"`H" V(wD9띑D8BL^t 4ΈjF9s gjg;DDG "/ &rߙi< &M]) 5 97@"++3ڂ0")5Ѐw )W@Q?MkdYo ڀ0W GŚ`ygIG^D["Tt@tCP!T"ȳ6ؖ5 "m AȰ,˲/;5T;B8 tRNS[С`&( %2T$ cJD]oh\+ #+Z BoUZQ;<Y ,K&!މo?`cFD[.:"B#B XҦiJbKGDl1 pHYs  IDAT8Ocw1@Slm۶m۶mNݦol23OɻwDCK=}XMLͨƘ[XPo+[zUG'gW7wtRLyi }s*~/̄1W2YxXȉdFf.PFLjX0q~HhϯﻙxE0GD=_^z:["?8<:>9=_3qIENDB`PNG  IHDR7csCl0`MIDATxcOAر(`fHx ΎFϪp0ias R`e!M0?L]:!Mo2)τCcpUã!9W4@|VYHMU@MIENDB`PNG  IHDR::KIDATx׿/aqk!1ɉh 1ĵ-?ӟ-:bCWV{W\{4ru|O&^ r(G \31~6 osEUw i=4C-ҷ4 q-;ljFhx I_#F4o=wE2D;jON>@عLvԞlTAx2XcBIlE ּqo]1$׼7ǣzQ{ٹx}1̼=ۡ$Y2=@v2{@^"%"ʐ,)c$u+T˕ӓr%c<8OP2lD9LA,\2o$$BjՄ1.pנ7۽D=9G9fE6D;(~u|2(G9v/;~ empIENDB`PNG  IHDR::KIDATx^[e9AwvR,CB4 If=v'!y (B 2ꦋ"i!*A*+ݥ۴.*i;'3 78<3=|PB]XD|I~pSjYי__qH&u~&LpOf~F1ԖqYCvZ/HӾq :X =Jq}qXenێ}✚Ǘ@|.P(D "!;H6Z Ly ZSL CQ{$B:)uD';wRq4u : =dIRIZٞCvCى>Z9q7tLMvgK$dOz9lФKzoAI[JѳeEߎ}? AB+wl-fl-+_uOT$ Qm-g'N*48@9+;֞XV' GF'/N;RЩ9JQKWEzu,`}DÅ.ujE”֛?w|youIENDB`PNG  IHDRPLTEBDMC^VGP[IJfYa{ElbH]FZNXSmpgQUdoxuy{ikcngvV~8BIDATxυrI]wc;*,9Jv^DDDDDDDDDDDDD$ϥ l) 7Uva^KJievj~Sƹڟpɿ,hC>Xbc%Y$K-*0)PQRz~KǒQ +6"0d@~1˫gaXC>HO,V'<4.uY%`uffX46#d4##0LcB6I#kfv!pF"-؆@c%W^@5]Nf@ΘOcBGcJ1r95Wά2ş; ǙujQ'N#g|ga-癕@4.0˿衔˴ *FQ5Z LVz7 evigUք ̹!J^5G{/ʼ~D!זCҏI N,9:B/_%XkZo6Aਿ@*P T>g|a4>IENDB`PNG  IHDR sIDATx^?K[QCDt` wtPqsԵC7A@ťnv`ޖ<$$M~sh$5O 7}pdO%W p+ /:tV@#Pt.R/xRg%pwpw$׋ۃQ R0o=w&) D#PuLEM*\ es2-fUO8'(<iXK,+5_F<  q'!<#G)&XX5[y, 61GmCk6, `S8}Np/,% A81U7j1>Dx;F۲m!s\&N*Ve-FW۟Y0, YRdIENDB`PNG  IHDRl\G4%IDATx^ T񯺫zoQqè&h>c+D%Q32gF ͘1dLI$OFp"5*bcT .~DAEnzn~9S}Nԭꦪ.1tu+s{1  @ @ @ @ZH  @!`?W=^?[_ P,+}G?E_ݻ _g ! N |/g3&ߦˍkз0X&~ok"t?}[T__qX5}Mꏂ @iWV_פ o׮]LI=$AMI=$AE;wsk{> @Q8s@4K?$Ab3%߳a Hӿ[os& oVfS@ p HLK5$A߇~cL|.P `8>{diϊOÂק ={dy|ޚmSӿ5k֜n6_1$ @„O- ;  C/SpY S¸(/SRQ0 T-(F%7o^ݻmooǎIܯC;w1c0W2C @Hّ7}37AC^[o<X=Xq6 m^ @ ?S&M*)g{uWWmQT;W}O}^={(L>^ @8__o;w*seJ6MbhkFsBω=GzE @_,"A3:N,siE7enmm1ɰ2դҚz/A@پ}Y2cXEϝC=^@0,D_3$dvր9sP (+V|OOOa+=gzD& `(uuu_ݮ[ +%=Gz2Q 폁KE={#sJTR_O @d&FYHğ+. @d (M6Jn|BI?G}@O@L"pMߚ ϓ@#o{y{Oa;< B @d 8[r-#V/}^nbşG X!_qHA?})/'YYL [YYLu:}Oğ \@ϵE`GGӥǞA.A@; Eȑ#zчCXG}7>Yzş+dhY"\*Zql8!z,=V=tFP%U_/'Zuq"BB??'/DTEa al IglF#zbHqkO(N>@ U$RPBZ%VYcZiDם$ZʌjnnJ%B'KUY @&*ɐc;!D8O\&$r+^[$Zy'l bQ~gO(n@ E""lgxh`#H?@5qĪ}{'QwN馛:DKcXBEy,[m|X0W^+V|綾^?I _[\{',X`֎B㼆%yge|1B\+j6rZ3.]ziߕcs.h$Oҥ2uԡ>舙3g wجYJkv=R4>Yzz̃ A~NNT!U"aQPQ" 0O(H3ddJq8Z Y L$^',?n| #A@;D|}~%Kd,1N|s9y@' :a .6o-=f=v IX?'#yD!RtHrQbMW; ;]?5&ńZ G Rڻw-=fk00 N秺fNTT+z5dR밾(ӚdRyuMy8$_2>H DETbQണ8@DD `x_zHYOOgKYz x@|]lժU;(g 7+\C:FL>'Y6{Ȅ oos$A2ﱠlH9XEA kמm| @(NJZqu͘m[z_Ov~Y#Ed7: FlqRs/@?رt<_ON` 'r8_7T ]e܈tOv]2<"h.ݿӥǮ!N` j|]c&صcB8"dwIXD~c5;ܬ^Uw @ K59gXCR=ZVjСǗߧ(dyutt,KIjug?N; @ j;vutπC1 ?яdq"zk|C-G5l@}F| @ Bz\Y0'?ɨaÆӎg^wu'%G N|jk_& СCkdGïFT!׎,,} @0_s5$ ~z̙3H'U8rpmdU 0pMMMM{+++JT Qf0,}#@`ğ*H vxQ<drGm.wk~G[W.JE(EqŢ$ԟ?Ka_n @5SPaY9*Wڭ;D&l.ˎI~E""–(r Aw p'2k'p p\ TjOsxmZ8qБp_(K~R$DE5Cw(iHrgyI&ytN,@|F\ޠӧGuLçV9qX^ Zx5\ٳnjO&DL0t֬YrZuqH{82];Ι3Wx;[{v _a=֟ч] g40vnVgg_K CPQ$,}/ @0/{AWs1\(5 K{%K1űXM\ze}7pwf~cZ1Y^ @0N"+d.6X"l[n |ಝ;w^!RTXW丹#yHǬAK5  @+< ӌZ|Uɍ͇d_J Ï]8__N!hs( .``(0"&eyTdL R$" ?B0b @0,Xp7/yv[yᒻk>+Co>~cǎwᄋNZPݻny״.Gv|لs^@ qL\}(LԈ7>@n1&>t)B| @UDq--)Zn_z{$}_ڻEw6ڟ7{D'vi U(% jX?|Or j%.3Q6~xr֟l@nEYMTp{? @gg}Hv?w6hvAxIX%?ـ(?!$A_I-& `Ν{'Gyx @0<A(D ~;vL @qTP6x` A ._L`eGɟ A<7#@ A^e`g @ 0 kg>  @-ZT+yj @ 9 @ eUD%?  @",1/& `2 +HHXhS`  @&[b,&X&>+*Ƌ3Q) ,ƈ+_(|BEɟey˫Hx X X-. )2gŝ'%/A<$;92B&O. A7gΜ.\x?~B˯?{?_K/վ&On< S/V&y}q^cnOU% ".Lj PV(g`g„')N8 /K/\@8Ë@ @} e60B}^tbq˿-[v\{|mU`z (ŢP" 0HGU kׯ PH?k yFz}aܹs2WU5B`>"A~$}hO cƌzWd`qKB`!A^&5ph`ĉ}agNXz2W?Aa\ ;N'@0s@zg= Տ bq( lnݺ#Ȳc?Ǐ/4iRvAAM '|'xt~B+x&} x#@ A*YQ"„VPL|f.}u͔]5}6&mc@H{rм4^+{{gḩhcP$IM  fi5^zg۞̧(+$uY#qQ)J@"Aт{ @_M}kWO@oR-8B>!eb$x+'=+%|5.-z z,4H&)ؼ @Ra"G.>u}rLrlnN@e/0E>Ba x#;G[?#L5 P ٻwcLX^`鄭ccue~b…c-[v}y x@ZWx@8A(Pc @/"/gYטccO; XBV:r/ƍWK"7Z47$544cjX",#䩧# 0m|=8MHXQ*0 52lmm}]'豀 Q) @!ly/_~ 0WU`(SA@0"l߾@7$>i^鐙0oG+&:aթR8P"nd%"~zݨ-5& @ Nb1e>ܶ\(pIF-KvgϞdC5+|7t`cLw g@e )5kpQm}L CDy5}7o!N(~-[XJ~U~14Ɯo>auvgn7J*8/ O;W>}[x $Ə"I;)`f ,don8~rSLQo}}YZ t"9γ )0<0,{1Lp0Ơɟ(PfW;~_c}GwW>! Ə0j !)~y3fE )MU&v!/"eQ>ڷn#̍~}k/SxBN_ 2?.ʻɟ{@I4~V:N?N5X>$NT XDs\tE%B@]_~'&m HK.|[_z饫t*M ~c Lq4`+hNAQ$"(A$R7ݽ+o'D)1Z6ǟ7z}Ef./Xc|c{?7%K"@;nrx`h+WHfy$X#=fCL,-k& ND4Z8c9t2]3]9dq$3tQi2w[[[ @/-a 1TvM0ԍ_9+X&zQc270Ǿ1s0'i 8p͝ kw4?qky{$ YD1=Sv1p70Y!ٱzn&Ivqiu@KǏ @0"JDX""ԭ1s0oU oGEL’b_4 D[evz/ @7m0snk8 8s83OGj 41>ԍ`w}kp! @1&NZz60nVX,"7ԍ9Һȅ$O/z JfB@؁oFZkk]&\@ ?dg6Bj21B~eW2M Ϗ @ y]LٳM`pI4~+SiZ39_0 wI4&Hf gd߼yٺ-[ۏ] |1u0Sa&a= !Kͺ @2K`p1IƏ[pl߾i6 @pq/,ҩSzX{wga/Pߜ4S@H]L l?~Ҝ9s$|G;?bۧ @v1KOf oS=d2]S@Ht'4~}+4cƌ)S===[ l&ۮoG0h!A&i|s*O 0d׭O>r#LSp_@H{9hnk.ijs+:Sp̞< q! @ {9X-gF6l8JOcǿ` 10H$wɟV6Y]eڵǿ,{7G;| L @ υ XWWWpA@ss @ xo:L/?iW%s,[ouxkk`uvv>0x($ @=??,2|ɳ߉_XB}rɟE{\! DX29tOϯu ؇HNxC_^s r9h by$#̍ŋp H$՟t3{}m렄Hnܸ"0w6mtq @'uٍ`6!QM0wc  +66O}@ ;` H5+'ڽ@T0w\ϳ H߬ɟzA`Q<cꟙC~;[$ @< Q?; @M賙O/Ou! @Ej^x%I\ eÇCޥ }7/&jk}(8@y όWw˛{W5. uӝ73ܹ H666b7Ew˩#p/<{م$fv0Г?5}{|# ]v]k|RFࡍw{.Ʌ$ƊW9S n1.H~GGqi4S~K\@ )[c\rFrٳgd|D$@"*d\&H7}!'H` _ڻͥl4+ִ>=\ H:t-ݰ0un H`p;54#SƟ/-aQ,5,ώ_Q =>d5 @ dOНz/7X4xF;-! %۶H⋧XüA1z~EQBnɟ*j_"ɩFB`De,[='Mf"Pz^[" @ ٿ?hVojJ1y6@"`_H[5xp! @ ϙ|_\Yݵ߭ `# @{#Ț5k.1Y?TZv A9O5k[M`lw1@HTl N>&Cϧu H` 'M/j\yCiޮaY3g|DQr Њz&un8Eϧ@ @xwG=h~YfVGWx?Ń$K(WNvϟ @ 忌y0jDM槿3u~M^# @c`1/'Ory>$ɟk9~w. ^>2up6?i L@ZNĐΥ&+IM&U7v @:c7TZo1Y#x%Ϯ L@Z) (߿w&+cF,9_9o@&4=j~BJYnyV6I7 П?_hӧm6]%ku {c.sKSc=6JŚ @f4-o6o3-mqClc tp׮]5<ݜ?O^Vk=o1ɱA;jdC2Jz읿. ]soccc%݄tt_iӦGE +#g̘1Zϓ}\@ 9f-M#X1_(e}_r1d͚5WO^n6~s! @ Oh~UǮ굉 H* !ӷ`~%L,lcԦ@IGRT4{a=z>{Y?\@ 2mMAM#Qp®QF ox_k}BŲ{eǽQ߫g]=Lv=رc/<\_o_gu! @D͛Z5g}GNmA @hv |]"zԏAex\7K߯ @y߿o2ͭBM4A:G? -bbhg>SşHo'c"z.. z,ZO_ׯe. >M]D"RT8y|O.a@ }7՜G9"]B:G` LT#m}t׺sΛ}Ix[$?/ ד-m^dz @WvZ ,} OV~p7y;9@is>g466Nn\X{w6553cƌ9ϫH=E##0l]X.*CP6Y [je---Im/XZW)ʭk$ɟiFsiQ}`, Ak"X%j1vN6mmmm-XVJ.sfl޼IUį/RO@'{e'S!X"ʬ`N B1VX1nÆ o߾h.y/#\;vHqݺuYW-i_(q?+| @?SGsJ(#I¸jT' QdI~>@ ݟ*jvEzNwsZ1XbL0$Aer+Js?r; @O=97=`rAk2JJ$8Ț9D@'DMSKznuL b pH"' ]>@'w1$X X+pH?QݓkX5|BsX@ ݟ i/\)$ɟ-u?F$ @to&>G @@w&OL p&-{Է@ɟA>< @ @>S,ri/Y ЕɟխY ɟQڼ @ @:Sߜy@' 迃 @ @Z?L_迃| @ @'y־=@=hG^@ w ߎaݨĄ2Y[E6%*D:uC!A}l8gGM8AْЍ., lrpl) @@6}XM^×;knfsSi!ͬsC]n9ǟ3WinUZ"j @@^G`ЦPY:"* @@?Yf @1  `5   A @@ A @@@   D@@@r{ NLes ~p Agp8ʶ[  w@ @ @ @ @  @ @ @  @  @ @ @ @ @ @ @  QeIENDB`PNG  IHDRl\G'GIDATx_hwnX}1af(Ba:.SC:A3SB -0 QA (.i99o䑐''iNr'>ВsVv.|9y "J @ @ @ @ @ @  @ @ @  @ "X6 @@7ә *'U@@p@8T+? 'j LRmF @fG H7Rn@G} T7% ed.KZ PPy@87Z^@NDM. @.ّd%zo%9RN@>[ @={(9\w%ym{ی'&I->ƫy:}-P| ns:@@f{JKN'[w\LN'%-X">LI^H'&GJ@@^܇@pNя5GJ0 x{~?`clzn@@}{h ֺ`^}qkQX4[.&Vp(zoH 4y1yYZZ^ӹv[̏b~^Lfo.i Tpk1~vO4ѯ܍:n܋^~9s~mX~%o#̦2Or}|vl$꩷ "~N_Mg**_x>hwT.-ƅ~Ϫ߳_on#fj3;K=`ė-}^koq6T @f?׍ ǒjcpH~Guc.}pRmXn Z1>pYuXn ;wZ1> _ @@.Gcϝmof&7@\GY.; ArJ'kox, @sn֐_=w Arv6_@P\ A'?@U؏u @\v΀_rniӅ A=Nr @\Ap@U~fc AWĚM_nL@e_8~l A`# AWy @@2rl qK߈;b% qNolB qp;6h!@U.NcM@@{w%UyqAs&3Lr33ȂDA{t"1*ЀE8Ȃ" ,@@/TUUuy3 <9c[V޺Ր<} 2L]1L=!@; ߗgZvQͪ^[ϻ{$ӒP+Yz~Mb}}¾feH+m`60 v @ u $`ɱ1__<h4*(G㍠9|p)1xWK!~$f/HP($@@C5< xպ$`QEzY-&KvmCI9ӊCG%{66;K.E`eMam-j1K]mv~c r5  6?KvtOΰ3H$ s#mw33 {& `0d4:v'Y8擮6*LPl  ˣmnL4kE$bx㨐4$/u~p֚f g6 H @%Ѷ43e-rՋ, @" 1{O&ϴ>[`1N9ͺh|15J#'iziH)밉c2L vfk/M -pծ:SEiR[@u,m1m'in c< ? .b:@; D @ py+·8QAl8,*AO Kj9o :h  "0A1P\ g`P Ow9`[V VyX7'A?cjz>d15QHr#`,ɚ`t- 9 eɁd1 kiHbqN2nFG?Pb> 9z$b&9 _ j . yB;V $_0D {vN,>4r1V893 A0D (_/oJ``{< ^2 @ ~/ @O6~P @"`MY/K @sx <I]*p $O  @"lk֬uM&YI>{f_\T'dku\i=":$Ru" UWdޠ(+*,*(6eA:(? `E]1h @jxĄqpt4uڗx DA HlcWu0Rij.1Y yc1'Hk#8G@?2Ƣ @H +g4 okx HDE4. ?r,1 8'y$o 9 &CH[bbZ+||Nmm1/! bc\!`1 '0 6ri? j_`1t &̀NpQ ,Q :2D @ͨ+uXCD zC曟mXc#<bRp*X[E @ P3>{O4ICWmcL <5,?C &~kFlbp$\d15'-! s C;CZ(%p9z͈0'> E @ PSCF-;uCra~-x?r!X,1s] p @ Pc]KCr6iw~7(7~ٸo[U+L$A,pd~vX䡌d1،FD5hsPtZtuSZ_`1?  :@I~pv?  @tPbVP=KZ'J;. Da \>cDkÒ_S]9[7E R @x bb{n9}kRHTw/J[qT΅A,ȶ~01v|AY2`lx?DA,4R @0O^ @e$'\y}YPnenOXz5dX߂`3eSlo Ԭ/=Lf8$:4=L_QPn۾~-$kvrwawVpX!LRH$=WZ)>R @>b vMM2xfwP&}'gE"S)w5 ?e\xc*0ȊӐ# za@,Pd @QZ|u0>u{rP  W(S[1 "!1ׂW01e2aQP˶C6{H.`n x#&_ X1@Z0AHh2/z|kSmfL9)`ˆdkZ2Pdh!NQN.`þ}ڗX aj./W{tfz= @ @__Jg8^7?q0\ !M; 4[2 x @L>dzwZyGǟǁ3lv?r>F7{| iGTl!Hh_F9d޺S?G{P) h<LXq_Kğ@Q6 @ xz7eܙ2m; rCi@_vLuʎC>mqT:¿P1` W6c2 {l^d>P_vzyeK+\>`_lu b%/~PN`8> sx  @SkiPf͛&[nfl3+L_S5NK=4<bbFT$b5_i5ew8LZ->>lKmSm[= hw:  @`\kd1ϫRrPo£g.ggBy^5lյͿ?~GuG| rh4| @"]Jf\nVwgBwC?v <9é.Pa1xJFxMZ cp׆$b>:yԬ7ܤ4,Z1~m @'O!J!?Uwmv;#`ˇ`G1ׅ$d2)\*x縣ce`xeg0C4d~]x͹wokdNhO #)ɘW %#XEqe2L~kY !'Pa~߹O"}e\բH UkD+JdGAtCthkޓ Is3d$Ix ,Rjm'7 pȈ.#7^w''~ufXY;w6Զ6c0 L* )>Q;*:1TNb&.Te}$cD,Ad2I$`E%-__%O ݖNWn{V_y3IE~ojվ2 @ T455Y8$RUնOC=dSx}*ARs 0XED @*h*555 L.0qIHDa{歍M0ESPQeOwu XmL=dD'?sUߍEFu5jp,pl @ H|h$X)]"2j&jǷOEScSd2TL_?iVHd@^}8-yB_!Rcӽ&N Xq @ H=f7X+_E8U=ҭԯUqtV1cg2D @*pfg!K"Փ%v_-N>7uV{)*J0 @" ,3HD%zbD*oْפϫZ}_sǫB즞 @ H =S_#IЛX_ 5ˇ)[n1 {0 @"{}=׋ouG]i:T*ъ 5Jʝ㎥"N%Ld*h$<_Jtj d* #Nߨ],dH̰$V %^;__ѝqttU$dpٗrgzi9{s,'$ 02b\ o$ܫ%TK$^Jµ?S.Pߟ~+}'Dxsd2Hd~P-cR]^eUh0Zkmr H@hB1B&;9ѻpw62ln(`?||:Y?8$p_:<> P( dtmZnxQ!@\kRen @ 'rS@J8/2(pR_zbGRn @ '+w[{+)z Po,ۭoݎ8@@_:x=֗ʭP(`7tX }[P(` , @J878Fg %K[ @ M׿g @@л)',iog+rP(`Z)o0' %Zns Po@7_Y/?/uwY(Ԍ}R ~?=Q*~Wc%b@7`' Xhkii sIꘐ3^o3p^@0+@ >@4@P@ P(  %4@@P(@3@  J @4@P@ P(  v fΔ_  -klX.1b0Detʃ}`ykCy̲ -.>Y@`0@3 hP  P@  J( J %4@w?5 JxET %\.QEU(J|f +pZ*;Fm8gPz!O& Bvl7P|<`pϋDy^>s a;rb:c.` @u},|JE=|  70#`bDfЙ3:3ZtazǏ0ü;3_ta;~fwgFhe8=a*aYwfз}㕿Tq  e|Mlmi\^ָ槸wUb|tu}}Lu?tapT y3`" `y:3 @>af@gD0)O @f@gtȧ3`" 0: 33: 0fat @YatFg0A|: ,̀΀0 33`R0:3 @>af@gD0)O @f@gtȧ3`" Ly ̀  33: 0fat @Y) atFg0A @9tϣ<@gD000 @ @ @ @ @ @ @ @ @ @ @ @ @ 3G.@TIENDB`PNG  IHDRl\G9IDATx^֡1PCJfRI4Cd OY9@ @ @  @ @ @  @ @ @@ @ @ @ @ @ @ @ @ @ @ @Қ @@n!5p}GYJyZoKava%@޽~Euyyf̋bfYUq)@EQxAA%IV!jI118N5F@4P. EUwot/VLnY l;16v}Ng8-^k%-Utt4$jsh@ڬ5O뿴! 5` #UZթp /99/^;Ӊ=΍8P_(=;}+y"Ln"j]+׷iumYuq2qaI@5qqq$ 6! )ri DiDڻ:SډSfGFb79hZ5'kOg,.fh-d eOEӷnDͧ8G>1Y[dɚ }|#02D֒똘6YXJqx&]Zշ{*n@܂a͘:~X6O~]z{g"2 DV 0a.nd 4v#vCA;(ɚ:3d{:G~?NbL֘5Ys:ͼ @R x Ȅ,30xօ#ib&}:*bik_2"4IO]!zM^P֜=1YsO8r+]j8+X_6 Pmg .!$'Cbb"VL**im:"a}%\*|@n;X֜=}\@9Y{ +_ (֜hߴE!@sLy 65Si1D侅`.i-g@ptKxCC`o ƜN`⃓ }Y{`hJTSI ~IM[j"% "# 1,e_yIރ-H~H͘$Z~M3 ("w"Vx씰-&>c ŵ>d=?k\  &,8ӪGlKu11F$7v#a } 5Pg *a^(X3u1vI H2FM$F\&lɯ[_n  @@10]B(%dⷅ?QVI (1F$7a͏#x4l-auJd$HZ7!ezAF2=|IBKF c @Z|sU`2f}@ bT2F$@jFVFUt4pp*0"# @FֵuHM(@):ϼP&hd$HZڂzҗM @@ ɹ냈7n?D`-d ~D <&,ֵ # @@eЉԌl0 :y&yo"{a.nA@@`·O`$:"_n"H2F$-eHMJD06羀Q%- @1K| bb0iH2F$S:sj?s c @к#g#C @1%u@ LC燎 c @0ivPE۲)61d|W:Lk+G c:eNG$f"bEH2FOĴLPB) DR஝O}16c\}< _wm>zD^HGf {D`Py<_܉œ6ŽO&PǙ݀< BJ3b]r^Ȑ r,ۍ>pu~ކr8~{E$ğ_H~M1<2ǟDoo$(<8S q"94D)5q >[k1h?n<ɣx?àW۟Ḿ8W $ @2yg7"kF4ו)1Fxc`l>8'?- @}TS^Pr:޷DIS(&ւ4% iy '}.Z?*D.< F7>*n@XИ9pS/5Ǡ[#TDǀ}Jg3%-xK[sk=FPOPp"jz c>$YESN`mmV L@=C v"UrpzBc $ \|A((<0W0в)ӗx z\Ckfcxt@>G#z.iap@=sJ/فFZ"5#;LNjME`_j 8zZ ǵ 4zmPOsm`FƯFjzVaj 4P >777 @H=]~&z7#a-F#eg{E'0 뿳ܿ߯Pǭv0H#z7#oHZ^jEgPZ*&.eL(wÆl8* @!7n`B } Ӫ9 5e (4& @L)<}^۾ۼC(M /^!u&8zA4z.$ @~&BI @9M1F:iOE`o1u- H?j\/r?FNeH^!uP4`X}^TiAFIK@4вx[& @hJaO#쩃}A@d,6 \WsWf {_ [T)X~/q7?H50 ^w{;z@›6d1u6)zwַ5|ErШ#C!g%8F40Hw>I[PïI j} 5$ms { 'q604cd#H iњcvk Xpب#x$sc:" j\_7Uz:Y^31@:pwty9 < 'nHOϖl=U#i@/񔒒"oӐݺ*ݽ AR׽J8Z|ڜ-rnĺcυ@KY'&e'o:tvv |0{lA t@%y"V^'C ו8Gzq?wWpTg  @0| d(u -aPJZ#lPrJ"HXrF@7N7P#t%̉'#XB{{;:::|="TwyG216@5&0Fh ` u!$C7Ζɟ&d;\HY[#w hⳀMmMyUA2+}cHFe_@](;D#UZ;͟?_| Ξ=+ >>^&l!}7zGk#ؐ`:ZO`{(5y_C%בeee @01+VC!!Ks0Th#'oTLJ~!ڼy`0(T;w6lW%O!cA$P$%d- 95-2A}KL q/"N& ?9y>t,]}]_c94qFoJB>]ATmmΖߤIo```Bj;xϞ=HNN! _5& OO8 @pdLYk.dolllDQQ/'!Dٯ'R|Qe7o<\| U.\^3nL&LJӾ! @xz{tz`$WS6%0{9O<)5nCu1 $UI fΜÇt@%{n PL:""B= ݇WS6:gfH VD"#cZfDE+tÌelbEk VeL("B{y$IﵮE>L~>ZkrqP@@b6BI}!bNޡC4={0\铄xK;" oĉ(,2-}bp  yo_YvfyUh:t(ӱcѣG8f =.w몂 zE3 wء m*J,Lz7\~WVVFfRhdc6N7mۦW<Es(c %p(?9L@ Pr5T<C&)|VL@|o$={vR!j85BM"d/9Ӌm OE 4a4333"p؂X.av0BWTT$ŋĖBp0?N'N㏔M)))3_111o+?A?믿 S@[l.9^"]~LT2͆9j|{ƍ4mpXO0Roޢ Gw^ } LS`⋹1ebFĚs䁚=aJ<2#eP1DgPV9z(mٲ֭[G+VK"L *))ߥNׯ۷oB@8vX͜_G1h`վ#GǏV@l"rS Mn߾ Lͱ@ ;ה6c2~p2 Rk=߽{G;wH,5BL_M2I'||4o>Ozs'r @`Z_ {\ jFa öQ s|Q@NOO>-K9t8qL<gaAUVa* -?$px UOeX" g4P/>KSh /y +Qo" q~^BS` ; ('11= {XV8g@B-d2Mܹs$Ξ=rU @~/#GZ=m`0dd6r@ʄ?;tp1ŧxN_8,g#D]X{tA&uYO P L/ǩS{\/9  8|y_J~x}o1 PVѻ|ܭ[@M/{ @#r>>OpP @ 9ne1]$o P?|ɓ'  Dׄ t?f ˢ*AxxѓzNx_͞=; bm˰ =̌(pMV[E(!z1G[`Y,o;a2gh_p΅}|p=| |Q}8Ck22DVG;ѳ/ojb/=Qyv4%?>Y٘[8 +v7n;/ذ  a M[ZZNC˖8zs+ Ptw]ҹ ŊUX@U\rEw^t<d*{ɬ @@#*s o76zyӍ~p(6jF0Xw=z F4,^mf\OZ ` znaVZ @ ZֹZzC>hI-M@ 1GT/ V'6w)1?*޿>s/ʬ>#{R;Wz2Mx!|C s&t.tk@X{?@ @`()9EM@QF"`2z[9墌=eZ`m#,*aan,.E @tG21#Dr72^Fаq$oԆ!ٹPbջpGIoj̋@<C @},0--  Pmr29=g" @9PbAE+/쎡W @^‹@_3J.Xvut>yyy!mzQ_ds%`Ԣn޼,  [nm`#0% "8PO~ ˡ$hb=z(k߀sU/l"धZD"gchlø>}W7!_ o=uTҹB!0q`U8ZOje>|~K=RiR692 ̟+~"O?/R_scQp?& (8,N1Qp,TQp @#E 86P4jsr>з)f .GLo;ߦS̵kY=o/>hy9;J\KzQß @II y^UPPǏ'?J |?7\?r7`'<E7P4P~RL!( @r3P PǤ P Uz߰p9r24><,xHWu *RlyA dKy2`B|> }‹@:fJ`dXAcOܢZU0Ņ᯦wRۿ0u0>i~`-ai+U @9vˋ ^JѰwð 4*rDMW @V;YZ6 @eee`~c2224>軟Sܸ0r!Y0T2~:.n}휓<mr@E/a;V5S{2z [;}1F~䉖>3^bXDz̘10D&s 9̹ Ɍ]or7ퟨBO|KԢP hUPϜÆ @iٝ1hLFPrJJJ ݻ7cp[/03B a (,m, z_)!!/,:T%v:|C@|N@tU;%-oO)' |=dEd&Yb1&}I9ӆPY.n+PA@bF%jl6̀?lA,e?`Td6= &~m;M 詍(  2 ΏyqQ @ ۿ0fZCҲeҐǏ=; uU $ Vd[hnݒ444,o>5k 0@}V26}Zۆ ]XyiuҒҜGO↋AAAٳoTÿF 4 !ɺ}'.ݻwô$AQy<0txsky_IET0BⰆ:ɉhKIld(-0"FW^%FD0,o#2D/3bJ8杛]6zD aF`= @3.'!j8mw/ @2<&QpH]] sGcin$}梛/:r|h.*Ns씸,n#P;y @Cyy o%4e2Ymbĉ$&T ~Iiq4|qizvt6ZP)fSV;Jem6* `0ayt<&*KodXhȄDbw).. i2^D WXX(/& 407Fh3ÏYJahAC|Tÿ3_ 02z+-4|V" HӓhX0HƎK .NqtvB .ϟM6ٳ)''G/(eA4 ix,>0@1a`15eߺo_\\]*끳 #^G %%Mݟcr|mI9 A7  @iĨQ @`5Ziq< E@al8T2 NQ@,8? dɩ^# 1Ŕhcr[iomH;좳:Nz]&/6\ ~އ{_N}:hf1P05 h\n޿b2aBfҺ\.Z6 K[i.o&c1gv9 K4 A2Y m_?37s䒭o𥵖fc.1돿:хpn0bT` @3j{n @_ {gRe*ӴQ{&W 2 0mv\tZxn۫]xaE s^A@0ȅ" @-޿%飄? 0  \Nc= 01ٛԽtS+3FR`H={؎n@eeSݭ1"@dHC @v:ECZxx x-PV deNVDߙ3gZ E|#Zs0x1ŭPo{ukk/&40G Q>}:uvvʧ`53Q,^.'xM/1 C8e4^^cHuXа2zzj~6Ν, Rr㵣  @6>`/}h~xJo4|Sg _Q+O50^+^Ç@iO#~O  @ g桑*n‘ĂGoهǨ q04E헝e׌.TCd +WF4sssnKC @0?3`?>ɧiYT|'wtySXlL>53 @9 f ڨ!"( 7NS L @/!!eiڐ468r:89 ]8h+Y8Aa/=Cɋ>4 ڐ46vTdҠv5{+5{v:"QD P@/V{nS2yч8^.g2KѩtY[yqD-(.Z|bU֧T.n@ NB*mh@i;z&Mc(Q fj;̢͞E  }FAݓW-ژ -A.\{Im t@ꎑ1ߌ3f3 hc g %v!M6E? +G.jI rb[JAƗmd2 ms/ 23$9beM4_… h)d2 Sj/mor2[ex"UUUI?_Nwܑ6b~t [kk+qwZe2cw @6GN;ɐM@2Eq^0sA-\W w AdԠa$@{dΘ$P{Uu \'gU?]s׍2z!.ck}W=q#W>KfJ#WeS7w( /Oc=ˀ&s @FI\J˝ PL(" @C3AI?F* 00 9=0)kT{d6YE\@܇N! #iW*03^?݀h5 ms`v@ N @  @q' @Dvb A4\ @ N  @  t ؉pAnv"A;1\ A.@N @`'  @ىpAh AB7; A.@  @8:ǔ7u L_tv N@R\6mNR%)mZ0c0B(↋Bp.`;ɒ,YeK:ϞΈHlYG:|f:Ė9f:r Xhvuwׄk_ܩQ|QH'yvtS\7q\@7]4"mGFJ?k"<c-]iC6U2gTGMXJ7Z(0)wm}ñԑ<3Nʁ+{djmިcccc`Rzlz`"&;$\7fmO[B`X @\3 *3CmR5JjӇӠN ݭ7GreI 1W1=o`a?bL*3$N'L+ ;sLzl9&B FxGLtɼ=Oit%=6=ӫD .Gs3y> Ǩǚc$@#2e JǪǜox@ y#ШHu#v /Em9k_ej<ѐ~z1fw4do_@7/ʽ*=ڎAɞ/.,{qǯs^xhϹc3ϯ{FU~adφ㯗]=txϻJ1fo_ Ӓ=[mW[|zϭ1f_ t2=/}DYGgߓBs*tD2ϭ˜@ " [*[հybkaL_D?>Xg Wcka>eſ~sԙN̻{=qW۽œ ]J,C57=O7[x1D,~hӿL<@ =Hd4N?-m;=[Fsl  h{ٻl ^Bsj0ssFABc-k,֯Wf}on2A0^ @睏z_v/|@ ڎAɞK;FN۴To2瓩%c3_=W{/קQ`\KaVS__@b>oprQjWeZ=bLuO]ɞE )Hfwry  ]_:W-l wɭ ڼKLy3a@7%{yzOjBGfJtӚTfHg^V̖1o]y @ }3iZN穲?=6kP'CUZڃ(oI;-C))Op}gzDz3bH-&n=  _KdQ>>>_smgz!9w5%+~Qp=XL[v#@ @r9)Pm,,i>/T,|zOT`V &-쓺݃Gd9YW_.UHw<#BqVnw̢O[Css# #8ᕄkPb=z z,zL2i%}HId=`L6yѧ}I9^u|Ï@#r=&=RnrylEjP -t;xN^k)svO;#Ӛ7 Mf{{&f;| @ '.\\|v1걖fS²tR2\cG{ @ -2zz%!i+R9C@`I1zz7'fw]tQSl.8j˶JƖJ=v=W67s i#hkL6I٤\o0=0dN*-Hg$-)g9n=(^IsW{XTd2244$Kzr@l⍱m{8%+ y%g Iu/K$ @ PlIg6f){k,ҞvEemNz~gz|pIloL]_c@ @\lL" Ѻ~mlLX\Yf@ |3}t(B #^'6WK- o7 G@O$/ivgc2% 8s͟ݐww6/ǧx25 IB=׃@><[^ obGΰ9^ k>dNJm @ pڛlx>@ 'T'$!9;@ ծ)6_F4<@͟7 @ p+ &l6\8?9 bw͚]a +o %}L{"ѸlEG |SF4@@/?7;ɵTk?OmkP$jO @»}@@j:O5hH x~wG~)@ 7+%= bbK#@ zI>?Ԁ"@ӬNPΘ"yq?7*3ߋJ4_O\v#y7nvYe%csh"|e9%;czzz Xhg=ՖjVL1@`_NKvK8ZǦ8<~,ᥖ;Q~@=&=M 7>$'/~z 32K 6~v@fJUs1@`7LYa۟w cssO c+sܚYXN^(/v9@ @+d|KMݲ~OXv'r\#{XT Mn^@?@dl@ @ @zmùyt%6dai/OEo|ŊIW-bkk{{11Atkwלu{$ң799:@^ - 6}cc#@l&ZR#,;+zlzzK߯Z5"ʠǺ9_jmtiTU&=v=o @ @zhwQC(osss#G=YS=M^H oWn{u'99n@k,{"q'zz tbD~׀@ ]B/o@ wKLJ^FVo|G!@a`mCkD  imPz z3H 2MYaI(L,Vz@ +bwo%]z\#M@,Oo vz @ }5urא4  7,pQk,2-!D^SeSo5%Xv?5ڒNw^S  klcC-k, E7\$Od%VwHZ@two板%ך@ ?vW*{@ @SSVXYMYi@tg}›?Jm0mL흼ڻb  KSYfdkO @?t+u^{g ]vE1w'} ͟bĘKڏ#} ͟zhEK @|gza]s @@,ϴC2>X͟q_s @@,鱨.so)aI*9 K\\)8|/E: |?r7g@@ @@ h4@@ M @3@fp h4@@ M&@ @@ @@ C&A &@ ^$nQ )~M!zu-@a1l]dÊ3E6Ȋ,a= ^q%$OOOoooj䤳qoL! !X< e2?i2K"YV~}}U$'U7=<4$n#PH8Lf!V:$W>??]@;Uqot- pUC~yyCï֪7(A'8D߫V_?6n p8"[ll\5=|lU <&{@\ml+Xc0 z͎~XX6X`Z]=QVfì10;R<fX `T3n%4l0m1h~D=͏hѴeI/ mQ5= @`:7(Z qQ3lQn1bfEA w~GŁTq~Gy 'Aǜ@3@ @ @ @ @ @7fcIENDB`PNG  IHDR;0IDATx^}K\E9ݙW( .Dq^\(ApčF4n,%oVƀŕ$ *Rp8Ldo槎?@ ΩGv;NTuBsf+a~A0K;Yl6}5=z`bo0@CLɛI;緭!5 &\Å\׷RIT! Ta a=vzsUHj4sߠufRlR%ͪ3=E3EJM^{Kk"8 n9Uj/jnkWY\۸k\_vm2z#GЌs&^~V֟l3՞ 5\fF by&םU;7[e8X^kj#s*4/ărݼ+_[ސŏ>`jQm3 NV#8_o&N *3*3Wn$zWC=RM5D,?:PE5I`g f|7WT!i݃sgN}O-;H*Q%32=eW+Dpזs8:.Tehf#-[jZА%x,Ҹ@j2ZY*trdJ0 /:jg@}X<K0̾Pyi\j@M*CUO*1CHjZ uJAa*NZ[ ܳaƖ7AU 2ꀔH3TJ+uPTlY+d|Ni,H T;lfRF(GވfE'@ =ju]+!UkCPG [j]d}. ?IENDB`PNG  IHDRVcsCl0`MIDATc, Y\IENDB`PNG  IHDRVcsCl0`M+IDATcac6{K_ʣv&fa93E IENDB`PNG  IHDRVcsCl0`M'IDATc w_0  @ ( hy`{IENDB`PNG  IHDRxcsCl0`M!IDATc X~0?q! vy%߂IENDB`PNG  IHDRxcsCl0`M#IDATcdX7  Pl0LIENDB`PNG  IHDRxcsCl0`M*IDAT[c631C&_` XE~!I P۴1nIENDB`PNG  IHDRVcsCl0`MIDATcd{`n#IENDB`PNG  IHDRVcsCl0`M+IDATcd``gbbbp,;fk _FYz{{%IENDB`PNG  IHDRVcsCl0`M+IDATc``=j[.^;@a33IENDB`PNG  IHDRVcsCl0`MIDATc, WLtB+IENDB`PNG  IHDRVcsCl0`M)IDAT[cbHdbZ>&ƃ\ IENDB`PNG  IHDRVcsCl0`M&IDATc i efS!A(  H)IENDB`PNG  IHDRxcsCl0`M!IDATc X~0?q! vy%߂IENDB`PNG  IHDRxcsCl0`M#IDATxcdH,@[\,/IENDB`PNG  IHDRxcsCl0`M*IDAT[cҘ~!/0DfC"?Y$@1waIENDB`PNG  IHDRVcsCl0`MIDATcdHca=0dF zIENDB`PNG  IHDRVcsCl0`M+IDATcd``Pab`dPsm"p/JQ!W0)XIENDB`PNG  IHDRVcsCl0`M+IDATc`HcePf``Jb5{ﹷ!dHIPyIENDB`PNG  IHDRVcsCl0`MIDATc 1@ P)­4IENDB`PNG  IHDRVcsCl0`M)IDATcd#᪟]f`dP|[ܨMrIENDB`PNG  IHDRVcsCl0`M(IDATc63Dž ﹸ[ Pp"NC/JIENDB`PNG  IHDRxcsCl0`M IDATc, l0+;Y  LH(IENDB`PNG  IHDRxcsCl0`M#IDAT[cd1!NC@6nXIENDB`PNG  IHDRPcsCl0`M'IDATc, l ` cEbp`A1]?IENDB`PNG  IHDRVcsCl0`MIDATcd` gWrt5IENDB`PNG  IHDRVcsCl0`M)IDATxc{N :;00Nߙaw Wd.IENDB`PNG  IHDRVcsCl0`M*IDATc``ߡ5o13Sz f9 iIENDB`PNG  IHDR>>`IDATx^AOA"L'㡑VU.MԀ"$kKeKD_h4oz!Wbp"В 3O0䡳]co}y;Cx?o?ݥ< _VeՊ E(cEJL4b}ē5|KqU9Hn/6xn'wQlTMyU,Mqë5'-UUR2jF*9zh[24Ad gjH+aLq4^%8'Hxk ?ۥ/˽.GyH3?|L%W\}eG\Ѐ_w/8g|"w#pWmGsxP<S.HDo_ѽױ-NIENDB`PNG  IHDR>>`IDATx^kl-!+HCz_۰vء.8 ##b'&p RTpRт4eJ̀xi$]Ҳi:!= Grvs{'?|> OÅG! ;V@ S 3u\MnJdBl@Gʡ'59J!!?)B.X"VTDN> g >eL,( p]Q7ب4P}QEۻ\cWiJ:ͮbGȫEu<ւu<vr'Bn yqbpep1=dt xB.Pa1p L=1a2Bp"8s&d2ЀG狓iu&|ٙ|RLD*ƚMUV'աŰ_o!iFȃ517*PQLnvxfx Ԓ8sV {"vM/Bs7{<ÂimK".uʱ :9Zd|9r|Xrbp?!%~;p6ezD \/a[LߣȍED.<]4I\m/Ŝ(Q1E(6 ~jgFK6T_`xf1ҏ=WYkGA&=#,oLE?+P4P7 iga>` 7+hg7 ft_]|5 ,' 5 N 2.268j䫋L7yBw'Oɷz1ײpI@$F \k℟ }w :$e-;QReZd묅'gұ#}c}1PAeXJZF rh ##LIwÏG'9[>>{;些=WD=UųN)k-bf|4}kZw> k/8AIENDB`PNG  IHDR$$IDATxA D%J7p/驼Em\D !XHa>`IDATx^Hw8#yN33%ijwz=vmk[mW[$2؈JZZsڪRW*;Јƀݧ/π 8ވ_~빯G <O\|.>_&N^&\L>=Ґ,,!]bK:0\D I5dD'0KNcr VNx'y ;yt9235Kiw\6=&?>7:q9W3dcZE L|v_W;:g5eOB5b{3lz2.\dK4,8)3wr^_/T  ކM˹:,rֺf܆i3nR~aGrdҡFffЦDE0Bt*x͔M?< P@p6X^6R {Yn}pdIX)qVjO_Iq rێ ~~_j mނOL3#uLCgҶڛhí?τ`\w;h+ҶڭcMm(A+gUT߰yK~Aׄ[ (B9Um׌B^ذRh$~xm& +Smf!Կ]D(@:R j^JN^T$yKChA @*Mq[#Gel.Vs mp/MOfKq;& oF] =58:8{JnH_{ d8$·,|Hq*q"Ox Bpo_V^0bדa;#qq@Fs;pOVbta$[VX+%;&)J1Yw<T3q/[Fk-g)4eB2#džeBZ8('yІ&~.3cg؉,'p8=cŤ-u> 9-E6)^.efW?ɰb̏F#TLAHO,h>qkHy/P  _w{ѶYұTNiK*f"sPcfG0t % x'AW*OIENDB`PNG  IHDR$$K P|IDATx^1@ F:(kP0S[I CR1yErReA*$?imū_!f3#+@D R))exF@=)/ IENDB`PNG  IHDR$$K PUIDATxc R;r}Գg#)0&;gM1/@FzOA>@(0܇D7(, Au֠fPD jođ KY&+@BձgHA`^  ʹQ z vi$؛s<[gb z39POi :Ђm` ;p)$iVYȧ@oA2D{3ìe¬'"Q"]=A"쑮@?x#)Z (~G>@v@||XA0TV$2,ؐC"0qJr\nE8 (8KNV`IENDB`PNG  IHDR&&4!%`IDATx^1 0 Fޯ EE$[b ra: >`IDATx^kLW 1UP+ P Q(4q0sө&2:8Kf$to!ZniYyk;)染$}x䴌?ńqJa< DB"i?qg[F]bBy# 4P Yz(fC^8^0\*M£ّm%IRY5^x Y;$Ikeoq,qAy>%ɞ .h=eҽ Y[F")jCZB("3f!'񈰃NV9IA AD$ IFPlE2ԈCfwl9C& 0\ w.9n?6dwnk摁.&);R`<4ZB*Au] ;士\7iN-6d|TU|ڢ^"O{/{P(L󐄬;عv{e7`}#@5"xxDQ~5mnn._t(溘)CbN*~Q#Zh a߯y?z>v>әBg){GK!x6L(G}5 G{NT{gWm1WMC>Ahs(#Ng{1J[D竼:4iGw e-pY>%-ux~R3kEsвbk(p(:@"x8pg%Qeq3F yω"6=6.3(Q+b }wVX %UL|eDǭO5)cb{Oў  qLnU 鉮|(^0u%яo[cDm5`?r!)\q~.\!׽%REW>;EרPgwkx]cg]kn5qh<ȓymUA / 1 *8+ ۍ#&ajkDyRy}hؐ,† ̅+Ҳ!,:(v,(g-g"&X=fh_5AžۙKlrл{sm>`IDATx^}HwPqjժqUlfGƾci:vntlB_tmQVɊ6 k9'um`ߞ;yRXe)@  ܓ0)q<8.$AYHتe6!akb-?eaflY0d َF=p"TC+ՈJtfz%\ocK*/m |cpgۼdB1%q h.^c&&jp3(׍0BF!a\ &v!q@裊y" 0(%|#fd# E)pn!鴶R5CG$dQjE}O崽HK7R~Hot/UES7~Z}< jэ-"\@Sǖ7U¦p.8B &ޚnY$> \W Ne{ޙ6Cp)2 %Wŏac0ZN| D1 7Y 3QX;vȨCU8khZFsәYӧȚ}akhDŽTw 5G"A&91c6fWr~d$M>` IDATx^jQ< \HHB1N'>G(>.:7GbDeHL| ?0'Rs*rp;ܫzk^v>uԢ:y|peMhz4/xBkE}b$1[os G?.V1>eeM{R/ TǧFuZnD1#ћC CMMi|ICb"7<Jg} OKI[)\*)S˚EtҟLNJ=sg Ϥ =+ѴPX,w4?fȎ=l}ƥhy't+Ce+_5mJ.9ڣ'e^Z١pueG\v&'Ц)nu0m:3aaLЦʾ߁InfWxߜ]F}G7g7UOi2Щyp8_]wO>uIENDB`PNG  IHDR>>`IDATx^?AXmY0dHlĭr]MH%n5`"W[^y AU?.Ƈ03fG>L,K<xբha{:;"ju4 Uڴr>6F } 'gYQ`14E̜{3ӈ:Lgx JS& .5.&ugi<o@dR cv $ 87D=;1#-x,sLt0V{9uO ),@nu;U}uvtq8.ɂG3UwsUV ؼt} `q)uMMK .TSn EVp҄Np x!O;s>sD4IDATx^kHUq[ktQ} UTFMKƻ̕B#TWA @7XH0\E,vVۋCy\mMUw84sƙ|^(>pg2\p.e wP7D ?P( !R)=NZHtt4QT{$Hzz:)--%dgg貲2R__OHee%)))!---ykssՅ @t,hp[;^) 'j@:##И[ VTff&'V;јX@hnnQ]]MHbb{< NOVDg٢kjjHCCf|L$8h8ޒh[<>J^w /6RQ,#h/466.//G(; 4'pNg}}]hkk 4D^o/=> iii$!!g%,f/6@)pԹ3ߺx/'''0 `q5#3q?0>׵4i?'q{jjh}RM[\CW##X0Xn%H>r8_,~ks"f`w<&)<~ >M{zzV(^9E9VЗ}ǧ&)d `=(.ސ:};BZ(}Eg CB_mP2'"cGK_o-n"^jZB"N״vF'd|NE`OBWwR}.b?6yv+|~h>b"./4ԶY{4ܑ~\}R+Idvy&>B%nbz%.g-}[ެwJ_Tgx8kMoG1yW7gE| G+G}R0m+YrE2Yc-PgYθ.B@<): GU~ܯg8{N2\p1q*IENDB`PNG  IHDR>>`IDATx^kiJq wfZ mI6ĚJ$&iNLI"z"{ċ]..E(y_0FØm@O<0qqq|]o PX<ǹ bK]9 #B KH"]b B5EK3fif6^{zѿᜅV1 "q*ƶKE !M\*QyLO-5^AQyOv :*!x% $Jt7kBtSm L c"58 N>\е6pᨼmM) *  _ߎsV͇^xwBǘHcwB}u3sbN\ErMF$j-b zqx&iձs}ps Wğӎ9x9 OP>`gQ9/#x~ksQJPlyo]iWGr7CȬySy+} ';k&V IENDB`PNG  IHDR&&=IDATx^1 0 @Ekz٤u\jqـG":yVG5K"*f H(Ga-!ld , 0`Evq 9,*& @8$2|ϟ}'P `4;E wqz߫oT[^Jݎuڇiڭv˯PB~`jo ?|&@@Z5t0y偖?Pm 8.DlPE75BZ|:toZ u>?wBcX}'fOZ7 b}郺>- ly&/~ ȷ8ZD^8}׫\$?\?|-#weՇARm dⲼ(/> ȉ B^<}y}8a\*tX~It"^.$@ si-xh}evG,X%F>=d}/O=VWWjRQ_Z_/@K}B>e|@0H6L|NӣϨoSoD.;Tt L ( D*X[tϨ #@Go-r|{its0a^X>u,}`x>؛a`O{{W3wJS%? r.-?gr?ji6\e G ;M&!i;X|XA~_,o?@J0+F@pZz:'2COkIENDB`PNG  IHDR!IDATxcYz?0(d-_ )`F"JIENDB`PNG  IHDRdIDATxc?d.8?g LESZŗp*?x{ 0 ZjW^嫮lY|}֢ HՀA$W% IENDB`PNG  IHDRkIDATxcYz?:\p?1y  Ǫ {.oJKf/~՗@I~Ep W]ټki0a ņ@ DVòaMIENDB`PNG  IHDRKm)IDATxcYz+bFyAIENDB`PNG  IHDR1IDATc?+:?g  8B#v5D22p@ؑptIENDB`PNG  IHDR1IDATWcYz?:Ny?1n"p(`$*`d$< H1h-aIENDB`PNG  IHDR!IDATxc?>R WAҴ*Yze+VF9iIENDB`PNG  IHDRsIDATxc?^ &r^aX ADs"c)~Nv?ÍbeC2&+ʘ}d3P&@SdC  ƪNȶ &IENDB`PNG  IHDRzIDATxc?^ "ġX  )~ɘ}d紝Wmu51!# 8Xրuuuu=OXXbac}`}b}aMc>anZ_IENDB`PNG  IHDRL'PLTEۍIDATx^ő@>dff迹+c? 4 [_?l}3 .X:Zb XN0:ĺc>kSmcM.1`|u;{] o `uMOFXb-dIENDB`PNG  IHDRj!T/!IDATx^ 0E/wknZFW5b|jL.T+SgL}~G}&ʏO&/}ѧ!~CS}rF}59}L^fG}ʑS3ElXgÊ>uf+?D}&/}2:aEL^q3yO9mW}Ɇ}6f' +Y'sL|E> ONsKU|OkGޘVGIENDB`PNG  IHDR:csCl0`M IDATcUQ|IENDB`PNG  IHDR(csCl0`MIDATxc$BF5jD6S:y +IENDB`PNG  IHDRD$Tc_IDATx^ػk_ϓk% !)4RIM,~\A;/෺:vA,UI7)4^/H 4(Yհ8p0v%]ý~=PEPN)yWi=ltQeW+0;}1ML1;aG+ 8Hd?ƻTS9$rH$x2lSosq!P:.)x|7_xOA7p٧I%5""( < ^C-eh6B,*8n!OKl|АCTG=ڥ q% v>!$U 3lSY;P"Q1s9 B 6mBBCBh$PQ!?-.l#_`];bȜ. fcF!sIbE qWwYrlH!I8Y@ s' ak~!֬/CqČҠ5? ;aNEא !`BdM30ЄcbI4ã)TGVbȟ*+.ޏ/v|PVIENDB`PNG  IHDRD$TcIDATx^_KSqg.M[&Fb3iY4kmS79gK]$fbjQ) tc]tu7BA7e&!7yn8h!8 Bq\4hg|rKk3$haG@sNRe|LqK\<۬Sׇ1(ܣ1 AT Y9!y: !Onz]CrʯyjIwws0N,=~!6-]$F`9ųQ4 BTHWTvKBeL|,\ &iymvcPR^ݡv霜7JB3Z Cbs-I7@Q IVYQ/!JkW8K OIj(4 ]#o\E*Du[RX+]'0J!1t58qFҘ 3#4Kv!5nVJLf=iKfbzƎ6a83T2ז#Bʠd ,aD-[D>eqXB$9 !P 'Ro궏t}+]Q7D&ᇆ2p¼fTщ1^TJ"IENDB`PNG  IHDRD$TcIDATx^ر.CXth#(b l::X&&D61 Aw)M{?Or/g:9Ad/=,SlN((W!8j#;<ਖ਼Ն󋧦Wx0!;kxzaHA \miHW Om&$8UMCVp!34S jHWwR"Sʼg:ԐUR<1 AW2'.5$4?jHP!qB,pCѝscArM#]tz+D%IENDB`PNG  IHDRD$Tc8IDATx^MOQۙR(Zhpg:j L:Xč'qBw\a3TNՄ9!$ϝܜ{ߒnxWpo6ZF ?,ΰ*VvUG8 Aj؅*LZ  2Ş8@@{&Pg]Qb: =v2h-Q%!bb K{4`k6KU#:b"U!2/'ၠ>G&+P<}d6y w% "fy b c,EB.GHx <Q M@| Ld=Y!!پ\N!ȢmsXǖxrg\;ہ$ @L3"մS"!T:Q Lk{(r[s$d8vD}6XS'W|k<P&!߰46yFGiOBLwPt&!Qrᣃ MeqBL|Yz۰ةtѾǗx7M{:u ބg/J^_IENDB`PNG  IHDRg2csCl0`MIDATx^oGvd@6 Ů9.661dfJeCvIdɲddDQ$ś5s_49fdFuuuuuի9-QDGSP-Dhx9o,9H:O';'#f|TmY52i<HDP@I'M>%"a-BA h0*~Op}ȧd 4_[uj煈(bJ槩3|sͯ*~dK;1$iewndO[$6JU?V맵a-Zkkk{yUjEd~z ;RYf()$EoϹWL9FFc y5^՟LN m{^N'۽LP(6 n+5D i$-lNRQLBQ-@rEkhI9IU3'Mq}su{y$7kݵ\90Uɕ|'⺕q7~ŹO`?/kk=5vuuuͰmkkkee%%eee -C@XέZfIǪezq2c_$o;-sNHb[شj_Z^m9q\iV b]Yf;b[&sNwwaصX,li#u8lm Ԥ˽ Юavvjc^?y~fi;jk*xjqqYV^X?koogU[[K5sK^^g}(~SQuwf~UIu{cҺշ *{ǃC!r XrJ2k2UGk +kt`d:[5F^RX?*Znfd^r%;;;//׮f̼{΍_̐~rmIL>Fh}?>uʥ˟ѣGg.8 `aO:ї`t&%ԮGsXpW?z胜?6LA8 #|>7? ]g!d uRD7\aV|f$iN]K4YK/M4%ߝ.I/Eai`kT݋$T#vb.T7f.&S䑨DȐmFWCJtQ`,Wr$#KEW8<rfp(ҔU|QɘK@ݥɗx<S /P9 z7/ϝ8qR|:>|\]U8:GGWWW6h}j{]bzvSfffො Xy̙!IovN$2uXSTJ" KK>hiiWx!\Y奌Х%>rҕK.ZƚZ/_|ܹV|:t_G?ȼy²n/snzЌv^y%|zϝ;E:;" }XQA޿}βKߎ8QSSs7=5?d߹Rĉmsk׮ݺunN(K]Y-!/5773 }o^_[{7//07> Ο؇G!Psezø{FI}}=%ŅH˗?ΙpaL{P]+(O}P83@hq~ڕ˭-'O|>|MYw 9RYU+.-&_*B!k/"~W?SΟ?gEY܄KːKK x\V1] iӄrYr.㡈,5i*bQzmiiiM022T^^-ƭbNMώV !<'?MEbD 16FS2^ #>/ >`/D=rvtQNqKye7!0Nkj;[ `^IW%%%LUUvut#3hja]M-Ԥ56*+ʘ&|K8n?hji#,So!]GGGgwWI}ZhU \qqq}mIDV__[QQƜ65+:+iv>PWTT1G*?3kkq`^d]}8s,"Gg8L/M$ vz8`ڇ#M4K%A9JϜܴTL TG@xLg3ymF?~iE .w̯K+\nǬ}7ÇN&a<ɘoI>h uGC#Yǘm]Us%yjdp?޵?m2~sw*ݒ7nbln<=Afhdo n F׃ r873UM#R'OͶ-Ҏ- &~{{&p[kSF]-(UX6մ1^WZ/g$)6nyvk-ήк hƸXOM?*jW E\up Ai,l:?hwi+뾭+SU^S>ڙ 2NJ`ղ+%z΋n!7E-Uf*[* PQ;ʙ7Mnw^74ҋ&2Sy?S\҃|dԈP(fW-Di +%}3Khxw@2g=hқnh_ˋϿ‡;Dyny+.d5jARhY_X<*b=svkgpmzC1GFd0!CSKu@ ]8+9 @ڑ!# ^_@n>'jü+fZ. >ՍM{y*2_=|GD䣋tg4u&E"ĝ/*++]Kl/}Є$y 7>娮his;e=رcRE@$%/BO;RenyG E*$Qe޽{# .hm>a)f||K{O]cGeM*ԩS auYJBl4bB5!}0f=eFP!4u!5:ã}nw[3dL!|m L1SUv{v ҂Xo.m9I^o4Cj{cșyuCT|fuld1xLiȳ5WF2b1M!OnH2VT +v+͓@-9>x5g$_jI>l c~(O]/a2:|a)J>h 0x%0rov4GW#&P"n*JE;ji6yH>d RW*A>bUa7 4O,>yYa*3)*&5-⨢%B4'z"0N52#V&w눩" vvE>dXPI[R(f%w՚|dsnvQq5F 321PY\Zk#уj'P`:T5%7//c󨴋=$ 1}"0B_5S%ԮGE)JE>5ƭ'32~R|q}I>$[%å#aǹ>Emehs Qq7YH "8:k).CDB>|vwߔt-dpH @7conbqEh(JTff'VH|:7P:%$߶"TW : N>yFrH!)7 )oW%FK>G ZH|.jl}wYN,+$|7S*HF*m񡪩@lr=hkJ!EoW ZD`M?O'> S Y-DdZlAkq9 PG(Wb/fa}ZQ2PbPq"=.2r3WG/ #cA`!t.cY ;kkkq"aZ q_VVONbR[:͹x9ɯ۷wmxc-ТO 5Kʴ5hI`)'PuR4 qE/w%WD  r斵UdaII4e[uueOw'+**0qZ>?$:-͍-M87 1]|P8‚ cʢ=iWGgN;wVU46NLN[UQYTPq(**RQu#)Ss &12i&^{Yp1/buudhx\Ȉ&i*ޞY}}ͭsv +PNxֈhlimoBW(V?QĢ=6aMMLl33vg+kSS3 IR =.KNxc%j~h^q"HM.2 iy Fd$\eWX^B.Z\1kToQpnFDU[xFF(P(K:*8akWWbd)ZhEB00cckޚnG{=8`OD3*B1[#E"1`3$/Y0\Bbj9!l6V0"-ˡ<[ck^Lݝ nDu({I(?CR>m}G:ԙT|Iɑ9_}zߜ'->6{!>!&Cm '>".2EzqiIENDB`PNG  IHDRg2csCl0`MMIDATx^W]OY>g:Μ~֔T(!Z"7 fwrw$ €N~a"N|t;̈́E݆ I͛3Oys΋2!!*ǰ"JI1+0 4Ymt3 q ږؑroo-'UM]NgW%Xh ^h@ B`r mpa9Bu1V @4̒.~ mHRT$I$Ʈnrabj .D Ҕl!8NU49 dh@aԋ=j1}֋?]!?}}\yM/sb/޽={J}=q>uT6\-xaval~^̧K s35==-"+o˫/WddrOd% ax\Ǟ?Ysi1%.?V =[fsbbB$=;X+KS7bpx}mdtX#'7Kwlt?qǫǝFrMPSW1؊A`};ooousx2|f$H}OBj 㺮;O34.qB\Kpc0ؤ; <>a F` XF?-hzAs^.>;'@1mR0ej#v5MmU{ S!qj+*t$2x<\\|t0m{p{C̾mxs`)<&I'aNJ :jZ킮%ȴ5Z>" Wh:ZH9hjr ,QPgęa!vf( wv:5GK٣U,n@C{- Gh!Y"'Ͽٓ=K6]9Net{qt x>:7tf>g>To~W8C53т,!X꜕Xɂi࢈j``d6P5@bStHE-pA]Z/X$hlƪl]Jj @?8}n EHz>}</>oѯ{w_{| @q:N Z=ݙŅ {D/mKإ8j%(B A%HidaE&Iג +õe :J2BmJhPP3*MC0@3 0Qˢ)8!B"'d[>L;ЖZl *wpsE(~g/~Ƨ|{_|rg_;|b[o_6{B3zWrBE$SK)YsCj:i@bE Kvy*\lOVq4Z(`O~Ǐ/}r{u/n 3{OnmͯiV ;Pc,B F}@` @ `r0큁ń; 3MDyQ\WK?w!vᶤY~З6OŎ̰U5wϯ1<^H(g @0XSևOc57ņ Z??x{Gk:/÷k?z&T3)F*ψJ],ukF82:q@`H x֒sDYvm66|2 ig(șPUu3|nPPtH&HOo^~/CCS3LML3;q8Q}vs_zs{0{10;3kܻviiH,P)ʙ!T@%"=E-mks]9(Z`nVf U?7yuuo|ff{ `at=ظtw7k T V XxP`R@Ԛ_|o.?{wcP'3w1`Wn~㳯ᚶCG;pq&4A5 *"KD} A* uvQQE=l M ۶_xҗ|_/| _W? >}w?O+OkuR3b 9j*  P@Fer޻+:ιO I 6/gqܤSmmڎ3,]4ͤtvj;Kqܦn!`0 $}E{n\H8У͹ۻ9oz Ìⱎ=mOu?]y(g~}ШG%,m= B2?o=Ł*,༅IjOB;뷠WX:\@9`T3(Ɖ3V=~>=́b:UV͙3gqЭiѢE6m+b‡{Hs\ J.FI& WO|uNd|Z+ҋPC@ԇ!.帟MƷW341W^FMŒkxl}a`T5.JD"So13h3u8BeT",Bqh|3MVؾNDJc 5t-JW "0滷 -\ N_p5wl| p@J5 I0t3˺@"MALhD0MwP[4|B|䰪F;  -5[x( %H6[v\k+I00':>y>'F{/rB>`V P˕$QZC! A@ AE(#C ]#  p菛]<PF\rp BE`̓L yazfS69/;@z$`03~"e8ej7 rڭ_^y( O 68u9'Yu8g#u "TJoֹ mISP|ܖaH!5Bc+Wd e @1H'(WND8WLJ_8t]"T pS1RA΃1 EqH0R $A1 I,ƍNE-[0hOv_L . fL{ |70soU'e>QZ,P#S+mqh߳g{R$::xe]$5vn!:NLf^gZ,c hd*FS>97V/yK뎝[)_9gKdD:{Z 즆ĸٗtL"cQ}ZAfZ:& *O5bDgeG aͣ~vOj+VYE!MZg–n00R`1]OTm{=[oʲ3Vg  7 dXN9jFHٿou:7+*׮X.jccc\sͼ겎Q 0f+М&r>Z($ C^DlVP)N|뺷xbe^>Fձ1;'g974?P.Gd/鳯vɡs1]^1G$cj->P Δ+ͯ7?3#el╣=ƍK3R.\z͊w~΅,Zby>vp㚫Wh^¦iGkjj*&8!=P+ %(`G%Ww /mٵ?s˺U@h`͞_%n^#M8(V H‹gdN33BJ ƿ`۶mǏaxh2s! Ô'QP$ R:KNOsQ3l޺ǿUwWv]VM~e}c"/Mgc+~xǏWU"ŵ-Z98TUWWm[ )+Oi.]0Xak fR^RD}N=4~Q۟wptڪ;#ɈK*j+ŋ+0@Uϰ$J S1 uϥ#B,eӔeA̋ߺo{pkۧ u-q] ]w/103?x3'k?{֌^/ossO-oε5PJ&-} T! /#at"v'?Xf.nq,s67gّ(`"UఔKpq{]ot7 Ӓd8Rr$##h G16c ):(Q2 ށt׿u {qQ/Dj˃tl_{t]oNo&I`5x?<ОU% b7z|'KKȸ5A :!'՟^d$3ɲrfOy;rb%LZڙc[::3yfnqjvN:J6",m~'LH(M1 'ҋU":7kS2BhF8`D-D(#bfV=׶(%iϣt*D:grh$8n6`̨ʤ1dYfΜ!x%I  1΀ "kttS}IV/PE:UO.P.*}W-ZNY&N8xenrع$"% Ǭq{+SbùD.Wh9igyo~&F\SWxɜ2.lp*)Oqx 7>7-R"ƅ6&)],xpL8 woUm43-u}cy~4vkt($D9ȯ>Q/%B Xޝ{jkiw=72Ik pj}v苇Vm,qF@bصvNd[t|14ObQx8o ɻ|DCW6 ?".Xzxz3":!u#n존S^hI9l22Fh*b.W'jkgVԄ`4EkС qH3,Bn@t8@ե&?UUºi7xaMsg}G\/O;x~isg<#n[nwA[0tiq!0 u@@ 6[QH_.Q5MP'EJ-HX<׫~d]чW$sH*9 adopҰa-` g4JFIK*]&}HW 2[Z0xSg<|/76_߱ϼCn`rټ7gʷ?w׾+% Z'!vIv"o&A'm!>/U-jyA͙'U,''ԝ(#pOa2CY}](LCRMJ5-E2[iok}hKwg+Jy YHξ;u2_w+nf:$?Ffa{7%<kϵZ<UͳQzݖM WQ F%/QT12U,M&Ѫ$F: P &EײkV/[ |8W|>2JTg7x#4ɳ Gḣ:sPX"4WHR"ǐ.@MEdʁm[:2 ^ Oۃ!T7)ʯU{L:ɻ͎<ޯq&fl%1F H +XBW"Xec la+Vd F؊' 3GyYumvouW]>O`H8F"юtDN7[# DI "y4\gy\Yǩx%T'ykBwWkߞ=ҋ^+.X'(8;Ck͖RۆB(#.w<gέRPı6ZQCF!%E?%Mr0pGe;< X Vu˕Vؕލ! v( rJI.+A)(B:Ds/pdK>sV?R?ߟ+.#RZG8*, 8b{w#1ŀ_~@$!S|M,94:хeL""'qH`gX@ %bJ2d3)͙O  PγΘ48O>22P5ఢ58Ԅ&IND.g صb ڹ(h5< & vLs*Ӑv^L6 ֖<+ C%4Hg@Inc܆PnC28؁BRH>9sB HAx~B0n "KC+fn]^wzF{I]q۰wXN1[`68엔AG`h*!&`n˥s#m+H0e5 N$!9”wK$#]" ?, AG'oCS lJMKi9qcw/0>po$RL{C.Ʌ3යح0w8/L/\r zIO rrlZԗv$oy|iK!! ][’V] ZPK &|"EBJB"`bi Qe8X$׀sI:'h)A". ,Xg܉}K*M=h9G;iī#Qy oh.n4ۡWׅY V~ /eQkR1&yxT$ hUJAI-&gvrڬd/s 'i7lr7n_g0066seGxd3㊯<@8K43:L#^њU[$7Be8i},~'GHU~_?+מwZmw'd䟾v"JGy}1/M/OlZq)G'"%N?9 h_.>B;q{B/(儦?eGxU,( fZ.kn8h.%" wۺ}nkm==ukTܕy?{wwgǥ9=wM~ .tKYRޣwZ?~WP̾~GlB5G}tMhVwʭ<$~^աffC-Jkfr^}[rhn62S8::?X.,bxpK>v8Qk [CkGe&m,~f稗L"I5(B.SIȘRSʒ{ $8 _84걍Y1{zp᫤eäRma <;4M1WhҒ.̙na=,3O1Tխ;TJ-"l`~<|y73<6x`#؀BYH9Еӭ'Nݲ{+sg}3Y |G>t ѣ+jΕX'D0) ՞SS)LQ- ғBrP#*nRt#+4//p-+Trm9i<"9V@\co|UOϸoT2̃"q G‘ͯȁ޲! iPZ«R"(I^wR`* ūG&sTD-+abs"[фLoز=V'ÓDVsG]?vm7!C-Ʉ PDo0!] .д#i@!f1=ѢA@֖\Ba6^ ]SLFiR@,Z2ں jQ+݁p pJ|R ᛱ6L)*xH<)4"FFF?Ÿُ[a* p11q(ٺ)vO&4JP`0̇?\7a'`75rh!!^Lj  ܵkÇ8b}:ЮZ_:q>k SB@T KoQWK" BQ/DA8b#Nͨ s}4VIi:  lT5`CXÚm쳲ݚaYN"֢DJ1D41Z,y5U5jj)DXSP˜yZ CW12Jeί3J恨PzWE( #Zg<է-ܱnm{B_HyIcUo(p3JFi#(!q]w6B_ڢsML\XH)FC l0@@ 2Z=UGu1FS`C)Ed̹@*$nVH$x0)=*`t!a,- .JYӌ↑Yi4H(VBJꤻ0r@1Szz%n uٯ @V<1VH!TLQM 9 ABu 2&ZL&PbKB!DA8P:R B葘!a"ąB+̆Πp {o|RYҔ}z;_~Ia.P4r>3ŃN6zj7!H"$SJ7J˿ ۑ0/7f .QiTu}āƸX3##%!.BQ'!BjT_ 2 \p%$3s1>E^ Eq 5!\#F8)g@!kB |g.PDB1}2{Ttk} 1iߴ9_{r )6cyT-Fb؎r?8*+Tw>'N:5:\@SGJM2R:pSJDH )[MƩt7'R61yŲ TwԡgbfZuѵMqKvW_wAuJ{`ߪ#hA…i(քc(i&& p0+Rx B1t)$L.|J(\% ia˔e\` zIDMiTPV+Bzil[zvluucTC_@X|{\)=OMin{^~lssbmvmCYY|@XLJ&“PV'$6ڡa訡1( ^oO8ww_\1HɷW gv~P-Clu~PZ[uӻ; P@}s<g<_#8q6|SF2W*@޵y"X{W 5?eZw߻S}ͽ]pYO4޻玻uD0`Q9g^bI5!Wih("^&\0<GĀ;X\H1$jwnf>XI$ 'TBrtLlVu-Itң/Ug`|.xtkdR!ѸiH)ъ'_ܶQܥgP.עضmrsS7G7 |\n7]k!@G0ox^w|~ӟ0,q Y#ak<~u6x?&u\&ֵOmonR.sv5kҙyCOV9 ! a$R1ݱ;ji$VB0|U XƘlᅦB+\'~p~[t{uRcKv{X.jK;_Cd2ѱv߻?0p/.EWqsTfu>'FєTxV\'woi:nWH]&bKehmvq!Hq!&A.'$ޱ4jD5<62s\bB Eukz}I B ʹO@ .Cn1} F 'E2'+Up#Pk_3(D &, CDK% H1e EUw~KKζ-Z)5]w+|q;+cc5/----;xD<X|wtri-R&2c-Bɩ9Cf <62.q"% Kgy|mmB8yWvՇJ<|UHcN{m>{~|Ʈ];NwO55詓cJW?|$aݺ/;Uj\ʘJO~ԇߖLGFBr|-c$EBI!Q4tss!@HJK'E$ S"VP2wۅ]x5` 4 y`!FzglhXz%mue|>5۲0M4j^s,\7>7XUWwuu577zۭJDA߿Obewÿ燝LjqeB9? jT=҅ _C@+3wdZCoޑEbN{XNp$bxaf©y3Nr_{95mMŠwO'S5nܾ~.Vo߻AXw[oSRJ ᾐ! s`3/͙c/۹k:@Lk7S=3~ 8F +2-1Qf "\C"H䐄R )6I(%uѩ.,U o0|z"Q#S!'WX#PsQwDigM+T4f<_K{eǛ'qוt&[7LŅݔ 5g˕:"{ #gA 6ih7^]*f>t.Sf!H1frUN{3d/-=xOJiH+3pss_:|lXՒ %{Z;6G.tƦGJݕIVKBS;}gXX+ڻ;J%;G3K=t玹V늨nhL[NLy#1ߕ4] cad23]+J*@0BX- LI@ 1 \Zpnb`M+}ôv߷.pG_\ĭ}{wpXĻj^SkS~huR>ٵZo\RM=nnWJiv$A3M/\*xL 0=LHia7\e@^kK'Tu_hʜ_R ~w?xKw2& B 699eYT/._oK~-0q ;*gsB!W53q4uS}JX|adQ' F2+,yx`oK|";{mٶم)e>smt=%D@cH`B IF&DHp Q 606>3,1XZ,* \:u@Ġ."n2;:s#ҷ>}_p3b@\}̦1Rr&u]khuwE<: HP(<>{0P:DSJwG Rqͽ ++7L,9)KEQItjg/n`Sq Ǿ CLv[̩s_j/CޡBXrP˕dݶ rƐҋc΄EMvfgUߗz,*_jٸu1׉XK ַH)&4:. }0UFXך#U8HSbo- ´AX TB@"qc\*!PO# ~z)19u+ʭ?QmM\9؃5ʕE(B' ñB-|.nT󸪞ԅɂ~6G>hm~ϿiTThl{@D={[_.}|/ժ2́Ζ+۔iK9u_pɸQ^d/<{ﻕx@J!="GP- 'h U P P6%J )d&r~nf+(TKo8rn0˵ّ LT)ʮBXԒѨTҰ,&@#Xw0H,z8:?[SQ+5cR.?gTt-މctWY~/D-XFcy+cq t}֛Gg ފ&{׍||k*j޲N 嬌 jޯW|oU+z>L%K_su?u =yv|6}`T s3JNk۵q\J(RJ(1EPዌ3J(gWL}pP皾D{Saf9F2)I`W۟R dĒܩx<}VQU$G@IC@eck + HWyh7  dj"rS$R m9%Q|W` `h 'ʟʑ_|鍊vkՊB$]mq0`?)kN&RJF VTkv&PO-9V Kbg5vbכv.W E̩O|xzzܳGVo_wVUBhW_6JL.pqpO) auv!&o  =Fj׊͇ ]*BVġmB!ŵl}Nwsp2awC=tBFq3&D?SDHVF4_$wʝ׮Rdҗ.竚BdP) v]/,Ot>n$3/DI " U  n0@Q[|ߥ=#O/PhbV^?&۽gUkSQ"z]Oly{אIY!VCJ P&׺׼wTg/`5,][6g8[),힭_ݻɱvyxSvӆykcAPRwER*3yrӌɶTtj+JaMG7s)!9I.iZ繆e054rn챿y}xHIID9cDoMV̪kBX<*1ZFd2^*TۛgBa$ R~b PꧬVl|emok {~m/|UZٽ!w&2_wȫlBEuRI囇J\K4lzc' RMYw.R ըaFj^Da|+3h S;394S\ڸ00kqUw!%2* lTh5b@so|X3KO:Eu$ݜl[ VK(  X,7l1 #0Bxl1ffIK0ĤT*i!bYm!4VJ)!cuO^W7BCu'"Z㓋m+ĝv?L"i:?kgNLG U㙴EP腑scUN_!D-+}q׊ť k9(9Ө!GjZ<s:ŤQm&clڮ؞o3#ҳontٿ:TtP___4`!(ٟݻ|*Bh}…d2`=X>^@A̩>w蹋'L\ yMf{: ^q=fk8(,L3}3'ʹjU63;yiԉ|\ʏ̕]Y\)5+&-Kc.WR6 IAT T- @ LDt~zZ':CSxihYceA < 0aȳI*Ac |0:]GGGX,v`3l޼9_>xB"Tw߳Z=j!_m%N4n/|\26HdFhwu6:?@k-f -)PRDȈeJӇT*ˎsw=Rt5pp.uwvDIp._g._*m9BH=Q(((z!$eN?@ D)I 8<ݹn >F{rzrnimg'1O*{,O vo_Fs6]nL8ivQ82@p޸q5΋'WJ1>!Ė-[6]5R{OaZsK+Ư[yn mیsSg͕ NqGƒRQ5VNJu'g&QmWpIճn gGz :Dc㦱zC/Bsl4: B&;}'wΏ/C`ZXՁoffԬOϳ\!J@|P^h*ݔSwM ~s >o~>7񍷼-ַ~ 6 C2k|MaXt0>722SNzgϞ }pC*8X` & 1)-_Lk>Ac)a2.R ]H-)TxM9-Lf #zcJivvBwMwp$^*C.~4L`e0iڗΦfG[tɰZ3ѥv^ap~j6EV"/Vˌ sDlr|"d*Jg0&=-3c2v4 it``66ima)|z F@7ԓ>pvb%i[,Ͷ}Wf:{{vCiK1WW-Pw73߿vZcPP5~ pF4]u1/ DP D M4BM/lq0&$ Fp=BhMQU:!yq~]`uK}ffZ()Ό/! 2֎]Z}C_jmo6ksEo|0ؚ+4+N4jBk5}nk}|>Sʫ]0LaVuZ_ zE  NSt "nzfLRP!1\q dΧRȶ2E"J =Dpxެs )eϢ-B77EESY(y݈q1TiN։UOEuBL͖}se F1ĞMݹs]irX7vX(k]31\(h CUA0 BО$3T('͸!6 1rlyN_R8jjP?e*@ { Ϸ2jq1?L!\8Ȣ4I6\PRBJ Q[$E跢tA @g2IRuEnTgs|͠'/7'Mf!B/KKU-ej.Af|]'DlK jq+%4#knk5ۺuk90¡uCF  UؔL9NiZfBXʰ0AdD*V*tKɉKSccHvG$ \kR/nXiZ\)/<@ őډXfPys|] %jrT(H :,%+ F3uJ sJ"A*3_"VԨz)Ӎo3p[ufbXfj!{u[nk9nj\ᜋAlTh,*\[rVf# 0@)EÖHqB=G =@ _QDVEcnZqH_URR]_~4Pq@4 Fk[ C=X}t<*a7"B_I ˰*tH\饔j\3|FJ9P&z:WV+7Fj`(ST !Jf(eUqh8%6v IXL: GfhLD58V "b@gL&O}sFg>B8" 1X=FJaL~&qWu&:ޙVPT %X)b{K"ՒIJUOE%d:v]񸩹m/Q9m&L2>1u߽&4! _5[B陋 X$BX*mxu!EE0JJ gb_#wTWBNWp(dh>($?3Kq×7tj3P @!aObV A6NaAy"abL"VHL16Mv`7Qa BPxń@:0%YlKmoQ:z\z Da A)4_/լ\ܟk&vc9~om#rχiܻIalչI-n(0}+ꍙv䆉tBƘ'Or @:*_kNb #̌MKv{i1X4zkoxlz@g@xZP\BZ5**l-Ϟ?mvg=|8! ֬Y4=)`4%+y<mqt;dh; ኋ|/tCG"Zj5gft4s?,tDy~GS'b`Ԉj~)`5wB7rSPvvy]^?XP\.tf#]&EQO6ҙsvoٸc}腵 DLR3Y/XC!# D*.P2ۚ^ ` JZ3":gR.JI%X꺬T:N0R5 0mWs דFkљĺ)DtВ@@;9MB.Pj;cNmaW\[$SC6oڴCk8Ls"á2-kvf&u>woRb%3S!TԘ *c3$l%NAЪ͉@A68 K:y9_wt /߹su@jnjczz|O8e/̓4cۺ#dž{绚fq ,! |ܠ!Bs@5b" 0kBT2uZ _xU8 )i*ҖM jㆬp?=,ԧ-PuG@R9- f`@Er%KѼW݁ן|_^J}GdNbLllXu6;}q !Z&ACkZ/sZ[K"bjٔk;V:{qԕɨ0P+(P/7Pd8ڳwG,/>[6ʵk:''g@nH `趀1 ˁ,<_T(J`Q1Z7,@MuuzzNoae\68FGD^.Kr]v]זj(FP, P#|zL*Dq|(ͦR)ιamzN)Mr1[VKq4Ms0}1\|t<|ܛv.&,Z=ygh{r7d%v澁R3LJ'rɸE[z U߱}̓jaZ3HVW)$H& -{=&V*5wu,cdqnwP@e ")%R H ~b!-;5>h)%1"X^k&v>)Ssh}j=֋< UyP/@,9%@ )Jܨ4LB; eD>1"[9< 7J%j!:  s.|c/ CKlxl.Kئ9!M_mOiu]S'|.phwϿCHɶ?ᠥƅX7@ܝ Pz[4JfLM;ye)f]Miq}e**%%9XdRRUU) %"SX2hqaRE4**_:J [ёUѨWMf)P:H|c'vL^+eQ-E"_:ЄP`XW4x^WQ BIDcKθh">xyc0E&̕z\S':%byK ܷW26=10Yr%DpW[cq-Ɔ'^(QbQ%Pzg6ўPlVh7XsOڣN] Ih[p&D)׀ )K puwC_B:u̩Q%jQ |O*?TX׿4a^YG~+Ԋ5=P*eX'Fٜ ?0wtt X qX0R2ĮK)zh1IP0h\.3/if'<_3E{<QM {;HI@c>l.>O%6fjJ𺺺(esWϮQ5*?R" 0Wnz}{}Zo;T%4Qt'K:iͻ > M$IENDB`PNG  IHDRz IDATx^A 0` V=yF0#F0,F0`F0`#X0`#`#^+Jj(k46yIju&!<$j|_"A F="O, ͮf }y;xvaCEMqI69B>kְ92)RVb̧N2 8ܶ4A+߄=Qϩi19ORYgBY&4cp$n{iS"t-=~lr+<րh/Z!q6q|#IH$#6lwTeV3)zIxI[7g݂0gŠ/Rթƛ?{ &E&O3+!].5;UǠؖeF8j>M VOb~2'87Etx1(?&֎jŝ cd#'cfT.^i?% tqi+NЀ徟0 -}r>`dQG|0XG-g2h'P;1;g"Ҁ]w_RֵN-D\w-lekK⁁LArwø!֧i.[LU `}%n( U1e Wn 0,:5!24`701$фN>5!N- *4 ȝރf2` xk:}*#ћBe kH_o:@ƤZl#G Dna]4epdn (| r[jz hUp(syu$$z*(7gyU5wM+ٔBIՀ#jϷ~*0ƪ1+5>jMNjT 8d8_$m`NHC ^~6F~sy1>a~CsaR{D=^++;xx4AeuO|b.Fl0 O;0B|D?}s;P֗'\|hXXLh W;?O1 ZvQ|t? j.>^c WWPhfgx%0&vp;C,4zsfl!#B5ixVн}#t9dYeŋЙtAl2<^G?ޑ:,(bEQ#uI)ݕOVWW 8tn]3=|,."Rn_XGvh="&G{܄ͳp( n{&1gna1pH ko6 ̮v&xĂxfPք2NFߌW$4 Yk,}Ο_>MM:}[dX(tczpWO  k0]7_Tد b }.e=z󳜾obЕ,-3<.?6\laG4RnZ4jFu|F<q1ė30rv%h IJK@W&LRjzT'oiz_3  =6dtBt}pj-|wۖSRY qDN/"n9dЛ֡ sUM "s7 3u|wLc,kR x6(|\ v/zޚn^9S}';%wH$bO|% 40F1NƚFCPa[o1HS<fzm5TᬌuPDsЪ b#ȳ RoZzI%CD5[˂#5@wJIENDB`PNG  IHDR sIDATx^;N@ED|eYD̯ {K,N&L"V$c)xS^+~D19Լ3&ْI'v} 0,H xRm*8MsM#$Ej%m m.EI<}L+*ό]_@ WH/)P1s?ZQ腶R7yqVluan 3pVnp]:ó=[.YȂ~ WG#ߨo[b(t1_D/Jd8W };BQ-Ff`y+m/TY`5}lts^,3*3ljK)ej(30|J:2ᑂ /pIENDB`PNG  IHDR&&4!%$IDATxcQ0 F 6`F(*@IENDB`PNG  IHDR"IDATxceL@ ݁ bNNօ=fbQIENDB`PNG  IHDR~IDATxceLlEE4eXa802 C37LXMgd{v FV懗N(vfu͝,;||RK^\ 92WTw 2f -0ۚFIENDB`PNG  IHDReIDATxceL|?> jS!EIENDB`PNG  IHDReIDATxc:2Wڿ72o&6qb(tkIENDB`PNG  IHDReIDATxceLlEYTeXa??du IENDB`PNG  IHDR$a{PIDATxc92Wbxë*``@B P0Lڇ}1Pqw-roXIENDB`PNG  IHDR$a{IDATx^őJpFOt pԿϠCCl}ǷE$J],,or h>}2HB38ǓKz& @ܿ7|z}M!U%+˧}`F}E8Ĺ[Ud@X w` Dtz ߀ݰ_{'/Į|S+IENDB`PNG  IHDR$a{IDATx^A+DQﲙ^)r(o`m-+B`,+e ޻瘼 5<9NJ\GTPK޻ǫ~s Il*m-mdcZl`S6_ťM&fnݻuF%YBɹARߔ}ynOGYhxHjcF\ @x0l_?~풦DY [P7͈?D xIENDB`PNG  IHDRf?(IDATxcaPe``a "~ "10Xa\qAK8IENDB`PNG  IHDRؿůIDATxc``B/IENDB`PNG  IHDR)IDATxcY~wLzhݓgOYX1L 9{n߽70%t˞_\}é N?i{)[NW]IENDB`PNG  IHDRIDATxcY~wL,@GAj,1`X!f2TFfrv-A V&V'Ϟ(>zhݴi;A&?o߅^y%@3֝:;_ 0=?6IENDB`PNG  IHDReIDATxcXuL|aŽ3a,rtIENDB`PNG  IHDRe$IDATxc\yW_9+8Ć,b.IENDB`PNG  IHDRe$IDATxcXuLl3Wf^cXqoLl`1,b ȥ6IENDB`PNG  IHDR$a{XIDATxc\y`:O>ë˟/*@5?JMO& 4a: (_AMwG?=nc^k|JIENDB`PNG  IHDR$a{IDATx^RjA\1 h9;%b ZZB Y= ӽ}o{d W,cby&T8~㮝̡gZ?D'QܾmWU^rk`.j[9xhLYnL V>Jף[F)d T>[P O(ܳ ~gOU; 4 )$Ģ d%6)̐?S Oa2`IENDB`PNG  IHDR$a{IDATx^ҽJCANK%U`lIO*> U,̿7s,gyvR2I|rּZh5;J~Q?Qyp߹VW)қd1nVcLI=}Vj RvD6")ǣaa𸽺8p$goaK^;bzq]S BIN,! bN@ĉ@~A >buk$"gvV؏ / v⥶E IENDB`PNG  IHDR&&4!%IDATx^?HaiHZDA.E PTgE ! (0 H.H[DNy?N$w|೼_xHߪ`kU>VYNS.X.tƄ.勳 &)&S?[jeFs>XˑA!4{deߜq):yVMj\έqcݶڕ\Ai0㢊bg)mz9, O'iIENDB`PNG  IHDR&&4!%JIDATx^ֱ gHTҦ}cpaaaa = ,XMÒG ^CIENDB`PNG  IHDR<*EzNIDATx^Ա0L6]nsNBŭdҥ"4YlK AxTk <:sh$z1zEk:l߄nZ\%lJZ]?<_~xA Ck%`Hë@2\ &p}9aNs*PLzfT c |[tp1:cWND¾qF؅u|ji cN6O~`Oep~,IM䬻%pIYB5%tJFz*Sse֋7 *>ZIENDB`PNG  IHDR&&=`IDATx^혻@FSإK.[75́T_H/K "Oi^a`{vsXȈ5 Wt2d$m,sV–˕Wڛ6Êb)4aXc]XupmrM,5 QM42KTxL6 Î>Wy Dp <aQ M簍-ylo/S za0w)fa?*4a?'f2 l;MyKXsFamd*чXv Sηw~M-ߏ*닢`܍IENDB`PNG  IHDR HlTIDATxc?Peω("/$#d0BIENDB`PNG  IHDR _)IDATxc?öhlJ {NW* p`*E"sIENDB`PNG  IHDR _*IDATxc?Vm {NWX`v0/q"KmIENDB`PNG  IHDRؿůIDATxc& sIENDB`PNG  IHDReIDAT[c?}'hlLlãS0N8&IENDB`PNG  IHDReIDAT[c?6}߉ U+ocuIENDB`PNG  IHDR(ԁ+tIDATxc?0";(2eġW I\0(Mh#lYzCYIENDB`PNG  IHDR(ãPIDAT8c?>t00Y2b P@?A Tp$ x7 C!|l'#gJI$Fx%vIENDB`PNG  IHDRYGcsCl0`MIDATx^a @ы`#l#a#lFF9DF˃e^_'Az]2 h4l{b>ev1D6`9Sd d-qC>NCcFEoن*GWL&: ɀ=LEXutYA%IENDB`PNG  IHDR,IDATxc9~a2/0T|O =~32w ?㇯Yo>r@`Ӗς鄙z7ׅIENDB`PNG  IHDReIDATxc8q|6AGIENDB`PNG  IHDReIDATxcHͧ?o 6LP5Gp3IENDB`PNG  IHDReIDATxc8qlӟ7ӧFP 5G:SIENDB`PNG  IHDR$a{YIDATxcI2%M\o?ǫoxgXPdZ@؄w$nG{7V@Gy\PPw?0-E{SIENDB`PNG  IHDR$a{IDATx^N1$$tAR *@GO F ]ltn"e)li߮(iX&XKz<,3"(~BP ?!=B(֫vwK",槓~b[‘?p6(P ;" O`d@F $+k l!Ǵ3jI}PdE! 1STZc[ӠŽIENDB`PNG  IHDR$a{IDATx^JAE>Qba^67.RXeY7s lƍ[ } N_ɀ1pu6߰JMJ"f1\%>3=9?qMlrS0 /R!xYYiq$brr&͘"v 'a >82\]mIx3$3oCV$eH0ל X ?pԌ^gXqp>3YͥexxV012}萗-!! 9Q #nP[}qwIS<Äܾ]3?Bu"HG70VR#F=!`(0f-XDxYtVR)www+o/ 5ato)w8u%5I0pza?BSGGGAf(T`B`~~W9evl@:UR<\ 6@@&az<葧:,jq>VyǾ@ + cM8%xUwu_IX]]}?gjDpEEFmh4-pvg(,a>H}*nw "/7$1Lx_Uݸ!(; V$nLF(s=q2EaGsFPn]0xgIanH55S󵶊EbRJWW1jŝ<;;D"ioo0-.0.:aF/.L}ƅ0v(@>"#NOOkSFhiMͲONNBl TۋׯNQ4OZՋNgmtiiisfK$:&[[oM777S=z d#3QzIENDB`PNG  IHDRYGcsCl0`MIDATx^A !J@J@*a`%TB%  H@&%!ɶNw+'FXȣ ap5T4qijCL#/l-,7{ J:$ͺ&/L1BE1&Ywg/{C˟MnIENDB`PNG  IHDR&&4!%IDATx1+\GP $JJH1)WgR>͢ "%AY("UoϤ,uoG̪ˬB?)[a5-y˩{Lq4 =3f}w̦45}f-w_LԸvfuv\}0ezc%YW/Q59r4JN\=0ř;Pse.BiTV < DAU7l#R{ IENDB`PNG  IHDRYGcsCl0`M`IDATx^ҡ PaA&'&0Ѓ-__e3} pfb943p5$VEfFb2;"v#oYIENDB`PNG  IHDR(I.scsCl0`M8IDATx^kOg7qAdž˶,#o HAD"ƖuȢ"@ r@FUr(\P þ{*-/I_:c|;Y>'w^':+++mo9iQªiii~~~QؗGEE]~ҮnJE*sNKo?  ^PPP NKTXXX m&MBJ~X6666N룤L",H碱 ˼1999*\7! =ϟ?А733Ա!h4O_?x:<<$Boo-^@*7bW`X_YY]#,FSLOO#bJs.@}[Cqskk*0oX%911Ree57֓}(h4 PRRBOyyӓ'MVkZ^^f=22B5z! ӆ~-̣YYYYhr"3XTXXD2ݝ_]]]g2z%Z alb}l{BD$MX&Hq כEN=~}Xj|d9 9-m 7f~, Zdx>b?rQI]]]ڳgF%*_6GիfLLLVMPPqq UTT~o )T8L0## ܹs@ tRSSQŵGp/kK%(\>u:zee,D;"I$&///nC==B86J< ַU =Lc7q6t8>n/p466a} W n$6h!ODAA;y[|j&''wǏ* lrr5|v`Jlã@YѣzsX |-&/`ďIENDB`PNG  IHDR44x IDATx^Yy]E͜swo m t-])ڠ!A`)`j/! ePK@@EhJ/DE"h.nw98<<6M>sflw25D'$Z/P ]B1NGxFևE3l{e=;-`@7̙}J\zR./)%ITu͕A~^)̣u0@NF !V{_Ӿ쩿jYzzV. A@r_ʁSj,0cA"kc(-!Bf ڝ0nl/Oڏ4UTƶȘc0=6+ DO<R)ӗeN}^*OU*`S^Ufym<,)H~<$bV XϸQh7yduNwM}2` k0ĔyG%m3'8 b(62.SRR+fd CrDDܠ\/g0yA.7PFhàgT<|,Js*}͵X|ysc@Y\Ul@ 1NVw8LT{#4 ^n'N? ~|@R?9P~{N* PTu|76)K /B;|5/'/Y66K#ܭ Q2)5aVBح6ex)-XtgisNL;}N2)r$q߈ˋ ;4e: Ȩ7Ë=-O<-?%Em+ &|Ep#9J2lnvZ\-+ҳ;}Zۖas;~G&6Ffe&p}#dC@LΛ}#J).p:F@. ht = *e4JeJ)VvJh= t:_k\wt6=2FN  HVD0qg,xkn7*+ܰ:CƭW('CGصaւELn=QtI\\%-f%xec3~%nPM0xDdyŸ0;~8BwvDs7a'?a;ֲ *yLH>JU`%*_L X))` Bs.W[<,IplɈFZF]?s>׭ sW^&elDQ茉!" 2"ZmZe^kgZZ`Ca 5BS)]ch% Wm"vT8\CX 7 )}[Qs?<Ϯ^eN=XSGR(sf+DQNJQ E8X}ŀaz t\޽tϽӃ'aĉoƻ@-Xqf2bAq \/Ldf1i(!!=[_۷{Nhta1VǟhPbn o~s3cPc "73)&(⅃ۜk>?ǿuuc>P/zc[O@qǍc+`maNsu]WH)rx0 j46"F9-[oه DWn4PV&)JCYoXҜXMrb*JRbPRqTE*@JT%Oй`J+D5`*$X!?)_fcşH!|d,+Q)x׫i$eţr*VF߫9* (S 8d@E0"00'0b JX>EVXJ82 l J~uZš9g}FENGA!eV+?G`qJaxy̒228 /,ҁ<3>҉Qv xrC`)A \#T߈10 9Q/W!HP`vM |൭/[P~EJXLk~7o6g%>(!f_Q.cǃOƇ^~Nq: AQLܲG`-;0|؆39lʱ=$Ơh> +=&(G<2NH),:O E()yPDgDI\*"+XC _H(l]k ۣa*qO3 >& z!#@>SKEcOm.J&wإ*(QvUc(}~_?>`vŭŶI~=9Ň'Ӆx DSdcBE!&(aЇ%8 \a'vәO3[8ojơ݆4,.hEj* "[``!,/Qx-^כ|hMM?PqSTah duN@洯Ljd"|j~i3[7AAQLCKGZI*'f(dQUQ#UecwP}gCy C. }t7"+\ww.vC5`JNT&8)5lZPu@:~$^%P"H9e6M=TVw"5(U$0IQIN(H9sYl/0zOBb:wvy` b3rdpzo#FF6>ؕqڱ]w"Jµ!0}N7:߽>Mz/tFe3߻7>Ԅu/eVG/9&z{HBZobrbp$uN:NNQA{p5$c[9~z xǽH=<]kAFR,)s7:~2"n[`jLn0w"C<($ Nr(jz P&2l| `jzcPljpzqz\Μ&p"vdu~2')LM5( KO-mZ2 ,_JOݍ LEG30%T 3B60%;ףXX򐶌00O:\8@\}a77ᏖV@6e5 E lXvD V!Y!`p~)Ma pcli=fJvkKN TBc)lJybZ"HEU2־Ncy@ QkRΎ%xTrb A CJ3ͩjS+K.f>Hóy9+R(g@޻f TT ,H*E+1@$A5.&eR^6J"iD**!jɁWɫ;;a|EKn ,֖d7`A &PYThS6JJi}'b ]ϊR'& !4mI3<,@Q^ &., 8 )Kl(#W*yKo-w?4?#)K~Ye[9p9ݘ0cIѣ{ց%D"8/]RYW)mqYY,z]2O lYط˚ \` =Yf'[a{ӳİuq@w=( AY[ "&ƙјk%&ֳAoµP8AkSePW,3DP$I+.^>blYAY;UӅ?j$VDBBҲCQۼQ)+S;@ 1¬B[RdATY׷Jr9C$O, U>Nxn갽݆rK( IrY1eՑ C^ҟ| r ĕ+P6pn\58MsEʮV%=? /}i{<0G ,o'o4!IENDB`PNG  IHDR66Ej IDATx^ݚ]Uk?iJ/1?r K@bh"L͋ h*M"FBl C#4̏>2h(/4 "ts>kuzXbmag{{3ଋf]EdCD!y\4K-mc0yX.X,0{˻?}=++o{J)FZ`6 o sX9q\]Pln=oy;]ola[][e6CuH PqL7@r Yp`bl9 ,vl8tرڒ^?vX+\8,!o=`M,I [G>4*)\(;#|b?o?Le_x]5MjI[A>+6xxēJfg Qf9;w d8>hxrQ0 yJ9.FL 6g=e ||H6<;0DNo#(ld"Mc\_ SBRdB"4T#Ď/1U}Jr&jy>U'dJ,P?ƉA3U~zуT=!Pme6l I1y2Hw0;^p[۝t_5I{6:1 ,L<[d,a26׎A;M6 u`)ɾ=T4  K4A$l\sեy/o_5W^:L6Jլ<%I6-~%\yb6WQձzW}s.1d8(R#`3y2aî-]0, 0S$bY.ag&j}x ?=%b!]NCxIkV190} [*KVZiRchHHt'6u`c #6&ΚR!Yf̠y&DkYjVVqP1gsHk37Q1 37D^ d2AI)DLY՘,2] &KU]@}ؤm:QY pFD92caH]$Bo@vzY`_67cNCnmT:K/U5We rrHPb,K{W  % Tg2 .`)-Gymh `C~u 6PXA xo&3_})'=q5sxІ=`H62K8;6ڥH=9A8BBH* KbD|_p)fIBКZ%}Uj Qc *@dG$QgĖsF8f"`R #'K%DMj̡(8> Ҿ@-jΊ*Ȋ90) m0gHcP#A=( `3Ͻtn=e'gJf.Q%sT%`t"[+gq?zkO>lC0ր2ǁg9S$`?!’7 ڒ tdSӚNr|e}"Oq!P! cd8| G.9|\PYU.ð<b`t\0m`W ]{ú3tyW^ܿ:3I0̇-9BsrkResAku9Wq0& Vau]oFCݺFe ٿ@Sf1. Ղ]v㠪XTWg}gr, @5=d=Գ,)P;eOqQt KClEBc~8Cwny3?( &ɢMz F>ĴM5B Z0]NH?B!hEF`X }j_bԃ559pn%}j|{tgTE4b|MUqOݢFרwF}E Pcڇ>z4Ѣ&# qZcucܮ!h[ @-ڿEMcCAUmcaӏQ\X{b`~oʆk04f.n1">&xMlO_!An( y}?T|@lǢF@%@f`Ű{+(J3drF@tjH j8AAg 4P/˯9,T`)(PfPPgRHs;:kMMv h(X( \^Cv:[qU_|e ]&>PS6#"/!hW/mUX~"W~+`DtUP u %5T61m1FUc-ƍ[F*5^" f[TNF=U]kKMqZ_kr.b5f14!Q~K7q `>@y*SuENY@>Wemg#:dP: V Ѡ<麵B!$W6BGF. |pSjpFe?I6),œB\(W{_B<'}Wb.VVVPIj[Rj+~1gYXg B00XBmܦp6'GOc/+7ǥ גgvϼMXf37::j*TGTM`/ FR*Q(#=qasg q{ϜCXm{\Pi@ R*Ѽ GrE$._Lؔ*cy>O;vy 9Fi 'Nn h BbDj }c{c.(8vH$h>ֶ ` 6`hT &aT?o$B|}mDQr'Ar鑳D`4@R҂J܆VOM~vdU2Bu-)"<<Ջ2h3ڃ~vr;` ⸾z<)}2j)2TDq{0+Hvso^f*eQPSǪXh\S$ts+p$lRuRBHSΡ9X&cUDe#Ko6=,17:hl+Du&n~<[L VHՋo;uDƦWCwPl7Q$ 5TZ c: \&f NUYid=븘9dsj$+*ap&o2)$NEm޺O~ ŒR,D]o4=H7θA]9*ʶ}T*!{]hFtt02/sMRP@o_>JQy:sھ2bL*0Ϙ=8Hmg\8^ߕX(O("瑧Lh㘚|g7b\@X!DH1o1z;!uO݈u_ |īuO]QQ,1b [ Xjp,eZ["2FoM7(m,ڦ1 S`[D~2tnc2wZsQ)Py9g͂4svq\iEsah{`'N%Jk*&k.ﰎ?OدTbRBܻ/ᛎ7؇|/~J^au}C~br(,G?ozIENDB`PNG  IHDR""NIIDATx^ձ@`m@-bk80k#3+ f/A'lc`.9DE !"\.>)I0[Yf0$~%%6  y+ .>t76ۄH;DF<3H^TάXu b. x1>jf#go+@wƱc>~h<7<85k]{أZſL(HLA JÎ CJɫm4Â/ rG&4#s3>xrxi̢}02']x<>n;gH>zPa " Ib Nwtuxv6e9̰ L^ ͅe|@Y $ңlKfsX,ĸpHoL:qE/ɉ/8jdH[ x D+qd8_ LkEέ cbp+@5 NVϚ.c]IENDB`PNG  IHDRacsCl0`MAIDATx^HaȤ  "$dQUP!DPDH)!%Z5,BqI@j;޶v;ﶻvnwf& p||YY# 9T!knA,ێiz2많>!7,^ ZiȫXAd̏}.G,_mjZ),+*tcYR$RY1 7'8wsV]DzphL fe0|멝:NT *ߧ@*=Ͼ Ée(3GPqٗʽ7LRMa7w 0v?ˤsk5z3TB['ڈ0 ŁE(ᘪWil3*oP2d8C#0ˋ'¦c(葦"q`x!2}9A…&1ꤜ6J{^+1ՑAݍ,*l$6ԇr̔'_r-I[rԣ)2G b B%ŏpp>!(Ü f1nJgW^v_[f/6nYҴoPw]d{!N/X sa,anc;0%gh4^\&?oo_Q&<(Gǘ`<ÄL)Y =h} SeMqZ ߾N3\70D-ɠC_ 6lf!]f f7G(\dC%"WR6t_[)_[v@,8+mXTcyi43 ED!e\迊\Cʸ`k9ifw`N88Udq1UmOeA`|]Z%y4ed "L#} #Э01 EU:a-4Z~;A@"bL'ȝT8xHBU$إp r]&@AP抩yph:v +'|o:va xlj5lp8E] 5˝zlO&UQs:'ianе6Dڦ4߅5!#!\01OMS H;ӎmߣ`'Ry'fD'878rhj+`eeЯ uw"d6hI$.DG~;prVWo9<哮Z蝡j!2'9*Ɋ\]R,ZEV"Fz #;ae?-}c,%aW]g L%=i12g1Y<3ƦF7M Ot>a _/:^{w'{zX2wgUG̼IENDB`PNG  IHDR@@iqIDATx^ UyZO/./y (@ ՊQ/11iФ3jS;1$!M#vHml'<H J|@u <؏﫬'{ܻ{9?9{̝Z[{m\8}$we#[1g۱eKGg='0:x&Jr.1q\@ll!Ȳe`?F~g7?cۋBbM2YF"A6cƢ~?_vmҀ4"X.}l'0B^c] ;/P…I6":_l;nBJ5 8xX:я9hXr(dr ~ @~@?_y(ilk_-PD (uGd"}A x9 Mëwm]7: -!/~`to:ə5j8*S/Q:;IDp%ʜ$[!b}r"NgGϷҹ+":YMj\:v, 9}ջH/x'WkƍHj={1D,14dQQ5`ؘv.{9g@TI6s~mEYk6 ?$"!A|c-s"^4?><Wh)"@A@oF%8bX:!{Nx}ʀl:C_Mg? 0/&E\ן&=6mxB]K^Հ D *NbQ AA!c_6;^g#˷ =!%zOqwijܓ[U |_+S͇1@kPD E 4` "pu*hC#zuw^D@( 4H@h !%Њ4+@4wɛ}5`ԚWQNCQ|5;3{0jBD+hHA FNu މsQyPN"ò1]`K|kJu\7s{W/]zcWNGQ 5a)AD\Ɉ)1FOI3kGN:0J# & T%lү< `D,+"ZV WoL4XS7 <% uE-.JP%bA<QgLJG𤴁9rxz®CqLЦ,ht Ӿ͈jB4 XVZ S^3`5E5^FI;!N@J)Thm&HlrM/}UaN V'3M]2n(y&aF<{4A^d h(@ 6q̱ Nh'~[ܽ &BT Ҩ? @MI{6{Ѐ ])gY6D.CT> |$>iM]R-`uvlWi bw.10#| ñ5B ‚ ilEM:}ޟy`R=z5D[ǖ {%hYs>E:M5܀ܩ_!.P7 ;0My֣Aϕ~y~fI2sirNP_NK3 j 8Kǁsy_$JAr^;RxP8mCT3KYA7ܱ̼h`ͱiP)D~ HJ4;^`cK*|´j쫫 êA @~}\/px]">lՀ4 oDJEKDA꜅sjB6MǘB45×)>ԘyN4>Qp"RIDַg l3. (/të4 MLZed%lPoFCHʇ0KҜvEǪ"X7i> _J/@u>K kr 9l9 027uIcE7T)*t+]QF}8NQ<0RVrNLo^7{9s;] !Q/hhtPegZ6g A/ 2/iSj- ,\ t؈f)}v׾u@sM3C,hQ/RSH1v o mj_Wf6+%$ ' n9}OU7jh,(Afڰ|/ V=D=$h S8upE))R6ˬ kM?_ԭçW헨UK{L7ihJ|}3ÇG߶u[0IO2 Yڬ$#*:1@<pN1~3/Ǩ,3=d|ab?9G3VJaC%`ןxs#cԁ3i翵ɏorz|~H׼-5gl7s󰴞WMWtw'bTOnM#@.hOLu88 $uqF?HV㦰06┓voW-ADZD`>?dɨ3v{N3+xNROSgEL9pzs㍵e4v;QRwD.yKa1*MjsF+&S߹'ujag[ٍۧ՚ T#-8#IENDB`PNG  IHDRV@AW_AIDATx{t}wf_zKlM;~ B Į weDw7S/niB:ga\Y ,Ls9#Xӟs"TT$H|oCPk뽋9P+ AX-p5֑hLۻv?B$X^5e/k-B]M/~BWxO13 p15jOd\ 2z;G4Ps.R׮G#O- {_zL6DԄ+[dt ,fO/ [n[mI%zJPps-טq;h`g ,1m=y ٝ|S# >ozcYc5Y1VZgޘV;,b%?C4m0ɪ|:!Lo1c @\{^]wL}>Dܻ}U&O}%s:PcP~ 7u, jB($JebOw"!\mwF8 e 2ָXݠ}RM@=7}/wZiql  O-w?o6}'c ݱr8~Rׯ#V 3NAn!` PrK.k)сw|@JDx*FLk(Ts+oAbl;j5© 3˲NG@,I ʶy;,[MPnjǏsdVwvy'X0wسh8>+A5xVw2PN9#T5jk j|O&؁eyz)+\W`"P5_мXnzZ <X/i~|(Au@iijMV[Lmu@z,PIMNZ<ؔqS@ +&= }Pn &Te[&`2oVmp ?nub}H\ƼX9M 4<ߍzVz4RT]f]n~{2/58gzQ.3$]W |WvIA*ԫX>"y4B]^@oo<."F\P E-8$opl[ӎB.+X ")#Ф9TW0gfj&.a*)mܪn+ oO z <_ \kT$ XC@ݭjO&PX7@vIE:jo&OSJznSaH6n7,Ra4. `** p`m.AFarz|K{N!Xxb۲陞??Ӗ#%uji *0A_y#pzw p ;Iv'Xp5cr5J@> &xօ0b2/ ïJn-,vm%nx[i H~V `0ވUMrWx&2t 5h ɹ(5GJ65P49|! c/34wNx ;YO;_?/S÷?{7S}6y}X*e0Beg?y!R 덄I!b+mnKRFZm#'*XlRqWCa=h:򌋫5 g%Fͼ؞+/߭YpKga͌ʉniSt&}[Ճo¡%Q^PRmO3z I\7YXǼ0cQCXo#rPPK)+&Ȁ<1,,|k USjÏ K6y~8+ ERGVPte ˼phjZdv0o2޸Эcx|#+n~{W/A2 RT_qLWädDt.]P#SXU ]K{[]Z3 Xܩj$?=ޠ>v(FӌB BqIdt *Tkϸ[kC0&.:H)L!&u;4PkTRۼulYAsO$UCI-.s+Z߱ O1 K ]|@/@3QdM?ttWT_Ts8§ΝTWl^-|>EdSVO[i% bŪm1BubUO/?AcͪU;dyl4'T)@p hk;ƏW%ꚋnj-~g|,썻e_[;.P-Yf֭Y&Yy{dsey淵(Ԁb(qeTxmUXmݑwCBTO4#si!TN=&_6P!LuH[c'J/1d@ůmh< Tar?tz % NSW{ḭwIwԄ(ou&#`[U;eL\'yLfGkAxJv:?xOAT| +q ښ\3ڬIiekۘp( ռZb>dcsǨMcpT1l{ab.J1v[ߘnWz}Z ǐ0c$'@`DB ª N՜},ÆSlj+Xt `0b1 bc"6`(V~H}mnmJ:@Fd97$A!N(Ԅ"@Wa(%qkA"ycEzbKl'q B( EV聤EwiD+M:@1`L(\L7cq*C&n}tk`h50nLM[hwhKft *cBCQD_U nBw.wInB)6ZkBAH1a~ 16¼eM&G#҅ZZ_=]!\I h7Bu!~dӗrT 8.H`UrS #;Y<adts vK^|у g_9{|=E͘^ /XAÎ@t97hἮ@v+WUT->c s>%>=a-(?mյS N{` ~A!Ln ށK""SaV{dbF4@ -a͊8)(nFƅvʤ-G"ϲO5A.ip!Sz\ e- E+^ZܿhS(֛kY<}I+yKon~;cHdowP}tL(,2]4㣽K_A}T-RL+qܚY F~=PT}P--|AJHY+ ^y_Ҕgm`0. ͇Z_rĵL<&h1^ q][H_ tze2o p?z>xq ^S=ˮ|5]gk7U9sȓL&y7HR̞=‚/3mڴs|fv`…_߭i 1y u)bX,ƌ33o޼@L+W ?gݺu>Yhxb<uƝt*;ۿ9఩pA5 "FEUUk׮%1q(=c\xᅁ]"˫פlW&8R\=^."z-^z%| )&g}U€ ^;b/Ժ7aQ8d]G/qI'1|`<_|qP#CI1 nA1e֬YZ8\N7ATWU_eΣR\ ͙~3XL5RAպ)7c{ 6#ɵ~ZE#gСL:`!Aaϲa Nmq]wq7G jA0-.j*R-t6o' ,vډ~_2466Ǚ2eJy.]ʋ/Px≂;wnP@)̚=ٯq++V iƼԾٿP %QIQ-],UrWr,}rCKߩheP5C]5Zv|*\Jpk;O{h# |4%5%dA1QW-t#;u@Zhh_}ˑ ئPVlJ,\s(ZcL !~(}YqqwF*b_1>ծY< i;ĩ3I1"6b U^}'yi8NyuoV[s@;ݐR9L/~ םMDn`A&G-d؜򽉆/t 6b4|0 eUgfr-лᄏlޓsw/oV0$#>X 9ɽcb╞tdrw]m'IDx[5~1-Q"!YEr7s$X B4&_bUwvC@ D{݉3#Ҡ굫>2azGd@)*@R R}ot.{uHhi+@Es~HG3bL-H"ORijH  r ַz}*r, "ZΔ]U_s62c5$B.ѾCڳ<,A+d2aK9/ lzϬwU>v^s뙞}SM"{]Fd|>&u x>]#MuoƗˁTH3W;2':ˤ?9oof-Ò9!l-V io<;fwm\(ʧ󽜽ezdDZcVni OOӾ IENDB`PNG  IHDR@@iq wIDATxtF{Kj2d ,ae<i8>n!y.uJ fї\0R(b@L$\: {1nc'mEj9{l! <`D#i{ ֐gnBRc#i1?ԚLH@ֶ `$lq#WN[-Y<ֱfռ8*Й#cuzz瞤:“g61$RطgRTYxrXkF#jmjU`C#uC?XPS- .1_؝J]-YDN7O]l6?o7LL2]z% Čyp3ȐZq~ eb@  ?g^m9w9x+oOI=)~I 7tzylPE%K%hC L+MS46%Ayμ fXl3.Ϙ6{S1rlGz*,CzzwL r!]hlUC/Pڊ~41}/{>ߣ`O|:') ҞOM6mhlzDʖFڀl0n @# `x"R1dSP6dơv&6zě|ڵ''(q U3P[Nx J0<d]7ҋ%՘cu\Ɉ2% b(JWG<? ȱ| ;1Q҅!y'WLV{_<GpHv([0D^Iwr``F澆yx`: A@OC)(T"]<-)RS0iS0 P?w 0_o)} J:F'mpB&)N3UKN!pJ\RԮdw K]5Om``Foj~ ] ]ï'H gƈv>N(SA>u,.TG\IW=D<0 Bz=›Thz5R #E Q'^FeUKޤ.r sS !C{3 : L^W EQ{^c!geU>09%ܗT NW=7,=~P5+ 9W2Dc ݼDe[0CkS]缅blŗ$X@"lfvlEECkjeb Tw{ t?6;Vh%%",gh7`x36B}kdAC}.f53{?<@lHfxm%d(kA$ nՄF/~3k>z&hww`-YޜojT`x6] (~ kfFd§o >-9X@_f-D^ <- ؚ[@|3%{G+?ߠMu?WjS>x\kn}|2{œx_TIafGc q0~';_9a #!}&] Ifڰ7 Z毂Ft)7_ {Oghd5ȇgFY/S3 D{joW?Yx}j}~Hw7,|FziKJe !g=%L{cSVzmj?G/W{i~n"+<@'/%2}};F(*, Y6d@BX +HhhiojXJaBx-6o^z16_;5~J303`=0xNY$nd E}I&֢,Em˼a ^><uc Ee~@"Bo6DG&wˀ-o:r7ȥdUkQ*#-,. y+&`UF#ssX#2ћX#66cfQg6W;Bh 1׿ a}gf3}/(:/.AXF,(#<`BIr<>87C[?+.Nt !ܦ ƶ@HWnf#^"gu[~9Ů)$R ,_ˆ3 a! s|[~BCx_1)z`&cPưԷΥ@{ʋ/?xiltIENDB`PNG  IHDR@@iqIDATxtֶ}1r̜tťe^No5y9yqx-hk-)k#c N?U(t:詯)}NƸ7ls.Νc`Z " }6JV0UU;sʅՀ݋ =ʊ֍Ǻl A$zr7F 36]TaGܞM<}m+L% M^m]&G\q{/HgTd!%*ZjUuK*)vY+.Շ:{>;>}T5eFz+a">x !_*zG*@xsI@谵 oaȆw]a2( ݁i&rCCΙ)榋1 iMu̓s[`o$ E|X1 >y搫.]pJ*o giONZ(R66y_HITՒYrJR,޶m'Jb05+1m{ovPKpWsOp⺻?_WIV_uSkT% =+IzcnE{`M~ZR>&pU7ԍZyJ:L0VNሮh-UO7Jb vL}Ko!K)buGTN ca4N O~rn5yFxj5)F9HA%JF6Cgg)82,01uR2qbV6lxhgA#yylm8#FS8 @?sH$_c=%mTMzL)IP"EϠbַ@sa7 PNއM:ғ~lΗQelp[^+v2l: Qe]|!mXs4p~s ^}1}ƕ$/ V?}3_<5>NYBJ*(O@%AԢm~ϔD8hm/X~T)/}Kt:́w~a>яٶm17o#/k!?|pW:>+C Beژ3?}.Dur7APओN>+Wd͚5<{}mii wq6m>lL9C:Rp2ͬ^ӧ#"xǍ5*Lƌ3 LZSNioª]DIxdz@}}{y衇B?駟MLܱcK,r4$'O P2srV/T*OM-©mjj ǖ|X|h$ze VuUTr x}kLK 5Rw;ŋ;BeYbz4g."NaU z(;,ԦeY}cܸqas7`ҤI1ͼlݺ5c 4@+Lz!\45[/c]1kr쿨sW T>!jC?<=mU&5ʍ/Pt3T?+'c@UN@Թ'\!.9Jr -U% -"è6_ L'Vgob7W )@A c.nL#UO rm/-ӝURfcLșgI%Ι+nx}[v6*.dKB:,rMOSg -I\4Dz҄1}QeW>m<ϫ mzGV:$wW#+x`&?]BP|cQg@C=sʗK16  bcS/nT*+cxpp /fͤ޺+B4 c)Z˂sPt|8fň g$Ań (t_ gWϗĿ_3ExlLW)|)#0b4&4?WU8cWeU7\>x\3UtQӳEI89cly+y+뀙 {tuk :%iపy Q3Kb87"vKL+{NM`u Y>4Aޱ|4E͗wX9%r&Rxn{M2]/ɘDBРtpi7Dl B[􇪦>4D=΄=XP`QI!-(yov jpV ,Q Еkc/@3{}>{sf]7(:=ޠi#%D}sszPdmyX@ٗ'?;3.wIENDB`PNG  IHDRL>}IDATx^͜ p\y{jWJ$mY;mBlPI'LL^c<pB┐!@ڔ @4mCJICNyū6dju{NWgΜs+3fhG}sc9Gꗉs78tƭD;ίü9I"7]}-V~mג*ϕBqu {]u|A^aGbVnX !e-;z?ҔɬO$m5̈=8/LO9y؁xxkya(kN[7lkYxQ#RIc6l+Q-q}g}.dKs#{O<|^&ҍ%p|@3bƦz+z.iG1x4Ӥ1xq<$Gr<+>y{J VvwI= 5X5ir Op@O+RPC7 <Gd@/p8^}(^9(jKa-[ko|b z;[ DEP.ϩ)C0f65aq,"L' χ/TxV*$c:'_ݮ M-[ylÚ˺[F! \hg208` 1)Ll&\1xO7V9hwB{ܚUk$,J8I E./!JR1d갤؊3-%`_ #ٷxB,Cw!$u;W.D}"" ^p Ղ 3R@IiڨMlòW]tlaBt֕}]-4 RJR!uA5pj_ $AVRq u5j_"@ǃ8NP t4!? 4cs8 eY6):ڛW/]W3!=;HU8ۮSfa`uljoYݘ ¡sN` &,pe,d3iKDt؆M}Qk6#9^s Qb0@K$FA  )]a-yϾpX9twuͤkaRAr䖈H$PX4uXwF?p\}VU;>+<`V:}z|Up|6oGu|@)@@>bLn '=zpY2[x`C)g|ZLZ\t\'G'p~UT頻2 3L>\jSG{7{ÀUmݏ/XH8S86É(U*KBݥkP+t\$Bx{"+z0DN4}<GssI},V.$'L:L?;59=6}tT :Ĺ1Ob~)3;k8ijr͑q݋AƍᰘJ\erq1</j;8K/ȡI ˤ PfAPAXY)EX:&GO3@O?/$9?[CNg##NI% |VP(N%ſtj I~уsS QwTxjNmY(>f.O: ajŁ5;>rwaBo>w;ga&(ЂN iMt}\: H\0‚yK !^ᯬZ$ݶ(|&[DR$#\!BiXUvQ9ׁ2^;|ٽ>Vp:04KqGs8@$bC1mU*WGew"8a{/XmgRm1זtRC3D u%R,S$D.lb0eFԜk+ vlh~qտq󗿲~yJOƅ X))^YXB:$)k{umMbY2Ymö#0L4 $} JIŊ%/HD,둖o?[n2)-&w}_ 1z=[{sogfd꓈ٶsb0rUƘ>|Q{=o? 0= uXu%7les[[3O w8&R4 <g@&뒿hG];tS8p:W` IENDB`PNG  IHDRL>}IDATx^՜ \yǼvfvfm܀qظ$$M\)hDq&B@C0REiPBҴ%bD)8@cjcc8_gϽGg}5g}{9W}u͈co&.>|߃##K{|A[oףx(]΋ μȰX5Wz{ ˗oޙG:FʓUʕ̹s7%X@1 <0\Xb1,XV?8xShf1] {_lߺe0]4LX 8$`&3$0FI538hg=V~Hw9j `Z]"*u-leˊȷasS* $R s?hM N:gɐ +2pM ^)L]ħo^ўC2 A`s0۸)c T˶VX$$488$ ^ x7Q8uaE+v aQ>|ȍTtp`!4b A 21,0 \}n^~btW 4j6w{rg3dou/h-t2`U,U:hKUiʡq ݎ56ÙӇ]SX2Uas6ك$mvh$8xDi_'E|tkmݽ  ^w_8`d|jur4LÌK RDF$%6eZa0LӠfŢ!Z!l>*й BPDG>" Ӳjbvdc+̶Bf[z@4DzQk25rX?%a 4fPHMPygnԴ5(Q0iV<̵Ih ^%9=0a>L`]5X(=!5jy{CRC3-S>1"h*郅*&pU u=_+P K>zXڕ(D.FB*},(nP?jh6nٺ 3 -,qAt~u\TƆ ůӽ|0"Nh%̯iNՉ|!0YN- ꁷIYԉ^y3m|L]'h,:Y= 2N] r݊(4fp- b HB>FGqԫJZaB\knƙS E?ELN8;;|ԡWGT%UzOy.'pCKoQI!x K:uZz,/<0P:D0+ ){u} řcGp4UHR/DZvs6<Rц$FFwz]f{[nBUI :#I#ƆK8w8P5UgTreGKm\qpvpovpỎl 6:<6.!!'wA¹0 E2N?_=T .ipe۾OoETa乃'0 D<'uk:3!,' ;NcU&*- 5WXA=*zҐ211o.{Z~Ќ!I*Nt'raO "0BUy mPRZ'ˍ/ 6>6>ӳ u>U<fBӓ4"`A()s7~)+Ɇ5<:| LT'g=X<Ԩ/rkd_ާa { ̲?CGύ^?7 0"0!@33ʂ-eԎSȑ33ogN|ۼMB UP00±"x ]`.a"9$X(1 K`u7nP?7er|kTϔ 67M/M$¢>Xv耂D/AES%C8護0m(==]`I X㉸dk 8)B/yC⦁T:\GJFZ h\+5+5XʥΕ#ur_,o(J+`ȶn1r2uUc~JCR}FO{ݪE0|@!15s G6Eu}umS{g uTPu|L.MgP9K:za)]E!S /-[~ӕ|R[ ;5 su7,]9p}L.1mdsY: !PpCB""LBG00LXƇo9Ssf,RnO ݾqAJ6`WIO$>ƧÓP}|k7\M=}_~~m \fV#ݾck+mmɵhOq "}Mc1NθG2qb{jЮ9_y`ϓ KiEPzׇ>lنMY0P(v-dfnek??%+S ސ̴lʫ{gd7 y-IENDB`PNG  IHDRL>}{IDATx^͜y\}ǿ79= edɀ&.!P8$NʎSR!Q $*$e(0(&XIX]{_v_ɥ]1o{S[۟>Dio6N熿4"Lui(\ ѬW񳶟;=7(<7f;Q={x; [}PI,Yadv0 m`+e`Xm|Қ+2Ktfv]fY$B0h B 'ڑw*<3 >ðX(m~嶟+O8TP+u]X niBd#_חШU1yG?}{}# 1HؙfyX.ZfpbCȕp])ׂpX $B@JjKGс8;~|@jZm >1J Lo[qQ86c\ lRe 88JP/44rqSS#6ogm*2qE : ^@t/I5`ʏ+$cF ,NgVőoh.-Κ hu#KhDٮWRF[M)F K_q .Yَ 8$ÙiH!& 4 ԫU{9d&%j@oh)+Lf1,hP_;4?meI)I)|0"pxV[a`̸d^DVڑ7_oUJy`$“S@ ˂N ZQm!E(P[Cu]DK c T E<]>g^yk^RV] Vfς0>Pն;>O+מ8 v{E,400ma걣8ڏ1`#ՅSᢥd>'f$z}?y}@+0}ILz姿A?kߦ0bxE"1 i@"QT,;|/w#hvrI\0<3JFG~𡥙GAu^d|A t:h`8DQհ8V+!૽k.Ւj/j4((E:YtKd:hTKQkNmkU] ׌ d\4 Y&:!K*3V;vرp)kLz@X䣚L6s5KPWo@|kO撢m3<6>u6-qK$$ܔ A˯u*+2r tIi7r=vy6EJMC(3LC&@*[8a a9?;a-@+wPpͽ7syyhc1 AJ2M YB ry0&;Vdnwr@0}oԺlF t!CEF`#)k4 cwdOP xkf_za*قB_Ag.Im|A=DwQq=PgzAaSIt׾{Q:{cSS"I S\jE~ L d%*۶C R֨N/.N{H h BPH!OdBJ"Tx[vJ65,];n`|̲y ϋeFbjdHb6g*qnaN3nz-%:֌T̃7~_w^/|KrΖ 389Jg Hҁ~h(0 KC :pPn* "`|O5@6^zK:߻W?u602YdE=.?Nۖzg;n%AQ)7beBOfEyx, ŖIÊ(N/[n$cИH쯌f!8cGBA$nzܔC-Կ GX#{%//~dtcG:پfڪ(T,P̸V\/T6ڭv}{G۳_]Mð_vdx4ܲC/WToa`d)ǎ&&q>;㤐M:mx^V+^Zo#el>B)*"3uRslپiV4.YՅ %\y$[,8׌ H" (Sz1 Gf6]-/ 󥇘ٮRe j `&5.?|߅sA9`O\`ˮۜ.ϟ 34CQ" fVVa@(e2 ,?ٗ48 $8h ~mWA$#HԶ4SQkf<Ү$[ ^po5>{ll-+f ȜJ#/Η՛fLFe5q-9;qsε8}IDATx^͜ky9mfvf 1"JQCQҔHMJZ%J(j)%RZ)U%i jBJ42" 8`.്ww23<N ^;3W{F# J,/ex_^+d?|T"4cџz}vp)lnMaU-mvX4~sS_7r2I3F;Vrbց}O TsāY`aQ{|~æa՚(=!-̀,UHRF+V7,eXlCӳWx^sY5v]7\`0!BDf qB+e,.j_wZؼחc?MCY` ;6|'Q<ՇZ%< FROe R31 BV=lbXxHxm0|_<~1XpZ=0vWg&&ʨWj:B"ARa28S b )%!PAr6^847'p؆ jW0;r?Y\X&vP`@ʟYA1kpDR<Cq[{4&HbuхӅMȭoOnC_?OFP*E+9sSڀŹf0Yx|:\|$1R3+B9Byhn^VTnuLu VkGRn#VhNj&'K}N(?˚V\ Bd^`(LPd/>4s~ԳzNa6mC[ T@Dhd+:e9fG *l >* !{$C! % 3Z-tmbI|!L\Ј~V掄d X^N1N Lz@WhB@@D}MqjbݭSz9"ANLVdj[Z+ 飍ku[%3ſ2 H2g˪0[23vGcyy)~{VTY,<0j(3d̐D X\]HSHB$ cn.+{$ai=T)S]^Y!̖fSa~.Y>ܩk{ja5bP !,xdi.R;~@{;5غV.+]Ay>xcqcef5[ 8y8Iy]pBs_ܥI.42><_v Z{II_W0N4QX42)N3-<^',=c`` uBR-5: %2>44&ٟ=^'Ns..!εg؅$`9cd CRdHqTV[^̺)Lٱ1^^V`Q|qPe`#ki 4:Z~@-[MS\l\^h9@U^!sX;Hc|ة/[X]qZ+%0#ӂ "I elV &h|' m Le )\h/?~0 ?9vqM%AomdpZP3AnK(J*R XwDCgH:@o],$Sg|~mWȇ l",Rװ 0 d s4 XY1TةzZ.j@v!$Gx]a*CyLؚ ,T~bA M O +vP}?*k6N]HUپmUQО#$)V_i' nsqC dX|Aiwso/yYb7u)AHt=`.L((eT,ڍ/_6Cv5mjk9U=d``bs!DF`߃Na?Zw6REn4  `A , gL =$&|ճ0JsfrD`tVD7j`q_&%$sv!$BQ##ԩORP 많tu9ܩg*}Owp0_=hUϬ$@HJUO$1>VI"dśF&H8J^{On>n|Ml7g""a `f!M:T!$Ҥ(,@CI `q>W; +yvrߨӅd <򂖠@`;b9=$VN"KE%,I}(E9bHFגïˏjݿ¾|٣_z.9`O~ h\w `KڹzH2׊R(8X©'@W*Om}G_[~-=Ё y쪱-ջG[jujMj>6E !H3.h+*J]# v8Ź?v5pߺfheeA2gDHxH~OQ w\x g?L r?T{h4oEƽց[+;FOn.x41:^ϓT8rap$]TRxfi]E_M~a`4؁g?{O #߃b:Xߺew&&hJ.b Z)F8 B&1 ?{Uw+n h\IENDB`PNG  IHDRL>}zIDATx͜kgy;9wחu;NpBL.&)(UPJPD/"ZVzAE-THZD@ДAhh i$ql=gfާg̫kecwޱ  O\F/儵T?rܷO7N-x"\XN8NxןR|J 24ucYA-|߽79l2krًHW<[x?r0\޿mj5*Zh$08Qvn']J^<~}'O)cZo*n`%XRݛf"uf4dS="O{JS'Q{ۅv™ń_xņ >/?#98ԹNV@ݰcb-|-7왮2 3P~a TP?@!MIe:K_lN[zo~kgŗ@+pnsІE Vt+moncz}0^~Uԏ/y>O-; nܺy4|`HG~x~I 9hÞknۗ5gtzs1 V5@Q9v!.FvD0)̄{޴띷lk߽I @Yl܆ j6a"X_4l!TtfR4-#Rs(u5#o(c&@ $hw x)sqNv5xA4RJΩwq̿?zCpaW]inkUO@4X981ä,σ4 $0Q=U'[Zz"NlaU.{fZnjRd/C$]a WEpA)*Hhe)D 2zCt;}ӅV~guw'}mKkbT #5.%W+ MmV 6Fy\5wzYkUK:2^RE{)a@fhA Fw^~`0 LaWMO6"|Q\(9 iH~+FhhTWA$O(0^|GlǑ~=|+U @Xh!,$l1;Gz=غ{Lr_U a!AQq^N;?떶h'uqX'ZwzF^vS;)S)/^w?~fok?uì$i6bUܢ>}%Y!?6o氺%`Ju6^*%bl`uhAmR.V-/*DQ7 EÝ(ǃ?::mS;C}׌cET A<>M1Ks;VÆFUS` %?r?;1'*"^y6hU={ qNB'}Y q}),oψU +;lXZ=kŭSvlj،lٶfh0XDc '욮a3P¤'B%|#f0J`.Mwh/-l O~ė~oW0~7_~ rgL2^u e=Z"=hA skG|2p+;UC6Ba29Z1vQVY`Ѫaz4 x%h\B<X^|hւy3IYΐE[cwɆT3Ubvx֫_RS~ ^ 6SڱjE1iQ h 廞mFpSq_~c{_C_F?sD#}=vJ :Q4AܼAMH{6xϛvOAq&>n~;MA-3v4<=ݾ:[6Dbc@|¨ eĬ΢kٳ]OOw|0w]34 T}˞wn o:eq[5oU%D}pIDATx^͜{]uƿ3~>q M+i0M0mpHC&TH6DjT9Tj4 MR(* -r v0B s^>{_N-}ӷ^k}̈3_&.b|p1DB&Aٟh_uj.xyqLT$~q/^|ŠpQ\f O ӓ'GN_= 9y_3,e]u皾ܹ{G[T ہe0d 3^ugRF nO~?|ംk\X Ԋ״_XѽjX+ i'a9a;i&"@ @a\ɍLL9s~ݞM/s浿9ԗ)&ִ4,`9+n5w8iCGrL`lXi M0@>EG=-];Zms];vK @!ɣ>رڻlY}نnr`'8!FrV b `[a04+t2p֍D'OF:<1-6zJW+7mXӃTƆdaB:I& DDHq: H"Ah{,y{z^uӇ7cٵ޽oA:g#f0-RM"/' iWves(d{POk+G Ϳfw!%ݵj\Ð}4, .g' p, $>LLO޾i맟<K bEO^V,ILYª!Ha' Q=V!0`9Z, E6 9:|ߍ5l > \\kq ]uʕ)I-T"[e!XԮXŔcuw=_Y0|40ü hWRB@'SM\={A+>v+-{Ckc^[nS6ŋc.0 $Ώz;5XCY=Hɞ⺃T*(|!iT*?wOƮ (wƧ& IHB `|3#'^{w qhu5=@݈;LoȧcAT~j -=,7ʆ|!)JCw,V=$@CR!߫dn\o<^_7}+Kcs62ސWAr @Wz/Oah!,x‡xB4=5D}9W@~APQT" 2s_=4'z9\Xq+ 6o8^Pt(ur4)EGc%T'$6Vĩc〽{]s5xkcQӐ⠢v c=^Scs;?;!zSGΞ93Vܢc: ɛ %g&UE^3p+ڃ뺥O|SCkZPzUL` |UOep-9 uPT=SCƛ:0!;l5w#:^:/P[Uݭ- P| /|Bi 雊~HxRhdHj@?_HZTk`&XW6:;ǴQfeW0|l 4(0O%Oԑݔ(aHFp$u($W!>$fN=\a6iPZ)Wݍ8>a X7߻V\k03%{H|Q*+(M}R^ X49Y`6PXedN>˜8 H%@Tfahg*|BL2ɡ7 arNXs4XP~ٿI?ջ#mmkvv\ג+I'  D:C^)Do{<='Ism7`eXL=T K6\̫'|'oXqmظ5W:dHLj#0dc&w17Q|jdh |?u{MQA$T\&3z4>$M L.^y9 D/.PUW> .m4T"t2۩@4fvskpXR(ib8H$AI1 j2 bE{SrT@@ 7].ڊm{F]*w;\mSN[޾]Òz{w&IO-Cw@gB7@97\* -c`#؞JI$ n&4<9ېW`ұ a'Cl- u8*p y#̠\A K,7_HU[Գb\Ӑ'#z" ٶ+d&@y^!"3u{ :H8~C9J'_|lzٖ|e֧ll|uU.Ӳy˷R)t:%_8^@c*giw,Ǯ'Ipz%ܼk\o jH1@断Z}M|tqG.t% &&%FRQ\vML0@g^NsS V=`h"RҐnmmw/҉˴ -C:@G151͖b_c_^dm-mBaſ1`}{Aoޮ֮0);0fraf ihڿ[<&h՛MeGz Hp_%C ?z횫uy[%ڋm, V  R*HOp\ݽeoOrmZM"9^bIENDB`PNG  IHDRL>}JIDATx^՜mTyܷyٝ]]ޱwŘ!mRJNHnM%J_6JTj+DڴdVUڔڲ0!!6\56eȾ}9O=s q#\\Fs{ϬKDp7wޏ,޶:m}4 pa sQ4E!~x+lof.,Ȍ}0e~{[yPZ0-I'~ti|fN>20-7Ձ7U_.y˙ $ACjDKW[ѻN[o@"1{W,p ̆,P^mD_6 P <pyq(HAkqQ$a_vRyܿ>u! (1nlXԶUym&+% r(z. ` D i57h-.'KϞ[]/N< J`ܦ00 . -[{p`rKj!m0yy@ u]֗ Xo4r0_xs|B)pZ$:z-w=pmrb_X`Fx PJAT:фN $4gq㌡~w%>=%,Lzv XqPv&t|c[qϪ֡J% U("%`I0#(Ǒ8 J{ &[ﵒ3W>7c0xtUwM Tժr וc*,AmRv[ӵX*}s98a3)\[3 lw9J]vJX.@B%`~Rw 2ĉ2 8+` GK>G8X0 }d30za&MmSlW*pJEA JT"Pd8Rs00TT˒(뺪|"ީ|4Zd.7U+[ܜJl;,80-ҕD&T qJѱ3W.i5Og;c/1Tm+%py X6<8b64A㨴Hfֆs8~UgF ёgJ[W5SVrH3H"t p%Aseq)3vS2p8gHV*n)r#In%1zߘp"$m9Gs}J5E=Ѹ)#9ݘZn>U+1/r l5VòЊjөҏ7K9+2O0 YXW9=Ù9qgIc !`B#;O={5 xTbeZb(XJY8h ± glWua/\w fRriX& D!1 O ԥĶ)VJ.?-̘ ||U2O<@]fẅ@JFIE 4cjQ$(6K2d3@d'$RX坋9c,:p8 \}G-2J'oQT\˅&t$R1`1oׯumԢB(r#^%(ťWͣ7eϹ? $Јc$DY-ߴV%e {RJR*H0b_HA_ED$Ȱ|RxhNz1=ïsH$wW~1(g~$IT R&g[!_\x @ d`ﯠCPVQaAK"F$T?&Ro^=R`jMdi -U? D"3Ex{aο} @+0n&Oc0!ĥXeK`:4'" Ah-!hVh#(&6 /DˇeLDm`$DuUϜ;]otإ$t'[5 CVG}؇64ݭe|xu/%&8l~pM['ABod0Ӓ殽1k>4Sͷg/70]:ݸ!ΰWn%Zpfq 찀%f g . N?~)5VBzcw,T]|B# JA 3KLF,lgiWwYj֯&{}9@(gJ:2BR'?p]&4EIbKHta8 ',)gmoc 955ql`QDZ0R$•PѮ[ZMIKX*:뇦FގZ_~s@ֱRJ )bE ,w`ʽ=.qX p.~ JHyWFWDaj IӕCTVr?z?4 v;~-A0}O9P.$p<"N_$m`ed\fQTuLD/﨔 Z4lͮS.*Zh,HJNTJ,=h],Ⱥޣ DG/Qp]S`t!U\ 5,bSv?tfٗKa,tx0Samv%^ܔ*"Uʮ0O`F>Q0|:WGwq#;qX_|Szf$!dqY{V-E*G;6,J=?=myIJn*1?A o  Jng[fB²g.m%~9:(BtZdRT:* 8V"za~1ܢ6XA>Ǡ$SFPLCA ؑ]|3{P{'3RS\Zl߷zx@a]/ RXz^0pS⬍0LS_^bu5t{dr0iS xXBc`I4H.Nd َN{\A0_ߨ7N[&H~eCsW I~E^8nm!ߺB^-ƭ DTY WA4,2*'F?wf~-˅eH;?XvtP; J%{>"\bў$ r8Hw> GRpmf -։J륫Op`厐,&EuVxW^;[zY|?kbwY,IENDB`PNG  IHDRL>}IDATx^՛YUko:CսzۘnC&1IP} "⋂A%*!-TlɤVzNUݺZaw8T8־ÏZ{3cu+<^u._!c-3CL`^ ߼ywċ" ( Țv4?aMPQZ(]/'va0|Tr. sO=LP5ʠi/s}`@c8 _ٻ; K#=DWn\iyԓ$@PUFyϦ$pfWMO8x jn<'wZraՠ6gΰxasȊ4G"2AQЀQNƌ'Gnޜ}?_ߛ~3@ۖ4w`рoɶ|g/^[7nn7H:H{B{;r&Pp;׸!=˧?36Gxv74lGuB[]֑lރ8Lb"" i@ ]Z>Y)Z)=foߎ 23Cbg@qΟlt>7$ b>``F-3=&q)J6>PC91gkzy|#'+yt&JHS t=#g `(0EHv,C10_ .r4OZ`%%tye>n!_o#z,] (:kc:PMJa:CVaG\UAT[Y[lypW[Ţ/#֮'tc}nŷzH@؅ٷ5D8q9{<>iAJv'e0iu_r nwJIiv?q}MVtyfX:_T;P)Ĕ1N ."R,OACH;٥3ߝ}n5ھWw$@:Aq?h;KmX[sN; LPAU1wā ֳV*%)>d8:t /B3 a١tp!j$Ec@UN;f:{ȄDf8y"p+(q`\&bf0#TlTWVCށrU51+o4\z)՛ilV&E՘U`hZ{UFCK"bKƹ,D[JfO-R9D ,wHmI,b1$(L6 hJ)i`I*8q n9Fwft0Xjdk(ƣx9i\A ,1#dR1ٛ}) +谦 !Ad)4FIVs@k2TnlílWJ S\ mIv_bQJ-à,`"`XL E̘ FQy2PV`q ` 0JU0E00kWF/4xmE AKc{"8bBaZxT2/E}nR)i5+j~&j "^hwl޸>`AW͚F<"b)ePbKAWky`V; bRj4FC0n]Z3#6*(fͫ{sn1š7@UMIMey5#TT-GywD`ʥd}`\]5CLjVjXj 0bxT1ڟkE`͂aհbϪYU!1Y8׺Y AK&gcej)VW*B*ܪ x4Š41j& Xt\Ak2\SjP@P"8 'k67+[7v73[ڂCoQ#9!UQ#4eVX+m ´j8(q$QXP  K<ʠGͶfv8 \z3[=NH,T% \P bS6VW^_pSHL2`P F xw"` E s '؂ ְV<}^P  \ ֜S`&),#HX wª}Ml+_s9緇AVߗ`>7&xL 1HѸD^  [x&A"0&{뛓\|`RƕAd쏕c SDS.P V=RA#-,Wn5oCIZݵ֣vJczA"`A1#!d[a`hXrW6+_!3I's; ssTLq.*0pAY i]6aMczf;&{WǗ_~ZR" 3CjF5[-`A(_G ;_R}l)b] 48A#gZ\|boz>._ETPRPr틃aH~0ɒ"͜ҥ P,L-"8Ksφyw8t}s`Kx ߀O}ogtΞSjUY=.qx'  i^8∭ "8kM֫_z_E&VXR_\X[tSSaz$` ~= Lq̳^IE%}/U5Gd)ia]~hk+^/}b3活 xbOqFG=@'nldޞ|N'9>[@IENDB`PNG  IHDRL>}IDATx^{eU}?ky3y>Az+Ǔ`8me", or:5ixe!0laZ.KR bib1*Pk"3)TAy %' ˾p޸4C%@ i"kwdEr B>ń-}-es?UhϹ?#sf{nhu^; '21ˇ,u3)k ~Hm##s?c{_N;~uIhV|{ dP;O/^/\]Q(Omku$,Xhϧw#>tO$\BIp LkWM2=QRclݻIŞRn{.ndmV0R.aӷ-i0sh)pW S)iB->NqEPSNㅿ5-pDNdQI2#8֗u5b1Tn9΀tlDt4,3!*P=@6^݅: qSB7_#_?<}|nh&RgEm =˓ $nzϛ ?SgiitB ?̌L1}Cݸ=%DMQ"UC YE:6F6Ցϯ-nNj~?4:޶Zt`zaa}ۥZ5`r%&eA}cTƦYinWiK@fI <UFs 10Sv~k~;?xדScLh67Oߝ *e*4>iP.g?8ءTN__u]:8ChI*duq#3 ly;=ӊd)ڏ[w5)!O 8n!t3"8PH9;bN= adu畗ӏ_3^y`q{gi«yGk)e! BX)UO`hސDs6X?xKzV*8J3Z0v`NIX-O`ڒEQF9>:m X4 vlS C! Ґ XPz.\, R 6{)e?p7JH4Ґ:ܳ#`fRX͟%:!D4Qð]n[ pbɆg+?PPHAevbШ@J{_7Da4g{؝Y B@s O1hA '`]q+[Qz 1tZ)f=LH勬Z3D77s_@y*ŞƎ6X`㔲Ȍ"<>0@5HSYt${ ^0MWL?G%)p\1h6f4vS: YaTc.4ĐvM Q^ߛ!՝:)#V'mA)v؛bXq¤ Qnh ͘d|NADm,vX5Ui0)t RN3 9W[1`:ozJ5drxü.EкVbQ ÀW*HKM?6|]|?$;Obk%, N>]ʈ#MWZqN䞻\B;2!{uzV7.k__ga{u])fK▵]| aEb\wul۶;3={p@s5袉a_KWo://b;+,2TR SXЎ̄ !4h!A{eDs+q}'nH B2yd$ZVypy^xy^vٮ!.ݵ"O=<j8)߳K^Q?0͐1 Qع!68EU8R}0MXՙ\uzb׶AUz╸,cimo'uBtzb)mp`, J:L2 C-30Op={Yf{ٰ$X>Í;}x/q {x%[)Xn,)n%-kc;OobDǒVl^ \* zg'I 3ҍ.9k:ƦPZdECwI}!a ;m/MS{'}DȹyO\p4-I+0$q hԨ)!0K`)[y])4?x-T}LSՖ%Q N4+7(]3ukh"tkd!Ih@yB: Z L@7k4g[)A^rsᜬr&ֺh(d0:qI.G´_1iĥUZN@GǎsS~SS W5]f:Z"kr iZW-ky vi|CEu].uH3`@EYqLk LR7?\S;^ z\:;]R)tV`dtRjFϖaՂZ/-u1M7Fu`dG=g qg2<@!fn R.M_鶻u#q,-,DWw Λ.^THBXkdwMۄ y+)X}\, RNٙ2|t>ny#'ӿ2|?^o7kF VfI2n%m^Tb֒ɦ{9z%􈎢ftrRuE[="p/O^/!PJ lP ~;J$axM"YjLMuSEq] eʯ!G >~;ΟeD#5Mg!th7%04tɔu0NW^VA JTN_Ff NpAɏ\‡Y|CX|l"ɧU@#@ -ڥL$lUwZ$'6U'^f38'R>p9.,Nr5TQ Li-X+Y4HdJE4*AP faig<$K D1=>NRAX Ni d`2v(! M˓0>IVZ#[Du^@X ȥjLO8@kSjVG=Q~. )S!TDreW)E>rvFZP 3aZ+Kd.Y ,*槧Vm4xsi.S|T3L 2vHXrPjXth&F4TƋvt(K=*oQ㭎u8AIRRBOc0(JXnhj*ٖR (4B N׀ :k_ϦK$MIcy&:Z ʳϋ&˂5?6Nyb ! KHi27=M."W,rG]/u]_NkqdZ p! PF]XsG-*u:'LX:03fR5(d 4]ɾʞҿ>5g' @9ŠPO)|j|gSszjܹ!7IhiY }6HR \~Tc{_GGcjuTYzDhFt^}2x6"[uןvY[Nf$ka\>gJ=v -L3/ I(h@6`%/5N]3d2޼=Qt"I1-Le˚-`:ًt)QfL|6\*r,:0uid)v⇶'ik~u_.ZFTd'Lf$) :J]'D$ې֮uʒ1dqɥҶm_wYwwãT* f|$HlkuKN} ]zߣ"$%*Cǐh%smra]k-Xp1 8Ҷpzz{ ta;6!P [V*ڛ ɪ,Ti]ߝlD)k\uXIENDB`PNG  IHDRL>}gIDATx^ ]yno_z]nԒb $`3c{`IǓJUVdȌg0lN q1X,vj[.gN-ku@򌿪{,)%o4_T%_%v>Ȅ?" `dd$>PL;dWWTUK}Z%cv|N}^?7  v 0_"(N C *V~(:J 3. ;::dET1,&B/9/3TTPEu8tfTq L2K}]- ?|9Re LJ>VP-UưRrXClfct(ΰ8ϡQEU+˜KV\6ڀP5dڶ5-;@{LN鐚i0ɷGcqLa}BC>FBsR[7=e*ҀD@~6c K&F.z] q'#ŞzDNC nr>Mh׌S(`G6}URB9jQ:uJ4LWZzyTag+#`fc 0gA@70C j8V Rѽ3rI\b:ǯ_D]("yMF ;ZD^E5RO p!VB-FNJiBaEBTv.0 Mĥ.jV#cu yH`YαBY-qv4=y./ƞ~f3 d~,} '0 @U}4lKL1D8 JkW=N.4 >Ih!kU1e]- v}ǦniOaRUPV* n_k}v,Z5-vCwb"LJ&T2dj.#f8W: ;U5\p݋{0Go]5r3!maQ.ykQJyIr)F by\8\ah@T<Q`@JB e6HbCJ|?ddk{vtC&k!G)G85ԬM/]ɓ㋀;[쑿[U/jkg"Pɏ7ݼNgʣom[0>̻+%Za(s2O {J eNNqVڋ lyҿ[P&}tod{iK;1MAJ)HJ*ǀ@8 [tݣwdJo~rذa˫&E ).7rdIWǥj]L$)wJ)L94l [w:k[Γ3ӎ<ŝ&ziVު=a[e=K#?*?!fܿIz`uuqˇzq$Gj|t\ԹG^8nhRZ͹U )cIL_km/(`7_gi*Lxd*Cid0cW@`gUa3"u2T/ؙY=tm7UǙ>Ai1ѡjB 4|3Y Hu[ʢFw>0Ax2Un0\r'_&#$(:{ќk8savZJįhx5JGiUi`Dk/ vw`:nyyb:P&{@hmO};gJaHDs<L:|8M{H{ ܺtEh9 I5]{02VB.KlH|兖VDۻ40 8ҰA9B J\M?N?&c?QH>ځM] C+E& $A1U&P˪[zL;yqb1-@gO6MMMM /l*9wF\ŵˮ>+p.ksNur-LnI$`۶I!AtuvB!E2Vkl֎.&_ls ^z ȷ޷)5,zyw^2\>ҾhU|y@8-p3Lqbٴ} @ of6 |IJ 0u%M:eǙRE/MӠZy|s|k׎}}ۿ{Ӧ} i#N?R!`!''7 S464Aŭ#)uJJ2jirAl*tf6cGwT rŕ {s0{_czz۵UsxG& $J;ȵ.\:00+DͰj5_7[qLf2S>޵\.xdz uK_M7RM`&DV.CͭLNp=A؁NR,M)DP,\= ӏ&-k{_U޴0?32c1HO&k1OU[1kt`P`>^u\.LiMlˠHp j?S߷nyhv֡͛h_GGČ+2vx,4.*]r9LƉS8Y̶HC  T;2|. \R+M ^Ƥ#}Zf@/nZ| )١M,MAwM߿ L%2J랾YV-ŌJ!aV-3thQbYVDx^@T` (;[E$lcU<YO!P}}讫/ ˺@kڥѐD2D*H i :ې-ᑃJ22N?;tly;kuᗠ&9.bEο{Bᩡtɳ=^L ׺0{IJ8klƾ&<,S"CGJpvK4PUߟXIqAM\ENYеUyK02)*D0h2:PT@g,01Q&hXXZ\ѭZ4WAH2QrA4l呵vX@ W#υ`V_g?s5sWG7"_Ò2dpڬ8>2}tԽi @ +{Y \9|݄V7Rir›.7b7\ϓ?}AZFh7W\Y[y̏0LaJnbueRمwK ifFkh;4Z.6s`hGIm +a[:Wy^HD< >~$.UЕw?Ź+me<5oA;Ç{^wTbGv;H;3 Nj} La ڇ:5}R,I*U_TP&5,|F03}㵍40>!Lk+dpfI췷 i aaCaܳ >jgʝM࿈輔/{#꘦ Oے.hI+)-V̶7xՋbBcהDU'YVD;ʛ7?×}HjdZ|lQˆaA"D]}IDATx^śwTTvjC/#  "* bMU#)*X{\51Dg=3pYf0>ɋt|#"_ N@zеv1\5o~T{Th׺Taڒx1}c1C zmF7a'xaLGG uaQ$C ɔX"x?8_ܴQ|!6HSBy*$IT~QƈIJ fsdW(P}pǙCߩX34&j9-+QZ1_=/=ܞ{kY[=Ԍa2(M pJRaN Aw&,!MNFEi 2jwhy 0Y$v+<E}drn5&TxWX`P1$Zg 9=SD 05I12hF)b|05-3}(qk7rv<;rA%,E d1 -VEzJ &a 0i@(HXIr ]!L]|_֞xd~y'魄e|T董pw D1> ֓](%&Gq1P0Wh4CzqQ%WhF0wbdSdk lh%`,MfEAH?Ba:š3f םCᏛ;I;# MXZ@/b}PQb-e";_7Y\3|&]:,u%L #QoFEAވFoaZ@t5H|&aEJ@[.T6L+֝ bceej ˩v C 3U$0PJbCxRa\]Q+HD$bt űv##)OaLSb5I¾,>0?o0Tdb֏Ib2dϠ< 8&ޅ6gi2Q+ rԤ(307D!eEWh; ; twsa:; sv!LZEpւh%$cT7 \ ε2 LN,xaanl e!lPFind rl{v`NX.m] W[1$pAR&ʞHnaM emJSJ5Ni3I|ȜկYꆺ:0π?_؊ naHaĴΤPZUL'68(r i]f^'QкTɞX V}J8a)lLPgnQ`i,8a Z \)UCS Kni;884I2no߬cڶUAp?i &֙:=z)$􆱰kQ6cA^m%P{{1ۛ,2jaX`)8 V}"_=]'q=Lypt)4U`G&іVNa-FI ;2=I;n ˇ$_ҟ- ~( 1M4Eq&IHU an\$ IV= ~%Ʊo08_)ڑrq GS5f8al*bivCߣ(]# CoIh L󛟒 tH؝*8i4B.( |E,(貄 ;vIe('"*iHas0 e̛WvTatWLإmS=KvT?VD$uDEz[XqĐ}t'frFõO*X=秶IzEK6>dN&υҰ}`%ݖcw,o@)`ēk) OV7Vq}7-xl%T/ +°~ɸ2ӣ_ZTp)˃#D#K4֐„Tp}.+ pc<Nʇosbdw%YvR}:~MM4t  vƫcp  QH_wĖGzZMPߜHi E,rS)JhF*QнnGv #0lIʊxF Hc0vX(,fnA*z!bIEg %6޹ ẃggk?ڀʂ^v6\2V"v1Y$mX\spUnFAH"EJ<lKSXLĄqH̦9T4䈚1I_TOV 6յV= rP^a?))$v!nc-I GB(Zf%۴BHo71mRx.?(!I~n}6oWlL-5((AXGL7pN+QA_8TaD2ӅIXȟNֈ4O'=xñ%pi4B' 7vW$ EFx#=>J˦:"I]@^] ӵF"?ݩx<y(t\t6\^ ?_ v,ȃ]5#Jxxh`]˵lٺTs7i ]v=;Q0%ұ3Kj1KiXqm‘y14jy ]ODң3lRzfS9bX-K˝ +Tjkcc\j4g"^R ;x~ #i|&ߎy#TH`-R' ȝ'7LvVC0(֔@3j5bIp"-hdK-!KrO x(b߃Qu0SLPIR憸7 Xzynat i.PBȸs-fKҼ?%O($DROJaX&ɳ`K׬)FyL0)"'֍L΋]Grli6TW%$· )-5"a9ޚg 3G”OeZ\dW5ppHP YQsHPw"IVc6ݻ;eۃڒw?/R[-0#7KcE k\ti}e' ӖnDwǵJ}E'ӊ· #TXR&lMHú\[,2'{1Ʈj6տQQIJfV~rrrڲN֑E|s|VqMZ< N}8~> wuuQ̺Ȑ)O1mǝ şCzaڲr)>RJ.0Q"CE\;d~`Dĩa)'4ӜuSRɢ#t*'@ZG L Iխ͸ɟ):F¹WӍKiGm # _qTM}815ۇ;GNBJ?Z4+闅}R_UGWL!Ä8Lƕ3A%K ~ y|T k@H3Vx,kX1!1 #t0[|vr擣JYa?vӅ==^#Y8UAQ|h#0JG>g*3ɇ㸙{ K,5/ĚSj=Ҡ7 32RkY1,-J9Fzla's珈_ev/N6čƄɐs*xh&\UŤc6{t;,,; ZFLM_k&ebSmEFzxFQIENDB`PNG  IHDRL>}IDATx^it\gyY%Kd[8’M ;I %H99J^ BeiBpNHJP1mŊeYHfϹcmF9Ogy;88qlk6CSՅj;Gl};4GllBTiA`[1{>?9J?}T;8UqN7($_(!R @^91_8sVs=7lKw TCMJ>m)_^ `(E&$::8@QD acõ,ض {Ͽkbv?<wdz'E @5:rؾuC{]9T& 4ƀcm0ld̢^r2^lK^<' ~VIkB(]_07bH$ؽsff= q|_UUW!21:ײ,*eGe~r|*:ZNKQh0M 8TM C-yf2"ŹT 3(g|r5(0*" zB{%c p|tX'84TS@tl#P$? ܃z4MZqPT(d jǩū3qv$+gGWn/F!e/SdQ,!I9*u8d JT-W1Re6 +hRړP>Up\?FD1 I+>TC4kGVOҙ "~.(VP ,"Zr#A0t1誄*#)` Z`pm +8WPu5E@S 1]&v7 8E* 4UL8qgǂ^X>h&4 A0ԝFP)T \%`K]:(-)1TM 5EPa{ݲFm407pa~:g[zǡi`v| (P B@j6Hl pqT }@a5Ε1=Wt6NפMkk->bޜ {o6ź v+G#=&Zck45_#2H@&~*͔gô_<* H8oDNhwFۘTUj<5ؚ'$tlTرZCtg=G>C c&"^UEX U`PŦ\Q<(g<񢝛iVBICCEMUkXoe][.m4ϼmWX_XQ|/UHEUஓUI@OJ$X3,G`Ẃ'hlc:Sqi7ɚUUJ7K|M#k!DjM$Ql,9 'CSd:o\Ó斚Zϧ!!I\G!  £c<%Ai4USё{ -q#P t&i)HM#p@\%d-鄎a=˦5CYcH]Г7ӥ"@\GlS55EKudSz>X`PT,l;Wt@D:bj|n{S,^sXoqzЛ' |s Ep,5r㘯eOi;Л(Psn66Tɵcj,iRPy~mՐ+lZ[Mد w=r> zt8yJE ]I݇|- ;q*41] j]}]h;0]Vb(dimpU8Q "喓0LX4+Sn( ?o G?ƕ1aɯ}nބ& K*:|SV=Td{ |ә &jKN8YSaࡒTBt;LQdZ*Ls Ձ隌D\C(@!)PoNv[cBC.*75቙ҩ883uOO8Q9oyA'߰[%ٞ?Y.ҶתQZD_*VwVos5Kj͢r->9Kezȫׯ!|{tTejsH҂M&[LŌIcHOLq]H[tikl]rXVX}d:_eaW@OMW)WMYїʑ #@w0 \m٪w-%h`-gX85n2na6Ƌ*Qyl=hJuv`VNfbpF5hbZWJl `Տ--*Zk#ۊ֐Sӥos\CU8E!\2'( !y< K󑉹naqnąE -'eugܲCs|LJWX]-,u\s0Id˦k! vzڱ}Hf,k`V[LCeurڮbsJw13RZÙ(-<7Zj)׬ kT킦HK}@Xpl~ b=[Q[<dmvF~/'S7 t촤 CIu'pp0îzkƍ/+'}~<03JKs߁g>{3'JM wڞĻ5w{/r]O}_ǯ^~  \KCFybj$~w9msκ3Oi7> R93W.R_M]T"׽0gTu֜{J)lwӟw-Q\@Ow}C4=D^C=01 [em40F~$ c 2耞^v6clMHt3^"M.mӪu;=};o~K/~MW^*^w:x]ױpor1OQ$f2݃x6ąoA%V6[س{k~wfH3;䁻xxk/;.\C0qn;x2HU[ \s;;<䛰̺Gfgu6>k?ڀvuobHF]{icT%  5kU4=8{^"vCSËxfHCM) OII'B~\ĝr4sw~]a_r|+p-o͢Q5~iwwhG>lG T1CG<#N X:;;5H`·?/x٫_~JlœS84Q,Fw؈TlaȖ}7^ C][^p;vl03[ X}VYX4kg,Vqtb<>3lFߖё5e!hLi dR (l9躑/{ g@e?}[@?]}}+^m[48zrIL+TZ=!Hj40D ݌3#[@)Tc`/hZ 0 }##Ws4 ^ ٌA(udƎ>XLr|;^ 1)9:m.)< ;15@^VIFBmH:49b}ĦIENDB`PNG  IHDRL>}DIDATx^͜ilys=)S%ڴeIE}&%@hP$ {| H~hӺH5"Ա؊ c){;b^`"r7pGo>3ﻲ v, hbbjmT[۶yl%ao `ȑ#}tRKKKN.P 262t^6??o&a24_W`Vha#h:thu{,ۏh`f)`PGa 7 )[௝,P$nj3xIִY$`@$3#I~^gsjzְZƵ h=f""Wo=Op;dN J@@0Z "Y/ʾ'&9(Դ8aiGiP1?J$/ cwR$QeBI @K`fנtRԫ\njrrLCMdїpka1kkkhW[[[o.;JR׼0-0 pUhUO06>o $Hcvoҭ1۷obLT?Pk.wv/5Ѯb]5{ N#3r D |$ZyKBA3JArѰg5̖8+%z<# ҠmuLY>w'ͺq~wa(,3 ggf}OnK|B(qP!(+z@ ~K&wL,;^iuKr@۸F!07wwXqqek0; .5RMXAPbr5O8VC$R SCkX/֢T>6o{xEjP^| 0s4AAzmȊP|/$.ۣah8*Vgί v2/<@ ZuXnui]wB`SO 8VKR }aF<%/|7L!NGOdGz tLbg ?|Ol棑SϝIDOWᴭm@|12v %bHM"g{b~ g^| d qB{Q`)#'ܰdw5 Zy1{V:am+Iׂfh`&,d0)nޏ~y\xلJoϚ>z`;YN7 DTDs,nNtہ%ßᙳp/yeaZ^J@Xgh7zZEwEZ% yߣr%TjB!uQKnzYݹGˎ3^, R{huY`' j680 ,uiʃO]5766^'0pN tUdZIt+ΎJ`7L``Z 0Q`*/,,0sgՁ'K*U=I|E4 FJ]%|>/g 2[7uA jrx"+;C(5rq 4W gl,aM8#^իWőK>=m,(:ZieyZ&CҳFۺ }U:$,Y"`6 z-zJ-0Sʼ7pt `AjO++h+'%8.^A/nٔ}|ffw~ GCpf?t@M.\ ¡tBWWKsπ\ j%ӧ!=a ^**s)zӲ)iw-J Uˈ;h{D)xlqn @K8={VV> Ua2Tm񀋠67=zqR *:%C\OΩ迃yE ?.+͛7u3̄F[4_ҡV)ؑs*KAAb` #8Rܟ%OHfv\8vN:%kܟxV׬0|]%} ,'8UF i&YilNW}$8Vݰ,b 8hq)ht҃tqr@~uIH}#TE;i &a\Oˉatlu2UFq~J iUs/B!SQJ"ӄؔ**UoqԬd2r2LYNBvÚ5V.*FcZt'{FEv` PX?~s|q8~eFM2st_a6c"3-Ra\ou_feP]: K.mP*n!l6qi3(5 Kt.CIɆ@.f+_qYjj8,-5jm:Q2E_n$=y$_hK#)ZZf<_.'Au:A5(?̎ QZ4wt)i3iiW"Q ӠUnJV7i}IDATx^͜ xTUOTUR !A# "Qձi[zX\qn?ϡmdpťe:Y-YX*.TyݗW|y=~=PF2Bk?!59>?8]nH4ŕKHAί16>ǗCɖ)Nz},tv@0*9D# t_LrY5ˇC>ܵ %ס7^X S e.cͯE{ )E׷,No3h5S`p>Oێt#0H$# -Xav8p # ]q[_{eر,1SM%3ǁ`XF 愛o 6c󩆭_}0xRXF Mv!JU I}յNďqwef$RSx0NZJ%AT 0'.u@{Wv9۶ȡwmI΂tHOKxsc5$0H~< U'ZgU޾I''z)@C5F %Vv/,{(23Rl2biZ&@d`P)N8 jX+*shAxqhtsQ&E4ݔ_vIQqA~$VG-C(Imppuؠx3}ƦȔ?>tH!"u kTJ0Ǜ࢒(14O.E5/<ƈETUn%cNi%ܬTi5 ¢k`IQp2ٷWX2)%*4I(+0lHxo~|cVf *4YaItZI/+)(U MuTJ $ys=p2 C@ @3[i4꡸ .-oϸyL6`Rui3sJR  !{9JraSi ].`v ǧ-&am Y /'k䩳Qb^nBҳ WZ/*-*ƟGuNn]9[`(N, TIk4 yA,VS=1l˩0^geeMMN@ٓ@HdL&)d̹Q&_J z?g{iR,OyЫT@u6.g{AP!VUӦBUU,Xz:`Ν }6;ĀW.k$Ou-y [\Mz:Ls //,^JJJ>KGpkߞ@ 1/*ucp` Xz逎VP]:XH4T,ҭv;yE?A|C@5Kyg,2 s]Vhljr2e~XHno*++1Da-9s`ĉDI q%F!Ċ#k !z 8{BPʕ+b&ckG YmQUXHpNL.KXC*fΜ ]wx ZQa)lƏP"T+ y3 ,aPYb%tCS]=GĚMaq X\JQa˷;fw-^HIIr1P6K\.j速lX,Brɟ^F^2*jvPanRa!A\ KE p\Zc+RHbD9v8,BfQj;ow$T aFpC.,SX%|?sm!qb# :Mow{x#Bl 2h'NOo-O" !?h \ahK#lcW_u8=VMAeE,ΰyK|͕i-:P}~GjIW,`ػmqSXCZJ[RElAaq^Gy ,}]78u?$Z #`3MGl'm1Fc>?1oT"2BLCt&-7A\=ij֞ضemgO6a9 KJ$xm=) ]QT XNPkR Ӧ'D64jJkZg1vtF{}s_!9D<"u%%(3eo5ct^T ě(B^HNpU!g\2 pXdzz+K ꀆv9PWc'o6IC+ Eh&}`D s᫷~n})> k Yn"h]]]th4 ')l잏ыaug[>(⠆/Ryȕ~91;NL-VR+n֎He`iB\ՉC'Zv~qXh 8%H*Ds^{dzXF?.%7>X7cܨ^ζr=}KTU"Wֿ!,K) x'`^4%B;6L.яM6*XفGns]}6:#Ʀ6OñܾMyfFhA?Z]gwqq8 gԼG@!p= ]}mCU  @^8rBA'aX_`q(wlFg0uP[?* anVRI _ B~/޷aò(gBlۯ3ԿIv^~ރcgPjӯF$AqAKLa;:]Ɛ![I@Tq⸚&Ux zkrS&@]n^!(#:}uoYM L|"~Q]k|NrOih6BfZ2222K1>Ja9>aHv;? L@ԥ6 1~,(+#5ӁvFNf*LyLuK'Oɻd]u0yYƺ x8;t %~>"Wydh_QR3gH? #kҋn+).:uR)1 LKkJ[}*a Dh@) l_ #lTDpXiI\acL*Os$YMOL ЅNQ&&N@E-O`QF Y47Gh~_~CŮ/y&:]ѱx{IENDB`PNG  IHDRL>}IDATx Tՙ^K b"0Ѹ1&@Y d4'dbF&.&G%b0(,t7е{~SuU{=%t5=ܪ{ԁ)@00+1s$@pH p|0,r=1e+m2ЁgJ@>mI0a |Vmr>>KWTߛ7jj|# ilVY?gF/Y 1}Cg>hZF jŕK48:$Bә?3AAkZſ~Fߓ%xՌaZ?T{0 GL 7/"6V,4{%3Yigߎ+n~nʴMgJroM:[ߟ_fޗ0O[Pk::yYξÌ&ܙ'Myy!|$mp'm"`v-*@~녟?r󐮋|ݛ^_+74x404/S*=nh۾NaHx;X܊ `5HA>}2 SxqOmVn p˨&d#PuU"]ל={ Sx$ ax'2&Tj Tiv /2WĞ}nb 8Os,:]nF`q=67\&"aXa7Ms`\\ͿrK A&dtn}^<N*+hR%Sf, TeGnnh@h\8ǃ` &D奖WpfL(+V\mDNQ6&Fx~|Wz}ȯ{I?Tk>DlD%3l YSA)͂Zu&`%3_{3̢c;5hl*0r9w5w\SV8 фhD SuP\cYNp<gs؍`F$ϼK>)B4(h1:ׂ~;r'VXMG&0/KR1-b/'`1!9'N}c?<#ޔ$h `)1m$ swaE R(lro@q/IcPpA GkNNVӬzv= ү<庀5QúxOˉV4 l &5LYȽ ީ$rp@M0 Vq`h;};gth̚Z_Jg Lͽ%aܱJ;=Bqۛ{*jo3iX4 %{g,`B]WYjs l' 4;c5㑏:ѵE絴N"l*:rkn+>rpf-EKXcN{2>߿"P שh;l 7=y)-(~H(C:X0{O/7*gWE>"^xڄQw|c͉Qv" CE`(l|]b [eoer-ꪫPQ|fL 8RX`2$;;ۺkyn5 Hyaүft_ Cŕb4s KG.$:. oeHm@f P }%oP}o6*Xei\}̻ȣmz5cVTYJ*1v}tض K;ge b H7uw+X}%pW삻g|EPq'(Z WsZ\˷p8*A=VN\p͹,ucL_':_踳퐝NfqDޮMJg;a .`h?heYM{S{.tXXgCwOݪLlp?¤%̜wMиSb5!R۽[ Zx1jJάeA~!Km M~=#%1lȞ^p" 9( Ú/x@eo‰3q{J98'0V|=}8¥{1k,̛77|3x NȹA fV=űq '`ѢEXv-Ν[{R]PǎkcүoFR֬_slLL *%{U61KgKͭZgjry-kw`RK6~h#`x쎖{gN0fDF ZvD?-ε=0(Ht;~Ů oF=f8Sş[[ÂQ $K>vݯ.GRx ¾h nj!@ mQrQU:@ 0DʓGAEžrugj5Fu}g`3FZ3q .d"B˴8yFTgauHœzBH|sMma9`n{|Cap;涭ҲR|:sb '%PSH{|Km L\-Qi!8tL@1'r{ɢTٱ{;wo) sǖs#sYE<:DU-1)[=>R҇ԀDk3&tt=R}qmj##>YU2I.H0t= aJu,_bo_9u!H\ , Ql$ׁc8 q@ڃwc۞=(k"l(X,b޽ىaJ2|4;8jEREtr 7 kZөϢ:?]qʤǩ Ax3) 73]hD0 Y'6Xc4&nz{׾[#SNQvX cƍ(y5#,yP0˷n7"IR6RdwΊ(:#˜>5+#BXe2pWxKi3 3/$:?2X>u۔H`i$1qlǜUTjm9VoNx]*`ZJj5sBRTuLؐp-]5Qqa?E/lyEUr|ޫBvw9Kp T[@eymƘ1B#.ZJr@Jɍ"F: Y| X컞ڵWzo Uf#.A;ʁsR^3fT*P@{[~#±Y18.NS'U|W"iu2AFn1Zc}WN3X+\@W-!0̚d?_ՙ,`hD }OJKh ark+f|(IW]E\Hs.9:酺;F|9Hh({ՏO6O8lC% ѹ&;Q"oXRىWnI"8B^(w^s p0p*VFD3+h'7˳F;И(`- /'лH/64#gF(PG Be|: Vxa 70ZH&/hN× (p6 pCTH>rKm*G"$(>ACGM4)U[)^Vo;o8utİ3 ZLA ӿ-8Q2;|$+OJU˰S_߾+O>ff`[KϘ.^+&/9mj@5n ن-庁)uHO~`}DՉFK_Y@2؎ndFuiD/áfЇ$1pIENDB`PNG  IHDRL>}yIDATx^՛ 0^iO'щKDH!C$-D$-D\s#Y"Z\m6[V+Z(ehcX2QJVd2ƲVR>筧sޭS/q;pZ&ff&::oXB݊Gez09wQ[#}9ep@ R.3:Lik+JQ,uu4s]J Bfmfg̀h./}`~O2W_ P~cCPbl1`5Bn?dx%x<eKKe|bCET@N?{x?1㐚^f]tW/adxӋ~tاAwMFnѡfx\"u1yW ~Ⱥ4(NJ^YfJ3M17; MU%`kq@W+e 61X$n/[DN\IK?O}Z)̈́ŒX 7UA{skL_pىW~Q2)0CdelD]Kp#z JPgK)u>ymY: S&KjV*.a.%J/ .  A5ᔛ}v73OScZ1 _uyt{%90]#ey02-'X:HꬆgV135 |mwu` 諿ĘR}sndMXRcPV_\Z7c*PSrt7 ̍V:&#c.kkqgR[ L(ӗ1ΌeU|ÛB@ʇJi\)fI% tl,qE2i:y8r؛l7JKaBq4) :?}~btXT3͵X47 #0ב0c1Q%Zך86ԇpӡ4+3MLP PȾsq()L OV<@5Fӧld{M~lMk b.LW|IX~]n0dSUN8֨LZ)*e%&F#AQg"I`$`eo8Cn#Ksw U^ mqja!y`@X K0[g sS-ja|d\$^+g/Raά,o=QyCa7?==\46[ `y߽pð8,c<(+;+hA5âV vDz!\V=dAF{&k70qGm:d/~ YauVa_fVO2wCwD7b70SZU`[{֒XԢh=/a~~&''ٳg0=FSn:ЪpBebL<~6BA9Ρ|xuA ˒_*sM>0_Ǩimun9088444x9Tb\c(3=,R#`xJE\tuv\8.fZcf)`Au"ZJqtC_ +jf0< i8,H[.^|T@O/gO{3;EJSXւ@P i`B=LX*`S^Vrhzhin֖Fhkin:Ldr vp})[:}=I,cqrr0_@L UgjapX` {ffă$  7-rcA Ip?G6w@[[3 axNl(Y'6ؾ1O5?`2 a ]] -υJU j{RՆ֖F{Ej_ -6{PQi ӈcz}w}ϯ fx KL#CPWU!PV }a=3`J&K4`:\Y31 [K!3vP ߖ\qeU֣XȎ-+CggtXdªM\'](r# 31M32A v s0;z1OM)E0R(NKP@ [ 0گ0x {7dX)͂"_0}滵NJ~_@q^2T2@t0x]mYQЎPG𺹹l o10Z8A1nNA}J{5Xlx=:ӶؘCk|]ܥ (; cO XI`녉 11*pȺԛܶ'I!Ni݀ )Vxݏ6ԕgD4U$vhmF`QPUYIr&mEp쬽!%ҺPzTA xVR3ζVXk.hB~f & `"CG3Z#Bcj+LwOՑKj- bq"0aIiLm8/'7x `I:0:P%dUWp* ڤgS47* ,7]rI#m;xi=XG^r`OZ2L&V,  -U*S} Bt /!o 0(]j7CUq _@b,bXUMUT(g\L`H _d ԔVlHyy@\ S坠9 ~' ]<^wD/ ant{\GB]-,Poܚl:qi~u 7M]_bt= ,!,sϳ3@t &IΛe\1>aڠvYy^3rԎl75o 5չ*Q&9 WrɕōBzDrz7 eb̄bP"Hj jA 2?BYUL\};^/1!m2F=)W֘30:Cz=֚{sV*\іp_Q 3xB}Ƭ9<\`P^pkM0e`(˟|U"L l \)r1%@;o.@2:!pc(]?GVąMH 2 iwɸ+d;BX>o:=3|P[Co54RCsG.3Yª b:͙bm!WB%wY@D1q7.Jm0猲GJuhC|aH!{aGHrV b^!Il,0an-k,e:drEn*BgM2Pqkh] q7G$N?^xm*m׃}BdL_ .₨w,;4 _ !EqBl/Eq ڬ[8ҢN:T ) m`M8'q!U ҄Zr]і˿V.WkgVpk [<9Pq]7;p7Np_ u-6\:Qvn"(ki]Ww" iPk|½pLഄ-^[<+TTҭp:KO6  (̸o͜ߺpS x=$*rԤsv ۙ6گtE/hjuC+܋{a΁]2YAJQ?SB909Fiy-wXpGr㎱xmy'8r`,<]\r+l|NݟfIENDB`PNG  IHDRL>}MIDATx| 0 "Л ؎tjD'IM~ʸGqp4TXPA:zZ jΔĬP%X5 gcrO:Y9)X<=,3 OدbPiAQD#wR;Mk<S}\+bqr10nZmz~g"=+ʄ6>Wj?S(W-uv,YLل 8Opj e!?z:ڋS~g* RʏKsSV*.K2(e` H /R1`1w\(zҨś{QxyrկBhng0sR7҇"L)l qbcY\~0\Mr? KNOtꧪۙJnr?\݆W_,<8 5hʜ}Iؓ셝i^/u>'!}Bz5-7M.`)WPMBY,YR EuI^YxW+xv|-GNώ7QkhL@qj&`w#oE$/qL3#}J ~wy&$=c{`)5yρɋxzs2pm~j!Qhycw,cqalC݋HK=6] )S%$;28|Otse;<\!zs0o`XE:ETK<[#KELÞ8gwEx|c\)#'kEz.RQ6פ:{lTXR|YaSkߞ } xyF˅\D0\*#\e%B'b#경д=-Kpj%xyV⛖"]({OD6Ch4_hwOΗDỦ:P||sW02<3)sFcG=nĩ@\Ճ+p~5aX5n:;"tZԲ{1o@)`ͺ-QOOe{p2GV\7Bh0k5\+qn5n^-bP?xo^]wjN\>yn5rV`jjRЧlx2LR]c'D^*u^lHp8Y~V1E*7RA(\ٿV18zch߷7UOizvJȤSJͿd\@?0c)Hn~/|j7NেzM[ԈP:P1L%AâbP~|qmJ㻣2+g#NM2RM÷ v r;#/i}/YQD%"(5$kr*gGu;փӘ/ zHJО܁'SPjdabl/qHmNdXr?:jGL. ŽS.l!i>`ݬQX5c(npùQjnYK65(k[[ `qW z*|{u+^M3Ĝa=a];}|̮YPEZp`6uW(T&y`BKTqƙdjR[9k\ƅu&9$׮WO~*<w5OfcuMg qMe`Fau; m 85c] q #ƙ(AX4xEyw:Cԧ}h:} EQfለ2ź}5OGq;+? FMm1ih$+jɽMԬγ'Wym. úUdnjϑI=3x<ɡ_!"<\ʠZu&q`h‡!“ dh_?=ԓmu (Ç~(<njsY{ ن)aj'B`['rpL勓xCf|9D*ֺBe,; .$5Hl6wN2-aH"oor(ΩdVT\U۠ƫcGKa7ޗA*'|VS'6ǫ5([j UUߘTJCSm CRƅ!+hQfڙ!nxF!xr 3=* igC]FO,ۆKEqd ѨZfXU_GOApK_Kj2,{M @2 L۷'!w*_bg UG2w&Ksu>v~8TWVF',w1_07c>8OA IRN$Q3$C`]j0fgڛU HKQƵ*kIUPK>V"0vFatϘ.z`{'P*&#Ai[G7r(0r8'׷bWę}Pȥ(_;N2UH0&Y( ;(@æ845+Xb9Nm uFKƺD \^?=7)A׀mJ [zN mYG$ݰocQ3;4y7I5w'L,썝"h$a y Bvl6ݪ+4(45e}fQ! *;_FT38=j耳hǺhe:@Giwq*,EJ5jmԡuGuW: e*2qputO6bM1iz`HWe`nWX vVkQg pOm=T`^!qܦdFm=4pSQ`8ވC^sFJWȣ]_CqK92#ТtDA>(#qj `4\\N! ky$./3VǾk=(yg4]ɠY g=VgYS?n`(HHc\=u$ĩ!ʶ§FM/62+вo)Vsb[H۠!eub*RufZYusnr:^@цfs&귆(S2Ib+8-(AHrQ{eZ|'!־ ZH2)~cj/hcKR< ߶L Xa W:"*!k ~$i"GWK*ëIr6OY&B)X|,-Ƶb$+=#c-mg zb89GmvѕR<2}ee r7|flU7x樨n庱IL |pDDze#vndR `զon~i$פyEQH=/+{"ˊ5.Y"E蘷y&X8J4[aDWPC!xzRU 2E)zT{xQڙTxDPy>Qf>11Lt6"-G{ҟF&\ź :qR4" f*NoZ3F'.E)Jjt)ERvXſ.1ڢ "2%`#)_iR/aGIN-'7_I3yH,qLB‰b_\\̛;'6sAn.C-D w1jdh$R]T4IHv~aYԬrX؟B8Y8^ {byMs|PPh;QD @uӔڗ*9l>*I2f`ZQ QRj]ſAmHnN_U.@n50k4]y7S Ԕ|5։M`0(ǝ`uZ(7tl"4H202`Ki*^ $ yދ7?E[c^{!{ċh4Li[OCHQEaZpRR'e1+"0s0gJ4fe s:7Ў-JW ; T$o/G`7:56Ν,OV8Y(]TT&:'VUZ-Yj +Z4%`]tV;`G;1fe `24˓ioT"E\8grˎ3ѐ@Yj$lx)ڢ)'̎pNc*_M2^)٢an:go*kܩ,EF .GXXn}$ߣV`GC`-J&drMIH_9Ԟ4}k_WS8[ѓ@7h B?;n*wcrÒU;f$Uvq3%`[>J:Q0,ȅa#MD4~ՉS1)$'gʲ8 :v(7'P}-ʁ :X?҃K=k ^K!hS"ˮ;f9BN;0mz;(80{%gc&ci(jɖسsXҼiw.DJBєGNhxWGj3f3kWJM<֌@HԿ rDi/y^թQLO1q;l\:@Gm#t%+F*.݅":h .Usp27p&g!JC'b TQ:Y``; t<ԆOE/WRYhuϝF8ʶkX`b#oͬȖZʄv`6K5:R}$jD/ƆIMCM MAqh2eNS}%( *"iHg,7'Wzxxdr6^H7P [$L9΄ ,+XL~,?0LN2tLRHYjw~*5"MFO7JDV$Rgj YA\=H]:#IwGsZ*TћW1*˵ h,EJCb}%'cW*=`[EtRCP%iɁi5$/Dԧ18JC4D K'a팡:EL5h.fp% xLu|cޭf-ʨ&;H51`24GJ=:G"XMr5 0tH!0LNќ0u[Ҵ0I_)s/iUr&Y>8E5t~ O INعcɌ"&3l%aKnECji]'}]kɛoeP73"uۏijCra;ݨ޽Q AcLreJb̑=u9B/~LGu8nDMs~(G>p~3L&`z`i w;3_Mti0v$5[:)/UkȊPJv|\\UǓ@չH~@W=Wi3b9Mu;0T8DXyc.7\PfZ bOr)}vIDATx\wp]ՙ^+ْ\ `c0&l`%3K @ 0T/eX)c+a ["[}}wa{:464>;phkghZv8_`zu%hêśj*.+_Yƞ[Xl12nŒDf2hi0FX;!?uO@_}k_멶כzb+`E2⫝ 5˷T޿֚]PdLMK'd21HfM QXCn7C|MHB y\46i?OevԑLۮC>GF9EeT^pseI~~gp?BhD8w0CJ6 %_}16ʱc=槞z*!bcՍq-6::l׻y˿a|̙v)6΢ hڞR"qF~G4Wz衇_~KJ/[[-PIY e7K)]|u†D*"H[{9xP8tVy=FoN%rjF&嗔הڃHx&i䒬(ͅ^z%Z`2OsOV Ś<i'luP^AiECEجWQq]m[i]wE/FKᄤAfaD"xLYY܋`QICZz [J\Tq۶m9#8!'9-Av{\i245WyR*z{*HU vjNgh6Fs3%,oZ9.K63VԦe.FyI$KTu(ixJ&&&v ,壘17#n1=bb8ȡM6.9ϵ&Y$Ʉ-d9lo %p566dG*7۹s'rCR V%3gНw ;R)䳶;Bz ^|XFr {w94Hex^\6T⪢֎2#}MH]0aF1X8!PQsG!QQ` ̰&/t? )6Uܜ<ҚJ,$CÖWʌ0#+8`(@zaZ9}4$ (mGEN@lmgtUWRiiYET*H<)Z)X hJK 8ʊ@0z8kH:,GN8M~t饗… I_gՑCEM2h sϣ: RC.cBQ CZ9 ~OT0بJqJNp@ڶ5ׅqGNt0ô3{EjmY#Gx`ōdbPj7  t#(ktZ py=J0 -!0 ivV] u@Q@iU.4h?dt￯ .r& k?F?'N@9[ d7q'TqՃhC.;[Ȍy2c4v s}`A沯΂WMuSJJ$+V!''-K)͵Ӄ6zvzM*%R& MMMtI+=.[޸K ^vb?ڈC=~7Ӂ6G%htϗ߾~睞P* JKK2Vv 2ABI1ٵk=z: hupwqY>S :(=d 7Lo6qػ!E׆(=qy\]`N4[T[xQc0He2HoбcpB{q҇"hgq%TtB֨d8HcxΆ%v?P *FGFn^cO\`0Hlc `zo#}Owre\[Bm̰TZa?`T0ʣcEd#_!Лouo=;WK?Kw|l 8]YTYGMR.֭[QCS &J h_R,H \praɴ)?^QGQEmК(`z)C~44>{̳ot`AZ oGlP58p*ڂ!& av!ZRU{# L;jo1I mB^~5}||0Yg K"CׯĀŨKx7^ |kx1W-u>}`NjfzV^[{Wv]RTYO " '?Q+9s!۷oAmϬ#VVLVށݴopuBgTGa甮_Ć1[u%g_uk]ʆ܂R2lG*Vwss3dn㏵L3H\Ьs0 x=4쥮>izPK_ 42#U.K2=X6WM?ۗZSY -#xN'R/I@`a *OdYdži|{y=Dfr*:H?`AC4 xap۶leZtky ̺v=Q[WXPgB2R>/MOѸNw7^pTI!-X0MIiKa2SrSW/_tuoIM d2- Pic*9W*ٔA>|^Ms-Ϝw"јKI XZ^a6QQrn4y(vڕVfQjF832F2X"Aޮn~MsɻwG[E"Kk΃`%yn:l.?^xy}ՒYdg>bsh :y9: \nPo_`OWpGsGaf>1(x_OopԱ>~vO/б)#`iӁ&ۍ=`r~ c??%cSY=P8!a~A79@4>PSk@FkIENDB`PNG  IHDRL>}IDATxy$u￱/YUYKwUMӠH *pXt zDDQtv|(Ιyp` 4m7M/U]KRgd'Nvgռ9";3>qߍ_rabO%R !Emyl*e *@E\Nߋ O|U8 m{Cc>lˇ+9c{l,&YՊMd>48C$b'.s?Uo}4$ -KANuV6f=7e@ aEBuVXsPI!`h 3P$ "6>5 1 jQFM5[.L3tTwBƥA)ǟ)b.+g10 ZY{xb}cW:Niu€CJ FM$;F. 61/; 6M5q8o23Q <$f |B܍,G> yyIe&0@c#}6 v ֳn!X KCڶaye[ϸO@> *2&A$ ($Ldٹ^-M ~t@Dp%t jhFNrznsǃ/D:BP!`$yVd|@/? dBO@U%(uiKw?8``I~x֯)y؟C65NB#P]!I; Rfnjy)y"/g!pHUD}~1T*-EwbvIxip_wIHG\C`\q~d^r-YIˣ92&u\z3;P\0F0 ʇ^a7k(Mpꉩy]l(L=%#Xo]doqKF(,6x6B߂5;̎GTAkW. j:"J&4]ł B ^1:cf; ؍yم{^xm?/}FF ݷA ^wַ,i(~+=:"$}<J B j(@eruQc;86UwfpO3xӢkd5 [N2_}S05^ű?gMpRF{N/$οz8e7^-˲ L7"x'G''*hZ% -_F^0\Vv6=qzsC4C&WsLFDZIpZ\o^fO*EsSO~ֻ@ @+Nhi}$a?:=9fV0<]AFzE-0""Д/JTJ`<^|7ȇT4"m`Bp ޽59 5r." :dUT,3xdEx9ɉ2atv5J2,;gڧ7}ḬPeu}ҳe(y, I9Dx.Ic!ନTzl_=@ uJ`ukŅcy= nݰ^`2dǃDS+"$PhWЦ6i!)|6F|VisLY>j.-"h_?Yfd$hI3@ɫy08P[4QA93VH{""J(PzţO TZRm{Y!O^U#"Є $Os&gwOG'XAyڲ,=LD-_|zXVpLz$>m\;%慙e 8GuQ|F(m^?ԏ`I@Yp a_q;<Tlz|ƪah+isɑcr8e;HJ& <uKVKwj۰qOv+ˢ,Ʒm^6-8MS ,y9NRQ<ۅ8 P8* $Cћ}G!aeo&AeAlvqz^)Df-޻5_<mHF\J F3c __ "LvZ-ZٕȯC SGx~ DRN=#DM9b0)WEsY.I]oPm>kDx۱_ow٩",nMk:rE+̣, ,zO1pRVL2uB99踉H07>b& o=\spHVe ,a e卄ws['}?|S`!{^r>Acв 9MBEp\Y X,^Mh}Y6 ^݅pam85 $]@!$znEkWOR+_ ?9,Xc`&?:[-\A.UW |!XSMěK*AAGw,TBqD.w BVWa_#+{pK.cLn.n=G'אjsŖedjF30cTSG(ƃyvh0u ",dZ>5@9~@Ai_wrO/%r+=3Y8 *P6( 0^s[>g~t\k!y{~x놥7g^>z݂ta~HH \j/gFfB{ U',k{]a@T" `$X#VeޫH\  1pPb]g<;AX.JuV[Ӌ% _lGe0_*{$ .&yglTF*b&`쀼 `#A* byAG hV@7PE@7>6ׄe8|ձ `BN_W(v G[ >Nh+ؽg{^iuDw; h 1$ %sUhljT3pJE^ceDw t [w|hHCF֬_s'9jTx8&'KZ ٺE05@ˢXq{',rxZɄI!Y&ED>"*M7$t-WܷyͭJ:i2ȢCTjh(͔5kl>!rCMpb ə`#ٰ(s9OFMp>0{RJ?,]w|qNj~YDjݡl!}YȊN-g砊45#A0 iǓК7 ffZ8yW_Z\T,*ڠ"+As&w\O`YgFP`TN|-Wo۸O2LSCxHu|ς8FJU+r$x^ > *L7AȮ_څ.3(<*%ǎwZNNkAEh% &O S5Nkf'K  ob"fm=0OR%\i,Y~5w:ӣtM³[.|ߧ./̛e4$"~+Ҫ g :֯nf).jy5 -Bu&OdMya+M̏~o/b/GvU[?mHϦ\V·T2=&vc5mDҳ*efXQmxZ I"-IPt5}039&"?>S>yOK3I=aZ@۰˪kQG-.^S2Eab'rn/!ЖQZ0N)Sbhm[7zڡ#溁VZ̳ R"^$sR1 1Ӌk*{}csN:+/9R m{޼rÊeu"0ai6 4=C 4YOexށxļe`*mnX_9 C9 hՕSe_,P ֈl`9"1`4 +Qlu4҂]Ⱥ&WHrIENDB`PNG  IHDRL>}#IDATx^ ]y眻wu[4Z[lBBBl6 Y0OPN P3c#pSc `){bfQ ^bhi{.[ҭFݜWZ (G =rMt [9hεt_՞bpXXQNdI[|$DfSjχ7?E K7`wǗ-]Ӏ.rR%g$4)ڜA2Xl29{MZe{ xM*&N*dmfl~4π$zq[~G6%qq() kOz`ɖUd x=kr@ XB=q@pJ-ĵ)ܶnЎf󩝛_B,;5J6=2=)iG(7ݎM Ă=|)![.hr'2iqXjYtp4Ne_?pp[IX6YKfs֯l[r4 ^ ~י*HD UfpU@>Jquh^ ׻@$b%P.SXL@R{{Ilv i}MJV_2ܖ$$x56ksiyVA.(GSlQPk"3N7x(ۨ{ "f Kqq\uQ;"`k Y g)z^cSI%ؗՉG<,<63p* T0vsR$S\O7n斶c %Dlf4G{8[n9[}ꘞ.Z#㙝RXnAg06Ҽ]F}hh28F?y7TJǚ΋PN&l?hC56XӤ-n[—ZQZ@,->σPٱhjt@[lm JگLf5 Gc*^NH86JŒ)>c'vaIN/ <% d!.N9M"rhS(`}g4|ɄSZ@&й<((A+(tK3i}b SYuzѸ9ܮ̰ mivRycG; 0.s)0~^ P4%fQ̋, ~w#x]m J<>ƦC ţYl.J S"(zN4C{5(WRxK -[‰Dʀ,!4 0NHfLtvlMs9˜6Z7XhS=Uwn$&bkͦ8\pO/|ei8*2?"C ,/5W vB6ATfh{[ ./?{Ԍr]" ݑ%ھͪ,)/Ta)aGFkG$z[aooタO|l30h,op} E. G4[2! h5leoT^җ EHlY$qFF18{ !AGQglmeyIUrSb `Ø`F>ze(CV_x.Sw굸b)Xo=F:0F7gB l* .#MA$&& _Ą@! `.i8QXɣ'^9;?pKEjb<>V VЎ P@a OgMio%A\אPup]hځ#=c]hF1Z+`r^hL~@A`=!L)aq Ğ`F\ Ac(}LwKe$U$P8ӔTeGTEqɸ}S?_ZUcQZa<3R$2mʷ[fX*+肇jnkYllQF}"H'D8Lgmrh]TaD3{{):h$(#z{$nWBiHd94f%Uki<#\mi @p v&6cƤ&m#U$qxqN h0(.7+17?ɝT;( 8mE k"ASqAsXrv%$ذ(ja n#VоIԤsN.+Ԇq7oaaJZJj]v||7UbV+O3ӞKjH?mˢwݹ}|㡷XR=} U]YL~q{+CR% SS;<|Oq9w27\ن>[[VBFGm QDs?ǯE|J$9m,clRMj(~gr=3pJ](wwmy>40 eSMo:}d=姗`d D5D6!nV*(izwP.uS`ci_|;웯<%eQ~Sg\oyhwPa# Q5$ 'l=3iWٮs+n>{.B9}z4Mͨ"~d]Eo(# Sw٥#R;^G'$"I ((&oT:Q Lz*JPN;ZA\"d)T4[pDKќ|7v=t]ii2T{)D+p}/xN~ Y &pK(o !- - vxc+NJYw۶/ÛM>T?پ>[ޅbQ([@0FH,q=BbDҔ8D514 4%[?;Fo>c#/V}gSr Ƨ3 ;u=v|g !X+Lfzo|g4Z y@BX{\=TBҤAzhiJXFă?´VrΧNw.O$7VT`iX< v4RDC"˥}IDATx U{C IXCGEePݣQ@gqp\DO!a B @Btt}yW˽SzpOq39ܪzUU[Ց88vS_x~AIXP88jع:TMmYHwt ގG160. COG~;2R\AVTH,vȪ2q޵a.F4#AI5&=V&@?j2$_2@eh "H y7C{H!93`fe 2;l;-{3g1_\hE;vn Lx$tt6H228ǑI [{?-suW;!5La͏[Z$*Ϭ[ҹ%1%lvd3{G j7GUjP`#Eܴ !lr/ >QC=v7P:c~]7}GUB~Q+ZWBR$0?kwl$s=)o]]$[;X * 'F<;pla(IwCC q-[meV5<*NUXxɅ(LcdKwZxp Naw=n-[`B7 [𵏬gIg.o\ V(F΅Ye8,*y+??ShW{@HF֪`z| /=Ua/E=-.f<vBC9x~'k6AI\ x ~{N\lj-X^4 +o5PГ͈7#ZG8GcC#8̂gGG1knE4&eDiz.Wh;\8V]w-_vmw"԰}$0OAqbO\ȍzxl1Jx Ǒ+D '.ʐԘLbʪ 3|  IFֱargu%L`3 ɝk.@ˊw Z5_UFc^rߵ@o?ɞ f ?vwBEڛAQ*%hUC5V )J!38zW*RM.dԵ#zPt,@$^z:vtg-] @ݻl̠Ȥ ,af[îPB$ 2f0RKa$PC,DۻBԓmkF~zQ+/aKg(M:F03jBf:5K>ߏKSH{ Xd|2,Qjp:߃Wm8 PtEJ*nENtv98募Eφ>m%<+eAJqqM׃%N"x,Y/oOine_hkm8jh󒹪G1!v$V Q8 3WDko9c"`6dYCG/])&dU"J\x?*,ޘBQpcuhyҙ݉0buTx]mVÈ%AቌN:-H$Y% vh(D+.Q[@)3C2sRN @.\%R!'xb;.n\Z$?Ye"fx M (j)@hͿ0VvE013|2JBAKϾp _~OtaCc- hZX#4E 8Xf P ȑfA셲;?߈;s"M0)Bo}Oݽr݇w-{Bjc6ꭌ>02?$]d!f"?z;Ϯ׽߸i2dz.&KX2Pk`? +o.x^|$#X[ .[#oW럸 3V>M@0gLh[{CVs$"BUgT:PBLÄo湍N\E9 l2d(,1|(`s@ MRaZT(ZVP*Go~#^Yŭe0AG bDip攦`v%Z41Ȫ!.rO}6#nPk(亅. {y]xtV%%>g Q+Uѝ`6d+% 7 Vvs$OͽHD3QXq*-~^~9Ca|K?{7LݬƒӛCm9Zи@W,JUS4y*~Ȋ+[ fUh~*`W6OCԳf*0͔]O΁qa"‚$!Hp7nVhnٍ%?5xv)҂tJz=Eï% 遝[VF탡TPNn}޲C7L z)p3-=l|=4U5 a1ݴ'ޅ5*xWITa!czX(UF2쇓&r <WNN%Gp*TFwaOu*6Ԃ{N/ JY&PɎ<V@dXc;]X4dF M0"avo_xZ%/queD,bh%O<vpp,J3<{vafv5$]X (5#+ @QdMjHV/Ú](H4ǁa8I,Zeg{3hvUYUx،Юʘ0p8( |Y*oj! $]&FC+zgI޾B˲aaf$37#!Հ6DP1CreRq&(WybR[^8p;H"X} z@,]P].^dH slmB!tM1"NHFM"XJHuk {,?U*iihm8P"dWQV꽃+x,D/۸m絵&Z$۶EB4Ĥ[ yĔ:VdsIJl>22$ETd0y\]%'6Ӑd5 ng]6ëpq꣎EfxSSG\|h=kKG$E$s=]mh\ЎxK@8c&d*ԨF"5 Xᴬۣ $b-6&"ڒB}g  C51 ]\\EijXodrfe&_g q[h^J0گ/UB\H l UI iH2'9鶠&Ă ew(Roo2V^V-[na ] ,ޘ$Y=x/Ǘ "* 0 qUT6$ h[ )Q0岗  izHܚ8 zR@orB<f8vؓG-i]+m&F}o'`sH3OQϩD4?>+%I i]naB !.Γд4q4+mgY3$0GFv獷z@>c!Y!Hϱm0UK;~;uYB!%$skP&A!'O; prp*Yw$- iئ [E8]`f0 rNӗn{8; '<(se>LU_K%$O|%kמ&uLC> Jb$U_!uCMXi4?*; XG=}]?c6NWay` 4AzUee!CC?5$Z}m=޿GP$T]q`4œGaE/^ky|HҎRE𞁜9߼}m#Ix L$o* !W$\ ~%EPŏ%3_\ghTA,/ɮ5^1hwѩNIENDB`PNG  IHDRL>}IDATx^͛TTW&j,&b-(JZV@ * Q" -XaD,&~&}os8ޜu }ϵ~ ܙ>Q0{`{X?yjeKj% vɢ#OȧNbuD>atص:LtBmcLdBbEZAZ1pm"ߟ{amD|$^ tG@zp߻w!"9xٶ"xZZ2PJ"/ h$u!HoDsx%>I!gyfEYX(ޛ<QGz1ݘD8T:ȞGg$6=W*W¡p"w- bB-qp*Κ {Sasdٯ?؃ ȋ[%崃v #HGXTCLdȪH ~xϤVD)ؙ^6xΌ{'2խ7+׸{˙ ŋmFם6^RB1!LzՅ1 cJ+ThGmy;^ ooo>.m^B%;s9_+N, $)Wa^Kfc4`̻K[“keUռ0PW lxv%Jp|l<Ɂ݉3=tSmR#)F@^DtuHJ* W %D*͍rC sq}R JxfiqgCm4-+Da 9n𸮀h7onn S*X+p$ZCGh( xamt+&i!s©ZoWI,rT)XAKhbIgukvgAlH Gam|&NQ >a̋"KT`J̚jQ^5A8_PX9c!l)>Ro!Fz(&݈ja(BMLݕ0MP6 $0rh#Q!q8(_5 R_a)!- E:0':M"2#dϿW%H/1$'F yquS`Ѹb<-a`X hf#uH"մ CA<3zpԁx/LpP̋H>σwvȈI#HsFKO~ HZ S3+cPvrfңܦ|sh#LlkP Q`؆Gzn_R IbWD1 oxOFO)Q =;,c^(W OH{ݴ#ie+EacV!v5E0f <=}a:DVjTeGClxЁSq:^[ xBz}1ί[9в \Iˁo>LCi3QZJ=1J/|Vu$.PFE>:Np$|B }z8\23E(Oe`?D+DWb,=-ʚ=ղhP"Gm=4A_O AG[ &PiOnS`d`M1[llC~`magr0kܗp0c]yס00(M{t0bJFFM{~5څTTXN=#*Ga{rx'?ÓWAGżυW60yRSRykkk<aDl ;⏵܆i,T ְwցt3,Q-Ro! )2" { AIE֜'''x  3c\Ţd.RIyw{+') [M!_}mm,!%kQPWGp!(M Pk^ :hT,OGDV  3-_xM)>@a fff?Sأe񼼶~R0>}֮]KT%аe&\AafE9 `0||,= ʄuun q?.l ㅑz$Hsy}}4 ަ۝ Ÿ |9#e('])ߟL1ell HSr jv-g5٢7xң°!CѲOY ps4&oSj#p8 ; # >j QLM #Qri[y9ҚJ%.c#CzNEpl<8 {%(, 0^8,AbfYHN`h!kolk1BhF9ɬP_r"Tzgwa:أ0W+Ml1a|Bq0iH@½iΙ:WJf` ןÿ_=zŧFB'LcZZZH6  Qu9Je=˅_~v4l {W?&3a.e LD.,g C-m# ¦ۚB*?\7+,!޳N)JM[ţ58::ABP\.ooossstKV&xJt@%Wv!t7*x@ȤDK(]Z0SD (ƏFl 4a&Ö^PJtAڋr4qBY۔$q_CZ{<QFё6k <8HR@\v(0R Fua9Mt}{4o+ Neʡ`3 ҡi0AB(i ѯWYK]F%&O8+msZ&0iqakji\*}| uLBQ2TSf|~Đwþ`}9bh IKadd'0\^k۲wџr(Q0%LhqPLJc\p+.1&$!f.c~76쏌r:-ҡ\hqS¡49\.pEV9$SCA N&XG(KpeTōAkT+R,{b[/Y2C]@ GJaN>EEtw"2"}s5 hᄩ qw8ŇJk+K[ًT'{a4N&FGHeCQCJXꬖ018~y>qϦMu2?].Wϵ*M!ؙMa9Q0alڵAtC<XoPA< *S㖣җ8{Y:J(BQ)1>>ܟ6VilSoF [?3.; ϛ*pcJ#lY_ּ+\X Ks`O&L}nv K!x_rC:nr,^d0i,EJ4^$LOata3BQv}ɰaUH sQ@axMm-}3Y6Ƌ$(42eGR2U\5fF|q VC]+~c, /i i;ea<eƠsL&NHqjH I7]AYL5|( y<ּ.QSrʬ2beWDTjZ.+PT^KǚL86B [O> bo;axѴ֧u9ZB]wc[͉S.b6- c%W/s؆=+pj%+;{a%P'9ԥ*^ctbI 慉I=:+ tw*wH5U `[ 5G5ѴT)bE0Gض%M~ 7'ud5/L e(%N6RCijΙat" D}q*k5:Vϗ!Z9#~%OtrېOKQjƋPIQ#9a4X&=M) a i&Š唢WZ*&g0&ÚLeLh2?.'v*R!rʈ8Un"LhgcNIENDB`PNG  IHDRL>}IDATx^wl}K.%R\uw%RWW'^W<nq\e )5l8SL*0 (:Ѱ OjjjF%ʓΚ=r@8(ϝ˙ZnJ4H$"XDڛK(2Ãq9?&É~%X{vSjHXEGvS Uu+X-`N9+Dmvt˹a%Q1jPw7@W^TǰF(?W{Ӳ_`;<a_l"YEPmnCX*`ԙA7zIGdu 9L\ZqA1t)۵NH`]u*P%EhpEX}-h%\]Kl8R$.0ҡcҠ_}2@`̼}Pvqv|5|KĹ@rO.]&:,?W2˓#BT^"Tc4^Sk?B6jYYYԕ4wm.S!yFPUZ9n+\Eٝ`+[ tA^LƼ)@֗RIÐ|r^8Y/hpJ75tHBBpgTQcZ ;_4n(>ION$=re.a1w<gX֭{Bt@̆0Jh̄LNiّFEÜ*hAs-И0u Zၘ[^dυN߀,00BgSCm<$-NVd Kc g᮹񵰨/UVi0f=zq:b4XG4)'CNfny<0B2a`B$rD|Mo?Lca`FUk~nKXC\(ZEl;˴LP B3f|u;Yv1!g![^=Dkl-0Nh]QQY|,ɽWlQUBRg߼*,7Yte eФ.{Hp8ϰI9zM00"OoAk{ʐ'oѐ<8,2 ¸EhKuCrAk2SB1GL{o+w' i+'&+Κ]v9Qe!мo603&%;eX;jAyZfaYBHl һo? _XtvCXG`T"J_XDbcؼ#tŃuve>Jph-F0Ӭrtrcsq|_+ ک[Z]^({V&P]JHY} ihqme,]_ukXfuDHZ#̆쭯~I^j$K3n.5ruyhL;qd0̡?]h04۹Ф0~5ITKB4D&w@., vIw]Ex`tMkME|nꪼ""/X-'6^]4z%̛CqcU֝6] `rxŽr  s$Aiq=TX:Vnl I!0w`TМ R&k@H`{R.0RZ.Xa\ Ur.'TܙL.}Hp*pk8(49>}&oXTBZ+\Da<=Znc>8D~v 0@U3_pY/]vf!,Y؄e怙WW|a$ZUI; (#6Su ,@cHm 8k#W:&,&rQ'֞,Svh"c hxy va}e6t:$=J.C비aVm:Q-R=8* f`r&Մw8fNhGTH+_Rp:b.Kx&JPs0RciXֽWlak",`EOeeW `B-P:`cݖ2F "Str Ο- ,-V J9eIGXHpFb'$+dX-!i% ݏ- E>.>![k@! 8[|{5 b0TDg~0: QE!i`KQ+&[p{t&P!#5MӥBUr]tR]ɟx`4ޱw']DžbgpH(=NFwa"UX|Ż 2L20] ta\[im^XTydPVP@G%xwZRH wɄ5e. %z~Oz`[,o0e-`{cq'/a ֫Y PXGda$*G-*9\k6Zgū9M,5`IuL-Žeoz:f&i0H!9>HQ2 8վTB0Aa`K`OpjW$,ng^>ppFx[smsX;*X X7̆V݃v)%Bo3HdFX Vl;341g gS>̐yGdFPqFg5u Dm'¥O4t:6Ṽ 0~m#EhT|%#־ZZf@`hi -iqa٥/ XzڪEjAep@m`&UPjmŅ_{iN!k`` 4 %}P~v&asͨV1",z!:0oM2e|wD)--!? + N$L<5|OeJGp +hv~+43,TfN t503\VE>C:LivܹO>]#{u]Cu;~*|5`-2z]\uNmY泐6Mܧ֬] k CLФ9iWuAQ%k;x lLfUպ]R7A S8X IENDB`PNG  IHDRL>}8IDATx \y-}WwkH a`fL!9Ș$l8,v;3`GlDd! %EVKuU-wwtsaɟ? ӧWR2{CKК۶P7]Qr|go\b'Aj8+&/;8F&#ћ+V18z$_a1 'egћ0箙OWQTqQTBj@yR4~,%}xۛ隇w{؝vˆw OW|7 QgX ,&ai 6ݱui]FWUFģA3ΆP@;3fZkGYOJ $\(})w\ĺ;JiV`]kWm/l5! Pa &H\סhL,t{(KvHGtf8ϩ3Le\}k._J(wYLCʩ'{\Wb9Yf(/I23phC:ҙ&?=o3|euyͲK_z!PUjj!tJx2\3f˶Ie 3ճ]/)?@)YJ&,_ nt ؇v&ja*.Jc W$; Ģ8=;c+}q郣ɵ. J)I;uev^߶}./lj:ltъF{G b, n䱭 pe!5H -XHֆyJA&ɑ'N? k^ĈkB9%\ ?}q?֤>hs$֍_c_]ڲ0ou#I߰C],yqST¢Hv)Z&nƱT"&4hdH%Gw]hs@Pyͽ?q~y}_?aJHueaESy't-Vu0***Ϧ2q/X}])(f˫CZAcb@( _`*>?\BEP%or0NluZm*>` B` o8vX'I~Ԥod) $,LґX:DsZPCq,jE-1O!-7=I;GW胫ڸP=isgw,OցrPC@Ӈr՗q%|Ce=ط)PIXT:AKXVu Z>RO/pXj5T>:*QpE%Ԍ4!fWo@P(GhEԀ:nП\{Is-Z ;k`_(ı]Gz/ErHZxiP x \rJ>r|ǸWpp'xak B7fFg;9NؗӦ`Q 4#FPەtBQ!kJv0*)WR|뒄TsxM j0*k1 L=l;'3kWl)1 )G㋲zꅷ.j(2xgy^,XDEESR LNX `3+w$5eyk#:QRT0|mµrO!ΣcBZA+ti/N:WƑ΁1 dJHy }c+[;e [.z9}5k S(Z 'j apc1f ,X4HdZR}vs (LE٩};;>DoGe\}.#ٱs3;v<ő#I 7sHסTxbL ThR?+%36Y!R^Er=^ E qsiMZO׮FE%~ך~iĖ{vsX_D+弣y-kXeu4G3vu38_a u4 yAGToopNeZ5G "euq)А^E ;ʡ1 i+EUg3Dyl_|""BP͈P_ GJNNfIpQoTД H9&^D(++G4)]R$FUv&A{lkFecfi;X,\1;# iu}mӁhLjY!)erML27$c\["mU ] c1-I-^Fac&X^gQ޾ ,j)f,PLz+UJηij۞Rh0 /:ڪ:6t۵Adp27Rz .ҒE(}};`x䜒_Y_n{WTh0s0o T T7Ʃ-WX08:ИI:[`d8 CipgגJu<.Y]D˖m.P ٗFh!@z+@*Y枿zdP&6ˣц?tz{b@PnibYq4UPgز#CUKI+HlXm0K\Mc lNArI gYұl 8 ԠkHW0eKo)` H9_Ǖ%Kr6iz"V?U0)ˢ4#媫_D6U] PptBn%aE/kHߨ@un̶{xn-W\^-  ґ/?|Y 3 )믅kvޭO2>x$ +2[.߹CkZ*Y$egQ dv DsZErҶS`ϱ>v=rS?|xЋ1>iRBh*B O5G}7; -달JkJNM?qh=W\<gQc[(8YpУ4Gmr[C)qz0K[4 >=š~f9e_WȖ}NK+׶TkU.ԋTD5!.I:9sIJY$Nqxoޝ~Ot{|usK}RXsaɿrzw.iTi:X.oĻ6&S0DHǾwA%s=r{ 8.%6{^2<6jq%1qH.m{= &32u sȑ׻#gWhUV j69Wjb6ZWzg%+hPUA, d]mo^ΏxL.=4b ~9{p\MN hdw/_wŻ>4M7 qgMzjxh]\w}p}Ȭo/d͐xMrE$8Bӕ"A^:+y/bAJu׷]w_Ci4XHGStkBѦc0wIg|+`j! tm!tbJ Jx=)zv?FZ4*gЈx(; "AE(^tY.hǜ`O^߾jL˾Lf|\@X "޻R?AMID>sOCkuhED"4zm ~b~A]H@#m5}`0N(Daқs7?37%+7=|cօ5 ٰe5! WU]!;F,Fjbe#{_ 楛]gdNzૅ\L;8d^7uKڴZ$3m]C7 \- K؟>0΋4>r\_|KI*}P+:[/k:|5.g*:A]El Iw]XexQ`,rT?mm|π\iًsz[aSx{W}|/6~=)SE2\.q6UrJ!C1\X\ YM>e!&WIhn>k]?l>{+ׇ4T6,UdIzu}G@գl=r~_qNQ&JP54~K"`Gԩ'<:x/_qچ]P^X eCUjbr KѱjʚZ.И#~D9{tqUW.^~˖UWU+#!d=_3H%R}qqٝř=KyV`҆o4^HT+K.l".BrC]wJN_ynU h| @f|I\͏$}bKGD pHYs  IDATx\kly=w.|HJ2EQkلl&e0M) -PQiJ'("'iSI~mI`HDƲlADQ"EI\>}<폙] gd9sw~-~ 6a'[||/ڮoD=چ@xp"pUwkY1{53(Mvc_)]xG0x"Zc<5E荱ܼ\FGQ ׄmGTHEЁkrRӾ+V/I-'p%^ߥ)=jX`u@lbL9|A\‹K-ζR~D8y.3d]{:/!A@"-jc 85o74Hϧ|ƚjv5mRPZSs^QpD9Rf VJ)Rw'|LntŶzU!KVw"XJ:sCLQgQf#Pj6B ' Hp*3! jzwpA=b73?X6uuY̻X{_s=񾜖ykd12fsٹ㼭0kc>>&7Dw=@'xYWbrR1Y~SY1lecyEq>6(U-쨟eza)ֳPǻ)A41޻&(#!ADAM{iiIP֍(}nIO~WoߗH ;vl%5j ߳&3 ّuH2pWygOcm;P @q T!1ТUr2Xo,@ P̏?b`j``~YLzQa{BB-Z8{损X"ܺxeK; 5VP HQpJI(5> JN_˧@41\ Kr~lL9=}ڎRz < p"ONvAQ']Wպe .3T|$@@$s{``B503?7W2K>A~Ilijv2 ?9TȻ%r>FԹ1otw?}0}XmfR=P++ϊP 0 z_4;;l ØK%w:PiDȡ@Ptk\ԝD7zCCo߭ܲ/RG 'rb83BnO| @#Xvt+lU]v|ǮϩZGHi r+[/pss#Q_|U2)2͘8 aj_Wd̪ IU]f\0ڬ9k5ϤB7^qiwo8bEj'r2(p 9\pa{kmb@O<8F&3[^;v1@9XHWeMePüey0{%[Xoei09[K*!xB9`WK~z̹@{ײ|bzj rNH@>Tz&~ɖ+-UZ6X8K:6 ?xً#M}0 abL107 \c#Hv+.lÎFV%sFF~ `Ydtw?!aH} ]IpKvt0pEՂOT.STzK:9!/129[Su{K[_mr퓄Wz 5@m=e˹SzijLFɐC-x/^9S`>@mm} mOtTm'͈'kD@[g2s'1k\9R 5-~IV۪dndX^#ko݅HM(TuH 7$:wc| s+"'%\;-|gFy%(NSϾ?y'z" r4K8'C2lm0"o(wm{i06`˘9@+D8)TO]t@qNd.J 8iZLRLA0B۶yqa:|O;jg(qD1 & !.Չ2E*LUjP-bRGn  z(M!)R 3dz`m:9AqStPۨ%‹^!$B#X){峗/_Iysm$yAFvxC*)sNZTQA$ #L@nCn` Kճ[/7]=5x` +7$*Bajz:=K\ J\m!Ջ'a/#Co*qզ +0g2w?Wz&A(mz4 OB :wSbM w f>wwW'&r\ȅZ3:vgÍb$ّ#,3|8`^2fg/[/m{N|}EC"W^PRy`lq/X/Wn83[ѕVy+w-wnvHR!wPQPĻ Toy){.h);t}ɷ P2wHG…"AlevTuF￟x'H$;ojhkIENDB`PNG  IHDRL>}HIDATx^y]yƟ;ݷ3 c16¢f! 1MR&iV@BJiP J $vnla=cgwr֯s}0Wz;y圫QO_`:% EWY.^2}5v7F 3?ݷkr <T/!{P!$xA' Xm)xy8Wk &Çl_/ 4]U` )`e\Cl"S8]+kW{c=ƟABk A1uOs X5(`$p׃cUyNpiP! p e<']\{B`;"bk;v!0 V%8rh X&4 c* t, lkSz:48r; /abI,, ա rC4׃AC1+tyy6@b0 ieC%̧ yJ8{Y]?*"#0m8C<D@ \rC CAk˴ P VdB{&p|h5NkTfTn#%Ê~tlx1C1$8 @B$:6'Sz$ڢ+3Q\8V(LtjNsBpKmh,M]B9gr 2#8LAJaHH/XTv5j$eH`Nuimi3?5m|beiC 4*~`#x[3<(Tw@ P )dKg_y=XJ$5% Вt ( xV^-8 ^"KOԩcg435rם@q= 8AKyNUвw C `2c PkEc@PxjF +^/izc1[|aO_:QQ7Ϭ@% * } 3A CuL,bip`C2_-"4ۅ0I,siba`-~.jٿ>L[{}|nYՁ޶8Q3E+>2~6})>,>v73Ϝ1*0ye4 oT?%E=Ó7:*ϙ{I^H飷]v5HHU3Wѓ5+Mض {׶廐U]0)Wv9.$2X@IV? a7~m[3tͺnte UW70,S98G:kXכ ;p׎!Op`5NzOj X@NUAE$E:LCR_ \z^'Rbj𰷉ZTIxW vxw_s/QpiHۏㆠk^{-$ ղfݭׅL LHJ(gyE\}- K*͢18 , &Hؠc t5Lj&5-][?wɎry|fxdo<ݻ޶44%j$$LC jpLᖭxlMrGmo.*!"<mMԜ XmZ, yP(bc֫e&)lymZ</LK_XywEЈ%07g$`%9&q$!/lPu׵kRW u=CCUUP(* ՞!!04:B`57-7w|ל܇ Mח4($P% y&gߴX:]%8`[`~g`R!~o?ruЕԡ)d \@Nٲ< /^tHh2=߿yu;O,{),Zqy`G&^'`ۑ_,CdbI{?? `[Wvk"g#<, hFɐ\PTc5p ߂go7uf.$- gOBx$K4,Z-Zl(,929SM ;H[_٭ۑJ>CF0[lwN*|/$Kj db:6>ftF3-3. &\Sȇ%f5_<8l\FdG< #5aɎEM:ekWv%ӓIh q9P-u?1dT @:G_k ?˜ 1Ӱl ˙WQ`GS,Owr=[- DC`Qn F -nʑx˽h/qF.`$E3 XD1ޅGq]ap9 9M)ކoSLFʔfє%d:6qXD5S&]FAQU*.1PBjh9M׭G&*L TpFT R$dKP ao\ አ9"$l 1i(Xۛ k'0M"`zȻsb:OIפbS5vV*ikw~e冡[Ww.tfT(Ju]H/+΄fr+$pYT%t.SR '5ɨV⩡+7}9D˳B `Nz>,`y=tWS`hurU_mhͶH&,4VŁ *ƾz- dHvPU !ٮܟQ MR⎐MB^*r36uec( dUh\sW޳qh7%7h<+# #ʃZ4 ̔He4kAs :5ST ]$\n(`KnK]́!m>rO](xζ'2@SZ:j\ x:)H3Y+ hJ8iu͑1|*U{?g9'fm]w԰fYޖ !PHs&9De::5C.qlY̝<1)!ZR/?02UD_ttvx \4_85Ji˕0  =}!&`:ӎI;819}?JBCLEz喓1-޹' ]QJ&3{ȪXJHpV@qV3I5Np\YhUMffG@ȬL͡bŁ7sGݿ SVtc Я7z3FT}q|! AAf9ʏ_'}>)FuÖ/צ#fLXE~-m6;_/rFS$2? ʐ?`ёQB^$0'V!IJ裻$sqO `;J-9ǯ.蘅 B=^WT6!ϋNT kKEpP'=u>0)Nrwlov60UͩG1f /-3v|Q@S9NT:1>mTlK*`Z6]qBB+G8Ku #0dkkI4NI,%E=g]o!Vtܼ:D ^DW+t5jIDATx^OO@qp:mbYPDĿ .TJ ~7iz&ZښPzG;铙K&+VYVG0aV楖o¶0lKd@.=$fT ;Zx(zqÈ 󴕗KH#i%C'6猈^ 000ŬI~ 9g6 8pF(4Ga7s >1xcJ'gRy0 bQ_b)fWL DHQ0 [\\ )> <]He2G)v OOM6|8`\@i4͖=4=~rlŷ-7jNhQxItzUhd6oJe !]s[&KbrDj+-Bj|CGob2/D #IENDB`PNG  IHDRhhM;PLTEᣣݥļ׹٧̰ղȴͦпèƽϵ޶Ҹ{IDATx^WH џ7;x mw R;K BȒ_GqX6,Vkϑ!zvjߕzV8ce2ˑC`{jؽ jS;⫒mtkm>ZXzIh]+ZfaE+`X>夡`iY]h[Z|vZκz斻jrWH.́D8+1Gn| ̑~BQ8$csh?hSMY`N3AX_43f4皂9WJyZA8W =Ź.4/Bܮyb2/\'Z\2OJjTUdSf@ɏ[ٞyG-K<*sŏ;3T\#HuJ3 4X>̣3ѮpjցJdDkgT^l+/mm,P^Femi֚f3[Cplupp*x7su~s $j_^r^g8ƁOƤ++#ڗEh+/J͡\oBH8hWZ1_.7+"̂|GotYH!=ńV8OmLa^wf ؼ>CB (S0ژݵKXF?;v[9Ԙ+SV$/j};Tz^_>_^P#_×wCs湯c 0`Y0)? `Uޏ(HaQQ15٣@9%ΣP.qgA&Z5~fͭ#"*AT*}PgQ!o ]\Ju+lc*6Dj*{*@|z4ໃt4Ј6LiD:dS1`O4 b !Ւ,!Tє(L I i ќ!щ KiN O!ϖm!ϙ!τM O = :A`Cs6ќЄ=d W4eB[r @.wG  thB❚ӻb(Tϡ˂-^DA J^Țj3z2]ԅ:fy:uS>JHŶTc FUFPL@ZBGz (C\x(VC.= ջE:ÚY lLaLrkxkc10'}t`[6m@*2oZsB5Ana)ZH^e?(w+3]ոt&7\ p;/wd?$E?泏Sc6 V?ǟG[ کC#8˗%:"W zܹ*z?Q5+O~3wIENDB`PNG  IHDR ';6csCl0`M5IDATx^u BQtO= @F_AY%1D$Fd?cIENDB`PNG  IHDR csCl0`MIDATxcQ9 H1+IENDB`PNG  IHDR csCl0`M0IDATc`0s/x8 P`g(*To_4S IENDB`PNG  IHDR csCl0`M3IDATxc *Ǝ@ VEv|ٽL)Ped\&IENDB`PNG  IHDRW{csCl0`M IDATxc)wCuIENDB`PNG  IHDRW{csCl0`MIDATxc`?#*<IENDB`PNG  IHDRW{csCl0`MIDATxc ^ !!WIENDB`PNG  IHDR  csCl0`MIDATxc ^N4IENDB`PNG  IHDR  csCl0`MIDATxc`_ !daI^ŝ0IENDB`PNG  IHDR  csCl0`MIDATxc C GTIENDB`PNG  IHDR csCl0`MIDATxc_$bܖpIENDB`PNG  IHDR csCl0`M1IDATc`0ٓ?$20hr==}2"0I Z"[IENDB`PNG  IHDR csCl0`M8IDATxc }9Vy5mdJg`o q?#9IENDB`PNG  IHDRW{csCl0`M IDATxc6g"XhIENDB`PNG  IHDRW{csCl0`MIDATxc`5H+8;IENDB`PNG  IHDRW{csCl0`MIDATxc ˜17lIENDB`PNG  IHDR  csCl0`MIDATxc_ #pq1iIENDB`PNG  IHDR  csCl0`MIDATxc`?B888LV^ҊuIENDB`PNG  IHDR  csCl0`MIDATxc_ GB IY+RIENDB`PNG  IHDR csCl0`MIDATxc_$YIENDB`PNG  IHDR csCl0`M1IDATc`0ٖ?/20hNr==}2"09u:IENDB`PNG  IHDR csCl0`M8IDATxc ݍ9|y5mdJg`o aIR?IENDB`PNG  IHDRW{csCl0`M IDATxc4bzIENDB`PNG  IHDRW{csCl0`MIDATxc`/*O]!IENDB`PNG  IHDRW{csCl0`MIDATxc |0O[{IENDB`PNG  IHDR  csCl0`MIDATxc }pqe%IENDB`PNG  IHDR  csCl0`MIDATxc`?!_d3"[IENDB`PNG  IHDR  csCl0`MIDATxc B 8:WPkIENDB`PNG  IHDR ';6csCl0`M8IDATx^u0ߐR9)o d:K7QrOQ xD.]ffIENDB`PNG  IHDRJ'csCl0`M"IDATcsbA$/'//e&Q IENDB`PNG  IHDRJ'csCl0`MVIDATcOpGGnc VA)͚R?eП0f? 60, F0 vIENDB`PNG  IHDRJ'csCl0`MWIDATcss*8>|"% 'ueZry S1\ppļS2N^? f``YL$#5IENDB`PNG  IHDRW{csCl0`M IDATxcA@w*IENDB`PNG  IHDRW{csCl0`MIDATxca_O (e$-jIENDB`PNG  IHDRW{csCl0`MIDATxc9^0V$t#IENDB`PNG  IHDR  csCl0`M6IDATcXB00 7_$4$G#d-}t Ƿ:IENDB`PNG  IHDR  csCl0`MNIDATcΟ<0`b/>?q?̿"8ιy7\Lp 3,blsIENDB`PNG  IHDR  csCl0`MWIDATx^0Г P$IX< A_j @4tCR vA U=}w%'9'7IENDB`PNG  IHDRJ'csCl0`M!IDATc,,H6d)G _rʄIENDB`PNG  IHDRJ'csCl0`MVIDATcg|pG{&a.VN&M\e$x2?6]0Co׹ A9/*jIENDB`PNG  IHDRJ'csCl0`MXIDATxc5;jIaX4@iz{6f.;d↩:9hb^)YXud 300_, @3&Y)IENDB`PNG  IHDRW{csCl0`M IDATxc$qt}[IENDB`PNG  IHDRW{csCl0`MIDATxc6'EIENDB`PNG  IHDRW{csCl0`MIDATxch_5"IENDB`PNG  IHDR  csCl0`M1IDATxcXnE1.9pq#+ĄacFp"q#!IENDB`PNG  IHDR  csCl0`MLIDATxcΟ<0`bogp?9śH8`VEadbs٘&N0R-IENDB`PNG  IHDR  csCl0`MRIDATxeɱ @ CQOp г R].ȱ,Qt÷_dt'tE7HO8AntZ c!S̅9PmIENDB`PNG  IHDRJ'csCl0`M"IDATcb^$7+'Q_|ʒ6IENDB`PNG  IHDRJ'csCl0`MVIDATci>f``b寡?+/ sfݯL~cП0{'3;#a L߮s9@. 7#, nIENDB`PNG  IHDRJ'csCl0`MWIDATcʲ<}5 yUgue/olݷp↩,9pR^)YXud 300_,@&`#Q$IENDB`PNG  IHDRW{csCl0`M IDATxcNC@sgSDIENDB`PNG  IHDRW{csCl0`MIDATcazii(@#IENDB`PNG  IHDRW{csCl0`MIDATxcNNK_2aA@eAb>IENDB`PNG  IHDR  csCl0`M7IDATc!sf7$ΑH8{#qb8H$L>rIENDB`PNG  IHDR  csCl0`MPIDATmǫ@@sgZ*;Məb]bCg 1O*aά۴3I:iICf ^t3IENDB`PNG  IHDR  csCl0`MVIDATx]ɱ 0 DQ"$hX j,%m ~thޓw3EFȷ?{qk3%"wb٢"!SbfR; 8IENDB`PNG  IHDRnvcsCl0`M IDATxc@aAP]S H$0a> IENDB`PNG  IHDRJ'csCl0`MIDATxc`E@9? IENDB`PNG  IHDRJ'csCl0`MIDATxc`E@9? IENDB`PNG  IHDRJ'csCl0`MIDATxc`E@9? IENDB`PNG  IHDRW{csCl0`M IDATxc`E@ yIENDB`PNG  IHDRW{csCl0`M IDATxc`E@ yIENDB`PNG  IHDRW{csCl0`M IDATxc`E@ yIENDB`PNG  IHDR  csCl0`MIDATxc`Ew8CIENDB`PNG  IHDR  csCl0`MIDATxc`Ew8CIENDB`PNG  IHDR  csCl0`MIDATxc`Ew8CIENDB`PNG  IHDRoxcsCl0`MIDATxc0Nކh,S.IENDB`PNG  IHDRoxcsCl0`MIDATxc0Nކh,S.IENDB`PNG  IHDRoxcsCl0`MIDATxc0Nކh,S.IENDB`PNG  IHDRrHcsCl0`M IDATc0NކFm7IENDB`PNG  IHDRrHcsCl0`M IDATc0NކFm7IENDB`PNG  IHDRrHcsCl0`M IDATc0NކFm7IENDB`PNG  IHDR icsCl0`MIDATxc0NކFe)e_pIENDB`PNG  IHDR icsCl0`MIDATxc0NކFe)e_pIENDB`PNG  IHDR icsCl0`MIDATxc0NކFe)e_pIENDB`PNG  IHDRoxcsCl0`MIDATxch,M+u~ (IENDB`PNG  IHDRoxcsCl0`MIDATxch,M+u~ (IENDB`PNG  IHDRoxcsCl0`MIDATxch,M+u~ (IENDB`PNG  IHDRrHcsCl0`M IDATcB?wIENDB`PNG  IHDRrHcsCl0`M IDATcB?wIENDB`PNG  IHDRrHcsCl0`M IDATcB?wIENDB`PNG  IHDR icsCl0`MIDATxcFQ^'^xIENDB`PNG  IHDR icsCl0`MIDATxcFQ^'^xIENDB`PNG  IHDR icsCl0`MIDATxcFQ^'^xIENDB`PNG  IHDR&&=IDATxmhavh)/4E,5V|yI 1D^Z/䃬DSbELI2|h^2?9gùwyNu_X,ꏖ꧖ 0#;AU0P6z *p9@QF+7OgQfAr9aaYm0G8쒛z>+Q ,\Fh=3 'c%OzHXNv0 q^}$a`!Y9L (qOaAhϸ:[x{`*뗰ɹq`>-D|Op\"vl9e~w P ~!I$2,뾣jjmV:V>1쐹K`/L2f pD౛L0d-V;r vM[$~Ϳ:񄙝wInv:>szq~*Nk4suMwWtLod .K 8n$SZ{`ٖ#ien@c,[iwop0~3{t^f{y玗h<#h {k̃Ȉb˥]}WJ.k?[O(, R| |3P^/GG3!?r呋/P;ˉe r`Z)aHa6GcAvA 64>_k?'756gƚ>'7 q.g'.p撖<)Qe#ws'R"fZ! v$&OSQ,/%|A#ӨN11HDILu!_g. 6,}8 8qӊ%HX6`ME3;N{-R1hlxԔKV>,CEHjif@ VCh@Ԫ( Am3]Lh?9.\eronyۄi3 s; lJS <5E3EYjVa #(,:*VGAv7cSL+8&<~aPcPA}ܪȄ7KI򞬌4|WKTk^dlt`ShSN(w*7 u P[1Y@*۬-0Wㅹ1v:* u7; 2fwJY( <8e`; Pn TqTTZttq\k?vaM"n҆dT=bjMgTrk)[vA?7-Pd,)[RnIctIsq?;Ndʂla)}ͱ+@ut& DGQsŽ3r>-6uOF;eB~&85#A0,a3Onczi us_Ed}66;l\>Af2>ŭOF㼉DE>t,:Aj%_ĪʈQiz80͒ WtzoyEE*ej+K&zp;#(t>3y츦*ŷ+oI:3O"^򇾛 RJ"F,tfpm5P}Xت.Z{u{[Z /dx9,$7t9SX)1,f/I.+%Ј?WE IENDB`PNG  IHDR&&=IDATx]havȢ M-0H" -qC.1Zcmr\ /"/WBXFyP^}ַ9Ssq~Y?el6QV(R+ +؟T*ڻ@ZchkAPHX-7t+7kEMAVRc̢lA*o cv4C2wm9da|ql(8^-&amT3xfv+^> q"tXsKqC {`V¶1UVyg q +PD.=CXx rjo +:x"fg-d>eRXe~`rrmi#Vi<8}`+W϶IV΍Jݼ34yN–C+pHZL?LkMD|UvfT% ݉8 82 ˩pfVX(F3PM8!l>I,?IS&|M$el7[ǜhsCN$Amo8.\"L(Sz)v机TfG팖4Ӝl S(@? [K&ɴ %cF.t1[Ӡ YkfD׽HBn1T+BT>+d(TJ% 4UeyVlZ}"Ob'zj`}r)TT.BzO@cwc'Q']v q tL" Bb9gt6bv-c3i3J&K"kcptRq16rq#O-N2dʔ#huIxxTJ<*à`*!;G%1~[gԢ> )6䗰~i*"i݀~5`7;}Ŷ<3^:[@Uj2 j@3NOޗ_(XN1cuR6n-4bQ aY&̡,,3~b^"!!2֛}3 ]G3v#k_ n=-yé`Œ>DH?^kR}90{=UF~j#ͱЕMuպi PyOacԼ_,wDJyw6Ot3_Â!$ufU N{37{>h>cFJ߼ p!()R$<$JSaiE)X>DeIB7AsdFsf4͕?15gw3>|sX@5 'c";\66WH0`,/cDe{yz.f]N|4Awcu[ b%%|tb"Ꙕ"@ PgC5Shj2~(Gb4+wZ ph;* H3 o`NS)* OV@/\ћ%|[uC@jE }#Y::Yr&_ .݇s ő##bL`q .@~@+yQ7@pvx Lc(. ʛ ʺpLe@)>kNZVӀ=ٺJWVg~aY1{ ?1uSkrrIZL51{a.YdHLr%1V*ZDVOݖJ+A*F ^$, g+8+J*T)ZAR'jZ+7-icJGX7D)ӄFԾs1*GQW}I=upTiGܙ)ụ8Kj);'.@q5[\4- a6W)DE*FwRw`8`o#j!GKsYxJYCEb\%E=­oQG1ߴKy1ܴyoSYO0JOP[{7}N)5Q Tx+Rca-}IENDB`PNG  IHDR::KIDATx^]lUpl,XJ*@-R mv[R]lgݝ%QD[#bd/ !j0@cFAGXLgg6x;sTr72ܳdvћFmFmFnd1ꘗ(CK(4; IRVS8?u}5)N־LXV8Q\֜٠2l]nuyRjB )_kU2/^$niˬɭ4uFd5,Q21݋G>CȠԦń=6۩(G2ad$D>ň2zP (Q,oșC#G_7 KgVtplAAP.@_CLX&ܠ)]`P wO cb})ceU+ɂ4B_a$CѺ wdNSr%ɐCx]=:rgJft#2Soҙbk #ڦiQу,=i06):pK>:wЭ&:WGKtǨm:~K@ ,Qplڍ}IWFdE7JU B_;ý:[ΆWE$c;Q0eh7)>9vNjן&ЛdEuPG [(;)Q7$*!,l+~0-I-5xP 4RcICG9IZ@ 6]id`1|ZE4T'GB4Y[k{tK}X C~jb4sfOgMjw;Q: FΓ]f2z~0d:t̘wawZ`._:tZM+yPsƢ ?ߞa! fR|x=ڀbTfߏ4d^[;uC6Afp;|{ܢ)kDp hh_{DeϢIENDB`PNG  IHDR::KIDATx^Tg93م]A\C^jXM l)1 _lP4X45xƪ[41nV P.[,[w,ly߯?d'{I<~9JX~Bo[OdMXG)6׷GYd}'~C^"x%poSρ4a_B],?G{7&V_Y Eyட a,}d\(qi1,+4)-b4d˦J,;DR3fD X(PZj&)JJZۖX^Kf!4.)\< JI^E*CTO `@KjMvZP[ )~Z|rkn4Z7"F1^3al)(I{^ߜZ 0 &u];h61@n;a@nT_/nix6$QS⪬my~͡Ͼ" {l/Uʯ}cWlDlQxPabֻwZg~wϖF7imʑ'Z_bQ@NyQbvd@ѭ4I įI'i窍-UF7Z9fعTqquLbQF7&(?> *$SVo|e;?8Zѹhxg0 Fm=@:"STRvcon8> P=5o];; QSg^}tǢggδ+<^a(<0 -ܕR`Ql}f/Ƈ0h=_w+uDLC**5lyXocDl!(ӟ=TFG\EN)_Yu&'*bP NJ{?y;Ѽ).ymWᘅc|sY絾8 JPtp+);7uکBv/]-Kp˒N4*}\-N 5V\囜) d\*36h3>|C?tSy(IENDB`PNG  IHDR::KIDATx^}Lg'D) Rҗ) Bl˕a\>:NnQ33fⶄh%lMH{׻k)E9Kk˙ؚoHZ.}& (0󙗙L~Z 'σB< Hh]v.ZԎ3s7 IE @ H 'ECRFģ9 d@ W2"8YLq`d   39t< <C r@NC xP2bK.yh{vd2HhE>uob]~],ᄲx" [ 5$ Q .ZPQ^|{}xRseKb>SNFVD(:R]4vƶO jHT-Py2t.j[ oBbAi&i94i'*]>U{gvWj!hY"8h根]^n1_ Qd_fXthY UDm3{$AupU؆CrЖPJ?*'T1Tѡgm!!Tvlݡ[ /I;M.u@@rTThczN,A馉)C#EXHpY5좼ӷd}GӠ(sm(n_ ­pG9[e\B!(A9'χN A:n;4ba+KRL*C945îx~y7ELn{w;tÍ> @jCiQẊXk9e3otW$H|[>o{o;Ϟ/Zޯa&9 G5P~>ćŷI]XQ j94Cu-khP$(Q4(ʡX LPPQD0P ٌLWVEQ(AJH'mMdv@+8%`+)Vڼݧ m%+pۡtL42h[NM'vۆMgy& w\"vT Xj:pu"c]npLX\ wH&*,6,vMG ES9XaƒvZdlڱ-R\L+<K膍7^&&%85QN,˂D>kmp ^Vo_u&%8UF]#b ^l9ĶGJAXe%ଥ]L`ے NX1ђ_Әlr@m'ZdX|M̴2MlK>p0-b1_gʹ3MlK>pky:q)ĶGJ~)%P_D_9{%\A7w֏ 6MlK>pPS*(^[%[+藖rOt laq.p#\yh*`k[QNG =;v \t= ?$pckxM:k(!x`VQ4J5m,UF& ;]czRDކsYpa IOrSYp`$Z#=\XcM:r擻 3` @u8bqm|4 laSO%@ыIfU-Up.1.'FTJY[QH0?2.=TFc}|Ϩ*-ր' dIENDB`PNG  IHDR ^1IDAT(c?apĈS=UIENDB`PNG  IHDRPP|?$PLTE=e tRNSMfIJE IDATxձ 0 DdxV`V` zfa@H^ي("EkTI2R I`,uƹW鼊2E졀*&e|3mw3g%ns>Z="L4(Ω{\t">0ˇoGGGJo3b6U1T@1R91S:.5&ei7644,1F^R o q 62ݣIϠ_Sƅ|^߄&h5V#.$IE,m.~ql>^Tv8%Z~= \iplJr' i(ZY>  X8j7g,8s$G?:s7CK<7Y큜mvvTEEE%O W\ګK\.Ww'S2X*f'VLp& H$DHŅd Vµp>jIENDB`PNG  IHDR&&=IDATx^OwqAt(("( ˌb{eeҹ\6dku_8]衻y0&=zի޼`ܛ{'f< zx1Zՙ} ?p UJpMM*Pa*^&C2nUmV0Ι'#QG knv rPqE΀;@M@L Ξq/ Ä"36[d( *o¸@&GBF x npAHH@N3È4׍s5ЦF! 3p7-g'Bo0* uvetccBZk%aLxۯ_p q|3SND05:::Xtq0fJUcq>t[[[hGJjċD-C%9 k*bCgggc4BsJ01q0* `DܥF?_WR_!QPJ2< SA;/Rc.v*e ~w l͖)*|>C&,H( FٗƦ!(V&K*Eahz g `C a^H}(j$V$0L{xɷݺd$֊|ݍ0Zd1Ϊ2 ! ݺd6t[I0a.H >*(Or`RRo)ff˱P(4rL S#teƋwTc1FgB!N{{{{NgRʳC *‘|nDv4d K;7o&05WvG8e̐"AlGǝxdE? wGUJʻw?_CwATIENDB`PNG  IHDR&&=yIDATxՔkLSg\aٖlɖ}YLa_%˖,2JSA 9oL馮 ޸ hiHPJk8 sӔ|9y}z]dcX ?RFs|9 g7TXs/h6Rň20cD Mjtx[X0w zƊМ\ 1_LxXTyh~ezʾ3Cd\'-˫آcM_GC- `RhΎA&/$]4cJwYb8Hh*% 1_1C4c4q~ԍ~.>!_L5#L0A"7$7T$^!uSxw@ 4=#)Iq|^k~͢`n'=bmE&&}ܐ2O&XCꂧzfli)b!u!虇h>ƪtRv n7&%?ʴ(LJ,MXu:0mpQ7r9 * ߙ=^ܿVSfqAɁ^rrxfw JK&~ sT<%ӰjrМ4]aD}$;_058 uɒDݡp40Ʋs{+?er&uI[4 $=Ci,`nm{"EDX3a\2ME|bGkFMDD GPqg%ǂa #"q)e A:>b(pCwEb8DHsjӃAs8*S")a `ʮsqu 7raG^b{>BwEɮtsD9TXƮİXKL׼1L9AkiB(NxЋ_NgeҏTƠ",Ce9Sxx%GZl"Y[ B)} ̭&V7co\ߘJ46x^y|xeE%{gJЫ5w&bfݵ(ʓCǍMN-\B̪̐Q60p+o#b9!&fyes^!?ܘW؟Jv5eiIENDB`PNG  IHDR::KIDATx^QHSap-@fVÇtFSXIi64T_| ( "z sޚfYS_杽_z1v^>ܧ{y8B*P T&*A ީ܇C%} P2Q&Z` 'Smi[1C+KE<}f=ӑql4̿<,|PWМȜϜެàģ#-ӫc/4? JgGn9rU؆y`ƅV-:raފyII:ZoRځ^2_0҄ص;iH ݏ޸f,X?qfS.֣Hs5']6@ $:JK[:Aԇ/0^*i|1>{c+cH?4J[itv* X+ :D[YHT,_mb T_.A-IENDB`PNG  IHDR::KIDATx^;oP'"R-H8LHݤCr;W ##+LLT U^ _.GOs@gY UBPH]dM<,=o)̆ޗ2,@O sð|p~i gIP)lc7 c2<=l9 sS"^BU W2RVvzL-TI)r^nKvX)Y}t7Q+M&ݓ~5\Tq-#٨8|| "γ"9Ggdz _dqAHP>ZfcZh@+]vaPCv^qvVI;>mMIGT9Lid sʮͳ<4يn $|7)Af8]u% KB|83]L )c+>- #FX&C*psVjp"%؟w_w͝L4{EJ;GԢ eP*T Uy\͋IENDB`PNG  IHDR::KIDATx^[lemvmmmuí Ƅ :Q@xa Q9ƈc"Ł(Аx&rid[D' $n~߱o+wا>_}@xc2]=ɧBʁ]|bRxfjK4&Ew/}짦qЬo)5^l+m4w, Iuk+萾  ;ǯ9~9-ڑ?xgx'ШŜ?mtW͋VeMt  IH{ ⑐ ,,)DIGI`0L dBaFRO Eҙ H,+E LJ 6Y!2Aӫt37:'<%ɠ)ͫ|ϯwX)ٚY^βgFe VJʦ8^t/|H3{H=NHQ+,rcmg%+f$A•t*03L\HvKH`Ϳ@%ᓲAdTPp_A8/U]6o#BJ)xu̝&pjWF~8]MU$a}ݬ29❫x*)LKd7oʤ:kPZ1SlHE%wCy|p<`wXTHNv]2ɦP RrPcclc5) @"S%N963-%miJ?J r>^w?g}ѿI%җI2ǐ4i| ?viʎ('P^_'zF!ƈẘgŚv w/\跚Vfy{*NYYDe\.$,wJkfcg{씇+&i9>UXvS-&?'3dgk"aHe WFxIL' d%.掱+FMNS\b Y&Y'72j 5(땰pˁhq[SEH TPjKF"E)60jcaܞbT[ /; 9M/wu!NA&mmlmM'wt!Q] #"MJ$H!h@i8 m$0uFn0Qrv=9)=)t9lL n,8 4X:<z4D]]nՙ4FdFhNVCv,^Vc,6ȴ`s_)l۶( ( Ƣ1dôϰOvNn#($nm \w:b~y"1ކ{L:BAIt`~=~zI}SbIENDB`PNG  IHDR::KIDATx^]L[ebkhℾM^BulkWJ!2N n'C,qY.4N/("cHLLDŰe.K4O!SMӛɯMڅO>C ʋs"(&*jYW e ȺUڛTvP ~td+e ,f=V- ^\Pc%> AK@`-4lhF * H ؜:l/N3d{*p7R%挡 TQThSЦ(!h1R 78cⲵrS6P̑h6'W$ȓH0/R7 s>8w7h> *3Mv/G̦'=kc~=ͧds6坛Swط*DHtK$-G ;:+_h*W`3GZV:IG )(}p$)Q(Oa>]\:#y}7-# (D2" JgؾK&#ȷh$t/4֪+G.RPyQhSQ?_ay@aA ?&S>`oߴAGW#QoAe騎롙[{RC J%M%B?_46r᧫ oW0ֱܒ]zU+!ͽv)Sطˇ= ǨS5iH3ɬ7ZYylQCH&ʙ`{&XG>Jrljk 9acoU /zǒJh FKCߝr$=b%ͱ/AK1ju:mQϫW|оҽw^=QDA"(:Ӻ|k=a~\{W}b"0cqڀ aaJAcC LFQfQsFQ3F:0ZrR hB%X3rv8zQ=쉟{.q t ԀlŮ҄=FpP1+A?&. zjY# h<$C6C E^d @ЌEuIENDB`PNG  IHDRL>+t5jTIDATx^OHa_lm At XSN:u{ #( *FZ?$DvRQ:x\,-٘b><w+Gh41,Lr6OWQ\EZ:6TaH%pYJ0HaM-ܦFҧKUg3+S1V\UM[ c/֟f%=aO]0x[^WV:zu1Q( p1G~5۬M['OX4Dig&S Q9meC'D83 <4aͤiV" ˥&KY)EC=sYbiF$Ii"Oب.tfS|B$O<駱f7sIw4h/k'o {M[m?EЪAA)kP=~W%k7EYDA*nfwYM(eUM!4[3A*QCֹq(׽CH;P k[&tBh4?>p*ؘIENDB`PNG  IHDR:0@oIDATxc@`@0Hy:IENDB`PNG  IHDR*:lK IDATx;LSQ(ؖWy"`a1:jt11.NAd\IAA QD!B H578nzv?r~PP ZنXIKmم}hu,*¿%V`.bYXUL]jx{\co5/&]Uɾ@g_^8t y.HY H6 TlaQ*&\mi`eIj<| et9z6^X$nSڞ1Õ|+JHԋTtA_#(0?YhlfSKg$PIra",2nU1@N *J9yHkȀ)$~*Y?by=xJ4,#ZPH10YSS)(q;$Є7F ?lG]<5j}/a*HEcJ3Ʋ.Tn9S?cC* "pttpq\\AMpAHԪHkUChk"wJ9a?߅ {>cfɩYn(ᄚj&,ͳ짞8C''^2cf@-K!]>,FvPm#;-OnZAw|njcT?wkXMRac%Z/C$r&AGk|,R/Yo*[Lukz C;C$[{ߎ%h"hU{P\bi"UB5d -wě 1fmK^ϵ)VKŝIz@*( x6t|C8=81[VPú;J^ ˢڀӤO cx_4{AEz^;W& Kڏ{Vj p6<ZVUjX]IچAԓeȣ.ސTe@ ,G^.+QBdFʢSTK:,kxJ^EaϘ{{DѮ ViٺqoUPI8(dY4lA[ F4j[M&rWzAFjH^V3p l.8yt ^ GLXBm=ԍ ;C2RGMz]> `m*v@OcvW@J즉^Ba= s)^?a΅IENDB`PNG  IHDR*:lKIDATx^̡NBQ4h`MLvh&7`,F&{|Ϟxߡ[ZǞ|dОHW6dю,4:$.ytG>h<:ͣmeGy<:ɣMEGgyTGH5ytGOytD]ytG(i֧&ҫDc>e/>OYLgp}F"I$҃Dl>e)^$Oc).JQH/DzHO'k>e=^'ҞD1ZrH{S>էZOQ£m)o :U oIENDB`PNG  IHDR:0@o1IDATxc€`uA%#A,&`1cM$2~IENDB`PNG  IHDR*:lK IDATx^?kq\4ע! ɥM16ibM&m(87g|qtT} ]EpHN gE(q<ǁp :ACUx ;7(reOf&+C.ň"}s|21Aa̓O&Y' 9lP6ހ ½q>vIENDB`PNG  IHDR*:lKIDATx^=kS綽MӤEmS5CZ6iIԼ%&Rp' n"."8т~uW"(CEBYDy?G ")"f//뵾uIu w\&a7&~ 5UZbLvR sDѴ'lQGU݋Y蔂]-JʱLisr-?HQDZDєj٢amxlQx4kՌfIآ=j%آ("U谶J)Ҷ(}ckyb{9[kU\[tD#mQTQF=Y$jh鑱EQc[/0f둷Eьr,ڢC8aA5PChw<2(;e =F4Y[%[I)ڢ!mN N}-MS7O>yδGpAr{_ ՉCz*DNF#ݶ_O$4mCJoL^%_iw'?ju׾;ydS7IENDB`PNG  IHDR$$K PGIDATxcO%8jV8ju C^1^&iq961a&mcq-lnarӲ be-[1b]$]6Jemco_vOA`ݺ\ 2 fLॐK]KAt#!lQ7l0QQ."CA' d Bc]e{#"Ê͋S}CcQxAjb :1LW_ODL!b熇@#q.R8vf "1t-!$YPnQc݃/1RV\Cjd*HԠQ ;)IENDB`PNG  IHDR$$IDATx^kLSwƅr<7PZZ.>&,61ld,.[iP6QMEPm_ReQV^66χfݱ_{y'sNMLLׄ3cYDH *8f0߻@s H}퉂rŊk0Qzms ,v+Q Ԣ n'O[Bb:lHnI=;8f0BZS `CNfv3æڑfjNfɫNeVQC3v-hFF:;wrewU*̔.eTQ\0 f]h@ Ў$Ķu1M|m]al +FC ІG$R:^/y̗٩'ԛcgЀ4;< < boӷeK[b<ͦs:"Zā> Ss@ZЄ6<N㧝6mCozBM fLJ.lvQ39hAY#  H7{ۜRGB?WU:6xif&PzR*M P w%OcŻl>]VFȷL6s +wxЄ6<O@~ ;Q¼ۯpTԭ4r80?[BMʎ\v/S@Z,*x`a0LxS(P35zצp)=Np8#? f&ۇצH^u d䶓639!C^}X/x ʠ-6mCOvxP gۦYK^[)x2;^=HKBjir#@0 xBiMz]VeP[laXÌFWrB}XMb1f(s eNxPaō 4nT<)׊_9Lp v0G4Fg~(usfTx4P~Ԓ'-)~2%r~.-~H8C<9ZekJ9}FY 36ml#@3#m1$6%9=hBnpH~6ØTs͜d'8p g:J ]¾aS⢀33i p͊ײ土ra,w֠E HEw+4ɫ[T8MnІGD^//4CdRDV,mQWxgJLr%>,8 i =*Qf2iB*=X -~MZRJ7ɥYz,v+;("!^"QC3o/EzBIENDB`PNG  IHDR$$K PIDATx^Ա 1`p6Pn6Q'i)g~^aQmhC`ENf2f^4Da#D3 T (11Ki*|p-C>rƨ:cDKV;I5 wvCQ@3IENDB`PNG  IHDR$$SIDATx^]lSe|w&d#Bl^Kfфd0t0# SѠ֮Vl2tn8 \ G6?1MNi˼0_rf"a%D&Ed< 3hD`=)Ĭ۷D,) ؅ٵjՋH0ݻzu^@͜ݢGUЗYtZ@V* .Xq|%Ie 'oܸv%3#O#Y |sŊم҉'40*Y"y@2 -[VHs4"u\,G_i !10ӂ37GsxBQ̦AΫI'EK5{ojG@l>+-v>FFSV4*41#cG(QL&UGR 2Y4*h6{5m̠6$USV2 1vCgdSR8,>eC2 =CQEXd\Y*eeB 5dc`(GY}d + 6ZV52RFYɾC99'dfS *s){(J)7$mf@+($"%< 3hoy\oK#IENDB`PNG  IHDR szzIDATx^JQ43SH$Am ^ "L"[(jDo!پy&bFf ..;j9z!ğ |L 0 >?ۘ7.;1um O=8>p ئ Dr8@4 opfZ€\Hz\rcJ'eFE%w@ d3,K%\4 pQ T x\3 &-z@LO@@[3nU p@sCاW)X$>Hvds( @8CX1 5X>g4/ 2 ƞU,IENDB`PNG  IHDRw=IDATxQHSaSKKBꦀ*L*U(ZIDdN(f*J[YL5PM32Uf67Os-ZR^^?.e%BBQB6 "jzx0^.7#ИP{f}Kj!jzx0JNJj1|m$n$@}qmee<* 8j*+ji{&٧} ``,ا-vir@MVI@~]bSYvI 3f,)+&R_[>tXSzr1à ObK=Ʀf&E``(`>(R.++prt\PÃeYv+P:%%u͉ ڳy kfigN5=<Xe yŘ=}ѱC.ys2oa `2/}304yF?Y _loSӧϬ wO񭖶qq[|Kˑ~ژa *,jSLFܐGM}#c)qΊ?W`[)6V,;( SE'i'j4<0<";L`CUhC#(%^_P_\͏.kQÃeyɜTT]omt!jzx0J>A+wTVnߩ"jzx0J|'\6'Hx1QgxP],jIENDB`PNG  IHDRw=IDATxUMOQ0F NAHdZҕq!q[1Fq#.*j !`TI?a8qVdN9ޗyo^94P!xDh $YThzijZ[GpYJQuO`DBDc==pY>v3Cйǻc8r_ '|C#}Ѩ6}=88r5N(3>>1<> 8H!˲# xbbXQNڽHQM i:jf(rpPZq13s ?|\dL; Bly7PZ@/c*6MNF(}1' D#Ԣz9nrTҙi~K\.J|^^ͮ%zM<# B>D jѣ&druqՋ Oy877tj Q99hԢz9ًWkW&'?{2^M+Vh_/N{`0Y+(bUWUh4xjpzEPCiGQSx[߯ 0t6Npmn"0 d ނ< x] p109h?d$ < 4xu3zS[y1ezwEV_{ R2|exA$^g` #D0j-2`D.@ZiaBB+w0e5aZIENDB`PNG  IHDRzcsCl0`MtRNSIDATxc0f90IENDB`PNG  IHDR@4=csCl0`MIDATx^ԖʖUg}fF'*:`ETHQRtn*$;X^ʻacngwGRٖT*dߖ՘R!WR9GR?)pX=< /ٍS@JZxSGn^6A[~lǧ Nb\m޺~3]įD$.c7`onɤ$0 hu"V8JBD4P'1EZG GS8X3w1нKĹP {ڿp6Aa!x&^ټ74û']B/`[ *l I @`<3wëCk0[sOߨt;I3Ĩ8/Hp,_񗙴;d6F˻>g+1ñzfK;d_yk޼3\M>#E+'hlIff6g<1k.lϣ#~'g>=8L+̂p"$ajk!"z7bC H3Q`5_p) %4䣧EfQkw8:bdp P1,qޮN?h (L rX\sb;\.-Mzߒ쫥ME'l/y2&7Ayq[||-GZMLXr`d&ծg8mp6בpP1Zk0(9s[ÙG|C81E[.=-RL4YPF 滐d~\'FSSFpitʅ إ36 JYPm{!!Oo!v>K@eeDHeӘm09;iFNN&JI_enpaɒFEv s2f)xX=}`fSߪ:YL4E K^邀X, y}s%e$a'uoI~H@ WMϜFyT0b@VBO{ 9ͼAby@=fލ\gNU3Ek8Wa;8ڂ &ͭ+>TϝGCò+ !Y^1 P A7JA4~"˦x݀<9Ҁ+XyP?ﻖ Ϯ^SDy(?& PۍR =-.҇iIENDB`PNG  IHDR@_XcsCl0`MPLTEݛޚݟ᜴ޚޛݟݞ࠺៸᜵ޝߞߝߙݜߚݛޠᛵޞࡺ᝶ࡺ➶ޝߡ᜶ޟࢻ⢼⥿夾䦿䥾䦿墻㥿䤽㣼㤽䢼㡻⣽㤾K mIDATx^Ir1SR9N,a}^ 7NW.A?p5%G Y8c\Lbk~%WGt^㢖\KrGLNDk|ND Fޢa 1'e2m1̀;Í6lrm_ JΤ ꌦ%/1Z{jTokQF)/-R$I;3!= *#^r 0 kG/6BX.Pr ~8@s56vx|oƉI}0w4@0-/6@%'u 7PO \`ut w(pjlEFv+ ۑ- <{>{t|DHOk/^Ri9mSѿ8ǚ(xCX1o -x r3 Ԩ>/mg!;??jTpyimd<4)6O(Ck`+X(9BK Čy_ # 8α=dg|+8 '3A^Bx_f_LK׎QzFFW3<^_T)<@ ޷<?9#x(<s#}^` T˜BsrgT|]؉َը]Fݨ4jγ&.LqD !?lB %l2u! uv F jwLx.0n3|g&?$2'hKRn@E@6h@!Nߊ@Ah 9 P rD#cM˖@sPhLЙ8}My<ÿ y s_bJtU:1n@QU?$WPc$阨*20yhA`0_1yiiu|f1?p\VBS:< \Nn|jP暤E"4ԫ2DtjOF&KI:i[d3;DY:N\锢7s7sI @ AlGp sJUt@JӍOa ytB YE D' X)&1n7*^1Ng?$`QIENDB`PNG  IHDR@4=csCl0`M IDATx^1n0 CM?K=+*!̈ګQw}x{9-Xṕ/ 6M~Ebpi8F~ nj(r /vE1~ xb9jtAH?ުO%r0 ! *DDkxwmWV G&I:}}, J|bT ~5*?B(XXi}Rhn%-+i)9XŹVS٨%h] Gw*N`z}'fv*!i$@M'~A/-j!9'tϟ'%PV"lI]Tbrm`cÒ _W6.O _U'[M~{!J]s*&@YeF $ZȉYX\)$qƐ*rR'Va|2RN9d [Y4)<s!'P/9IENDB`PNG  IHDR@O)csCl0`MPLTEB IDAT8c`VIENDB`PNG  IHDRI6kNcsCl0`MIDATx^]o\D#k-˲Isq} ]]]]Ō}m~ۮv]mo\3fs )PH xt$UP䖰=x9Y!`)-% ]ts:T Y,vy]>D&@%2K ҆ `akHlV .'9NlxuMlD26yu612V(6߶ι6Eukk•:2%KlpOC7JPâ'^2֔1tFBy)zhg TI6 }yaAtPS6̠c1,ND |ٜlYy3a Ud!v.T^F6>ZF K&6_3+[ec֖yS{alLMgXepbS5ϵܶS5!p\*:;由 >B gpת&'dfP+T&9c|inN DM1+ )JYOb3jJ'A|<l!Q}D~EUuw_^~zY. R̡ Ȣ]gV .ufLbJDt/x~y~~`u dP @T s<](5s;bG a|mNU489QK H!s!-[hHW+i=>Gs2s^@HXV#NfGeeh`{n8JucMk"e{w}km?D NdP f)K'<hD˜f"lg>ڻqO3<TH}r۫k?zo}Nv=rGx82\+-c#muaO:y,{XX=Ru SI{ B^-~Ahd!{Šap#F\$x'gd'·Ϩ[ދÇ|~,UajuĦ"Mu/<*d/ZC8 EA̞JuB6ɰ)vpYvv,S[T'ޘ,bwrPqsRE:?@P4Ӹ9Qd5 H*Y 3ۥc)ʈf-ɮ;p(uCcU8F]ع7'~>+Ӂ0FCYKuEڜ1+:*JwݑX4'/M)* K)DKe<oӁpwݢ/'y4qޯdZwݭ=c61OAd J#YPKJMD0`([i9[wzR떟̯MuhtSH ,1dw6e𸽽\n/@L bb: !UBªEt{Xa;P|H'-R a#V)dHښryuT IaM=d]$Db$ml%u=i +ϥ훙fnkC#e thVΦ*sQD:ƽ,y,9A^ #V:X,GI뵖F%.K9Vz `*2]T`XYRi3V<S8nekj *A,zYCW HH[p m\ba0sZ`VDlgtd0BLtI=&gg!u1iܔOh~RqssFnn (`#q/f\jKsrm{&4$(Sܣo۶8[Dn /m^sv0 0K&pi t'5ON(c ceTfC`iool3[lڞqմOƱZգcn,66666bcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc4p IIENDB`PNG  IHDRzcsCl0`MtRNSIDATxc0f90IENDB`PNG  IHDR::KIDATx^A @.enHD͠"GhQZ^:Mh?M7h>ޭ (Pb,*>+k+np _ Qش}0AHbۙH[2l&bAGwXfdmHC-IQ&9śŤIǔ*Wa~e+E"aHX$, EV@ 4Ү.0IENDB`PNG  IHDR::K?IDATx^ou?aJ V,Ę(c8"A ċ`DCI=T B[ "]=&J8N?wy3J{ LP&["ژk T#O/Tb)9bO ﱃ]CG([hިusMihv=J7{O.BIo.^Fq[ gh`F1G]ޘML*1bDM:fB (-Sj)JlS@c5MmJtSsWJ,‘oSȺБ`QE65nTZJU sΟvw&TP4NQ|4+#peliQ ȍFOW 6ҀaF:S׿<u/~;7=5SD0INH"Rl$)n#)P™^s% 40#; M)7Ɛ*Q & `bJe(iXJ`#k>M-XV$M4T]o;p0ܳ<>1P:q DKץӫ9JPRum6%gݦ6YJ*I  TCԤ=^R;$bf5JzKIwJ5?jJ[sc"s걷Zzc;p򀽷Jh4W&Ԉ$Rc^&4$Z".L,j2Ik+pȎ@n<}'qOHK^~ù*}-LoʞT\' vՉ͉*!P"㔉7Eo D"ZD\{7x#MΞx]$8+tc7'}6ZjEx^x}\"v{մt3W-lᤢO"zmS`Hr "5DIkd66ٶ9;rbAܨsw0/pѢNKw !U}n *, )` 3gd? I4Lbgcg<)T1Y XXY}\(7@|P!1 U^^^sIENDB`PNG  IHDR aaMIDATxbtjb@`b #IENDB`PNG  IHDR aaM"IDATxb?:}p&(@9@OIENDB`PNG  IHDR aaM IDATxbtjbɀ(31  (FđIENDB`PNG  IHDR 0(vIDATxb?1D8} fR<@g+DRı_)?OoqKsӹ1 @$u#kU0*Fw#Y}"Ԥ<S & a Y!@}Bn" $ՃC3&x.=2(?=8##ML  CT$ 4IENDB`PNG  IHDR 0(v6IDATxb?1Q%XH0pTQ GSn6IENDB`PNG  IHDR 0(vIDATxb?1l?@?m_=A &F ?$FXub~N_,l& bN66?#֫iNlׁ0IY }qӹ{a@?WdSo' u^?b`Ҭ1#ÄbRDZ*V`s`/0v0ƀ9ѶIENDB`PNG  IHDR::KIDATx^ŗOSQܦChT?`Ę8!*ꢃqpMCIn"")DH pv=~yn(1D@ Föb 3َo3bP@o_n2 j]K/MQ&b#C7o,%NJЕ}п[ 5=~L`'+0C%HP7ĀLÛ%\LwˡƋ'l^\`.("~$Z*LAcKb)LAB˦ԢMb@AC+S=u2=zZez|'G2їW TcMO#SIy8^0uq)ֺ(o-DsSU'UD6HGTiP^uR^HE nL+{j(T>b'|в)fmAr$cX0@~@2Jk&{ j{i?Nl%Zz^NJ <}=O (CH쑩ٽL(w:N^ѧuf۸)xM~<׸4nn4 MNЛmbJ7jsosߏ(? 'IENDB`PNG  IHDR::KIDATx^?kA۽[nC<0E€(B V4!E;#I US('1$Anf0ews/;0&&D=BEO? '{W>̊I9A|yq;z)̒QMNv1 B(|7ӽ;Ni`<^e,(@(i l@^'5i+V )1)RUWS&e Bؤ ('j^? 8$'A2L3w^9H~3S qͧjM5@4Ӑ~~!6AEJLĤ)}}UIcŊf-7>"#w&%Bխg螄~Y7r)WbJqoJĄR՟IENDB`PNG  IHDR" {DIDATxcBȄB #( `W\7L @CnkWCo>XMb4eg/m z 4taH $,ev~p~h(i0Q㾏aE$*.YPS%{#yIENDB`PNG  IHDR" ѸIDATxc! l m {1 .e36>{!s>rL Zbye_ O=*Lp@?N n"PA!Zb[y ؍ᐷ__V <U[6 ;@v[ebG bl]̃ZΧ\6IENDB`PNG  IHDR" ѸIDATxc!/^&1L|ULw @vb8Uķ 4KxvP'C?Y7D:揘k?W+C, z@?fYn ژï|{H?-1]>rƖ}8j+G2q]稇IENDB`PNG  IHDR" ѸIDATxc!n03L04 v!&>VwO߽i=vى>[R<-1؎~j|tQ?ى'YCL$-1؎po]~QhZbOK~[ebG bl]̃|B{8AIENDB`PNG  IHDR ^iPLTE] ] ] ] ] ] ] ] ] 5] Vmas9j(CH^ ߕϩڅf e~IڄJb/ tRNS'%(MvIDATx^0 EQ'iimw'HB-nK,A5 n`G`g}b8K_ՖM5)撇E xU`n#jXpKܽ0~O3]# (2wT& DIENDB`PNG  IHDR;0IDATx헱J08:HS Nno EEǮ\us(v&6% iPswo +1ƀ@4A43 2a"SP$w#Ug$X'4:X= +V;SGaGk}5I|ʛ"~+16axa/gϗ;|z&x gLǮqWqr1'{&{ 6ú7rz^?IENDB`PNG  IHDR;0IDATx^OJ@a/#)q뢋A .ŭ]=^A^+%Fu~ NB_x!7-ҵdwƮU``aFK=76X!|vz/vy!YK~=JE2\s[8f{٤X>c]8=:],Ka8=|.0NCxoU ;ք;*T3rFuF aniszc<~.L9s+xx^oӨI` iӸIENDB`PNG  IHDRg- IDATxkeY)C+9$B/$xKOEIҀ(!PJn{ǡ^ t|Ǽbäyy3ym.A@ @@ A@ @@ &#]_`͏/N?o R^ q5Cu]8Zgc\@u=灀c3S5!8o?e@}$꾃PpluA 8O=HV> [ԃlSO=HV> [ԃlSO=HV> [ԃ=ފqJ Sb^|;#i flC 7'^wD`z4LVB,9d?C|j|\:;h=[w:L~\B,.ۜ! qFS- X{]C9sRs˷ߖpM蘀UP,31'XW; БHT: (g,ƈrt `~HN$*ɉD6w'A<9AS@*|vyn\ `0y#ĝ!܉9Ӏu$,NbFvF­l:l'*ėLw?ϼG" d+A@ @@L4x"A"pn,H:Yה>E^'M6Xmu%Q<\te 5P'p-aֲ=# J-'dW!I&܊r>[Fnl W֋Pod:OR\,ѱkRRXdž75v)(i.?8dS A@ @@ hZXaٗjp'R͜#0̇lgcyHC8s2Ew{/~ב'5/5Ni{840[H CWBÆku-d lΙ_1QƟ>՚g*l[>큽x{-%zg^ٻoӼi6f:c>xe󽹔Fo+"s%{_{?{Wy (OkW$@pW~@Ft&T́R({hh:T 8EKNOiMZ8L\p1pEUcr9A? Ѿ@V"&@,! 8 5+2`TW*dQTW0dQT8TW6dQDCPP  Bڟ*?1AT0dx! '! Bڟ(@@'A@ @C?1f $(3PPO L!F  ڟ0 @A'@PF DCP&POX V!9$~d!O؅ 5@Hڟp2B'B;χO?GГI0x* Tz$+YiQjQPW TBlht3MΓKsƘB|ڱ:uv@vsFr(S% (#e#3y2A8s:-s 5ρ0”&S2 #Pzm߆v ̜}mrZWͧ.ClmԾ!m"G& Hpw y ꞝЏWUm7TO& 7L 5BZr9MT8VDOOOiL@Lk'ބg '-7 DshF!xƞA677wIC\QykPwlf _$7w4e^D{/X,f@bBPw# P Lz3C}>fUՈ\.4bᕋU>roFh]KVۀS_|As" V]}0\B;Ջܦ!oz<6.{X}Uqgf##Ⱦ 7kVΗsY,_ i~T2d9ǡf)} w\M(;߄v6,"܏-}n&ZWu˵`p@Bt|yzT/ҿ{7l5+V6wC:}Az/q2\ O!˫o xUW|zL!Éǰr9&zs^{uAO :,~x@Qd@nKoP,ˆ_ ,,Z6SH?p/}go[tp%>؏[bw5^==g9B>LR\3OHVxQ*(H M;PԂ .hG+_IϯzPJӿ1}` .\*rjvC?"AkC=67] 9gʾ]H\]Nw} P{ ;33dT^} OeJJeh:JbAymsE@nsHpUk~y7Z_*'7>H~a" ³H{'uk"|Q@akg>0a9R"o%v#HnF9k4 +>a-P-솧ߵp]$z2l H?pD p\O9`, F~u/ 5\ț7Z+/;"u*c~ ps$'#uϡ{)+P97z {&)a--1~$oqM>2}$t9ܓ<(SZI3z(|'x67ԣt)p }kRnt Id .Z>Oq_j?%Nt#cu DetQn : d~?:˄d]ŷ݇-ӝ8tq.if0@b#}m.:G( pRpoVb _ r0NdtHX^dww#M⣑~OP =!ɧ}ߢFŋeKm/|n#~;xB `{S< ppESia)^{=gfz& t9_+S'R#z`R5D7B»?X'\gExb' yjlQ'yb0 WS4{#!h!GJPj/ :_\Q9HzS@vˊ&4}~5%m$KiӝvF ti:Ӿ y'xtl,)3~"Pa݃x]5ֵX'vpdX/p)9r $ ~*/\jas&D/x6/0r{ f%-Z}`l|@4DmhƇyX_jxAғDTs'~2t0T9`I(CMZ`f#GMԹPGtyOUo C}c,]R< kE7 ^πׄ;;=J6 HgKр=n}@W?*90q( Wp,i>mCC!hfza;2&#}C];؋J G]:8gMl|bTy:a~`{' EZcOd[ED$>bEGjQ}#e ~keKChQs ks);Zšu.=cEK?<æy|>6WTWb.9:TϋHN)^`!XhedX4VcCWY'@ +ƈ^ %&VodJO`"~SIbHOj{mF&Dӛ oϮGGm| \@Zt5X\o[NǠZe#{V}ȚI#"HPu /qfa>'Wx;),1h`s(2<ՠ]xTxj ǐ@/p(pM ?E6y[fNAm?aL4^}-X=U~* O3ӛ'hHk@3Y@r0pvYr4N+IY7'`BCcGI0\t.fi cNb3J'I (6or>n~/s/RlidQç[`/GѥȞ5"{D2 Oovō8~7.(t{ߓ Cf`jNe71ou7P'ȄY8h2v4/4=aXx۩x@j;~!#Ѕ,9 uf =:R[v)K}:/t{'|!7v;1?;pLRT 1 3 .DEcc0.CQu|1j|[]+;n.0"ʧ)6HPAE_Ye3"ܿU/RwsY}!e/BBwzꞦ(kmm>c55__4WV~{b]#nxZDlg+x!e{Zup]q)HE}t3|o ]v A_s|EcK 5}FTV~_I@&cXw3['`֤FT]熮}~.Y%1^9)1m?0=QYy<7C^YQ7bH;,Vz,? Wtj lYrǭb?C9;2f af=gd@ӻ~+P[.7tWR9>IZ? }'_.}E,P0 6Ϭ–q!XdSZGͰs]A338p!#ZӏЊ0^Y1aܩP ^Z|.ot~6kσ}A:Q1PI)s8BΥm Ph PWuu9{Z rLmO7 Lhq%Nn*ӆ hC61p±_v(,|^܄3/*\b|mV7[cݛC'Gc-dO S`T# w.?$ M@‰!`2FpKnvtRskWAgϪ Y7)6#u*no`mAPc|)DhwsZHv Zel]-PH.O`8ceH%8gn ߋ&!z/Z|.~@Ovws6N`bL@j_T2.<,>`- @"Y9zMfFۏȠQJ'PXb<=/X3qvwțEE[L{ZdW.GgZt;Ej.o햑·>1zcGae35zHNU[7#-,gW?Zj?SZ#Hxd*Bңs P_2 x}fefcHJca>l 3fh*Ls b]uKfˁ-Խ@K N+@Pfv!:Z#m 5JA߈bک;{Mv{ 075ߟWÞaǓ)'$нvrnN:a s*}jQ<dQ L upճafrcO6]V-5_' n%dewo霁X`c?fjE3 EX/&[' [JXw}Fg32Efk91aHӶX颊 ؋kjZ w>q+pSwx#ƝT怽d֪2nTAy)n;g R-4@)}["-|?UNPcF ߝؚ3*^?VdY~㪫2N؟Nq `I Ϊ?<՟LWmx4lx2h G*#U"ml࿐o/8` ̩qYr̷wu=F1=Zg\ƹ˚/nX]BᓀFIВ|\=*]-=Ɖ ܩ*sSDb~                          p`gIENDB`PNG  IHDR szzIDATxOwp4q_ſ`"BD]q& 'ćPD#25jTb 6eF:蠥ݵ^;1or7l^.}{M}>M`0xT 'ST|>CǕg踂 ˼^/366+@pP(QP+ tAAC~a pI]jt+K+@kSG'x H^3D<_G λ/@U"Yw T!F L881T _#>G'8Y&הژ7֤4 bD[@r# cF6ea$ʞʳ$U6pd`fB"σ?]dz3 pUG(BAIeP媆i&TiS*J!p^D3' ggr*|AXX,v|z[Wg = kj\N5{#?cEn>[;jo IfL}Y@LF.sHѿ٢kD]qQֆ H%NLµ,zQt1}W̬l.dm7C|Ջ=qXk9 X/$WB{΂6< )Н@Mw;_ߥ -'$~Ql8@^][w+&<^QBR p3I 3YSDpf¤  = ^R.vlpU8 ; +0>>Y.j1ILMמ 3Cce,?:\^֟W[ jlu8b%Qvxqtڑ}zͣrۧ |wDtIENDB`PNG  IHDR00` PLTEߢڀwh]WKPDOCVKg\~vߡeZMBLAL@K?J?cYޠޡWLMBLAL@K?J?I>THݟoeQEPDOCOBNBMAM@lb齺VJNAM@L@K?K>J=RE齹贯PE賮IUBBBDB)T1}U㹯*99q`l[t)٦@"Rw(k5Ӳ\w4FX H_g AôjZֹuPK|H"V" [5iw,L>CV"O6NZ̓aӡjfp\5ݿ&^I0+»vG?rwBpSķˋ^-\[/ػ'@;tpq,'sր0A`Nag<Yq(bgXDIrٳZ| ('莖Nn=!_=R }|3\qOG AkQOoT^u>e}ރQy1IўjXz[^ʧ.[W:RYJIENDB`PNG  IHDR@@iqIDATxiLgGM4==TK"(E*m-ڂ4iU{KS 1VD؋fw{ISc0,düɓ lyvv# yGyQ((O猂O$YB13b7Oafd2;Fqn|A\} HIH{UȶVVD cnl`F{VnB_I"Oj v)#,7&fQ@~EgMr|vv "jt^B-s6kVMV( RyL<.CkV 벥K9kBA. 7'D$̃f. ,(N6~GBD "-C<Е 8U-5X,b6NN  ػOu k\gEdăݠgnH;%APG":jN+gOڨ̽\35L7,gmv=-N<0nt'[yK `Ьsb9P _n$*Esp[6C1T6T/nі+.B~!@n۳7E8w XR.U],muB/Bn:a^1΁vHmtJ8ľo7}w]J B<`n`2xnh&E`Va{%$.,hVk$y| i>^D?X)1,=rv=S8荮OrQ{O4"9w;^*$.,]8T\.*ZB @ϻ+n:OnPKy!RSM]] 7kgWnafNć@i6>(|Q2IoL}{Df7w-ĵPDLjCScG}0UUxYB LfmqtݕL&?p>whm2RorfggCT*/˲~`?]hc~~>V(WVVҊ3z ;;`uyޣh͌gl6D7~:~WW^L??zx? SO/]}w/^V}!@+\8`"L _'os˟F[VOGw)u&Y`j}MNu{ ܑÛNB"H?>< Z}_>vRqv?Ƙg!B܅K.h"}y4DpnY &'psg[_Z= Chps:~16fe.m$zgtS]FzE۴p5 fuN3~Oo #p3p:;qCμ^@3h yV>DOxk58 Y6lFiћH:{vvD7\B\I`3 obJ[:{! V>(vА@V=[v5ڇm._Aorb%ǿ-K@BA,X vfjnk5]=]A!Pggӆo&m R(g  _} &UNچơuhw(w?xvssxwuO~" 5SC} :`,Ɏ]O&9;ݣ;Yߕo{}`^⠸>5 B&]bLhZͷ @!^Ka^zF'qvk \6D e7yW'}Nw=e`\oہ{դ6ʏE-1ouh;|rf"'˓'?̈́2~ C!}}/ e 13Z1&YݢERCB\n(w `:߿{}}}-7b 62{ XR8&xX!?aaL6Xqи~)ԯI~U}=чjed-MFИ!)4w;?odn:- gPcgL@E0,!8\ƭ&L>CR!=`ML<aI}W@mXWAk@'4tյ&- \[n%kY*^Ě0V BF;YI'54{$9X|>oy=MQ;uE)>\U<8x]Bj06P[h_/}:!h%-NYkA]![Oz $nK*"h͠[ !l ~#! ɢ5e`lltk$3l>…䜄a}uӎ}}x݋>uV㤡YV}\fO  ,T?o; N&HSf=\}{ aB!_p7]%Y qE2 ژtZsA _'R[Y9IC>Wh[%[@&NF7Cg:¯B5Nn<:9ߵ/*4FqBšͰ}F}n(l65ɏGp w-dMI;d33Cw d)ghq\CPv91Y0s-W|S{G|[Zi;nhQ,N!Y{7' #ȵ`M?IHE] Pد(N+};?¶53HS[! dfPw$ ^ $Fr/shs1Ԟ,X*!S[Ì:Hl K%}+O&~& 6$Z$^琉o CdQȿ(k6!^[vq6s.H3Z% x8z͖-¨zW 2aWA[d<>Aߞ-PwHd3d9L88ZfgUkyKIgT_;`@ 1HC`2 ; (ມ%b$WY*v@>~eZbE^x5eZ,!߼>EA? }y.s?3YDl` Wgm_\B'^c@8v EAE6ċ+F"VJ.bX3DPg{ sǹ>@o?~ape9(?]ODPdYl ]$e0=RG]Xw2a hyXձE*pA.`M5WZog?qQ1YWE"ԾI*jC2j'eXw{)2(bD_"wm?*o'/_+To =)~Ui_@\ͧ?=-'>`0 DyW7S_eeY^L^D`$e{E]$>vB}#~ȃ9.g~xxصSc<'z- o=>Mc[½HI8<a-˒ e&uEz࿳ k"= j<=~5%\{0 ("*j?:ɀ'ID3"Lr1 $D8ᒽ?s:憅lz@# +0 6ɧ's|=,7A6:Nhk,v2C"-sω}'R=`BTL{Pc)R3)σ%`ꃝhתY,o&_w*}@Hf=p6x%`r$k y+7H,<TR7X"|2u>Ok{>p>!C>L_.# X"Y5K kf ]@OB.v}և} ~!2TթohM#@cp@Q".!# u|}hPŭ֔"A^L\v$SBYNz\\hP(`3 v{2Wm_mW'vn屸]Ayw|& )$SGuHwjbFާE `w~@na:cP]%냾b}l`ib,n<]wGkp]>x^ ݵkm6w`!#L,B48@ $`^ ~Mz|],`YV&t XJ-ϞV:KdiT)O̳an}65By Œ CfЛBvvDY1'ۏN$oi;,ՙߣox*J>M/9&f6ͬhC>/oifE$T#ZE1Y!,Ԭ OVM"k}bI#26q7/n?(S "(Z'C) @G7h"f*_jds/U ןa) ;]"}P3Boղ֕R# 4Za6tPCHI'QQC,¤ʃccHa#GW8Dz"d<.>_e*Q@{ /Ogk8Ww]mY1lCRHݦfB!`fOXعRSfٳH9c y$uw>4q۪1G'g?N/RV !8b҂ 2c܃ ߺk4cRR䛊W R+ OZ+c V,,+gz .{&z2!E._x*TzdT j,O 0?j2߬xAj<@λ+'ԑc&oN!;obsC$dY,ӗ|{x}t\x|?q.@ͣ~%nѽ柯??X\^TY(6MПJ1Vl۶uӠ6 .0-@ ϧ^М$86YJ5\q+B]|jyhY/%>e8? o/.garc:ƑE>DǪQqiT=%@T́'°xFMO"|n0]`wgT$`8MeA (Tƈ_xb8~R"@33cW;b)o\o+/DR Ow>.8ֲ\/ q2}/}NC\OQm`$T%k JTiFQƘUo_L~99y[)%~P4`@~m?}||T_K ߗ b(0}<.^^"qPUj;xhН&^mˠb 0^,zXlrрє@.dՔ yD+ʸ?,_O''?TJ*b Oe"U1R7''6@(c\qnO؄aTߣ8ڈw|_WD;Yƒ.O"$T*Nq,4B-*RR&ExOu8­+@wh,Xa=]Yyk4$aRpd%#G1X-EIpF8;;#~-wJ@p׃Ni rP,#oJHڪ %~&=~-5`߇Af)5{pS<JbKYՊ}5j|B%8ͭE8|@VZ[P&ArfxUEMC!8OvhH8 KЂntG֗CߋE80EN~(pXdk%_Ib 9Y5_-]5<?ՙ/(cXEp!}Y?&(M"~_B<{ aH{8xdOE TE dr(9rp}~q)iK59|u}yag|ΫKYJt@Ѳ$? |P'&ϠW?T Gǽ], >|0gYhF`q9g(` Ygqz~޾-lU9JPP(C*<c'i 2H:!<>ɦ[0fXv VGEiP5է1P#E(`0bZ&`: ™YfJVhXڈ+ˣbM\B.8Aɦ(*0ˋF*.>X AjWxiˬW0,, e**hhS\j5LJ`1 H7˼Li^z uj[YߍQ7y.xaaiFhxIB[[CeiΥ3kht}S -E`Bjб= sˑH.]?;d!OzC;F]%@_#}~~n%1/QaOyZ7Ga:$= P?g 7/>{_LJt3YGa;O8֩;d3:G9D0P%qzz}?mj t^.z&e{|j,Y- c1K.aF~hZAI/*n@8d0Ik,L=5 [F=:QS/!@=RA SQ0A9˽LT ߑLZlN#r@$Ԁ .eXx\A;_MPF;k!ܗd >['b"^]P>VY2\ڌ&RmN'׺.ZvH-iJi sia2ڂ5Azep ^^Tʿ:˂a%$̟_M'W"a kSSܨɢ/]scI¸TV\w[49Ǚgg'օ; <7" *=eZ*D u i}ZU-ؿdOI7%OϢg0pSXe5L v)vh?!tBz0WaÂd ~h1ޚc1b]b{[78Ń!@+#OΌ͇]_u}~Jݠ ]DsWyZS#8ւ"dL T~+Tދs@ IQ$+Q|ݗ?u5gP:[#,"hp7}ߥI ͂ td֟';AX}-ꇞ :YNSEM[1zAzu+(SD e=nZ]UڷҞG;4<#h4G[/c@>{l, bۿK!2vA1<x0ZHYlTq]L_uy)}l,:|:ԷA<@rT,7{նC=~tN-)hP(PJK 6#]h>i:YjV-rx`0Q@C@2 Ј \ڪڀ 1VAKz\wGq#G59#!:, ףC!Sei͝ackr=l%'-9z"xG8]bɧۏ7Mۣ4I3HjLѸEWZA0\5ۓ- VN-0$҈B9k=Z,nv7o4/z6ez޿݊ z0E_ m$4 / [/ 7'~B2 !R=@#:BgR,~w;״,{轨i.+\rFg>@_o* iiX#j{J'~k!>F#%=% jEV.`CG+$sa}W+YC`cƁ&*d'$#!L0ڥqIb׳bͥ\&ow λfA$Ϳo}(3̾4r/HUmN_z;f+ I|&1.}8ϐ 'C#{un- 4  emEoŒ~u=Y}ߛM&dRP,$@xi-+ڧ%C~$ߓ$ 5qgw֯*?Ԡq9ܔ륕yOyKQBw$`{M]DH3$Wm"B({{k"Lя:,dp$9*Pxp WUDW<{$FY^zD Lg= "\] ѫV @* I'G9B;H,VoWt2AH&H#'6<߫Z\I?>ryY^$%k F$b«E`#Cmxb|0$2 iS-2Gb. zMBX}9AD~ӇD`E'}y лCKOߟͦǃ꯵qb{oU$&^YRtX>!f`IkUBj0HH< }kfEuzv1{uj6!(B2Bi}>x[z:ܪ=8_56˾D$u?n/F_GXɀ #'9x~S@r桟$AlU(a˄IV'4:>922x3p]m<.?::>ft|z>^'T|a,m$ c gժtHz>!#WO_v+&BȢ4FU'է3ϟTۜEb$xyAףӱIR~5c>D|wa9Mt Eš~wH: 81VoJBh-&)"$ 5D#;tkg^vޞW٨~^[FTǏS0G G6W{Dž^S?:HI  z4jHFq6 w)*jNv|k$41 yo=Fٌ*:Ysn -cS>/_?ùr%I<@# T"!ϻODM'-}y#`%b|חOwTPO+B'` ? ,H" uNY:BMiAe9D&&؍izrYQBd$qeaޒMaI.w99ŧ#1HB@##GvIimaom(-ISڦ!M/=|KrIa( D aE'C8d " lq^NhxޖZ qk^_~.J v:65\ $X MYwmzAСI6T^rbV@a:x\?_=i9k[ދ7273U%`ktRAz/J / %ۀ>?n U!;B7T4K F!#Ay,B&[ 14{^nlj|6@߀B, MBwNή; p5>X|yD'$ AA/JYU\cQӣEH`|}Vh9+/?H|HP5D AWą11&nt3Z|!3a3>ϱ9;6\g\g_NTuW0|22jԾ¾NOE,"E1A#4F a}` !21XץcאƧm߉fApR%Բ8rt~7S/pO n@`FY9Kt!\H "a `%:M'n8iG$Eay 5_0=Ҭ>ɡj`UCqs,]&6!馹G[367Usӫhv` uxyz#A#`̘1/%D2R;FgS},ӭ|ɺk#ާ} coGͩ=@=7A+'?pcX 5ch^@0(c!:hh!` ۨm  3>~d;RksZ_k0Ԝ r@U{/?7 .FGIJ@d_ۆe]%F^6a4)7; ivn'߰[FpM[jL9{p\E& _z[[S$(v걬Qk@$u!6&L1K I{|"//ƄupF je5SF2% 5Լ Crl,r39~h}vCíu - w17x? %v!ݾX351cr,ԚGzޡf9֯\KYw_gO޽z{n MhIɐS05H #Ӟm)@N |q0hFh=E*J3Sӵ[s~ujw+ Cr /_sfFpo}>X)[A Il<r$=@H&#:0оkZiI!_}N;0 Z(r.n ͞|Kɫ{x$};> ҷp4O's.H ~\1M3zU X,s]2::&PM 6V 6Z2lxmH$Bj?`#Z e{Q^[[{y߅qF- F؊hf/n~ pZLs<v+?9=` lmXlGA{:Zi>O\ 8ԑN閎 6ዟ;?_AzuiirNNNrQxJ 0 K;R ݳ&@JlF&u]YXXxFW#,+u5XHpQ!])1\,..f ;==&߲d2 D333+7ࢠCScFhaH@wУ'86 4piӭp<(pWCvHh0,; 됚PE N?^h-q&*: Q#VMܑN /` ņpn->IaۧAփ\     @5ZaIENDB`PNG  IHDR>aIDATx^I[[k|!ui` !V2)BIV=/&̇}c`ZX:gmMv^m=KvZ}؞iBA'@&Yy^w>Y^?cUQ\kejpe✷vmB>+NuNTr׷N9J{FJ*ޝm Yx|bh/(mt*3qPV~Uۛu0F"ѻX(gaaƹ]flW#p\]^7W7.i]> E=r x"du07{\SU7W%,ΑSm#Ⱦ-}H@ =hic8ܬ×:gv-4Uuh`~a#Èc;us L]:|Uh[5/s<$/ ]~[Wdnm.k|uZiv!` FFn^l~]91:Ww5>ls_ Q* /zS=}fݚD}>zeE% 5yvdt>)PXb߫06@}h-9w q~߼dlsv o}IX^MQi$tē(zomE]cYH {GRȩOtHg}ǀE+ 힗. yP)%Kyݛ7rךmR م&ZXbY޳U`g u)ZG?>x'/7 to4z- CuDmfu3e3m t/W7<>͓(2pױH%JyO ʊMp;7k޶uL+ɇ3o>llF?5ԸROL' @YldKk,kB3ʝF/9mDՃ@DK=GjYk-~+EK}V[sl>,r:vJ۷_lmL~^m:jl?NL.Oapɟ󫨩 fn6ŀb_Xr_[WZ7+k:8G}1|㚼z盘\o{{'msuB4pmy,+;QJ0KHE>1T1HcnەoտO×oF~K:dS<րDP:&0b@[~W}c`c ^qﹶqB ۈ4Pƞ'$ZO/"$iX0>qe F ^ψXˆumf`bj9NvM~/'a%S`%1 %svV/(%@k/LB #+OL_~I4Q*ĽҦ5\S<2,s6M=wo}š3BFK(dHxXlU8'l-nV zD6.ÂT.C@ C6T,(uLK3 rWcr^2Q+0Rb_0:/h wOkFS"EShp̴H9u=.~xמ  Er F[hiy%tbBT!+hi"lIyda^Iv $CefRϙy%%2+ м)a`s B3_Rԙ];F|sd{3אdHP,gN')PWmns^5GElEM6k'bY{c䬷o5~n#sH8- dS|N D-k:'$ inb{۰/l8.㪆JʪHÉS䕉%:HzXD<$'=׊pU m ڷ3MVPܲ^ ?O-[br xjPIeR7I'c`\0۸5e6Į;mm'͘׹k 93ވYAFwMO A-rhXTQvsrJVPV`2*>]NbB5Mc(idq{na3U\hmseҡ<DF"(ƿa0%'O$`+_ U jZeY۸,SD|=a$-JA~IxU\y '] f=ؙT$~>a/5iJ "s҈O+3'xUФYxm(2(#IJg(jQVt\hHvWN6"jLKQ2ȴc'Fd#d ݳH ʀ)E|6a0FB"Èg/WMNF*z.:y>MU&D'7m9X <2S2EdE_._?{ݟa((:K77AqF=TVd*̗,h$U^Yx`%5px)~J.?ĺIZBawg'{`oWuoe&u+ @j5,Wx~]e,\F˨}c84h5~KvyI.}ϴ{2iL-r;5/.l.z;=-,D#KOvWB73fČ R_ X<\G_W+128n'gV#)'ͷ"oĔ0.0#g \L{Ҍ9OP/L)E3rVWVE'r6C/EBXEj;/Z6ǐ K]VbϔI|m0XILT0<$ $Y6r' 0,:L$9|UĈ$x 2&ʗZ=b%HQS8!*&A(*T`_rr LqhaJQ›b/nE=9@B^'"@%<jaTb܉Cĕ%vI1Ƀ 74d2C"ђTXI'ђ6Yp% U٦HTQlz^@*Vr ̖>V#Xl[bbu|Y{{'~x;U}zV OӾVcNFY&?- ze<^X(vq`++ߗ/=KᩪϏcJ ]nn&w wW7#;>CXb)<+Q6ҜhqݤMeRXHwRY օڥUkYnXbH8IG19LԤ0M<3pIgdSb9>ՄAL ~bܼƓK_ԓs$~{O:8[<)cd<IXbG2gEB-W[J&A֐r+|״%:Xe  &WHpr]4A@3{X^St 0dzrGJ6W De*W~}MbBP:?1%L]& Oe5TCGKďbq}es{]Sdžd1+ ]s4a\pvqoh؝|[mGw<'D_446Y!>@ _\\~4{ǞAdlj%7 >iaDˆ;2t! Hے0& zlgT* T9/ -W^ə!K~Q;ǂ ;)tMxm8`2wȸ˯sLy?,ۉ4j y~mjm$rv !+mp); \V/>(guh "ߺ )_&Hؑy xtCj@P㢽|mbIT'B.pr)(-0B)/Hlr2HRb+RM2 p!qc `FjnwC Y/}DxsRӾXzqit`(bI.]0rg: Ḙt&7{4B(k82yL5c j;"aK@תj/29YO S-E<. $eC'%.<9Xg u#3CcCLI5imX%c V-vIENDB`PNG  IHDR&&4!%UIDATxֱ 0 A-i9+(AFH #Bsf!_ k?#e̘1cƌ3v &]*ڪ  ޮSIENDB`PNG  IHDR``j PLTEjjjgggiiijjjfffjjjiiiiiikkk5! tRNS*WS sIDATxء58dTDp4$3W-'w;,yT LX2F@ @P/~L81'EOkIENDB`PNG  IHDR@(kIDATx^ˏETu<0H@1M4/QVw4ƸLK]ʄ 2JwwWcUWWِ06ĩtNsoNz2n phKj)TQő(DtL44FZ)@$;ܽ3+?>"/xJmEM -E5"Ut@@JqiT Ң480`g8"%- c` fE2fzd1v2K!R. M3BL"Jg2ڑA?~BEhep#v F;$R Y3,qMRlLf<s.KXT@GQ L#v)Q?qa8sVc0JZHcSQ7I6`\$֎8 AO))=";GnƉFi"Z懊2<`Mu$$"EH:.z4#@e_b=-睭4s>c̜ 4SA/9Fg3|iqSgwɕb>3'>qR@F U+t=^+셑ۋ>g?˙4yXs- TV g%_h$JkTUCe Yx|Sgu\:|PiFI7u̍sS{\ VA5ȱ`5O?an2jaGz϶gcK&of|TAHqDx2DBP ǫ;{_;6(^<݌~i?ˇC pOFLѦɋ;˛s'ͯsnw'O|uE Qg(: *= ȅT݇#B3*PDP10{Չ Pi=ut~Q'P";+1H5ů \)]ӕ@R@KePr=`H|7mj>{cnX.xjr$[7lܧ (1,r;jI EZPr\r zN($Xp6ASܡD26; n>{@2(Y*gdv X ܧBa_n]X:.s_7ǿ**M՟nkIENDB`PNG  IHDR@(kIDATx^OTg74EEYA6F"JU1X H R)%K BAPj¦l-Lq& Yv^\狉6CNȹ93y~y9_v;`vB +*,Յ(9{xxHvvRbbŋ^OލT*_3wz_)7LGp!Q_or8ĐɶVdШկ H<ܶE{!//4$  eQlPW[;1Y3qX5ER@nN@8XyYٝ۷XhSsR{[bYDܴqAA: "JJr]ZiEӱ/+W%:>Iq\Y| h,*Z0@ iĐ`|<=Zo/UHOvO(qg-,0Ü0Qf7zԔL00h:r&`ՊKғSÂ#MeLtp,0>ؾ$!Be% #*J&9JB{<>HǽKڢ8f@.Pe 4yNbgժ FmFWPfFE".gnN$"ه;w2 Cz F#nn3Z1::C&j\*g5,'N/u\RWCjscs!wXzUK'$epop[VSCwwWB(Ict]\ W֘ w'pXzAhvh4|]sQ20,24QrlRDm׮+)yN(6=(-bf⟞DFbȂk\n)5>1Uj%3?nDv =1X@t,?E|` s ė(4RgVu$LT U aDf$J㦅' mb-J9A|։%_s:x>BS'|QPau%RF4a#m3Tf;{M_ڿuU@vBIENDB`PNG  IHDR@(k5IDATx^ձ 0aN!IJWQuP7hk{o_e>Ƕі*ZQ(6y o7 hM?@~]vMdM@\g.RڢzIENDB`PNG  IHDR@(kgIDATx^kLSW nKXuET턀C&LM׈AW7@Ci'T6I[޾(u)ЗcAn%9nsO{z. p\`b`.SM cdpK M `\Y@͍ U0*Hp\@YKTcէg`yy"شZհݘȵU\" zdOm0r7gx@_Xޞboę8FqZA \'] ȣQԮ% `H`'\wуȣ1 (1,7/aR,0.&Y/UI2s6nEEBcJudcæ1 3Csdw'@t4 ޮtTp~,]T5 ޢE9Śn^_7`#y:dyKTpo;QRPx0_H ZF2 ma:jYM @NܖVpfjgpjjfWlެ/ved)άR(2W[$" BpB[sxnWd*t.owe|]Y)LVЂh֪]fŞp: !u'ʨtִ!Af y6g6c{R9e<sx=p_ULbf>կ{~X;f}k7zj_ᒕxrDʆ |OZF^y"3 ٜ?Z{tC2lh=E92Aq<ӻoIڟ .C|6^2>ZJ%ȝx ?{v7L|d"'@VF$Iqk|Fbgpou%<`0Àz Uo`f@cp= yd./0"#%|O㧬f+ǂnC=˗?۷5͠'hr<*1媓`^I+oV99Vlz:\4 ?}A% 4l퉐笎?7s. .?K̥CIENDB`PNG  IHDR@(kIDATx^SSg ܄%Ā+uA‌2PZkǑDbbBXȦ Z)doO[~ҙ˜Og3w``G)CŽ(?LWV1:6~{?TBgKDcgHxg6aKeH-Ŕjxh%PvBs ļ."^[\-O`piy:%?":A(@DvM̱*X,cT"h_ѓ$@مE?r< $H}l&@(*['1 d`FD  =1AŸxn y]Z@B E4pqٰkif aS@" ĜSais__ ׷׫b*D `\\\0T%.qtNf|;%8"*Pu quv4-2sp{.BqP_e8da oٹ%,27أ@~U>RMS:47uzTZa'(LuP}x`6HsSeMj7:>)kKz]Nچ1G( ( OC:8IENDB`PNG  IHDR@(NIDATx^JQ}.zZIGЕN!66.Dg …cH9!b6.3pp`=Wo`44Msth׌^i>j~pi#3HI^N3R3 _ |ޗ@ ! +ع> )^1LUf hL./i0;3k8򝽛7Vr>6(s@7h@TR ppL[swp) ͝jxOHůrR XL!ǀe@6 {M5 *  \ʶ_E5C ..V+AH(\΍ºq 0]7 36G"nfP>`IDATx^MOQ S,6Tjo$jD.ٰ &t&KM\0jItĈ1P yVF33Y1zfrofr̛C!vUyA NRqYR_ц ~JA"z11V}h"5WBriG! JW2,kVdq pN:iO$D>!4:s:!ZÕq{]AmQA F>2h8Gk{~\]oZ\-l? Z!_t _Mtc'˘ -bЦAqD}=J]9mBp@zAltybZ-(@kC'tqV+(pl tbQ6}DJqޠSD {ƌ|II7$͡.>+|boqxrtrHeв(#u6,N"bQ>OV6q+.B$f_V|TM}JρS%PO'F}q$Xci J N?жK)U}GZC@l2 q ptm8kؕvv<7.g%dG,j[y1T* {9MMMe 0-TJYXXD\[[{S/ =g`1kZCƘ/ѕnY hF|+ mce}("7"-SʰV h"}<(0< t8zgqq-'TE5Gf9J {m+ Ɂ{j!V2Ƽ("AĖp]19Ațж"r1Ԗ˲c=>84֯b^Z]]V*Qez$Z |0ċl9T*~:bQRT[Ê1ƞOZfI ?F"D|>N)4d=M \>hybb\XО/iNIENDB`PNG  IHDR݈pPLTESSSi'tRNS@fRIDATx^ 0 Cpb Fhh PX  K9]r9Z*znK)RN`ZzIȔ(9ově.W4 vIENDB`PNG  IHDRYGcsCl0`MIDATxcy?6H!QdX??fbIENDB`PNG  IHDR&&4!%eIDATx^Ohe'1QE< J/9AP0fS5q;3]ۘ`۠ -C* I QKmXB>>\Ciif @&}kF Dc}劻]4%YH 8i EyV?Śq[Wv|$&c 3Yp*1%#2cexvnjQM(Q; Db˞Q9drEpO开d 5u<֢Țg<`})ǚEcծf Pd7rVar] '[smhh :aɘcɐ~o7!S5/P~C3]Aro6ylzw=#g#~4yRYV_tmn[sج^#PeaZĜvZgpʘOqj_?IENDB`PNG  IHDR sIDATx1 E#`  J D/ڭƉC4A4-Ƚ #iE>84:? O.9 LPB VbX_g*#ly`<.^g;f@:gVd@ 2 z-r2$WGڀO9|tIENDB`PNG  IHDR̶`IDATx^1KQs8$)6DCФF ECC-!(KK зP J]tqgGû\l( sN%;?A38U;5ثآHr5VMSFT s1'* Ԅ1`&1XOU0+$ Gc .6=Y܋awv ?;֣ .p< Y83gl n~uPhjKTu`*k6|H&Q}ˊ4 *5hy`VeCnx`eO`Q;tC_+bp u NOM wj>C+ZIENDB`PNG  IHDR&&=PIDATx^AjPTYn(\K7V<{rb j凜`z?"\e!3cbd c0"Rmm- ps&rNuuA.4؋Vq ( !.IB[[kkk#htC9Fyn7 DMMs)?Gі722BPjs5voKEEEd L.L!jShMh+L%8Y$ ڇaM\ٔFNncQ8)O.c cLy )p1= ސBa@.LjJ}RYY U$0I$5#]s,xs._aJ1#ǃD`I`|O6BzyYYY].JEW%5Wa**c byy6:yER#P jcr\'O^sbԠN xwvn<},i#k !9"~ #ʧ\XX(^ܝlw%)Wkt.ߏ&M}"MR\(ƏӹĉnSܦbsssxLvw977WNZZZ‚i~蛙QC FS4C5`w,F_XhA̅rNevvXMMMAPm8hA0"rYYYY8z"1ZЄ6ݙVUkhh8Mhz%edd9:-0nԘ)55YzzFff&iiikЄcIa1 dhBۈYĘO 4u;Gy9IENDB`PNG  IHDR&&=IDATx^]HQFvUWF^b^DffW]EA Lclr~fdf5ʉ6fBMn+ԡ2&y /8=_d`Ujz},|$^ cPh4pÈH$kLLL```<#Z:::F 0::5qgbZvLMM!tl6A< c6Da,BJ '\gg8Kaս)`00j}*w7͹\.СEؘ0xV29:[O>44r8M+ Y:Ap̀wZ09x<Yua5i) ^'Rs_ҋGdZELILXF5?vojNet%mx}KJNe2/%^|1*.: +nɇg JN ^hDS:<Ԃ'JNsMoF׬^ t)v!FtJ@agL=쓷@a9m7@a,l7@a'k+.:N݇ ).:ÎWEWĈU%EtXyW!pE t)VxgLW%t pʆr̛/v3 v)'CAU]- [ 2ܩ'IENDB`PNG  IHDR&&4!%IDATx^J2awlcm!iuEQwRPM)DZfզKhSED ?fj6Y C2""s oO0e4x C2̗X4-L{h qau[!wXal0$;lU*LQ.EiHqTG]a],%66%]T,0yp|ʆ0UB9t3Gff]YBآ`]&L:go_@n'9'uYr=;$)><.su1E/4>MZ`&&25 }_sά ް l\L1Dz1nm\ha/1u)Poq>P %IENDB`PNG  IHDRV@AW_IDATx}x՝g=y ȋVAP (P]_Zݥvgkܺ}.<]W%Jq!XE }̜ ̽3&!}Lf;g=s3sP($aP(BQK&HЗF|V`F/0iGUimm5O;/@P)bLH|)0vl5 /a9cp#0pwrd-M(jāEeriYOAÉLQz3=s" (*zb}v^(;lV \u$n9` XQ(TNCw?Dg cuz&skg^D#Яh4Z_BrU$4z,]T5(Ľn݉`EP}}`aѫ뺜tlހ`~3ݴO֢ǟ5Oa!2jz$/oq9 .X|t岟BP gE.=Zy>4UcB XqRM_PcѐTbNBܒR ʣF - `ݳlb$\ s,rX__}<(jȂuے4/o*C•&+xzSU`t,CB$Xpds<9E`5_sWv^k?ZHI0Hb<(jHͫoZrQʫڔI d"x#e Xfo"3 2`-YHD;%SOsjL?W_N4{4;-o5 ,R9p}Q%]YFGѨI2Z63*X͈@"݄"I@'U) iٶqK6:R"te`)6E*֘dU#=['d*̴dN k<Ն(!`rwnט}jvO2"N |:D%cnX $'ACL5r-7xچCL- d}{;~Zlʁ*N.KJd:s^f'-Z;Wu L`+Hy~rASF+f߉㈣ p|R7V ЙN!a 3P|.)2ɓ >#yb\\V0}kR(n3R %U߃ظ}9!jjS=deݝ=ubLlUuu[vm6GMPuV5zUz 6;oppE `Eed/טM-} G4xNJ[vK_;ǝsC .Z-,ͯX+MZ=W:TG~Hl soևO8|Ώ H3w @PX(A$,ؗAAb9@e^teP$T|Pj;Y҂qbҩtՖNis[wBtf}rp{U>bCM¼*Zg0W&ϋ]s<:MC>G9vfBb(`߾WF&owpGg ̭b)VUp(]x2?AW,[k}bWkC|zE&EܵOI7 r '`VNF,VgZ-.NZnL(x_yRצ.9{Y cb27MۭOs*sw嵗<m&Rs- f^X9Ygm/b{frͰnUFsJjBxV׷Ge8xN=TqÌrw˸{eVs25,,:7=BNj T{je$l.2P hs(* `i-KS+A1 T\auy1GXnpgE2l*5|m s mֿ+C럜r4u*as]@7$=$Te [IEL ~٧[& *mY<@nw}Nγ.1cx-)Z~Ln:Av8^`.VܹPƌQ7ܪFܤrѩ 83.d@$Ff Rݵ$[-Jc;Mcsf ":o,ʧDži{@mlB8X T_G@Ӽrb|9F Wr+T(`Λwԭ@A֛mT- %{ ,)Vd<HդA2j2ϭ/\U_my-3[ rtn5SaRVf#(Ϛwq?2 J@ 7jV![ebM`d'dLQ6꧋L-0VE㬹VI"jOH}S;pWLӷ$d U{^R4bBJch2~+iYel _킖idsD 1V!lEQg ΞK?7nZj'@b8'Ѱ =nP6n~{gYҬPl<_s{,롆cdL5 W٠@ gֻV6PP p^( aGP VM>|^_p9ўu!/2P؂CB3t:X<(jPCH@O-Z xK$@ HH=q까ܪ N<TpvSXb#ru۟P;Ԧr:֢Q6n\R9y_VOdVuG ,HKw;f{)7P* acL\}*t4E4㙺Uỏg <@NwE)1ڛVaST_F^ t@k#Pbn_zB{%c XEkÓOת 6WkD#tڣy`nKe/ -4@ʨF:NUw;V]@£ژec%V@uo}!b FMc0;ѡLgwVǷ*XՎ'-Du U_4zs 'i0sg`zw p vSM6&c2%ji49:Fw\f3K`uh̭? WGnd֎z ϬP ʃ ÅCf~dPFajkssQ1?:W`TCeSP6{۪X\&8qC, ݓi#o >%'vc/6u,{l?=+X5 Xx0cmځkVҥ8Ug'G+SZT# nSJ]OHw*<۟NߵJF, Ӿk 㼶Ԁx Wz{uKO`ISt:Q-7apVPl!U3)$#7ttk!>sƭ&\6[W,r5]ecЮCPPSޔz = R OL~ +v<۽>qMd:})W`հ79Aȓڳ+ 8R `n׌eՌ? ~NVXЀQ#b0mQ\ @Hcr:w֠hm!*O7n=HVq70AQk(t?V-H7xhJPkR AiN;pXR'ªaVq8} 8[sv/P(TFG7Q*_D6414Ñj>Z*(_PEPK VS|}ng4}Az-w> O@h7(>ɋ'0P!VPR|R>kPUgܭUѴAo^`xQ(ԐkThulYAwOT' p&\L_W,b 5$*tїƲc:U&H]+_ AtXKh-,^ 5*t걗GY"((+*w & K'KhLX'=B p˯RIҺ7QQכWp]dݥH&מ/ȗD\SPKXSi)~څ "nX vQ 4ظPB;}U[a' nwcEPCB%W)?iPZ$fVuu|8 z?}Ȃz;B U&5opZwc=MFgC5'J.6ǥREƫ?#V/B y$1ߦA9ޫY`;UXB [mUTћ)y;dW+ `?ӠT'D7Xn6\%]Qph8OnFxWM(jXX)$L%2I$M jmݬ*4# OzWe+ `l]dIMԜJʻ [n[UɑH0U;/V 5`EP(TvP( BPV I"um IENDB`PNG  IHDR szzsRGBgIDATX MHTQ+u-Z82PŴsA& 3Mm,IH"Y:vB hRw.Dy;}38;޽|{y;l=$xSSSO }6-˚ܜU/n]RTkC~>3>>TVt uVۈxGLtB.mmH2װ& Oَ O &Zoop8܃!Jg3GM[s\ZHˮ ꫶Pkk#Hdqaݨ O;Q"W꡸ICJ8u&>{.+ .7"N'd C|W" e" X% vKt/W0_a]V_܆( `;L|.RdE9N <#X⧱M Iw^޹\`]q@S)̂eC qdlR& :VKR}pI ag𭭭ϤTbo?Q;Fz  Jb< JDЯ(R2nQu_9Nz}%ϱyD%vm+?Rj+L@`<ݵk{,\@"8&r.Dѯq$)4p2 9*[`*IYS_ϘiVoKMhNdKX,vecI{<L