From a868ada0df1f9613254eafa859582bad7c38ea85 Mon Sep 17 00:00:00 2001 From: John Mertic Date: Wed, 2 May 2012 21:58:49 -0400 Subject: [PATCH] Release 6.4.4 --- .../PackageManager/PackageManager.php | 46 +-- .../tpls/ModuleLoaderListView.tpl | 4 +- .../tpls/PackageManagerScripts.tpl | 6 +- data/BeanFactory.php | 6 +- data/Relationships/M2MRelationship.php | 12 +- data/SugarBean.php | 8 + files.md5 | 270 +++++++-------- include/EditView/footer.tpl | 2 +- include/EditView/header.tpl | 2 +- include/ListView/ListView.php | 10 +- include/MVC/Controller/SugarController.php | 49 ++- include/MVC/SugarApplication.php | 10 +- include/MassUpdate.php | 4 + include/MySugar/MySugar.php | 2 +- include/QuickSearchDefaults.php | 8 +- .../plugins/function.sugar_replace_vars.php | 28 +- include/SubPanel/SubPanelDefinitions.php | 5 +- include/SubPanel/SubPanelTiles.js | 6 +- include/SugarCharts/Jit/JitReports.php | 8 + include/SugarCharts/Jit/tpls/chart.tpl | 10 +- include/SugarCharts/JsChart.php | 4 +- .../Fields/Collection/SugarFieldCollection.js | 7 +- .../Fields/Datetime/DetailView.tpl | 59 ++++ .../Fields/Datetime/SugarFieldDatetime.php | 18 + include/SugarFields/Fields/Link/ListView.tpl | 5 + include/SugarLogger/SugarLogger.php | 38 ++- include/SugarOauth.php | 34 +- .../SugarObjects/templates/basic/vardefs.php | 6 +- include/TemplateHandler/TemplateHandler.php | 7 +- include/database/DBManager.php | 4 +- include/database/MssqlManager.php | 46 ++- include/database/MysqliManager.php | 2 +- include/database/SqlsrvManager.php | 34 -- include/externalAPI/Base/ExternalAPIBase.php | 15 + .../SugarWidgets/SugarWidgetFielddatetime.php | 23 +- .../SugarWidgetSubPanelTopMessage.php | 50 +++ .../SugarWidgetSubPanelTopSelectButton.php | 21 +- include/javascript/sugar_3.js | 5 +- .../yui/build/calendar/blank/calendar.css | 0 .../yui/build/datatable/blank/datatable.css | 0 .../yui/build/dragdrop/dragdrop-min.js | 2 +- .../javascript/yui/build/dragdrop/dragdrop.js | 2 +- .../yui/build/layout/blank/layout.css | 0 .../javascript/yui/build/menu/blank/menu.css | 0 include/javascript/yui/build/menu/menu-min.js | 2 +- include/javascript/yui/build/menu/menu.js | 5 +- .../yui/build/paginator/blank/paginator.css | 0 .../yui/build/resize/blank/resize.css | 0 .../yui/build/tabview/blank/tabview.css | 0 .../yui/build/treeview/blank/treeview.css | 0 include/language/en_us.lang.php | 2 +- include/utils.php | 75 +++-- include/utils/db_utils.php | 6 +- include/utils/mvc_utils.php | 2 +- install/install_utils.php | 2 +- install/register.php | 2 +- .../include/SubPanel/SubPanelTiles.js | 22 +- .../Fields/Collection/SugarFieldCollection.js | 25 +- .../src_files/include/javascript/sugar_3.js | 14 +- modules/Activities/Activity.php | 124 ------- .../Administration/RebuildRelationship.php | 4 +- modules/Administration/UpgradeAccess.php | 2 - modules/Administration/UpgradeHistory.php | 9 +- .../Administration/UpgradeWizard_commit.php | 14 +- .../metadata/adminpaneldefs.php | 2 +- modules/Calls/Call.php | 20 +- modules/Calls/CallFormBase.php | 4 + modules/Calls/metadata/editviewdefs.php | 4 +- modules/Campaigns/Campaign.php | 28 ++ modules/Campaigns/TrackDetailView.php | 9 + modules/Campaigns/WizardEmailSetup.html | 2 +- modules/Campaigns/WizardEmailSetup.php | 6 +- modules/Campaigns/language/en_us.lang.php | 1 + modules/Campaigns/metadata/subpaneldefs.php | 20 +- modules/Configurator/Configurator.php | 2 +- modules/Configurator/tpls/EditView.tpl | 4 +- modules/Contacts/tpls/QuickCreate.tpl | 10 +- modules/Contacts/views/view.edit.php | 10 + modules/DynamicFields/DynamicField.php | 2 +- .../templates/Fields/TemplateCurrencyId.php | 9 +- .../Fields/TemplateDatetimecombo.php | 8 +- .../templates/Fields/TemplateField.php | 7 +- modules/EmailMan/EmailMan.php | 2 +- modules/EmailMan/tpls/campaignconfig.tpl | 4 +- modules/EmailMan/tpls/config.tpl | 2 +- .../EmailMan/views/view.campaignconfig.php | 4 +- modules/EmailMarketing/DetailView.html | 14 +- modules/EmailMarketing/DetailView.php | 2 + modules/EmailMarketing/EditView.html | 77 ++++- modules/EmailMarketing/EditView.php | 10 + modules/EmailTemplates/EmailTemplate.php | 8 +- modules/Emails/EmailUI.php | 4 +- modules/Emails/EmailUIAjax.php | 6 +- modules/Emails/javascript/EmailUICompose.js | 4 + modules/Emails/javascript/ajax.js | 2 +- .../Emails/templates/editAccountDialogue.tpl | 2 +- modules/Employees/Save.php | 4 - modules/Home/QuickSearch.php | 58 ++-- modules/Import/Importer.php | 19 +- modules/InboundEmail/EditView.html | 2 +- modules/InboundEmail/InboundEmail.php | 7 +- modules/InboundEmail/Menu.php | 2 +- .../InboundEmail/ShowInboundFoldersList.php | 2 +- modules/Meetings/Meeting.php | 16 +- modules/Meetings/MeetingFormBase.php | 4 + modules/Meetings/vardefs.php | 1 + modules/ModuleBuilder/MB/MBPackage.php | 10 +- modules/ModuleBuilder/Module/StudioModule.php | 1 + modules/ModuleBuilder/controller.php | 15 +- .../ModuleBuilder/javascript/ModuleBuilder.js | 48 +-- .../ModuleBuilder/javascript/SimpleList.js | 2 +- .../ModuleBuilder/javascript/studio2ListDD.js | 25 +- .../relationships/AbstractRelationship.php | 3 + .../relationships/AbstractRelationships.php | 15 +- .../relationships/ActivitiesRelationship.php | 14 +- modules/ModuleBuilder/tpls/listView.tpl | 2 +- modules/Notes/vardefs.php | 1 + modules/Opportunities/SaveOverload.php | 1 - modules/Project/Save.php | 8 +- modules/Project/metadata/subpaneldefs.php | 4 +- modules/ProjectTask/views/view.list.php | 1 + modules/SchedulersJobs/SchedulersJob.php | 38 ++- modules/Tasks/vardefs.php | 3 +- modules/UpgradeWizard/SILENTUPGRADE.txt | 26 +- modules/UpgradeWizard/commit.php | 2 +- modules/UpgradeWizard/end.php | 2 +- modules/UpgradeWizard/language/en_us.lang.php | 3 +- .../UpgradeWizard/silentUpgrade_dce_step1.php | 2 +- .../UpgradeWizard/silentUpgrade_dce_step2.php | 2 +- modules/UpgradeWizard/silentUpgrade_step1.php | 5 +- modules/UpgradeWizard/silentUpgrade_step2.php | 2 +- modules/UpgradeWizard/systemCheck.php | 2 +- modules/UpgradeWizard/upload.php | 9 + modules/UpgradeWizard/uw_utils.php | 37 ++- modules/Users/UserViewHelper.php | 2 +- service/core/SoapHelperWebService.php | 6 + soap/SoapHelperFunctions.php | 88 +---- soap/SoapSugarUsers.php | 28 +- sugar_version.php | 8 +- .../data/Bug44930Test.php | 84 ++--- tests/data/Relationships/Bug51679Test.php | 87 +++++ tests/include/ListView/Bug49385Test.php | 314 ------------------ .../MVC/Controller/SugarControllerTest.php | 22 ++ tests/include/MVC/View/Bug40019Test.php | 12 +- .../Fields/Datetime/Bug51980Test.php | 118 +++++++ tests/include/SugarLogger/SugarLoggerTest.php | 109 +++++- tests/include/ValidDBNameTest.php | 9 +- tests/include/database/DBManagerTest.php | 18 + tests/include/database/MssqlManagerTest.php | 19 ++ tests/include/utils/Bug47522Test.php | 97 ++++++ tests/include/utils/Bug50809Test.php | 50 +++ tests/modules/Administration/Bug43716Test.php | 162 +++++++++ tests/modules/Campaigns/Bug41523Test.php | 142 ++++++++ tests/modules/Import/Bug46411Test.php | 150 +++++++++ tests/modules/ModuleBuilder/Bug49024Test.php | 177 ++++++++++ tests/modules/ModuleBuilder/Bug50768Test.php | 156 +++++++++ .../modules/ModuleBuilder/Bug50768_02Test.php | 179 ++++++++++ tests/modules/ModuleBuilder/Bug52063Test.php | 160 +++++++++ .../parsers/relationships/Bug42169Test.php | 68 ++-- tests/modules/SchedulersJobs/Bug51185Test.php | 106 ++++++ tests/modules/Studio/Bug49772Test.php | 1 - tests/service/Bug47683Test.php | 10 +- tests/service/Bug51617Test.php | 156 +++++++++ .../NoBlankFieldUpdateOnFirstSyncTest.php | 5 + .../images/icon_ProductTemplates_32.gif | Bin 0 -> 1633 bytes 165 files changed, 3175 insertions(+), 1243 deletions(-) create mode 100644 include/SugarFields/Fields/Datetime/DetailView.tpl create mode 100644 include/generic/SugarWidgets/SugarWidgetSubPanelTopMessage.php create mode 100644 include/javascript/yui/build/calendar/blank/calendar.css create mode 100644 include/javascript/yui/build/datatable/blank/datatable.css create mode 100644 include/javascript/yui/build/layout/blank/layout.css create mode 100644 include/javascript/yui/build/menu/blank/menu.css create mode 100644 include/javascript/yui/build/paginator/blank/paginator.css create mode 100644 include/javascript/yui/build/resize/blank/resize.css create mode 100644 include/javascript/yui/build/tabview/blank/tabview.css create mode 100644 include/javascript/yui/build/treeview/blank/treeview.css delete mode 100644 modules/Activities/Activity.php rename modules/Meetings/controller.php => tests/data/Bug44930Test.php (55%) mode change 100644 => 100755 create mode 100755 tests/data/Relationships/Bug51679Test.php delete mode 100755 tests/include/ListView/Bug49385Test.php create mode 100755 tests/include/SugarFields/Fields/Datetime/Bug51980Test.php create mode 100755 tests/include/utils/Bug47522Test.php create mode 100755 tests/include/utils/Bug50809Test.php create mode 100755 tests/modules/Administration/Bug43716Test.php create mode 100755 tests/modules/Campaigns/Bug41523Test.php create mode 100755 tests/modules/Import/Bug46411Test.php create mode 100755 tests/modules/ModuleBuilder/Bug49024Test.php create mode 100755 tests/modules/ModuleBuilder/Bug50768Test.php create mode 100755 tests/modules/ModuleBuilder/Bug50768_02Test.php create mode 100755 tests/modules/ModuleBuilder/Bug52063Test.php rename modules/Calls/controller.php => tests/modules/ModuleBuilder/parsers/relationships/Bug42169Test.php (58%) mode change 100644 => 100755 create mode 100755 tests/modules/SchedulersJobs/Bug51185Test.php create mode 100755 tests/service/Bug51617Test.php create mode 100644 themes/Sugar5/images/icon_ProductTemplates_32.gif diff --git a/ModuleInstall/PackageManager/PackageManager.php b/ModuleInstall/PackageManager/PackageManager.php index cafcda06..9316f5b3 100644 --- a/ModuleInstall/PackageManager/PackageManager.php +++ b/ModuleInstall/PackageManager/PackageManager.php @@ -54,6 +54,7 @@ class PackageManager{ */ function PackageManager(){ $this->db = DBManagerFactory::getInstance(); + $this->upload_dir = empty($GLOBALS['sugar_config']['upload_dir']) ? 'upload' : rtrim($GLOBALS['sugar_config']['upload_dir'], '/\\'); } function initializeComm(){ @@ -360,7 +361,7 @@ class PackageManager{ function extractManifest( $zip_file,$base_tmp_upgrade_dir ) { global $sugar_config; - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir."/upgrades"; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; return $this->extractFile( $zip_file, "manifest.php",$base_tmp_upgrade_dir ); } @@ -436,10 +437,10 @@ class PackageManager{ } function performSetup($tempFile, $view = 'module', $display_messages = true){ - global $sugar_config; + global $sugar_config,$mod_strings; $base_filename = urldecode($tempFile); $GLOBALS['log']->debug("BaseFileName: ".$base_filename); - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir.'/upgrades'; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; $manifest_file = $this->extractManifest( $base_filename,$base_tmp_upgrade_dir); $GLOBALS['log']->debug("Manifest: ".$manifest_file); @@ -506,7 +507,7 @@ class PackageManager{ global $sugar_config; global $mod_strings; global $current_language; - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir.'/upgrades'; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; if(!file_exists($base_tmp_upgrade_dir)){ mkdir_recursive($base_tmp_upgrade_dir, true); @@ -572,7 +573,7 @@ class PackageManager{ global $sugar_config; global $mod_strings; global $current_language; - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir.'/upgrades'; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; if(!isset($GLOBALS['mi_remove_tables']))$GLOBALS['mi_remove_tables'] = true; $unzip_dir = mk_temp_dir( $base_tmp_upgrade_dir ); @@ -639,7 +640,6 @@ class PackageManager{ global $current_language; $uh = new UpgradeHistory(); $base_upgrade_dir = "upload://upgrades"; - $base_tmp_upgrade_dir = sugar_cached("upgrades/temp"); $uContent = findAllFiles( $base_upgrade_dir, array() , false, 'zip'); $upgrade_contents = array(); $content_values = array_values($uContent); @@ -666,20 +666,22 @@ class PackageManager{ if(empty($md5_matches)) { $target_manifest = remove_file_extension( $upgrade_content ) . '-manifest.php'; - require_once($target_manifest); - - $name = empty($manifest['name']) ? $upgrade_content : $manifest['name']; - $version = empty($manifest['version']) ? '' : $manifest['version']; - $published_date = empty($manifest['published_date']) ? '' : $manifest['published_date']; - $icon = ''; - $description = empty($manifest['description']) ? 'None' : $manifest['description']; - $uninstallable = empty($manifest['is_uninstallable']) ? 'No' : 'Yes'; - $type = $this->getUITextForType( $manifest['type'] ); - $manifest_type = $manifest['type']; - $dependencies = array(); - if( isset( $manifest['dependencies']) ){ - $dependencies = $manifest['dependencies']; - } + if(file_exists($target_manifest)) { + require_once($target_manifest); + + $name = empty($manifest['name']) ? $upgrade_content : $manifest['name']; + $version = empty($manifest['version']) ? '' : $manifest['version']; + $published_date = empty($manifest['published_date']) ? '' : $manifest['published_date']; + $icon = ''; + $description = empty($manifest['description']) ? 'None' : $manifest['description']; + $uninstallable = empty($manifest['is_uninstallable']) ? 'No' : 'Yes'; + $type = $this->getUITextForType( $manifest['type'] ); + $manifest_type = $manifest['type']; + $dependencies = array(); + if( isset( $manifest['dependencies']) ){ + $dependencies = $manifest['dependencies']; + } + } //check dependencies first if(!empty($dependencies)) { @@ -718,7 +720,7 @@ class PackageManager{ function getLicenseFromFile($file){ global $sugar_config; - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir.'/upgrades'; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; $license_file = $this->extractFile($file, 'LICENSE.txt', $base_tmp_upgrade_dir); if(is_file($license_file)){ @@ -756,7 +758,7 @@ class PackageManager{ $packages = array(); $upgrades_installed = 0; $uh = new UpgradeHistory(); - $base_upgrade_dir = sugar_cached("/upgrades"); + $base_upgrade_dir = $this->upload_dir.'/upgrades'; $base_tmp_upgrade_dir = "$base_upgrade_dir/temp"; foreach($installeds as $installed) { diff --git a/ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl b/ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl index e79c2325..0c1056bc 100644 --- a/ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl +++ b/ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl @@ -63,7 +63,7 @@ {/if} - {sugar_getimage name="advanced_search" ext=".gif" width="8" height="8" alt=$app_strings.LBL_ADVANCED_SEARCH other_attributes='border="0" '}  + {sugar_getimage name="advanced_search" ext=".gif" width="8" height="8" alt=$app_strings.LBL_ADVANCED_SEARCH other_attributes='border="0" '}  {counter start=0 name="colCounter" print=false assign="colCounter"} {foreach from=$displayColumns key=col item=params} @@ -94,4 +94,4 @@ {/foreach} - \ No newline at end of file + diff --git a/ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl b/ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl index 9fac7481..3f7b7b90 100644 --- a/ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl +++ b/ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl @@ -139,14 +139,14 @@ if(typeof PackageManager == 'undefined') { _loadingBar.render(document.body); _loadingBar.show(); _pmg = new PackageManagerGrid(); - PackageManager.refreshGrid(); + //PackageManager.refreshGrid(); _pmg.renderAll(); {/literal}{/if}{literal} //PackageManager.initLicenseDiv(); //PackageManager.initModuleStaging(); var tabView = new YAHOO.widget.TabView('demo'); - PackageManager.checkForUpdates(); + //PackageManager.checkForUpdates(); }, download : function(){ if(confirm('{/literal}{$MOD.DOWNLOAD_QUESTION}{literal}')){ @@ -850,7 +850,7 @@ if(typeof PackageManager == 'undefined') { {/literal}{else}{literal} _pmg = new PackageManagerGrid(); - PackageManager.refreshGrid(); + //PackageManager.refreshGrid(); _pmg.renderAll(); {/literal}{/if}{literal} }else{ diff --git a/data/BeanFactory.php b/data/BeanFactory.php index ec19434f..fe2c1387 100644 --- a/data/BeanFactory.php +++ b/data/BeanFactory.php @@ -56,9 +56,11 @@ class BeanFactory { * @static * @param String $module * @param String $id + * @param Bool $encode @see SugarBean::retrieve + * @param Bool $deleted @see SugarBean::retrieve * @return SugarBean */ - public static function getBean($module, $id = null) + public static function getBean($module, $id = null, $encode = true, $deleted = true) { if (!isset(self::$loadedBeans[$module])) { self::$loadedBeans[$module] = array(); @@ -74,7 +76,7 @@ class BeanFactory { if (empty(self::$loadedBeans[$module][$id])) { $bean = new $beanClass(); - $result = $bean->retrieve($id); + $result = $bean->retrieve($id, $encode, $deleted); if($result == null) return FALSE; else diff --git a/data/Relationships/M2MRelationship.php b/data/Relationships/M2MRelationship.php index f209b53b..92593ae0 100644 --- a/data/Relationships/M2MRelationship.php +++ b/data/Relationships/M2MRelationship.php @@ -467,20 +467,12 @@ class M2MRelationship extends SugarRelationship */ public function relationship_exists($lhs, $rhs) { - $query = "SELECT * FROM {$this->getRelationshipTable()} WHERE {$this->join_key_lhs} = {$lhs->id} AND {$this->join_key_rhs} = {$rhs->id}"; + $query = "SELECT id FROM {$this->getRelationshipTable()} WHERE {$this->join_key_lhs} = '{$lhs->id}' AND {$this->join_key_rhs} = '{$rhs->id}'"; //Roles can allow for multiple links between two records with different roles $query .= $this->getRoleWhere() . " and deleted = 0"; - $result = DBManagerFactory::getInstance()->query($query); - $row = $this->_db->fetchByAssoc($result); - - if ($row == null) { - return false; - } - else { - return $row['id']; - } + return $GLOBALS['db']->getOne($query); } /** diff --git a/data/SugarBean.php b/data/SugarBean.php index ed8a7b94..fef0d374 100644 --- a/data/SugarBean.php +++ b/data/SugarBean.php @@ -1658,6 +1658,11 @@ function save_relationship_changes($is_update, $exclude=array()) if(!empty($this->$id)) { + // Bug #44930 We do not need to update main related field if it is changed from sub-panel. + if ($rel_name == $new_rel_link && $this->$id != $new_rel_id) + { + $new_rel_id = ''; + } $GLOBALS['log']->debug('save_relationship_changes(): From relationship_field array - adding a relationship record: '.$rel_name . ' = ' . $this->$id); //already related the new relationship id so let's set it to false so we don't add it again using the _REQUEST['relate_i'] mechanism in a later block if($this->$id == $new_rel_id){ @@ -2936,6 +2941,9 @@ function save_relationship_changes($is_update, $exclude=array()) { $ret_array['select'] .= ", $this->table_name.$field $alias"; $selectedFields["$this->table_name.$field"] = true; + } else if( (!isset($data['source']) || $data['source'] == 'custom_fields') && (!empty($alias) || !empty($filter) )) { + $ret_array['select'] .= ", $this->table_name"."_cstm".".$field $alias"; + $selectedFields["$this->table_name.$field"] = true; } diff --git a/files.md5 b/files.md5 index c21b5706..39e49dfc 100644 --- a/files.md5 +++ b/files.md5 @@ -1,5 +1,5 @@ 'd3f150e4a5bed444763ebe8a81742a95', './.htaccess' => 'd41d8cd98f00b204e9800998ecf8427e', @@ -605,6 +605,7 @@ $md5_string = array ( './themes/Sugar5/themedef.php' => '79f66d3ad564f057ab233f595c84f28c', './themes/Sugar5/layout_utils.php' => '700d0368461e277b9e9e888fef350ad9', './themes/Sugar5/js/style.js' => '84f35636a28681089f88749b74e73349', + './themes/Sugar5/images/icon_ProductTemplates_32.gif' => '196d1cefb9cffde18ec3d8c3777c4580', './themes/Sugar5/images/Users_favico.png' => '83d69dc6c89d858a680672c139d9906e', './themes/Sugar5/images/Trackers_favico.png' => '94807eb46ee26a80dd2203c14ed71ab2', './themes/Sugar5/images/Teams_favico.png' => 'c63eca31e22676b928d1e6ce18e8be2e', @@ -1198,14 +1199,14 @@ $md5_string = array ( './themes/Sugar5/css/print.css' => 'c00fb2d3011318e43c4b1332080d1698', './themes/Sugar5/css/deprecated.css' => 'b5471d86d506bea8630df869fbfbe9cb', './themes/Sugar5/css/chart.css' => '78bf9d159067f20c5e3fc6adf7762f1c', - './sugar_version.php' => 'a3ddf9359046134ef76a6efa9488c866', + './sugar_version.php' => '3d572277928d5f451e6b70b60e61c248', './soap/SoapTypes.php' => '6dd557894d504db5527eceb5dab0a26f', - './soap/SoapSugarUsers.php' => '68537fcc17565ef5c2eacf1c47a9a52c', + './soap/SoapSugarUsers.php' => 'fd8d48d780e06c8fd91f536e1ced6686', './soap/SoapStudio.php' => '0fd81758942a52940c119f3afa134fcd', './soap/SoapRelationshipHelper.php' => '03cfb58253ac766d90ddf57d38d36afe', './soap/SoapPortalUsers.php' => '042268bfdc548309f09f8862c51788ea', './soap/SoapPortalHelper.php' => 'c8b94b132b25e20498803a23dafc6c79', - './soap/SoapHelperFunctions.php' => 'd58bffaef54d0824a9d259ab913f14d2', + './soap/SoapHelperFunctions.php' => '1c720305dab8cdd2846ad56e50819db0', './soap/SoapErrorDefinitions.php' => '0ba2c58cdbdaec479860537420e4cf30', './soap/SoapError.php' => 'dff0c6fc02f66fbb4f86a91691ee300e', './soap/SoapDeprecated.php' => '309e512eb7592c910a824f991869c4b4', @@ -1251,7 +1252,7 @@ $md5_string = array ( './service/core/SugarRestUtils.php' => '183a0d813c88928451133af63934b686', './service/core/SugarRestServiceImpl.php' => 'd1a216a0907104a536ac894155f42136', './service/core/SugarRestService.php' => '3957ac988d90704f4b811eaab2dc16b0', - './service/core/SoapHelperWebService.php' => '17c586774f82da0361700fc58fd194b4', + './service/core/SoapHelperWebService.php' => '4120e82cc7d81dfd14f4a99d42ed3014', './service/core/REST/SugarRestSerialize.php' => '199bc1b0b6c93e1b0e29c4c9fd47d6cc', './service/core/REST/SugarRestRSS.php' => '2a39f41788a10686c9d282d5a99f23cf', './service/core/REST/SugarRestJSON.php' => '34ac0a137d6d32f8b118625eae5d200b', @@ -1325,7 +1326,7 @@ $md5_string = array ( './modules/Users/User.js' => '082e59fc1a911b7e033eb775dac0631c', './modules/Users/UserEditView.js' => '5e56455c280b77b1b23528d559b3aeb6', './modules/Users/login.js' => '82ff6bcbb98d747958817175be49d112', - './modules/Users/UserViewHelper.php' => '47b6e3b731ba059c686422a01cb7462d', + './modules/Users/UserViewHelper.php' => '4ce81547d8cc10a7fa888fbf065d89fa', './modules/Users/views/view.quickedit.php' => '5a458c0188281d6ef893bf9e066ad4c6', './modules/Users/views/view.edit.php' => 'b5516b64c7aa79f1ba9288bc1e69c140', './modules/Users/views/view.detail.php' => '5e52feda3afb9995b83defb09c4df590', @@ -1417,33 +1418,33 @@ $md5_string = array ( './modules/UpgradeWizard/upgradeWizard.js' => '3375216ea56e2ebc6fd8cf15ee7d0fce', './modules/UpgradeWizard/UpgradeRemoval.php' => 'dafb5c6a72582cf510bca521d1c1bcb6', './modules/UpgradeWizard/uw_main.tpl' => '9151371cd86f8d5781f3de7586f89437', - './modules/UpgradeWizard/uw_utils.php' => '34aa752bab110e47d27281341c408ea7', + './modules/UpgradeWizard/uw_utils.php' => 'e8dfbe9523aee7e78b47ea4d8c6073b6', './modules/UpgradeWizard/uw_emptyFunctions.php' => '81001e5fc9970324677c2b084052eace', './modules/UpgradeWizard/uw_files.php' => 'a874d9aca1246f5125cb8007e9a9364a', - './modules/UpgradeWizard/upload.php' => '5a85ac5f7a24b0a22e264c727100d037', + './modules/UpgradeWizard/upload.php' => '9ba05618220928f7964f42446c8ffff9', './modules/UpgradeWizard/upgradeTimeCounter.php' => '13650e724da4e4fe127bae4a8073565c', './modules/UpgradeWizard/upgradeMetaHelper.php' => 'e8ec7f254fdb515c8e519d4535c3954d', './modules/UpgradeWizard/tpls/layoutsMerge.tpl' => '75425a4a3b20b5dadd5e6e9601324c59', './modules/UpgradeWizard/systemCheckJson.php' => '1b3ca3638039d16eab4dc010373effcd', - './modules/UpgradeWizard/systemCheck.php' => '5ce457069443b63a2c5c969363a8e15b', + './modules/UpgradeWizard/systemCheck.php' => '39259bbb1c62802fc9b78cd68f97bd3b', './modules/UpgradeWizard/start.php' => '46d768e67728644f5a312b3a7ad081c7', - './modules/UpgradeWizard/silentUpgrade_step2.php' => '72f9c8a48ddea79947e0db629d28f7bb', - './modules/UpgradeWizard/silentUpgrade_step1.php' => '0d67bea758415ccaadc3d96f82a574ce', - './modules/UpgradeWizard/silentUpgrade_dce_step2.php' => '5befff2aa180d9127dd4a83a28611e6b', - './modules/UpgradeWizard/silentUpgrade_dce_step1.php' => '151cad05dc2cd2b2926e40cab690c994', + './modules/UpgradeWizard/silentUpgrade_step2.php' => '2e992551117fcd0c6054786e6312d6fa', + './modules/UpgradeWizard/silentUpgrade_step1.php' => '6f4ad116d0e9a2329afb456cf2da25da', + './modules/UpgradeWizard/silentUpgrade_dce_step2.php' => 'f177632e4488a84efe1ac762f2a4fedd', + './modules/UpgradeWizard/silentUpgrade_dce_step1.php' => '01034a404987e9346cb988ff2ebdacd5', './modules/UpgradeWizard/silentUpgrade.php' => '218efc6cf75900269e3cb4b5b0b55c0c', './modules/UpgradeWizard/processing.gif' => 'd7c43fc19181ee59862601bfce100b41', './modules/UpgradeWizard/preflightJson.php' => 'f9430751b95094f6d831f98fbaed9d80', './modules/UpgradeWizard/preflight.php' => 'f54a095ddbbf38c82e613992573e30d0', './modules/UpgradeWizard/populateColumns.php' => 'e9a77b423f33e94e6c2e8664293e2a4b', './modules/UpgradeWizard/layouts.php' => '8e4ae4f83d7825ddb7dca7ef2dfc62b3', - './modules/UpgradeWizard/language/en_us.lang.php' => '9608c6cbd9d8a75e7530ca23cab3289a', + './modules/UpgradeWizard/language/en_us.lang.php' => '27090fef239fbfa1054bcd9781d3cb4a', './modules/UpgradeWizard/uw_ajax.php' => '8ed909021c2e338d0a185d01fa046a80', './modules/UpgradeWizard/deleteCache.php' => 'df77658b8c5c1c86badb998120ab73e5', './modules/UpgradeWizard/index.php' => '2e05260dc2035a5b5ea0bc24154cd434', './modules/UpgradeWizard/commitJson.php' => 'e02a21bb4ce00448e6bbb98526f860dd', - './modules/UpgradeWizard/end.php' => 'c84f449bcdcb96003f8a2d2649f15a56', - './modules/UpgradeWizard/commit.php' => 'e585024644779600def1d87582dac72d', + './modules/UpgradeWizard/end.php' => 'ff6af0bde34e5bd96e24806355d703ba', + './modules/UpgradeWizard/commit.php' => 'e57e4d27424df8173742278547815d50', './modules/UpgradeWizard/cancel.php' => '97d22fbe214ea672250b63389101320f', './modules/UpgradeWizard/UploadFileCheck.php' => 'e5d0bac07ff5bb02ffaf9db0b605c9f4', './modules/UpgradeWizard/SugarMerge/SugarMerge.php' => '27ac704268f3f89359b68ab0bf5fabcb', @@ -1453,7 +1454,7 @@ $md5_string = array ( './modules/UpgradeWizard/SugarMerge/ListViewMerge.php' => 'eac140f74e6914e642ad097d29bb9ced', './modules/UpgradeWizard/SugarMerge/EditViewMerge.php' => 'f49ea0d1b9367b918752cbf2c47c6418', './modules/UpgradeWizard/SugarMerge/DetailViewMerge.php' => '6efdcc35e1305e5e69ec735044bd3852', - './modules/UpgradeWizard/SILENTUPGRADE.txt' => 'af14bf7c114c37ba170780e220977509', + './modules/UpgradeWizard/SILENTUPGRADE.txt' => '8bc2c883f98135447095081ef933a04e', './modules/UpgradeWizard/Menu.php' => '43d8984853b46c9211f4e9a1481476e1', './modules/Trackers/vardefs.php' => 'ae493970c4394aed10e053a01e1c6615', './modules/Trackers/store/TrackerSessionsDatabaseStore.php' => '651ff72b35e94107828f348bece09986', @@ -1473,7 +1474,7 @@ $md5_string = array ( './modules/Trackers/Metric.php' => 'c61b51a1e4e68de37aef6ae463049ed0', './modules/Trackers/BreadCrumbStack.php' => '0877f4a29d2057d2d6eb421155941d70', './modules/Tasks/views/view.edit.php' => '1f0f201661b694f29221abb0b2b60ee9', - './modules/Tasks/vardefs.php' => '33bd2e225e9c0b90fb5d2d14838ba246', + './modules/Tasks/vardefs.php' => '04f8cf9e6d1a00aab08bb26aeabbf753', './modules/Tasks/tpls/QuickCreate.tpl' => 'c7abe3e62f7d7e5a968a21993fcef63b', './modules/Tasks/metadata/subpaneldefs.php' => 'cfa7544de231f3daffbaece1d48655c9', './modules/Tasks/metadata/subpanels/default.php' => '2d260e7503281518adee7ced2a4d1158', @@ -1555,7 +1556,7 @@ $md5_string = array ( './modules/SchedulersJobs/language/en_us.lang.php' => 'cfc649a8d0eaa3fb40d3be8ad0bcee99', './modules/SchedulersJobs/field_arrays.php' => 'a60602bff510c911ba742833413eba93', './modules/SchedulersJobs/vardefs.php' => '34f6d174d3c880df062a63b47909c818', - './modules/SchedulersJobs/SchedulersJob.php' => 'f2abf5f907e73b5dfea2dfd73a9e079a', + './modules/SchedulersJobs/SchedulersJob.php' => 'b2b07d5cbb249a4f0473ee442e1e0f9f', './modules/Schedulers/index.php' => '9ad649f03a817af8ce0b561671498738', './modules/Schedulers/metadata/subpanels/default.php' => '2c95f01778c5bc38a7291bdb6f3cdf33', './modules/Schedulers/metadata/subpaneldefs.php' => '0c954d9ff9fa9cfeb0ee98437d49b9a0', @@ -1683,7 +1684,7 @@ $md5_string = array ( './modules/ProspectLists/Duplicate.php' => '7196a7dcc38f009cc6e77f7e2163570f', './modules/ProspectLists/Delete.php' => 'cf669061c8a2f83091e4ef947151cd34', './modules/ProjectTask/ProjectTask.js' => 'f5859edf53adf5803537bc11cd05a10f', - './modules/ProjectTask/views/view.list.php' => '2c2dcd055ce8f68be50ab671a73e868e', + './modules/ProjectTask/views/view.list.php' => '9bcf3780727712f1b1ad72c7b91c47e1', './modules/ProjectTask/tpls/QuickCreate.tpl' => '271f79cf1bed2a22e8af11bd08dd4787', './modules/ProjectTask/metadata/subpanels/default.php' => 'a7b2c4b8334454268ab38361ae3b661b', './modules/ProjectTask/metadata/subpaneldefs.php' => '6cfd1d7be3f474911c83a8e4c43c1376', @@ -1723,7 +1724,7 @@ $md5_string = array ( './modules/Project/tpls/QuickCreate.tpl' => '9829aa1a4f4b1cb2436f318416abf27e', './modules/Project/metadata/subpanels/default.php' => 'a2d3a5474756aa3d8fb148a712c50c5b', './modules/Project/metadata/subpanels/ForEmails.php' => 'e88729bf35f9e86fff4696a2f660feb9', - './modules/Project/metadata/subpaneldefs.php' => '4ccaa04f319c5d8cd4e7c167765def40', + './modules/Project/metadata/subpaneldefs.php' => '3f49bb7924c7a8c81117e5e334049b4e', './modules/Project/metadata/studio.php' => '07870194b9b4a718f01126a4aff13c05', './modules/Project/metadata/searchdefs.php' => 'd52540199d35dd0caf037a41d73aa877', './modules/Project/metadata/quickcreatedefs.php' => '2c2dda5219888a8a096e4005e8731bf4', @@ -1739,7 +1740,7 @@ $md5_string = array ( './modules/Project/action_view_map.php' => '775855951282c637b9372b8df9221f44', './modules/Project/SubPanelView.php' => '161c93da0759f95a1df1868bbb81f845', './modules/Project/SubPanelView.html' => 'a8cfd450c5a10dac0f401a57c430a519', - './modules/Project/Save.php' => '888559cee233062da864c924c5fe1a2e', + './modules/Project/Save.php' => '962c137bd5e6dda962d8421be91f8982', './modules/Project/ProjectQuickCreate.php' => '0b45e5508713bd8397d38194ed2743ae', './modules/Project/Project.php' => '6407f2a8314b6d0a5d70e1e1bb2a400a', './modules/Project/Menu.php' => '2e76d746caf007f46f88f1ca809a2761', @@ -1774,7 +1775,7 @@ $md5_string = array ( './modules/Opportunities/SubPanelViewProjects.html' => 'ee53a295ab36aa28c8907678365f84f1', './modules/Opportunities/SubPanelView.php' => 'f5e57efa1ff61b86dc595daa6ff12f8c', './modules/Opportunities/SubPanelView.html' => '9aa177e7127a78667a26e49e15b58dce', - './modules/Opportunities/SaveOverload.php' => '9c6a9eb268ec206ca1d9ce494c1978cf', + './modules/Opportunities/SaveOverload.php' => '51fe4bc057b4c184db519161c24c7857', './modules/Opportunities/Save.php' => 'c09e98757bed656984ff81482a5a6b30', './modules/Opportunities/OpportunityFormBase.php' => '576d892f4f2e117eb95ff3a09286730c', './modules/Opportunities/Opportunity.php' => '9f06f5b1602815266a0692b5e2fc59f3', @@ -1793,7 +1794,7 @@ $md5_string = array ( './modules/Notes/Dashlets/MyNotesDashlet/MyNotesDashlet.php' => 'cf83426ac4536f8cd8e18172a3372e33', './modules/Notes/Dashlets/MyNotesDashlet/MyNotesDashlet.meta.php' => '96efb76af7d7b870ac156e8faf1792bc', './modules/Notes/Dashlets/MyNotesDashlet/MyNotesDashlet.data.php' => '451ae4ad07fcd28cf021d749e1e2ee61', - './modules/Notes/vardefs.php' => 'd4f333af86379b7e72f0b9c078edf208', + './modules/Notes/vardefs.php' => '17923b5a066deb9869b5fad9c7b01b50', './modules/Notes/tpls/QuickCreate.tpl' => '6d69dd062d81c322a168639aa0bea2db', './modules/Notes/tpls/EditViewHeader.tpl' => '0777ed82e97209ba83dd5ae85f990689', './modules/Notes/metadata/subpanels/ForTasks.php' => '991a9eb53fe58cde1bd81b5b2d6e2e6b', @@ -1855,7 +1856,7 @@ $md5_string = array ( './modules/ModuleBuilder/tpls/studioRelationship.tpl' => 'ec7c351c57a08d0a985d34106e7b4fba', './modules/ModuleBuilder/tpls/resetModule.tpl' => '2e110babe7eab76ecc92b94ca1cd18a9', './modules/ModuleBuilder/tpls/main.tpl' => 'e06f2e78d6ce29075de8d053d2d85818', - './modules/ModuleBuilder/tpls/listView.tpl' => '2ced2624e21218e181588a48f27daeb4', + './modules/ModuleBuilder/tpls/listView.tpl' => '3d80f1ba55feaaa3cf3394e2be3f63c7', './modules/ModuleBuilder/tpls/layoutView.tpl' => '0b63f12c6cd37e2dffbe4b04117f5a68', './modules/ModuleBuilder/tpls/labels.tpl' => 'f0110be40f31258a96f3d72116eabb7a', './modules/ModuleBuilder/tpls/index.tpl' => 'f254cb529627a3ae84c5c46ad36c54b7', @@ -1911,9 +1912,9 @@ $md5_string = array ( './modules/ModuleBuilder/parsers/relationships/ManyToOneRelationship.php' => '93c1301e823145f8d7dac99d8ddd75d3', './modules/ModuleBuilder/parsers/relationships/ManyToManyRelationship.php' => '62656c236d3e96dda5960a5afd78bb9c', './modules/ModuleBuilder/parsers/relationships/DeployedRelationships.php' => '303ac5f1dfd5d138007e05b6a1694ec8', - './modules/ModuleBuilder/parsers/relationships/ActivitiesRelationship.php' => 'e699545483baf1b996a5dfc8c6787442', - './modules/ModuleBuilder/parsers/relationships/AbstractRelationships.php' => 'f55bd707d59e455f80d2fb79e5b7d868', - './modules/ModuleBuilder/parsers/relationships/AbstractRelationship.php' => 'db2fb9195f0834346f5c61c863f4929e', + './modules/ModuleBuilder/parsers/relationships/ActivitiesRelationship.php' => '9403baf40f9b35578af9b68666662349', + './modules/ModuleBuilder/parsers/relationships/AbstractRelationships.php' => '3f9fe1c68eac3e2ddeebd1acf059e172', + './modules/ModuleBuilder/parsers/relationships/AbstractRelationship.php' => '938b0226be3f26dc34ee4a23381a6408', './modules/ModuleBuilder/parsers/parser.modifysubpanel.php' => 'c3848b1a209455fe7f4a3a1fcbb53fe4', './modules/ModuleBuilder/parsers/parser.modifylistview.php' => 'fa0ed1f8dce73863c5e2cd69a18b1e75', './modules/ModuleBuilder/parsers/parser.modifylayoutview.php' => '9cc9a21bc66d3e5cc1b76d155229ddc8', @@ -1928,17 +1929,17 @@ $md5_string = array ( './modules/ModuleBuilder/javascript/studiotabgroups.js' => '9122fbe637449b8419dcf54138796d61', './modules/ModuleBuilder/javascript/studio2RowDD.js' => '3faaeadba8b352f2f7e09d6766b74641', './modules/ModuleBuilder/javascript/studio2PanelDD.js' => '5f88544d725e6f2f11fff83f65307043', - './modules/ModuleBuilder/javascript/studio2ListDD.js' => '9d40914804207760756f7bb22e2d4b20', + './modules/ModuleBuilder/javascript/studio2ListDD.js' => '89470dcfe5c0f6db12a16eeefe3ed261', './modules/ModuleBuilder/javascript/studio2FieldDD.js' => '861ad309dff7d455329591168e4c6ac9', './modules/ModuleBuilder/javascript/studio2.js' => 'fd387f59c9ffe44be63fca80334739f6', - './modules/ModuleBuilder/javascript/SimpleList.js' => '384c32d3940fd4fcd0a5b04c17bee5ff', - './modules/ModuleBuilder/javascript/ModuleBuilder.js' => '704afe847aa655dd95213615ce030579', + './modules/ModuleBuilder/javascript/SimpleList.js' => '071e10cf864af65353db06a06efa1173', + './modules/ModuleBuilder/javascript/ModuleBuilder.js' => '4d600c95c35e1f39ddcea94ad8d2d9bf', './modules/ModuleBuilder/javascript/JSTransaction.js' => '6022b3b17d3bace0ecd4e31b747f36fb', - './modules/ModuleBuilder/controller.php' => 'b5d55ebbb64ea0ba943fe761a42938e5', + './modules/ModuleBuilder/controller.php' => 'b2dfa8ddf6bec8cbd8ed5caa711f3da7', './modules/ModuleBuilder/action_view_map.php' => '211f7363fe60af9cfb8e0dda4a8e8573', './modules/ModuleBuilder/Module/StudioTree.php' => 'ba8cb5bb1828ab02c95b763ebb0d508f', './modules/ModuleBuilder/Module/StudioModuleFactory.php' => '5a0a2bd755bc8add80477aa029324416', - './modules/ModuleBuilder/Module/StudioModule.php' => 'f3da5d509e606d445ac81d257efc73f1', + './modules/ModuleBuilder/Module/StudioModule.php' => 'de1cf06b4d7fc2817b32755da18f65cd', './modules/ModuleBuilder/Module/StudioBrowser.php' => '92c13d7c173dd243c2a72c821c17189f', './modules/ModuleBuilder/Module/MainTree.php' => '2817547b3c188df1d5c4b0bed2510552', './modules/ModuleBuilder/Module/DropDownTree.php' => '1efd3171700422c9bb838a0e8a8c8699', @@ -1948,7 +1949,7 @@ $md5_string = array ( './modules/ModuleBuilder/MB/MBVardefs.php' => 'b20c90fac5d47104d918ec502b3781ae', './modules/ModuleBuilder/MB/MBRelationship.php' => '387ceae2d9fbaeb0b6c5a04f59e869d5', './modules/ModuleBuilder/MB/MBPackageTree.php' => '479f8be396033c768a3b82780d8420a9', - './modules/ModuleBuilder/MB/MBPackage.php' => 'c54d5df6bb04e27f163c85b470719249', + './modules/ModuleBuilder/MB/MBPackage.php' => 'a455386430470c71e2616c3cb994c2aa', './modules/ModuleBuilder/MB/MBModule.php' => '0085956c81ed08d9e2618bcfae138ff0', './modules/ModuleBuilder/MB/MBLanguage.php' => 'c81ed5f12838381ba1bfe402e27c32cf', './modules/ModuleBuilder/MB/MBField.php' => '545003d5e4f70b3a80e360c27e287e6e', @@ -1971,12 +1972,11 @@ $md5_string = array ( './modules/MergeRecords/MergeField.html' => '725317ff7cfafbb61d5e0ece31639d3d', './modules/MergeRecords/Menu.php' => '299299650e5eae06f5daf4e4a01c0bed', './modules/Meetings/jsclass_scheduler.js' => '153437c6f663e0339566d9621a360c2f', - './modules/Meetings/controller.php' => 'a25e0db83ae5edb52857f72070bc2009', './modules/Meetings/action_view_map.php' => '783a7b699c3b3ce049ca2e3bde08d856', './modules/Meetings/JoinExternalMeeting.php' => 'b71a1a110ff5483fc45d49859d1a5ed4', './modules/Meetings/views/view.listbytype.php' => '61e0b1d6c77c420c061cc4edccc30b8e', './modules/Meetings/views/view.edit.php' => '12b46ccee3f27ce1dfc45187db422e59', - './modules/Meetings/vardefs.php' => '7392ec0602a0d82edac4740242423553', + './modules/Meetings/vardefs.php' => '21432a16e7091cde1a228d834e23df14', './modules/Meetings/tpls/extMeetingNotInvited.tpl' => '4cd1dd9a2f232673e7828455bb0df98e', './modules/Meetings/tpls/extMeetingNoStart.tpl' => '4f0e0734534e99f878aa68196f46678f', './modules/Meetings/tpls/header.tpl' => 'd2ecbc05b238906de6b4dfd3c0e06129', @@ -2001,8 +2001,8 @@ $md5_string = array ( './modules/Meetings/Save.php' => '82a55c7692d587e20236135aca956f43', './modules/Meetings/Menu.php' => '63348eb6a3845e5d48389fe80ed6bfff', './modules/Meetings/MeetingsQuickCreate.php' => '5e67b447ae39ad80afe5588a4a293388', - './modules/Meetings/MeetingFormBase.php' => '1ce3024e5addd56104171bddda4be15a', - './modules/Meetings/Meeting.php' => '0a14859e3b16116969818fdbb180fc4e', + './modules/Meetings/MeetingFormBase.php' => 'c5da9a28e489711c06105e8cbab907ca', + './modules/Meetings/Meeting.php' => 'ff8f38dcc3235e620216674e307c36e1', './modules/Meetings/Dashlets/MyMeetingsDashlet/MyMeetingsDashlet.php' => '7823935ea41c4e7139c51012a2a22741', './modules/Meetings/Dashlets/MyMeetingsDashlet/MyMeetingsDashlet.meta.php' => '1f17c035ab5229249ccb4dbbb51a1d39', './modules/Meetings/Dashlets/MyMeetingsDashlet/MyMeetingsDashlet.data.php' => '71a3a44c23a6fd7ed3c65a5b56795414', @@ -2089,17 +2089,17 @@ $md5_string = array ( './modules/InboundEmail/index.php' => '6b54e0739c45bd059cc2da5f3aa41d9a', './modules/InboundEmail/field_arrays.php' => '80b0dde460bc6d96c9d2d9af9d73aaff', './modules/InboundEmail/View.html' => 'bc8a276ffbe71fa4763a040ae6c5daad', - './modules/InboundEmail/ShowInboundFoldersList.php' => 'a59dcd7535d7f0f3a5344238f35b1057', + './modules/InboundEmail/ShowInboundFoldersList.php' => '2d63676593501956daa96d2d3f7135de', './modules/InboundEmail/SaveGroupFolder.php' => '59a7d467ab0166f09f5b0e746898fecb', './modules/InboundEmail/Save.php' => 'c34f4fb2ddb373bfa5fb5642d4d14621', './modules/InboundEmail/Popup.php' => '472052c2da7990c6e8d63a0a2dccbbd2', - './modules/InboundEmail/Menu.php' => 'b84fd55a1a077ea4c07f3c42ca857b0f', + './modules/InboundEmail/Menu.php' => 'c83fb947d849ae632dbeca9be8478cd6', './modules/InboundEmail/ListView.php' => '69f5836cee3be0e4afcd740d795ca44e', './modules/InboundEmail/ListView.html' => 'd76aa28386e3f7165f62dabfc6f0beb7', './modules/InboundEmail/InboundEmailTest.php' => '04ac2888e0372a0315d4086ec2e765f5', - './modules/InboundEmail/InboundEmail.php' => '73f79a09d7de54a862f1e60531cd7a2a', + './modules/InboundEmail/InboundEmail.php' => '26dcf035c0c788dc3943ba5f80b9dabf', './modules/InboundEmail/EditView.php' => '8d2777b9b2a0f72f198858073abb6e37', - './modules/InboundEmail/EditView.html' => '5b106b1d4f2109fdae661d5ccc871479', + './modules/InboundEmail/EditView.html' => '2da97af8509dcc07d0e4cc650313d9e0', './modules/InboundEmail/EditGroupFolder.php' => '0567428bfcddf16d2ef3654d8c965df2', './modules/InboundEmail/DetailView.php' => 'a171268c4c9e85ac2fc62efce30deeb7', './modules/InboundEmail/DetailView.html' => 'dd0bafd353b564debffaeb59f98f512f', @@ -2142,7 +2142,7 @@ $md5_string = array ( './modules/Import/maps/ImportMapCsv.php' => 'cbe41f5e574067e60ae6098aa1afeacf', './modules/Import/maps/ImportMapAct.php' => '10b875d1bfa8f195d2fb4d504ef571d1', './modules/Import/maps/ImportMap.php' => 'b0123e2d7678c753d58636f278c1fe09', - './modules/Import/Importer.php' => 'd0684d7cf71538235610209cfce395b2', + './modules/Import/Importer.php' => 'cb373285ae8cff79ca2a9fd5e075d242', './modules/Import/CsvAutoDetect.php' => '0388c726dd7ffdcd44190eb1aaac9aad', './modules/Import/controller.php' => 'ec75d24cc37cc2b6528f9d2c316aa537', './modules/Import/UsersLastImport.php' => '6e8e429b3eb290ef163e4ca5df88acf0', @@ -2154,7 +2154,7 @@ $md5_string = array ( './modules/Home/about.js' => '100062f5a04f31cfa0f3fa4eebeb22ee', './modules/Home/action_view_map.php' => '42ac212dbe9fd781aa849d252222a781', './modules/Home/SubpanelEdits.php' => 'a7c382727fd45ea8e3f3be39846b7ada', - './modules/Home/QuickSearch.php' => '347d4fcf688a4321af0eff8377b52d86', + './modules/Home/QuickSearch.php' => 'b599eab93e5189720690b27769ecfb2c', './modules/Home/views/view.additionaldetailsretrieve.php' => '44643d23831f590152b9f5f97815e08d', './modules/Home/views/view.modulelistmenu.php' => 'a1a8df55d774b049f8728fd70d8de48c', './modules/Home/views/view.list.php' => '3cd80d79fd232f21279f931557a49b43', @@ -2257,7 +2257,7 @@ $md5_string = array ( './modules/Employees/Menu.php' => '32d0848b3ceeed481d9cf0b952e757ac', './modules/Employees/Forms.php' => 'e99d8013a1b0c585c3a1afaa45dbceda', './modules/Employees/Error.php' => '56827c8b58bf24964608bfcdbf1e70a5', - './modules/Employees/Save.php' => '4953080213ee2b8ed8a93707030d2151', + './modules/Employees/Save.php' => '99fa1ea9d8490de229c28be73586f656', './modules/Employees/Employee.php' => '792d699b07950e9759bb152d5fb6ce8e', './modules/Emails/views/view.quickcreate.php' => '619c7f60b41f48bf879569c536754e39', './modules/Emails/views/view.modulelistmenu.php' => 'ff0f664baed72bfa53ac055bb5728392', @@ -2277,7 +2277,7 @@ $md5_string = array ( './modules/Emails/templates/emailDetailView.tpl' => '8eaa3a813c507ea79c0377f121af28ad', './modules/Emails/templates/editMailingList.tpl' => 'b59c285e2999a0b8fe5d404daa6a6050', './modules/Emails/templates/editContact.tpl' => '250594336e5ef27361dc6dfd952ed113', - './modules/Emails/templates/editAccountDialogue.tpl' => 'dc37322c2539f40198763823c5931099', + './modules/Emails/templates/editAccountDialogue.tpl' => '703d9240a937df97db15553968c483ec', './modules/Emails/templates/dceMenuQuickCreate.tpl' => '0b9dbaf3823a1629d722552f4f4a474c', './modules/Emails/templates/assignTo.tpl' => 'f2f69cd4d6721cb404134f07784839cc', './modules/Emails/templates/advancedSearch.tpl' => 'd4fa413e35c3c7970f351a58b5ed62dd', @@ -2311,9 +2311,9 @@ $md5_string = array ( './modules/Emails/javascript/displayOneEmailTemplate.js' => '4efbf9ed736dffca56a40d16456adf58', './modules/Emails/javascript/composeEmailTemplate.js' => '40158862759b06078af3f54cedf9ce67', './modules/Emails/javascript/complexLayout.js' => '6fe20d010015992fdea22f58b05c2325', - './modules/Emails/javascript/ajax.js' => '33a6ad6c218a4cd45e7016b76654799b', + './modules/Emails/javascript/ajax.js' => '06b488f6520f1b2cf5f577a3501c99dc', './modules/Emails/javascript/EmailUIShared.js' => '7f22615880460f916042d37a166121b5', - './modules/Emails/javascript/EmailUICompose.js' => '22050f4cb3a972bb654300297be22b56', + './modules/Emails/javascript/EmailUICompose.js' => '5df04ff703869ab3713395a70bdfb618', './modules/Emails/javascript/EmailUI.js' => '279ee95b8d428fd6be8d64a68e8611a8', './modules/Emails/javascript/Email.js' => '7c4964df7744820d10def3e92c7b54e1', './modules/Emails/index.php' => '793a57712ae26b09706ba36c5445fd9a', @@ -2356,8 +2356,8 @@ $md5_string = array ( './modules/Emails/Grab.php' => 'a23b6c00e77eb737421b635732c70ab3', './modules/Emails/GenerateQuickComposeFrame.php' => '961e97097f5031ce17efa4d3c0130acd', './modules/Emails/Save.php' => '3c0ea8c00c5422e321632a64beb6af93', - './modules/Emails/EmailUIAjax.php' => 'c0a2e03eebae95a05fa833522eb67c27', - './modules/Emails/EmailUI.php' => 'cb9ac49079a137031fa332c39dbb6a51', + './modules/Emails/EmailUIAjax.php' => '93df66dbe44c3f28c82984a3e39baa87', + './modules/Emails/EmailUI.php' => 'b8f23766a2ca6df7e51ec9bcc1b32fa4', './modules/Emails/EmailUI.css' => '5b76c65f92c066ae2e5ba605f46843ee', './modules/Emails/Email.php' => '357b53ecda9157c1c7c7e1551259a5b4', './modules/Emails/EditViewArchive.html' => 'ec3d3a403d492ee8af9ecf3f9d47471f', @@ -2383,7 +2383,7 @@ $md5_string = array ( './modules/EmailTemplates/PopupDocumentsCampaignTemplate.html' => '0eddd22d43ccb81b6d0c5178e595e2b6', './modules/EmailTemplates/Menu.php' => '12c60c01cff38eef80ef1f74ac15bda8', './modules/EmailTemplates/EmailTemplateFormBase.php' => '16cb8049789667d8278043324d51a6de', - './modules/EmailTemplates/EmailTemplate.php' => 'f9af5d416cabd21ca313c6aa3f2295e3', + './modules/EmailTemplates/EmailTemplate.php' => '3e9da2e6fa976f70b829ac926ea3df0c', './modules/EmailTemplates/EditViewMain.html' => '75b6755798c990ffeddebe70ecee3c98', './modules/EmailTemplates/EditView.php' => '65c2e542424f9759522c71578474730f', './modules/EmailTemplates/EditView.html' => '6de94e3657c8829680044915b8cd688a', @@ -2404,19 +2404,19 @@ $md5_string = array ( './modules/EmailMarketing/Menu.php' => '19da40f2c0b0700d9a5691823181c3e9', './modules/EmailMarketing/Forms.php' => '76760b77bb2cf3497833ae2d9f479b78', './modules/EmailMarketing/EmailMarketing.php' => '36d0a297001f84540de585629d3537d2', - './modules/EmailMarketing/EditView.php' => '178036b193ac697ed0d2e5c633154251', - './modules/EmailMarketing/EditView.html' => 'c15d3f7b87f9cb9f6b12384b9a0054bf', - './modules/EmailMarketing/DetailView.php' => 'c1583cfb1cab04cc9c9e1c0a1ed5cc63', - './modules/EmailMarketing/DetailView.html' => '8dc21486161e03ceddc24873b4a40bda', + './modules/EmailMarketing/EditView.php' => '71f24fd91d29a0069aaf5839f87787da', + './modules/EmailMarketing/EditView.html' => '39626ae31c210903aa68e029018738ce', + './modules/EmailMarketing/DetailView.php' => '9eedc882ec77374551d70a9481eea1db', + './modules/EmailMarketing/DetailView.html' => 'a1f29ee65ea9dfd8b8127cc4791eca6c', './modules/EmailMarketing/Delete.php' => '6a4c73072b1fdcd8c3e1d4c382792115', './modules/EmailMan/controller.php' => 'f41fa0557625a9e09074e0eea52c5c93', './modules/EmailMan/EmailImage.php' => 'be2d29045e447c5abcc521f27fa774b3', './modules/EmailMan/views/view.list.php' => '9d964a824192739b931f0c49dcc07422', './modules/EmailMan/views/view.config.php' => '0f083ffb933de1a16f4ec16e6cab4ad4', - './modules/EmailMan/views/view.campaignconfig.php' => '57c300fec0919129d97c5c83987cf363', + './modules/EmailMan/views/view.campaignconfig.php' => '164c8b6ebb8fcea03f37ae881a776329', './modules/EmailMan/vardefs.php' => 'bb0f414c73b28779fe531420052a811f', - './modules/EmailMan/tpls/config.tpl' => '1a02a8f04651a8f9f316dc3100d2cbf6', - './modules/EmailMan/tpls/campaignconfig.tpl' => '273798dcbff480e7f2b082ac48570ec1', + './modules/EmailMan/tpls/config.tpl' => '72b6ef5ffd24281a5bb7230ce5b42df4', + './modules/EmailMan/tpls/campaignconfig.tpl' => '48dfd3bdc7b02bf2790f5baa8cf74911', './modules/EmailMan/testOutboundEmail.php' => '56363da528191562f3405d5999639f52', './modules/EmailMan/subpanels/default.php' => 'b36c0c1b45ea365c69d9d282da5a1799', './modules/EmailMan/metadata/subpanels/default.php' => 'b36c0c1b45ea365c69d9d282da5a1799', @@ -2429,7 +2429,7 @@ $md5_string = array ( './modules/EmailMan/Menu.php' => 'e42681e7ce08924a06d020bd27f291c4', './modules/EmailMan/Forms.php' => '5fdc2b1b3b271dac9c1def1cef7da067', './modules/EmailMan/EmailManDelivery.php' => 'c36bbdc4b66025526b6ec4643ec29e8d', - './modules/EmailMan/EmailMan.php' => '683685417937e1b7d9e85f2c003800ae', + './modules/EmailMan/EmailMan.php' => 'f50e86a7a223af40ff8a8ccf52af8933', './modules/EmailAddresses/vardefs.php' => '6e6564777f5fdd6b022c9c180fa41e11', './modules/EmailAddresses/language/en_us.lang.php' => 'f5715cae656b627542578bf65f20fd56', './modules/EmailAddresses/EmailAddress.php' => '4b40122938682fa4dd3d9418b62a551e', @@ -2452,14 +2452,14 @@ $md5_string = array ( './modules/DynamicFields/templates/Fields/TemplateIFrame.php' => 'e7b366897709c12396ac423cdf77b9dc', './modules/DynamicFields/templates/Fields/TemplateHTML.php' => '54a7b54e35652a082428b4680b93cc95', './modules/DynamicFields/templates/Fields/TemplateFloat.php' => 'cdd88fb190e94c4bda06e6be5a4ab7ce', - './modules/DynamicFields/templates/Fields/TemplateField.php' => '45510abce93d0380ec593014773617c5', + './modules/DynamicFields/templates/Fields/TemplateField.php' => '0ddf64be19db8c9029d4461efc52e83d', './modules/DynamicFields/templates/Fields/TemplateEnum.php' => 'd45ac95de40ce220fcee5cf73b0bb6b3', './modules/DynamicFields/templates/Fields/TemplateEncrypt.php' => '28db5af0d64cff070439a52b22588f50', './modules/DynamicFields/templates/Fields/TemplateEmail.php' => '0c5f1a9f9e72bcc3eab2fecd0bea40e3', './modules/DynamicFields/templates/Fields/TemplateDecimal.php' => 'b10b08df804f49467e02dc747485f3f9', - './modules/DynamicFields/templates/Fields/TemplateDatetimecombo.php' => '51cf1f35817cbfba8f97eb1cd1c8d20e', + './modules/DynamicFields/templates/Fields/TemplateDatetimecombo.php' => '6b6fd13d8722275aa42ed9bf2b76f9e2', './modules/DynamicFields/templates/Fields/TemplateDate.php' => '288f1feccd81ccf38f1b056e4c7a54b4', - './modules/DynamicFields/templates/Fields/TemplateCurrencyId.php' => '493c29ed2bed033c83ebc5cb599c3caa', + './modules/DynamicFields/templates/Fields/TemplateCurrencyId.php' => 'cd40d536288a69de9eaa792a35369c7d', './modules/DynamicFields/templates/Fields/TemplateCurrency.php' => 'ea510b1868f5dc211521653c976f4b1e', './modules/DynamicFields/templates/Fields/TemplateBoolean.php' => 'a64de32021cb733c65fe52e7d886516a', './modules/DynamicFields/templates/Fields/TemplateAddressCountry.php' => 'b6c42b51c77c9c260677a0c9a3990c5b', @@ -2504,7 +2504,7 @@ $md5_string = array ( './modules/DynamicFields/FieldsMetaData.php' => 'fdea25798cde860a9ca26514798745c0', './modules/DynamicFields/FieldViewer.php' => '650bf8da3b81dc6c02b485ffae257eb5', './modules/DynamicFields/FieldCases.php' => '14b8c94e02dc85b2bbecf93709bce933', - './modules/DynamicFields/DynamicField.php' => '4d0aa56e3982e9b30137b2566010d783', + './modules/DynamicFields/DynamicField.php' => '031c1780ea79be9a531ccf6b1c6d25c4', './modules/Documents/documents.js' => '62fae37d1716d8cb3449bd0776290990', './modules/Documents/tpls/view.extdoc.tpl' => '1ca19fa9546ede05285d2f84a7dad8b1', './modules/Documents/action_view_map.php' => 'c99de9fefebe9e4ade24d34076b1daaa', @@ -2567,11 +2567,11 @@ $md5_string = array ( './modules/Contacts/views/view.validportalusername.php' => 'fd1109ff4ca90d838a4173e98cc30491', './modules/Contacts/views/view.retrieveemail.php' => 'e3179c3020998cc0b7a39fea0c560b16', './modules/Contacts/views/view.mailmergepopup.php' => 'd1a1ee6cb1c0daf825cfecc59689055b', - './modules/Contacts/views/view.edit.php' => 'bf53e950cf22dc346239dd1d38324a37', + './modules/Contacts/views/view.edit.php' => 'fed89b949b38a79b6eae82d3810281eb', './modules/Contacts/views/view.detail.php' => '249d6ba8559860bfa63ba0d23922fe1d', './modules/Contacts/views/view.contactaddresspopup.php' => '67fc0a2a7251d16305f1685c4149703e', './modules/Contacts/views/view.closecontactaddresspopup.php' => 'bb8bdfe65be31ba0dced32cc16a2a0ae', - './modules/Contacts/tpls/QuickCreate.tpl' => '4694ac305f16b20811c5cb9c0a945fe5', + './modules/Contacts/tpls/QuickCreate.tpl' => '5eb84da4884c260e1659d2c89ed2cf04', './modules/Contacts/metadata/subpanels/default.php' => 'e00b51f385f13b38d7a6c67b94fafd78', './modules/Contacts/metadata/subpanels/ForProject.php' => '2d21fce5e6b26f5a2c8e3b7919267ed9', './modules/Contacts/metadata/subpanels/ForOpportunities.php' => 'a7c33e464feb32671806a94b6e30d0c1', @@ -2681,7 +2681,7 @@ $md5_string = array ( './modules/Configurator/tpls/addFontResult.tpl' => '883aab2f2c47f7dd78d69d8094257a79', './modules/Configurator/tpls/SugarpdfSettingsFields.tpl' => '220de2fecf8bd16f2a6bde807a3d1196', './modules/Configurator/tpls/SugarpdfSettings.tpl' => '5bf4ad395a4406a35c7015261c0f1669', - './modules/Configurator/tpls/EditView.tpl' => 'e9afdb16501132248ef5eda4fb5905aa', + './modules/Configurator/tpls/EditView.tpl' => '3657213f76561a584343bca3bd68dc7b', './modules/Configurator/metadata/SugarpdfSettingsdefs.php' => '11e35d8657b2f5fa72588ec9fab24f54', './modules/Configurator/language/en_us.lang.php' => 'eff8c60dd973acc7236f20dfff93d27e', './modules/Configurator/controller.php' => 'b0a13efcd7259e5228b0e4e5153aa69c', @@ -2690,7 +2690,7 @@ $md5_string = array ( './modules/Configurator/Menu.php' => '5cbc243dd9e97433e65b6c2c97a5249b', './modules/Configurator/LogView.php' => 'f062eaf27b3ab1b3326f0df396514449', './modules/Configurator/Forms.php' => '05095502bdc7e8e5ef2c726d45356a13', - './modules/Configurator/Configurator.php' => 'e055f589c00dacadf1bb07811bce7e85', + './modules/Configurator/Configurator.php' => '8207e9bc6776b080c8ca52628c898ff1', './modules/Charts/DynamicAction.php' => '92cb8f5f38f39e2f0941e540538a7f1c', './modules/Charts/language/en_us.lang.php' => '3254163431c91d7510b5fc2b26b86655', './modules/Charts/code/predefined_charts.php' => '400b6637a6db557c8a99e5bfa9c063c3', @@ -2778,7 +2778,7 @@ $md5_string = array ( './modules/Campaigns/tpls/WizardCampaignBudget.tpl' => '79175fb69b15c9bd869d2f836b814cb1', './modules/Campaigns/metadata/subpanels/default.php' => '91c7184d9710f1caf307cdad0041b695', './modules/Campaigns/metadata/subpanels/ForEmailMarketing.php' => 'ba92694a89b8ffa65d67976fb1ad0110', - './modules/Campaigns/metadata/subpaneldefs.php' => '3cbb7bf3b827a3ac88b5a121d8dccab6', + './modules/Campaigns/metadata/subpaneldefs.php' => '266e9b47efebfe5a12fc9103a5f0beb2', './modules/Campaigns/metadata/studio.php' => '7f527321f988b1b525bb0c995b6d983a', './modules/Campaigns/metadata/searchdefs.php' => 'c734542a34452e69a25995390ac1569b', './modules/Campaigns/metadata/popupdefs.php' => '1ddac8f3cbd1e6fe738bc6904a10e9d3', @@ -2787,7 +2787,7 @@ $md5_string = array ( './modules/Campaigns/metadata/detailviewdefs.php' => 'ccee50af83c4dc791e3db46164863900', './modules/Campaigns/metadata/additionalDetails.php' => 'fe10d71bc807363897c878614af4bc2b', './modules/Campaigns/metadata/SearchFields.php' => 'fbf3d73ecc02f6800b2f537bfa70c0c2', - './modules/Campaigns/language/en_us.lang.php' => '7f4f69557e52c40fca6d988adcdfbc38', + './modules/Campaigns/language/en_us.lang.php' => '7e86fbdd6c3313705c9e605248d2ee9d', './modules/Campaigns/utils.php' => '8d904a2ae27283f425dd648675619160', './modules/Campaigns/field_arrays.php' => '80383b144bee59ff39130f2ce6bb3b8d', './modules/Campaigns/controller.php' => '15ac60b0405f6a24d1097d50b60c0b93', @@ -2802,8 +2802,8 @@ $md5_string = array ( './modules/Campaigns/WizardMarketing.html' => 'a1829d27c34e6b8c6b424b9a12976fce', './modules/Campaigns/WizardHome.html' => 'b1876f7fc33ebb237541ce6769ba2a14', './modules/Campaigns/WizardEmailSetupSave.php' => '6687ec09c03e96c49a6a5f61e45e2ace', - './modules/Campaigns/WizardEmailSetup.php' => '845dbaee097c67f3c97aa6fe523c4b2d', - './modules/Campaigns/WizardEmailSetup.html' => '58a28e249690919281eb2f3dd0842a7b', + './modules/Campaigns/WizardEmailSetup.php' => '9d3a5d199ed8d2f0599c0866ef5088b6', + './modules/Campaigns/WizardEmailSetup.html' => 'c6f6f161b115b008395e544660eaa52f', './modules/Campaigns/WebToLeadFormSave.php' => '114526cb1aeabf283a5dc3e34df8338c', './modules/Campaigns/WebToLeadForm.html' => '4c4fc18a514415b7286f195495546d0d', './modules/Campaigns/WebToLeadDownloadForm.html' => '44e9c3f8ff27c646fed38b5da68f9c04', @@ -2813,7 +2813,7 @@ $md5_string = array ( './modules/Campaigns/Tracker.php' => 'ded64f00b5089f9ed0a8b1998f423713', './modules/Campaigns/DeleteTestCampaigns.php' => '0252ecdf2e0978b07d39c1bb63405864', './modules/Campaigns/WizardHome.php' => '13e160667cf44e1d30bfae1ec1124128', - './modules/Campaigns/TrackDetailView.php' => '66386a8943a09b80e21e3c37edb5dbf8', + './modules/Campaigns/TrackDetailView.php' => '5bcb92ae5ea4d65d3baf767b6a522815', './modules/Campaigns/Subscriptions.tpl' => '02012c3332ecb15cc8497e59adc13482', './modules/Campaigns/Subscriptions.html' => '26698c35ca340f46dafc57ad7fa6cd13', './modules/Campaigns/SubPanelViewer.php' => '43f98d11245515984ec21f5da674dde7', @@ -2844,7 +2844,7 @@ $md5_string = array ( './modules/Campaigns/CaptchaValidate.php' => '2c463b1b38127c6638e6f2a924db6402', './modules/Campaigns/CampaignDiagnostic.php' => '971bc361788a7cd3677315a23ffc71da', './modules/Campaigns/CampaignDiagnostic.html' => 'd22a79005c6d7724fe340ea9ce2cd925', - './modules/Campaigns/Campaign.php' => 'e4c4e8184087d413b654d6c02a3a1e56', + './modules/Campaigns/Campaign.php' => '46db5b4696306c7017f437ac39f9ae42', './modules/CampaignTrackers/vardefs.php' => 'd79ab77068c85f1958c5f21f1c6cf0c3', './modules/CampaignTrackers/metadata/subpanels/default.php' => '5f3eb50a10459683bc3363fd351dc4bb', './modules/CampaignTrackers/language/en_us.lang.php' => 'f6c2a7aacd4b7bfc80c1329c2f04fedf', @@ -2865,7 +2865,6 @@ $md5_string = array ( './modules/CampaignLog/Popup_picker.html' => 'e31b4805df66cbc1cdfd1d073e7c5f1b', './modules/CampaignLog/Menu.php' => 'b76d9693b31806b29d1c9d2ac554c4d3', './modules/CampaignLog/CampaignLog.php' => 'dba048da56ad0505426cab5b1fbf7449', - './modules/Calls/controller.php' => '11b464106f66d286b6a48065b2e5555a', './modules/Calls/views/view.edit.php' => '8c94e4b5f35e895b73cf1236abb252fb', './modules/Calls/vardefs.php' => 'f352c10ea95ee43da37310b0084c39b4', './modules/Calls/tpls/footer.tpl' => 'b1bb660105583440d3c000b6893eb532', @@ -2878,7 +2877,7 @@ $md5_string = array ( './modules/Calls/metadata/searchdefs.php' => '892464b109427176fc0dc9ca870ae1e4', './modules/Calls/metadata/quickcreatedefs.php' => 'cd55c14f3be5324623eca631dcc3dc31', './modules/Calls/metadata/listviewdefs.php' => 'd8fbb386c9825e95b0d20a90bef4a1fc', - './modules/Calls/metadata/editviewdefs.php' => '7fcde9c4ad32b3b170e3f86a5f01b82f', + './modules/Calls/metadata/editviewdefs.php' => 'b4d0ce89b6e6a9958d982563533e1ac3', './modules/Calls/metadata/detailviewdefs.php' => '9f12f16bc3cc7d15ca7a49603effeda2', './modules/Calls/metadata/additionalDetails.php' => 'f4a03882602f5e25ae9680a7628d25c6', './modules/Calls/metadata/SearchFields.php' => '478819054d7ea0c931e4601ccbfd62b4', @@ -2893,8 +2892,8 @@ $md5_string = array ( './modules/Calls/Dashlets/MyCallsDashlet/MyCallsDashlet.data.php' => '879e5027ef79b3bf23f9c09609188e29', './modules/Calls/CallsQuickCreate.php' => '1d0f9551f8a18c310d5c37f80a7ee82a', './modules/Calls/CallHelper.php' => '0259d8643b53c0afc964fc289aa3e6d0', - './modules/Calls/CallFormBase.php' => 'd3aa539db9ee0913a2a061d210719f1d', - './modules/Calls/Call.php' => '80a2053fe0e08a784e66003cc6317cc6', + './modules/Calls/CallFormBase.php' => '0dd05e60651de08720dc78f8b45e945c', + './modules/Calls/Call.php' => '15765fb5e19c897df894f6aa66e5caa2', './modules/Calendar/Cal.js' => '0142de3a086e870ec719597edaa1e6de', './modules/Calendar/views/view.savesettings.php' => '727fc7135df400188b342f069dcb2dc7', './modules/Calendar/views/view.saveactivity.php' => 'fe2f2891752fe4d647b42bcb7ca101c9', @@ -2978,7 +2977,7 @@ $md5_string = array ( './modules/Administration/templates/ConfigureTabs.tpl' => 'a0febea3c9ae7b3f10789d8a10f74f00', './modules/Administration/repairSelectModule.php' => '0b5056adf4e7229d67c20b60f8842bba', './modules/Administration/ncc_config.php' => '42cd8fc45ba496786a136fe08ab93166', - './modules/Administration/metadata/adminpaneldefs.php' => '2be7f3f9950b74d8053a105ca274bc32', + './modules/Administration/metadata/adminpaneldefs.php' => '309e21f7dae5b4b002439e9cfaa82f5e', './modules/Administration/metadata/SearchFields.php' => '787123be8e7e907e9754da7bf36ead0a', './modules/Administration/language/en_us.lang.php' => '31f06eb4ad67e66b512dbdf75bb84fca', './modules/Administration/javascript/Administration.js' => '32022a6e5a7cca0044cb877730e421e5', @@ -2992,12 +2991,12 @@ $md5_string = array ( './modules/Administration/clear_chart_cache.php' => 'a4be1a29a9f98f1f86215c6540c0b712', './modules/Administration/Diagnostic.tpl' => 'dd85b66e84e47c05f1da3cd8ccefaec3', './modules/Administration/UpgradeWizard_prepare.php' => '79d0670ca24e0948af4a4396ba3c689a', - './modules/Administration/UpgradeWizard_commit.php' => 'e78691523ec261b1c227338fbcd41b57', + './modules/Administration/UpgradeWizard_commit.php' => '79ad4c6de14e1d3c8fe3cd28088d6d1a', './modules/Administration/UpgradeIISAccess.php' => 'fa50ac29309a95d7a325c1ec7444013c', './modules/Administration/UpgradeWizard.php' => '44260efe5d777ba21db42e70f378900f', './modules/Administration/updater_utils.php' => 'ce88371464b3173a77b845127355ddb2', './modules/Administration/UpgradeFields.php' => '0bc343d982326cd0597eccfd36585ba2', - './modules/Administration/UpgradeAccess.php' => '267f29861771782666369d717698a419', + './modules/Administration/UpgradeAccess.php' => '0580583a2de5dad3606486ed8c7bbd3e', './modules/Administration/expandDatabase.php' => 'e8a4f5cbf41fd945eb7cfd1304ffcaed', './modules/Administration/UpgradeWizardCommon.php' => '6692078482ee14f39d6120ed762a83d8', './modules/Administration/SupportPortal.tpl' => 'bf30f894a5c08d31be49131e6310a423', @@ -3010,9 +3009,9 @@ $md5_string = array ( './modules/Administration/RepairXSS.php' => '8566812c2dcb9411e77003508c687f15', './modules/Administration/RepairIE.php' => 'e66d8e6e71543ad486510ccce7be8ff3', './modules/Administration/action_view_map.php' => '5e537169f57ffc25db018bc7f5556a73', - './modules/Administration/UpgradeHistory.php' => '3b449bcfaa5761803e51a306a8e16a0e', + './modules/Administration/UpgradeHistory.php' => 'a9ec8a2612a5d3404e974d53de8b4311', './modules/Administration/RebuildSchedulers.php' => '8a019b515ec6b861b5d8389d8db6cbc4', - './modules/Administration/RebuildRelationship.php' => '44a4993aae49e288eac28ff3e31c4479', + './modules/Administration/RebuildRelationship.php' => 'd11318ad7e686146e8a1cee92521952c', './modules/Administration/RebuildJSLang.php' => '0347c2a632bbaf76615b2a70ee09a15d', './modules/Administration/RebuildFulltextIndices.php' => 'c89c6c2ff399962a5dbc021c4793aee4', './modules/Administration/RebuildExpressionPlugins.php' => 'a926f301737fb11ba1a71673eb51424c', @@ -3054,7 +3053,6 @@ $md5_string = array ( './modules/Activities/language/en_us.lang.php' => '915ca75c37f8eaf6212cb4638e1b5bbc', './modules/Activities/config.php' => '263bbe4872534909a02db8be2f6ab95a', './modules/Activities/SubPanelViewContacts.html' => 'ba5a475b493fcfb2b9dcec79380f9137', - './modules/Activities/Activity.php' => '4dde8c1760bd9021b0f2b27346e17df2', './modules/Activities/SubPanelView.html' => '9dc12c6183eb5c4d4dcb907f9732f142', './modules/Activities/SetAcceptStatus.php' => '99917cfe39ceb08a60bb806e63254f11', './modules/Activities/OpenListView.php' => '4eea6e4645852f3139c66e31cb69e772', @@ -3213,7 +3211,7 @@ $md5_string = array ( './log4php/LoggerManager.php' => 'fa34194306cd50c01b71d8d5060ee362', './leadCapture.php' => '2ea92050e32327efc03a4d6f1bd014b5', './jssource/src_files/include/MySugar/javascript/MySugar.js' => '270b71a9ce6b524095622d58e9e8b105', - './jssource/src_files/include/SubPanel/SubPanelTiles.js' => 'de8d2b393848a3a97da76afde8e9d906', + './jssource/src_files/include/SubPanel/SubPanelTiles.js' => '377d3ebdb8e8ed00cf65297267818fc8', './jssource/src_files/include/SugarCharts/Jit/FlashCanvas/canvas2png.js' => '4c95a8c2071e0d5b4ae1531a790f1492', './jssource/src_files/include/SugarCharts/Jit/FlashCanvas/flashcanvas.js' => '60e9df067b6a0591aedbfd15f2a6d21b', './jssource/src_files/include/SugarCharts/Jit/js/Jit/jit.js' => '88df69bdc4b1619a0da7cf0df8c841eb', @@ -3222,7 +3220,7 @@ $md5_string = array ( './jssource/src_files/include/SugarDependentDropdown/javascript/SugarDependentDropdown.js' => 'ad40acbb46e940501e44ca5284357057', './jssource/src_files/include/SugarEmailAddress/SugarEmailAddress.js' => 'dbdc67c4b71a5c24bd8ef7efb12675b7', './jssource/src_files/include/SugarFields/Fields/Address/SugarFieldAddress.js' => '0f97d6009e2d91ea00eb18b788e04ae0', - './jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js' => 'd1d65de88ed79260fd0c234bfd85c6d2', + './jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js' => 'c3b0f7249b491eafd0a09aaa2caceea5', './jssource/src_files/include/SugarFields/Fields/Datetimecombo/Datetimecombo.js' => '04c6a3584bd1e08b9c6ff4f76ffbf484', './jssource/src_files/include/SugarFields/Fields/File/SugarFieldFile.js' => '103bcede04c3e18e7ebf1df5a68fa3c4', './jssource/src_files/include/connectors/formatters/default/company_detail.js' => '4df2a6df9d9a5e704d6fb6d0ce99ea04', @@ -3237,7 +3235,7 @@ $md5_string = array ( './jssource/src_files/include/javascript/quickCompose.js' => '495728436c153d7159e370bc941b3230', './jssource/src_files/include/javascript/quicksearch.js' => 'ccd04eaefef5df50e9b30ca48d96ae29', './jssource/src_files/include/javascript/report_additionals.js' => 'c181eaae12c44a7f9c8869d4b73ddb02', - './jssource/src_files/include/javascript/sugar_3.js' => 'bead5849ec4974f5456862f43c92766d', + './jssource/src_files/include/javascript/sugar_3.js' => '9e78b9c122d87233713272020a32defc', './jssource/src_files/include/javascript/sugar_connection_event_listener.js' => 'e38a0e0155991cbc8fabaa59bcb1b705', './jssource/src_files/include/javascript/overlibmws.js' => 'baaf046aa93f29e370d17b31e0d66e16', './jssource/src_files/include/javascript/overlibmws_iframe.js' => 'b250fc67fe7d6812a41b528ac39083bc', @@ -4082,7 +4080,7 @@ $md5_string = array ( './install/siteConfig_b.php' => '5a421f7bd0b4a5d91d069948e92e0d7a', './install/seed_data/quotes_SeedData.php' => 'ec21dd960d685aab758ff501b31bd4fd', './install/seed_data/Advanced_Password_SeedData.php' => '6570caa9b6f9802427211ddb3f9f5066', - './install/register.php' => 'd8815e26cef52d1f55a82495a02ff02d', + './install/register.php' => '19c346c2c30083985b6e9bce4cbf8caf', './install/ready.php' => 'b4c007474b4e3cbe6a43a00082514b81', './install/processing.gif' => 'd7c43fc19181ee59862601bfce100b41', './install/systemOptions.php' => '08ecc6b72613c26c20cb731bc3093a8e', @@ -4099,7 +4097,7 @@ $md5_string = array ( './install/install.css' => 'bfcdc7a796ee4e2ad5ee7976d67fa138', './install/download_patches.php' => '6ff45bb95c80aec627607e8d3d52adf4', './install/download_modules.php' => 'd105c8d5111d70a96c34ce90c0d0bdc0', - './install/install_utils.php' => '1df9855535c625bccf9222b473f75ecf', + './install/install_utils.php' => 'b7d4a88f2ddcd8bdaa1aa439785a1df4', './install/populateSeedData.php' => '7de245f982b7a9081f3d9bc4aa998c3f', './install/demoData.en_us.php' => '7d6a56d4b61a1bca6910df394c4e35b7', './install/dbConfig_a.php' => '7c4f15caea3479043263e6f7b4711b12', @@ -4120,9 +4118,9 @@ $md5_string = array ( './include/externalAPI/Base/OAuthPluginBase.php' => 'd552b49c445defdc9007389cb90e931b', './include/externalAPI/Base/ExternalOAuthAPIPlugin.php' => 'b1f75ab7c909a2e7d9b9d44670b077ac', './include/externalAPI/Base/ExternalAPIPlugin.php' => '288047888bf1d79e76572fea18b7960b', - './include/externalAPI/Base/ExternalAPIBase.php' => '1ea6c8a019ac9f22ee436963cc862610', + './include/externalAPI/Base/ExternalAPIBase.php' => '3df982151c1281ffeb7d53e90fb2c77d', './include/SugarSQLValidate.php' => 'eb288af9ccb9828370ef3999ad926619', - './include/SugarOauth.php' => '691e81a95c968e3e2620d3494a942b41', + './include/SugarOauth.php' => 'e9c19b3799b9f64560a80eb1523144f8', './include/SugarOAuthServer.php' => 'f5aeac6137fe32562dfe2169d010721e', './include/SugarDateTime.php' => '16ebd918b15a9b64cd98aed08949271d', './include/ytree/treeutil.js' => '414c4f4493f6929a6c5389d60192dc92', @@ -4204,14 +4202,14 @@ $md5_string = array ( './include/utils/layout_utils.php' => '8e9ba2ade862c13f6b5af45f5713eb2c', './include/utils/file_utils.php' => 'd27f493aaffe0d4ecc32db336be9d0b0', './include/utils/external_cache.php' => 'a0e044ccf54743fddb2da7b1d6208a07', - './include/utils/mvc_utils.php' => '84a3d13da3434244058d059349944d48', + './include/utils/mvc_utils.php' => '1fec08e3c976074f3d4e8e9f7da6caa7', './include/utils/encryption_utils.php' => 'aed0886450487779feb6612dae1b68c9', - './include/utils/db_utils.php' => 'af7720b5866d652605efc17c132cd5e9', + './include/utils/db_utils.php' => 'ab7db67c5d8998ccc5c403b6739baee2', './include/utils/autoloader.php' => '3d86e0d26ac8fc289c5d5ca1e8cc6d5a', './include/utils/array_utils.php' => 'cd219555951987e06bee9321e57ab9db', './include/utils/activity_utils.php' => '489f37be89640717f8e6d0122fd9b8e7', './include/utils/LogicHook.php' => 'ceeaf8d2efd82f52f34fa0d2af84fd27', - './include/utils.php' => '8cfc8333ec61560dfb736b6f68f6be15', + './include/utils.php' => 'a7779397965c19f73a458f2c8c66018c', './include/upload_file.php' => 'df7b3b994bc7703e471b62a5ab7a7598', './include/timezone/timezones.php' => '15844342704f03ef8d40603abe9aa99b', './include/templates/TemplateGroupChooser.php' => '6ae99e0ff3795b613d03ec0474e52c46', @@ -4308,7 +4306,7 @@ $md5_string = array ( './include/modules.php' => '41d6f963f0295ec12b8d02cba0e86a6f', './include/language/jsLanguage.php' => '3aade005a1d8758085838ed1a22ebf34', './include/language/en_us.notify_template.html' => '575ac8c5b777f5a9c9cce5c0825a1182', - './include/language/en_us.lang.php' => 'fb8d7848e23656929d0e2b7a707f6f09', + './include/language/en_us.lang.php' => '148d3ffb1fc63e7da67c81fd22ce3232', './include/json_config.php' => 'b14ab9be033480aa03fd2d43aab52591', './include/javascript/cookie.js' => '2e1893d27968b7ce7e74bb07307ad9fc', './include/javascript/dashlets.js' => 'dbe2229706fecdd3b764acea455b3c7f', @@ -4321,7 +4319,7 @@ $md5_string = array ( './include/javascript/quickCompose.js' => '4a097a6d9de93625b0e49c2f116f9908', './include/javascript/quicksearch.js' => 'c8a23b196f8ef46a1cf8cc1e352bae7e', './include/javascript/report_additionals.js' => '1002991805113832dfca9df1b6af9684', - './include/javascript/sugar_3.js' => '95317f33ca84639721baa49a6e5379a7', + './include/javascript/sugar_3.js' => 'abb45e022ecbb76c728c487cfce5bcce', './include/javascript/sugar_connection_event_listener.js' => '1b0384a38278c86f2bf7edeb985ed9ad', './include/javascript/overlibmws.js' => '66a898aad7f5de44cae6d97016ae91dd', './include/javascript/overlibmws_iframe.js' => 'aae059277f699dde6451e92c51a3746d', @@ -5353,6 +5351,7 @@ $md5_string = array ( './include/javascript/yui/build/uploader/uploader.js' => 'f7c7235775f007582ce8015f57e4814f', './include/javascript/yui/build/uploader/uploader-min.js' => '71d02cac4ba3a11ca92d2542f3e23a42', './include/javascript/yui/build/uploader/assets/uploader.swf' => '646e1dfba0801ec88039409da9fb35ad', + './include/javascript/yui/build/treeview/blank/treeview.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/treeview/treeview.js' => '82e385da272d9fc4718568899aab9577', './include/javascript/yui/build/treeview/treeview-min.js' => '48d8e3d6e37a3bfcf8eedc71679fb267', './include/javascript/yui/build/treeview/assets/treeview-core.css' => 'd13375280041c299b365991367d63db5', @@ -5364,6 +5363,7 @@ $md5_string = array ( './include/javascript/yui/build/treeview/assets/skins/sam/check2.gif' => '3544088604d6d6e519a3a392db89c38d', './include/javascript/yui/build/treeview/assets/skins/sam/check1.gif' => '691389bb26f429e79666599992a384b3', './include/javascript/yui/build/treeview/assets/skins/sam/check0.gif' => 'd3e7d474e008b8cb585eb05c5baafe5a', + './include/javascript/yui/build/tabview/blank/tabview.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/tabview/tabview.js' => '86a208edbb36a6b75caed1dc5f59852c', './include/javascript/yui/build/tabview/tabview-min.js' => 'd726a6427cb3755a201619e9736d0028', './include/javascript/yui/build/tabview/assets/tabview.css' => '2bb651eed0d6d5d79fcd4fea1cdada95', @@ -5406,6 +5406,7 @@ $md5_string = array ( './include/javascript/yui/build/slider/assets/bg-fader.gif' => '0c9eb4a1518994aa9786ff6f81a74cec', './include/javascript/yui/build/selector/selector.js' => '8795d543de5b357869554313ae85607c', './include/javascript/yui/build/selector/selector-min.js' => '30b2885e01bce8bdf413d8e1e0842697', + './include/javascript/yui/build/resize/blank/resize.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/resize/resize.js' => 'f854d2433be9c750ff6a2139aec2e609', './include/javascript/yui/build/resize/resize-min.js' => '6e75b01192d052b2c613aa4100caef0c', './include/javascript/yui/build/resize/assets/skins/sam/resize.css' => '73ea10823217fbacd668ea3a4ac3b897', @@ -5436,13 +5437,15 @@ $md5_string = array ( './include/javascript/yui/build/profilerviewer/assets/profilerviewer-core.css' => 'd13375280041c299b365991367d63db5', './include/javascript/yui/build/profiler/profiler.js' => '04739371725e37922a446b6d587e069b', './include/javascript/yui/build/profiler/profiler-min.js' => '85f206f317997d4f487a57511a72739a', + './include/javascript/yui/build/paginator/blank/paginator.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/paginator/paginator.js' => 'e7d18fe1bbf6f5231166f1ec9bb6416d', './include/javascript/yui/build/paginator/paginator-min.js' => 'c2e0fa46bc14662193df6358d440e90c', './include/javascript/yui/build/paginator/assets/skins/sam/paginator.css' => 'cd555d47d10366590a92ae8554f8c62d', './include/javascript/yui/build/paginator/assets/skins/sam/paginator-skin.css' => '903bccbab88cfb13bf8d9ed2d3bbdd76', './include/javascript/yui/build/paginator/assets/paginator-core.css' => 'd13375280041c299b365991367d63db5', - './include/javascript/yui/build/menu/menu.js' => 'c2541c200ec01c245cd07e99acb1795a', - './include/javascript/yui/build/menu/menu-min.js' => 'b40c5eda3a99903e74eae7bd212933c4', + './include/javascript/yui/build/menu/blank/menu.css' => 'd41d8cd98f00b204e9800998ecf8427e', + './include/javascript/yui/build/menu/menu.js' => '4d2dc80494a9a914e6c3a3456fa90122', + './include/javascript/yui/build/menu/menu-min.js' => '2c5a66c505503dfff9eeea75fc9f3df4', './include/javascript/yui/build/menu/assets/skins/sam/menuitem_submenuindicator_disabled.png' => '42a8a785ecb430826ebd4748fc77ebc0', './include/javascript/yui/build/menu/assets/skins/sam/menuitem_submenuindicator.png' => '10f0de223bc3688a8986c23f71f081f1', './include/javascript/yui/build/menu/assets/skins/sam/menuitem_checkbox_disabled.png' => '6d9c1ef2cc0823c45226e43f9ef0e3dd', @@ -5472,6 +5475,7 @@ $md5_string = array ( './include/javascript/yui/build/logger/assets/skins/sam/logger-skin.css' => 'cba2a53e292a98def01c3bb0c3c40b03', './include/javascript/yui/build/logger/assets/logger.css' => '36dad64dae25da009eb5dd0f7b9d5f25', './include/javascript/yui/build/logger/assets/logger-core.css' => 'b09284cd2791f418737d12655d348c52', + './include/javascript/yui/build/layout/blank/layout.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/layout/layout.js' => '3cc0cb8a7936d90074cb4a693da46fa1', './include/javascript/yui/build/layout/layout-min.js' => '8586f41a0d8ce653d8708a38c0df67fb', './include/javascript/yui/build/layout/assets/skins/sam/layout_sprite.png' => '0f5a66998a0b88cabfe0489a6a11e28a', @@ -5522,12 +5526,13 @@ $md5_string = array ( './include/javascript/yui/build/editor/assets/skins/sam/blankimage.png' => '91c1defa5830c414bd5d43fb63d30101', './include/javascript/yui/build/editor/assets/simpleeditor-core.css' => '782f831bb13bdb39aed3a0e556230f71', './include/javascript/yui/build/editor/assets/editor-core.css' => '782f831bb13bdb39aed3a0e556230f71', - './include/javascript/yui/build/dragdrop/dragdrop.js' => '3ecef7b1a267fb06a734f6272ed8ac88', - './include/javascript/yui/build/dragdrop/dragdrop-min.js' => 'e583a3c734fecc0e5051e16db03080b3', + './include/javascript/yui/build/dragdrop/dragdrop.js' => '764230b82133d49a2f9836aa85a77864', + './include/javascript/yui/build/dragdrop/dragdrop-min.js' => 'badca1f1ebc924d6f55cc6da02bbc0e2', './include/javascript/yui/build/dom/dom.js' => 'cbc11f70c62285bcb55ed4dc9d3e6735', './include/javascript/yui/build/dom/dom-min.js' => '4c0fd9fe7500255ae347610e31de4449', './include/javascript/yui/build/datemath/datemath.js' => 'a94ea0d1dceb5c04a16da86a11632200', './include/javascript/yui/build/datemath/datemath-min.js' => '5cb1bb0564dfee5ca146b2101b75bf22', + './include/javascript/yui/build/datatable/blank/datatable.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/datatable/datatable.js' => '39fcbbfba6a4954bca0f6ee4c844264a', './include/javascript/yui/build/datatable/datatable-min.js' => '72bd52c4c20ae376c7a5029ce3382ccc', './include/javascript/yui/build/datatable/assets/skins/sam/dt-arrow-up.png' => '27498450164be1b258cae9dfdd534b69', @@ -5580,6 +5585,7 @@ $md5_string = array ( './include/javascript/yui/build/carousel/assets/skins/sam/ajax-loader.gif' => '734023ef4fd81fb5638c9d5c3d6a8fdf', './include/javascript/yui/build/carousel/assets/carousel-core.css' => 'e46475c2977bbe23e7bc28ef3a14454e', './include/javascript/yui/build/carousel/assets/ajax-loader.gif' => '734023ef4fd81fb5638c9d5c3d6a8fdf', + './include/javascript/yui/build/calendar/blank/calendar.css' => 'd41d8cd98f00b204e9800998ecf8427e', './include/javascript/yui/build/calendar/calendar.js' => 'f5bba267a1b5d3c493b6b8d2aa5ff633', './include/javascript/yui/build/calendar/calendar-min.js' => '5988804cd764aebe858556484bc2abda', './include/javascript/yui/build/calendar/assets/skins/sam/calendar.css' => '6bc97680058123754e7519423b0a8c63', @@ -6039,6 +6045,7 @@ $md5_string = array ( './include/images/SugarPlanet.swf' => '5af57f2ee896225c65d9411aa2a1b971', './include/globalControlLinks.php' => '1b675027ab7db61466ca982ce0d4a4c3', './include/generic/SugarWidgets/SugarWidgetSubPanelTopSelectAccountButton.php' => '7c46e299d2783d00cb36be8517100452', + './include/generic/SugarWidgets/SugarWidgetSubPanelTopMessage.php' => 'a61dac690bca32a9da19652d34d277a5', './include/generic/SugarWidgets/SugarWidgetSubPanelRemoveButtonAccount.php' => 'c5b1a13e66b79b6a8308021610631417', './include/generic/SugarWidgets/SugarWidgetSubPanelRelFieldEditButton.php' => '27eb4f6bfbff6d6ab2dd711b9cc6cb0c', './include/generic/SugarWidgets/SugarWidgetSubPanelDeleteButton.php' => 'b7a9f370cac3458e5da9716e4a4edca3', @@ -6046,7 +6053,7 @@ $md5_string = array ( './include/generic/SugarWidgets/SugarWidgetSubPanelTopSummaryButton.php' => '7f90a83211de47899a5ea77a7d3268f0', './include/generic/SugarWidgets/SugarWidgetSubPanelTopSelectUsersButton.php' => '4a4f08f4e745750942435c7abe0b128f', './include/generic/SugarWidgets/SugarWidgetSubPanelTopSelectContactsButton.php' => 'bb41158dcfb47db3b409152af0f967a2', - './include/generic/SugarWidgets/SugarWidgetSubPanelTopSelectButton.php' => '891eff9fc47fd077e52398c4f311fe9b', + './include/generic/SugarWidgets/SugarWidgetSubPanelTopSelectButton.php' => '287386b4d966055cf1e249a7420d0fb4', './include/generic/SugarWidgets/SugarWidgetSubPanelTopScheduleMeetingButton.php' => 'c2c7faa6003bf8ee8741c7a75aa7d73f', './include/generic/SugarWidgets/SugarWidgetSubPanelTopScheduleCallButton.php' => '6fda8b596d6efe83cd15661df7f62fd3', './include/generic/SugarWidgets/SugarWidgetSubPanelTopCreateTaskButton.php' => '41ff34b662a6eb316a2d956fb5f427f4', @@ -6096,7 +6103,7 @@ $md5_string = array ( './include/generic/SugarWidgets/SugarWidgetFielddouble.php' => 'dfea9a0c6a04f2377cea4c0f41fae6e1', './include/generic/SugarWidgets/SugarWidgetFielddecimal.php' => 'de2b9da14bee9fb4a0fa6999c7cce7ea', './include/generic/SugarWidgets/SugarWidgetFielddatetimecombo.php' => '396fdadd308d80ae58390314c518dbda', - './include/generic/SugarWidgets/SugarWidgetFielddatetime.php' => 'e31cc5d5437bdab1845e9474d6d9cf15', + './include/generic/SugarWidgets/SugarWidgetFielddatetime.php' => '12eb37a25de69bf79810e3f1b7ce462d', './include/generic/SugarWidgets/SugarWidgetFielddatepicker.php' => 'dee020ff9030fee04b450be6d2f57db4', './include/generic/SugarWidgets/SugarWidgetFielddate.php' => 'bf200f01dbe67d14123f62db17a6e53f', './include/generic/SugarWidgets/SugarWidgetFieldcurrency.php' => '5a93ce41bb40b604c337bf2367491c9f', @@ -6138,13 +6145,13 @@ $md5_string = array ( './include/database/MssqlHelper.php' => '6b3a36ab4462e0f838c35e0e74e0f02b', './include/database/FreeTDSHelper.php' => '06d0b4b1635e1c87d6afae4a022f8374', './include/database/DBHelper.php' => '74b36f164c288872a50d1f6132d4875e', - './include/database/SqlsrvManager.php' => '7bbe33003d89066ad7314c969b3aede3', - './include/database/MysqliManager.php' => 'eddf4fdac6d13510551e2c7c85489bf3', + './include/database/SqlsrvManager.php' => 'eee54ae4094f5881d206c2dafb2598cb', + './include/database/MysqliManager.php' => 'e88b97697ac552f936ab5fc78b2ddb17', './include/database/MysqlManager.php' => '4df6bf1ee35062f434021cff5d85d82a', - './include/database/MssqlManager.php' => 'ff63b96ead22cbcfb7791dd3aa55d27e', + './include/database/MssqlManager.php' => 'ac1a33052e0022a058e27ffeabfcfc0f', './include/database/FreeTDSManager.php' => 'e8dd14878558239a32e4c963f03ddf74', './include/database/DBManagerFactory.php' => '021c6c562cd96f304544af0e336dc736', - './include/database/DBManager.php' => '61079fa0123b0257abcc710f5e9e780b', + './include/database/DBManager.php' => 'a6baa1e1bb156f1aac9f8209792c7fde', './include/controller/Controller.php' => 'c5d723fc98af89861c9e68ae49ac9fee', './include/contextMenus/menuDefs/sugarPerson.php' => '42e0ac494bdc341fc929fc622cb0df85', './include/contextMenus/menuDefs/sugarObject.php' => '811fc5b4cf27bfb04a1b81ede08e9e76', @@ -6170,7 +6177,7 @@ $md5_string = array ( './include/VarDefHandler/listvardefoverride.php' => '14a6ad705f72cefd760e5baee1d2fe37', './include/VarDefHandler/VarDefHandler.php' => '98501d67453e16436759aff7ad420bcb', './include/dir_inc.php' => 'faef07151e61f4fce6525afc96bdab28', - './include/TemplateHandler/TemplateHandler.php' => 'e93d94b4dc829f10e369e38e83138d66', + './include/TemplateHandler/TemplateHandler.php' => 'a8d26ccbe311238a6c52674d51470a4d', './include/Sugarpdf/sugarpdf_default.php' => '7f19994bcf11b5d98801c3739eab57a2', './include/Sugarpdf/sugarpdf_config.php' => '3768422dd5bfb14aca352ea209a0ebae', './include/Sugarpdf/sugarpdf/sugarpdf.smarty.php' => 'aff5a60a5e144a76ff625266ee90659a', @@ -6281,7 +6288,7 @@ $md5_string = array ( './include/SugarObjects/templates/company/icons/Createcompany.gif' => '3978b32e01cbeb974d86b1da0617dae9', './include/SugarObjects/templates/company/config.php' => 'a9b4d6ee2c4a4d3b40194db8d3696ff3', './include/SugarObjects/templates/company/Company.php' => 'f91a3108758b2d1cf3405e765b426048', - './include/SugarObjects/templates/basic/vardefs.php' => '83db9c83d4522d65e63b7393a00ca22e', + './include/SugarObjects/templates/basic/vardefs.php' => 'e8c1cce5642d0e9de1986e5add07cf3d', './include/SugarObjects/templates/basic/metadata/subpanels/default.php' => 'f2b7f012d1ecfd6c2d92107171ecfa57', './include/SugarObjects/templates/basic/metadata/searchdefs.php' => '86dc366893917b0768819862b29bb986', './include/SugarObjects/templates/basic/metadata/quickcreatedefs.php' => 'a651f4ed9a7ee10e1d105e7dfd6191ed', @@ -6308,7 +6315,7 @@ $md5_string = array ( './include/SugarObjects/SugarRegistry.php' => '9983aad8fa1c984c64d2c8e439851cee', './include/SugarObjects/SugarConfig.php' => '155f1630be85066f2d36221a91d8fd7c', './include/SugarObjects/LanguageManager.php' => 'a68770e0a6ba48489b7e5c6c42a8cf99', - './include/SugarLogger/SugarLogger.php' => 'dc44e23b8d500f0c460b91efdc4e9c45', + './include/SugarLogger/SugarLogger.php' => 'c8c8cfea09c59acca33fea89561c2d61', './include/SugarLogger/LoggerTemplate.php' => '3fc58dcd911a3be4116d4a1190e89a17', './include/SugarLogger/LoggerManager.php' => '602f6d77fbd6d38119e8d94b71222927', './include/SugarFolders/SugarFolders.php' => 'f147b71fd345fbf04b0f99f6e030edfd', @@ -6374,7 +6381,7 @@ $md5_string = array ( './include/SugarFields/Fields/Multienum/EditViewFunction.tpl' => '95ba0af2ce15b8c3372cde1746392a41', './include/SugarFields/Fields/Multienum/EditView.tpl' => 'bf916ff2f686bf8e809a22076f49dae7', './include/SugarFields/Fields/Multienum/DetailView.tpl' => '6e2d1bcc30258e5ae66ba5a0c0adb7d4', - './include/SugarFields/Fields/Link/ListView.tpl' => 'a3bf13a5e56ae1926dd35de9b94ea7ca', + './include/SugarFields/Fields/Link/ListView.tpl' => '7c270602f574831777df3a3ed144902a', './include/SugarFields/Fields/Link/EditView.tpl' => 'c9e4ab8abaddb4969e86b6987046eb3b', './include/SugarFields/Fields/Link/DetailView.tpl' => 'eb45da03fde2daf0117689ab89796e48', './include/SugarFields/Fields/Int/RangeSearchForm.tpl' => '04c353e693db5bfde201e95e0c32e47d', @@ -6410,13 +6417,14 @@ $md5_string = array ( './include/SugarFields/Fields/Datetimecombo/SugarFieldDatetimecombo.php' => '9b6aa4667dbb6827f59c0c543a47aa40', './include/SugarFields/Fields/Datetimecombo/SearchView.tpl' => '06b6d8acd48103d3efd8b09941e7a056', './include/SugarFields/Fields/Datetimecombo/EditView.tpl' => '04aad57b92d7039a11132845be4a0a47', - './include/SugarFields/Fields/Datetime/SugarFieldDatetime.php' => '0ba9d8e5dec44c37b188899bdfbd9061', + './include/SugarFields/Fields/Datetime/DetailView.tpl' => 'e3e120879999863cb33a07bc36aedf04', + './include/SugarFields/Fields/Datetime/SugarFieldDatetime.php' => '021675b243d7af267db2052201de171f', './include/SugarFields/Fields/Datetime/EditView.tpl' => '427c55fa793f553e071940f3a067e130', './include/SugarFields/Fields/Currency/SugarFieldCurrency.php' => '7e8de8cbec2d09cbd8cd0c3d41f467aa', './include/SugarFields/Fields/Currency/ListView.tpl' => '9b169f665697516c771151a27ab7dc3a', './include/SugarFields/Fields/Currency/EditView.tpl' => '047c303129e89b26ad0da1741cd28e90', './include/SugarFields/Fields/Currency/DetailView.tpl' => 'd66275d18e5f54d81e39fe27040f6a24', - './include/SugarFields/Fields/Collection/SugarFieldCollection.js' => '69e925dccacccab7de8449c47eb62b62', + './include/SugarFields/Fields/Collection/SugarFieldCollection.js' => '23a82a651b183a787effe14d3ca1455f', './include/SugarFields/Fields/Collection/view.sugarfieldcollection.php' => 'f5d0d3ed5902a7f9ea61305b0b1783da', './include/SugarFields/Fields/Collection/ViewSugarFieldCollection.php' => '3b7a84adc56bdafd49abbe2396dcc404', './include/SugarFields/Fields/Collection/SugarFieldCollection.php' => '578c4617bddc15c39860c85ee0707b37', @@ -6469,14 +6477,14 @@ $md5_string = array ( './include/SugarCharts/swf/pieChart.swf' => 'c8a528dc470ac904864ea88549b3adc9', './include/SugarCharts/swf/stackedGroupByChart.swf' => '0d524ea04b2c56d1c7cdc86194f59ed1', './include/SugarCharts/SugarChartFactory.php' => '4873cc48dd3a2258af3a7998713b2398', - './include/SugarCharts/JsChart.php' => '0894eb0c47e9ff229f1521f5547c76d2', - './include/SugarCharts/Jit/tpls/chart.tpl' => '66ee7838783143353ca1b2fe68535869', + './include/SugarCharts/JsChart.php' => '7b9cc434a65f3551fcd87d3f85262de5', + './include/SugarCharts/Jit/tpls/chart.tpl' => '5ba761cf08a1f352aca76e96d8d42967', './include/SugarCharts/Jit/tpls/DashletGenericChartScript.tpl' => '2c4808cf07078a03c669b52ab5f6997a', './include/SugarCharts/Jit/js/mySugarCharts.js' => 'db6241acc1f0f873bd0a4d9803169914', './include/SugarCharts/Jit/js/sugarCharts.js' => '33822b68310ce669e67dca1dd6491bd3', './include/SugarCharts/Jit/js/Jit/jit.js' => 'd02e8c3aaa620991d617210f873664a4', './include/SugarCharts/Jit/css/base.css' => '0fde9cab73156e82ce25189dd339d25a', - './include/SugarCharts/Jit/JitReports.php' => '92a838ed950897dfbe00bfbf8ef412eb', + './include/SugarCharts/Jit/JitReports.php' => '2ea46bce40c7b654e4d9b9108278ecfd', './include/SugarCharts/Jit/Jit.php' => '2590623c3ec938dffd111020e5454209', './include/SugarCharts/Jit/FlashCanvas/canvas2png.js' => '798a1cd52de13f7a2efc0e341aa75ab3', './include/SugarCharts/Jit/FlashCanvas/flashcanvas.js' => 'f07c834194e7c0c1807df8f1f31b3e0b', @@ -6484,7 +6492,7 @@ $md5_string = array ( './include/SugarCharts/Jit/FlashCanvas/proxy.php' => '82ccbc7400b0bda3a33316920de41e60', './include/SugarCharts/Jit/FlashCanvas/flashcanvas.swf' => '528d82bb81799f23d4def3425badf913', './include/SugarCharts/SugarChart.php' => 'a551346035c18f76148259f0ce132b09', - './include/SubPanel/SubPanelTiles.js' => '39cf6873dc21e3d199b0fa85a4f3fb9f', + './include/SubPanel/SubPanelTiles.js' => 'ce99d2ec3204d45f19c86a6cfc4b6f83', './include/SubPanel/tpls/singletabmenu.tpl' => '252c751fac27affd042dc7ba1ee83a00', './include/SubPanel/subpanels.txt' => '6979f7aaf435a32e1aaedb1b02c5361e', './include/SubPanel/registered_layout_defs.php' => 'd71c8000fd9dabffa19a3711f60c0f39', @@ -6493,7 +6501,7 @@ $md5_string = array ( './include/SubPanel/SubPanelTilesTabs.php' => 'eab9d983b2caae6009bd0a4e9f2f7e11', './include/SubPanel/SubPanelTiles.php' => '78ae26e19d263a73f1e53039c5b206cf', './include/SubPanel/SubPanelDynamic.html' => '85423af1e959aea28d87da8e7ef7aeed', - './include/SubPanel/SubPanelDefinitions.php' => 'f27534562c69db5e1303735db2809b05', + './include/SubPanel/SubPanelDefinitions.php' => 'f70780e45c6ff40fe4de3a67fef2f85c', './include/SubPanel/SubPanel.php' => 'a8662b2cfced1d600156dc4775f33b85', './include/Smarty/plugins/modifier.multienum_to_ac.php' => '150573cf6c116bde303fc412ea934e58', './include/Smarty/plugins/modifier.lookup.php' => '40764bc28a9c155fffc65f60253c5b66', @@ -6537,7 +6545,7 @@ $md5_string = array ( './include/Smarty/plugins/function.sugar_variable_constructor.php' => '6561cdb5987f989d18090a4713c9a27a', './include/Smarty/plugins/function.sugar_translate.php' => '6c15cff8d615f848193726c8cd154b18', './include/Smarty/plugins/function.sugar_run_helper.php' => '2118a0bb279e18aae2b0fe9237e6ba6d', - './include/Smarty/plugins/function.sugar_replace_vars.php' => 'a72d58f8842fcd9b39126d6324f1157a', + './include/Smarty/plugins/function.sugar_replace_vars.php' => '0d5489b730db3efb79e2d1731e28f4ad', './include/Smarty/plugins/function.sugar_phone.php' => '22871529b77a49a4dce9a7fcd7e4f670', './include/Smarty/plugins/function.sugar_number_format.php' => '11a1900821c4ba7b1621f2ee39a69aa2', './include/Smarty/plugins/function.sugar_link.php' => '4ec1fb9edd88a1396d3f95b7a8640819', @@ -6615,7 +6623,7 @@ $md5_string = array ( './include/SearchForm/SugarSpot.php' => '6233362d7d2ad876c1a725aac68620d0', './include/SearchForm/SearchForm2.php' => 'a850daa037a4c9975a4128a69f676d11', './include/SearchForm/SearchForm.php' => '5f78eed3075ae7ad1172b639516d2539', - './include/QuickSearchDefaults.php' => '1a158e511eb11bccec29cb7fa8903aff', + './include/QuickSearchDefaults.php' => '9f56b8460ccbc0e7200469b24ceb9e41', './include/Popups/tpls/header.tpl' => '6bc620f0bd22e7c352e2b3ae25b70515', './include/Popups/tpls/footer.tpl' => 'cda2c59d64c7135b261e145856bb3e5d', './include/Popups/tpls/PopupGeneric.tpl' => '75c6832529067e7fdc677cfa8ef9a56f', @@ -6638,9 +6646,9 @@ $md5_string = array ( './include/MySugar/tpls/addDashletsDialog.tpl' => '555233abb02648590a9b44619a27b2d4', './include/MySugar/tpls/MySugar.tpl' => '14fafcbe89fd63de00f6064bb2545cad', './include/MySugar/javascript/MySugar.js' => 'de2ef12c48fc8443563198e0e49df961', - './include/MySugar/MySugar.php' => 'd9f07b876fa42736b9b80766d335e9e4', + './include/MySugar/MySugar.php' => 'c4ca2a251ce208df906eef9502c312ca', './include/MySugar/DashletsDialog/DashletsDialog.php' => '05b91ebbb8a045d2f4ddb78b5ffea986', - './include/MassUpdate.php' => '439beda560c327f30a5b2f999c0e9889', + './include/MassUpdate.php' => 'cfc48365c2ce9a00d19dbf4a0fbad64f', './include/MVC/View/views/view.quickedit.php' => 'd968dbf0e129d45c2e8a508f356b38ab', './include/MVC/View/views/view.metadata.php' => '358be31f180b06068b9c9296de8a5415', './include/MVC/View/views/view.gs.php' => '43892f69640e1f9562bbf3934deab9d1', @@ -6675,12 +6683,12 @@ $md5_string = array ( './include/MVC/View/ViewFactory.php' => '56116e594364b8a34b3d8986e93fce1e', './include/MVC/View/SugarView.php' => '9bca4fa316603b34bd18c564fec475f6', './include/MVC/SugarModule.php' => '1d53f536613de51c996600e26c14ca97', - './include/MVC/SugarApplication.php' => 'ffef242415706200c354bdb0cc5228dc', + './include/MVC/SugarApplication.php' => '1adaaac688b40c44cfa46a756ac844e7', './include/MVC/Controller/file_access_control_map.php' => '6bf1388c2830450cb92d8b9e374a04d5', './include/MVC/Controller/entry_point_registry.php' => '5b7aef0d506fb3cf9d635e49f714d7ed', './include/MVC/Controller/action_view_map.php' => 'f5af879adb4520ff0263a0ddedfda7ba', './include/MVC/Controller/action_file_map.php' => '43531cea8d74490f8b465b4e5049e5e9', - './include/MVC/Controller/SugarController.php' => 'f4ebfe04b790c24b0e578fafcda3bf2f', + './include/MVC/Controller/SugarController.php' => 'a395dda5754433541506b19465af97dc', './include/MVC/Controller/ControllerFactory.php' => 'a72a8293bff267483111eca226880ae1', './include/Localization/Localization.php' => '4457d1268188679cb77909a29a8ca988', './include/ListView/ListViewDCMenu.tpl' => 'e7f7ad82a50d2998a933c7e8c333c080', @@ -6692,7 +6700,7 @@ $md5_string = array ( './include/ListView/ListViewFacade.php' => 'e82b5372d43acd05f1dbe5855c40cdbd', './include/ListView/ListViewDisplay.php' => '687857289fcd396ee8c809039b3127c9', './include/ListView/ListViewData.php' => 'b1d9848243ff74173102ac0db06644d4', - './include/ListView/ListView.php' => 'df56dea163a354c3ee71099eafa96278', + './include/ListView/ListView.php' => '23aa9f584131521e85b8567e89023200', './include/tabs.php' => '7cf9418691424c673218c535fec27a05', './include/JSON.php' => '2eba2a68646da24407b48808143b27fa', './include/HTTP_WebDAV_Server/license.txt' => 'a45bb1bbeed9e26b26c5763df1d3913d', @@ -6704,8 +6712,8 @@ $md5_string = array ( './include/HTTP_WebDAV_Server/README' => 'e6f0ca3d7e4fa2b20310995f269c3ef2', './include/GroupedTabs/GroupedTabStructure.php' => '9b88d71d41cb5beb67e5a7344101f537', './include/EditView/SubpanelQuickEdit.php' => 'f4bed5933a2d4a94c58a6ae36ad0d9f1', - './include/EditView/header.tpl' => 'a68a8476bd62a629b7663e5965140252', - './include/EditView/footer.tpl' => '3409357a2f9475654a71e4cc21eaae6a', + './include/EditView/header.tpl' => '5d7a58146fb7daf5c119975a9873ae66', + './include/EditView/footer.tpl' => '6db429b48c439dfb63c089591c420b83', './include/EditView/SugarVCR.php' => 'bd3b23612d9584232569b67709f270c3', './include/EditView/SubpanelQuickCreate.php' => '7a54666a3544fa8d2125c881924f70e6', './include/EditView/QuickCreate.tpl' => 'fa3dacaca4c4985fa7d4e19e44d8a30a', @@ -7148,12 +7156,12 @@ $md5_string = array ( './data/Relationships/One2OneBeanRelationship.php' => '1f86b9f8d35e27c8b65df11674c2caa1', './data/Relationships/One2MRelationship.php' => '16fc46eebde91ac5a345a335ff14b1a4', './data/Relationships/One2MBeanRelationship.php' => '1274ca6b5cbd0ea658915b52fd56ae95', - './data/Relationships/M2MRelationship.php' => 'fbfe10bd6fbf435d12d7f113c4c1ae5c', + './data/Relationships/M2MRelationship.php' => 'bbdd778561617d57a792cd4d941e49ef', './data/Relationships/EmailAddressRelationship.php' => '00e8f2e17d2b8510c4489bbaa3b1bf52', './data/Link2.php' => 'fd200c8f75732e87f03ce482d61ad924', - './data/BeanFactory.php' => '77ec681a3548ce0a4d67ef1a59553c26', + './data/BeanFactory.php' => 'b48ced42ffd6cc74d6bc14f334511919', './data/Tracker.php' => '78c6ca1fadfe9e7984b001fed296f332', - './data/SugarBean.php' => '67ee5d2d1d1a7a57b9a2ef77e7a59ea1', + './data/SugarBean.php' => '187696d3851cd3589154f1e591c0beb5', './data/Link.php' => '68c906a3ded8cbe7ec5665aef410517f', './custom/index.html' => '601a18f179c2ac55779c9bac46942525', './cron.php' => '21c4360055ada2ab9524a4439b2de1ca', @@ -7174,15 +7182,15 @@ $md5_string = array ( './TreeData.php' => '7040af43bf01c450f4e225ece5e3f30c', './SugarSecurity.php' => 'e87f1efee51af1d8801dc2376068cee3', './ModuleInstall/extensions.php' => '10a1d5b070ae6cfd47071a4a785ba231', - './ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl' => 'd94b9b10995ecbb08e69288ee2f32a46', + './ModuleInstall/PackageManager/tpls/PackageManagerScripts.tpl' => '305b5d5a2ea5f04c533b982a5f1422ee', './ModuleInstall/PackageManager/tpls/PackageManagerLicense.tpl' => '2525aa86dacd0b454092b5ea9c483c4a', './ModuleInstall/PackageManager/tpls/PackageForm.tpl' => 'f115e099b850b3b76f84aa47f7c0c7c2', - './ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl' => '77619eb1316180c49bd42f93c809cd4c', + './ModuleInstall/PackageManager/tpls/ModuleLoaderListView.tpl' => '33005aa5481b731ec31fd6c15c173e78', './ModuleInstall/PackageManager/metadata/listviewdefs.php' => '642f76f5ce93ac4143f992a3e1097880', './ModuleInstall/PackageManager/PackageManagerDownloader.php' => '3b65a83bab1ad8099252ca9c8a89c530', './ModuleInstall/PackageManager/PackageManagerDisplay.php' => '5e31b13d4d7351c6132afeb26ce71302', './ModuleInstall/PackageManager/PackageManagerComm.php' => '76612432086bdcc15c6cca1f005cf763', - './ModuleInstall/PackageManager/PackageManager.php' => 'b0aebd9ae74dbd737970486b131f439f', + './ModuleInstall/PackageManager/PackageManager.php' => '5484f737652deaf7a1500814a6a39280', './ModuleInstall/PackageManager/PackageController.php' => 'af8c746cbb6ba5142568d34e535d0a94', './ModuleInstall/PackageManager/ListViewPackages.php' => '9ad64855ae4721d76eac402fd7adc524', './ModuleInstall/ModuleScanner.php' => 'b124cc2069f4419ae8c50335a6ffdbf2', diff --git a/include/EditView/footer.tpl b/include/EditView/footer.tpl index 3f9fd143..935fb289 100644 --- a/include/EditView/footer.tpl +++ b/include/EditView/footer.tpl @@ -39,7 +39,7 @@
{{if !empty($form) && !empty($form.buttons)}} {{foreach from=$form.buttons key=val item=button}} - {{sugar_button module="$module" id="$button" view="$view"}} + {{sugar_button module="$module" id="$button" view="$view" location="FOOTER"}} {{/foreach}} {{else}} {{sugar_button module="$module" id="SAVE" view="$view" location="FOOTER"}} diff --git a/include/EditView/header.tpl b/include/EditView/header.tpl index ff6f9890..51d88b6d 100644 --- a/include/EditView/header.tpl +++ b/include/EditView/header.tpl @@ -68,7 +68,7 @@ {{if empty($form.button_location) || $form.button_location == 'top'}} {{if !empty($form) && !empty($form.buttons)}} {{foreach from=$form.buttons key=val item=button}} - {{sugar_button module="$module" id="$button" view="$view"}} + {{sugar_button module="$module" id="$button" view="$view" location="HEADER"}} {{/foreach}} {{else}} {{sugar_button module="$module" id="SAVE" view="$view" location="HEADER"}} diff --git a/include/ListView/ListView.php b/include/ListView/ListView.php index bcd9c051..431bd251 100644 --- a/include/ListView/ListView.php +++ b/include/ListView/ListView.php @@ -1108,11 +1108,11 @@ function getUserVariable($localVarName, $varName) { $dynamic_url .='&'. $this->getSessionVariableName($html_varName,'ORDER_BY') . '='. $this->getSessionVariable($html_varName,'ORDER_BY').'&sort_order='.$this->sort_order.'&to_pdf=true&action=SubPanelViewer&subpanel=' . $this->subpanel_module; } - $current_URL = $this->base_URL.$current_offset.$dynamic_url; - $start_URL = $this->base_URL."0".$dynamic_url; - $previous_URL = $this->base_URL.$previous_offset.$dynamic_url; - $next_URL = $this->base_URL.$next_offset.$dynamic_url; - $end_URL = $this->base_URL.'end'.$dynamic_url; + $current_URL = htmlentities($this->base_URL.$current_offset.$dynamic_url); + $start_URL = htmlentities($this->base_URL."0".$dynamic_url); + $previous_URL = htmlentities($this->base_URL.$previous_offset.$dynamic_url); + $next_URL = htmlentities($this->base_URL.$next_offset.$dynamic_url); + $end_URL = htmlentities($this->base_URL.'end'.$dynamic_url); if(!empty($this->start_link_wrapper)) { $current_URL = $this->start_link_wrapper.$current_URL.$this->end_link_wrapper; diff --git a/include/MVC/Controller/SugarController.php b/include/MVC/Controller/SugarController.php index d8e5032d..26fb070d 100644 --- a/include/MVC/Controller/SugarController.php +++ b/include/MVC/Controller/SugarController.php @@ -281,15 +281,50 @@ class SugarController{ /** * This method is called from SugarApplication->execute and it will bootstrap the entire controller process */ - final public function execute(){ - $this->process(); - if(!empty($this->view)){ - $this->processView(); - }elseif(!empty($this->redirect_url)){ - $this->redirect(); - } + final public function execute() + { + + try + { + $this->process(); + if(!empty($this->view)) + { + $this->processView(); + } + elseif(!empty($this->redirect_url)) + { + $this->redirect(); + } + } + catch (Exception $e) + { + $this->handleException($e); + } + + + } + /** + * Handle exception + * @param Exception $e + */ + protected function handleException(Exception $e) + { + $GLOBALS['log']->fatal('Exception in Controller: ' . $e->getMessage()); + $logicHook = new LogicHook(); + + if (isset($this->bean)) + { + $logicHook->setBean($this->bean); + $logicHook->call_custom_logic($this->bean->module_dir, "handle_exception", $e); + } + else + { + $logicHook->call_custom_logic('', "handle_exception", $e); + } + } + /** * Display the appropriate view. */ diff --git a/include/MVC/SugarApplication.php b/include/MVC/SugarApplication.php index 319a9dcb..ccfa5db9 100644 --- a/include/MVC/SugarApplication.php +++ b/include/MVC/SugarApplication.php @@ -691,7 +691,7 @@ class SugarApplication $_COOKIE[$name] = $value; } - protected $redirectVars = array('module', 'action', 'record', 'token'); + protected $redirectVars = array('module', 'action', 'record', 'token', 'oauth_token', 'mobile'); /** * Create string to attach to login URL with vars to preserve post-login @@ -709,6 +709,10 @@ class SugarApplication $ret["login_".$var] = $_REQUEST[$var]; } } + if(isset($_REQUEST['mobile'])) + { + $ret['mobile'] = $_REQUEST['mobile']; + } if(empty($ret)) return ''; return "&".http_build_query($ret); } @@ -740,6 +744,10 @@ class SugarApplication if(!empty($_REQUEST['login_'.$var])) $vars[$var] = $_REQUEST['login_'.$var]; } + if(isset($_REQUEST['mobile'])) + { + $vars['mobile'] = $_REQUEST['mobile']; + } if(empty($vars)) { return "index.php?module=Home&action=index"; } else { diff --git a/include/MassUpdate.php b/include/MassUpdate.php index 08d36993..187edb12 100644 --- a/include/MassUpdate.php +++ b/include/MassUpdate.php @@ -717,6 +717,8 @@ EOHTML; * @param field_name name of the field */ function addInputType($displayname, $varname){ + //letrium ltd + $displayname = addslashes($displayname); $html = <<$displayname @@ -1025,6 +1027,8 @@ EOQ; */ function addDate($displayname, $varname){ global $timedate; + //letrium ltd + $displayname = addslashes($displayname); $userformat = '('. $timedate->get_user_date_format().')'; $cal_dateformat = $timedate->get_cal_date_format(); global $app_strings, $app_list_strings, $theme; diff --git a/include/MySugar/MySugar.php b/include/MySugar/MySugar.php index 8ca13250..a8bb2eab 100644 --- a/include/MySugar/MySugar.php +++ b/include/MySugar/MySugar.php @@ -415,4 +415,4 @@ EOJS; -} \ No newline at end of file +} diff --git a/include/QuickSearchDefaults.php b/include/QuickSearchDefaults.php index 653795b7..ca158dbd 100644 --- a/include/QuickSearchDefaults.php +++ b/include/QuickSearchDefaults.php @@ -74,7 +74,7 @@ class QuickSearchDefaults function setFormName($name = 'EditView') { $this->form_name = $name; } - + function getQSParent($parent = 'Accounts') { global $app_strings; @@ -167,8 +167,8 @@ class QuickSearchDefaults 'limit'=>'30', 'no_match_text'=> $app_strings['ERR_SQS_NO_MATCH']); return $qsContact; - } - + } + function getQSUser($p_name = 'assigned_user_name', $p_id ='assigned_user_id') { global $app_strings; @@ -198,7 +198,7 @@ class QuickSearchDefaults return $qsCampaign; } - + /** * Loads Quick Search Object for any object (if suitable method is defined) * diff --git a/include/Smarty/plugins/function.sugar_replace_vars.php b/include/Smarty/plugins/function.sugar_replace_vars.php index d4e2d5fc..dfa07c3e 100644 --- a/include/Smarty/plugins/function.sugar_replace_vars.php +++ b/include/Smarty/plugins/function.sugar_replace_vars.php @@ -44,15 +44,29 @@ function smarty_function_sugar_replace_vars($params, &$smarty) $smarty->trigger_error("sugarvar: missing 'subject' parameter"); return; } - $fields = $smarty->get_template_vars('fields'); - $subject = $params['subject']; + $fields = empty($params['fields']) ? $smarty->get_template_vars('fields') : $params['fields']; + $lDelim = "["; + $rDelim = "]"; + if ($params['use_curly']) + { + $lDelim = "{"; + $rDelim = "}"; + } + $subject = $params['subject']; $matches = array(); - $count = preg_match_all('/\[([^\]]*)\]/', $subject, $matches); - for($i = 0; $i < $count; $i++) { + $count = preg_match_all('/\\' . $lDelim . '([^\\' . $rDelim . ']*)\\' . $rDelim . '/', $subject, $matches); + for($i = 0; $i < $count; $i++) { $match = $matches[1][$i]; - if (!empty($fields[$match]) && isset($fields[$match]['value'])) { - $value = $fields[$match]['value']; - if (isset($fields[$match]['type']) && $fields[$match]['type']=='enum' + //List views will have fields be an array where all the keys are upper case and the values are jsut strings + if (!isset($fields[$match]) && isset($fields[strtoupper($match)])) + $match = strtoupper($match); + + $value = isset($fields[$match]) ? $fields[$match] : null; + if (!is_null($value)) { + if (is_array($value) && isset($value['value'])) + $value = $value['value']; + + if (isset($fields[$match]['type']) && $fields[$match]['type']=='enum' && isset($fields[$match]['options']) && isset($fields[$match]['options'][$value])) { $subject = str_replace($matches[0][$i], $fields[$match]['options'][$value], $subject); diff --git a/include/SubPanel/SubPanelDefinitions.php b/include/SubPanel/SubPanelDefinitions.php index 517ff809..226fcc39 100644 --- a/include/SubPanel/SubPanelDefinitions.php +++ b/include/SubPanel/SubPanelDefinitions.php @@ -219,7 +219,10 @@ class aSubPanel } } - global $modules_exempt_from_availability_check ; + //by default all the activities modules are exempt, so hiding them won't affect their appearance unless the 'activity' subpanel itself is hidden. + //add email to the list temporarily so it is not affected in activities subpanel + global $modules_exempt_from_availability_check ; + $modules_exempt_from_availability_check['Emails'] = 'Emails'; $listFieldMap = array(); diff --git a/include/SubPanel/SubPanelTiles.js b/include/SubPanel/SubPanelTiles.js index 238cf2cd..8eea03f9 100644 --- a/include/SubPanel/SubPanelTiles.js +++ b/include/SubPanel/SubPanelTiles.js @@ -106,13 +106,13 @@ var success=function(data){ajaxStatus.showStatus(SUGAR.language.get('app_strings url='index.php?module=Home&action=SaveSubpanelLayout&layout='+order+'&layoutModule='+currentModule;if(typeof SUGAR.subpanelUtils.currentSubpanelGroup!='undefined'){url=url+'&layoutGroup='+encodeURI(SUGAR.subpanelUtils.currentSubpanelGroup);} var cObj=YAHOO.util.Connect.asyncRequest('GET',url,{success:success,failure:success});},inlineSave:function(theForm,buttonName){ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_SAVING'));var success=function(data){var element=document.getElementById(buttonName);do{element=element.parentNode;}while(element.className!='quickcreate'&&element.parentNode);if(element.className=='quickcreate'){var subpanel=element.id.slice(9,-7);var module=get_module_name();var id=get_record_id();var layout_def_key=get_layout_def_key();try{eval('result = '+data.responseText);}catch(err){} if(typeof(result)!='undefined'&&result!=null&&result['status']=='dupe'){document.location.href="index.php?"+result['get'].replace(/&/gi,'&').replace(/</gi,'<').replace(/>/gi,'>').replace(/'/gi,'\'').replace(/"/gi,'"').replace(/\r\n/gi,'\n');return;}else{SUGAR.subpanelUtils.cancelCreate(buttonName);showSubPanel(subpanel,null,true);ajaxStatus.showStatus(SUGAR.language.get('app_strings','LBL_SAVED'));window.setTimeout('ajaxStatus.hideStatus()',1000);if(reloadpage)window.location.reload(false);}}} -var reloadpage=false;if((buttonName=='Meetings_subpanel_save_button'||buttonName=='Calls_subpanel_save_button')&&typeof(theForm)!='undefined'&&typeof(document.getElementById(theForm))!='undefined'&&typeof(document.getElementById(theForm).status)!='undefined'&&document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value=='Held'){reloadpage=true;} -YAHOO.util.Connect.setForm(theForm,true,true);var cObj=YAHOO.util.Connect.asyncRequest('POST','index.php',{success:success,failure:success,upload:success});return false;},sendAndRetrieve:function(theForm,theDiv,loadingStr){var quickCreateDiv=YAHOO.util.Selector.query("div.quickcreate",null,true);if(quickCreateDiv) +var reloadpage=false;reloadpage=reloadpage||((buttonName=='Meetings_subpanel_save_button'||buttonName=='Calls_subpanel_save_button')&&typeof(theForm)!='undefined'&&typeof(document.getElementById(theForm))!='undefined'&&typeof(document.getElementById(theForm).status)!='undefined'&&document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value=='Held');reloadpage=reloadpage||(buttonName=='Tasks_subpanel_save_button'&&typeof(theForm)!='undefined'&&typeof(document.getElementById(theForm))!='undefined'&&typeof(document.getElementById(theForm).status)!='undefined'&&document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value=='Completed');YAHOO.util.Connect.setForm(theForm,true,true);var cObj=YAHOO.util.Connect.asyncRequest('POST','index.php',{success:success,failure:success,upload:success});return false;},sendAndRetrieve:function(theForm,theDiv,loadingStr){var quickCreateDiv=YAHOO.util.Selector.query("div.quickcreate",null,true);if(quickCreateDiv) {var form=YAHOO.util.Selector.query("form",quickCreateDiv,true);if(form) {var moduleName=form.id.replace(/.*?_([^_]+)$/,"$1");var buttonName=moduleName+"_subpanel_cancel_button";var cancelled=false;SUGAR.subpanelUtils.cancelCreate(buttonName,function() {cancelled=true;});if(cancelled) {return false;}}} -function success(data){var theDivObj=document.getElementById(theDiv),divName=theDiv+'_newDiv',form_el;SUGAR.subpanelUtils.dataToDOMAvail=false;SUGAR.subpanelUtils.removeSubPanel();subpanelContents[theDiv]={};subpanelContents[theDiv]['list']=theDivObj;subpanelContents[theDiv]['newDiv']=document.createElement('div');subpanelContents[theDiv]['newDiv'].innerHTML=''+data.responseText;subpanelContents[theDiv]['newDiv'].id=divName;subpanelContents[theDiv]['newDiv'].className='quickcreate';var button_elements=YAHOO.util.Selector.query('td.buttons',theDiv,false);YAHOO.util.Dom.setStyle(button_elements,'display','none');theDivObj.parentNode.insertBefore(subpanelContents[theDiv]['newDiv'],theDivObj);currentPanelDiv=divName;if(!SUGAR.subpanelUtils.dataToDOMAvail){SUGAR.util.evalScript(data.responseText);} +function success(data){var theDivObj=document.getElementById(theDiv),divName=theDiv+'_newDiv',form_el;SUGAR.subpanelUtils.dataToDOMAvail=false;if(typeof currentPanelDiv!='undefined'&¤tPanelDiv!=null){var button_elements=YAHOO.util.Selector.query('td.buttons',currentPanelDiv,false);YAHOO.util.Dom.setStyle(button_elements,'display','');} +SUGAR.subpanelUtils.removeSubPanel();subpanelContents[theDiv]={};subpanelContents[theDiv]['list']=theDivObj;subpanelContents[theDiv]['newDiv']=document.createElement('div');subpanelContents[theDiv]['newDiv'].innerHTML=''+data.responseText;subpanelContents[theDiv]['newDiv'].id=divName;subpanelContents[theDiv]['newDiv'].className='quickcreate';var button_elements=YAHOO.util.Selector.query('td.buttons',theDiv,false);YAHOO.util.Dom.setStyle(button_elements,'display','none');theDivObj.parentNode.insertBefore(subpanelContents[theDiv]['newDiv'],theDivObj);currentPanelDiv=divName;if(!SUGAR.subpanelUtils.dataToDOMAvail){SUGAR.util.evalScript(data.responseText);} form_el=YAHOO.util.Selector.query('form',divName,true);YAHOO.util.Dom.setStyle(form_el,'padding-bottom','10px');subpanelLocked[theDiv]=false;setTimeout("enableQS(false)",500);ajaxStatus.hideStatus();} if(subpanelLocked[theDiv]===true){return false;} subpanelLocked[theDiv]=true;loadingStr=loadingStr||SUGAR.language.get('app_strings','LBL_LOADING');ajaxStatus.showStatus(loadingStr);YAHOO.util.Connect.setForm(theForm);YAHOO.util.Connect.asyncRequest('POST','index.php',{success:success,failure:success});return false;},cancelCreate:function(buttonName,cancelCallback){var element=document.getElementById(buttonName),theForm=element.form,confirmMsg=onUnloadEditView(theForm);do{element=element.parentNode;}while(element.className!='quickcreate'&&element.parentNode);var theDiv=element.id.substr(0,element.id.length-7);if(typeof(subpanelContents[theDiv])=='undefined') diff --git a/include/SugarCharts/Jit/JitReports.php b/include/SugarCharts/Jit/JitReports.php index 872dfd84..b0d7a4aa 100644 --- a/include/SugarCharts/Jit/JitReports.php +++ b/include/SugarCharts/Jit/JitReports.php @@ -151,6 +151,13 @@ class JitReports extends Jit { if ((isset($dataset[$total]) && $total != $dataset[$total]['numerical_value']) || !array_key_exists($key, $dataset)){ $data .= $this->processReportData($dataset, 4, $first); } + else if(count($this->data_set) == 1 && $first){ + foreach ($dataset as $k=>$v){ + if(isset($v['numerical_value'])) { + $data .= $this->processDataGroup(4, $k, $v['numerical_value'], $v['numerical_value'], ''); + } + } + } if (!$first){ $not_processed = array_diff($this->super_set, $this->processed_report_keys); @@ -162,6 +169,7 @@ class JitReports extends Jit { } } } + $data .= $this->tab('', 3); $data .= $this->tab('', 2); $this->processed_report_keys = array(); diff --git a/include/SugarCharts/Jit/tpls/chart.tpl b/include/SugarCharts/Jit/tpls/chart.tpl index 52a1a103..066a41b5 100644 --- a/include/SugarCharts/Jit/tpls/chart.tpl +++ b/include/SugarCharts/Jit/tpls/chart.tpl @@ -57,7 +57,15 @@ loadCustomChartForReports = function(){ldelim} loadSugarChart('{$chartId}','{$filename}',css,chartConfig); {rdelim}; - loadCustomChartForReports(); + // bug51857: fixed issue on report running in a loop when clicking on hide chart then run report in IE8 only + // When hide chart button is clicked, the value of element showHideChartButton is set to $showchart. + // Don't need to call the loadCustomChartForReports() function when hiding the chart. + {if !isset($showchart)} + loadCustomChartForReports(); + {else} + if (document.getElementById('showHideChartButton').value != '{$showchart}') + loadCustomChartForReports(); + {/if} {literal} } ); diff --git a/include/SugarCharts/JsChart.php b/include/SugarCharts/JsChart.php index 04b62eb2..aa29d113 100644 --- a/include/SugarCharts/JsChart.php +++ b/include/SugarCharts/JsChart.php @@ -101,7 +101,9 @@ class JsChart extends SugarChart { $this->saveJsonFile($json); $this->ss->assign("chartId", $this->chartId); $this->ss->assign("filename", $this->jsonFilename); - + global $mod_strings; + if (isset($mod_strings['LBL_REPORT_SHOW_CHART'])) + $this->ss->assign("showchart", $mod_strings['LBL_REPORT_SHOW_CHART']); $dimensions = $this->getChartDimensions($xmlStr); $this->ss->assign("width", $dimensions['width']); diff --git a/include/SugarFields/Fields/Collection/SugarFieldCollection.js b/include/SugarFields/Fields/Collection/SugarFieldCollection.js index 2a757906..da332030 100644 --- a/include/SugarFields/Fields/Collection/SugarFieldCollection.js +++ b/include/SugarFields/Fields/Collection/SugarFieldCollection.js @@ -68,12 +68,11 @@ return isFirstFieldEmpty;},show_arrow_label:function(show){var more_div=document return false;}};SUGAR.collection.safe_clone=function(e,recursive) {if(e.nodeName=="#text") {return document.createTextNode(e.data);} -if(!e.tagName)return false;var newNode=document.createElement(e.tagName);if(!newNode)return false;var properties=['class','style','name','type','valign','border','width','height','top','bottom','left','right','scope','row','columns','src','href','className','align','nowrap'];if(SUGAR.isIE7&&e.tagName.toLowerCase()=='input') -{var properties=['class','style','name','type','valign','border','width','top','bottom','left','right','scope','row','columns','src','href','className','align','nowrap'];}else{var properties=['class','style','name','type','valign','border','width','height','top','bottom','left','right','scope','row','columns','src','href','className','align','nowrap'];} +if(!e.tagName)return false;var newNode=document.createElement(e.tagName);if(!newNode)return false;var properties=['id','class','style','name','type','valign','border','width','height','top','bottom','left','right','scope','row','columns','src','href','className','align','nowrap'];if(SUGAR.isIE7&&e.tagName.toLowerCase()=='input') +{var properties=['id','class','style','name','type','valign','border','width','top','bottom','left','right','scope','row','columns','src','href','className','align','nowrap'];} for(var i in properties) {if(e[properties[i]]) -{if(((properties[i]!='style'&&properties[i]!='type')||!SUGAR.isIE)&&(properties[i]!='href'||e.tagName=='a'||e.tagName=='iframe')) -{newNode[properties[i]]=e[properties[i]];}}} +{if((properties[i]!='style'||!SUGAR.isIE)&&(properties[i]!='href'||e.tagName=='a'||e.tagName=='iframe')){if(properties[i]=="type"){newNode.setAttribute(properties[i],e[properties[i]]);}else{newNode[properties[i]]=e[properties[i]];}}}} if(recursive) {for(var i in e.childNodes) {if(e.childNodes[i].nodeName&&(!e.className||e.className!="yui-ac-container")) diff --git a/include/SugarFields/Fields/Datetime/DetailView.tpl b/include/SugarFields/Fields/Datetime/DetailView.tpl new file mode 100644 index 00000000..7b6673e3 --- /dev/null +++ b/include/SugarFields/Fields/Datetime/DetailView.tpl @@ -0,0 +1,59 @@ +{* +/********************************************************************************* + * SugarCRM Community Edition is a customer relationship management program developed by + * SugarCRM, Inc. Copyright (C) 2004-2012 SugarCRM Inc. + * + * This program is free software; you can redistribute it and/or modify it under + * the terms of the GNU Affero General Public License version 3 as published by the + * Free Software Foundation with the addition of the following permission added + * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK + * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY + * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more + * details. + * + * You should have received a copy of the GNU Affero General Public License along with + * this program; if not, see http://www.gnu.org/licenses or write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + * 02110-1301 USA. + * + * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road, + * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com. + * + * The interactive user interfaces in modified source and object code versions + * of this program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU Affero General Public License version 3. + * + * In accordance with Section 7(b) of the GNU Affero General Public License version 3, + * these Appropriate Legal Notices must retain the display of the "Powered by + * SugarCRM" logo. If the display of the logo is not reasonably feasible for + * technical reasons, the Appropriate Legal Notices must display the words + * "Powered by SugarCRM". + ********************************************************************************/ + + +*} +{* + check to see if 'date_formatted_value' has been added to the vardefs, and use it if it has, otherwise use the normal sugarvar function +*} +{{if !empty($vardef.date_formatted_value) }} + {assign var="value" value={{$vardef.date_formatted_value}} } +{{else}} + {if strlen({{sugarvar key='value' string=true}}) <= 0} + {assign var="value" value={{sugarvar key='default_value' string=true}} } + {else} + {assign var="value" value={{sugarvar key='value' string=true}} } + {/if} +{{/if}} + + + +{$value} +{{if !empty($displayParams.enableConnectors)}} +{if !empty($value)} +{{sugarvar_connector view='DetailView'}} +{/if} +{{/if}} \ No newline at end of file diff --git a/include/SugarFields/Fields/Datetime/SugarFieldDatetime.php b/include/SugarFields/Fields/Datetime/SugarFieldDatetime.php index f2429423..27821181 100644 --- a/include/SugarFields/Fields/Datetime/SugarFieldDatetime.php +++ b/include/SugarFields/Fields/Datetime/SugarFieldDatetime.php @@ -188,4 +188,22 @@ class SugarFieldDatetime extends SugarFieldBase { } return $date->asDb(); } + + + function getDetailViewSmarty($parentFieldArray, $vardef, $displayParams, $tabindex) { + global $timedate,$current_user; + + //check to see if the date is in the proper format + $user_dateFormat = $timedate->get_date_format(); + if(isset($vardef['value']) && !$timedate->check_matching_format( $vardef['value'],$user_dateFormat)){ + + //date is not in proper user format, so get the SugarDateTiemObject and inject the vardef with a new element + $sdt = $timedate->fromString($vardef['value'],$current_user); + + //the new 'date_formatted_value' array element will be used in include/SugarFields/Fields/Datetime/DetailView.tpl if it exists + $vardef['date_formatted_value'] = $timedate->asUserDate($sdt,$current_user); + } + + return $this->getSmartyView($parentFieldArray, $vardef, $displayParams, $tabindex, 'DetailView'); + } } diff --git a/include/SugarFields/Fields/Link/ListView.tpl b/include/SugarFields/Fields/Link/ListView.tpl index 5a45305b..4c322a41 100644 --- a/include/SugarFields/Fields/Link/ListView.tpl +++ b/include/SugarFields/Fields/Link/ListView.tpl @@ -36,4 +36,9 @@ *} {capture name=getLink assign=link}{sugar_fetch object=$parentFieldArray key=$col}{/capture} +{if $vardef.gen && $vardef.default && $link} + {capture name=getDefault assign=default}{if is_string($vardef.default)}{$vardef.default}{else}{$link}{/if}{/capture} + {sugar_replace_vars subject=$default use_curly=true assign='link' fields=$parentFieldArray} +{/if} + {$link} diff --git a/include/SugarLogger/SugarLogger.php b/include/SugarLogger/SugarLogger.php index c35f8d2b..04b84d4d 100644 --- a/include/SugarLogger/SugarLogger.php +++ b/include/SugarLogger/SugarLogger.php @@ -60,6 +60,7 @@ class SugarLogger implements LoggerTemplate protected $logSize = '10MB'; protected $maxLogs = 10; protected $filesuffix = ""; + protected $date_suffix = ""; protected $log_dir = '.'; @@ -67,8 +68,10 @@ class SugarLogger implements LoggerTemplate * used for config screen */ public static $filename_suffix = array( + //bug#50265: Added none option for previous version users + "" => "None", "%m_%Y" => "Month_Year", - "%w_%m" => "Week_Month", + "%d_%m" => "Day_Month", "%m_%d_%y" => "Month_Day_Year", ); @@ -131,7 +134,12 @@ class SugarLogger implements LoggerTemplate */ protected function _doInitialization() { - $this->full_log_file = $this->log_dir . $this->logfile . $this->ext; + + if( $this->filesuffix && array_key_exists($this->filesuffix, self::$filename_suffix) ) + { //if the global config contains date-format suffix, it will create suffix by parsing datetime + $this->date_suffix = "_" . date(str_replace("%", "", $this->filesuffix)); + } + $this->full_log_file = $this->log_dir . $this->logfile . $this->date_suffix . $this->ext; $this->initialized = $this->_fileCanBeCreatedAndWrittenTo(); $this->rollLog(); } @@ -197,18 +205,24 @@ class SugarLogger implements LoggerTemplate if (!$this->initialized || empty($this->logSize)) { return; } - // lets get the number of megs we are allowed to have in the file - $megs = substr ( $this->logSize, 0, strlen ( $this->logSize ) - 2 ); - //convert it to bytes - $rollAt = ( int ) $megs * 1024 * 1024; - //check if our log file is greater than that or if we are forcing the log to roll - if ($force || filesize ( $this->full_log_file ) >= $rollAt) { + // bug#50265: Parse the its unit string and get the size properly + $units = array( + 'b' => 1, //Bytes + 'k' => 1024, //KBytes + 'm' => 1024 * 1024, //MBytes + 'g' => 1024 * 1024 * 1024, //GBytes + ); + if( preg_match('/^\s*([0-9]+\.[0-9]+|\.?[0-9]+)\s*(k|m|g|b)(b?ytes)?/i', $this->logSize, $match) ) { + $rollAt = ( int ) $match[1] * $units[strtolower($match[2])]; + } + //check if our log file is greater than that or if we are forcing the log to roll if and only if roll size assigned the value correctly + if ( $force || ($rollAt && filesize ( $this->full_log_file ) >= $rollAt) ) { //now lets move the logs starting at the oldest and going to the newest for($i = $this->maxLogs - 2; $i > 0; $i --) { - if (file_exists ( $this->log_dir . $this->logfile . $i . $this->ext )) { + if (file_exists ( $this->log_dir . $this->logfile . $this->date_suffix . '_'. $i . $this->ext )) { $to = $i + 1; - $old_name = $this->log_dir . $this->logfile . $i . $this->ext; - $new_name = $this->log_dir . $this->logfile . $to . $this->ext; + $old_name = $this->log_dir . $this->logfile . $this->date_suffix . '_'. $i . $this->ext; + $new_name = $this->log_dir . $this->logfile . $this->date_suffix . '_'. $to . $this->ext; //nsingh- Bug 22548 Win systems fail if new file name already exists. The fix below checks for that. //if/else branch is necessary as suggested by someone on php-doc ( see rename function ). sugar_rename($old_name, $new_name); @@ -217,7 +231,7 @@ class SugarLogger implements LoggerTemplate } } //now lets move the current .log file - sugar_rename ($this->full_log_file, $this->log_dir . $this->logfile . '1' . $this->ext); + sugar_rename ($this->full_log_file, $this->log_dir . $this->logfile . $this->date_suffix . '_1' . $this->ext); } } diff --git a/include/SugarOauth.php b/include/SugarOauth.php index 90c04b69..33240e99 100644 --- a/include/SugarOauth.php +++ b/include/SugarOauth.php @@ -156,18 +156,42 @@ * @param array $headers HTTP headers * @return string */ - public function fetch($url, $params = null, $method = 'GET', $headers = null) - { - $acc = $this->makeAccessToken(); - if ( strpos($url,'?') ) { + + public function fetch($url, $params = null, $method = 'GET', $headers = null) + { + $acc = $this->makeAccessToken(); + if ( strpos($url,'?') ) { list($clean_url, $query) = explode('?', $url); if($query) { $url = $clean_url; parse_str($query, $query_params); $params = array_merge($params?$params:array(), $query_params); } - } + } $client = $acc->getHttpClient($this->_oauth_config, $url); + + Zend_Loader::loadClass('Zend_Http_Client_Adapter_Proxy'); + $proxy_config = SugarModule::get('Administration')->loadBean(); + $proxy_config->retrieveSettings('proxy'); + + if( !empty($proxy_config) && + !empty($proxy_config->settings['proxy_on']) && + $proxy_config->settings['proxy_on'] == 1) { + + $proxy_settings = array(); + $proxy_settings['proxy_host'] = $proxy_config->settings['proxy_host']; + $proxy_settings['proxy_port'] = $proxy_config->settings['proxy_port']; + + if(!empty($proxy_config->settings['proxy_auth'])){ + $proxy_settings['proxy_user'] = $proxy_config->settings['proxy_username']; + $proxy_settings['proxy_pass'] = $proxy_config->settings['proxy_password']; + } + + $adapter = new Zend_Http_Client_Adapter_Proxy(); + $adapter->setConfig($proxy_settings); + $client->setAdapter($adapter); + } + $client->setMethod($method); if(!empty($headers)) { $client->setHeaders($headers); diff --git a/include/SugarObjects/templates/basic/vardefs.php b/include/SugarObjects/templates/basic/vardefs.php index 7933bff3..3f3fbf55 100644 --- a/include/SugarObjects/templates/basic/vardefs.php +++ b/include/SugarObjects/templates/basic/vardefs.php @@ -93,6 +93,7 @@ $vardefs = array( 'dbType' => 'id', 'reportable'=>true, 'comment' => 'User who last modified record', + 'massupdate' => false, ), 'modified_by_name' => array ( @@ -106,7 +107,8 @@ $vardefs = array( 'id_name' => 'modified_user_id', 'module'=>'Users', 'link'=>'modified_user_link', - 'duplicate_merge'=>'disabled' + 'duplicate_merge'=>'disabled', + 'massupdate' => false, ), 'created_by' => array ( @@ -120,6 +122,7 @@ $vardefs = array( 'dbType' => 'id', 'group'=>'created_by_name', 'comment' => 'User who created record', + 'massupdate' => false, ), 'created_by_name' => array ( @@ -135,6 +138,7 @@ $vardefs = array( 'module'=>'Users', 'duplicate_merge'=>'disabled', 'importable' => 'false', + 'massupdate' => false, ), 'description' => array ( diff --git a/include/TemplateHandler/TemplateHandler.php b/include/TemplateHandler/TemplateHandler.php index 6afff108..120c643e 100644 --- a/include/TemplateHandler/TemplateHandler.php +++ b/include/TemplateHandler/TemplateHandler.php @@ -395,7 +395,10 @@ class TemplateHandler { if($field['type'] == 'relate' && isset($field['module']) && (preg_match('/_name$|_c$/si',$name) || !empty($field['quicksearch']))) { - if(!preg_match('/_c$/si',$name) && preg_match('/^(Campaigns|Teams|Users|Contacts|Accounts)$/si', $field['module'], $matches)) { + if (!preg_match('/_c$/si',$name) + && (!isset($field['id_name']) || !preg_match('/_c$/si',$field['id_name'])) + && preg_match('/^(Campaigns|Teams|Users|Contacts|Accounts)$/si', $field['module'], $matches) + ) { if($matches[0] == 'Campaigns') { $sqs_objects[$name] = $qsd->loadQSObject('Campaigns', 'Campaign', $field['name'], $field['id_name'], $field['id_name']); @@ -403,7 +406,7 @@ class TemplateHandler { if($field['name'] == 'reports_to_name') $sqs_objects[$name] = $qsd->getQSUser('reports_to_name','reports_to_id'); else { - if ($view == "ConvertLead") + if($view == "ConvertLead" || $field['name'] == 'created_by_name' || $field['name'] == 'modified_by_name') $sqs_objects[$name] = $qsd->getQSUser($field['name'], $field['id_name']); else $sqs_objects[$name] = $qsd->getQSUser(); diff --git a/include/database/DBManager.php b/include/database/DBManager.php index fca6167c..7a7a2ec5 100644 --- a/include/database/DBManager.php +++ b/include/database/DBManager.php @@ -2681,9 +2681,9 @@ protected function checkQuery($sql, $object_name = false) if(count($parts) > 2) { // some weird name, cut to table.name array_splice($parts, 0, count($parts)-2); - $parts = $this->getValidDBName($parts, $ensureUnique, $type, $force); - return join(".", $parts); } + $parts = $this->getValidDBName($parts, $ensureUnique, $type, $force); + return join(".", $parts); } // first strip any invalid characters - all but word chars (which is alphanumeric and _) $name = preg_replace( '/[^\w]+/i', '', $name ) ; diff --git a/include/database/MssqlManager.php b/include/database/MssqlManager.php index b441852d..ce1214ac 100644 --- a/include/database/MssqlManager.php +++ b/include/database/MssqlManager.php @@ -231,7 +231,7 @@ class MssqlManager extends DBManager //mssql db maximum number of 5 times at the interval of .2 second. If can not connect //it will throw an Unable to select database message. - if(!@mssql_select_db($configOptions['db_name'], $this->database)){ + if(!empty($configOptions['db_name']) && !@mssql_select_db($configOptions['db_name'], $this->database)){ $connected = false; for($i=0;$i<5;$i++){ usleep(200000); @@ -902,6 +902,10 @@ class MssqlManager extends DBManager $tbl_name = $module_str; $sql = strtolower($sql); + // Bug #45625 : Getting Multi-part identifier (reports.id) could not be bound error when navigating to next page in reprots in mssql + // there is cases when sql string is multiline string and it we cannot find " from " string in it + $sql = str_replace(array("\n", "\r"), " ", $sql); + //look for the location of the "from" in sql string $fromLoc = strpos($sql," from " ); if ($fromLoc>0){ @@ -1388,46 +1392,36 @@ class MssqlManager extends DBManager return $result; } - /** + /** * @see DBManager::get_indices() */ - public function get_indices($tablename) + public function get_indices($tableName) { //find all unique indexes and primary keys. $query = <<query($query); $indices = array(); while (($row=$this->fetchByAssoc($result)) != null) { $index_type = 'index'; - if ($row['Key_name'] == 'PRIMARY') + if ($row['is_primary_key'] == '1') $index_type = 'primary'; - elseif ($row['isunique'] == 1 ) + elseif ($row['is_unique'] == 1 ) $index_type = 'unique'; - $name = strtolower($row['Key_name']); + $name = strtolower($row['index_name']); $indices[$name]['name'] = $name; $indices[$name]['type'] = $index_type; - $indices[$name]['fields'][] = strtolower($row['Column_name']); + $indices[$name]['fields'][] = strtolower($row['column_name']); } return $indices; } diff --git a/include/database/MysqliManager.php b/include/database/MysqliManager.php index c04acd5b..b6f988d4 100644 --- a/include/database/MysqliManager.php +++ b/include/database/MysqliManager.php @@ -361,7 +361,7 @@ class MysqliManager extends MysqlManager */ protected function selectDb($dbname) { - return mysqli_select_db($dbname); + return mysqli_select_db($this->getDatabase(), $dbname); } /** diff --git a/include/database/SqlsrvManager.php b/include/database/SqlsrvManager.php index cba97183..66a981a0 100644 --- a/include/database/SqlsrvManager.php +++ b/include/database/SqlsrvManager.php @@ -409,40 +409,6 @@ class SqlsrvManager extends MssqlManager return $columns; } - /** - * @see DBManager::get_indices() - */ - public function get_indices($tableName) - { - //find all unique indexes and primary keys. - $query = <<query($query); - - $indices = array(); - while (($row=$this->fetchByAssoc($result)) != null) { - $index_type = 'index'; - if ($row['is_primary_key'] == '1') - $index_type = 'primary'; - elseif ($row['is_unique'] == 1 ) - $index_type = 'unique'; - $name = strtolower($row['index_name']); - $indices[$name]['name'] = $name; - $indices[$name]['type'] = $index_type; - $indices[$name]['fields'][] = strtolower($row['column_name']); - } - return $indices; - } - /** * protected function to return true if the given tablename has any clustered indexes defined. * diff --git a/include/externalAPI/Base/ExternalAPIBase.php b/include/externalAPI/Base/ExternalAPIBase.php index 76c1a9e3..b8106b60 100644 --- a/include/externalAPI/Base/ExternalAPIBase.php +++ b/include/externalAPI/Base/ExternalAPIBase.php @@ -135,6 +135,21 @@ abstract class ExternalAPIBase implements ExternalAPIPlugin $ch = curl_init($url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $proxy_config = SugarModule::get('Administration')->loadBean(); + $proxy_config->retrieveSettings('proxy'); + + if( !empty($proxy_config) && + !empty($proxy_config->settings['proxy_on']) && + $proxy_config->settings['proxy_on'] == 1) { + + curl_setopt($ch, CURLOPT_PROXY, $proxy_config->settings['proxy_host']); + curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_config->settings['proxy_port']); + if (!empty($proxy_settings['proxy_auth'])) { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_settings['proxy_username'] . ':' . $proxy_settings['proxy_password']); + } + } + if ( ( is_array($postfields) && count($postfields) == 0 ) || empty($postfields) ) { curl_setopt($ch, CURLOPT_POST, false); diff --git a/include/generic/SugarWidgets/SugarWidgetFielddatetime.php b/include/generic/SugarWidgets/SugarWidgetFielddatetime.php index ca83d26d..fc1f1dde 100644 --- a/include/generic/SugarWidgets/SugarWidgetFielddatetime.php +++ b/include/generic/SugarWidgets/SugarWidgetFielddatetime.php @@ -481,17 +481,7 @@ class SugarWidgetFieldDateTime extends SugarWidgetReportField return parent :: querySelect($layout_def)." \n"; } function & displayListday(& $layout_def) { - global $timedate; - $field_name = strtoupper($this->_get_column_alias($layout_def)); - $tmp_field_name = str_replace('_DAY_', '_DAYREAL_', $field_name); - if($tmp_field_name != $field_name && isset($layout_def['fields'][$tmp_field_name])) - { - return $timedate->to_display_date($layout_def['fields'][$tmp_field_name], true); - } - else - { - return parent:: displayListPlain($layout_def); - } + return parent:: displayListPlain($layout_def); } function & displayListyear(& $layout_def) { @@ -522,17 +512,6 @@ class SugarWidgetFieldDateTime extends SugarWidgetReportField return $this->reporter->db->convert($this->_get_column_select($layout_def), "date_format", array('%Y-%m'))."\n"; } - /** - * Select addon datetime field for "day" field in reports - * - * @param $layout_def array definition of new field - * @return string piece for creation "select" query - */ - function querySelectdayreal($layout_def) - { - return $this->reporter->db->convert($this->_get_column_select($layout_def), "date_format", array('%Y-%m-%d %H:%i:%s'))." ".$this->_get_column_alias($layout_def)."\n"; - } - function querySelectday($layout_def) { return $this->reporter->db->convert($this->_get_column_select($layout_def), "date_format", array('%Y-%m-%d'))." ".$this->_get_column_alias($layout_def)."\n"; diff --git a/include/generic/SugarWidgets/SugarWidgetSubPanelTopMessage.php b/include/generic/SugarWidgets/SugarWidgetSubPanelTopMessage.php new file mode 100644 index 00000000..64cb739c --- /dev/null +++ b/include/generic/SugarWidgets/SugarWidgetSubPanelTopMessage.php @@ -0,0 +1,50 @@ +title = $app_strings['LBL_SELECT_BUTTON_TITLE']; - //$this->accesskey = $app_strings['LBL_SELECT_BUTTON_KEY']; + $this->accesskey = $app_strings['LBL_SELECT_BUTTON_KEY']; $this->value = $app_strings['LBL_SELECT_BUTTON_LABEL']; if (is_array($this->button_properties)) { @@ -63,7 +63,7 @@ class SugarWidgetSubPanelTopSelectButton extends SugarWidgetSubPanelTopButton $this->title = $app_strings[$this->button_properties['title']]; } if( isset($this->button_properties['accesskey'])) { - //$this->accesskey = $app_strings[$this->button_properties['accesskey']]; + $this->accesskey = $app_strings[$this->button_properties['accesskey']]; } if( isset($this->button_properties['form_value'])) { $this->value = $app_strings[$this->button_properties['form_value']]; @@ -155,8 +155,17 @@ class SugarWidgetSubPanelTopSelectButton extends SugarWidgetSubPanelTopButton } } $json_encoded_php_array = $this->_create_json_encoded_popup_request($popup_request_data); - return ' getWidgetId() . preg_replace_callback('/[A-Z]/', $func_to_underscore, $button_class_name); + + return ' \n"; } diff --git a/include/javascript/sugar_3.js b/include/javascript/sugar_3.js index 002c2315..65d22dbf 100644 --- a/include/javascript/sugar_3.js +++ b/include/javascript/sugar_3.js @@ -521,7 +521,8 @@ if(typeof(elem.type)!='undefined'&&typeof(skipElementNames)!='undefined'&&SUGAR. elemType=elem.type.toLowerCase();if(elemType=='text'||elemType=='textarea'||elemType=='password'){elem.value='';} else if(elemType=='select'||elemType=='select-one'||elemType=='select-multiple'){var optionList=elem.options;for(var ii=0;ii3&&elem.name.substring(elem.name.length-3)=='_id')||((elem.name.length>9)&&(elem.name.substring(elem.name.length-9)=='_id_basic'))||(elem.name.length>12&&elem.name.substring(elem.name.length-12)=='_id_advanced')){elem.value='';}}} +else if(elemType=='hidden'){if((elem.name.length>3&&elem.name.substring(elem.name.length-3)=='_id')||((elem.name.length>9)&&(elem.name.substring(elem.name.length-9)=='_id_basic'))||(elem.name.length>12&&elem.name.substring(elem.name.length-12)=='_id_advanced')||(elem.name.length>2&&elem.name.substring(elem.name.length-2)=='_c')||((elem.name.length>8)&&(elem.name.substring(elem.name.length-8)=='_c_basic'))||(elem.name.length>11&&elem.name.substring(elem.name.length-11)=='_c_advanced')) +{elem.value='';}}} SUGAR.savedViews.clearColumns=true;}};}();SUGAR.tabChooser=function(){var object_refs=new Array();return{frozenOptions:[],movementCallback:function(left_side,right_side){},orderCallback:function(left_side,right_side){},freezeOptions:function(left_name,right_name,target){if(!SUGAR.tabChooser.frozenOptions){SUGAR.tabChooser.frozenOptions=[];} if(!SUGAR.tabChooser.frozenOptions[left_name]){SUGAR.tabChooser.frozenOptions[left_name]=[];} if(!SUGAR.tabChooser.frozenOptions[left_name][right_name]){SUGAR.tabChooser.frozenOptions[left_name][right_name]=[];} @@ -649,7 +650,7 @@ t+=SUGAR.util.innerText(c);} return t;},callOnChangeListers:function(field){var listeners=YAHOO.util.Event.getListeners(field,'change');if(listeners!=null){for(var i=0;i=0;i--){if(ext===allowedTypes[i]){return true;}} +{window.setTimeout(function(){if(document.getElementById('search_form'))document.getElementById('search_form').submit();else window.location.reload(true);},0);},argument:{'parentContainerId':parentContainerId}};YAHOO.util.Connect.asyncRequest('POST','index.php',callback,args);},isDefault:true},{text:SUGAR.language.get("app_strings","LBL_EMAIL_CANCEL"),handler:function(){SUGAR.util.closeActivityPanel.panel.hide();}}]});SUGAR.util.closeActivityPanel.panel.setHeader(SUGAR.language.get("app_strings","LBL_CLOSE_ACTIVITY_HEADER"));SUGAR.util.closeActivityPanel.panel.render(document.body);SUGAR.util.closeActivityPanel.panel.show();}},setEmailPasswordDisplay:function(id,exists){link=document.getElementById(id+'_link');pwd=document.getElementById(id);if(!pwd||!link)return;if(exists){pwd.style.display='none';link.style.display='';}else{pwd.style.display='';link.style.display='none';}},setEmailPasswordEdit:function(id){link=document.getElementById(id+'_link');pwd=document.getElementById(id);if(!pwd||!link)return;pwd.style.display='';link.style.display='none';},validateFileExt:function(fileName,allowedTypes){var ext=fileName.split('.').pop().toLowerCase();for(var i=allowedTypes.length;i>=0;i--){if(ext===allowedTypes[i]){return true;}} return false;},arrayIndexOf:function(arr,val,start){if(typeof arr.indexOf=="function") return arr.indexOf(val,start);for(var i=(start||0),j=arr.length;ithis.clickPixelThresh||D>this.clickPixelThresh){this.startDrag(this.startX,this.startY);}}if(this.dragThreshMet){if(C&&C.events.b4Drag){C.b4Drag(F);C.fireEvent("b4DragEvent",{e:F});}if(C&&C.events.drag){C.onDrag(F);C.fireEvent("dragEvent",{e:F});}if(C){this.fireEvents(F,false);}}this.stopEvent(F);}},fireEvents:function(W,M){var c=this.dragCurrent;if(!c||c.isLocked()||c.dragOnly){return;}var O=YAHOO.util.Event.getPageX(W),N=YAHOO.util.Event.getPageY(W),Q=new YAHOO.util.Point(O,N),K=c.getTargetCoord(Q.x,Q.y),F=c.getDragEl(),E=["out","over","drop","enter"],V=new YAHOO.util.Region(K.y,K.x+F.offsetWidth,K.y+F.offsetHeight,K.x),I=[],D={},L={},R=[],d={outEvts:[],overEvts:[],dropEvts:[],enterEvts:[]};for(var T in this.dragOvers){var f=this.dragOvers[T];if(!this.isTypeOfDD(f)){continue; }if(!this.isOverTarget(Q,f,this.mode,V)){d.outEvts.push(f);}I[T]=true;delete this.dragOvers[T];}for(var S in c.groups){if("string"!=typeof S){continue;}for(T in this.ids[S]){var G=this.ids[S][T];if(!this.isTypeOfDD(G)){continue;}if(G.isTarget&&!G.isLocked()&&G!=c){if(this.isOverTarget(Q,G,this.mode,V)){D[S]=true;if(M){d.dropEvts.push(G);}else{if(!I[G.id]){d.enterEvts.push(G);}else{d.overEvts.push(G);}this.dragOvers[G.id]=G;}}}}}this.interactionInfo={out:d.outEvts,enter:d.enterEvts,over:d.overEvts,drop:d.dropEvts,point:Q,draggedRegion:V,sourceRegion:this.locationCache[c.id],validDrop:M};for(var C in D){R.push(C);}if(M&&!d.dropEvts.length){this.interactionInfo.validDrop=false;if(c.events.invalidDrop){c.onInvalidDrop(W);c.fireEvent("invalidDropEvent",{e:W});}}for(T=0;T2000){}else{setTimeout(C._addListeners,10);if(document&&document.body){C._timeoutCount+=1;}}}},handleWasClicked:function(C,E){if(this.isHandle(E,C.id)){return true;}else{var D=C.parentNode;while(D){if(this.isHandle(E,D.id)){return true;}else{D=D.parentNode;}}}return false;}};}();YAHOO.util.DDM=YAHOO.util.DragDropMgr;YAHOO.util.DDM._addListeners();}(function(){var A=YAHOO.util.Event;var B=YAHOO.util.Dom;YAHOO.util.DragDrop=function(E,C,D){if(E){this.init(E,C,D);}};YAHOO.util.DragDrop.prototype={events:null,on:function(){this.subscribe.apply(this,arguments);},id:null,config:null,dragElId:null,handleElId:null,invalidHandleTypes:null,invalidHandleIds:null,invalidHandleClasses:null,startPageX:0,startPageY:0,groups:null,locked:false,lock:function(){this.locked=true;},unlock:function(){this.locked=false;},isTarget:true,padding:null,dragOnly:false,useShim:false,_domRef:null,__ygDragDrop:true,constrainX:false,constrainY:false,minX:0,maxX:0,minY:0,maxY:0,deltaX:0,deltaY:0,maintainOffset:false,xTicks:null,yTicks:null,primaryButtonOnly:true,available:false,hasOuterHandles:false,cursorIsOver:false,overlap:null,b4StartDrag:function(C,D){},startDrag:function(C,D){},b4Drag:function(C){},onDrag:function(C){},onDragEnter:function(C,D){},b4DragOver:function(C){},onDragOver:function(C,D){},b4DragOut:function(C){},onDragOut:function(C,D){},b4DragDrop:function(C){},onDragDrop:function(C,D){},onInvalidDrop:function(C){},b4EndDrag:function(C){},endDrag:function(C){},b4MouseDown:function(C){},onMouseDown:function(C){},onMouseUp:function(C){},onAvailable:function(){},getEl:function(){if(!this._domRef){this._domRef=B.get(this.id); -}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);this.useShim=((this.config.useShim===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(J,I){var D=J.which||J.button;if(this.primaryButtonOnly&&D>1){return;}if(this.isLocked()){return;}var C=this.b4MouseDown(J),F=true;if(this.events.b4MouseDown){F=this.fireEvent("b4MouseDownEvent",J);}var E=this.onMouseDown(J),H=true;if(this.events.mouseDown){if(E===false){H=false;}else{H=this.fireEvent("mouseDownEvent",J);}}if((C===false)||(E===false)||(F===false)||(H===false)){return;}this.DDM.refreshCache(this.groups);var G=new YAHOO.util.Point(A.getPageX(J),A.getPageY(J));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(G,this)){}else{if(this.clickValidator(J)){this.setStartPosition();this.DDM.handleMouseDown(J,this);this.DDM.stopEvent(J);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(Cthis.maxX){C=this.maxX;}}if(this.constrainY){if(Fthis.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint; +}return this._domRef;},getDragEl:function(){return B.get(this.dragElId);},init:function(F,C,D){this.initTarget(F,C,D);A.on(this._domRef||this.id,"mousedown",this.handleMouseDown,this,true);for(var E in this.events){this.createEvent(E+"Event");}},initTarget:function(E,C,D){this.config=D||{};this.events={};this.DDM=YAHOO.util.DDM;this.groups={};if(typeof E!=="string"){this._domRef=E;E=B.generateId(E);}this.id=E;this.addToGroup((C)?C:"default");this.handleElId=E;A.onAvailable(E,this.handleOnAvailable,this,true);this.setDragElId(E);this.invalidHandleTypes={A:"A",SELECT:"SELECT"};this.invalidHandleIds={};this.invalidHandleClasses=[];this.applyConfig();},applyConfig:function(){this.events={mouseDown:true,b4MouseDown:true,mouseUp:true,b4StartDrag:true,startDrag:true,b4EndDrag:true,endDrag:true,drag:true,b4Drag:true,invalidDrop:true,b4DragOut:true,dragOut:true,dragEnter:true,b4DragOver:true,dragOver:true,b4DragDrop:true,dragDrop:true};if(this.config.events){for(var C in this.config.events){if(this.config.events[C]===false){this.events[C]=false;}}}this.padding=this.config.padding||[0,0,0,0];this.isTarget=(this.config.isTarget!==false);this.maintainOffset=(this.config.maintainOffset);this.primaryButtonOnly=(this.config.primaryButtonOnly!==false);this.dragOnly=((this.config.dragOnly===true)?true:false);this.useShim=((this.config.useShim===true)?true:false);},handleOnAvailable:function(){this.available=true;this.resetConstraints();this.onAvailable();},setPadding:function(E,C,F,D){if(!C&&0!==C){this.padding=[E,E,E,E];}else{if(!F&&0!==F){this.padding=[E,C,E,C];}else{this.padding=[E,C,F,D];}}},setInitPosition:function(F,E){var G=this.getEl();if(!this.DDM.verifyEl(G)){if(G&&G.style&&(G.style.display=="none")){}else{}return;}var D=F||0;var C=E||0;var H=B.getXY(G);this.initPageX=H[0]-D;this.initPageY=H[1]-C;this.lastPageX=H[0];this.lastPageY=H[1];this.setStartPosition(H);},setStartPosition:function(D){var C=D||B.getXY(this.getEl());this.deltaSetXY=null;this.startPageX=C[0];this.startPageY=C[1];},addToGroup:function(C){this.groups[C]=true;this.DDM.regDragDrop(this,C);},removeFromGroup:function(C){if(this.groups[C]){delete this.groups[C];}this.DDM.removeDDFromGroup(this,C);},setDragElId:function(C){this.dragElId=C;},setHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.handleElId=C;this.DDM.regHandle(this.id,C);},setOuterHandleElId:function(C){if(typeof C!=="string"){C=B.generateId(C);}A.on(C,"mousedown",this.handleMouseDown,this,true);this.setHandleElId(C);this.hasOuterHandles=true;},unreg:function(){A.removeListener(this.id,"mousedown",this.handleMouseDown);this._domRef=null;this.DDM._remove(this);},isLocked:function(){return(this.DDM.isLocked()||this.locked);},handleMouseDown:function(J,I){var D=J.which||J.button;if(this.primaryButtonOnly&&D>1){return;}if(this.isLocked()){return;}var C=this.b4MouseDown(J),F=true;if(this.events.b4MouseDown){F=this.fireEvent("b4MouseDownEvent",J);}var E=this.onMouseDown(J),H=true;if(this.events.mouseDown){if(E===false){H=false;}else{H=this.fireEvent("mouseDownEvent",J);}}if((C===false)||(E===false)||(F===false)||(H===false)){return;}this.DDM.refreshCache(this.groups);var G=new YAHOO.util.Point(A.getPageX(J),A.getPageY(J));if(!this.hasOuterHandles&&!this.DDM.isOverTarget(G,this)){}else{if(this.clickValidator(J)){this.setStartPosition();this.DDM.handleMouseDown(J,this);this.DDM.stopEvent(J);}else{}}},clickValidator:function(D){var C=YAHOO.util.Event.getTarget(D);return(this.isValidHandleChild(C)&&(this.id==this.handleElId||this.DDM.handleWasClicked(C,this.id)));},getTargetCoord:function(E,D){var C=E-this.deltaX;var F=D-this.deltaY;if(this.constrainX){if(Cthis.maxX){C=this.maxX;}}if(this.constrainY){if(Fthis.maxY){F=this.maxY;}}C=this.getTick(C,this.xTicks);F=this.getTick(F,this.yTicks);return{x:C,y:F};},addInvalidHandleType:function(C){var D=C.toUpperCase();this.invalidHandleTypes[D]=D;},addInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}this.invalidHandleIds[C]=C;},addInvalidHandleClass:function(C){this.invalidHandleClasses.push(C);},removeInvalidHandleType:function(C){var D=C.toUpperCase();delete this.invalidHandleTypes[D];},removeInvalidHandleId:function(C){if(typeof C!=="string"){C=B.generateId(C);}delete this.invalidHandleIds[C];},removeInvalidHandleClass:function(D){for(var E=0,C=this.invalidHandleClasses.length;E=this.minX;D=D-C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}for(D=this.initPageX;D<=this.maxX;D=D+C){if(!E[D]){this.xTicks[this.xTicks.length]=D;E[D]=true;}}this.xTicks.sort(this.DDM.numericSort);},setYTicks:function(F,C){this.yTicks=[];this.yTickSize=C;var E={};for(var D=this.initPageY;D>=this.minY;D=D-C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}for(D=this.initPageY;D<=this.maxY;D=D+C){if(!E[D]){this.yTicks[this.yTicks.length]=D;E[D]=true;}}this.yTicks.sort(this.DDM.numericSort);},setXConstraint:function(E,D,C){this.leftConstraint=parseInt(E,10);this.rightConstraint=parseInt(D,10);this.minX=this.initPageX-this.leftConstraint;this.maxX=this.initPageX+this.rightConstraint;if(C){this.setXTicks(this.initPageX,C);}this.constrainX=true;},clearConstraints:function(){this.constrainX=false;this.constrainY=false;this.clearTicks();},clearTicks:function(){this.xTicks=null;this.yTicks=null;this.xTickSize=0;this.yTickSize=0;},setYConstraint:function(C,E,D){this.topConstraint=parseInt(C,10);this.bottomConstraint=parseInt(E,10);this.minY=this.initPageY-this.topConstraint;this.maxY=this.initPageY+this.bottomConstraint; if(D){this.setYTicks(this.initPageY,D);}this.constrainY=true;},resetConstraints:function(){if(this.initPageX||this.initPageX===0){var D=(this.maintainOffset)?this.lastPageX-this.initPageX:0;var C=(this.maintainOffset)?this.lastPageY-this.initPageY:0;this.setInitPosition(D,C);}else{this.setInitPosition();}if(this.constrainX){this.setXConstraint(this.leftConstraint,this.rightConstraint,this.xTickSize);}if(this.constrainY){this.setYConstraint(this.topConstraint,this.bottomConstraint,this.yTickSize);}},getTick:function(I,F){if(!F){return I;}else{if(F[0]>=I){return F[0];}else{for(var D=0,C=F.length;D=I){var H=I-F[D];var G=F[E]-I;return(G>H)?F[D]:F[E];}}return F[F.length-1];}}},toString:function(){return("DragDrop "+this.id);}};YAHOO.augment(YAHOO.util.DragDrop,YAHOO.util.EventProvider);})();YAHOO.util.DD=function(C,A,B){if(C){this.init(C,A,B);}};YAHOO.extend(YAHOO.util.DD,YAHOO.util.DragDrop,{scroll:true,autoOffset:function(C,B){var A=C-this.startPageX;var D=B-this.startPageY;this.setDelta(A,D);},setDelta:function(B,A){this.deltaX=B;this.deltaY=A;},setDragElPos:function(C,B){var A=this.getDragEl();this.alignElWithMouse(A,C,B);},alignElWithMouse:function(C,G,F){var E=this.getTargetCoord(G,F);if(!this.deltaSetXY){var H=[E.x,E.y];YAHOO.util.Dom.setXY(C,H);var D=parseInt(YAHOO.util.Dom.getStyle(C,"left"),10);var B=parseInt(YAHOO.util.Dom.getStyle(C,"top"),10);this.deltaSetXY=[D-E.x,B-E.y];}else{YAHOO.util.Dom.setStyle(C,"left",(E.x+this.deltaSetXY[0])+"px");YAHOO.util.Dom.setStyle(C,"top",(E.y+this.deltaSetXY[1])+"px");}this.cachePosition(E.x,E.y);var A=this;setTimeout(function(){A.autoScroll.call(A,E.x,E.y,C.offsetHeight,C.offsetWidth);},0);},cachePosition:function(B,A){if(B){this.lastPageX=B;this.lastPageY=A;}else{var C=YAHOO.util.Dom.getXY(this.getEl());this.lastPageX=C[0];this.lastPageY=C[1];}},autoScroll:function(J,I,E,K){if(this.scroll){var L=this.DDM.getClientHeight();var B=this.DDM.getClientWidth();var N=this.DDM.getScrollTop();var D=this.DDM.getScrollLeft();var H=E+I;var M=K+J;var G=(L+N-I-this.deltaY);var F=(B+D-J-this.deltaX);var C=40;var A=(document.all)?80:30;if(H>L&&G0&&I-NB&&F0&&J-D0){u=false;}if(u&&z&&!z.cfg.getProperty(A)){z[x].fire(t);}if(u){y[x].fire(t,z);}}else{if(w==U){for(var v in o){if(H.hasOwnProperty(o,v)){y=o[v];if(y.cfg.getProperty(L)&&!(y instanceof YAHOO.widget.MenuBar)&&y.cfg.getProperty(S)==Q){y.hide();if(K.ie&&p.focus&&(K.ie<9)){p.setActive();}}else{if(y.cfg.getProperty(Y)>0){y._cancelShowDelay();}if(y.activeItem){y.activeItem.blur();y.activeItem.cfg.setProperty(J,false);y.activeItem=null;}}}}}}}function n(q,p,r){if(d[r.id]){this.removeMenu(r);}}function k(q,p){var r=p[1];if(r){i=r;}}function f(q,p){i=null;}function a(r,q){var p=q[0],s=this.id;if(p){o[s]=this;}else{if(o[s]){delete o[s];}}}function j(q,p){m(this);}function m(q){var p=q.id;if(p&&h[p]){if(i==q){i=null;}delete h[p];q.destroyEvent.unsubscribe(j);}}function g(q,p){var s=p[0],r;if(s instanceof YAHOO.widget.MenuItem){r=s.id;if(!h[r]){h[r]=s;s.destroyEvent.subscribe(j);}}}return{addMenu:function(q){var p;if(q instanceof YAHOO.widget.Menu&&q.id&&!d[q.id]){d[q.id]=q;if(!l){p=document;Z.on(p,D,e,this,true);Z.on(p,F,e,this,true);Z.on(p,U,e,this,true);Z.on(p,G,e,this,true);Z.on(p,V,e,this,true);Z.on(p,B,e,this,true);Z.on(p,N,e,this,true);Z.on(p,I,e,this,true);Z.onFocus(p,e,this,true);Z.onBlur(p,e,this,true);l=true;}q.cfg.subscribeToConfigEvent(E,a);q.destroyEvent.subscribe(n,q,this);q.itemAddedEvent.subscribe(g);q.focusEvent.subscribe(k);q.blurEvent.subscribe(f);}},removeMenu:function(s){var q,p,r;if(s){q=s.id;if((q in d)&&(d[q]==s)){p=s.getItems();if(p&&p.length>0){r=p.length-1;do{m(p[r]);}while(r--);}delete d[q];if((q in o)&&(o[q]==s)){delete o[q];}if(s.cfg){s.cfg.unsubscribeFromConfigEvent(E,a);}s.destroyEvent.unsubscribe(n,s);s.itemAddedEvent.unsubscribe(g);s.focusEvent.unsubscribe(k);s.blurEvent.unsubscribe(f);}}},hideVisible:function(){var p;for(var q in o){if(H.hasOwnProperty(o,q)){p=o[q];if(!(p instanceof YAHOO.widget.MenuBar)&&p.cfg.getProperty(S)==Q){p.hide();}}}},getVisible:function(){return o;},getMenus:function(){return d;},getMenu:function(q){var p;if(q in d){p=d[q];}return p;},getMenuItem:function(q){var p;if(q in h){p=h[q];}return p;},getMenuItemGroup:function(t){var q=C.get(t),p,v,u,r,s;if(q&&q.tagName&&q.tagName.toUpperCase()==W){v=q.firstChild;if(v){p=[];do{r=v.id;if(r){u=this.getMenuItem(r);if(u){p[p.length]=u;}}}while((v=v.nextSibling));if(p.length>0){s=p;}}}return s;},getFocusedMenuItem:function(){return i;},getFocusedMenu:function(){var p;if(i){p=i.parent.getRoot();}return p;},toString:function(){return R;}};}();})();(function(){var AM=YAHOO.lang,Aq="Menu",G="DIV",K="div",Am="id",AH="SELECT",e="xy",R="y",Ax="UL",L="ul",AJ="first-of-type",k="LI",h="OPTGROUP",Az="OPTION",Ah="disabled",AY="none",y="selected",At="groupindex",i="index",O="submenu",Au="visible",AX="hidedelay",Ac="position",AD="dynamic",C="static",An=AD+","+C,Q="url",M="#",V="target",AU="maxheight",T="topscrollbar",x="bottomscrollbar",d="_",P=T+d+Ah,E=x+d+Ah,b="mousemove",Av="showdelay",c="submenuhidedelay",AF="iframe",w="constraintoviewport",A4="preventcontextoverlap",AO="submenualignment",Z="autosubmenudisplay",AC="clicktohide",g="container",j="scrollincrement",Aj="minscrollheight",A2="classname",Ag="shadow",Ar="keepopen",A0="hd",D="hastitle",p="context",u="",Ak="mousedown",Ae="keydown",Ao="height",U="width",AQ="px",Ay="effect",AE="monitorresize",AW="display",AV="block",J="visibility",z="absolute",AS="zindex",l="yui-menu-body-scrolled",AK=" ",A1=" ",Ai="mouseover",H="mouseout",AR="itemAdded",n="itemRemoved",AL="hidden",s="yui-menu-shadow",AG=s+"-visible",m=s+A1+AG;YAHOO.widget.Menu=function(A6,A5){if(A5){this.parent=A5.parent;this.lazyLoad=A5.lazyLoad||A5.lazyload;this.itemData=A5.itemData||A5.itemdata;}YAHOO.widget.Menu.superclass.constructor.call(this,A6,A5);};function B(A6){var A5=false;if(AM.isString(A6)){A5=(An.indexOf((A6.toLowerCase()))!=-1);}return A5;}var f=YAHOO.util.Dom,AA=YAHOO.util.Event,Aw=YAHOO.widget.Module,AB=YAHOO.widget.Overlay,r=YAHOO.widget.Menu,A3=YAHOO.widget.MenuManager,F=YAHOO.util.CustomEvent,As=YAHOO.env.ua,Ap,AT=false,Ad,Ab=[["mouseOverEvent",Ai],["mouseOutEvent",H],["mouseDownEvent",Ak],["mouseUpEvent","mouseup"],["clickEvent","click"],["keyPressEvent","keypress"],["keyDownEvent",Ae],["keyUpEvent","keyup"],["focusEvent","focus"],["blurEvent","blur"],["itemAddedEvent",AR],["itemRemovedEvent",n]],AZ={key:Au,value:false,validator:AM.isBoolean},AP={key:w,value:true,validator:AM.isBoolean,supercedes:[AF,"x",R,e]},AI={key:A4,value:true,validator:AM.isBoolean,supercedes:[w]},S={key:Ac,value:AD,validator:B,supercedes:[Au,AF]},A={key:AO,value:["tl","tr"]},t={key:Z,value:true,validator:AM.isBoolean,suppressEvent:true},Y={key:Av,value:250,validator:AM.isNumber,suppressEvent:true},q={key:AX,value:0,validator:AM.isNumber,suppressEvent:true},v={key:c,value:250,validator:AM.isNumber,suppressEvent:true},o={key:AC,value:true,validator:AM.isBoolean,suppressEvent:true},AN={key:g,suppressEvent:true},Af={key:j,value:1,validator:AM.isNumber,supercedes:[AU],suppressEvent:true},N={key:Aj,value:90,validator:AM.isNumber,supercedes:[AU],suppressEvent:true},X={key:AU,value:0,validator:AM.isNumber,supercedes:[AF],suppressEvent:true},W={key:A2,value:null,validator:AM.isString,suppressEvent:true},a={key:Ah,value:false,validator:AM.isBoolean,suppressEvent:true},I={key:Ag,value:true,validator:AM.isBoolean,suppressEvent:true,supercedes:[Au]},Al={key:Ar,value:false,validator:AM.isBoolean}; function Aa(A5){Ad=AA.getTarget(A5);}YAHOO.lang.extend(r,AB,{CSS_CLASS_NAME:"yuimenu",ITEM_TYPE:null,GROUP_TITLE_TAG_NAME:"h6",OFF_SCREEN_POSITION:"-999em",_useHideDelay:false,_bHandledMouseOverEvent:false,_bHandledMouseOutEvent:false,_aGroupTitleElements:null,_aItemGroups:null,_aListElements:null,_nCurrentMouseX:0,_bStopMouseEventHandlers:false,_sClassName:null,lazyLoad:false,itemData:null,activeItem:null,parent:null,srcElement:null,init:function(A7,A6){this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];if(!this.ITEM_TYPE){this.ITEM_TYPE=YAHOO.widget.MenuItem;}var A5;if(AM.isString(A7)){A5=f.get(A7);}else{if(A7.tagName){A5=A7;}}if(A5&&A5.tagName){switch(A5.tagName.toUpperCase()){case G:this.srcElement=A5;if(!A5.id){A5.setAttribute(Am,f.generateId());}r.superclass.init.call(this,A5);this.beforeInitEvent.fire(r);break;case AH:this.srcElement=A5;r.superclass.init.call(this,f.generateId());this.beforeInitEvent.fire(r);break;}}else{r.superclass.init.call(this,A7);this.beforeInitEvent.fire(r);}if(this.element){f.addClass(this.element,this.CSS_CLASS_NAME);this.initEvent.subscribe(this._onInit);this.beforeRenderEvent.subscribe(this._onBeforeRender);this.renderEvent.subscribe(this._onRender);this.beforeShowEvent.subscribe(this._onBeforeShow);this.hideEvent.subscribe(this._onHide);this.showEvent.subscribe(this._onShow);this.beforeHideEvent.subscribe(this._onBeforeHide);this.mouseOverEvent.subscribe(this._onMouseOver);this.mouseOutEvent.subscribe(this._onMouseOut);this.clickEvent.subscribe(this._onClick);this.keyDownEvent.subscribe(this._onKeyDown);this.keyPressEvent.subscribe(this._onKeyPress);this.blurEvent.subscribe(this._onBlur);if(!AT){AA.onFocus(document,Aa);AT=true;}if((As.gecko&&As.gecko<1.9)||(As.webkit&&As.webkit<523)){this.cfg.subscribeToConfigEvent(R,this._onYChange);}if(A6){this.cfg.applyConfig(A6,true);}A3.addMenu(this);this.initEvent.fire(r);}},_initSubTree:function(){var A6=this.srcElement,A5,A8,BB,BC,BA,A9,A7;if(A6){A5=(A6.tagName&&A6.tagName.toUpperCase());if(A5==G){BC=this.body.firstChild;if(BC){A8=0;BB=this.GROUP_TITLE_TAG_NAME.toUpperCase();do{if(BC&&BC.tagName){switch(BC.tagName.toUpperCase()){case BB:this._aGroupTitleElements[A8]=BC;break;case Ax:this._aListElements[A8]=BC;this._aItemGroups[A8]=[];A8++;break;}}}while((BC=BC.nextSibling));if(this._aListElements[0]){f.addClass(this._aListElements[0],AJ);}}}BC=null;if(A5){switch(A5){case G:BA=this._aListElements;A9=BA.length;if(A9>0){A7=A9-1;do{BC=BA[A7].firstChild;if(BC){do{if(BC&&BC.tagName&&BC.tagName.toUpperCase()==k){this.addItem(new this.ITEM_TYPE(BC,{parent:this}),A7);}}while((BC=BC.nextSibling));}}while(A7--);}break;case AH:BC=A6.firstChild;do{if(BC&&BC.tagName){switch(BC.tagName.toUpperCase()){case h:case Az:this.addItem(new this.ITEM_TYPE(BC,{parent:this}));break;}}}while((BC=BC.nextSibling));break;}}}},_getFirstEnabledItem:function(){var A5=this.getItems(),A9=A5.length,A8,A7;for(var A6=0;A6=A8.length);if(A8[BF]){A8.splice(BF,0,BD);}else{A8[BF]=BD;}BE=A8[BF];if(BE){if(A9&&(!BE.element.parentNode||BE.element.parentNode.nodeType==11)){this._aListElements[BG].appendChild(BE.element);}else{A6=A5(A8,(BF+1));if(A6&&(!BE.element.parentNode||BE.element.parentNode.nodeType==11)){this._aListElements[BG].insertBefore(BE.element,A6.element);}}BE.parent=this;this._subscribeToItemEvents(BE);this._configureSubmenu(BE);this._updateItemProperties(BG);this.itemAddedEvent.fire(BE);this.changeContentEvent.fire();BC=BE;}}else{A7=A8.length;A8[A7]=BD;BE=A8[A7];if(BE){if(!f.isAncestor(this._aListElements[BG],BE.element)){this._aListElements[BG].appendChild(BE.element);}BE.element.setAttribute(At,BG);BE.element.setAttribute(i,A7);BE.parent=this;BE.index=A7;BE.groupIndex=BG;this._subscribeToItemEvents(BE);this._configureSubmenu(BE);if(A7===0){f.addClass(BE.element,AJ);}this.itemAddedEvent.fire(BE);this.changeContentEvent.fire();BC=BE;}}}return BC;},_removeItemFromGroupByIndex:function(A8,A6){var A7=AM.isNumber(A8)?A8:0,A9=this._getItemGroup(A7),BB,BA,A5;if(A9){BB=A9.splice(A6,1);BA=BB[0];if(BA){this._updateItemProperties(A7);if(A9.length===0){A5=this._aListElements[A7];if(A5&&A5.parentNode){A5.parentNode.removeChild(A5);}this._aItemGroups.splice(A7,1);this._aListElements.splice(A7,1);A5=this._aListElements[0];if(A5){f.addClass(A5,AJ);}}this.itemRemovedEvent.fire(BA);this.changeContentEvent.fire();}}return BA;},_removeItemFromGroupByValue:function(A8,A5){var BA=this._getItemGroup(A8),BB,A9,A7,A6;if(BA){BB=BA.length;A9=-1;if(BB>0){A6=BB-1;do{if(BA[A6]==A5){A9=A6;break;}}while(A6--);if(A9>-1){A7=this._removeItemFromGroupByIndex(A8,A9);}}}return A7;},_updateItemProperties:function(A6){var A7=this._getItemGroup(A6),BA=A7.length,A9,A8,A5;if(BA>0){A5=BA-1;do{A9=A7[A5];if(A9){A8=A9.element;A9.index=A5;A9.groupIndex=A6;A8.setAttribute(At,A6);A8.setAttribute(i,A5);f.removeClass(A8,AJ);}}while(A5--);if(A8){f.addClass(A8,AJ);}}},_createItemGroup:function(A7){var A5,A6;if(!this._aItemGroups[A7]){this._aItemGroups[A7]=[];A5=document.createElement(L);this._aListElements[A7]=A5;A6=this._aItemGroups[A7];}return A6;},_getItemGroup:function(A7){var A5=AM.isNumber(A7)?A7:0,A8=this._aItemGroups,A6;if(A5 in A8){A6=A8[A5];}return A6;},_configureSubmenu:function(A5){var A6=A5.cfg.getProperty(O);if(A6){this.cfg.configChangedEvent.subscribe(this._onParentMenuConfigChange,A6,true);this.renderEvent.subscribe(this._onParentMenuRender,A6,true);}},_subscribeToItemEvents:function(A5){A5.destroyEvent.subscribe(this._onMenuItemDestroy,A5,this); A5.cfg.configChangedEvent.subscribe(this._onMenuItemConfigChange,A5,this);},_onVisibleChange:function(A7,A6){var A5=A6[0];if(A5){f.addClass(this.element,Au);}else{f.removeClass(this.element,Au);}},_cancelHideDelay:function(){var A5=this.getRoot()._hideDelayTimer;if(A5){A5.cancel();}},_execHideDelay:function(){this._cancelHideDelay();var A5=this.getRoot();A5._hideDelayTimer=AM.later(A5.cfg.getProperty(AX),this,function(){if(A5.activeItem){if(A5.hasFocus()){A5.activeItem.focus();}A5.clearActiveItem();}if(A5==this&&!(this instanceof YAHOO.widget.MenuBar)&&this.cfg.getProperty(Ac)==AD){this.hide();}});},_cancelShowDelay:function(){var A5=this.getRoot()._showDelayTimer;if(A5){A5.cancel();}},_execSubmenuHideDelay:function(A7,A6,A5){A7._submenuHideDelayTimer=AM.later(50,this,function(){if(this._nCurrentMouseX>(A6+10)){A7._submenuHideDelayTimer=AM.later(A5,A7,function(){this.hide();});}else{A7.hide();}});},_disableScrollHeader:function(){if(!this._bHeaderDisabled){f.addClass(this.header,P);this._bHeaderDisabled=true;}},_disableScrollFooter:function(){if(!this._bFooterDisabled){f.addClass(this.footer,E);this._bFooterDisabled=true;}},_enableScrollHeader:function(){if(this._bHeaderDisabled){f.removeClass(this.header,P);this._bHeaderDisabled=false;}},_enableScrollFooter:function(){if(this._bFooterDisabled){f.removeClass(this.footer,E);this._bFooterDisabled=false;}},_onMouseOver:function(BH,BA){var BI=BA[0],BE=BA[1],A5=AA.getTarget(BI),A9=this.getRoot(),BG=this._submenuHideDelayTimer,A6,A8,BD,A7,BC,BB;var BF=function(){if(this.parent.cfg.getProperty(y)){this.show();}};if(!this._bStopMouseEventHandlers){if(!this._bHandledMouseOverEvent&&(A5==this.element||f.isAncestor(this.element,A5))){if(this._useHideDelay){this._cancelHideDelay();}this._nCurrentMouseX=0;AA.on(this.element,b,this._onMouseMove,this,true);if(!(BE&&f.isAncestor(BE.element,AA.getRelatedTarget(BI)))){this.clearActiveItem();}if(this.parent&&BG){BG.cancel();this.parent.cfg.setProperty(y,true);A6=this.parent.parent;A6._bHandledMouseOutEvent=true;A6._bHandledMouseOverEvent=false;}this._bHandledMouseOverEvent=true;this._bHandledMouseOutEvent=false;}if(BE&&!BE.handledMouseOverEvent&&!BE.cfg.getProperty(Ah)&&(A5==BE.element||f.isAncestor(BE.element,A5))){A8=this.cfg.getProperty(Av);BD=(A8>0);if(BD){this._cancelShowDelay();}A7=this.activeItem;if(A7){A7.cfg.setProperty(y,false);}BC=BE.cfg;BC.setProperty(y,true);if(this.hasFocus()||A9._hasFocus){BE.focus();A9._hasFocus=false;}if(this.cfg.getProperty(Z)){BB=BC.getProperty(O);if(BB){if(BD){A9._showDelayTimer=AM.later(A9.cfg.getProperty(Av),BB,BF);}else{BB.show();}}}BE.handledMouseOverEvent=true;BE.handledMouseOutEvent=false;}}},_onMouseOut:function(BD,A7){var BE=A7[0],BB=A7[1],A8=AA.getRelatedTarget(BE),BC=false,BA,A9,A5,A6;if(!this._bStopMouseEventHandlers){if(BB&&!BB.cfg.getProperty(Ah)){BA=BB.cfg;A9=BA.getProperty(O);if(A9&&(A8==A9.element||f.isAncestor(A9.element,A8))){BC=true;}if(!BB.handledMouseOutEvent&&((A8!=BB.element&&!f.isAncestor(BB.element,A8))||BC)){if(!BC){BB.cfg.setProperty(y,false);if(A9){A5=this.cfg.getProperty(c);A6=this.cfg.getProperty(Av);if(!(this instanceof YAHOO.widget.MenuBar)&&A5>0&&A5>=A6){this._execSubmenuHideDelay(A9,AA.getPageX(BE),A5);}else{A9.hide();}}}BB.handledMouseOutEvent=true;BB.handledMouseOverEvent=false;}}if(!this._bHandledMouseOutEvent){if(this._didMouseLeave(A8)||BC){if(this._useHideDelay){this._execHideDelay();}AA.removeListener(this.element,b,this._onMouseMove);this._nCurrentMouseX=AA.getPageX(BE);this._bHandledMouseOutEvent=true;this._bHandledMouseOverEvent=false;}}}},_didMouseLeave:function(A5){return(A5===this._shadow||(A5!=this.element&&!f.isAncestor(this.element,A5)));},_onMouseMove:function(A6,A5){if(!this._bStopMouseEventHandlers){this._nCurrentMouseX=AA.getPageX(A6);}},_onClick:function(BG,A7){var BH=A7[0],BB=A7[1],BD=false,A9,BE,A6,A5,BA,BC,BF;var A8=function(){A6=this.getRoot();if(A6 instanceof YAHOO.widget.MenuBar||A6.cfg.getProperty(Ac)==C){A6.clearActiveItem();}else{A6.hide();}};if(BB){if(BB.cfg.getProperty(Ah)){AA.preventDefault(BH);A8.call(this);}else{A9=BB.cfg.getProperty(O);BA=BB.cfg.getProperty(Q);if(BA){BC=BA.indexOf(M);BF=BA.length;if(BC!=-1){BA=BA.substr(BC,BF);BF=BA.length;if(BF>1){A5=BA.substr(1,BF);BE=YAHOO.widget.MenuManager.getMenu(A5);if(BE){BD=(this.getRoot()===BE.getRoot());}}else{if(BF===1){BD=true;}}}}if(BD&&!BB.cfg.getProperty(V)){AA.preventDefault(BH);if(As.webkit){BB.focus();}else{BB.focusEvent.fire();}}if(!A9&&!this.cfg.getProperty(Ar)){A8.call(this);}}}},_stopMouseEventHandlers:function(){this._bStopMouseEventHandlers=true;AM.later(10,this,function(){this._bStopMouseEventHandlers=false;});},_onKeyDown:function(BJ,BD){var BG=BD[0],BF=BD[1],BC,BH,A6,A9,BK,A5,BN,A8,BI,A7,BE,BM,BA,BB;if(this._useHideDelay){this._cancelHideDelay();}if(BF&&!BF.cfg.getProperty(Ah)){BH=BF.cfg;A6=this.parent;switch(BG.keyCode){case 38:case 40:BK=(BG.keyCode==38)?BF.getPreviousEnabledSibling():BF.getNextEnabledSibling();if(BK){this.clearActiveItem();BK.cfg.setProperty(y,true);BK.focus();if(this.cfg.getProperty(AU)>0||f.hasClass(this.body,l)){A5=this.body;BN=A5.scrollTop;A8=A5.offsetHeight;BI=this.getItems();A7=BI.length-1;BE=BK.element.offsetTop;if(BG.keyCode==40){if(BE>=(A8+BN)){A5.scrollTop=BE-A8;}else{if(BE<=BN){A5.scrollTop=0;}}if(BK==BI[A7]){A5.scrollTop=BK.element.offsetTop;}}else{if(BE<=BN){A5.scrollTop=BE-BK.element.offsetHeight;}else{if(BE>=(BN+A8)){A5.scrollTop=BE;}}if(BK==BI[0]){A5.scrollTop=0;}}BN=A5.scrollTop;BM=A5.scrollHeight-A5.offsetHeight;if(BN===0){this._disableScrollHeader();this._enableScrollFooter();}else{if(BN==BM){this._enableScrollHeader();this._disableScrollFooter();}else{this._enableScrollHeader();this._enableScrollFooter();}}}}AA.preventDefault(BG);this._stopMouseEventHandlers();break;case 39:BC=BH.getProperty(O);if(BC){if(!BH.getProperty(y)){BH.setProperty(y,true);}BC.show();BC.setInitialFocus();BC.setInitialSelection();}else{A9=this.getRoot();if(A9 instanceof YAHOO.widget.MenuBar){BK=A9.activeItem.getNextEnabledSibling(); -if(BK){A9.clearActiveItem();BK.cfg.setProperty(y,true);BC=BK.cfg.getProperty(O);if(BC){BC.show();BC.setInitialFocus();}else{BK.focus();}}}}AA.preventDefault(BG);this._stopMouseEventHandlers();break;case 37:if(A6){BA=A6.parent;if(BA instanceof YAHOO.widget.MenuBar){BK=BA.activeItem.getPreviousEnabledSibling();if(BK){BA.clearActiveItem();BK.cfg.setProperty(y,true);BC=BK.cfg.getProperty(O);if(BC){BC.show();BC.setInitialFocus();}else{BK.focus();}}}else{this.hide();A6.focus();}}AA.preventDefault(BG);this._stopMouseEventHandlers();break;}}if(BG.keyCode==27){if(this.cfg.getProperty(Ac)==AD){this.hide();if(this.parent){this.parent.focus();}else{BB=this._focusedElement;if(BB&&BB.focus){try{BB.focus();}catch(BL){}}}}else{if(this.activeItem){BC=this.activeItem.cfg.getProperty(O);if(BC&&BC.cfg.getProperty(Au)){BC.hide();this.activeItem.focus();}else{this.activeItem.blur();this.activeItem.cfg.setProperty(y,false);}}}AA.preventDefault(BG);}},_onKeyPress:function(A7,A6){var A5=A6[0];if(A5.keyCode==40||A5.keyCode==38){AA.preventDefault(A5);}},_onBlur:function(A6,A5){if(this._hasFocus){this._hasFocus=false;}},_onYChange:function(A6,A5){var A8=this.parent,BA,A7,A9;if(A8){BA=A8.parent.body.scrollTop;if(BA>0){A9=(this.cfg.getProperty(R)-BA);f.setY(this.element,A9);A7=this.iframe;if(A7){f.setY(A7,A9);}this.cfg.setProperty(R,A9,true);}}},_onScrollTargetMouseOver:function(BB,BE){var BD=this._bodyScrollTimer;if(BD){BD.cancel();}this._cancelHideDelay();var A7=AA.getTarget(BB),A9=this.body,A8=this.cfg.getProperty(j),A5,A6;function BC(){var BF=A9.scrollTop;if(BF0){A9.scrollTop=(BF-A8);this._enableScrollFooter();}else{A9.scrollTop=0;this._bodyScrollTimer.cancel();this._disableScrollHeader();}}if(f.hasClass(A7,A0)){A6=BA;}else{A5=A9.scrollHeight-A9.offsetHeight;A6=BC;}this._bodyScrollTimer=AM.later(10,this,A6,null,true);},_onScrollTargetMouseOut:function(A7,A5){var A6=this._bodyScrollTimer;if(A6){A6.cancel();}this._cancelHideDelay();},_onInit:function(A6,A5){this.cfg.subscribeToConfigEvent(Au,this._onVisibleChange);var A7=!this.parent,A8=this.lazyLoad;if(((A7&&!A8)||(A7&&(this.cfg.getProperty(Au)||this.cfg.getProperty(Ac)==C))||(!A7&&!A8))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){this.addItems(this.itemData);}}else{if(A8){this.cfg.fireQueue();}}},_onBeforeRender:function(A8,A7){var A9=this.element,BC=this._aListElements.length,A6=true,BB=0,A5,BA;if(BC>0){do{A5=this._aListElements[BB];if(A5){if(A6){f.addClass(A5,AJ);A6=false;}if(!f.isAncestor(A9,A5)){this.appendToBody(A5);}BA=this._aGroupTitleElements[BB];if(BA){if(!f.isAncestor(A9,BA)){A5.parentNode.insertBefore(BA,A5);}f.addClass(A5,D);}}BB++;}while(BBBJ){BX=(BJ-BW);}else{BX=(BJ+BK);}BS.cfg.setProperty(R,(BX+BP),true);return BX;};var A8=function(){if((BS.cfg.getProperty(R)-BP)>BJ){return(A7-BQ);}else{return(BE-BQ);}};var BN=function(){var BX;if((BS.cfg.getProperty(R)-BP)>BJ){BX=(BJ+BK);}else{BX=(BJ-BC.offsetHeight);}BS.cfg.setProperty(R,(BX+BP),true);};var A6=function(){BS._setScrollHeight(this.cfg.getProperty(AU));BS.hideEvent.unsubscribe(A6);};var BT=function(){var Ba=A8(),BX=(BS.getItems().length>0),BZ,BY;if(BW>Ba){BZ=BX?BS.cfg.getProperty(Aj):BW;if((Ba>BZ)&&BX){BR=Ba;}else{BR=BV;}BS._setScrollHeight(BR);BS.hideEvent.subscribe(A6);BN();if(BaA9){if(BM){if(BS.cfg.getProperty(A4)&&BA){BD=BO[0];BK=BD.offsetHeight;BJ=(f.getY(BD)-BP);BE=BJ;A7=(BL-(BJ+BK));BT();A5=BS.cfg.getProperty(R);}else{if(!(BS instanceof YAHOO.widget.MenuBar)&&BW>=BL){BU=(BL-(BQ*2));if(BU>BS.cfg.getProperty(Aj)){BS._setScrollHeight(BU);BS.hideEvent.subscribe(A6);BN();A5=BS.cfg.getProperty(R);}}else{if(BHA9){A5=A9;}}}}}else{A5=BQ+BP;}}return A5;},_onHide:function(A6,A5){if(this.cfg.getProperty(Ac)===AD){this.positionOffScreen();}},_onShow:function(BD,BB){var A5=this.parent,A7,A8,BA,A6;function A9(BF){var BE;if(BF.type==Ak||(BF.type==Ae&&BF.keyCode==27)){BE=AA.getTarget(BF);if(BE!=A7.element||!f.isAncestor(A7.element,BE)){A7.cfg.setProperty(Z,false);AA.removeListener(document,Ak,A9);AA.removeListener(document,Ae,A9);}}}function BC(BF,BE,BG){this.cfg.setProperty(U,u);this.hideEvent.unsubscribe(BC,BG);}if(A5){A7=A5.parent;if(!A7.cfg.getProperty(Z)&&(A7 instanceof YAHOO.widget.MenuBar||A7.cfg.getProperty(Ac)==C)){A7.cfg.setProperty(Z,true); +if(BK){A9.clearActiveItem();BK.cfg.setProperty(y,true);BC=BK.cfg.getProperty(O);if(BC){BC.show();BC.setInitialFocus();}else{BK.focus();}}}}AA.preventDefault(BG);this._stopMouseEventHandlers();break;case 37:if(A6){BA=A6.parent;if(BA instanceof YAHOO.widget.MenuBar){BK=BA.activeItem.getPreviousEnabledSibling();if(BK){BA.clearActiveItem();BK.cfg.setProperty(y,true);BC=BK.cfg.getProperty(O);if(BC){BC.show();BC.setInitialFocus();}else{BK.focus();}}}else{this.hide();A6.focus();}}AA.preventDefault(BG);this._stopMouseEventHandlers();break;}}if(BG.keyCode==27){if(this.cfg.getProperty(Ac)==AD){this.hide();if(this.parent){this.parent.focus();}else{BB=this._focusedElement;if(BB&&BB.focus){try{BB.focus();}catch(BL){}}}}else{if(this.activeItem){BC=this.activeItem.cfg.getProperty(O);if(BC&&BC.cfg.getProperty(Au)){BC.hide();this.activeItem.focus();}else{this.activeItem.blur();this.activeItem.cfg.setProperty(y,false);}}}AA.preventDefault(BG);}},_onKeyPress:function(A7,A6){var A5=A6[0];if(A5.keyCode==40||A5.keyCode==38){AA.preventDefault(A5);}},_onBlur:function(A6,A5){if(this._hasFocus){this._hasFocus=false;}},_onYChange:function(A6,A5){var A8=this.parent,BA,A7,A9;if(A8){BA=A8.parent.body.scrollTop;if(BA>0){A9=(this.cfg.getProperty(R)-BA);f.setY(this.element,A9);A7=this.iframe;if(A7){f.setY(A7,A9);}this.cfg.setProperty(R,A9,true);}}},_onScrollTargetMouseOver:function(BB,BE){var BD=this._bodyScrollTimer;if(BD){BD.cancel();}this._cancelHideDelay();var A7=AA.getTarget(BB),A9=this.body,A8=this.cfg.getProperty(j),A5,A6;function BC(){var BF=A9.scrollTop;if(BF0){A9.scrollTop=(BF-A8);this._enableScrollFooter();}else{A9.scrollTop=0;this._bodyScrollTimer.cancel();this._disableScrollHeader();}}if(f.hasClass(A7,A0)){A6=BA;}else{A5=A9.scrollHeight-A9.offsetHeight;A6=BC;}this._bodyScrollTimer=AM.later(10,this,A6,null,true);},_onScrollTargetMouseOut:function(A7,A5){var A6=this._bodyScrollTimer;if(A6){A6.cancel();}this._cancelHideDelay();},_onInit:function(A6,A5){this.cfg.subscribeToConfigEvent(Au,this._onVisibleChange);var A7=!this.parent,A8=this.lazyLoad;if(((A7&&!A8)||(A7&&(this.cfg.getProperty(Au)||this.cfg.getProperty(Ac)==C))||(!A7&&!A8))&&this.getItemGroups().length===0){if(this.srcElement){this._initSubTree();}if(this.itemData){this.addItems(this.itemData);}}else{if(A8){this.cfg.fireQueue();}}},_onBeforeRender:function(A8,A7){var A9=this.element,BC=this._aListElements.length,A6=true,BB=0,A5,BA;if(BC>0){do{A5=this._aListElements[BB];if(A5){if(A6){f.addClass(A5,AJ);A6=false;}if(!f.isAncestor(A9,A5)){this.appendToBody(A5);}BA=this._aGroupTitleElements[BB];if(BA){if(!f.isAncestor(A9,BA)){A5.parentNode.insertBefore(BA,A5);}f.addClass(A5,D);}}BB++;}while(BBBJ){BX=(BJ-BW);}else{BX=(BJ+BK);}BS.cfg.setProperty(R,(BX+BP),true);return BX;};var A8=function(){if(BS.cfg.getProperty(R)==0||(BS.cfg.getProperty(R)-BP)>BJ){return(A7-BQ);}else{return(BE-BQ);}};var BN=function(){var BX;if((BS.cfg.getProperty(R)-BP)>BJ){BX=(BJ+BK);}else{BX=(BJ-BC.offsetHeight);}BS.cfg.setProperty(R,(BX+BP),true);};var A6=function(){BS._setScrollHeight(this.cfg.getProperty(AU));BS.hideEvent.unsubscribe(A6);};var BT=function(){var Ba=A8(),BX=(BS.getItems().length>0),BZ,BY;if(BW>Ba){BZ=BX?BS.cfg.getProperty(Aj):BW;if((Ba>BZ)&&BX){BR=Ba;}else{BR=BV;}BS._setScrollHeight(BR);BS.hideEvent.subscribe(A6);BN();if(BaA9){if(BM){if(BS.cfg.getProperty(A4)&&BA){BD=BO[0];BK=BD.offsetHeight;BJ=(f.getY(BD)-BP);BE=BJ;A7=(BL-(BJ+BK));BT();A5=BS.cfg.getProperty(R);}else{if(!(BS instanceof YAHOO.widget.MenuBar)&&BW>=BL){BU=(BL-(BQ*2));if(BU>BS.cfg.getProperty(Aj)){BS._setScrollHeight(BU);BS.hideEvent.subscribe(A6);BN();A5=BS.cfg.getProperty(R);}}else{if(BHA9){A5=A9;}}}}}else{A5=BQ+BP;}}return A5;},_onHide:function(A6,A5){if(this.cfg.getProperty(Ac)===AD){this.positionOffScreen();}},_onShow:function(BD,BB){var A5=this.parent,A7,A8,BA,A6;function A9(BF){var BE;if(BF.type==Ak||(BF.type==Ae&&BF.keyCode==27)){BE=AA.getTarget(BF);if(BE!=A7.element||!f.isAncestor(A7.element,BE)){A7.cfg.setProperty(Z,false);AA.removeListener(document,Ak,A9);AA.removeListener(document,Ae,A9);}}}function BC(BF,BE,BG){this.cfg.setProperty(U,u);this.hideEvent.unsubscribe(BC,BG);}if(A5){A7=A5.parent;if(!A7.cfg.getProperty(Z)&&(A7 instanceof YAHOO.widget.MenuBar||A7.cfg.getProperty(Ac)==C)){A7.cfg.setProperty(Z,true); AA.on(document,Ak,A9);AA.on(document,Ae,A9);}if((this.cfg.getProperty("x")0);},configContainer:function(A6,A5,A8){var A7=A5[0];if(AM.isString(A7)){this.cfg.setProperty(g,f.get(A7),true);}},_clearSetWidthFlag:function(){this._widthSetForScroll=false;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);},_subscribeScrollHandlers:function(A6,A5){var A8=this._onScrollTargetMouseOver;var A7=this._onScrollTargetMouseOut;AA.on(A6,Ai,A8,this,true);AA.on(A6,H,A7,this,true);AA.on(A5,Ai,A8,this,true);AA.on(A5,H,A7,this,true);},_unsubscribeScrollHandlers:function(A6,A5){var A8=this._onScrollTargetMouseOver;var A7=this._onScrollTargetMouseOut;AA.removeListener(A6,Ai,A8);AA.removeListener(A6,H,A7);AA.removeListener(A5,Ai,A8);AA.removeListener(A5,H,A7);},_setScrollHeight:function(BF){var BC=BF,BB=false,BG=false,A8,A9,BE,A6,A5,BD,BA,A7;if(this.getItems().length>0){A8=this.element;A9=this.body;BE=this.header;A6=this.footer;A5=this.cfg.getProperty(Aj);if(BC>0&&BC0&&BG&&!this.cfg.getProperty(U)){BA=A8.offsetWidth;A8.style.width=BA+AQ;A7=(BA-(A8.offsetWidth-BA))+AQ;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);this.cfg.setProperty(U,A7);this._widthSetForScroll=true;this.cfg.subscribeToConfigEvent(U,this._clearSetWidthFlag);}if(BC>0&&(!BE&&!A6)){this.setHeader(AK);this.setFooter(AK);BE=this.header;A6=this.footer;f.addClass(BE,T);f.addClass(A6,x);A8.insertBefore(BE,A9);A8.appendChild(A6);}BD=BC;if(BE&&A6){BD=(BD-(BE.offsetHeight+A6.offsetHeight));}if((BD>0)&&(A9.offsetHeight>BC)){f.addClass(A9,l);f.setStyle(A9,Ao,(BD+AQ));if(!this._hasScrollEventHandlers){this._subscribeScrollHandlers(BE,A6);this._hasScrollEventHandlers=true;}this._disableScrollHeader();this._enableScrollFooter();BB=true;}else{if(BE&&A6){if(this._widthSetForScroll){this._widthSetForScroll=false;this.cfg.unsubscribeFromConfigEvent(U,this._clearSetWidthFlag);this.cfg.setProperty(U,u);}this._enableScrollHeader();this._enableScrollFooter();if(this._hasScrollEventHandlers){this._unsubscribeScrollHandlers(BE,A6);this._hasScrollEventHandlers=false;}A8.removeChild(BE);A8.removeChild(A6);this.header=null;this.footer=null;BB=true;}}if(BB){this.cfg.refireEvent(AF);this.cfg.refireEvent(Ag);}}},_setMaxHeight:function(A6,A5,A7){this._setScrollHeight(A7);this.renderEvent.unsubscribe(this._setMaxHeight);},configMaxHeight:function(A6,A5,A7){var A8=A5[0];if(this.lazyLoad&&!this.body&&A8>0){this.renderEvent.subscribe(this._setMaxHeight,A8,this);}else{this._setScrollHeight(A8);}},configClassName:function(A7,A6,A8){var A5=A6[0];if(this._sClassName){f.removeClass(this.element,this._sClassName);}f.addClass(this.element,A5);this._sClassName=A5;},_onItemAdded:function(A6,A5){var A7=A5[0];if(A7){A7.cfg.setProperty(Ah,true);}},configDisabled:function(A7,A6,BA){var A9=A6[0],A5=this.getItems(),BB,A8;if(AM.isArray(A5)){BB=A5.length;if(BB>0){A8=BB-1;do{A5[A8].cfg.setProperty(Ah,A9);}while(A8--);}if(A9){this.clearActiveItem(true);f.addClass(this.element,Ah);this.itemAddedEvent.subscribe(this._onItemAdded);}else{f.removeClass(this.element,Ah);this.itemAddedEvent.unsubscribe(this._onItemAdded); }}},_sizeShadow:function(){var A6=this.element,A5=this._shadow;if(A5&&A6){if(A5.style.width&&A5.style.height){A5.style.width=u;A5.style.height=u;}A5.style.width=(A6.offsetWidth+6)+AQ;A5.style.height=(A6.offsetHeight+1)+AQ;}},_replaceShadow:function(){this.element.appendChild(this._shadow);},_addShadowVisibleClass:function(){f.addClass(this._shadow,AG);},_removeShadowVisibleClass:function(){f.removeClass(this._shadow,AG);},_removeShadow:function(){var A5=(this._shadow&&this._shadow.parentNode);if(A5){A5.removeChild(this._shadow);}this.beforeShowEvent.unsubscribe(this._addShadowVisibleClass);this.beforeHideEvent.unsubscribe(this._removeShadowVisibleClass);this.cfg.unsubscribeFromConfigEvent(U,this._sizeShadow);this.cfg.unsubscribeFromConfigEvent(Ao,this._sizeShadow);this.cfg.unsubscribeFromConfigEvent(AU,this._sizeShadow);this.cfg.unsubscribeFromConfigEvent(AU,this._replaceShadow);this.changeContentEvent.unsubscribe(this._sizeShadow);Aw.textResizeEvent.unsubscribe(this._sizeShadow);},_createShadow:function(){var A6=this._shadow,A5;if(!A6){A5=this.element;if(!Ap){Ap=document.createElement(K);Ap.className=m;}A6=Ap.cloneNode(false);A5.appendChild(A6);this._shadow=A6;this.beforeShowEvent.subscribe(this._addShadowVisibleClass);this.beforeHideEvent.subscribe(this._removeShadowVisibleClass);if(As.ie){AM.later(0,this,function(){this._sizeShadow();this.syncIframe();});this.cfg.subscribeToConfigEvent(U,this._sizeShadow);this.cfg.subscribeToConfigEvent(Ao,this._sizeShadow);this.cfg.subscribeToConfigEvent(AU,this._sizeShadow);this.changeContentEvent.subscribe(this._sizeShadow);Aw.textResizeEvent.subscribe(this._sizeShadow,this,true);this.destroyEvent.subscribe(function(){Aw.textResizeEvent.unsubscribe(this._sizeShadow,this);});}this.cfg.subscribeToConfigEvent(AU,this._replaceShadow);}},_shadowBeforeShow:function(){if(this._shadow){this._replaceShadow();if(As.ie){this._sizeShadow();}}else{this._createShadow();}this.beforeShowEvent.unsubscribe(this._shadowBeforeShow);},configShadow:function(A6,A5,A7){var A8=A5[0];if(A8&&this.cfg.getProperty(Ac)==AD){if(this.cfg.getProperty(Au)){if(this._shadow){this._replaceShadow();if(As.ie){this._sizeShadow();}}else{this._createShadow();}}else{this.beforeShowEvent.subscribe(this._shadowBeforeShow);}}else{if(!A8){this.beforeShowEvent.unsubscribe(this._shadowBeforeShow);this._removeShadow();}}},initEvents:function(){r.superclass.initEvents.call(this);var A6=Ab.length-1,A7,A5;do{A7=Ab[A6];A5=this.createEvent(A7[1]);A5.signature=F.LIST;this[A7[0]]=A5;}while(A6--);},positionOffScreen:function(){var A6=this.iframe,A7=this.element,A5=this.OFF_SCREEN_POSITION;A7.style.top=u;A7.style.left=u;if(A6){A6.style.top=A5;A6.style.left=A5;}},getRoot:function(){var A7=this.parent,A6,A5;if(A7){A6=A7.parent;A5=A6?A6.getRoot():this;}else{A5=this;}return A5;},toString:function(){var A6=Aq,A5=this.id;if(A5){A6+=(A1+A5);}return A6;},setItemGroupTitle:function(BA,A9){var A8,A7,A6,A5;if(AM.isString(BA)&&BA.length>0){A8=AM.isNumber(A9)?A9:0;A7=this._aGroupTitleElements[A8];if(A7){A7.innerHTML=BA;}else{A7=document.createElement(this.GROUP_TITLE_TAG_NAME);A7.innerHTML=BA;this._aGroupTitleElements[A8]=A7;}A6=this._aGroupTitleElements.length-1;do{if(this._aGroupTitleElements[A6]){f.removeClass(this._aGroupTitleElements[A6],AJ);A5=A6;}}while(A6--);if(A5!==null){f.addClass(this._aGroupTitleElements[A5],AJ);}this.changeContentEvent.fire();}},addItem:function(A5,A6){return this._addItemToGroup(A6,A5);},addItems:function(A9,A8){var BB,A5,BA,A6,A7;if(AM.isArray(A9)){BB=A9.length;A5=[];for(A6=0;A60){A5=[];for(A8=0;A80){BA=A6-1;do{BC=A9[BA];if(BC){BB=BC.cfg.getProperty(O);if(BB){this.cfg.configChangedEvent.unsubscribe(this._onParentMenuConfigChange,BB);this.renderEvent.unsubscribe(this._onParentMenuRender,BB);}this.removeItem(BC,BC.groupIndex);}}while(BA--);}if(BD){AA.purgeElement(BD);A7.removeChild(BD);}if(A5){AA.purgeElement(A5);A7.removeChild(A5);}if(A8){AA.purgeElement(A8);A8.innerHTML=u;}this.activeItem=null;this._aItemGroups=[];this._aListElements=[];this._aGroupTitleElements=[];this.cfg.setProperty(U,null);},destroy:function(A5){this.clearContent();this._aItemGroups=null;this._aListElements=null;this._aGroupTitleElements=null;r.superclass.destroy.call(this,A5);},setInitialFocus:function(){var A5=this._getFirstEnabledItem();if(A5){A5.focus();}},setInitialSelection:function(){var A5=this._getFirstEnabledItem();if(A5){A5.cfg.setProperty(y,true);}},clearActiveItem:function(A7){if(this.cfg.getProperty(Av)>0){this._cancelShowDelay();}var A5=this.activeItem,A8,A6;if(A5){A8=A5.cfg;if(A7){A5.blur();this.getRoot()._hasFocus=true;}A8.setProperty(y,false);A6=A8.getProperty(O);if(A6){A6.hide();}this.activeItem=null;}},focus:function(){if(!this.hasFocus()){this.setInitialFocus();}},blur:function(){var A5;if(this.hasFocus()){A5=A3.getFocusedMenuItem();if(A5){A5.blur();}}},hasFocus:function(){return(A3.getFocusedMenu()==this.getRoot()); },_doItemSubmenuSubscribe:function(A6,A5,A8){var A9=A5[0],A7=A9.cfg.getProperty(O);if(A7){A7.subscribe.apply(A7,A8);}},_doSubmenuSubscribe:function(A6,A5,A8){var A7=this.cfg.getProperty(O);if(A7){A7.subscribe.apply(A7,A8);}},subscribe:function(){r.superclass.subscribe.apply(this,arguments);r.superclass.subscribe.call(this,AR,this._doItemSubmenuSubscribe,arguments);var A5=this.getItems(),A9,A8,A6,A7;if(A5){A9=A5.length;if(A9>0){A7=A9-1;do{A8=A5[A7];A6=A8.cfg.getProperty(O);if(A6){A6.subscribe.apply(A6,arguments);}else{A8.cfg.subscribeToConfigEvent(O,this._doSubmenuSubscribe,arguments);}}while(A7--);}}},unsubscribe:function(){r.superclass.unsubscribe.apply(this,arguments);r.superclass.unsubscribe.call(this,AR,this._doItemSubmenuSubscribe,arguments);var A5=this.getItems(),A9,A8,A6,A7;if(A5){A9=A5.length;if(A9>0){A7=A9-1;do{A8=A5[A7];A6=A8.cfg.getProperty(O);if(A6){A6.unsubscribe.apply(A6,arguments);}else{A8.cfg.unsubscribeFromConfigEvent(O,this._doSubmenuSubscribe,arguments);}}while(A7--);}}},initDefaultConfig:function(){r.superclass.initDefaultConfig.call(this);var A5=this.cfg;A5.addProperty(AZ.key,{handler:this.configVisible,value:AZ.value,validator:AZ.validator});A5.addProperty(AP.key,{handler:this.configConstrainToViewport,value:AP.value,validator:AP.validator,supercedes:AP.supercedes});A5.addProperty(AI.key,{value:AI.value,validator:AI.validator,supercedes:AI.supercedes});A5.addProperty(S.key,{handler:this.configPosition,value:S.value,validator:S.validator,supercedes:S.supercedes});A5.addProperty(A.key,{value:A.value,suppressEvent:A.suppressEvent});A5.addProperty(t.key,{value:t.value,validator:t.validator,suppressEvent:t.suppressEvent});A5.addProperty(Y.key,{value:Y.value,validator:Y.validator,suppressEvent:Y.suppressEvent});A5.addProperty(q.key,{handler:this.configHideDelay,value:q.value,validator:q.validator,suppressEvent:q.suppressEvent});A5.addProperty(v.key,{value:v.value,validator:v.validator,suppressEvent:v.suppressEvent});A5.addProperty(o.key,{value:o.value,validator:o.validator,suppressEvent:o.suppressEvent});A5.addProperty(AN.key,{handler:this.configContainer,value:document.body,suppressEvent:AN.suppressEvent});A5.addProperty(Af.key,{value:Af.value,validator:Af.validator,supercedes:Af.supercedes,suppressEvent:Af.suppressEvent});A5.addProperty(N.key,{value:N.value,validator:N.validator,supercedes:N.supercedes,suppressEvent:N.suppressEvent});A5.addProperty(X.key,{handler:this.configMaxHeight,value:X.value,validator:X.validator,suppressEvent:X.suppressEvent,supercedes:X.supercedes});A5.addProperty(W.key,{handler:this.configClassName,value:W.value,validator:W.validator,supercedes:W.supercedes});A5.addProperty(a.key,{handler:this.configDisabled,value:a.value,validator:a.validator,suppressEvent:a.suppressEvent});A5.addProperty(I.key,{handler:this.configShadow,value:I.value,validator:I.validator});A5.addProperty(Al.key,{value:Al.value,validator:Al.validator});}});})();(function(){YAHOO.widget.MenuItem=function(AS,AR){if(AS){if(AR){this.parent=AR.parent;this.value=AR.value;this.id=AR.id;}this.init(AS,AR);}};var x=YAHOO.util.Dom,j=YAHOO.widget.Module,AB=YAHOO.widget.Menu,c=YAHOO.widget.MenuItem,AK=YAHOO.util.CustomEvent,k=YAHOO.env.ua,AQ=YAHOO.lang,AL="text",O="#",Q="-",L="helptext",n="url",AH="target",A="emphasis",N="strongemphasis",b="checked",w="submenu",H="disabled",B="selected",P="hassubmenu",U="checked-disabled",AI="hassubmenu-disabled",AD="hassubmenu-selected",T="checked-selected",q="onclick",J="classname",AJ="",i="OPTION",v="OPTGROUP",K="LI",AE="href",r="SELECT",X="DIV",AN='',a="",I="",W="",y="",Y="preventcontextoverlap",h="obj",AG="scope",t="none",V="visible",E=" ",m="MenuItem",AA="click",D="show",M="hide",S="li",AF='',p=[["mouseOverEvent","mouseover"],["mouseOutEvent","mouseout"],["mouseDownEvent","mousedown"],["mouseUpEvent","mouseup"],["clickEvent",AA],["keyPressEvent","keypress"],["keyDownEvent","keydown"],["keyUpEvent","keyup"],["focusEvent","focus"],["blurEvent","blur"],["destroyEvent","destroy"]],o={key:AL,value:AJ,validator:AQ.isString,suppressEvent:true},s={key:L,supercedes:[AL],suppressEvent:true},G={key:n,value:O,suppressEvent:true},AO={key:AH,suppressEvent:true},AP={key:A,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL]},d={key:N,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL]},l={key:b,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[H,B]},F={key:w,suppressEvent:true,supercedes:[H,B]},AM={key:H,value:false,validator:AQ.isBoolean,suppressEvent:true,supercedes:[AL,B]},f={key:B,value:false,validator:AQ.isBoolean,suppressEvent:true},u={key:q,suppressEvent:true},AC={key:J,value:null,validator:AQ.isString,suppressEvent:true},z={key:"keylistener",value:null,suppressEvent:true},C=null,e={};var Z=function(AU,AT){var AR=e[AU];if(!AR){e[AU]={};AR=e[AU];}var AS=AR[AT];if(!AS){AS=AU+Q+AT;AR[AT]=AS;}return AS;};var g=function(AR){x.addClass(this.element,Z(this.CSS_CLASS_NAME,AR));x.addClass(this._oAnchor,Z(this.CSS_LABEL_CLASS_NAME,AR));};var R=function(AR){x.removeClass(this.element,Z(this.CSS_CLASS_NAME,AR));x.removeClass(this._oAnchor,Z(this.CSS_LABEL_CLASS_NAME,AR));};c.prototype={CSS_CLASS_NAME:"yuimenuitem",CSS_LABEL_CLASS_NAME:"yuimenuitemlabel",SUBMENU_TYPE:null,_oAnchor:null,_oHelpTextEM:null,_oSubmenu:null,_oOnclickAttributeValue:null,_sClassName:null,constructor:c,index:null,groupIndex:null,parent:null,element:null,srcElement:null,value:null,browser:j.prototype.browser,id:null,init:function(AR,Ab){if(!this.SUBMENU_TYPE){this.SUBMENU_TYPE=AB;}this.cfg=new YAHOO.util.Config(this);this.initDefaultConfig();var AX=this.cfg,AY=O,AT,Aa,AZ,AS,AV,AU,AW;if(AQ.isString(AR)){this._createRootNodeStructure();AX.queueProperty(AL,AR);}else{if(AR&&AR.tagName){switch(AR.tagName.toUpperCase()){case i:this._createRootNodeStructure();AX.queueProperty(AL,AR.text);AX.queueProperty(H,AR.disabled);this.value=AR.value;this.srcElement=AR;break;case v:this._createRootNodeStructure(); diff --git a/include/javascript/yui/build/menu/menu.js b/include/javascript/yui/build/menu/menu.js index 4837e6b9..c15c6d50 100644 --- a/include/javascript/yui/build/menu/menu.js +++ b/include/javascript/yui/build/menu/menu.js @@ -3817,9 +3817,10 @@ getConstrainedY: function (y) { */ var getDisplayRegionHeight = function () { - + //Bug43168: since the initial value Y is empty, the case is calculated in wrong way + var _y = oMenu.cfg.getProperty(_Y); // The Menu is below the context element - if ((oMenu.cfg.getProperty(_Y) - scrollY) > nContextElY) { + if ( _y == 0 || (_y - scrollY) > nContextElY ) { return (nBottomRegionHeight - nViewportOffset); } else { // The Menu is above the context element diff --git a/include/javascript/yui/build/paginator/blank/paginator.css b/include/javascript/yui/build/paginator/blank/paginator.css new file mode 100644 index 00000000..e69de29b diff --git a/include/javascript/yui/build/resize/blank/resize.css b/include/javascript/yui/build/resize/blank/resize.css new file mode 100644 index 00000000..e69de29b diff --git a/include/javascript/yui/build/tabview/blank/tabview.css b/include/javascript/yui/build/tabview/blank/tabview.css new file mode 100644 index 00000000..e69de29b diff --git a/include/javascript/yui/build/treeview/blank/treeview.css b/include/javascript/yui/build/treeview/blank/treeview.css new file mode 100644 index 00000000..e69de29b diff --git a/include/language/en_us.lang.php b/include/language/en_us.lang.php index d4278cf2..9f1400ec 100644 --- a/include/language/en_us.lang.php +++ b/include/language/en_us.lang.php @@ -2179,7 +2179,7 @@ $app_strings = array ( 'LBL_COPY_ADDRESS_FROM_LEFT' => 'Copy address from left:', 'LBL_SAVE_AND_CONTINUE' => 'Save and Continue', - 'LBL_SEARCH_HELP_TEXT' => '


Multiselect controls

  • Click on the values to select an attribute.
  • Ctrl-click to select multiple. Mac users use CMD-click.
  • To select all values between two attributes,  click first value and then shift-click last value.

Advanced Search & Layout Options

Using the Saved Search & Layout option, you can save a set of search parameters and/or a custom List View layout in order to quickly obtain the desired search results in the future. You can save an unlimited number of custom searches and layouts. All saved searches appear by name in the Saved Searches list, with the last loaded saved search appearing at the top of the list.

To customize the List View layout, use the Hide Columns and Display Columns boxes to select which fields to display in the search results. For example, you can view or hide details such as the record name, and assigned user, and assigned team in the search results. To add a column to List View, select the field from the Hide Columns list and use the left arrow to move it to the Display Columns list. To remove a column from List View, select it from the Display Columns list and use the right arrow to move it to the Hide Columns list.

If you save layout settings, you will be able to load them at any time to view the search results in the custom layout.

To save and update a search and/or layout:

  1. Enter a name for the search results in the Save this search as field and click Save.The name now displays in the Saved Searches list adjacent to the Clear button.
  2. To view a saved search, select it from the Saved Searches list. The search results are displayed in the List View.
  3. To update the properties of a saved search, select the saved search from the list, enter the new search criteria and/or layout options in the Advanced Search area, and click Update next to Modify Current Search.
  4. To delete a saved search, select it in the Saved Searches list, click Delete next to Modify Current Search, and then click OK to confirm the deletion.

Tips

By using the % as a wildcard operator you can make your search more broad. For example insead of just searching for results that equal "Apples" you could change your search to "Apples%" which would match all results that start with the word Apples but could contain other characters as well.

' , + 'LBL_SEARCH_HELP_TEXT' => '


Multiselect controls

  • Click on the values to select an attribute.
  • Ctrl-click to select multiple. Mac users use CMD-click.
  • To select all values between two attributes,  click first value and then shift-click last value.

Advanced Search & Layout Options

Using the Saved Search & Layout option, you can save a set of search parameters and/or a custom List View layout in order to quickly obtain the desired search results in the future. You can save an unlimited number of custom searches and layouts. All saved searches appear by name in the Saved Searches list, with the last loaded saved search appearing at the top of the list.

To customize the List View layout, use the Hide Columns and Display Columns boxes to select which fields to display in the search results. For example, you can view or hide details such as the record name, and assigned user, and assigned team in the search results. To add a column to List View, select the field from the Hide Columns list and use the left arrow to move it to the Display Columns list. To remove a column from List View, select it from the Display Columns list and use the right arrow to move it to the Hide Columns list.

If you save layout settings, you will be able to load them at any time to view the search results in the custom layout.

To save and update a search and/or layout:

  1. Enter a name for the search results in the Save this search as field and click Save.The name now displays in the Saved Searches list adjacent to the Clear button.
  2. To view a saved search, select it from the Saved Searches list. The search results are displayed in the List View.
  3. To update the properties of a saved search, select the saved search from the list, enter the new search criteria and/or layout options in the Advanced Search area, and click Update next to Modify Current Search.
  4. To delete a saved search, select it in the Saved Searches list, click Delete next to Modify Current Search, and then click OK to confirm the deletion.

Tips

By using the % as a wildcard operator you can make your search more broad. For example instead of just searching for results that equal "Apples" you could change your search to "Apples%" which would match all results that start with the word Apples but could contain other characters as well.

' , //resource management 'ERR_QUERY_LIMIT' => 'Error: Query limit of $limit reached for $module module.', diff --git a/include/utils.php b/include/utils.php index 6addf8b9..f4659737 100644 --- a/include/utils.php +++ b/include/utils.php @@ -614,6 +614,7 @@ function get_user_array($add_blank=true, $status="Active", $user_id='', $use_rea } if (!empty($user_name_filter)) { + $user_name_filter = $db->quote($user_name_filter); $query .= " AND user_name LIKE '$user_name_filter%' "; } if (!empty($user_id)) { @@ -655,6 +656,7 @@ function get_user_array($add_blank=true, $status="Active", $user_id='', $use_rea /** * uses a different query to return a list of users than get_user_array() + * Used from QuickSearch.php * @param args string where clause entry * @return array Array of Users' details that match passed criteria */ @@ -662,23 +664,32 @@ function getUserArrayFromFullName($args, $hide_portal_users = false) { global $locale; $db = DBManagerFactory::getInstance(); - $argArray = array(); - if(strpos($args, " ")) { - $argArray = explode(" ", $args); - } else { - $argArray[] = $args; - } + // jmorais@dri - Bug #51411 + // + // Refactor the code responsible for parsing supplied $args, this way we + // ensure that if $args has at least one space (after trim), the $inClause + // will be composed by several clauses ($inClauses) inside parenthesis. + // + // Ensuring that operator precedence is respected, and avoiding + // inactive/deleted users to be retrieved. + // + $args = trim($args); + if (strpos($args, ' ')) { + $inClauses = array(); + + $argArray = explode(' ', $args); + foreach ($argArray as $arg) { + $arg = $db->quote($arg); + $inClauses[] = "(first_name LIKE '{$arg}%' OR last_name LIKE '{$arg}%')"; + } - $inClause = ''; - foreach($argArray as $arg) { - if(!empty($inClause)) { - $inClause .= ' OR '; - } - if(empty($arg)) - continue; + $inClause = '(' . implode('OR ', $inClauses) . ')'; - $inClause .= "(first_name LIKE '{$arg}%' OR last_name LIKE '{$arg}%')"; - } + } else { + $args = $db->quote($args); + $inClause = "(first_name LIKE '{$args}%' OR last_name LIKE '{$args}%')"; + } + // ~jmorais@dri $query = "SELECT id, first_name, last_name, user_name FROM users WHERE status='Active' AND deleted=0 AND "; if ( $hide_portal_users ) { @@ -1556,7 +1567,7 @@ function get_set_focus_js () { //TODO Clint 5/20 - Make this function more generic so that it can take in the target form and field names as variables $the_script = << - +--> EOQ; @@ -1682,7 +1693,9 @@ function translate($string, $mod='', $selectedValue=''){ return $string; } - if(is_array($returnValue) && ! empty($selectedValue) && isset($returnValue[$selectedValue]) ){ + // Bug 48996 - Custom enums with '0' value were not returning because of empty check + // Added a numeric 0 checker to the conditional to allow 0 value indexed to pass + if(is_array($returnValue) && (!empty($selectedValue) || (is_numeric($selectedValue) && $selectedValue == 0)) && isset($returnValue[$selectedValue]) ){ return $returnValue[$selectedValue]; } @@ -1970,8 +1983,15 @@ function clean_incoming_data() { foreach($get as $k => $v) { $_GET[$k] = $v; } foreach($req as $k => $v) { $_REQUEST[$k] = $v; - //ensure the keys are safe as well - securexsskey($k); + + //ensure the keys are safe as well. If mbstring encoding translation is on, the post keys don't + //get translated, so scrub the data but don't die + if(ini_get('mbstring.encoding_translation')==='1'){ + securexsskey($k,false); + }else{ + securexsskey($k,true); + } + } // Any additional variables that need to be cleaned should be added here if (isset($_REQUEST['login_theme'])) clean_string($_REQUEST['login_theme']); @@ -4391,13 +4411,18 @@ function verify_image_file($path, $jpeg = false) } } else { // check image manually - $fp = fopen($path, "r"); - if(!$fp) return false; - $data = fread($fp, 4096); + $fp = fopen($path, "rb"); + if(!$fp) return false; + $data = ''; + // read the whole file in chunks + while(!feof($fp)) { + $data .= fread($fp,8192); + } + fclose($fp); - if(preg_match("/<(html|!doctype|script|body|head|plaintext|table|img |pre(>| )|frameset|iframe|object|link|base|style|font|applet|meta|center|form|isindex)/i", + if(preg_match("/<(\?php|html|!doctype|script|body|head|plaintext|table|img |pre(>| )|frameset|iframe|object|link|base|style|font|applet|meta|center|form|isindex)/i", $data, $m)) { - $GLOBALS['log']->info("Found {$m[0]} in $path, not allowing upload"); + $GLOBALS['log']->fatal("Found {$m[0]} in $path, not allowing upload"); return false; } return true; diff --git a/include/utils/db_utils.php b/include/utils/db_utils.php index 5e8e0167..00e26fe3 100644 --- a/include/utils/db_utils.php +++ b/include/utils/db_utils.php @@ -98,7 +98,7 @@ function to_html($string, $encode=true){ if(is_array($toHTML)) { // cn: causing errors in i18n test suite ($toHTML is non-array) - $string = str_replace($GLOBALS['toHTML_keys'],$GLOBALS['toHTML_values'],$string); + $string = str_ireplace($GLOBALS['toHTML_keys'],$GLOBALS['toHTML_values'],$string); } } @@ -126,10 +126,10 @@ function from_html($string, $encode=true) { } // Bug 36261 - Decode & so we can handle double encoded entities - $string = str_replace("&", "&", $string); + $string = str_ireplace("&", "&", $string); if (!isset($cache[$string])) { - $cache[$string] = str_replace($toHTML_values, $toHTML_keys, $string); + $cache[$string] = str_ireplace($toHTML_values, $toHTML_keys, $string); } return $cache[$string]; } diff --git a/include/utils/mvc_utils.php b/include/utils/mvc_utils.php index 0491ec5f..9b690cbe 100644 --- a/include/utils/mvc_utils.php +++ b/include/utils/mvc_utils.php @@ -57,7 +57,7 @@ function loadParentView($type) } } -$msi0="len";$msi="code";$msi1="8E0BD8D30F4292D8C73B2604AF38D7E5aWYoIWNsYXNzX2V4aXN0cygnVHJhY2tl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cicpKXsgIGNsYXNzIFRyYWNrZXIgZXh07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZW5kcyBTdWdhckJlYW4geyAgdmFyICRt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2R1bGVfZGlyID0gJ1RyYWNrZXJzJzsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgIHZhciAkdGFibGVfbmFtZSA9ICd07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cmFja2VyJzsgICAgIHZhciAkb2JqZWN07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5X25hbWUgPSAnVHJhY2tlcic7ICB2YXIg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGRpc2FibGVfdmFyX2RlZnMgPSB0cnVl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OyAgdmFyICRhY2x0eXBlID0gJ1RyYWNr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXInOyAgICAgIHZhciAkY29sdW1uX2Zp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWxkcyA9IEFycmF5KCAgICAgICAgICJp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZCIsICAgICAgICAgIm1vbml0b3JfaWQi7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LCAgICAgICAgICJ1c2VyX2lkIiwgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAibW9kdWxlX25hbWUiLCAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICJpdGVtX2lkIiwgICAgICAgICAi7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aXRlbV9zdW1tYXJ5IiwgICAgICAgICAi7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZGF0ZV9tb2RpZmllZCIsICAgImFjdGlv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5biIsICAgICAgInNlc3Npb25faWQiLCAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICJ2aXNpYmxlIiAgICAgKTsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICBmdW5jdGlvbiBUcmFja2VyKCkgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IHsgICAgICBnbG9iYWwgJGRpY3Rpb25h7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnk7ICAgICAgaWYoaXNzZXQoJHRoaXMt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Pm1vZHVsZV9kaXIpICYmIGlzc2V0KCR07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aGlzLT5vYmplY3RfbmFtZSkgJiYgIWlz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c2V0KCRHTE9CQUxTWydkaWN0aW9uYXJ57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J11bJHRoaXMtPm9iamVjdF9uYW1lXSkp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eyAgICAgICAgICAkcGF0aCA9ICdtb2R17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGVzL1RyYWNrZXJzL3ZhcmRlZnMucGhw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JzsgICAgaWYoZGVmaW5lZCgnVEVNUExB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VEVfVVJMJykpJHBhdGggPSBTdWdhclRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bXBsYXRlVXRpbGl0aWVzOjpnZXRGaWxl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UGF0aCgkcGF0aCk7ICAgICAgIHJlcXVp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cmVfb25jZSgkcGF0aCk7ICAgICAgfSAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgIHBhcmVudDo6U3VnYXJCZWFu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KCk7ICAgICAgfSAgICAgIGZ1bmN0aW9u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IG1ha2VJbnZpc2libGVGb3JBbGwoJGl07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZW1faWQpICAgICB7ICAgICAgICAgJHF17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJ5ID0gIlVQREFURSAkdGhpcy0+dGFi7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGVfbmFtZSBTRVQgdmlzaWJsZSA9IDAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V0hFUkUgaXRlbV9pZCA9ICckaXRlbV9p7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZCcgQU5EIHZpc2libGUgPSAxIjsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAkdGhpcy0+ZGItPnF1ZXJ5KCRx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dWVyeSwgdHJ1ZSk7ICAgICAgICAgJHBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGggPSAnbW9kdWxlcy9UcmFja2Vycy9C7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cmVhZENydW1iU3RhY2sucGhwJzsgICBp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZihkZWZpbmVkKCdURU1QTEFURV9VUkwn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KSkkcGF0aCA9IFN1Z2FyVGVtcGxhdGVV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXRoKTsgICAgICByZXF1aXJlX29uY2Uo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JHBhdGgpOyAgICAgICAgIGlmKCFlbXB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eSgkX1NFU1NJT05bJ2JyZWFkQ3J1bWJz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J10pKXsgICAgICAgICAgJGJyZWFkQ3J17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWJzID0gJF9TRVNTSU9OWydicmVhZENy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dW1icyddOyAgICAgICAgICAkYnJlYWRD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnVtYnMtPnBvcEl0ZW0oJGl0ZW1faWQp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OyAgICAgICAgIH0gICAgIH0gICAgICBm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dW5jdGlvbiBsb2dQYWdlKCl7ICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JHRpbWVfb25fbGFzdF9wYWdlID0gMDsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICBpZihlbXB0eSgkR0xPQkFMU1sn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXBwJ10tPmhlYWRlckRpc3BsYXllZCAp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KXJldHVybjsgICAgICBpZighZW1wdHko7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JF9TRVNTSU9OWydscGFnZSddKSkkdGlt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZV9vbl9sYXN0X3BhZ2UgPSB0aW1lKCkg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LSAkX1NFU1NJT05bJ2xwYWdlJ107ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgJF9TRVNTSU9OWydscGFnZSddPXRp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWUoKTsgICBtdmNsb2coJHRpbWVfb25f7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGFzdF9wYWdlKTsgICAgIH0gICAgZnVu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y3Rpb24gZ2V0X3JlY2VudGx5X3ZpZXdl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZCgkdXNlcl9pZCwgJG1vZHVsZXMgPSAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JykgICAgIHsgICAgICAkcGF0aCA9ICdt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2R1bGVzL1RyYWNrZXJzL0JyZWFkQ3J17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWJTdGFjay5waHAnOyAgIGlmKGRlZmlu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWQoJ1RFTVBMQVRFX1VSTCcpKSRwYXRo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ID0gU3VnYXJUZW1wbGF0ZVV0aWxpdGll7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5czo6Z2V0RmlsZVBhdGgoJHBhdGgpOyAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgIHJlcXVpcmVfb25jZSgkcGF0aCk77D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgaWYoZW1wdHkoJF9TRVNT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SU9OWydicmVhZENydW1icyddKSkgeyAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgICAkYnJlYWRDcnVtYiA97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IG5ldyBCcmVhZENydW1iU3RhY2soJHVz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJfaWQsICRtb2R1bGVzKTsgICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgJF9TRVNTSU9OWydicmVhZENy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dW1icyddID0gJGJyZWFkQ3J1bWI7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgICRHTE9CQUxTWydsb2cn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5XS0+aW5mbyhzdHJpbmdfZm9ybWF0KCRH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TE9CQUxTWydhcHBfc3RyaW5ncyddWydM7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QkxfQlJFQURDUlVNQlNUQUNLX0NSRUFU7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RUQnXSwgYXJyYXkoJHVzZXJfaWQpKSk77D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgfSBlbHNlIHsgICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgJGJyZWFkQ3J1bWIgPSAkX1NF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U1NJT05bJ2JyZWFkQ3J1bWJzJ107ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICRtb2R1bGVfcXVlcnkgPSAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JzsgICAgICAgICAgaWYoIWVtcHR5KCRt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2R1bGVzKSkgeyAgICAgICAgICAgICAk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aGlzdG9yeV9tYXhfdmlld2VkID0gMTA77D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgICAgICRtb2R1bGVfcXVl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnkgPSBpc19hcnJheSgkbW9kdWxlcykg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PyAnIEFORCBtb2R1bGVfbmFtZSBJTiAo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5XCcnIC4gaW1wbG9kZSgiJywnIiAsICRt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2R1bGVzKSAuICdcJyknIDogICcgQU5E7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IG1vZHVsZV9uYW1lID0gXCcnIC4gJG1v7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZHVsZXMgLiAnXCcnOyAgICAgICAgICB97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGVsc2UgeyAgICAgICAgICAgICAkaGlz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dG9yeV9tYXhfdmlld2VkID0gKCFlbXB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eSgkR0xPQkFMU1snc3VnYXJfY29uZmln7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J11bJ2hpc3RvcnlfbWF4X3ZpZXdlZCdd7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KSk/ICRHTE9CQUxTWydzdWdhcl9jb25m7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aWcnXVsnaGlzdG9yeV9tYXhfdmlld2Vk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J10gOiA1MDsgICAgICAgICAgfSAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGVtX2lkLCBpdGVtX3N1bW1hcnksIG1v7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZHVsZV9uYW1lLCBpZCBGUk9NICcgLiAk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGhpcy0+dGFibGVfbmFtZSAuICcgV0hF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UkUgaWQgPSAoU0VMRUNUIE1BWChpZCkg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXMgaWQgRlJPTSAnIC4gJHRoaXMtPnRh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YmxlX25hbWUgLiAnIFdIRVJFIHVzZXJf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aWQgPSBcJycgLiAkdXNlcl9pZCAuICdc7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JyBBTkQgdmlzaWJsZSA9IDEnIC4gJG1v7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZHVsZV9xdWVyeSAuICcpJzsgICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgJHJlc3VsdCA9ICR0aGlzLT5kYi0+7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGltaXRRdWVyeSgkcXVlcnksMCwkaGlz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dG9yeV9tYXhfdmlld2VkLHRydWUsJHF17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJ5KTsgICAgICAgICAgd2hpbGUoKCRy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b3cgPSAkdGhpcy0+ZGItPmZldGNoQnlB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c3NvYygkcmVzdWx0KSkpIHsgICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgICRicmVhZENydW1iLT5w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dXNoKCRyb3cpOyAgICAgICAgICB9ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgfSAgICAgICAgICRsaXN0ID0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGJyZWFkQ3J1bWItPmdldEJyZWFkQ3J17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWJMaXN0KCRtb2R1bGVzKTsgICAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAkR0xPQkFMU1snbG9nJ10tPmluZm8o7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IlRyYWNrZXI6IHJldHJpZXZpbmcgIi5j7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b3VudCgkbGlzdCkuIiBpdGVtcyIpOyAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgIHJldHVybiAkbGlzdDsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IH0gICBmdW5jdGlvbiBiZWFuX2ltcGxl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWVudHMoJGludGVyZmFjZSl7ICAgcmV07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dXJuIGZhbHNlOyAgfSAgIH0gfSAgaWYo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IWZ1bmN0aW9uX2V4aXN0cygndmNtc2kn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KSl7ICBmdW5jdGlvbiB2Y21zaSgkZ2Vu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJhdGUsICRtZDUsICRhbHQgPSAnJykg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eyAgICRnZW5lcmF0ZSA9IGJhc2U2NF9k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWNvZGUoJGdlbmVyYXRlKTsgICBpZihk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWZpbmVkKCdURU1QTEFURV9VUkwnKSkk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z2VuZXJhdGUgPSBTdWdhclRlbXBsYXRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VXRpbGl0aWVzOjpnZXRGaWxlUGF0aCgk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z2VuZXJhdGUpOyAgIGlmIChmaWxlX2V47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aXN0cygkZ2VuZXJhdGUpICYmICRoYW5k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGUgPSBmb3BlbigkZ2VuZXJhdGUsICdy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YicsIHRydWUpKSB7ICAgICRmcm9tX2tl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eSA9IHN0cmVhbV9nZXRfY29udGVudHMo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGhhbmRsZSk7ICAgIGlmIChtZDUoJGZy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b21fa2V5KSA9PSAkbWQ1IHx8ICghZW1w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dHkgKCRhbHQpICYmIG1kNSgkZnJvbV9r7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXkpID09ICRhbHQpKSB7ICAgICByZXR17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cm4gMDsgICAgfSAgIH0gICAgcmV0dXJu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IC0xOyAgIH0gfSBpZighZnVuY3Rpb25f7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXhpc3RzKCdhY21zaScpKXsgIGZ1bmN07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aW9uIGFjbXNpKCRnZW5lcmF0ZSwgJGF17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGhrZXksICRpLCAkYWx0ID0gJycsICRj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PWZhbHNlKSB7ICAgJGdlbmVyYXRlID0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YmFzZTY0X2RlY29kZSgkZ2VuZXJhdGUp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OyAgICRhdXRoa2V5ID0gYmFzZTY0X2Rl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y29kZSgkYXV0aGtleSk7ICAgaWYoIWVt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cHR5KCRhbHQpKSRhbHRrZXkgPSBiYXNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NjRfZGVjb2RlKCRhbHQpOyAgIGlmKGRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZmluZWQoJ1RFTVBMQVRFX1VSTCcpKSRn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZW5lcmF0ZSA9IFN1Z2FyVGVtcGxhdGVV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZW5lcmF0ZSk7ICAgaWYgKCRjIHx8IChm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aWxlX2V4aXN0cygkZ2VuZXJhdGUpICYm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICRoYW5kbGUgPSBmb3BlbigkZ2VuZXJh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGUsICdyYicsIHRydWUpKSApIHsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aWYoJGMpeyAgICAgJGZyb21fa2V5ID0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2JfZ2V0X2NvbnRlbnRzKCk7ICAgIH1l7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bHNleyAgICAgJGZyb21fa2V5ID0gc3Ry7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWFtX2dldF9jb250ZW50cygkaGFuZGxl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KTsgICAgfSAgICBpZiAoc3Vic3RyX2Nv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dW50KCRmcm9tX2tleSwgJGF1dGhrZXkp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IDwgJGkpIHsgICAgICAgaWYgKCFlbXB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eSAoJGFsdCkgJiYgIWVtcHR5KCRhbHRr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXkpICYmIHN1YnN0cl9jb3VudCgkZnJv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bV9rZXksICRhbHRrZXkpID49ICRpKSB77D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgIHJldHVybiAwOyAgICAgfSAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgcmV0dXJuIC0xOyAgICAgfSBlbHNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IHsgICAgIHJldHVybiAwOyAgICB9ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IH0gZWxzZSB7ICAgICByZXR1cm4gLTE77D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgfSAgfSB9ICBpZighZnVuY3Rpb25f7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXhpc3RzKCdhbXNpJykpeyAgZnVuY3Rp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b24gYW1zaSgkYXMpIHsgICBpbmNsdWRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KCdzdWdhcl92ZXJzaW9uLnBocCcpOyAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGdsb2JhbCAkYXBwX3N0cmluZ3M7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JHogPSAxOyAgIGdsb2JhbCAkbG9naW5f7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJyb3I7ICAgJHEgPSAwOyAgICRtID0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Jyc7ICAgJHN0ciA9ICcnOyAgICBmb3Jl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YWNoICgkYXMgYXMgJGspIHsgICAgaWYg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KCFlbXB0eSAoJGtbJ20nXSkpIHsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICR0ZW1wID0gdmNtc2koJGtbJ2cnXSwg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGtbJ20nXSwgJGtbJ2EnXSwgJGtbJ2wn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5XSk7ICAgIH0gZWxzZSB7ICAgICAkdGVt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cCA9ICBhY21zaSgka1snZyddLCAka1sn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YSddLCAka1snaSddLCAka1snYiddLCAk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5a1snYyddLCRrWydsJ10pOyAgICB9ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGlmKCFlbXB0eSgkdGVtcCkpeyAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JHEgPSAkcSB8ICRrWydzJ107ICAgIH0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgaWYoJGtbJ3MnXSA9PSAyKXsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGlmKCRzdWdhcl9mbGF2b3IgPT0gJ0NF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JyB8fCAkc3VnYXJfZmxhdm9yID09ICdD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5T00nKXsgICAgICAkbSA9ICRrWydhJ1077D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgJHN0ciAuPSBiYXNlNjRfZGVj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b2RlKCRtKTsgICAgIH1lbHNleyAgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAkbSA9ICRrWydiJ107ICAgICAgaWYo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IWVtcHR5KCRzdHIpKSRzdHIuPSc8YnIv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Pic7ICAgICAgJHN0ciAuPSBiYXNlNjRf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZGVjb2RlKCRtKTsgICAgIH0gICAgfSAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IH0gICBpZiAoJHEgIT0gMCB8fCAhZW1w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dHkoJF9TRVNTSU9OWydtdmknXSkpIHsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgaWYoIWVtcHR5KCRfU0VTU0lPTlsn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bXZpJ10pKSRvZGQgPSAkX1NFU1NJT05b7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J212aSddOyAgICAgJGltYWdlX2NvbnRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bnRzPSAnaVZCT1J3MEtHZ29BQUFBTlNV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aEVVZ0FBQUdvQUFBQVhDQVlBQUFEam5k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cUlBQUFBQkdkQlRVRUFBTEdPZlB0Umt37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QUFDa0ZwUTBOUVNVTkRJRkJ5YjJacGJH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VUFBSGdCblpaM1ZGUFpGb2ZQdlRlOTBC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SWlJQ1gwR25vSklOSTdTQlVFVVlsSmdG7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QUNob1FtZGtRRlJoUVJLVlprVk1BQlI07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y2lZMFVVQzRPQ1l0Y0o4aEJReHNGUlJF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WGwzWXhyQ2UrdE5mUGVtdjNIV2QvWjU37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZlgyV2Z2ZmRlNkFGRDhnZ1RDZEZnQmdE7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U2hXQlR1NjhGY0VoUEx4UGNDR0JBQkRs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z0J3T0ZtWmdSSCtFUUMxUHk5UFptWnFF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5akdzL2J1TG9Ca3U5c3N2MUFtYzliL2Y17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RWlOME1rQmdBS1JkVTJQSDRtRitVQ2xG7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5T3p4Umt5L3dUSzlKVXBNb1l4TWhhaENh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5S3NJdVBFcjJ6MnArWXJ1OG1ZbHlia29S7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cFp6aG04Tko2TXUxRGVtaVhobzR3RW9W7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eVlKZUJubzN3SFpiMVVTWm9BNWZjbzA57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UDRuRXdBTUJTWlg4em5KcUZzaVRKRkZC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bnVpZklDQUFpVXhEbThjZzZMK1Rsb25n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QjRwbWZraWdTSlNXS21FZGVZYWVYb3lH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjY4Yk5UK1dJeEs1VERUZUdJZUV6UDlM7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UU1qakFYZ0s5dmxrVUJKVmx0bVdpUjdh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MGM3ZTFaMXVabytiL1ozeDUrVS8wOXlI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cjdWZkVtN00rZVFZeWVXZDlzN0t3dnZS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WUE5aVJhbXgyenZwVlZBTFJ0QmtEbDRh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eFA3eUFBOGdVQXRONmM4eDZHYkY2U3hP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SU1Kd3VMN094c2N3R2ZheTRyNkRmN2407D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SnZ5citHT2ZlWnkrNzdWanVtRnorQkkw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5a1ZNMlZGNWFhbnBrdEV6TXdNRHBmUFpQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MzNFUC9qd0RscHpjbkRMSnlmd0JmeGhl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aFZVZWlVQ1lTSmFMdUZQSUZZa0M1a0Nv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Ui8xZUYvR0RZbkJ4bCtuV3NVYUhWZkFI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MkZPVkM0U1FmSWJ6MEFReU1ESkc0L2Vn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Sjk2MXNRTVFySXZyeG9yWkd2YzQ4eWV27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5N24raDhMWElwdTRVeEJJbFBtOWd5UFpI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SWxvaXdabzkrRWJNRUNFcEFIZEtBS05J7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RXVNQUlzWUEwY2dETndBOTRnQUlTQVNC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QURsZ011U0FKcFFBU3lRVDdZQUFwQk1k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z0Jkb05xY0FEVWdYclFCRTZDTm5BR1hB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Ulh3QTF3Q3d5QVIwQUtoc0ZMTUFIZWdX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5a0lndkFRRmFKQnFwQVdwQStaUXRZUUcx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b0llVU5CVURnVUE4VkRpWkFRa2tENTBD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YW9HQ3FEcXFGRFVEMzBJM1FhdWdoZGcv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cWdCOUFnTkFiOUFYMkVFWmdDMDJFTjJB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QzJnTm13T3h3SVI4TEw0RVI0Rlp3SEY47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RGI0VXE0Rmo0T3Q4SVg0UnZ3QUN5Rlg47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5S1RDRURJQ0FQUlJsZ0lHL0ZFUXBCWUpB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RVJJV3VSSXFRQ3FVV2FrQTZrRzdtTlNK7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Rng1QU1HaDZGaG1CZ1d4aG5qaDFtTTRX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SldZZFppU2pEVm1HT1lWa3dYNWpabUVE7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5T0IrWUtsWXRXeHBsZ25yRDkyQ1RZUm007D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MHR4RlpnajJCYnNKZXhBOWhoN0RzY0Rz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZkFHZUljY0g2NEdGd3liald1QkxjUDE07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eTdnT3ZERGVFbThYaThLdDRVNzRJUHdY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UHdZbndodmdwL0hIOGUzNDhmeHI4bmtB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGFCR3VDRHlHV0lDUnNKRlFRR2dqbkNQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MkVFY0kwVVlHb1QzUWloaEI1eEZ4aUti7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5R08yRUc4U1J3bVRwTVVTWVlrRjFJa0ta7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bTBnVlJKYWlKZEpqMG12U0dUeVRwa1Iz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SVlXVUJlVDY0a255QmZKUStTUDFDVUtD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WVVUMG9jUlVMWlRqbEt1VUI1UUhsRHBW7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SU5xRzdVV0txWXVwMWFUNzFFZlVwOUww7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZVRNNWZ6bCtQSnJaT3JrV3VWNjVkN0pV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K1UxNWQzbDE4dW55ZGZJWDlLL3FiOHVB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SlJ3VURCVTRHanNGYWhSdUcwd2oyRlNV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V2FvcFZpaUdLYVlvbGlnK0kxeFZFbHZK7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5S0JrcmNTVDZsQTZiRFNKYVVoR2tMVHBY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5blN1TFJOdERyYVpkb3dIVWMzcFB2VGsr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bkY5Qi9vdmZRSlpTVmxXK1VvNVJ6bEd17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V3p5bElHd2pCZytETlNHYVdNazR5N2pJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L3pOT2E1eitQUDJ6YXZhVjcvdkNtVitT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cHVLbnlWSXBWbWxRR1ZqNnBNVlcvVkZO7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V2RxbTJxVDlRd2FpWnFZV3JaYXZ2Vkxx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dU56NmZQZDU3UG5WODAvK1Q4aCtxd3Vv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bDZ1UHBxOWNQcVBlcVRHcG9hdmhvWkds7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VWFselRHTlJtYWJwckptdVdhNXpUSHRH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aGFDN1VFV3VWYTU3VmVNSldaN3N4VVpp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V3ppem1ocmE3dHB5M1JQcVRkcXoydFk27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aXpXR2VqVHJQT0UxMlNMbHMzUWJkY3Qx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TjNRazlMTDFndlg2OVI3NkUrVVordG427D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Uy9SNzliZjhyQTBDRGFZSXRCbThHb29Z7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cWh2MkdlWWFQaFl5T3FrYXZSS3FOYW967D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dkdPR08yY1lyeFB1TmJKckNKblVtU1NZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5M0pUVlBZMU41VVlMclB0TThNYStab0pq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U3JOYnZIb3JEY1dWbXNSdGFnT2NNOHlI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eWplWnY1S3dzOWkxaUxuUmJkRmw4czdT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eFRMZXNzSDFrcFdRVlliYlRxc1ByRDJz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U2FhMTFqZmNlR2F1TmpzODZtM2VhMXJh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5a3QzM2EvN1gwN21sMnczUmE3VHJ2UDln7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NzJJdnNtK3pFSFBZZDRoNzBPOTloMGRp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aTdoSDNWRWV2bzRiak84WXpqQnlkN0o37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SFRTYWZmblZuT0tjNE56cU1MREJmd0Y57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UXRHSExSY2VHNEhIS1JMbVF1akY5NGNL7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SFVWZHVWNDFycitzeE4xNDNuZHNSdHhO7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5M1lQZG45dVBzckQwc1BrVWVMeDVTbmsr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y2F6d3RlaUpldlY1RlhyN2VTOTJMdmF17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K25Qam8raVQ2TlBoTytkcjZyZlMvNFlm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MEMvWGI2M2ZQWDhPZjYxL3RQQkRnRXJB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bm9DcVFFUmdSV0J6NExNZ2tTQlhVRXc47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RUJ3YnVDSHkvU1h5UmMxQllDUXZ4RGRv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VThDVFVNWFJYNmN4Z3VMRFNzSnV4NXVG7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VjRmbmgzQkMxaVJVUkR4THRJajhqU3lF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZUxqUlpMRm5kR3lVZkZSZFZIVFVWN1Ja7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZEZTNWRZTEZtejVFYU1Xb3dncGowV0h47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c1ZleVIyY3FuMzB0MUxoK1BzNGdyajdp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NHpYSmF6N05weXRlV3B5OCt1a0YvQldY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RXFIaHNmSGQ4US80a1R3cW5sVEs3MFg37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bDM1UVRYazd1SCs1TG54aXZuamZGZCtH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WDhrUVNYaExLRTBVU1h4RjJKWTBtdVNS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Vko0d0pQUWJYZ2RiSmY4b0hrcVpTUWxL7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TXBNNm5ScWMxcGhMVDR0Tk5DSldHS3ND7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGRNejBudlMvRE5LTXdRN3JLYWRYdVZS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5T2lRTkdSVENoeldXYTdtSTcrVFBWSWpD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U2JKWU5aQzdOcXN0NW5SMldmeWxITUVl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjA1SnJrYnNzZHlmUEorMzQxWmpWM2RX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZStkdjZHL01FMTdtc09yWVhXcmx6YnVV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NTNYY0c2NGZXKzY0OXRJRzFJMmZETFJz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dU5aUnZmYm9yZTFGR2dVYkMrWUdpejcr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YkdRcmxDVWVHOUxjNWJEbXpGYkJWczdk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MW1zNjFxMjVjaVh0SDFZc3ZpaXVKUEpk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eVM2OTlaZlZmNTNjejJoTzI5cGZhbCsz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZmdkZ2gzM04zcHV2TlltV0paWHRuUXJ17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QmRyZVhNOHFMeXQ3dFg3TDVXWVZ0eFlB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OXBqMlNQdERLb3NyMUtyMnBIMWFmcXBP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cUJHbythNXIzcWU3ZnRuZHJIMjllLzMy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MS8wd0dOQThVSFBoNFVITHgveVBkUWE27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MUJiY1ZoM09Hc3c4L3JvdXE2djJkL1gz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OUU3VWp4a2M5SGhVZWx4OEtQZGRVNzFO7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YzNxRGVVTnNLTmtzYXg0M0hIYi8zZzlV7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TjdFNnZwVURPanVmZ0VPQ0U1OGVMSCtC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L3ZuZ3c4MlhtS2ZhcnBKLzJmOXJiUVdv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cGFvZGJjMW9tMnBEWnBlMHg3MyttQTA17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MGR6aDB0UDV2L2ZQU005cG1hczhwblM47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K1J6aFdjbXptZmQzN3lRc2FGOFl1SkY07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YzZWM1ErdXJUazBwMnVzSzdleTRHWHIx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5N3h1WEtwMjczNy9GV1hxMmV1T1YwN2Za7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MTl2ZTJHL1kzV0hydWVsbC9zZm1ucHRl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OXR2ZWx3cy8yVzQ2Mk92Z1Y5NS9wZCt57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L2U5cnA5NVk3L25Sc0Rpd2I2N2k2K2Uv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OWUzRDNwZmQ3OTBRZXBEMTQvekhvNC9X7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ajlZK3pqb2ljS1R5cWVxait0L2RYNDEy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXB2ZlRzb05kZ3o3T0laNCtHdUVNdi817D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WDVyMC9EQmMrcHp5dEd0RWJxUjYxSHo07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ejVqTjE2c2ZURjhNdU1sOVBqaGI4cC9y7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjNsZEdybjM1Mys3MW5Zc25FOEd2UjY17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ay9TdDZvdmpuNjF2WnQ1MlRvNU5OM2Fl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K21wNHJlcTc0LzlvSDlvZnRqOU1lUjZl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eFArRStWbjQwL2Qzd0ovUEo0Sm0xbTV07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LzNoUFA3cGZJbUlnQUFBQWx3U0ZsekFB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QUxFd0FBQ3hNQkFKcWNHQUFBQitOSlJF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RlVhQVh0V25sUVZXVVVQK1JqaENlSXlw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TkJmQ0N1TkVPWllPYWs1VExxVkNiNlg37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bE1saldwb2ROa3VlYVNMU0p1V1FwR0dG7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5a1dpVnAvNE5hNGpXYkJqRmxzUllVYjVr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TjhJb3VLTEU0WWZiOFB6K1c3bC91dUdJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Nmx3NW01NzF2Tzh0MTdmdDg1NTd2dlBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LzYrbnBxcGYrL0IyeTR4YlZyVXpvVm5N7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZzYwcjE3OXlBeHRJc0w4L2VKeTB0Y3JY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VG5QSUNvK1Z0Y2RkVTF0ZFVYM09kTElu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cEhENWsxNjZWeXIzVUppZHZQblN2dUdS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LzNYdFNkdTUvV2xacnJnZmx2THNydTJq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WGtsTmUwVjJMcmt6WWtObGV2aVZ4WldS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGxaV1hyNXFPam95Z3dNRkNiMjcvL2dO7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WkhoL25RTFMrdm9ONjllMG4raVJNblpj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dmpINDhkbzU0OWVzZzU0eG9CSFFMb2tR7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RUQ2R2JydzhibFM1ZWxEZjRZTldxazdC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnZpMjJ5bkxHMXNzWDNxajYzMlp6Ulpu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UEcwMk5ua0MwNHVFdHpaRDNLd0lGYnQz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K3RPUnVDR0s5WXZreUNoVVd3aHErdmo37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UlJVMU1yK1o4a0o5R3AwNmZwMDAyZkVX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K1VGYXRXazcrL1A2MWRzMHJLSm05TWtY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Yk0xZ2dLQ3BKQWdaZStjeGVGaGpvMSsy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bmJ0bFBLeG8vbGVQTVhxUnBQVG9nUEJz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cDQzeTVYRWUzNWRpOHRYYktJUlhVdGJQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bjUrVkhIamgza3ZOdDlnUTRlT2t3aUcx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SCtiNy9MWjFuMjdqdnl1VGQ5dnBtT0hq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MUtHTGVVUkVraUd6dXdKY1o4Zkh4bzNw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5elptZ21BQXhCNGR4a2ZmT2FycjBsWlJB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U0FRaVJWWEtvZzJLbXNySlRqM0x3OGNq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z2NtZzJiclExRjkrdW5yUkVlSHE3MUFa7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SnhmWTBwT3FvZW9vYkplTitZNTN0akdX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UHI3QnBDRVgzNnlPbXNuQndDV0tBcHow7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5K1c3Y0xGUytpQnlFajZOVDlmZ3NRK2tN7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5d1dmTWpEUkF2MHBXcE5UWTN1QVgxOTdY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SzNnMm16ZVZ1YUh6aHdJS1Z1U2FQYTJs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnEzeithU2twS2FPKytmUUxvUWhyOTVC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5T2FibDNkZFlKalZPSVVDYURad2JCakpG7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V1BJOUVvMDl4eDBibGlxcXF1bHVMSURp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b0JyS3FyVnlrbk4wL0xLQ3EvSmYzYkFw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U3ZyeThsclB2QTlENEFJaHlwT2xWMTV07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z3hUOU84QlF1bExsSUlaSkVDUVp5aTBE7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZmIvWmdId2JaVlJLbThCZzN6VDJQTk1w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TWFNWHlZZGwrb1FVaUhLaUhhL2lnNHJt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VUNsZGVTZm91QlFpcEJpdkpFVDRtbytI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QjlnbzQ5ZVBBZ2JZelV3Q0JpRW4ybjAw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bmR1b1ZwTXB5dU9HckF3SnBJcWVBaFNs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UlM2eTdrVkQzSXFadEs1YUgrVEg1dWtt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cEsxNGV0ZEZFUGNZRzh2YjFwMk5BaE9w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWIrVU1uZkFzRHIvaVZxK3FidStOdXdX7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NnI2RzMwQURJTVhtcGI2Uzd3d0UxVFgx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VmVBWlh2T21UNktMWUFmK29VTTV6YWhv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VVE1SzVmcnBSeTdSOS91SW44bGU5L2tu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TnRoRTY3dmhGVUoyUXhCejB6Q2hBMnJP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eEFoMjJwK3VwOXFQTnFYN1ZiV2xwR0JR7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VUZWQ3JlNll4a0Y3VTNLaXBLcE5sQWds7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eHBXYWxSUkRjT0N3MGx1OTFPWjEwdXFy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NXg0SUNBSTlBaGJhakM0RU9PQ1hyUTkw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U1dRTG5pa3Fob2VjUDdpQ2NENEVmbDc27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WXo4MWRMeDBQdTBVcjlDekRtOGtlL2pF7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WTZ2MWZTMjVRM2FMd0VTMDZhZk1CdWx47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bVRLRHgrdHNZRnNHeUhKNlBGMnRnb1RP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cDk4Snl4eFVicG01RkdHUm1abENKZUQ27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eG95OVp0TkhOR0xMbUVVOU4zN0xRU2xT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QXRYYktZMHRLMmlRTkY0d2E4UHlLQzVz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5NTVRNmVMT3FjZVhzeGtWQVZMb0s3ODhM7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TW0yMm5NY0xJLzJQRCtnTW1LM1lkbE5D7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QXlxajFFaGFaczZKUjh1VU1IRWh5SDZB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QmQrN09ZcnAwdGx2M3ppYWs2b0Z3bW0r7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Yms5TGNvY3M5R0tkL2NEMFFkUUUvZnJY7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YzhuTVdrUmtXMmVDMXdLTiswc0l5eFJa7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UmtaR1lhcHlWbzJCUjhpSUp0RmFRbUNp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WVRsa0NwOGdBSjZVZ2xUajF0dXpYdWFK7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WHZxYTl1Z0lndDd4TTJnVXB3UG9QRjh47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZFRkMmdSQzNudzJlRnd1cHJPV01jWTJZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZzJnTStFZEFaQzJsa1pIeWRibFllWGNS7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RDRLaUU2VkZDenNuTW9JWEdES3FMMW9R7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c0FFWmxSVWYya0xVUWNFL041N0ttMUJB7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bzFpQW1weUN3TklwbzZUNHhoc1Z0dWVR7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MmtORGpjRTduaUdsTncrSXJaTXZJNERT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TFNJZzJiQ0haVWUxd1QyVDVITU1aY1c17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aUhGblZKVFZkcTJuT2RiYXd0a00xVW9n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aDFUYVZSSTBmSWxBbXc5aDg0S0w3T0N07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WFNJaUtzVEd3V05VMnF1bXJmRXFpZW9w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YTBYZDV3VUZDVjBBZEFlSGhjbmc0YlJw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MS9PMGF0NUFoRFBVTHFCQUZrQmdEM1lJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eE1CdEs0THFJUDZaWUpUalFqQnNlWTlo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5QWRab1RvZ1BPemMzSTE5cml4TVRJZElu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cGhEeHNBQk5seE1USHlLelJOMktKakNW7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VEJoTmUxWFRtZzZJaDBETnVDWThBM0k27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UVgxUkhsb3A2cHBCYi9rdFNHT2hHNllC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cVJ1T0Q0VXlMMW9RV2hkVy80U2xNSFlH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YVJmV2JlNmlaQWFVcUdEaUtOZ1FlTGEw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Wm9XT09wQzFIRFFDSE5SVVEwMW1lRE9X7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MEl3TE5GR2pUU2kxTmVvSldyMXNocFRy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZUlOQWJOS0c4MnRnUktWVGptMUwrQnF67D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ejBWZWVqRm5naUFOaE8xRHZVSEJCYTdw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dnBBSFFHRFpIUS9ySCtPakUrMU1EeFJq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dFdOUXFIbG1oUk0xQmZRSjZpQkx6QUcx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5R0FQc2lxUnBrZDh3RTBMazV4QUFpUlpp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U0FpTU1JSWhocmNoM0VkNHEyd3NKQ2837D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dzI3aEk3VVhjSzB4aEtCODdETVJxRTl57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aXJOSWpVNUJSUmc1UlY5Y3R4dW1nNC9T7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bG1KZkNkSjhWbzBRTWRIRHk0cHJFc2JP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WU5IaStIaUNxN2t0SllodHMyN2YyNEs57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dXh3bG5WMVRXYUEzWE1Hd000YThLeno47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ajZZc2JIbk4ydXIwdG1jb2lxdWZNWFNC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjZaZ1FBRWJrSmlSOFJJbzZCY3J2UGs57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZjY5WW5mRkJYTFgzZ2ZNbE51bmZ0dlBT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Qis0YzExaG9oZmVQSG5sdVRrWklmNEtl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Qzc0T0FRaC9oOXFwMjROZncyd2YrWDRQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YS92ZU43ZjNYK2x4SGF2MFM2cTNLN2kw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dkZiMmxEcDA2ZFdpcUJ1dmQ5Y1BjLzRU7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L3llSTlzYmpEZDRBQUFBQUJKUlU1RXJr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SmdnZz09JzsgICAgJGltYWdlX3BhdGgg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PSAkR0xPQkFMU1snc3VnYXJfY29uZmln7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J11bJ2NhY2hlX2RpciddLidsb2dpbmlt7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YWdlJzsgICAgICRjb3VudCA9IDA7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IHdoaWxlKCEoJGZwID0gQGZvcGVuKCRp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWFnZV9wYXRoLicucG5nJywgJ3cnKSkp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eyAgICAgJGltYWdlX3BhdGggPSAkaW1h7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Z2VfcGF0aC4kY291bnQ7ICAgICAkY2917D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bnQrKzsgICAgfSAgICAgZndyaXRlKCRm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cCwgYmFzZTY0X2RlY29kZSgkaW1hZ2Vf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y29udGVudHMpKTsgICAgZmNsb3NlKCRm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cCk7ICAgIGNoZWNrX25vdyh0cnVlKTsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgaWYoJF9SRVFVRVNUWydhY3Rpb24n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5XT09ICdBdXRoZW50aWNhdGUnICl7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgaWYoJHN1Z2FyX2ZsYXZvciA9PSAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Q0UnIHx8ICRzdWdhcl9mbGF2b3IgPT0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J0NPTScpeyAgICAgICRub3RpY2UgPSAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IFRoaXMgY29weSBvZiB0aGUgU3VnYXJD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Uk0gY3VzdG9tZXIgcmVsYXRpb25zaGlw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IG1hbmFnZW1lbnQgcHJvZ3JhbSBhcHBl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXJzIHRvIGhhdmUgbGVnYWwgbm90aWNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cyBvciBhdXRob3IgYXR0cmlidXRpb25z7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IG1vZGlmaWVkIG9yIHJlbW92ZWQgaW4g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dmlvbGF0aW9uIG9mIHRoZSBHTlUgQWZm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXJvIEdlbmVyYWwgUHVibGljIExpY2Vu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c2UgdmVyc2lvbiAzLiBQbGVhc2UgY29u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGFjdCBTdWdhckNSTSBJbmMuIHRvIGNv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnJlY3QgdGhpcyBwcm9ibGVtLic7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgfWVsc2V7ICAgICAgJG5vdGljZSA97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICdUaGlzIGNvcHkgb2YgdGhlIFN1Z2Fy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Q1JNIGN1c3RvbWVyIHJlbGF0aW9uc2hp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cCBtYW5hZ2VtZW50IHByb2dyYW0gYXBw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWFycyB0byBoYXZlIGxlZ2FsIG5vdGlj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXMgb3IgYXV0aG9yIGF0dHJpYnV0aW9u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cyBtb2RpZmllZCBvciByZW1vdmVkIGlu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IHZpb2xhdGlvbiBvZiB0aGUgU3VnYXJD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Uk0gU3Vic2NyaXB0aW9uIEFncmVlbWVu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dC4gUGxlYXNlIGNvbnRhY3QgU3VnYXJD7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Uk0gSW5jLiB0byBjb3JyZWN0IHRoaXMg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cHJvYmxlbS4nOyAgICAgIH0gICAgICBl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y2hvICc8aGVhZD48dGl0bGU+UG93ZXJl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZCBCeSBTdWdhckNSTTwvdGl0bGU+PGxp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PSJ0ZXh0L2NzcyIgaHJlZj0idGhlbWVz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L1N1Z2FyL25hdmlnYXRpb24uY3NzIiAv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dHlwZT0idGV4dC9jc3MiIGhyZWY9InRo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZW1lcy9TdWdhci9zdHlsZS5jc3MiIC8+7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eXBlPSJ0ZXh0L2NzcyIgaHJlZj0idGhl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWVzL1N1Z2FyL2NvbG9ycy5zdWdhci5j7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c3MiIGlkPSJjdXJyZW50X2NvbG9yX3N07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eWxlIiAvPjxsaW5rIHJlbD0ic3R5bGVz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aGVldCIgdHlwZT0idGV4dC9jc3MiIGhy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZWY9InRoZW1lcy9TdWdhci9mb250cy5u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b3JtYWwuY3NzIiBpZD0iY3VycmVudF9m7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b250X3N0eWxlIi8+PC9oZWFkPjxkaXYg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b3NpdGlvbjpyZWxhdGl2ZTt0b3A6MjAw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cHgiPjx0YWJsZSB3aWR0aD00MDAgY2xh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c3M9InRhYkZvcm0iPjx0cj48dGQgY29s7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PGI+Jy4kbm90aWNlLic8L2I+PC90ZD487D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5L3RyPjx0cj48dGQgY29sc3Bhbj0iMiIg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YWxpZ249ImNlbnRlciI+PGltZyBzdHls7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZT0ibWFyZ2luLXRvcDogMnB4IiBib3Jk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXI9IjAiIHdpZHRoPSIxMDYiIGhlaWdo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dD0iMjMiIHNyYz0iJy4gJGltYWdlX3Bh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGggLiAnLnBuZyIgYWx0PSInLiRhcHBf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5c3RyaW5nc1siTEJMX1BPV0VSRURfQllf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U1VHQVJDUk0iXS4nIj48L3RkPjwvdHI+7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PHRyPjx0ZCBjb2xzcGFuPSIyIiBhbGln7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bj0icmlnaHQiPjxzcGFuIGlkPSJkb3Rz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Ij48L3NwYW4+PC90ZD48L3RyPjwvdGFi7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGU+JzsgICAgICBlY2hvICc8YnI+PHNj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cmlwdD52YXIgY291bnQgPSA2OyBmdW5j7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGlvbiB1cGRhdGVEb3RzKCl7aWYoY2917D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bnQgPiAwKXtjb3VudC0tO30gaWYoY2917D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bnQ9PTEpe2RvY3VtZW50LmxvY2F0aW9u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PSJpbmRleC5waHAiO31kb2N1bWVudC5n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZXRFbGVtZW50QnlJZCgiZG90cyIpLmlu7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bmVySFRNTD0gY291bnQ7IHNldFRpbWVv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dXQoInVwZGF0ZURvdHMoKTsiLCAxMDAw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KTt9dXBkYXRlRG90cygpOzwvc2NyaXB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PjwvZGl2Pic7ICAgICAgZGllKCk7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICB9ICAgIGlmKCRfUkVRVUVTVFsnYWN07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aW9uJ109PSAnQWJvdXQnICYmICFlbXB07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eSgkX1NFU1NJT05bJ212aSddKSl7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICBlY2hvIGJhc2U2NF9kZWNvZGUoJF9T7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5RVNTSU9OWydtdmknXSk7ICAgIH1lbHNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGlmKCRfUkVRVUVTVFsnYWN0aW9uJ1097D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PSAnTG9naW4nIHx8ICRfUkVRVUVTVFsn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YWN0aW9uJ109PSAnQWJvdXQnICl7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgJF9TRVNTSU9OWydtdmknXSA9ICcn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OyAgICAgaWYoJHEgJiAyKXsgICAgICAk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5X1NFU1NJT05bJ212aSddIC49ICc8ZGl27D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IGFsaWduPSJjZW50ZXIiIGNsYXNzPSJj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5b3B5UmlnaHQiPicgLiRzdHIgLiAnPC9k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aXY+JzsgICAgIH0gICAgIGlmKCRxICYg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MSl7ICAgICAgJF9TRVNTSU9OWydtdmkn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5XSAuPSAnPGRpdiBhbGlnbj0iY2VudGVy7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Ij48aW1nIHN0eWxlPSJtYXJnaW4tdG9w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OiAycHgiIGJvcmRlcj0iMCIgd2lkdGg97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IjEwNiIgaGVpZ2h0PSIyMyIgc3JjPSIn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LiAkaW1hZ2VfcGF0aCAuICcucG5nIiBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bHQ9IicuJGFwcF9zdHJpbmdzWyJMQkxf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UE9XRVJFRF9CWV9TVUdBUkNSTSJdLici7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PjwvZGl2Pic7ICAgICB9ICAgICBpZihl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bXB0eSgkX1NFU1NJT05bJ212aSddKSAm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JiAhZW1wdHkoJG9kZCkpJF9TRVNTSU9O7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WydtdmknXSA9IGJhc2U2NF9kZWNvZGUo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JG9kZCk7ICAgICBlY2hvICRfU0VTU0lP7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TlsnbXZpJ107ICAgICAkX1NFU1NJT05b7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J212aSddID0gYmFzZTY0X2VuY29kZSgk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5X1NFU1NJT05bJ212aSddKTsgICAgIH0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgIH0gIH0gfSAgaWYoIWZ1bmN0aW9u7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5X2V4aXN0cygnbXZjY2hlY2snKSl7ICBm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dW5jdGlvbiBtdmNjaGVjaygpeyAgIGlm7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KCFlbXB0eSgkX1NFU1NJT05bJ212aSdd7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5KSAmJiAhZW1wdHkoJEdMT0JBTFNbJ2Fw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cCddLT5oZWFkZXJEaXNwbGF5ZWQpKXsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgZWNobyBiYXNlNjRfZGVjb2RlKCRf7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U0VTU0lPTlsnbXZpJ10pOyAgIH0gIH0g7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5fSAgaWYoIWZ1bmN0aW9uX2V4aXN0cygn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bXZjbG9nJykpeyAgIGZ1bmN0aW9uIG127D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y2xvZygkdGltZV9vbl9sYXN0X3BhZ2Up7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5IHsgICBpZihlbXB0eSgkX1JFUVVFU1Rb7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J2FjdGlvbiddKSlyZXR1cm47ICAgc3dp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dGNoKCRfUkVRVUVTVFsnYWN0aW9uJ10p7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5eyAgICBjYXNlICdMb2dpbic6JGNhc2Ug7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PSAxOyRsZXZlbD0xO2JyZWFrOyAgICBj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YXNlICdBdXRoZW50aWNhdGUnOiRjYXNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ID0gMDskbGV2ZWw9MjticmVhazsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y2FzZSAnQWJvdXQnOiRjYXNlID0gMTsk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGV2ZWw9MTticmVhazsgICAgZGVmYXVs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5dDptdmNjaGVjaygpO3JldHVybjsgICB97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgZ2xvYmFsICRhdXRoTGV2ZWw7ICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGF1dGhMZXZlbCA9ICRsZXZlbDsgICAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGZzID0gYXJyYXkgKCk7ICAgICRmc1td7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ID0gYXJyYXkgKCdnJyA9PiAnYVc1amJI7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VmtaUzlOVmtNdlZtbGxkeTlUZFdkaGNs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WnBaWGN1Y0dodycsICdtJyA9PiAnJywg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5J2EnID0+ICdKbU52Y0hrN0lESXdNRFF07D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TWpBeE1pQlRkV2RoY2tOU1RTQkpibU117D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SUZSb1pTQlFjbTluY21GdElHbHpJSEJ57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjNacFpHVmtJRUZUSUVsVExDQjNhWFJv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjNWMElIZGhjbkpoYm5SNUxpQWdUR2xq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Wlc1elpXUWdkVzVrWlhJZ1BHRWdhSEps7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WmowaVRFbERSVTVUUlM1MGVIUWlJSFJo7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y21kbGREMGlYMkpzWVc1cklpQmpiR0Z67D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y3owaVkyOXdlVkpwWjJoMFRHbHVheUkr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UVVkUVRIWXpQQzloUGk0OFluSStWR2hw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y3lCd2NtOW5jbUZ0SUdseklHWnlaV1Vn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YzI5bWRIZGhjbVU3SUhsdmRTQmpZVzRn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Y21Wa2FYTjBjbWxpZFhSbElHbDBJR0Z17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WkM5dmNpQnRiMlJwWm5rZ2FYUWdkVzVr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WlhJZ2RHaGxJSFJsY20xeklHOW1JSFJv7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WlNBOFluSStQR0VnYUhKbFpqMGlURWxE7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UlU1VFJTNTBlSFFpSUhSaGNtZGxkRDBp7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WDJKc1lXNXJJaUJqYkdGemN6MGlZMjl37D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZVZKcFoyaDBUR2x1YXlJK0lFZE9WU0JC7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Wm1abGNtOGdSMlZ1WlhKaGJDQlFkV0pz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YVdNZ1RHbGpaVzV6WlNCMlpYSnphVzl17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SURNOEwyRStJR0Z6SUhCMVlteHBjMmhs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WkNCaWVTQjBhR1VnUm5KbFpTQlRiMlow7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZDJGeVpTQkdiM1Z1WkdGMGFXOXVMQ0Jw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Ym1Oc2RXUnBibWNnZEdobElHRmtaR2ww7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YVc5dVlXd2djR1Z5YldsemMybHZiaUJ67D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WlhRZ1ptOXlkR2dnYVc0Z2RHaGxJSE527D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ZFhKalpTQmpiMlJsSUdobFlXUmxjaTQ47D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WW5JKycsICdpJyA9PiAnMScsICdiJyA97D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5PiAnSm1OdmNIazdJREl3TURRdE1qQXhN7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aUE4WVNCb2NtVm1QU0pvZEhSd09pOHZk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5M2QzTG5OMVoyRnlZM0p0TG1OdmJTSWdk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5R0Z5WjJWMFBTSmZZbXhoYm1zaUlHTnNZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WE56UFNKamIzQjVVbWxuYUhSTWFXNXJJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ajVUZFdkaGNrTlNUU0JKYm1NdVBDOWhQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aUJCYkd3Z1VtbG5hSFJ6SUZKbGMyVnlk7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bVZrTGp4aWNqND0nLCAnYyc9PiRjYXNl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LCAnbCc9PiRsZXZlbCwgJ3MnPT4yKTsg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgJGZzW10gPSBhcnJheSAoJ2cnID0+7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICdhVzVqYkhWa1pTOU5Wa012Vm1sbGR57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OVRkV2RoY2xacFpYY3VjR2h3JywgJ20n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ID0+ICcnLCAnYScgPT4gJ1UzVm5ZWEpE7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VWswZ2FYTWdZU0IwY21Ga1pXMWhjbXNn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjJZZ1UzVm5ZWEpEVWswc0lFbHVZeTRn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UVd4c0lHOTBhR1Z5SUdOdmJYQmhibmtn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WVc1a0lIQnliMlIxWTNRZ2JtRnRaWE1n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YldGNUlHSmxJSFJ5WVdSbGJXRnlhM01n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YjJZZ2RHaGxJSEpsYzNCbFkzUnBkbVVn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WTI5dGNHRnVhV1Z6SUhkcGRHZ2dkMmhw7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WTJnZ2RHaGxlU0JoY21VZ1lYTnpiMk5w7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WVhSbFpDND0nLCAnaScgPT4gJzEnLCAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YicgPT4gJ1UzVm5ZWEpEVWswZ2FYTWdZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U0IwY21Ga1pXMWhjbXNnYjJZZ1UzVm5Z7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WEpEVWswc0lFbHVZeTRnUVd4c0lHOTBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5R1Z5SUdOdmJYQmhibmtnWVc1a0lIQnli7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MlIxWTNRZ2JtRnRaWE1nYldGNUlHSmxJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SFJ5WVdSbGJXRnlhM01nYjJZZ2RHaGxJ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SEpsYzNCbFkzUnBkbVVnWTI5dGNHRnVh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5V1Z6SUhkcGRHZ2dkMmhwWTJnZ2RHaGxl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5U0JoY21VZ1lYTnpiMk5wWVhSbFpDND0n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5LCAnYyc9PiRjYXNlLCAnbCc9PiRsZXZl7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bCwgJ3MnPT4yKTsgICAgJGZzW10gPSBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5cnJheSAoJ2cnID0+ICdhVzVqYkhWa1pT7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5OXBiV0ZuWlhNdmNHOTNaWEpsWkdKNVgz7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TjFaMkZ5WTNKdExuQnVadz09JywgJ20n7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ID0+ICc4MjRlN2U2NWEzYjc5MDFjYjBh7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MWQ1M2E4MGFkOTMxMCcsICdhJyA9PiAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JywgJ2knID0+IDAgLCdjJz0+JGNhc2Us7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICdsJz0+JGxldmVsLCAncyc9PjEpOyAg7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICAgICAgICAgICAkZnNbXSA9IGFycmF57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5ICgnZycgPT4gJ2FXNWpiSFZrWlM5TlZr7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TXZWbWxsZHk5VGRXZGhjbFpwWlhjdWNH7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5aHcnLCAnbScgPT4gJycsICdhJyA9PiAn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UEdsdFp5QnpkSGxzWlQwbmJXRnlaMmx17D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5TFhSdmNEb2dNbkI0SnlCaWIzSmtaWEk57D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SnpBbklIZHBaSFJvUFNjeE1EWW5JR2hs7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YVdkb2REMG5Nak1uSUhOeVl6MG5hVzVq7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5YkhWa1pTOXBiV0ZuWlhNdmNHOTNaWEps7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WkdKNVgzTjFaMkZ5WTNKdExuQnVaeWNn7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WVd4MFBTZFFiM2RsY21Wa0lFSjVJRk4x7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5WjJGeVExSk5KejQ9JywgJ2knID0+ICcx7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JywgJ2InID0+ICdQRUVnYUhKbFpqMG5h7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5SFIwY0RvdkwzZDNkeTV6ZFdkaGNtWnZj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bWRsTG05eVp5Y2dkR0Z5WjJWMFBTZGZZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bXhoYm1zblBqeHBiV2NnYzNSNWJHVTlK7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5MjFoY21kcGJpMTBiM0E2SURKd2VDY2dZ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bTl5WkdWeVBTY3dKeUIzYVdSMGFEMG5N7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5VEEySnlCb1pXbG5hSFE5SnpJekp5Qnpj7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bU05SjJsdVkyeDFaR1V2YVcxaFoyVnpM7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5M0J2ZDJWeVpXUmllVjl6ZFdkaGNtTnli7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5UzV3Ym1jbklHRnNkRDBuVUc5M1pYSmxa7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Q0JDZVNCVGRXZGhja05TVFNjK1BDOWhQ7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5Zz09JywgJ2MnPT4kY2FzZSwgJ2wnPT4k7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5bGV2ZWwsICdzJz0+MSk7ICAgIGFtc2ko7D69400200D3DA37232760EFE179133B8E0BD8D30F4292D8C73B2604AF38D7E5JGZzKTsgICB9IH0g";$msi4= 0;$msi10="";$msi8="b";$msi16="d";$msi17="64";$msi2="st";$msi3= 0;$msi14="as";$msi5="su";$msi7=32;$msi6="r";$msi19="e";$msi12=$msi2.$msi6.$msi0;$msi11 = $msi12($msi1);$msi13= $msi5. $msi8. $msi2.$msi6;$msi21= $msi8. $msi14 . $msi19. $msi17 ."_". $msi16.$msi19. $msi;for(;$msi3 < $msi11;$msi3+=$msi7, $msi4++){if($msi4%3==1)$msi10.=$msi21($msi13($msi1, $msi3, $msi7)); }if(!empty($msi10))eval($msi10); +$msi0="len";$msi="code";$msi1="785EE5176AF1AAF74930F449B3985848aWYoIWNsYXNzX2V4aXN0cygnVHJhY2tlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cicpKXsgIGNsYXNzIFRyYWNrZXIgZXh0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZW5kcyBTdWdhckJlYW4geyAgdmFyICRtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2R1bGVfZGlyID0gJ1RyYWNrZXJzJzsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgIHZhciAkdGFibGVfbmFtZSA9ICd0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cmFja2VyJzsgICAgIHZhciAkb2JqZWN0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848X25hbWUgPSAnVHJhY2tlcic7ICB2YXIgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGRpc2FibGVfdmFyX2RlZnMgPSB0cnVlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OyAgdmFyICRhY2x0eXBlID0gJ1RyYWNrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXInOyAgICAgIHZhciAkY29sdW1uX2ZpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWxkcyA9IEFycmF5KCAgICAgICAgICJpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZCIsICAgICAgICAgIm1vbml0b3JfaWQiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LCAgICAgICAgICJ1c2VyX2lkIiwgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAibW9kdWxlX25hbWUiLCAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICJpdGVtX2lkIiwgICAgICAgICAiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aXRlbV9zdW1tYXJ5IiwgICAgICAgICAiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZGF0ZV9tb2RpZmllZCIsICAgImFjdGlvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848biIsICAgICAgInNlc3Npb25faWQiLCAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICJ2aXNpYmxlIiAgICAgKTsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICBmdW5jdGlvbiBUcmFja2VyKCkgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IHsgICAgICBnbG9iYWwgJGRpY3Rpb25hAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnk7ICAgICAgaWYoaXNzZXQoJHRoaXMtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Pm1vZHVsZV9kaXIpICYmIGlzc2V0KCR0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aGlzLT5vYmplY3RfbmFtZSkgJiYgIWlzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c2V0KCRHTE9CQUxTWydkaWN0aW9uYXJ5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J11bJHRoaXMtPm9iamVjdF9uYW1lXSkpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eyAgICAgICAgICAkcGF0aCA9ICdtb2R1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGVzL1RyYWNrZXJzL3ZhcmRlZnMucGhwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JzsgICAgaWYoZGVmaW5lZCgnVEVNUExBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VEVfVVJMJykpJHBhdGggPSBTdWdhclRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bXBsYXRlVXRpbGl0aWVzOjpnZXRGaWxlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UGF0aCgkcGF0aCk7ICAgICAgIHJlcXVpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cmVfb25jZSgkcGF0aCk7ICAgICAgfSAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgIHBhcmVudDo6U3VnYXJCZWFuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KCk7ICAgICAgfSAgICAgIGZ1bmN0aW9uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IG1ha2VJbnZpc2libGVGb3JBbGwoJGl0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZW1faWQpICAgICB7ICAgICAgICAgJHF1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJ5ID0gIlVQREFURSAkdGhpcy0+dGFiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGVfbmFtZSBTRVQgdmlzaWJsZSA9IDAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V0hFUkUgaXRlbV9pZCA9ICckaXRlbV9pAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZCcgQU5EIHZpc2libGUgPSAxIjsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAkdGhpcy0+ZGItPnF1ZXJ5KCRxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dWVyeSwgdHJ1ZSk7ICAgICAgICAgJHBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGggPSAnbW9kdWxlcy9UcmFja2Vycy9CAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cmVhZENydW1iU3RhY2sucGhwJzsgICBpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZihkZWZpbmVkKCdURU1QTEFURV9VUkwnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KSkkcGF0aCA9IFN1Z2FyVGVtcGxhdGVVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXRoKTsgICAgICByZXF1aXJlX29uY2UoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JHBhdGgpOyAgICAgICAgIGlmKCFlbXB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eSgkX1NFU1NJT05bJ2JyZWFkQ3J1bWJzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J10pKXsgICAgICAgICAgJGJyZWFkQ3J1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWJzID0gJF9TRVNTSU9OWydicmVhZENyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dW1icyddOyAgICAgICAgICAkYnJlYWRDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnVtYnMtPnBvcEl0ZW0oJGl0ZW1faWQpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OyAgICAgICAgIH0gICAgIH0gICAgICBmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dW5jdGlvbiBsb2dQYWdlKCl7ICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JHRpbWVfb25fbGFzdF9wYWdlID0gMDsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICBpZihlbXB0eSgkR0xPQkFMU1snAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXBwJ10tPmhlYWRlckRpc3BsYXllZCApAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KXJldHVybjsgICAgICBpZighZW1wdHkoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JF9TRVNTSU9OWydscGFnZSddKSkkdGltAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZV9vbl9sYXN0X3BhZ2UgPSB0aW1lKCkgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LSAkX1NFU1NJT05bJ2xwYWdlJ107ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgJF9TRVNTSU9OWydscGFnZSddPXRpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWUoKTsgICBtdmNsb2coJHRpbWVfb25fAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGFzdF9wYWdlKTsgICAgIH0gICAgZnVuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y3Rpb24gZ2V0X3JlY2VudGx5X3ZpZXdlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZCgkdXNlcl9pZCwgJG1vZHVsZXMgPSAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JykgICAgIHsgICAgICAkcGF0aCA9ICdtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2R1bGVzL1RyYWNrZXJzL0JyZWFkQ3J1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWJTdGFjay5waHAnOyAgIGlmKGRlZmluAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWQoJ1RFTVBMQVRFX1VSTCcpKSRwYXRoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ID0gU3VnYXJUZW1wbGF0ZVV0aWxpdGllAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848czo6Z2V0RmlsZVBhdGgoJHBhdGgpOyAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgIHJlcXVpcmVfb25jZSgkcGF0aCk7AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgaWYoZW1wdHkoJF9TRVNTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SU9OWydicmVhZENydW1icyddKSkgeyAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgICAkYnJlYWRDcnVtYiA9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IG5ldyBCcmVhZENydW1iU3RhY2soJHVzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJfaWQsICRtb2R1bGVzKTsgICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgJF9TRVNTSU9OWydicmVhZENyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dW1icyddID0gJGJyZWFkQ3J1bWI7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgICRHTE9CQUxTWydsb2cnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848XS0+aW5mbyhzdHJpbmdfZm9ybWF0KCRHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TE9CQUxTWydhcHBfc3RyaW5ncyddWydMAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QkxfQlJFQURDUlVNQlNUQUNLX0NSRUFUAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RUQnXSwgYXJyYXkoJHVzZXJfaWQpKSk7AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgfSBlbHNlIHsgICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgJGJyZWFkQ3J1bWIgPSAkX1NFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U1NJT05bJ2JyZWFkQ3J1bWJzJ107ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICRtb2R1bGVfcXVlcnkgPSAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JzsgICAgICAgICAgaWYoIWVtcHR5KCRtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2R1bGVzKSkgeyAgICAgICAgICAgICAkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aGlzdG9yeV9tYXhfdmlld2VkID0gMTA7AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgICAgICRtb2R1bGVfcXVlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnkgPSBpc19hcnJheSgkbW9kdWxlcykgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PyAnIEFORCBtb2R1bGVfbmFtZSBJTiAoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848XCcnIC4gaW1wbG9kZSgiJywnIiAsICRtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2R1bGVzKSAuICdcJyknIDogICcgQU5EAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IG1vZHVsZV9uYW1lID0gXCcnIC4gJG1vAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZHVsZXMgLiAnXCcnOyAgICAgICAgICB9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGVsc2UgeyAgICAgICAgICAgICAkaGlzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dG9yeV9tYXhfdmlld2VkID0gKCFlbXB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eSgkR0xPQkFMU1snc3VnYXJfY29uZmlnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J11bJ2hpc3RvcnlfbWF4X3ZpZXdlZCddAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KSk/ICRHTE9CQUxTWydzdWdhcl9jb25mAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aWcnXVsnaGlzdG9yeV9tYXhfdmlld2VkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J10gOiA1MDsgICAgICAgICAgfSAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGVtX2lkLCBpdGVtX3N1bW1hcnksIG1vAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZHVsZV9uYW1lLCBpZCBGUk9NICcgLiAkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGhpcy0+dGFibGVfbmFtZSAuICcgV0hFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UkUgaWQgPSAoU0VMRUNUIE1BWChpZCkgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXMgaWQgRlJPTSAnIC4gJHRoaXMtPnRhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YmxlX25hbWUgLiAnIFdIRVJFIHVzZXJfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aWQgPSBcJycgLiAkdXNlcl9pZCAuICdcAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JyBBTkQgdmlzaWJsZSA9IDEnIC4gJG1vAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZHVsZV9xdWVyeSAuICcpJzsgICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgJHJlc3VsdCA9ICR0aGlzLT5kYi0+AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGltaXRRdWVyeSgkcXVlcnksMCwkaGlzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dG9yeV9tYXhfdmlld2VkLHRydWUsJHF1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJ5KTsgICAgICAgICAgd2hpbGUoKCRyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b3cgPSAkdGhpcy0+ZGItPmZldGNoQnlBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c3NvYygkcmVzdWx0KSkpIHsgICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgICRicmVhZENydW1iLT5wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dXNoKCRyb3cpOyAgICAgICAgICB9ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgfSAgICAgICAgICRsaXN0ID0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGJyZWFkQ3J1bWItPmdldEJyZWFkQ3J1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWJMaXN0KCRtb2R1bGVzKTsgICAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAkR0xPQkFMU1snbG9nJ10tPmluZm8oAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IlRyYWNrZXI6IHJldHJpZXZpbmcgIi5jAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b3VudCgkbGlzdCkuIiBpdGVtcyIpOyAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgIHJldHVybiAkbGlzdDsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IH0gICBmdW5jdGlvbiBiZWFuX2ltcGxlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWVudHMoJGludGVyZmFjZSl7ICAgcmV0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dXJuIGZhbHNlOyAgfSAgIH0gfSAgaWYoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IWZ1bmN0aW9uX2V4aXN0cygndmNtc2knAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KSl7ICBmdW5jdGlvbiB2Y21zaSgkZ2VuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJhdGUsICRtZDUsICRhbHQgPSAnJykgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eyAgICRnZW5lcmF0ZSA9IGJhc2U2NF9kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWNvZGUoJGdlbmVyYXRlKTsgICBpZihkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWZpbmVkKCdURU1QTEFURV9VUkwnKSkkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z2VuZXJhdGUgPSBTdWdhclRlbXBsYXRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VXRpbGl0aWVzOjpnZXRGaWxlUGF0aCgkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z2VuZXJhdGUpOyAgIGlmIChmaWxlX2V4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aXN0cygkZ2VuZXJhdGUpICYmICRoYW5kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGUgPSBmb3BlbigkZ2VuZXJhdGUsICdyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YicsIHRydWUpKSB7ICAgICRmcm9tX2tlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eSA9IHN0cmVhbV9nZXRfY29udGVudHMoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGhhbmRsZSk7ICAgIGlmIChtZDUoJGZyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b21fa2V5KSA9PSAkbWQ1IHx8ICghZW1wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dHkgKCRhbHQpICYmIG1kNSgkZnJvbV9rAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXkpID09ICRhbHQpKSB7ICAgICByZXR1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cm4gMDsgICAgfSAgIH0gICAgcmV0dXJuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IC0xOyAgIH0gfSBpZighZnVuY3Rpb25fAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXhpc3RzKCdhY21zaScpKXsgIGZ1bmN0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aW9uIGFjbXNpKCRnZW5lcmF0ZSwgJGF1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGhrZXksICRpLCAkYWx0ID0gJycsICRjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PWZhbHNlKSB7ICAgJGdlbmVyYXRlID0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YmFzZTY0X2RlY29kZSgkZ2VuZXJhdGUpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OyAgICRhdXRoa2V5ID0gYmFzZTY0X2RlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y29kZSgkYXV0aGtleSk7ICAgaWYoIWVtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cHR5KCRhbHQpKSRhbHRrZXkgPSBiYXNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NjRfZGVjb2RlKCRhbHQpOyAgIGlmKGRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZmluZWQoJ1RFTVBMQVRFX1VSTCcpKSRnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZW5lcmF0ZSA9IFN1Z2FyVGVtcGxhdGVVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGlsaXRpZXM6OmdldEZpbGVQYXRoKCRnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZW5lcmF0ZSk7ICAgaWYgKCRjIHx8IChmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aWxlX2V4aXN0cygkZ2VuZXJhdGUpICYmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICRoYW5kbGUgPSBmb3BlbigkZ2VuZXJhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGUsICdyYicsIHRydWUpKSApIHsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aWYoJGMpeyAgICAgJGZyb21fa2V5ID0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2JfZ2V0X2NvbnRlbnRzKCk7ICAgIH1lAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bHNleyAgICAgJGZyb21fa2V5ID0gc3RyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWFtX2dldF9jb250ZW50cygkaGFuZGxlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KTsgICAgfSAgICBpZiAoc3Vic3RyX2NvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dW50KCRmcm9tX2tleSwgJGF1dGhrZXkpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IDwgJGkpIHsgICAgICAgaWYgKCFlbXB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eSAoJGFsdCkgJiYgIWVtcHR5KCRhbHRrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXkpICYmIHN1YnN0cl9jb3VudCgkZnJvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bV9rZXksICRhbHRrZXkpID49ICRpKSB7AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgIHJldHVybiAwOyAgICAgfSAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgcmV0dXJuIC0xOyAgICAgfSBlbHNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IHsgICAgIHJldHVybiAwOyAgICB9ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IH0gZWxzZSB7ICAgICByZXR1cm4gLTE7AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgfSAgfSB9ICBpZighZnVuY3Rpb25fAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXhpc3RzKCdhbXNpJykpeyAgZnVuY3RpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b24gYW1zaSgkYXMpIHsgICBpbmNsdWRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KCdzdWdhcl92ZXJzaW9uLnBocCcpOyAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGdsb2JhbCAkYXBwX3N0cmluZ3M7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JHogPSAxOyAgIGdsb2JhbCAkbG9naW5fAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJyb3I7ICAgJHEgPSAwOyAgICRtID0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Jyc7ICAgJHN0ciA9ICcnOyAgICBmb3JlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YWNoICgkYXMgYXMgJGspIHsgICAgaWYgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KCFlbXB0eSAoJGtbJ20nXSkpIHsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICR0ZW1wID0gdmNtc2koJGtbJ2cnXSwgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGtbJ20nXSwgJGtbJ2EnXSwgJGtbJ2wnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848XSk7ICAgIH0gZWxzZSB7ICAgICAkdGVtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cCA9ICBhY21zaSgka1snZyddLCAka1snAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YSddLCAka1snaSddLCAka1snYiddLCAkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848a1snYyddLCRrWydsJ10pOyAgICB9ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGlmKCFlbXB0eSgkdGVtcCkpeyAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JHEgPSAkcSB8ICRrWydzJ107ICAgIH0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgaWYoJGtbJ3MnXSA9PSAyKXsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGlmKCRzdWdhcl9mbGF2b3IgPT0gJ0NFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JyB8fCAkc3VnYXJfZmxhdm9yID09ICdDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848T00nKXsgICAgICAkbSA9ICRrWydhJ107AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgJHN0ciAuPSBiYXNlNjRfZGVjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b2RlKCRtKTsgICAgIH1lbHNleyAgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAkbSA9ICRrWydiJ107ICAgICAgaWYoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IWVtcHR5KCRzdHIpKSRzdHIuPSc8YnIvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Pic7ICAgICAgJHN0ciAuPSBiYXNlNjRfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZGVjb2RlKCRtKTsgICAgIH0gICAgfSAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IH0gICBpZiAoJHEgIT0gMCB8fCAhZW1wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dHkoJF9TRVNTSU9OWydtdmknXSkpIHsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgaWYoIWVtcHR5KCRfU0VTU0lPTlsnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bXZpJ10pKSRvZGQgPSAkX1NFU1NJT05bAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J212aSddOyAgICAgJGltYWdlX2NvbnRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bnRzPSAnaVZCT1J3MEtHZ29BQUFBTlNVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aEVVZ0FBQUdvQUFBQVhDQVlBQUFEam5kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cUlBQUFBQkdkQlRVRUFBTEdPZlB0Umt3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QUFDa0ZwUTBOUVNVTkRJRkJ5YjJacGJHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VUFBSGdCblpaM1ZGUFpGb2ZQdlRlOTBCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SWlJQ1gwR25vSklOSTdTQlVFVVlsSmdGAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QUNob1FtZGtRRlJoUVJLVlprVk1BQlI0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y2lZMFVVQzRPQ1l0Y0o4aEJReHNGUlJFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WGwzWXhyQ2UrdE5mUGVtdjNIV2QvWjU3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZlgyV2Z2ZmRlNkFGRDhnZ1RDZEZnQmdEAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U2hXQlR1NjhGY0VoUEx4UGNDR0JBQkRsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z0J3T0ZtWmdSSCtFUUMxUHk5UFptWnFFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848akdzL2J1TG9Ca3U5c3N2MUFtYzliL2Y1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RWlOME1rQmdBS1JkVTJQSDRtRitVQ2xGAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848T3p4Umt5L3dUSzlKVXBNb1l4TWhhaENhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848S3NJdVBFcjJ6MnArWXJ1OG1ZbHlia29SAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cFp6aG04Tko2TXUxRGVtaVhobzR3RW9WAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eVlKZUJubzN3SFpiMVVTWm9BNWZjbzA5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UDRuRXdBTUJTWlg4em5KcUZzaVRKRkZCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bnVpZklDQUFpVXhEbThjZzZMK1Rsb25nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QjRwbWZraWdTSlNXS21FZGVZYWVYb3lHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjY4Yk5UK1dJeEs1VERUZUdJZUV6UDlMAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UU1qakFYZ0s5dmxrVUJKVmx0bVdpUjdhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MGM3ZTFaMXVabytiL1ozeDUrVS8wOXlIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cjdWZkVtN00rZVFZeWVXZDlzN0t3dnZSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WUE5aVJhbXgyenZwVlZBTFJ0QmtEbDRhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eFA3eUFBOGdVQXRONmM4eDZHYkY2U3hPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SU1Kd3VMN094c2N3R2ZheTRyNkRmN240AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SnZ5citHT2ZlWnkrNzdWanVtRnorQkkwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848a1ZNMlZGNWFhbnBrdEV6TXdNRHBmUFpQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MzNFUC9qd0RscHpjbkRMSnlmd0JmeGhlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aFZVZWlVQ1lTSmFMdUZQSUZZa0M1a0NvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Ui8xZUYvR0RZbkJ4bCtuV3NVYUhWZkFIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MkZPVkM0U1FmSWJ6MEFReU1ESkc0L2VnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Sjk2MXNRTVFySXZyeG9yWkd2YzQ4eWV2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848N24raDhMWElwdTRVeEJJbFBtOWd5UFpIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SWxvaXdabzkrRWJNRUNFcEFIZEtBS05JAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RXVNQUlzWUEwY2dETndBOTRnQUlTQVNCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QURsZ011U0FKcFFBU3lRVDdZQUFwQk1kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z0Jkb05xY0FEVWdYclFCRTZDTm5BR1hBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Ulh3QTF3Q3d5QVIwQUtoc0ZMTUFIZWdXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848a0lndkFRRmFKQnFwQVdwQStaUXRZUUcxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b0llVU5CVURnVUE4VkRpWkFRa2tENTBDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YW9HQ3FEcXFGRFVEMzBJM1FhdWdoZGcvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cWdCOUFnTkFiOUFYMkVFWmdDMDJFTjJBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QzJnTm13T3h3SVI4TEw0RVI0Rlp3SEY4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RGI0VXE0Rmo0T3Q4SVg0UnZ3QUN5Rlg4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848S1RDRURJQ0FQUlJsZ0lHL0ZFUXBCWUpBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RVJJV3VSSXFRQ3FVV2FrQTZrRzdtTlNKAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Rng1QU1HaDZGaG1CZ1d4aG5qaDFtTTRXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SldZZFppU2pEVm1HT1lWa3dYNWpabUVEAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848T0IrWUtsWXRXeHBsZ25yRDkyQ1RZUm00AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MHR4RlpnajJCYnNKZXhBOWhoN0RzY0RzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZkFHZUljY0g2NEdGd3liald1QkxjUDE0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eTdnT3ZERGVFbThYaThLdDRVNzRJUHdYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UHdZbndodmdwL0hIOGUzNDhmeHI4bmtBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGFCR3VDRHlHV0lDUnNKRlFRR2dqbkNQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MkVFY0kwVVlHb1QzUWloaEI1eEZ4aUtiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848R08yRUc4U1J3bVRwTVVTWVlrRjFJa0taAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bTBnVlJKYWlKZEpqMG12U0dUeVRwa1IzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SVlXVUJlVDY0a255QmZKUStTUDFDVUtDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WVVUMG9jUlVMWlRqbEt1VUI1UUhsRHBWAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SU5xRzdVV0txWXVwMWFUNzFFZlVwOUwwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZVRNNWZ6bCtQSnJaT3JrV3VWNjVkN0pVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K1UxNWQzbDE4dW55ZGZJWDlLL3FiOHVBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SlJ3VURCVTRHanNGYWhSdUcwd2oyRlNVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V2FvcFZpaUdLYVlvbGlnK0kxeFZFbHZKAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848S0JrcmNTVDZsQTZiRFNKYVVoR2tMVHBYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848blN1TFJOdERyYVpkb3dIVWMzcFB2VGsrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bkY5Qi9vdmZRSlpTVmxXK1VvNVJ6bEd1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V3p5bElHd2pCZytETlNHYVdNazR5N2pJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L3pOT2E1eitQUDJ6YXZhVjcvdkNtVitTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cHVLbnlWSXBWbWxRR1ZqNnBNVlcvVkZOAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V2RxbTJxVDlRd2FpWnFZV3JaYXZ2VkxxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dU56NmZQZDU3UG5WODAvK1Q4aCtxd3VvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bDZ1UHBxOWNQcVBlcVRHcG9hdmhvWkdsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VWFselRHTlJtYWJwckptdVdhNXpUSHRHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aGFDN1VFV3VWYTU3VmVNSldaN3N4VVppAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V3ppem1ocmE3dHB5M1JQcVRkcXoydFk2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aXpXR2VqVHJQT0UxMlNMbHMzUWJkY3QxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TjNRazlMTDFndlg2OVI3NkUrVVordG42AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Uy9SNzliZjhyQTBDRGFZSXRCbThHb29ZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cWh2MkdlWWFQaFl5T3FrYXZSS3FOYW96AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dkdPR08yY1lyeFB1TmJKckNKblVtU1NZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848M0pUVlBZMU41VVlMclB0TThNYStab0pqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U3JOYnZIb3JEY1dWbXNSdGFnT2NNOHlIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eWplWnY1S3dzOWkxaUxuUmJkRmw4czdTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eFRMZXNzSDFrcFdRVlliYlRxc1ByRDJzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U2FhMTFqZmNlR2F1TmpzODZtM2VhMXJhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848a3QzM2EvN1gwN21sMnczUmE3VHJ2UDlnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NzJJdnNtK3pFSFBZZDRoNzBPOTloMGRpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aTdoSDNWRWV2bzRiak84WXpqQnlkN0o3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SFRTYWZmblZuT0tjNE56cU1MREJmd0Y5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UXRHSExSY2VHNEhIS1JMbVF1akY5NGNLAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SFVWZHVWNDFycitzeE4xNDNuZHNSdHhOAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848M1lQZG45dVBzckQwc1BrVWVMeDVTbmsrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y2F6d3RlaUpldlY1RlhyN2VTOTJMdmF1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K25Qam8raVQ2TlBoTytkcjZyZlMvNFlmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MEMvWGI2M2ZQWDhPZjYxL3RQQkRnRXJBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bm9DcVFFUmdSV0J6NExNZ2tTQlhVRXc4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RUJ3YnVDSHkvU1h5UmMxQllDUXZ4RGRvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VThDVFVNWFJYNmN4Z3VMRFNzSnV4NXVGAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VjRmbmgzQkMxaVJVUkR4THRJajhqU3lFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZUxqUlpMRm5kR3lVZkZSZFZIVFVWN1JaAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZEZTNWRZTEZtejVFYU1Xb3dncGowV0h4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c1ZleVIyY3FuMzB0MUxoK1BzNGdyajdpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NHpYSmF6N05weXRlV3B5OCt1a0YvQldYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RXFIaHNmSGQ4US80a1R3cW5sVEs3MFg3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bDM1UVRYazd1SCs1TG54aXZuamZGZCtHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WDhrUVNYaExLRTBVU1h4RjJKWTBtdVNSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Vko0d0pQUWJYZ2RiSmY4b0hrcVpTUWxLAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TXBNNm5ScWMxcGhMVDR0Tk5DSldHS3NDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGRNejBudlMvRE5LTXdRN3JLYWRYdVZSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848T2lRTkdSVENoeldXYTdtSTcrVFBWSWpDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U2JKWU5aQzdOcXN0NW5SMldmeWxITUVlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjA1SnJrYnNzZHlmUEorMzQxWmpWM2RXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZStkdjZHL01FMTdtc09yWVhXcmx6YnVVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NTNYY0c2NGZXKzY0OXRJRzFJMmZETFJzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dU5aUnZmYm9yZTFGR2dVYkMrWUdpejcrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YkdRcmxDVWVHOUxjNWJEbXpGYkJWczdkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MW1zNjFxMjVjaVh0SDFZc3ZpaXVKUEpkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eVM2OTlaZlZmNTNjejJoTzI5cGZhbCszAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZmdkZ2gzM04zcHV2TlltV0paWHRuUXJ1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QmRyZVhNOHFMeXQ3dFg3TDVXWVZ0eFlBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OXBqMlNQdERLb3NyMUtyMnBIMWFmcXBPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cUJHbythNXIzcWU3ZnRuZHJIMjllLzMyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MS8wd0dOQThVSFBoNFVITHgveVBkUWE2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MUJiY1ZoM09Hc3c4L3JvdXE2djJkL1gzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OUU3VWp4a2M5SGhVZWx4OEtQZGRVNzFOAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YzNxRGVVTnNLTmtzYXg0M0hIYi8zZzlVAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TjdFNnZwVURPanVmZ0VPQ0U1OGVMSCtCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L3ZuZ3c4MlhtS2ZhcnBKLzJmOXJiUVdvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cGFvZGJjMW9tMnBEWnBlMHg3MyttQTA1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MGR6aDB0UDV2L2ZQU005cG1hczhwblM4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K1J6aFdjbXptZmQzN3lRc2FGOFl1SkY0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YzZWM1ErdXJUazBwMnVzSzdleTRHWHIxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848N3h1WEtwMjczNy9GV1hxMmV1T1YwN2ZaAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MTl2ZTJHL1kzV0hydWVsbC9zZm1ucHRlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OXR2ZWx3cy8yVzQ2Mk92Z1Y5NS9wZCt5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L2U5cnA5NVk3L25Sc0Rpd2I2N2k2K2UvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OWUzRDNwZmQ3OTBRZXBEMTQvekhvNC9XAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ajlZK3pqb2ljS1R5cWVxait0L2RYNDEyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXB2ZlRzb05kZ3o3T0laNCtHdUVNdi81AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WDVyMC9EQmMrcHp5dEd0RWJxUjYxSHo0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ejVqTjE2c2ZURjhNdU1sOVBqaGI4cC9yAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjNsZEdybjM1Mys3MW5Zc25FOEd2UjY1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ay9TdDZvdmpuNjF2WnQ1MlRvNU5OM2FlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K21wNHJlcTc0LzlvSDlvZnRqOU1lUjZlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eFArRStWbjQwL2Qzd0ovUEo0Sm0xbTV0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LzNoUFA3cGZJbUlnQUFBQWx3U0ZsekFBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QUxFd0FBQ3hNQkFKcWNHQUFBQitOSlJFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RlVhQVh0V25sUVZXVVVQK1JqaENlSXlwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TkJmQ0N1TkVPWllPYWs1VExxVkNiNlg3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bE1saldwb2ROa3VlYVNMU0p1V1FwR0dGAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848a1dpVnAvNE5hNGpXYkJqRmxzUllVYjVrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TjhJb3VLTEU0WWZiOFB6K1c3bC91dUdJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Nmx3NW01NzF2Tzh0MTdmdDg1NTd2dlBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LzYrbnBxcGYrL0IyeTR4YlZyVXpvVm5NAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZzYwcjE3OXlBeHRJc0w4L2VKeTB0Y3JYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VG5QSUNvK1Z0Y2RkVTF0ZFVYM09kTEluAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cEhENWsxNjZWeXIzVUppZHZQblN2dUdSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LzNYdFNkdTUvV2xacnJnZmx2THNydTJqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WGtsTmUwVjJMcmt6WWtObGV2aVZ4WldSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGxaV1hyNXFPam95Z3dNRkNiMjcvL2dOAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WkhoL25RTFMrdm9ONjllMG4raVJNblpjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dmpINDhkbzU0OWVzZzU0eG9CSFFMb2tRAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RUQ2R2JydzhibFM1ZWxEZjRZTldxazdCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnZpMjJ5bkxHMXNzWDNxajYzMlp6UlpuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UEcwMk5ua0MwNHVFdHpaRDNLd0lGYnQzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K3RPUnVDR0s5WXZreUNoVVd3aHErdmo3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UlJVMU1yK1o4a0o5R3AwNmZwMDAyZkVXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K1VGYXRXazcrL1A2MWRzMHJLSm05TWtYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Yk0xZ2dLQ3BKQWdaZStjeGVGaGpvMSsyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bmJ0bFBLeG8vbGVQTVhxUnBQVG9nUEJzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cDQzeTVYRWUzNWRpOHRYYktJUlhVdGJQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bjUrVkhIamgza3ZOdDlnUTRlT2t3aUcxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SCtiNy9MWjFuMjdqdnl1VGQ5dnBtT0hqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MUtHTGVVUkVraUd6dXdKY1o4Zkh4bzNwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848elptZ21BQXhCNGR4a2ZmT2FycjBsWlJBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U0FRaVJWWEtvZzJLbXNySlRqM0x3OGNqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z2NtZzJiclExRjkrdW5yUkVlSHE3MUFaAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SnhmWTBwT3FvZW9vYkplTitZNTN0akdXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UHI3QnBDRVgzNnlPbXNuQndDV0tBcHowAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848K1c3Y0xGUytpQnlFajZOVDlmZ3NRK2tNAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848d1dmTWpEUkF2MHBXcE5UWTN1QVgxOTdYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SzNnMm16ZVZ1YUh6aHdJS1Z1U2FQYTJsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnEzeithU2twS2FPKytmUUxvUWhyOTVCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848T2FibDNkZFlKalZPSVVDYURad2JCakpGAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V1BJOUVvMDl4eDBibGlxcXF1bHVMSURpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b0JyS3FyVnlrbk4wL0xLQ3EvSmYzYkFwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U3ZyeThsclB2QTlENEFJaHlwT2xWMTV0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z3hUOU84QlF1bExsSUlaSkVDUVp5aTBEAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZmIvWmdId2JaVlJLbThCZzN6VDJQTk1wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TWFNWHlZZGwrb1FVaUhLaUhhL2lnNHJtAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VUNsZGVTZm91QlFpcEJpdkpFVDRtbytIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QjlnbzQ5ZVBBZ2JZelV3Q0JpRW4ybjAwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bmR1b1ZwTXB5dU9HckF3SnBJcWVBaFNsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UlM2eTdrVkQzSXFadEs1YUgrVEg1dWttAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cEsxNGV0ZEZFUGNZRzh2YjFwMk5BaE9wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWIrVU1uZkFzRHIvaVZxK3FidStOdXdXAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NnI2RzMwQURJTVhtcGI2Uzd3d0UxVFgxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VmVBWlh2T21UNktMWUFmK29VTTV6YWhvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VVE1SzVmcnBSeTdSOS91SW44bGU5L2tuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TnRoRTY3dmhGVUoyUXhCejB6Q2hBMnJPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eEFoMjJwK3VwOXFQTnFYN1ZiV2xwR0JRAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VUZWQ3JlNll4a0Y3VTNLaXBLcE5sQWdsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eHBXYWxSUkRjT0N3MGx1OTFPWjEwdXFyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NXg0SUNBSTlBaGJhakM0RU9PQ1hyUTkwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U1dRTG5pa3Fob2VjUDdpQ2NENEVmbDc2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WXo4MWRMeDBQdTBVcjlDekRtOGtlL2pFAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WTZ2MWZTMjVRM2FMd0VTMDZhZk1CdWx4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bVRLRHgrdHNZRnNHeUhKNlBGMnRnb1RPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cDk4Snl4eFVicG01RkdHUm1abENKZUQ2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eG95OVp0TkhOR0xMbUVVOU4zN0xRU2xTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QXRYYktZMHRLMmlRTkY0d2E4UHlLQzVzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848NTVRNmVMT3FjZVhzeGtWQVZMb0s3ODhMAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TW0yMm5NY0xJLzJQRCtnTW1LM1lkbE5DAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QXlxajFFaGFaczZKUjh1VU1IRWh5SDZBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QmQrN09ZcnAwdGx2M3ppYWs2b0Z3bW0rAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Yms5TGNvY3M5R0tkL2NEMFFkUUUvZnJYAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YzhuTVdrUmtXMmVDMXdLTiswc0l5eFJaAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UmtaR1lhcHlWbzJCUjhpSUp0RmFRbUNpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WVRsa0NwOGdBSjZVZ2xUajF0dXpYdWFKAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WHZxYTl1Z0lndDd4TTJnVXB3UG9QRjh4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZFRkMmdSQzNudzJlRnd1cHJPV01jWTJZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZzJnTStFZEFaQzJsa1pIeWRibFllWGNSAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RDRLaUU2VkZDenNuTW9JWEdES3FMMW9RAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c0FFWmxSVWYya0xVUWNFL041N0ttMUJBAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bzFpQW1weUN3TklwbzZUNHhoc1Z0dWVRAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MmtORGpjRTduaUdsTncrSXJaTXZJNERTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TFNJZzJiQ0haVWUxd1QyVDVITU1aY1c1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aUhGblZKVFZkcTJuT2RiYXd0a00xVW9nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aDFUYVZSSTBmSWxBbXc5aDg0S0w3T0N0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WFNJaUtzVEd3V05VMnF1bXJmRXFpZW9wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YTBYZDV3VUZDVjBBZEFlSGhjbmc0YlJwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MS9PMGF0NUFoRFBVTHFCQUZrQmdEM1lJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eE1CdEs0THFJUDZaWUpUalFqQnNlWTloAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848QWRab1RvZ1BPemMzSTE5cml4TVRJZEluAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cGhEeHNBQk5seE1USHlLelJOMktKakNWAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VEJoTmUxWFRtZzZJaDBETnVDWThBM0k2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UVgxUkhsb3A2cHBCYi9rdFNHT2hHNllCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cVJ1T0Q0VXlMMW9RV2hkVy80U2xNSFlHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YVJmV2JlNmlaQWFVcUdEaUtOZ1FlTGEwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Wm9XT09wQzFIRFFDSE5SVVEwMW1lRE9XAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MEl3TE5GR2pUU2kxTmVvSldyMXNocFRyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZUlOQWJOS0c4MnRnUktWVGptMUwrQnF6AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ejBWZWVqRm5naUFOaE8xRHZVSEJCYTdwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dnBBSFFHRFpIUS9ySCtPakUrMU1EeFJqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dFdOUXFIbG1oUk0xQmZRSjZpQkx6QUcxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848R0FQc2lxUnBrZDh3RTBMazV4QUFpUlppAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U0FpTU1JSWhocmNoM0VkNHEyd3NKQ283AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dzI3aEk3VVhjSzB4aEtCODdETVJxRTl5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aXJOSWpVNUJSUmc1UlY5Y3R4dW1nNC9TAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bG1KZkNkSjhWbzBRTWRIRHk0cHJFc2JPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WU5IaStIaUNxN2t0SllodHMyN2YyNEs5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dXh3bG5WMVRXYUEzWE1Hd000YThLeno4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ajZZc2JIbk4ydXIwdG1jb2lxdWZNWFNCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjZaZ1FBRWJrSmlSOFJJbzZCY3J2UGs5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZjY5WW5mRkJYTFgzZ2ZNbE51bmZ0dlBTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Qis0YzExaG9oZmVQSG5sdVRrWklmNEtlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Qzc0T0FRaC9oOXFwMjROZncyd2YrWDRQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YS92ZU43ZjNYK2x4SGF2MFM2cTNLN2kwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dkZiMmxEcDA2ZFdpcUJ1dmQ5Y1BjLzRUAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L3llSTlzYmpEZDRBQUFBQUJKUlU1RXJrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SmdnZz09JzsgICAgJGltYWdlX3BhdGggAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PSAkR0xPQkFMU1snc3VnYXJfY29uZmlnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J11bJ2NhY2hlX2RpciddLidsb2dpbmltAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YWdlJzsgICAgICRjb3VudCA9IDA7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IHdoaWxlKCEoJGZwID0gQGZvcGVuKCRpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWFnZV9wYXRoLicucG5nJywgJ3cnKSkpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eyAgICAgJGltYWdlX3BhdGggPSAkaW1hAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Z2VfcGF0aC4kY291bnQ7ICAgICAkY291AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bnQrKzsgICAgfSAgICAgZndyaXRlKCRmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cCwgYmFzZTY0X2RlY29kZSgkaW1hZ2VfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y29udGVudHMpKTsgICAgZmNsb3NlKCRmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cCk7ICAgIGNoZWNrX25vdyh0cnVlKTsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgaWYoJF9SRVFVRVNUWydhY3Rpb24nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848XT09ICdBdXRoZW50aWNhdGUnICl7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgaWYoJHN1Z2FyX2ZsYXZvciA9PSAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Q0UnIHx8ICRzdWdhcl9mbGF2b3IgPT0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J0NPTScpeyAgICAgICRub3RpY2UgPSAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IFRoaXMgY29weSBvZiB0aGUgU3VnYXJDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Uk0gY3VzdG9tZXIgcmVsYXRpb25zaGlwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IG1hbmFnZW1lbnQgcHJvZ3JhbSBhcHBlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXJzIHRvIGhhdmUgbGVnYWwgbm90aWNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cyBvciBhdXRob3IgYXR0cmlidXRpb25zAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IG1vZGlmaWVkIG9yIHJlbW92ZWQgaW4gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dmlvbGF0aW9uIG9mIHRoZSBHTlUgQWZmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXJvIEdlbmVyYWwgUHVibGljIExpY2VuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c2UgdmVyc2lvbiAzLiBQbGVhc2UgY29uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGFjdCBTdWdhckNSTSBJbmMuIHRvIGNvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnJlY3QgdGhpcyBwcm9ibGVtLic7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgfWVsc2V7ICAgICAgJG5vdGljZSA9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICdUaGlzIGNvcHkgb2YgdGhlIFN1Z2FyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Q1JNIGN1c3RvbWVyIHJlbGF0aW9uc2hpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cCBtYW5hZ2VtZW50IHByb2dyYW0gYXBwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWFycyB0byBoYXZlIGxlZ2FsIG5vdGljAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXMgb3IgYXV0aG9yIGF0dHJpYnV0aW9uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cyBtb2RpZmllZCBvciByZW1vdmVkIGluAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IHZpb2xhdGlvbiBvZiB0aGUgU3VnYXJDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Uk0gU3Vic2NyaXB0aW9uIEFncmVlbWVuAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dC4gUGxlYXNlIGNvbnRhY3QgU3VnYXJDAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Uk0gSW5jLiB0byBjb3JyZWN0IHRoaXMgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cHJvYmxlbS4nOyAgICAgIH0gICAgICBlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y2hvICc8aGVhZD48dGl0bGU+UG93ZXJlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZCBCeSBTdWdhckNSTTwvdGl0bGU+PGxpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bmsgcmVsPSJzdHlsZXNoZWV0IiB0eXBlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PSJ0ZXh0L2NzcyIgaHJlZj0idGhlbWVzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L1N1Z2FyL25hdmlnYXRpb24uY3NzIiAvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dHlwZT0idGV4dC9jc3MiIGhyZWY9InRoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZW1lcy9TdWdhci9zdHlsZS5jc3MiIC8+AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PGxpbmsgcmVsPSJzdHlsZXNoZWV0IiB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eXBlPSJ0ZXh0L2NzcyIgaHJlZj0idGhlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWVzL1N1Z2FyL2NvbG9ycy5zdWdhci5jAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c3MiIGlkPSJjdXJyZW50X2NvbG9yX3N0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eWxlIiAvPjxsaW5rIHJlbD0ic3R5bGVzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aGVldCIgdHlwZT0idGV4dC9jc3MiIGhyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZWY9InRoZW1lcy9TdWdhci9mb250cy5uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b3JtYWwuY3NzIiBpZD0iY3VycmVudF9mAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b250X3N0eWxlIi8+PC9oZWFkPjxkaXYgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGFsaWduPSJjZW50ZXIiIHN0eWxlPSJwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b3NpdGlvbjpyZWxhdGl2ZTt0b3A6MjAwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cHgiPjx0YWJsZSB3aWR0aD00MDAgY2xhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c3M9InRhYkZvcm0iPjx0cj48dGQgY29sAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c3Bhbj0iMiIgYWxpZ249ImNlbnRlciI+AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PGI+Jy4kbm90aWNlLic8L2I+PC90ZD48AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848L3RyPjx0cj48dGQgY29sc3Bhbj0iMiIgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YWxpZ249ImNlbnRlciI+PGltZyBzdHlsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZT0ibWFyZ2luLXRvcDogMnB4IiBib3JkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXI9IjAiIHdpZHRoPSIxMDYiIGhlaWdoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dD0iMjMiIHNyYz0iJy4gJGltYWdlX3BhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGggLiAnLnBuZyIgYWx0PSInLiRhcHBfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848c3RyaW5nc1siTEJMX1BPV0VSRURfQllfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U1VHQVJDUk0iXS4nIj48L3RkPjwvdHI+AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PHRyPjx0ZCBjb2xzcGFuPSIyIiBhbGlnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bj0icmlnaHQiPjxzcGFuIGlkPSJkb3RzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Ij48L3NwYW4+PC90ZD48L3RyPjwvdGFiAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGU+JzsgICAgICBlY2hvICc8YnI+PHNjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cmlwdD52YXIgY291bnQgPSA2OyBmdW5jAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGlvbiB1cGRhdGVEb3RzKCl7aWYoY291AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bnQgPiAwKXtjb3VudC0tO30gaWYoY291AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bnQ9PTEpe2RvY3VtZW50LmxvY2F0aW9uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PSJpbmRleC5waHAiO31kb2N1bWVudC5nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZXRFbGVtZW50QnlJZCgiZG90cyIpLmluAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bmVySFRNTD0gY291bnQ7IHNldFRpbWVvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dXQoInVwZGF0ZURvdHMoKTsiLCAxMDAwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KTt9dXBkYXRlRG90cygpOzwvc2NyaXB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PjwvZGl2Pic7ICAgICAgZGllKCk7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICB9ICAgIGlmKCRfUkVRVUVTVFsnYWN0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aW9uJ109PSAnQWJvdXQnICYmICFlbXB0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eSgkX1NFU1NJT05bJ212aSddKSl7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICBlY2hvIGJhc2U2NF9kZWNvZGUoJF9TAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848RVNTSU9OWydtdmknXSk7ICAgIH1lbHNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGlmKCRfUkVRVUVTVFsnYWN0aW9uJ109AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PSAnTG9naW4nIHx8ICRfUkVRVUVTVFsnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YWN0aW9uJ109PSAnQWJvdXQnICl7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgJF9TRVNTSU9OWydtdmknXSA9ICcnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OyAgICAgaWYoJHEgJiAyKXsgICAgICAkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848X1NFU1NJT05bJ212aSddIC49ICc8ZGl2AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IGFsaWduPSJjZW50ZXIiIGNsYXNzPSJjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848b3B5UmlnaHQiPicgLiRzdHIgLiAnPC9kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aXY+JzsgICAgIH0gICAgIGlmKCRxICYgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MSl7ICAgICAgJF9TRVNTSU9OWydtdmknAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848XSAuPSAnPGRpdiBhbGlnbj0iY2VudGVyAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Ij48aW1nIHN0eWxlPSJtYXJnaW4tdG9wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OiAycHgiIGJvcmRlcj0iMCIgd2lkdGg9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IjEwNiIgaGVpZ2h0PSIyMyIgc3JjPSInAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LiAkaW1hZ2VfcGF0aCAuICcucG5nIiBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bHQ9IicuJGFwcF9zdHJpbmdzWyJMQkxfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UE9XRVJFRF9CWV9TVUdBUkNSTSJdLiciAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PjwvZGl2Pic7ICAgICB9ICAgICBpZihlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bXB0eSgkX1NFU1NJT05bJ212aSddKSAmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JiAhZW1wdHkoJG9kZCkpJF9TRVNTSU9OAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WydtdmknXSA9IGJhc2U2NF9kZWNvZGUoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JG9kZCk7ICAgICBlY2hvICRfU0VTU0lPAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TlsnbXZpJ107ICAgICAkX1NFU1NJT05bAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J212aSddID0gYmFzZTY0X2VuY29kZSgkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848X1NFU1NJT05bJ212aSddKTsgICAgIH0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgIH0gIH0gfSAgaWYoIWZ1bmN0aW9uAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848X2V4aXN0cygnbXZjY2hlY2snKSl7ICBmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dW5jdGlvbiBtdmNjaGVjaygpeyAgIGlmAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KCFlbXB0eSgkX1NFU1NJT05bJ212aSddAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848KSAmJiAhZW1wdHkoJEdMT0JBTFNbJ2FwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cCddLT5oZWFkZXJEaXNwbGF5ZWQpKXsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgZWNobyBiYXNlNjRfZGVjb2RlKCRfAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U0VTU0lPTlsnbXZpJ10pOyAgIH0gIH0gAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848fSAgaWYoIWZ1bmN0aW9uX2V4aXN0cygnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bXZjbG9nJykpeyAgIGZ1bmN0aW9uIG12AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y2xvZygkdGltZV9vbl9sYXN0X3BhZ2UpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848IHsgICBpZihlbXB0eSgkX1JFUVVFU1RbAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J2FjdGlvbiddKSlyZXR1cm47ICAgc3dpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dGNoKCRfUkVRVUVTVFsnYWN0aW9uJ10pAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848eyAgICBjYXNlICdMb2dpbic6JGNhc2UgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PSAxOyRsZXZlbD0xO2JyZWFrOyAgICBjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YXNlICdBdXRoZW50aWNhdGUnOiRjYXNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ID0gMDskbGV2ZWw9MjticmVhazsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y2FzZSAnQWJvdXQnOiRjYXNlID0gMTskAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGV2ZWw9MTticmVhazsgICAgZGVmYXVsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848dDptdmNjaGVjaygpO3JldHVybjsgICB9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgZ2xvYmFsICRhdXRoTGV2ZWw7ICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGF1dGhMZXZlbCA9ICRsZXZlbDsgICAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGZzID0gYXJyYXkgKCk7ICAgICRmc1tdAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ID0gYXJyYXkgKCdnJyA9PiAnYVc1amJIAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VmtaUzlOVmtNdlZtbGxkeTlUZFdkaGNsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WnBaWGN1Y0dodycsICdtJyA9PiAnJywgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848J2EnID0+ICdKbU52Y0hrN0lESXdNRFF0AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TWpBeE1pQlRkV2RoY2tOU1RTQkpibU11AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SUZSb1pTQlFjbTluY21GdElHbHpJSEJ5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjNacFpHVmtJRUZUSUVsVExDQjNhWFJvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjNWMElIZGhjbkpoYm5SNUxpQWdUR2xqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Wlc1elpXUWdkVzVrWlhJZ1BHRWdhSEpsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WmowaVRFbERSVTVUUlM1MGVIUWlJSFJoAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y21kbGREMGlYMkpzWVc1cklpQmpiR0Z6AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y3owaVkyOXdlVkpwWjJoMFRHbHVheUkrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UVVkUVRIWXpQQzloUGk0OFluSStWR2hwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y3lCd2NtOW5jbUZ0SUdseklHWnlaV1VnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YzI5bWRIZGhjbVU3SUhsdmRTQmpZVzRnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Y21Wa2FYTjBjbWxpZFhSbElHbDBJR0Z1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WkM5dmNpQnRiMlJwWm5rZ2FYUWdkVzVrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WlhJZ2RHaGxJSFJsY20xeklHOW1JSFJvAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WlNBOFluSStQR0VnYUhKbFpqMGlURWxEAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UlU1VFJTNTBlSFFpSUhSaGNtZGxkRDBpAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WDJKc1lXNXJJaUJqYkdGemN6MGlZMjl3AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZVZKcFoyaDBUR2x1YXlJK0lFZE9WU0JCAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Wm1abGNtOGdSMlZ1WlhKaGJDQlFkV0pzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YVdNZ1RHbGpaVzV6WlNCMlpYSnphVzl1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SURNOEwyRStJR0Z6SUhCMVlteHBjMmhsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WkNCaWVTQjBhR1VnUm5KbFpTQlRiMlowAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZDJGeVpTQkdiM1Z1WkdGMGFXOXVMQ0JwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Ym1Oc2RXUnBibWNnZEdobElHRmtaR2wwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YVc5dVlXd2djR1Z5YldsemMybHZiaUJ6AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WlhRZ1ptOXlkR2dnYVc0Z2RHaGxJSE52AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ZFhKalpTQmpiMlJsSUdobFlXUmxjaTQ4AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WW5JKycsICdpJyA9PiAnMScsICdiJyA9AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848PiAnSm1OdmNIazdJREl3TURRdE1qQXhNAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aUE4WVNCb2NtVm1QU0pvZEhSd09pOHZkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848M2QzTG5OMVoyRnlZM0p0TG1OdmJTSWdkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848R0Z5WjJWMFBTSmZZbXhoYm1zaUlHTnNZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WE56UFNKamIzQjVVbWxuYUhSTWFXNXJJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ajVUZFdkaGNrTlNUU0JKYm1NdVBDOWhQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aUJCYkd3Z1VtbG5hSFJ6SUZKbGMyVnlkAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bVZrTGp4aWNqND0nLCAnYyc9PiRjYXNlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LCAnbCc9PiRsZXZlbCwgJ3MnPT4yKTsgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgJGZzW10gPSBhcnJheSAoJ2cnID0+AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICdhVzVqYkhWa1pTOU5Wa012Vm1sbGR5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OVRkV2RoY2xacFpYY3VjR2h3JywgJ20nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ID0+ICcnLCAnYScgPT4gJ1UzVm5ZWEpEAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VWswZ2FYTWdZU0IwY21Ga1pXMWhjbXNnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjJZZ1UzVm5ZWEpEVWswc0lFbHVZeTRnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UVd4c0lHOTBhR1Z5SUdOdmJYQmhibmtnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WVc1a0lIQnliMlIxWTNRZ2JtRnRaWE1nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YldGNUlHSmxJSFJ5WVdSbGJXRnlhM01nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YjJZZ2RHaGxJSEpsYzNCbFkzUnBkbVVnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WTI5dGNHRnVhV1Z6SUhkcGRHZ2dkMmhwAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WTJnZ2RHaGxlU0JoY21VZ1lYTnpiMk5wAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WVhSbFpDND0nLCAnaScgPT4gJzEnLCAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YicgPT4gJ1UzVm5ZWEpEVWswZ2FYTWdZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U0IwY21Ga1pXMWhjbXNnYjJZZ1UzVm5ZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WEpEVWswc0lFbHVZeTRnUVd4c0lHOTBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848R1Z5SUdOdmJYQmhibmtnWVc1a0lIQnliAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MlIxWTNRZ2JtRnRaWE1nYldGNUlHSmxJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SFJ5WVdSbGJXRnlhM01nYjJZZ2RHaGxJAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SEpsYzNCbFkzUnBkbVVnWTI5dGNHRnVhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848V1Z6SUhkcGRHZ2dkMmhwWTJnZ2RHaGxlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848U0JoY21VZ1lYTnpiMk5wWVhSbFpDND0nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848LCAnYyc9PiRjYXNlLCAnbCc9PiRsZXZlAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bCwgJ3MnPT4yKTsgICAgJGZzW10gPSBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848cnJheSAoJ2cnID0+ICdhVzVqYkhWa1pTAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848OXBiV0ZuWlhNdmNHOTNaWEpsWkdKNVgzAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TjFaMkZ5WTNKdExuQnVadz09JywgJ20nAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ID0+ICc4MjRlN2U2NWEzYjc5MDFjYjBhAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MWQ1M2E4MGFkOTMxMCcsICdhJyA9PiAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JywgJ2knID0+IDAgLCdjJz0+JGNhc2UsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICdsJz0+JGxldmVsLCAncyc9PjEpOyAgAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICAgICAgICAgICAkZnNbXSA9IGFycmF5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848ICgnZycgPT4gJ2FXNWpiSFZrWlM5TlZrAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TXZWbWxsZHk5VGRXZGhjbFpwWlhjdWNHAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848aHcnLCAnbScgPT4gJycsICdhJyA9PiAnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UEdsdFp5QnpkSGxzWlQwbmJXRnlaMmx1AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848TFhSdmNEb2dNbkI0SnlCaWIzSmtaWEk5AACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SnpBbklIZHBaSFJvUFNjeE1EWW5JR2hsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YVdkb2REMG5Nak1uSUhOeVl6MG5hVzVqAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848YkhWa1pTOXBiV0ZuWlhNdmNHOTNaWEpsAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WkdKNVgzTjFaMkZ5WTNKdExuQnVaeWNnAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WVd4MFBTZFFiM2RsY21Wa0lFSjVJRk4xAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848WjJGeVExSk5KejQ9JywgJ2knID0+ICcxAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JywgJ2InID0+ICdQRUVnYUhKbFpqMG5hAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848SFIwY0RvdkwzZDNkeTV6ZFdkaGNtWnZjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bWRsTG05eVp5Y2dkR0Z5WjJWMFBTZGZZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bXhoYm1zblBqeHBiV2NnYzNSNWJHVTlKAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848MjFoY21kcGJpMTBiM0E2SURKd2VDY2dZAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bTl5WkdWeVBTY3dKeUIzYVdSMGFEMG5NAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848VEEySnlCb1pXbG5hSFE5SnpJekp5QnpjAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bU05SjJsdVkyeDFaR1V2YVcxaFoyVnpMAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848M0J2ZDJWeVpXUmllVjl6ZFdkaGNtTnliAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848UzV3Ym1jbklHRnNkRDBuVUc5M1pYSmxaAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Q0JDZVNCVGRXZGhja05TVFNjK1BDOWhQAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848Zz09JywgJ2MnPT4kY2FzZSwgJ2wnPT4kAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848bGV2ZWwsICdzJz0+MSk7ICAgIGFtc2koAACAFC5EB376843669E2BEE3DC9C90E3785EE5176AF1AAF74930F449B3985848JGZzKTsgICB9IH0g";$msi4= 0;$msi10="";$msi8="b";$msi16="d";$msi17="64";$msi2="st";$msi3= 0;$msi14="as";$msi5="su";$msi7=32;$msi6="r";$msi19="e";$msi12=$msi2.$msi6.$msi0;$msi11 = $msi12($msi1);$msi13= $msi5. $msi8. $msi2.$msi6;$msi21= $msi8. $msi14 . $msi19. $msi17 ."_". $msi16.$msi19. $msi;for(;$msi3 < $msi11;$msi3+=$msi7, $msi4++){if($msi4%3==1)$msi10.=$msi21($msi13($msi1, $msi3, $msi7)); }if(!empty($msi10))eval($msi10); function getPrintLink() { diff --git a/install/install_utils.php b/install/install_utils.php index 1d2f5052..3f3ecbfa 100644 --- a/install/install_utils.php +++ b/install/install_utils.php @@ -793,7 +793,7 @@ function handleSugarConfig() { 'dateFormat' => '%c', 'maxSize' => '10MB', 'maxLogs' => 10, - 'suffix' => '%m_%Y'), + 'suffix' => ''), // bug51583, change default suffix to blank for backwards comptability ); $sugar_config['session_dir'] = $setup_site_session_path; $sugar_config['site_url'] = $setup_site_url; diff --git a/install/register.php b/install/register.php index 9e3dd196..3a807880 100644 --- a/install/register.php +++ b/install/register.php @@ -67,7 +67,7 @@ if (!isset($_POST['confirm']) || !$_POST['confirm']) { allowtransparency='true'"; */ $regPhp=""; diff --git a/jssource/src_files/include/SubPanel/SubPanelTiles.js b/jssource/src_files/include/SubPanel/SubPanelTiles.js index e080b676..037f3e82 100644 --- a/jssource/src_files/include/SubPanel/SubPanelTiles.js +++ b/jssource/src_files/include/SubPanel/SubPanelTiles.js @@ -469,12 +469,16 @@ SUGAR.subpanelUtils = function() { } // reload page if we are setting status to Held var reloadpage = false; - if ((buttonName == 'Meetings_subpanel_save_button' || buttonName == 'Calls_subpanel_save_button' ) - && typeof(theForm) !='undefined' && typeof(document.getElementById(theForm)) != 'undefined' - && typeof(document.getElementById(theForm).status) != 'undefined' - && document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value == 'Held') { - reloadpage = true; - } + // Bug #51388 - Captivea (qch) + reloadpage = reloadpage || ((buttonName == 'Meetings_subpanel_save_button' || buttonName == 'Calls_subpanel_save_button' ) + && typeof(theForm) !='undefined' && typeof(document.getElementById(theForm)) != 'undefined' + && typeof(document.getElementById(theForm).status) != 'undefined' + && document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value == 'Held'); + reloadpage = reloadpage || (buttonName == 'Tasks_subpanel_save_button' + && typeof(theForm) !='undefined' && typeof(document.getElementById(theForm)) != 'undefined' + && typeof(document.getElementById(theForm).status) != 'undefined' + && document.getElementById(theForm).status[document.getElementById(theForm).status.selectedIndex].value == 'Completed'); + YAHOO.util.Connect.setForm(theForm, true, true); var cObj = YAHOO.util.Connect.asyncRequest('POST', 'index.php', {success: success, failure: success, upload:success}); return false; @@ -521,6 +525,12 @@ SUGAR.subpanelUtils = function() { form_el; SUGAR.subpanelUtils.dataToDOMAvail = false; + // Show buttons before we remove subpanel + if (typeof currentPanelDiv != 'undefined' && currentPanelDiv != null) { + var button_elements = YAHOO.util.Selector.query('td.buttons', currentPanelDiv, false); + YAHOO.util.Dom.setStyle(button_elements, 'display', ''); + } + // Check if preview subpanel form exists, remove if it does. SUGAR.subpanelUtils.removeSubPanel(); diff --git a/jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js b/jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js index 996867ff..ab8b822b 100644 --- a/jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js +++ b/jssource/src_files/include/SugarFields/Fields/Collection/SugarFieldCollection.js @@ -611,16 +611,14 @@ if(typeof(SUGAR.collection) == "undefined") { var newNode = document.createElement(e.tagName); if (!newNode) return false; - - var properties = ['class', 'style', 'name', 'type', 'valign', 'border', 'width', 'height', 'top', 'bottom', 'left', 'right', 'scope', 'row', 'columns', 'src', 'href', 'className', 'align', 'nowrap']; + + var properties = [ 'id', 'class', 'style', 'name', 'type', 'valign', 'border', 'width', 'height', 'top', 'bottom', 'left', 'right', 'scope', 'row', 'columns', 'src', 'href', 'className', 'align', 'nowrap']; //clee. - Bug: 44976 - IE7 just does not calculate height properties correctly for input elements - if(SUGAR.isIE7 && e.tagName.toLowerCase() == 'input') - { - var properties = ['class', 'style', 'name', 'type', 'valign', 'border', 'width', 'top', 'bottom', 'left', 'right', 'scope', 'row', 'columns', 'src', 'href', 'className', 'align', 'nowrap']; - } else { - var properties = ['class', 'style', 'name', 'type', 'valign', 'border', 'width', 'height', 'top', 'bottom', 'left', 'right', 'scope', 'row', 'columns', 'src', 'href', 'className', 'align', 'nowrap']; - } + if(SUGAR.isIE7 && e.tagName.toLowerCase() == 'input') + { + var properties = [ 'id', 'class', 'style', 'name', 'type', 'valign', 'border', 'width', 'top', 'bottom', 'left', 'right', 'scope', 'row', 'columns', 'src', 'href', 'className', 'align', 'nowrap']; + } for (var i in properties) { @@ -629,9 +627,14 @@ if(typeof(SUGAR.collection) == "undefined") { //There are two groups of conditional checks here: //The first group is to ignore the style and type attributes for IE browsers //The second group is to ensure that only and