From 69b69e86a52362aaddf5e182ee37fcbba9f9c86d Mon Sep 17 00:00:00 2001
From: Kevin Cristiano <kcristiano@tadpole.cc>
Date: Thu, 17 May 2018 07:36:11 -0400
Subject: [PATCH] civicrm: 5.1.2 release

Signed-off-by: Kevin Cristiano <kcristiano@tadpole.cc>
---
 civicrm.php                                   |    3 +-
 civicrm/CRM/Case/Form/Task.php                |   74 +
 civicrm/CRM/Case/Form/Task/Delete.php         |    2 +-
 civicrm/CRM/Case/Form/Task/PDF.php            |    2 +-
 civicrm/CRM/Case/Form/Task/Restore.php        |    2 +-
 .../Case/Form/Task/SearchTaskHookSample.php   |    2 +-
 civicrm/CRM/Core/DAO.php                      |    1 -
 civicrm/CRM/Core/Form/Task.php                |   58 +-
 civicrm/CRM/Export/Form/Select.php            |  143 +-
 civicrm/CRM/Report/Form.php                   |    3 +
 civicrm/CRM/Report/Form/Member/Detail.php     |   16 -
 .../Upgrade/Incremental/sql/5.1.2.mysql.tpl   |    1 +
 .../bower_components/jquery-ui/.bower.json    |    3 +-
 civicrm/bower_components/jquery-ui/bower.json |    1 -
 civicrm/civicrm-version.php                   |    2 +-
 civicrm/release-notes.md                      |   10 +-
 civicrm/release-notes/5.1.2.md                |   41 +
 civicrm/sql/civicrm_data.mysql                |    2 +-
 civicrm/sql/civicrm_generated.mysql           |    4 +-
 civicrm/vendor/autoload.php                   |    2 +-
 civicrm/vendor/composer/ClassLoader.php       |    4 +-
 civicrm/vendor/composer/autoload_real.php     |   16 +-
 civicrm/vendor/composer/autoload_static.php   |   10 +-
 civicrm/vendor/composer/installed.json        | 1212 ++++++++---------
 civicrm/xml/version.xml                       |    2 +-
 25 files changed, 838 insertions(+), 778 deletions(-)
 create mode 100644 civicrm/CRM/Upgrade/Incremental/sql/5.1.2.mysql.tpl
 create mode 100644 civicrm/release-notes/5.1.2.md

diff --git a/civicrm.php b/civicrm.php
index b2a3219a28..b0ddbbd1cf 100644
--- a/civicrm.php
+++ b/civicrm.php
@@ -2,11 +2,10 @@
 /*
 Plugin Name: CiviCRM
 Description: CiviCRM - Growing and Sustaining Relationships
-Version: 5.1.1
+Version: 5.1.2
 Author: CiviCRM LLC
 Author URI: https://civicrm.org/
 Plugin URI: https://wiki.civicrm.org/confluence/display/CRMDOC/Installing+CiviCRM+for+WordPress
-GitLab Plugin URI: https://develop.tadpole.cc/plugins/civicrm
 License: AGPL3
 Text Domain: civicrm
 Domain Path: /languages
diff --git a/civicrm/CRM/Case/Form/Task.php b/civicrm/CRM/Case/Form/Task.php
index ddd733e910..3a5c4f1d7f 100644
--- a/civicrm/CRM/Case/Form/Task.php
+++ b/civicrm/CRM/Case/Form/Task.php
@@ -40,6 +40,80 @@ class CRM_Case_Form_Task extends CRM_Core_Form_Task {
   // Must be set to entity shortname (eg. event)
   static $entityShortname = 'case';
 
+  /**
+   * Deprecated copy of $_entityIds
+   *
+   * @var array
+   * @deprecated
+   */
+  public $_caseIds;
+
+  /**
+   * Build all the data structures needed to build the form.
+   */
+  public function preProcess() {
+    self::preProcessCommon($this);
+  }
+
+  /**
+   * @param CRM_Core_Form $form
+   */
+  public static function preProcessCommon(&$form) {
+    $form->_caseIds = array();
+
+    $values = $form->controller->exportValues($form->get('searchFormName'));
+
+    $form->_task = $values['task'];
+    $caseTasks = CRM_Case_Task::tasks();
+    $form->assign('taskName', $caseTasks[$form->_task]);
+
+    $ids = array();
+    if ($values['radio_ts'] == 'ts_sel') {
+      foreach ($values as $name => $value) {
+        if (substr($name, 0, CRM_Core_Form::CB_PREFIX_LEN) == CRM_Core_Form::CB_PREFIX) {
+          $ids[] = substr($name, CRM_Core_Form::CB_PREFIX_LEN);
+        }
+      }
+    }
+    else {
+      $queryParams = $form->get('queryParams');
+      $query = new CRM_Contact_BAO_Query($queryParams, NULL, NULL, FALSE, FALSE,
+        CRM_Contact_BAO_Query::MODE_CASE
+      );
+      $query->_distinctComponentClause = " ( civicrm_case.id )";
+      $query->_groupByComponentClause = " GROUP BY civicrm_case.id ";
+      $result = $query->searchQuery(0, 0, NULL);
+      while ($result->fetch()) {
+        $ids[] = $result->case_id;
+      }
+    }
+
+    if (!empty($ids)) {
+      $form->_componentClause = ' civicrm_case.id IN ( ' . implode(',', $ids) . ' ) ';
+      $form->assign('totalSelectedCases', count($ids));
+    }
+
+    $form->_caseIds = $form->_entityIds = $form->_componentIds = $ids;
+
+    //set the context for redirection for any task actions
+    $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
+    $urlParams = 'force=1';
+    if (CRM_Utils_Rule::qfKey($qfKey)) {
+      $urlParams .= "&qfKey=$qfKey";
+    }
+
+    $session = CRM_Core_Session::singleton();
+    $searchFormName = strtolower($form->get('searchFormName'));
+    if ($searchFormName == 'search') {
+      $session->replaceUserContext(CRM_Utils_System::url('civicrm/case/search', $urlParams));
+    }
+    else {
+      $session->replaceUserContext(CRM_Utils_System::url("civicrm/contact/search/$searchFormName",
+        $urlParams
+      ));
+    }
+  }
+
   /**
    * @inheritDoc
    */
diff --git a/civicrm/CRM/Case/Form/Task/Delete.php b/civicrm/CRM/Case/Form/Task/Delete.php
index bbd1e52b49..bd7d4b31a7 100644
--- a/civicrm/CRM/Case/Form/Task/Delete.php
+++ b/civicrm/CRM/Case/Form/Task/Delete.php
@@ -73,7 +73,7 @@ class CRM_Case_Form_Task_Delete extends CRM_Case_Form_Task {
    */
   public function postProcess() {
     $deleted = $failed = 0;
-    foreach ($this->_entityIds as $caseId) {
+    foreach ($this->_caseIds as $caseId) {
       if (CRM_Case_BAO_Case::deleteCase($caseId, $this->_moveToTrash)) {
         $deleted++;
       }
diff --git a/civicrm/CRM/Case/Form/Task/PDF.php b/civicrm/CRM/Case/Form/Task/PDF.php
index 458a709a10..881dcac765 100644
--- a/civicrm/CRM/Case/Form/Task/PDF.php
+++ b/civicrm/CRM/Case/Form/Task/PDF.php
@@ -86,7 +86,7 @@ class CRM_Case_Form_Task_PDF extends CRM_Case_Form_Task {
    */
   public function listTokens() {
     $tokens = CRM_Core_SelectValues::contactTokens();
-    foreach ($this->_entityIds as $key => $caseId) {
+    foreach ($this->_componentIds as $key => $caseId) {
       $caseTypeId = CRM_Core_DAO::getFieldValue('CRM_Case_DAO_Case', $caseId, 'case_type_id');
       $tokens += CRM_Core_SelectValues::caseTokens($caseTypeId);
     }
diff --git a/civicrm/CRM/Case/Form/Task/Restore.php b/civicrm/CRM/Case/Form/Task/Restore.php
index db18f093ba..855863ae56 100644
--- a/civicrm/CRM/Case/Form/Task/Restore.php
+++ b/civicrm/CRM/Case/Form/Task/Restore.php
@@ -63,7 +63,7 @@ class CRM_Case_Form_Task_Restore extends CRM_Case_Form_Task {
    */
   public function postProcess() {
     $restoredCases = $failed = 0;
-    foreach ($this->_entityIds as $caseId) {
+    foreach ($this->_caseIds as $caseId) {
       if (CRM_Case_BAO_Case::restoreCase($caseId)) {
         $restoredCases++;
       }
diff --git a/civicrm/CRM/Case/Form/Task/SearchTaskHookSample.php b/civicrm/CRM/Case/Form/Task/SearchTaskHookSample.php
index 443eb9d5ba..eced57d41f 100644
--- a/civicrm/CRM/Case/Form/Task/SearchTaskHookSample.php
+++ b/civicrm/CRM/Case/Form/Task/SearchTaskHookSample.php
@@ -44,7 +44,7 @@ class CRM_Case_Form_Task_SearchTaskHookSample extends CRM_Case_Form_Task {
     parent::preProcess();
     $rows = array();
     // display name and email of all contact ids
-    $caseIDs = implode(',', $this->_entityIds);
+    $caseIDs = implode(',', $this->_caseIds);
     $statusId = CRM_Core_DAO::getFieldValue('CRM_Core_DAO_OptionGroup', 'case_status', 'id', 'name');
     $query = "
 SELECT ct.display_name as display_name,
diff --git a/civicrm/CRM/Core/DAO.php b/civicrm/CRM/Core/DAO.php
index 45f2760a74..4dbfd0dafc 100644
--- a/civicrm/CRM/Core/DAO.php
+++ b/civicrm/CRM/Core/DAO.php
@@ -1686,7 +1686,6 @@ FROM   civicrm_domain
    * @param $componentIDs
    * @param string $tableName
    * @param string $idField
-   *
    * @return array
    */
   public static function getContactIDsFromComponent($componentIDs, $tableName, $idField = 'id') {
diff --git a/civicrm/CRM/Core/Form/Task.php b/civicrm/CRM/Core/Form/Task.php
index 3342d30bb9..46094fe388 100644
--- a/civicrm/CRM/Core/Form/Task.php
+++ b/civicrm/CRM/Core/Form/Task.php
@@ -77,30 +77,16 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
 
   /**
    * Build all the data structures needed to build the form.
-   *
-   * @throws \CRM_Core_Exception
    */
   public function preProcess() {
-    self::preProcessCommon($this);
-  }
-
-  /**
-   * Common pre-processing function.
-   *
-   * @param CRM_Core_Form $form
-   * @param bool $useTable FIXME This parameter could probably be deprecated as it's not used here
-   *
-   * @throws \CRM_Core_Exception
-   */
-  public static function preProcessCommon(&$form, $useTable = FALSE) {
-    $form->_entityIds = array();
+    $this->_entityIds = array();
 
-    $values = $form->controller->exportValues($form->get('searchFormName'));
+    $values = $this->controller->exportValues($this->get('searchFormName'));
 
-    $form->_task = $values['task'];
-    $className = 'CRM_' . ucfirst($form::$entityShortname) . '_Task';
+    $this->_task = $values['task'];
+    $className = 'CRM_' . ucfirst($this::$entityShortname) . '_Task';
     $entityTasks = $className::tasks();
-    $form->assign('taskName', $entityTasks[$form->_task]);
+    $this->assign('taskName', $entityTasks[$this->_task]);
 
     $ids = array();
     if ($values['radio_ts'] == 'ts_sel') {
@@ -111,48 +97,42 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
       }
     }
     else {
-      $queryParams = $form->get('queryParams');
+      $queryParams = $this->get('queryParams');
       $sortOrder = NULL;
-      if ($form->get(CRM_Utils_Sort::SORT_ORDER)) {
-        $sortOrder = $form->get(CRM_Utils_Sort::SORT_ORDER);
+      if ($this->get(CRM_Utils_Sort::SORT_ORDER)) {
+        $sortOrder = $this->get(CRM_Utils_Sort::SORT_ORDER);
       }
 
       $query = new CRM_Contact_BAO_Query($queryParams, NULL, NULL, FALSE, FALSE,
         CRM_Contact_BAO_Query::MODE_CASE
       );
-      $query->_distinctComponentClause = " ( " . $form::$tableName . ".id )";
-      $query->_groupByComponentClause = " GROUP BY " . $form::$tableName . ".id ";
+      $query->_distinctComponentClause = " ( " . $this::$tableName . ".id )";
+      $query->_groupByComponentClause = " GROUP BY " . $this::$tableName . ".id ";
       $result = $query->searchQuery(0, 0, $sortOrder);
-      $selector = $form::$entityShortname . '_id';
+      $selector = $this::$entityShortname . '_id';
       while ($result->fetch()) {
         $ids[] = $result->$selector;
       }
     }
 
     if (!empty($ids)) {
-      $form->_componentClause = ' ' . $form::$tableName . '.id IN ( ' . implode(',', $ids) . ' ) ';
-      $form->assign('totalSelected' . ucfirst($form::$entityShortname) . 's', count($ids));
+      $this->_componentClause = ' ' . $this::$tableName . '.id IN ( ' . implode(',', $ids) . ' ) ';
+      $this->assign('totalSelected' . ucfirst($this::$entityShortname) . 's', count($ids));
     }
 
-    $form->_entityIds = $form->_componentIds = $ids;
-
-    // Some functions (eg. PDF letter tokens) rely on Ids being in specific fields rather than the generic $form->_entityIds
-    // So we set that specific field here (eg. for cases $form->_caseIds = $form->_entityIds).
-    // FIXME: This is really to handle legacy code that should probably be updated to use $form->_entityIds
-    $entitySpecificIdsName = '_' . $form::$entityShortname . 'Ids';
-    $form->$entitySpecificIdsName = $form->_entityIds;
+    $this->_entityIds = $this->_componentIds = $ids;
 
     //set the context for redirection for any task actions
-    $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $form);
+    $qfKey = CRM_Utils_Request::retrieve('qfKey', 'String', $this);
     $urlParams = 'force=1';
     if (CRM_Utils_Rule::qfKey($qfKey)) {
       $urlParams .= "&qfKey=$qfKey";
     }
 
     $session = CRM_Core_Session::singleton();
-    $searchFormName = strtolower($form->get('searchFormName'));
+    $searchFormName = strtolower($this->get('searchFormName'));
     if ($searchFormName == 'search') {
-      $session->replaceUserContext(CRM_Utils_System::url('civicrm/' . $form::$entityShortname . '/search', $urlParams));
+      $session->replaceUserContext(CRM_Utils_System::url('civicrm/' . $this::$entityShortname . '/search', $urlParams));
     }
     else {
       $session->replaceUserContext(CRM_Utils_System::url("civicrm/contact/search/$searchFormName",
@@ -162,8 +142,8 @@ abstract class CRM_Core_Form_Task extends CRM_Core_Form {
   }
 
   /**
-   * Given the entity id, compute the contact id since its used for things like send email
-   * For example, for cases we need to override this function as the table name is civicrm_case_contact
+   * Given the signer id, compute the contact id
+   * since its used for things like send email
    */
   public function setContactIDs() {
     $this->_contactIds = &CRM_Core_DAO::getContactIDsFromComponent($this->_entityIds,
diff --git a/civicrm/CRM/Export/Form/Select.php b/civicrm/CRM/Export/Form/Select.php
index 30dbe68a83..732391d6dd 100644
--- a/civicrm/CRM/Export/Form/Select.php
+++ b/civicrm/CRM/Export/Form/Select.php
@@ -70,20 +70,6 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
 
   public $_componentTable;
 
-  /**
-   * Must be set to entity table name (eg. civicrm_participant) by child class
-   *
-   * @var string
-   */
-  static $tableName = NULL;
-
-  /**
-   * Must be set to entity shortname (eg. event)
-   *
-   * @var string
-   */
-  static $entityShortname = NULL;
-
   /**
    * Build all the data structures needed to build the form.
    *
@@ -112,67 +98,6 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
     $formName = CRM_Utils_System::getClassName($stateMachine);
     $isStandalone = $formName == 'CRM_Export_StateMachine_Standalone';
 
-    // we need to determine component export
-    $componentName = explode('_', $formName);
-    $components = array('Contact', 'Contribute', 'Member', 'Event', 'Pledge', 'Case', 'Grant', 'Activity');
-
-    if ($isStandalone) {
-      $componentName = array('CRM', $this->controller->get('entity'));
-    }
-
-    $componentMode = $this->controller->get('component_mode');
-    // FIXME: This should use a modified version of CRM_Contact_Form_Search::getModeValue but it doesn't have all the contexts
-    switch ($componentMode) {
-      case CRM_Contact_BAO_Query::MODE_CONTRIBUTE:
-        $entityShortname = 'Contribute';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_MEMBER:
-        $entityShortname = 'Member';
-        $entityDAOName = 'Membership';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_EVENT:
-        $entityShortname = 'Event';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_PLEDGE:
-        $entityShortname = 'Pledge';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_CASE:
-        $entityShortname = 'Case';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_GRANT:
-        $entityShortname = 'Grant';
-        break;
-
-      case CRM_Contact_BAO_Query::MODE_ACTIVITY:
-        $entityShortname = 'Activity';
-        break;
-
-      default:
-        $entityShortname = $componentName[1]; // Contact
-        break;
-    }
-
-    if (in_array($entityShortname, $components)) {
-      $this->_exportMode = constant('CRM_Export_Form_Select::' . strtoupper($entityShortname) . '_EXPORT');
-      $formTaskClassName = "CRM_{$entityShortname}_Form_Task";
-      $taskClassName = "CRM_{$entityShortname}_Task";
-      if (isset($formTaskClassName::$entityShortname)) {
-        $this::$entityShortname = $formTaskClassName::$entityShortname;
-        if (isset($formTaskClassName::$tableName)) {
-          $this::$tableName = $formTaskClassName::$tableName;
-        }
-      }
-      else {
-        $this::$entityShortname = $entityShortname;
-        $this::$tableName = CRM_Core_DAO_AllCoreTables::getTableForClass(CRM_Core_DAO_AllCoreTables::getFullName($entityDAOName));
-      }
-    }
-
     // get the submitted values based on search
     if ($this->_action == CRM_Core_Action::ADVANCED) {
       $values = $this->controller->exportValues('Advanced');
@@ -184,7 +109,18 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
       $values = $this->controller->exportValues('Custom');
     }
     else {
-      if (in_array($entityShortname, $components)) {
+      // we need to determine component export
+      $componentName = explode('_', $formName);
+      $components = array('Contribute', 'Member', 'Event', 'Pledge', 'Case', 'Grant', 'Activity');
+
+      if ($isStandalone) {
+        $componentName = array('CRM', $this->controller->get('entity'));
+      }
+
+      if (in_array($componentName[1], $components)) {
+        $this->_exportMode = constant('CRM_Export_Form_Select::' . strtoupper($componentName[1]) . '_EXPORT');
+        $className = "CRM_{$componentName[1]}_Form_Task";
+        $className::preProcessCommon($this, !$isStandalone);
         $values = $this->controller->exportValues('Search');
       }
       else {
@@ -206,17 +142,53 @@ class CRM_Export_Form_Select extends CRM_Core_Form {
       }
     }
 
-    $formTaskClassName::preProcessCommon($this, !$isStandalone);
+    $componentMode = $this->get('component_mode');
+    switch ($componentMode) {
+      case 2:
+        CRM_Contribute_Form_Task::preProcessCommon($this, !$isStandalone);
+        $this->_exportMode = self::CONTRIBUTE_EXPORT;
+        $componentName = array('', 'Contribute');
+        break;
 
-    // $component is used on CRM/Export/Form/Select.tpl to display extra information for contact export
-    ($this->_exportMode == self::CONTACT_EXPORT) ? $component = FALSE : $component = TRUE;
-    $this->assign('component', $component);
+      case 3:
+        CRM_Event_Form_Task::preProcessCommon($this, !$isStandalone);
+        $this->_exportMode = self::EVENT_EXPORT;
+        $componentName = array('', 'Event');
+        break;
+
+      case 4:
+        CRM_Activity_Form_Task::preProcessCommon($this, !$isStandalone);
+        $this->_exportMode = self::ACTIVITY_EXPORT;
+        $componentName = array('', 'Activity');
+        break;
+
+      case 5:
+        CRM_Member_Form_Task::preProcessCommon($this, !$isStandalone);
+        $this->_exportMode = self::MEMBER_EXPORT;
+        $componentName = array('', 'Member');
+        break;
+
+      case 6:
+        CRM_Case_Form_Task::preProcessCommon($this, !$isStandalone);
+        $this->_exportMode = self::CASE_EXPORT;
+        $componentName = array('', 'Case');
+        break;
+    }
 
-    // Set the task title
-    $componentTasks = $taskClassName::taskTitles();
     $this->_task = $values['task'];
-    $taskName = $componentTasks[$this->_task];
-    $this->assign('taskName', $taskName);
+    if ($this->_exportMode == self::CONTACT_EXPORT) {
+      $contactTasks = CRM_Contact_Task::taskTitles();
+      $taskName = $contactTasks[$this->_task];
+      $component = FALSE;
+      CRM_Contact_Form_Task::preProcessCommon($this, !$isStandalone);
+    }
+    else {
+      $this->assign('taskName', "Export $componentName[1]");
+      $className = "CRM_{$componentName[1]}_Task";
+      $componentTasks = $className::tasks();
+      $taskName = $componentTasks[$this->_task];
+      $component = TRUE;
+    }
 
     if ($this->_componentTable) {
       $query = "
@@ -229,7 +201,8 @@ FROM   {$this->_componentTable}
       $totalSelectedRecords = count($this->_componentIds);
     }
     $this->assign('totalSelectedRecords', $totalSelectedRecords);
-
+    $this->assign('taskName', $taskName);
+    $this->assign('component', $component);
     // all records actions = save a search
     if (($values['radio_ts'] == 'ts_all') || ($this->_task == CRM_Contact_Task::SAVE_SEARCH)) {
       $this->_selectAll = TRUE;
diff --git a/civicrm/CRM/Report/Form.php b/civicrm/CRM/Report/Form.php
index 6f8d36c894..7d323eba38 100644
--- a/civicrm/CRM/Report/Form.php
+++ b/civicrm/CRM/Report/Form.php
@@ -2750,6 +2750,9 @@ WHERE cg.extends IN ('" . implode("','", $this->_customGroupExtends) . "') AND
    */
   public function buildRows($sql, &$rows) {
     $dao = CRM_Core_DAO::executeQuery($sql);
+    if (stristr($this->_select, 'SQL_CALC_FOUND_ROWS')) {
+      $this->_rowsFound = CRM_Core_DAO::singleValueQuery('SELECT FOUND_ROWS()');
+    }
     CRM_Core_DAO::reenableFullGroupByMode();
     if (!is_array($rows)) {
       $rows = array();
diff --git a/civicrm/CRM/Report/Form/Member/Detail.php b/civicrm/CRM/Report/Form/Member/Detail.php
index 8b3f75660f..6afc920894 100644
--- a/civicrm/CRM/Report/Form/Member/Detail.php
+++ b/civicrm/CRM/Report/Form/Member/Detail.php
@@ -303,22 +303,6 @@ class CRM_Report_Form_Member_Detail extends CRM_Report_Form {
     }
   }
 
-  public function postProcess() {
-
-    $this->beginPostProcess();
-
-    // get the acl clauses built before we assemble the query
-    $this->buildACLClause($this->_aliases['civicrm_contact']);
-    $sql = $this->buildQuery(TRUE);
-
-    $rows = array();
-    $this->buildRows($sql, $rows);
-
-    $this->formatDisplay($rows);
-    $this->doTemplateAssignment($rows);
-    $this->endPostProcess($rows);
-  }
-
   /**
    * Alter display of rows.
    *
diff --git a/civicrm/CRM/Upgrade/Incremental/sql/5.1.2.mysql.tpl b/civicrm/CRM/Upgrade/Incremental/sql/5.1.2.mysql.tpl
new file mode 100644
index 0000000000..cd7e235ec3
--- /dev/null
+++ b/civicrm/CRM/Upgrade/Incremental/sql/5.1.2.mysql.tpl
@@ -0,0 +1 @@
+{* file to handle db changes in 5.1.2 during upgrade *}
diff --git a/civicrm/bower_components/jquery-ui/.bower.json b/civicrm/bower_components/jquery-ui/.bower.json
index a37977e293..69ba102964 100644
--- a/civicrm/bower_components/jquery-ui/.bower.json
+++ b/civicrm/bower_components/jquery-ui/.bower.json
@@ -5,7 +5,6 @@
     "jquery-ui.js"
   ],
   "ignore": [],
-  "license": "MIT",
   "dependencies": {
     "jquery": ">=1.6"
   },
@@ -14,7 +13,7 @@
   "_resolution": {
     "type": "version",
     "tag": "1.12.1",
-    "commit": "44ecf3794cc56b65954cc19737234a3119d036cc"
+    "commit": "dec4c50123193d4f7c8ae6cd0bff45478e1ad276"
   },
   "_source": "https://github.com/components/jqueryui.git",
   "_target": ">=1.9",
diff --git a/civicrm/bower_components/jquery-ui/bower.json b/civicrm/bower_components/jquery-ui/bower.json
index 965aba7b03..cc0cf5ba93 100644
--- a/civicrm/bower_components/jquery-ui/bower.json
+++ b/civicrm/bower_components/jquery-ui/bower.json
@@ -6,7 +6,6 @@
   ],
   "ignore": [
   ],
-  "license": "MIT",
   "dependencies": {
     "jquery": ">=1.6"
   }
diff --git a/civicrm/civicrm-version.php b/civicrm/civicrm-version.php
index 645b7a54ca..3c2709960e 100644
--- a/civicrm/civicrm-version.php
+++ b/civicrm/civicrm-version.php
@@ -1,6 +1,6 @@
 <?php
 function civicrmVersion( ) {
-  return array( 'version'  => '5.1.1',
+  return array( 'version'  => '5.1.2',
                 'cms'      => 'Wordpress',
                 'revision' => '' );
 }
diff --git a/civicrm/release-notes.md b/civicrm/release-notes.md
index 7f7a37b8ea..cc16e4c21b 100644
--- a/civicrm/release-notes.md
+++ b/civicrm/release-notes.md
@@ -14,6 +14,15 @@ Other resources for identifying changes are:
     * https://github.com/civicrm/civicrm-joomla
     * https://github.com/civicrm/civicrm-wordpress
 
+## CiviCRM 5.1.2
+
+Released May 16, 2018
+
+- **[Synopsis](release-notes/5.1.2.md#synopsis)**
+- **[Bugs resolved](release-notes/5.1.2.md#bugs)**
+- **[Credits](release-notes/5.1.2.md#credits)**
+- **[Feedback](release-notes/5.1.2.md#feedback)**
+
 ## CiviCRM 5.1.1
 
 Released May 15, 2018
@@ -24,7 +33,6 @@ Released May 15, 2018
 - **[Credits](release-notes/5.1.1.md#credits)**
 - **[Feedback](release-notes/5.1.1.md#feedback)**
 
-
 ## CiviCRM 5.1.0
 
 Released May 2, 2018
diff --git a/civicrm/release-notes/5.1.2.md b/civicrm/release-notes/5.1.2.md
new file mode 100644
index 0000000000..861e6a70d2
--- /dev/null
+++ b/civicrm/release-notes/5.1.2.md
@@ -0,0 +1,41 @@
+# CiviCRM 5.1.2
+
+Released May 16, 2018
+
+- **[Synopsis](#synopsis)**
+- **[Bugs resolved](#bugs)**
+- **[Credits](#credits)**
+- **[Feedback](#feedback)**
+
+## <a name="synopsis"></a>Synopsis
+
+| *Does this version...?*                                         |         |
+|:--------------------------------------------------------------- |:-------:|
+| Fix security vulnerabilities?                                   |   no    |
+| Change the database schema?                                     |   no    |
+| Alter the API?                                                  |   no    |
+| Require attention to configuration options?                     |   no    |
+| Fix problems installing or upgrading to a previous version?     |   no    |
+| Introduce features?                                             |   no    |
+| **Fix bugs?**                                                   | **yes** |
+
+## <a name="bugs"></a>Bugs resolved
+
+- **Fix regression in 5.1.1 due to incomplete backport
+  ([12147](https://github.com/civicrm/civicrm-core/pull/12147),
+  [12149](https://github.com/civicrm/civicrm-core/pull/12149),
+  [12151](https://github.com/civicrm/civicrm-core/pull/12151))**
+
+## <a name="credits"></a>Credits
+
+This release was developed by the following authors and reviewers:
+
+Australian Greens - Seamus Lee; CiviCRM - Coleman Watts; JMA Consulting -
+Monish Deb; Tadpole Collective - Kevin Cristiano; Wikimedia Foundation -
+Eileen McNaughton
+
+## <a name="feedback"></a>Feedback
+
+These release notes are edited by Tim Otten and Andrew Hunt.  If you'd like to
+provide feedback on them, please login to https://chat.civicrm.org/civicrm and
+contact `@agh1`.
diff --git a/civicrm/sql/civicrm_data.mysql b/civicrm/sql/civicrm_data.mysql
index c4c8ebb717..fad0a8d794 100644
--- a/civicrm/sql/civicrm_data.mysql
+++ b/civicrm/sql/civicrm_data.mysql
@@ -23961,4 +23961,4 @@ INSERT INTO `civicrm_report_instance`
     ( `domain_id`, `title`, `report_id`, `description`, `permission`, `form_values`)
 VALUES
     (  @domainID, 'Survey Details', 'survey/detail', 'Detailed report for canvassing, phone-banking, walk lists or other surveys.', 'access CiviReport', 'a:39:{s:6:"fields";a:2:{s:9:"sort_name";s:1:"1";s:6:"result";s:1:"1";}s:22:"assignee_contact_id_op";s:2:"eq";s:25:"assignee_contact_id_value";s:0:"";s:12:"sort_name_op";s:3:"has";s:15:"sort_name_value";s:0:"";s:17:"street_number_min";s:0:"";s:17:"street_number_max";s:0:"";s:16:"street_number_op";s:3:"lte";s:19:"street_number_value";s:0:"";s:14:"street_name_op";s:3:"has";s:17:"street_name_value";s:0:"";s:15:"postal_code_min";s:0:"";s:15:"postal_code_max";s:0:"";s:14:"postal_code_op";s:3:"lte";s:17:"postal_code_value";s:0:"";s:7:"city_op";s:3:"has";s:10:"city_value";s:0:"";s:20:"state_province_id_op";s:2:"in";s:23:"state_province_id_value";a:0:{}s:13:"country_id_op";s:2:"in";s:16:"country_id_value";a:0:{}s:12:"survey_id_op";s:2:"in";s:15:"survey_id_value";a:0:{}s:12:"status_id_op";s:2:"eq";s:15:"status_id_value";s:1:"1";s:11:"custom_1_op";s:2:"in";s:14:"custom_1_value";a:0:{}s:11:"custom_2_op";s:2:"in";s:14:"custom_2_value";a:0:{}s:17:"custom_3_relative";s:1:"0";s:13:"custom_3_from";s:0:"";s:11:"custom_3_to";s:0:"";s:11:"description";s:75:"Detailed report for canvassing, phone-banking, walk lists or other surveys.";s:13:"email_subject";s:0:"";s:8:"email_to";s:0:"";s:8:"email_cc";s:0:"";s:10:"permission";s:17:"access CiviReport";s:6:"groups";s:0:"";s:9:"domain_id";i:1;}');
-UPDATE civicrm_domain SET version = '5.1.1';
+UPDATE civicrm_domain SET version = '5.1.2';
diff --git a/civicrm/sql/civicrm_generated.mysql b/civicrm/sql/civicrm_generated.mysql
index 43aa777c9f..b74dad99af 100644
--- a/civicrm/sql/civicrm_generated.mysql
+++ b/civicrm/sql/civicrm_generated.mysql
@@ -398,7 +398,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_domain` WRITE;
 /*!40000 ALTER TABLE `civicrm_domain` DISABLE KEYS */;
-INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'5.1.1',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
+INSERT INTO `civicrm_domain` (`id`, `name`, `description`, `config_backend`, `version`, `contact_id`, `locales`, `locale_custom_strings`) VALUES (1,'Default Domain Name',NULL,NULL,'5.1.2',1,NULL,'a:1:{s:5:\"en_US\";a:0:{}}');
 /*!40000 ALTER TABLE `civicrm_domain` ENABLE KEYS */;
 UNLOCK TABLES;
 
@@ -703,7 +703,7 @@ UNLOCK TABLES;
 
 LOCK TABLES `civicrm_mailing_bounce_pattern` WRITE;
 /*!40000 ALTER TABLE `civicrm_mailing_bounce_pattern` DISABLE KEYS */;
-INSERT INTO `civicrm_mailing_bounce_pattern` (`id`, `bounce_type_id`, `pattern`) VALUES (1,1,'Client TOS Notification'),(2,2,'(be|am)? (out of|away from) (the|my)? (office|computer|town)'),(3,2,'i am on vacation'),(4,3,'name(server entry| lookup failure)'),(5,3,'no (mail server|matches to nameserver query|dns entries)'),(6,3,'reverse dns entry'),(7,3,'Host or domain name not found'),(8,3,'Unable to resolve MX record for'),(9,4,'(unknown|not local) host'),(10,4,'all hosts have been failing'),(11,4,'allowed rcpthosts'),(12,4,'connection (refused|timed out)'),(13,4,'not connected'),(14,4,'couldn\'t find any host named'),(15,4,'error involving remote host'),(16,4,'host unknown'),(17,4,'invalid host name'),(18,4,'isn\'t in my control/locals file'),(19,4,'local configuration error'),(20,4,'not a gateway'),(21,4,'server is (down or unreachable|not responding)'),(22,4,'too many connections'),(23,4,'unable to connect'),(24,4,'lost connection'),(25,4,'conversation with [^ ]* timed out while'),(26,4,'server requires authentication'),(27,4,'authentication (is )?required'),(28,5,'(my )?e-?mail( address)? has changed'),(29,5,'account (inactive|expired|deactivated)'),(30,5,'account is locked'),(31,5,'changed w+( e-?mail)? address'),(32,5,'deactivated mailbox'),(33,5,'disabled or discontinued'),(34,5,'inactive user'),(35,5,'is inactive on this domain'),(36,5,'mail receiving disabled'),(37,5,'mail( ?)address is administrative?ly disabled'),(38,5,'mailbox (temporarily disabled|currently suspended)'),(39,5,'no longer (accepting mail|on server|in use|with|employed|on staff|works for|using this account)'),(40,5,'not accepting (mail|messages)'),(41,5,'please use my new e-?mail address'),(42,5,'this address no longer accepts mail'),(43,5,'user account suspended'),(44,5,'account that you tried to reach is disabled'),(45,5,'User banned'),(46,6,'(user|recipient( name)?) is not recognized'),(47,6,'554 delivery error'),(48,6,'address does not exist'),(49,6,'address(es)?( you (entered|specified))? (could|was)( not|n.t)( be)? found'),(50,6,'address(ee)? (unknown|invalid)'),(51,6,'bad destination'),(52,6,'badly formatted address'),(53,6,'can\'t open mailbox for'),(54,6,'cannot deliver'),(55,6,'delivery to the following recipient(s)? failed'),(56,6,'destination addresses were unknown'),(57,6,'did not reach the following recipient'),(58,6,'does not exist'),(59,6,'does not like recipient'),(60,6,'does not specify a valid notes mail file'),(61,6,'illegal alias'),(62,6,'invalid (mailbox|(e-?mail )?address|recipient|final delivery)'),(63,6,'invalid( or unknown)?( virtual)? user'),(64,6,'(mail )?delivery (to this user )?is not allowed'),(65,6,'mailbox (not found|unavailable|name not allowed)'),(66,6,'message could not be forwarded'),(67,6,'missing or malformed local(-| )part'),(68,6,'no e-?mail address registered'),(69,6,'no such (mail drop|mailbox( \\w+)?|(e-?mail )?address|recipient|(local )?user|person)( here)?'),(70,6,'no mailbox (here )?by that name'),(71,6,'not (listed in|found in directory|known at this site|our customer)'),(72,6,'not a valid( (user|mailbox))?'),(73,6,'not present in directory entry'),(74,6,'recipient (does not exist|(is )?unknown|rejected|denied|not found)'),(75,6,'this user doesn\'t have a yahoo.com address'),(76,6,'unavailable to take delivery of the message'),(77,6,'unavailable mailbox'),(78,6,'unknown (local( |-)part|recipient|address error)'),(79,6,'unknown( or illegal)? user( account)?'),(80,6,'unrecognized recipient'),(81,6,'unregistered address'),(82,6,'user (unknown|does not exist)'),(83,6,'user doesn\'t have an? w+ account'),(84,6,'user(\'s e-?mail name is)? not found'),(85,6,'^Validation failed for:'),(86,6,'5.1.1 Address rejected'),(87,6,'no valid recipients?'),(88,6,'RecipNotFound'),(89,6,'no one at this address'),(90,6,'misconfigured forwarding address'),(91,6,'account is not allowed'),(92,6,'Address .<[^>]*>. not known here'),(93,6,'Recipient address rejected: ([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}'),(94,6,'Non sono riuscito a trovare l.indirizzo e-mail'),(95,6,'nadie con esta direcci..?n'),(96,6,'ni bilo mogo..?e najti prejemnikovega e-po..?tnega naslova'),(97,6,'Elektronski naslov (je ukinjen|ne obstaja)'),(98,6,'nepravilno nastavljen predal'),(99,7,'(mail( forwarding)?|routing).loop'),(100,7,'excessive recursion'),(101,7,'loop detected'),(102,7,'maximum hop count exceeded'),(103,7,'message was forwarded more than the maximum allowed times'),(104,7,'too many (hops|recursive forwards)'),(105,8,'(disk(space)?|over the allowed|exceed(ed|s)?|storage) quota'),(106,8,'522_mailbox_full'),(107,8,'exceeds allowed message count'),(108,8,'file too large'),(109,8,'full mailbox'),(110,8,'(mail|in)(box|folder) ((for user \\w+ )?is )?full'),(111,8,'mailbox (has exceeded|is over) the limit'),(112,8,'mailbox( exceeds allowed)? size'),(113,8,'no space left for this user'),(114,8,'over\\s?quota'),(115,8,'quota (for the mailbox )?has been exceeded'),(116,8,'quota ?(usage|violation|exceeded)'),(117,8,'recipient storage full'),(118,8,'not able to receive more mail'),(119,8,'doesn.t have enough disk space left'),(120,8,'exceeded storage allocation'),(121,8,'running out of disk space'),(122,9,'cannot find your hostname'),(123,9,'ip name lookup'),(124,9,'not configured to relay mail'),(125,9,'relay(ing)? (not permitted|(access )?denied)'),(126,9,'relayed mail to .+? not allowed'),(127,9,'sender ip must resolve'),(128,9,'unable to relay'),(129,9,'No route to host'),(130,9,'Network is unreachable'),(131,9,'unrouteable address'),(132,9,'We don.t handle mail for'),(133,9,'we do not relay'),(134,9,'Rejected by next-hop'),(135,9,'not permitted to( *550)? relay through this server'),(136,10,'(bulk( e-?mail)|content|attachment blocking|virus|mail system) filters?'),(137,10,'(hostile|questionable|unacceptable) content'),(138,10,'address .+? has not been verified'),(139,10,'anti-?spam (policw+|software)'),(140,10,'anti-?virus gateway has detected'),(141,10,'blacklisted'),(142,10,'blocked message'),(143,10,'content control'),(144,10,'delivery not authorized'),(145,10,'does not conform to our e-?mail policy'),(146,10,'excessive spam content'),(147,10,'message looks suspicious'),(148,10,'open relay'),(149,10,'sender was rejected'),(150,10,'spam(check| reduction software| filters?)'),(151,10,'blocked by a user configured filter'),(152,10,'(detected|rejected) (as|due to) spam'),(153,10,'X-HmXmrOriginalRecipient'),(154,10,'Client host .[^ ]*. blocked'),(155,10,'automatic(ally-generated)? messages are not accepted'),(156,10,'denied by policy'),(157,10,'has no corresponding reverse \\(PTR\\) address'),(158,10,'has a policy that( [^ ]*)? prohibited the mail that you sent'),(159,10,'is likely unsolicited mail'),(160,10,'Local Policy Violation'),(161,10,'ni bilo mogo..?e dostaviti zaradi varnostnega pravilnika'),(162,10,'abuse report'),(163,11,'nonstandard smtp line terminator'),(164,11,'syntax error in from address'),(165,11,'unknown smtp code');
+INSERT INTO `civicrm_mailing_bounce_pattern` (`id`, `bounce_type_id`, `pattern`) VALUES (1,1,'Client TOS Notification'),(2,2,'(be|am)? (out of|away from) (the|my)? (office|computer|town)'),(3,2,'i am on vacation'),(4,3,'name(server entry| lookup failure)'),(5,3,'no (mail server|matches to nameserver query|dns entries)'),(6,3,'reverse dns entry'),(7,3,'Host or domain name not found'),(8,3,'Unable to resolve MX record for'),(9,4,'(unknown|not local) host'),(10,4,'all hosts have been failing'),(11,4,'allowed rcpthosts'),(12,4,'connection (refused|timed out)'),(13,4,'not connected'),(14,4,'couldn\'t find any host named'),(15,4,'error involving remote host'),(16,4,'host unknown'),(17,4,'invalid host name'),(18,4,'isn\'t in my control/locals file'),(19,4,'local configuration error'),(20,4,'not a gateway'),(21,4,'server is (down or unreachable|not responding)'),(22,4,'too many connections'),(23,4,'unable to connect'),(24,4,'lost connection'),(25,4,'conversation with [^ ]* timed out while'),(26,4,'server requires authentication'),(27,4,'authentication (is )?required'),(28,5,'(my )?e-?mail( address)? has changed'),(29,5,'account (inactive|expired|deactivated)'),(30,5,'account is locked'),(31,5,'changed w+( e-?mail)? address'),(32,5,'deactivated mailbox'),(33,5,'disabled or discontinued'),(34,5,'inactive user'),(35,5,'is inactive on this domain'),(36,5,'mail receiving disabled'),(37,5,'mail( ?)address is administrative?ly disabled'),(38,5,'mailbox (temporarily disabled|currently suspended)'),(39,5,'no longer (accepting mail|on server|in use|with|employed|on staff|works for|using this account)'),(40,5,'not accepting (mail|messages)'),(41,5,'please use my new e-?mail address'),(42,5,'this address no longer accepts mail'),(43,5,'user account suspended'),(44,5,'account that you tried to reach is disabled'),(45,5,'User banned'),(46,6,'(user|recipient( name)?) is not recognized'),(47,6,'554 delivery error'),(48,6,'address does not exist'),(49,6,'address(es)?( you (entered|specified))? (could|was)( not|n.t)( be)? found'),(50,6,'address(ee)? (unknown|invalid)'),(51,6,'bad destination'),(52,6,'badly formatted address'),(53,6,'can\'t open mailbox for'),(54,6,'cannot deliver'),(55,6,'delivery to the following recipient(s)? failed'),(56,6,'destination addresses were unknown'),(57,6,'did not reach the following recipient'),(58,6,'does not exist'),(59,6,'does not like recipient'),(60,6,'does not specify a valid notes mail file'),(61,6,'illegal alias'),(62,6,'invalid (mailbox|(e-?mail )?address|recipient|final delivery)'),(63,6,'invalid( or unknown)?( virtual)? user'),(64,6,'(mail )?delivery (to this user )?is not allowed'),(65,6,'mailbox (not found|unavailable|name not allowed)'),(66,6,'message could not be forwarded'),(67,6,'missing or malformed local(-| )part'),(68,6,'no e-?mail address registered'),(69,6,'no such (mail drop|mailbox( \\w+)?|(e-?mail )?address|recipient|(local )?user|person)( here)?'),(70,6,'no mailbox (here )?by that name'),(71,6,'not (listed in|found in directory|known at this site|our customer)'),(72,6,'not a valid( (user|mailbox))?'),(73,6,'not present in directory entry'),(74,6,'recipient (does not exist|(is )?unknown|rejected|denied|not found)'),(75,6,'this user doesn\'t have a yahoo.com address'),(76,6,'unavailable to take delivery of the message'),(77,6,'unavailable mailbox'),(78,6,'unknown (local( |-)part|recipient|address error)'),(79,6,'unknown( or illegal)? user( account)?'),(80,6,'unrecognized recipient'),(81,6,'unregistered address'),(82,6,'user (unknown|does not exist)'),(83,6,'user doesn\'t have an? w+ account'),(84,6,'user(\'s e-?mail name is)? not found'),(85,6,'^Validation failed for:'),(86,6,'5.1.2 Address rejected'),(87,6,'no valid recipients?'),(88,6,'RecipNotFound'),(89,6,'no one at this address'),(90,6,'misconfigured forwarding address'),(91,6,'account is not allowed'),(92,6,'Address .<[^>]*>. not known here'),(93,6,'Recipient address rejected: ([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}'),(94,6,'Non sono riuscito a trovare l.indirizzo e-mail'),(95,6,'nadie con esta direcci..?n'),(96,6,'ni bilo mogo..?e najti prejemnikovega e-po..?tnega naslova'),(97,6,'Elektronski naslov (je ukinjen|ne obstaja)'),(98,6,'nepravilno nastavljen predal'),(99,7,'(mail( forwarding)?|routing).loop'),(100,7,'excessive recursion'),(101,7,'loop detected'),(102,7,'maximum hop count exceeded'),(103,7,'message was forwarded more than the maximum allowed times'),(104,7,'too many (hops|recursive forwards)'),(105,8,'(disk(space)?|over the allowed|exceed(ed|s)?|storage) quota'),(106,8,'522_mailbox_full'),(107,8,'exceeds allowed message count'),(108,8,'file too large'),(109,8,'full mailbox'),(110,8,'(mail|in)(box|folder) ((for user \\w+ )?is )?full'),(111,8,'mailbox (has exceeded|is over) the limit'),(112,8,'mailbox( exceeds allowed)? size'),(113,8,'no space left for this user'),(114,8,'over\\s?quota'),(115,8,'quota (for the mailbox )?has been exceeded'),(116,8,'quota ?(usage|violation|exceeded)'),(117,8,'recipient storage full'),(118,8,'not able to receive more mail'),(119,8,'doesn.t have enough disk space left'),(120,8,'exceeded storage allocation'),(121,8,'running out of disk space'),(122,9,'cannot find your hostname'),(123,9,'ip name lookup'),(124,9,'not configured to relay mail'),(125,9,'relay(ing)? (not permitted|(access )?denied)'),(126,9,'relayed mail to .+? not allowed'),(127,9,'sender ip must resolve'),(128,9,'unable to relay'),(129,9,'No route to host'),(130,9,'Network is unreachable'),(131,9,'unrouteable address'),(132,9,'We don.t handle mail for'),(133,9,'we do not relay'),(134,9,'Rejected by next-hop'),(135,9,'not permitted to( *550)? relay through this server'),(136,10,'(bulk( e-?mail)|content|attachment blocking|virus|mail system) filters?'),(137,10,'(hostile|questionable|unacceptable) content'),(138,10,'address .+? has not been verified'),(139,10,'anti-?spam (policw+|software)'),(140,10,'anti-?virus gateway has detected'),(141,10,'blacklisted'),(142,10,'blocked message'),(143,10,'content control'),(144,10,'delivery not authorized'),(145,10,'does not conform to our e-?mail policy'),(146,10,'excessive spam content'),(147,10,'message looks suspicious'),(148,10,'open relay'),(149,10,'sender was rejected'),(150,10,'spam(check| reduction software| filters?)'),(151,10,'blocked by a user configured filter'),(152,10,'(detected|rejected) (as|due to) spam'),(153,10,'X-HmXmrOriginalRecipient'),(154,10,'Client host .[^ ]*. blocked'),(155,10,'automatic(ally-generated)? messages are not accepted'),(156,10,'denied by policy'),(157,10,'has no corresponding reverse \\(PTR\\) address'),(158,10,'has a policy that( [^ ]*)? prohibited the mail that you sent'),(159,10,'is likely unsolicited mail'),(160,10,'Local Policy Violation'),(161,10,'ni bilo mogo..?e dostaviti zaradi varnostnega pravilnika'),(162,10,'abuse report'),(163,11,'nonstandard smtp line terminator'),(164,11,'syntax error in from address'),(165,11,'unknown smtp code');
 /*!40000 ALTER TABLE `civicrm_mailing_bounce_pattern` ENABLE KEYS */;
 UNLOCK TABLES;
 
diff --git a/civicrm/vendor/autoload.php b/civicrm/vendor/autoload.php
index 161eb6fb2e..78e7d0eda5 100644
--- a/civicrm/vendor/autoload.php
+++ b/civicrm/vendor/autoload.php
@@ -4,4 +4,4 @@
 
 require_once __DIR__ . '/composer/autoload_real.php';
 
-return ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e::getLoader();
+return ComposerAutoloaderInit5678b6d8b527472271fa54683a38b293::getLoader();
diff --git a/civicrm/vendor/composer/ClassLoader.php b/civicrm/vendor/composer/ClassLoader.php
index 2c72175e77..dc02dfb114 100644
--- a/civicrm/vendor/composer/ClassLoader.php
+++ b/civicrm/vendor/composer/ClassLoader.php
@@ -379,9 +379,9 @@ class ClassLoader
                 $subPath = substr($subPath, 0, $lastPos);
                 $search = $subPath.'\\';
                 if (isset($this->prefixDirsPsr4[$search])) {
+                    $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
                     foreach ($this->prefixDirsPsr4[$search] as $dir) {
-                        $length = $this->prefixLengthsPsr4[$first][$search];
-                        if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
+                        if (file_exists($file = $dir . $pathEnd)) {
                             return $file;
                         }
                     }
diff --git a/civicrm/vendor/composer/autoload_real.php b/civicrm/vendor/composer/autoload_real.php
index 20fbd8bc48..fe03cbb2ad 100644
--- a/civicrm/vendor/composer/autoload_real.php
+++ b/civicrm/vendor/composer/autoload_real.php
@@ -2,7 +2,7 @@
 
 // autoload_real.php @generated by Composer
 
-class ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e
+class ComposerAutoloaderInit5678b6d8b527472271fa54683a38b293
 {
     private static $loader;
 
@@ -19,19 +19,19 @@ class ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e
             return self::$loader;
         }
 
-        spl_autoload_register(array('ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e', 'loadClassLoader'), true, true);
+        spl_autoload_register(array('ComposerAutoloaderInit5678b6d8b527472271fa54683a38b293', 'loadClassLoader'), true, true);
         self::$loader = $loader = new \Composer\Autoload\ClassLoader();
-        spl_autoload_unregister(array('ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e', 'loadClassLoader'));
+        spl_autoload_unregister(array('ComposerAutoloaderInit5678b6d8b527472271fa54683a38b293', 'loadClassLoader'));
 
         $includePaths = require __DIR__ . '/include_paths.php';
-        array_push($includePaths, get_include_path());
+        $includePaths[] = get_include_path();
         set_include_path(implode(PATH_SEPARATOR, $includePaths));
 
         $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
         if ($useStaticLoader) {
             require_once __DIR__ . '/autoload_static.php';
 
-            call_user_func(\Composer\Autoload\ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::getInitializer($loader));
+            call_user_func(\Composer\Autoload\ComposerStaticInit5678b6d8b527472271fa54683a38b293::getInitializer($loader));
         } else {
             $map = require __DIR__ . '/autoload_namespaces.php';
             foreach ($map as $namespace => $path) {
@@ -52,19 +52,19 @@ class ComposerAutoloaderInit1e37bf7781f41aa3ad4d28b5a45b2d9e
         $loader->register(true);
 
         if ($useStaticLoader) {
-            $includeFiles = Composer\Autoload\ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::$files;
+            $includeFiles = Composer\Autoload\ComposerStaticInit5678b6d8b527472271fa54683a38b293::$files;
         } else {
             $includeFiles = require __DIR__ . '/autoload_files.php';
         }
         foreach ($includeFiles as $fileIdentifier => $file) {
-            composerRequire1e37bf7781f41aa3ad4d28b5a45b2d9e($fileIdentifier, $file);
+            composerRequire5678b6d8b527472271fa54683a38b293($fileIdentifier, $file);
         }
 
         return $loader;
     }
 }
 
-function composerRequire1e37bf7781f41aa3ad4d28b5a45b2d9e($fileIdentifier, $file)
+function composerRequire5678b6d8b527472271fa54683a38b293($fileIdentifier, $file)
 {
     if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
         require $file;
diff --git a/civicrm/vendor/composer/autoload_static.php b/civicrm/vendor/composer/autoload_static.php
index 0a3b8cb853..9e0f3c0905 100644
--- a/civicrm/vendor/composer/autoload_static.php
+++ b/civicrm/vendor/composer/autoload_static.php
@@ -4,7 +4,7 @@
 
 namespace Composer\Autoload;
 
-class ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e
+class ComposerStaticInit5678b6d8b527472271fa54683a38b293
 {
     public static $files = array (
         'decc78cc4436b1292c6c0d151b19445c' => __DIR__ . '/..' . '/phpseclib/phpseclib/phpseclib/bootstrap.php',
@@ -371,10 +371,10 @@ class ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e
     public static function getInitializer(ClassLoader $loader)
     {
         return \Closure::bind(function () use ($loader) {
-            $loader->prefixLengthsPsr4 = ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::$prefixLengthsPsr4;
-            $loader->prefixDirsPsr4 = ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::$prefixDirsPsr4;
-            $loader->prefixesPsr0 = ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::$prefixesPsr0;
-            $loader->classMap = ComposerStaticInit1e37bf7781f41aa3ad4d28b5a45b2d9e::$classMap;
+            $loader->prefixLengthsPsr4 = ComposerStaticInit5678b6d8b527472271fa54683a38b293::$prefixLengthsPsr4;
+            $loader->prefixDirsPsr4 = ComposerStaticInit5678b6d8b527472271fa54683a38b293::$prefixDirsPsr4;
+            $loader->prefixesPsr0 = ComposerStaticInit5678b6d8b527472271fa54683a38b293::$prefixesPsr0;
+            $loader->classMap = ComposerStaticInit5678b6d8b527472271fa54683a38b293::$classMap;
 
         }, null, ClassLoader::class);
     }
diff --git a/civicrm/vendor/composer/installed.json b/civicrm/vendor/composer/installed.json
index fcbdbb6328..b7c16788d4 100644
--- a/civicrm/vendor/composer/installed.json
+++ b/civicrm/vendor/composer/installed.json
@@ -1,145 +1,4 @@
 [
-    {
-        "name": "psr/log",
-        "version": "1.0.0",
-        "version_normalized": "1.0.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/php-fig/log.git",
-            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
-            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
-            "shasum": ""
-        },
-        "time": "2012-12-21T11:40:51+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Psr\\Log\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "PHP-FIG",
-                "homepage": "http://www.php-fig.org/"
-            }
-        ],
-        "description": "Common interface for logging libraries",
-        "keywords": [
-            "log",
-            "psr",
-            "psr-3"
-        ]
-    },
-    {
-        "name": "phpseclib/phpseclib",
-        "version": "1.0.7",
-        "version_normalized": "1.0.7.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/phpseclib/phpseclib.git",
-            "reference": "0bb6c9b974cada100cad40f72ef186a199274f9b"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/0bb6c9b974cada100cad40f72ef186a199274f9b",
-            "reference": "0bb6c9b974cada100cad40f72ef186a199274f9b",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.0.0"
-        },
-        "require-dev": {
-            "phing/phing": "~2.7",
-            "phpunit/phpunit": "~4.0",
-            "sami/sami": "~2.0",
-            "squizlabs/php_codesniffer": "~2.0"
-        },
-        "suggest": {
-            "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
-            "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.",
-            "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 5.0.0."
-        },
-        "time": "2017-06-05T06:30:30+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Crypt": "phpseclib/",
-                "File": "phpseclib/",
-                "Math": "phpseclib/",
-                "Net": "phpseclib/",
-                "System": "phpseclib/"
-            },
-            "files": [
-                "phpseclib/bootstrap.php",
-                "phpseclib/Crypt/Random.php"
-            ]
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "include-path": [
-            "phpseclib/"
-        ],
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Jim Wigginton",
-                "email": "terrafrost@php.net",
-                "role": "Lead Developer"
-            },
-            {
-                "name": "Patrick Monnerat",
-                "email": "pm@datasphere.ch",
-                "role": "Developer"
-            },
-            {
-                "name": "Andreas Fischer",
-                "email": "bantu@phpbb.com",
-                "role": "Developer"
-            },
-            {
-                "name": "Hans-Jürgen Petrich",
-                "email": "petrich@tronic-media.com",
-                "role": "Developer"
-            },
-            {
-                "name": "Graham Campbell",
-                "email": "graham@alt-three.com",
-                "role": "Developer"
-            }
-        ],
-        "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
-        "homepage": "http://phpseclib.sourceforge.net",
-        "keywords": [
-            "BigInteger",
-            "aes",
-            "asn.1",
-            "asn1",
-            "blowfish",
-            "crypto",
-            "cryptography",
-            "encryption",
-            "rsa",
-            "security",
-            "sftp",
-            "signature",
-            "signing",
-            "ssh",
-            "twofish",
-            "x.509",
-            "x509"
-        ]
-    },
     {
         "name": "civicrm/civicrm-cxn-rpc",
         "version": "v0.17.07.01",
@@ -179,67 +38,6 @@
         ],
         "description": "RPC library for CiviConnect"
     },
-    {
-        "name": "symfony/event-dispatcher",
-        "version": "v2.6.13",
-        "version_normalized": "2.6.13.0",
-        "target-dir": "Symfony/Component/EventDispatcher",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/symfony/event-dispatcher.git",
-            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02",
-            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "psr/log": "~1.0",
-            "symfony/config": "~2.0,>=2.0.5",
-            "symfony/dependency-injection": "~2.6",
-            "symfony/expression-language": "~2.6",
-            "symfony/phpunit-bridge": "~2.7",
-            "symfony/stopwatch": "~2.3"
-        },
-        "suggest": {
-            "symfony/dependency-injection": "",
-            "symfony/http-kernel": ""
-        },
-        "time": "2015-05-02T15:18:45+00:00",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Symfony\\Component\\EventDispatcher\\": ""
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
-            }
-        ],
-        "description": "Symfony EventDispatcher Component",
-        "homepage": "https://symfony.com"
-    },
     {
         "name": "civicrm/civicrm-setup",
         "version": "v0.2.0",
@@ -279,127 +77,6 @@
         ],
         "description": "CiviCRM installation library"
     },
-    {
-        "name": "sabberworm/php-css-parser",
-        "version": "6.0.1",
-        "version_normalized": "6.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
-            "reference": "9ea4b00c569b19f731d0c2e0e802055877ff40c2"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/9ea4b00c569b19f731d0c2e0e802055877ff40c2",
-            "reference": "9ea4b00c569b19f731d0c2e0e802055877ff40c2",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.2"
-        },
-        "time": "2015-08-24T08:48:52+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Sabberworm\\CSS": "lib/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "Raphael Schweikert"
-            }
-        ],
-        "description": "Parser for CSS Files written in PHP",
-        "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser",
-        "keywords": [
-            "css",
-            "parser",
-            "stylesheet"
-        ]
-    },
-    {
-        "name": "phenx/php-svg-lib",
-        "version": "v0.2",
-        "version_normalized": "0.2.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/PhenX/php-svg-lib.git",
-            "reference": "de291bec8449b89acfe85691b5c71434797959dc"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/de291bec8449b89acfe85691b5c71434797959dc",
-            "reference": "de291bec8449b89acfe85691b5c71434797959dc",
-            "shasum": ""
-        },
-        "require": {
-            "sabberworm/php-css-parser": "6.0.*"
-        },
-        "time": "2016-12-13T20:25:45+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-0": {
-                "Svg\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "LGPL-3.0"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Ménager",
-                "email": "fabien.menager@gmail.com"
-            }
-        ],
-        "description": "A library to read, parse and export to PDF SVG files.",
-        "homepage": "https://github.com/PhenX/php-svg-lib"
-    },
-    {
-        "name": "phenx/php-font-lib",
-        "version": "0.5",
-        "version_normalized": "0.5.0.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/PhenX/php-font-lib.git",
-            "reference": "19ad2bebc35be028fcc0221025fcbf3d436a3962"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/19ad2bebc35be028fcc0221025fcbf3d436a3962",
-            "reference": "19ad2bebc35be028fcc0221025fcbf3d436a3962",
-            "shasum": ""
-        },
-        "require-dev": {
-            "phpunit/phpunit": "^4.8"
-        },
-        "time": "2017-02-11T10:58:43+00:00",
-        "type": "library",
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "FontLib\\": "src/FontLib"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "LGPL-3.0"
-        ],
-        "authors": [
-            {
-                "name": "Fabien Ménager",
-                "email": "fabien.menager@gmail.com"
-            }
-        ],
-        "description": "A library to read, parse, export and make subsets of different types of font files.",
-        "homepage": "https://github.com/PhenX/php-font-lib"
-    },
     {
         "name": "dompdf/dompdf",
         "version": "v0.8.0",
@@ -507,97 +184,48 @@
         "homepage": "http://code.google.com/p/phpquery/"
     },
     {
-        "name": "psr/http-message",
-        "version": "1.0.1",
-        "version_normalized": "1.0.1.0",
-        "source": {
-            "type": "git",
-            "url": "https://github.com/php-fig/http-message.git",
-            "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
-        },
-        "dist": {
-            "type": "zip",
-            "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
-            "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
-            "shasum": ""
-        },
-        "require": {
-            "php": ">=5.3.0"
-        },
-        "time": "2016-08-06T14:39:51+00:00",
-        "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
-        },
-        "installation-source": "dist",
-        "autoload": {
-            "psr-4": {
-                "Psr\\Http\\Message\\": "src/"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/",
-        "license": [
-            "MIT"
-        ],
-        "authors": [
-            {
-                "name": "PHP-FIG",
-                "homepage": "http://www.php-fig.org/"
-            }
-        ],
-        "description": "Common interface for HTTP messages",
-        "homepage": "https://github.com/php-fig/http-message",
-        "keywords": [
-            "http",
-            "http-message",
-            "psr",
-            "psr-7",
-            "request",
-            "response"
-        ]
-    },
-    {
-        "name": "guzzlehttp/psr7",
-        "version": "1.4.2",
-        "version_normalized": "1.4.2.0",
+        "name": "guzzlehttp/guzzle",
+        "version": "6.3.0",
+        "version_normalized": "6.3.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/guzzle/psr7.git",
-            "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
+            "url": "https://github.com/guzzle/guzzle.git",
+            "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
-            "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+            "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.4.0",
-            "psr/http-message": "~1.0"
-        },
-        "provide": {
-            "psr/http-message-implementation": "1.0"
+            "guzzlehttp/promises": "^1.0",
+            "guzzlehttp/psr7": "^1.4",
+            "php": ">=5.5"
         },
         "require-dev": {
-            "phpunit/phpunit": "~4.0"
+            "ext-curl": "*",
+            "phpunit/phpunit": "^4.0 || ^5.0",
+            "psr/log": "^1.0"
         },
-        "time": "2017-03-20T17:10:46+00:00",
+        "suggest": {
+            "psr/log": "Required for using the Log middleware"
+        },
+        "time": "2017-06-22T18:50:49+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "1.4-dev"
+                "dev-master": "6.2-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
-            "psr-4": {
-                "GuzzleHttp\\Psr7\\": "src/"
-            },
             "files": [
                 "src/functions_include.php"
-            ]
+            ],
+            "psr-4": {
+                "GuzzleHttp\\": "src/"
+            }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -608,21 +236,18 @@
                 "name": "Michael Dowling",
                 "email": "mtdowling@gmail.com",
                 "homepage": "https://github.com/mtdowling"
-            },
-            {
-                "name": "Tobias Schultze",
-                "homepage": "https://github.com/Tobion"
             }
         ],
-        "description": "PSR-7 message implementation that also provides common utility methods",
+        "description": "Guzzle is a PHP HTTP client library",
+        "homepage": "http://guzzlephp.org/",
         "keywords": [
+            "client",
+            "curl",
+            "framework",
             "http",
-            "message",
-            "request",
-            "response",
-            "stream",
-            "uri",
-            "url"
+            "http client",
+            "rest",
+            "web service"
         ]
     },
     {
@@ -679,48 +304,45 @@
         ]
     },
     {
-        "name": "guzzlehttp/guzzle",
-        "version": "6.3.0",
-        "version_normalized": "6.3.0.0",
+        "name": "guzzlehttp/psr7",
+        "version": "1.4.2",
+        "version_normalized": "1.4.2.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/guzzle/guzzle.git",
-            "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699"
+            "url": "https://github.com/guzzle/psr7.git",
+            "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/guzzle/guzzle/zipball/f4db5a78a5ea468d4831de7f0bf9d9415e348699",
-            "reference": "f4db5a78a5ea468d4831de7f0bf9d9415e348699",
+            "url": "https://api.github.com/repos/guzzle/psr7/zipball/f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
+            "reference": "f5b8a8512e2b58b0071a7280e39f14f72e05d87c",
             "shasum": ""
         },
         "require": {
-            "guzzlehttp/promises": "^1.0",
-            "guzzlehttp/psr7": "^1.4",
-            "php": ">=5.5"
+            "php": ">=5.4.0",
+            "psr/http-message": "~1.0"
         },
-        "require-dev": {
-            "ext-curl": "*",
-            "phpunit/phpunit": "^4.0 || ^5.0",
-            "psr/log": "^1.0"
+        "provide": {
+            "psr/http-message-implementation": "1.0"
         },
-        "suggest": {
-            "psr/log": "Required for using the Log middleware"
+        "require-dev": {
+            "phpunit/phpunit": "~4.0"
         },
-        "time": "2017-06-22T18:50:49+00:00",
+        "time": "2017-03-20T17:10:46+00:00",
         "type": "library",
         "extra": {
             "branch-alias": {
-                "dev-master": "6.2-dev"
+                "dev-master": "1.4-dev"
             }
         },
         "installation-source": "dist",
         "autoload": {
+            "psr-4": {
+                "GuzzleHttp\\Psr7\\": "src/"
+            },
             "files": [
                 "src/functions_include.php"
-            ],
-            "psr-4": {
-                "GuzzleHttp\\": "src/"
-            }
+            ]
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
@@ -731,18 +353,21 @@
                 "name": "Michael Dowling",
                 "email": "mtdowling@gmail.com",
                 "homepage": "https://github.com/mtdowling"
+            },
+            {
+                "name": "Tobias Schultze",
+                "homepage": "https://github.com/Tobion"
             }
         ],
-        "description": "Guzzle is a PHP HTTP client library",
-        "homepage": "http://guzzlephp.org/",
+        "description": "PSR-7 message implementation that also provides common utility methods",
         "keywords": [
-            "client",
-            "curl",
-            "framework",
             "http",
-            "http client",
-            "rest",
-            "web service"
+            "message",
+            "request",
+            "response",
+            "stream",
+            "uri",
+            "url"
         ]
     },
     {
@@ -834,89 +459,92 @@
         ]
     },
     {
-        "name": "pear/pear_exception",
-        "version": "v1.0.0",
-        "version_normalized": "1.0.0.0",
+        "name": "pear/auth_sasl",
+        "version": "v1.1.0",
+        "version_normalized": "1.1.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/pear/PEAR_Exception.git",
-            "reference": "8c18719fdae000b690e3912be401c76e406dd13b"
+            "url": "https://github.com/pear/Auth_SASL.git",
+            "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
-            "reference": "8c18719fdae000b690e3912be401c76e406dd13b",
+            "url": "https://api.github.com/repos/pear/Auth_SASL/zipball/db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
+            "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
             "shasum": ""
         },
         "require": {
-            "php": ">=4.4.0"
+            "pear/pear_exception": "@stable"
         },
         "require-dev": {
-            "phpunit/phpunit": "*"
-        },
-        "time": "2015-02-10T20:07:52+00:00",
-        "type": "class",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "1.0.x-dev"
-            }
+            "phpunit/phpunit": "@stable"
         },
+        "time": "2017-03-07T14:37:05+00:00",
+        "type": "library",
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "PEAR": ""
+                "Auth": "./"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "include-path": [
-            "."
+            "./"
         ],
         "license": [
-            "BSD-2-Clause"
+            "BSD"
         ],
         "authors": [
             {
-                "name": "Helgi Thormar",
-                "email": "dufuz@php.net"
+                "name": "Anish Mistry",
+                "email": "amistry@am-productions.biz",
+                "role": "Lead"
             },
             {
-                "name": "Greg Beaver",
-                "email": "cellog@php.net"
+                "name": "Richard Heyes",
+                "email": "richard@php.net",
+                "role": "Lead"
+            },
+            {
+                "name": "Michael Bretterklieber",
+                "email": "michael@bretterklieber.com",
+                "role": "Lead"
             }
         ],
-        "description": "The PEAR Exception base class.",
-        "homepage": "https://github.com/pear/PEAR_Exception",
-        "keywords": [
-            "exception"
-        ]
+        "description": "Abstraction of various SASL mechanism responses"
     },
     {
-        "name": "pear/auth_sasl",
-        "version": "v1.1.0",
-        "version_normalized": "1.1.0.0",
+        "name": "pear/net_smtp",
+        "version": "1.6.3",
+        "version_normalized": "1.6.3.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/pear/Auth_SASL.git",
-            "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee"
+            "url": "https://github.com/pear/Net_SMTP.git",
+            "reference": "7b6240761adf6ee245098e238a25d5c35650d82c"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/pear/Auth_SASL/zipball/db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
-            "reference": "db1ead3dc0bf986d2bab0dbc04d114800cf91dee",
+            "url": "https://api.github.com/repos/pear/Net_SMTP/zipball/7b6240761adf6ee245098e238a25d5c35650d82c",
+            "reference": "7b6240761adf6ee245098e238a25d5c35650d82c",
             "shasum": ""
         },
         "require": {
-            "pear/pear_exception": "@stable"
+            "pear/net_socket": "*",
+            "pear/pear_exception": "*",
+            "php": ">=4.0.5"
         },
         "require-dev": {
-            "phpunit/phpunit": "@stable"
+            "phpunit/phpunit": "*"
         },
-        "time": "2017-03-07T14:37:05+00:00",
+        "suggest": {
+            "pear/auth_sasl": "Install optionally via your project's composer.json"
+        },
+        "time": "2015-08-02T17:20:17+00:00",
         "type": "library",
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Auth": "./"
+                "Net": "./"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -924,26 +552,28 @@
             "./"
         ],
         "license": [
-            "BSD"
+            "PHP License"
         ],
         "authors": [
             {
-                "name": "Anish Mistry",
-                "email": "amistry@am-productions.biz",
-                "role": "Lead"
-            },
-            {
-                "name": "Richard Heyes",
-                "email": "richard@php.net",
+                "name": "Jon Parise",
+                "email": "jon@php.net",
+                "homepage": "http://www.indelible.org",
                 "role": "Lead"
             },
             {
-                "name": "Michael Bretterklieber",
-                "email": "michael@bretterklieber.com",
+                "name": "Chuck Hagenbuch",
+                "email": "chuck@horde.org",
                 "role": "Lead"
             }
         ],
-        "description": "Abstraction of various SASL mechanism responses"
+        "description": "An implementation of the SMTP protocol",
+        "homepage": "http://pear.github.io/Net_SMTP/",
+        "keywords": [
+            "email",
+            "mail",
+            "smtp"
+        ]
     },
     {
         "name": "pear/net_socket",
@@ -1001,65 +631,60 @@
         "description": "More info available on: http://pear.php.net/package/Net_Socket"
     },
     {
-        "name": "pear/net_smtp",
-        "version": "1.6.3",
-        "version_normalized": "1.6.3.0",
+        "name": "pear/pear_exception",
+        "version": "v1.0.0",
+        "version_normalized": "1.0.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/pear/Net_SMTP.git",
-            "reference": "7b6240761adf6ee245098e238a25d5c35650d82c"
+            "url": "https://github.com/pear/PEAR_Exception.git",
+            "reference": "8c18719fdae000b690e3912be401c76e406dd13b"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/pear/Net_SMTP/zipball/7b6240761adf6ee245098e238a25d5c35650d82c",
-            "reference": "7b6240761adf6ee245098e238a25d5c35650d82c",
+            "url": "https://api.github.com/repos/pear/PEAR_Exception/zipball/8c18719fdae000b690e3912be401c76e406dd13b",
+            "reference": "8c18719fdae000b690e3912be401c76e406dd13b",
             "shasum": ""
         },
         "require": {
-            "pear/net_socket": "*",
-            "pear/pear_exception": "*",
-            "php": ">=4.0.5"
+            "php": ">=4.4.0"
         },
         "require-dev": {
             "phpunit/phpunit": "*"
         },
-        "suggest": {
-            "pear/auth_sasl": "Install optionally via your project's composer.json"
+        "time": "2015-02-10T20:07:52+00:00",
+        "type": "class",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
         },
-        "time": "2015-08-02T17:20:17+00:00",
-        "type": "library",
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Net": "./"
+                "PEAR": ""
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "include-path": [
-            "./"
+            "."
         ],
         "license": [
-            "PHP License"
+            "BSD-2-Clause"
         ],
         "authors": [
             {
-                "name": "Jon Parise",
-                "email": "jon@php.net",
-                "homepage": "http://www.indelible.org",
-                "role": "Lead"
+                "name": "Helgi Thormar",
+                "email": "dufuz@php.net"
             },
             {
-                "name": "Chuck Hagenbuch",
-                "email": "chuck@horde.org",
-                "role": "Lead"
+                "name": "Greg Beaver",
+                "email": "cellog@php.net"
             }
         ],
-        "description": "An implementation of the SMTP protocol",
-        "homepage": "http://pear.github.io/Net_SMTP/",
+        "description": "The PEAR Exception base class.",
+        "homepage": "https://github.com/pear/PEAR_Exception",
         "keywords": [
-            "email",
-            "mail",
-            "smtp"
+            "exception"
         ]
     },
     {
@@ -1109,108 +734,82 @@
         "description": "Validation class for credit cards."
     },
     {
-        "name": "zendframework/zend-stdlib",
-        "version": "2.4.13",
-        "version_normalized": "2.4.13.0",
+        "name": "phenx/php-font-lib",
+        "version": "0.5",
+        "version_normalized": "0.5.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/zendframework/zend-stdlib.git",
-            "reference": "d8ecb629a72da9f91bd95c5af006384823560b42"
+            "url": "https://github.com/PhenX/php-font-lib.git",
+            "reference": "19ad2bebc35be028fcc0221025fcbf3d436a3962"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/d8ecb629a72da9f91bd95c5af006384823560b42",
-            "reference": "d8ecb629a72da9f91bd95c5af006384823560b42",
+            "url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/19ad2bebc35be028fcc0221025fcbf3d436a3962",
+            "reference": "19ad2bebc35be028fcc0221025fcbf3d436a3962",
             "shasum": ""
         },
-        "require": {
-            "php": ">=5.3.23"
-        },
         "require-dev": {
-            "fabpot/php-cs-fixer": "1.7.*",
-            "phpunit/phpunit": "~4.0",
-            "satooshi/php-coveralls": "dev-master",
-            "zendframework/zend-eventmanager": "self.version",
-            "zendframework/zend-filter": "self.version",
-            "zendframework/zend-serializer": "self.version",
-            "zendframework/zend-servicemanager": "self.version"
-        },
-        "suggest": {
-            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
-            "zendframework/zend-filter": "To support naming strategy hydrator usage",
-            "zendframework/zend-serializer": "Zend\\Serializer component",
-            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
+            "phpunit/phpunit": "^4.8"
         },
-        "time": "2015-07-21T13:55:46+00:00",
+        "time": "2017-02-11T10:58:43+00:00",
         "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.4-dev",
-                "dev-develop": "2.5-dev"
-            }
-        },
         "installation-source": "dist",
         "autoload": {
             "psr-4": {
-                "Zend\\Stdlib\\": "src/"
+                "FontLib\\": "src/FontLib"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "LGPL-3.0"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Ménager",
+                "email": "fabien.menager@gmail.com"
+            }
         ],
-        "homepage": "https://github.com/zendframework/zend-stdlib",
-        "keywords": [
-            "stdlib",
-            "zf2"
-        ]
+        "description": "A library to read, parse, export and make subsets of different types of font files.",
+        "homepage": "https://github.com/PhenX/php-font-lib"
     },
     {
-        "name": "zendframework/zend-escaper",
-        "version": "2.4.13",
-        "version_normalized": "2.4.13.0",
+        "name": "phenx/php-svg-lib",
+        "version": "v0.2",
+        "version_normalized": "0.2.0.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/zendframework/zend-escaper.git",
-            "reference": "13f468ff824f3c83018b90aff892a1b3201383a9"
+            "url": "https://github.com/PhenX/php-svg-lib.git",
+            "reference": "de291bec8449b89acfe85691b5c71434797959dc"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/13f468ff824f3c83018b90aff892a1b3201383a9",
-            "reference": "13f468ff824f3c83018b90aff892a1b3201383a9",
+            "url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/de291bec8449b89acfe85691b5c71434797959dc",
+            "reference": "de291bec8449b89acfe85691b5c71434797959dc",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.23"
-        },
-        "require-dev": {
-            "fabpot/php-cs-fixer": "1.7.*",
-            "phpunit/phpunit": "~4.0",
-            "satooshi/php-coveralls": "dev-master"
+            "sabberworm/php-css-parser": "6.0.*"
         },
-        "time": "2015-05-07T14:55:31+00:00",
+        "time": "2016-12-13T20:25:45+00:00",
         "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.4-dev",
-                "dev-develop": "2.5-dev"
-            }
-        },
         "installation-source": "dist",
         "autoload": {
-            "psr-4": {
-                "Zend\\Escaper\\": "src/"
+            "psr-0": {
+                "Svg\\": "src/"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
         "license": [
-            "BSD-3-Clause"
+            "LGPL-3.0"
         ],
-        "homepage": "https://github.com/zendframework/zend-escaper",
-        "keywords": [
-            "escaper",
-            "zf2"
-        ]
+        "authors": [
+            {
+                "name": "Fabien Ménager",
+                "email": "fabien.menager@gmail.com"
+            }
+        ],
+        "description": "A library to read, parse and export to PDF SVG files.",
+        "homepage": "https://github.com/PhenX/php-svg-lib"
     },
     {
         "name": "phpoffice/common",
@@ -1375,38 +974,222 @@
         ]
     },
     {
-        "name": "symfony/filesystem",
-        "version": "v2.6.13",
-        "version_normalized": "2.6.13.0",
-        "target-dir": "Symfony/Component/Filesystem",
+        "name": "phpseclib/phpseclib",
+        "version": "1.0.7",
+        "version_normalized": "1.0.7.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/phpseclib/phpseclib.git",
+            "reference": "0bb6c9b974cada100cad40f72ef186a199274f9b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/0bb6c9b974cada100cad40f72ef186a199274f9b",
+            "reference": "0bb6c9b974cada100cad40f72ef186a199274f9b",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.0.0"
+        },
+        "require-dev": {
+            "phing/phing": "~2.7",
+            "phpunit/phpunit": "~4.0",
+            "sami/sami": "~2.0",
+            "squizlabs/php_codesniffer": "~2.0"
+        },
+        "suggest": {
+            "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
+            "ext-mcrypt": "Install the Mcrypt extension in order to speed up a wide variety of cryptographic operations.",
+            "pear-pear/PHP_Compat": "Install PHP_Compat to get phpseclib working on PHP < 5.0.0."
+        },
+        "time": "2017-06-05T06:30:30+00:00",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Crypt": "phpseclib/",
+                "File": "phpseclib/",
+                "Math": "phpseclib/",
+                "Net": "phpseclib/",
+                "System": "phpseclib/"
+            },
+            "files": [
+                "phpseclib/bootstrap.php",
+                "phpseclib/Crypt/Random.php"
+            ]
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "include-path": [
+            "phpseclib/"
+        ],
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Jim Wigginton",
+                "email": "terrafrost@php.net",
+                "role": "Lead Developer"
+            },
+            {
+                "name": "Patrick Monnerat",
+                "email": "pm@datasphere.ch",
+                "role": "Developer"
+            },
+            {
+                "name": "Andreas Fischer",
+                "email": "bantu@phpbb.com",
+                "role": "Developer"
+            },
+            {
+                "name": "Hans-Jürgen Petrich",
+                "email": "petrich@tronic-media.com",
+                "role": "Developer"
+            },
+            {
+                "name": "Graham Campbell",
+                "email": "graham@alt-three.com",
+                "role": "Developer"
+            }
+        ],
+        "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
+        "homepage": "http://phpseclib.sourceforge.net",
+        "keywords": [
+            "BigInteger",
+            "aes",
+            "asn.1",
+            "asn1",
+            "blowfish",
+            "crypto",
+            "cryptography",
+            "encryption",
+            "rsa",
+            "security",
+            "sftp",
+            "signature",
+            "signing",
+            "ssh",
+            "twofish",
+            "x.509",
+            "x509"
+        ]
+    },
+    {
+        "name": "psr/http-message",
+        "version": "1.0.1",
+        "version_normalized": "1.0.1.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/php-fig/http-message.git",
+            "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363",
+            "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.0"
+        },
+        "time": "2016-08-06T14:39:51+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "1.0.x-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Psr\\Http\\Message\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "PHP-FIG",
+                "homepage": "http://www.php-fig.org/"
+            }
+        ],
+        "description": "Common interface for HTTP messages",
+        "homepage": "https://github.com/php-fig/http-message",
+        "keywords": [
+            "http",
+            "http-message",
+            "psr",
+            "psr-7",
+            "request",
+            "response"
+        ]
+    },
+    {
+        "name": "psr/log",
+        "version": "1.0.0",
+        "version_normalized": "1.0.0.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/php-fig/log.git",
+            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/php-fig/log/zipball/fe0936ee26643249e916849d48e3a51d5f5e278b",
+            "reference": "fe0936ee26643249e916849d48e3a51d5f5e278b",
+            "shasum": ""
+        },
+        "time": "2012-12-21T11:40:51+00:00",
+        "type": "library",
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Psr\\Log\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "PHP-FIG",
+                "homepage": "http://www.php-fig.org/"
+            }
+        ],
+        "description": "Common interface for logging libraries",
+        "keywords": [
+            "log",
+            "psr",
+            "psr-3"
+        ]
+    },
+    {
+        "name": "sabberworm/php-css-parser",
+        "version": "6.0.1",
+        "version_normalized": "6.0.1.0",
         "source": {
             "type": "git",
-            "url": "https://github.com/symfony/filesystem.git",
-            "reference": "823c035b1a5c13a4924e324d016eb07e70f94735"
+            "url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
+            "reference": "9ea4b00c569b19f731d0c2e0e802055877ff40c2"
         },
         "dist": {
             "type": "zip",
-            "url": "https://api.github.com/repos/symfony/filesystem/zipball/823c035b1a5c13a4924e324d016eb07e70f94735",
-            "reference": "823c035b1a5c13a4924e324d016eb07e70f94735",
+            "url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/9ea4b00c569b19f731d0c2e0e802055877ff40c2",
+            "reference": "9ea4b00c569b19f731d0c2e0e802055877ff40c2",
             "shasum": ""
         },
         "require": {
-            "php": ">=5.3.3"
-        },
-        "require-dev": {
-            "symfony/phpunit-bridge": "~2.7"
+            "php": ">=5.3.2"
         },
-        "time": "2015-07-08T05:59:48+00:00",
+        "time": "2015-08-24T08:48:52+00:00",
         "type": "library",
-        "extra": {
-            "branch-alias": {
-                "dev-master": "2.6-dev"
-            }
-        },
         "installation-source": "dist",
         "autoload": {
             "psr-0": {
-                "Symfony\\Component\\Filesystem\\": ""
+                "Sabberworm\\CSS": "lib/"
             }
         },
         "notification-url": "https://packagist.org/downloads/",
@@ -1415,16 +1198,16 @@
         ],
         "authors": [
             {
-                "name": "Fabien Potencier",
-                "email": "fabien@symfony.com"
-            },
-            {
-                "name": "Symfony Community",
-                "homepage": "https://symfony.com/contributors"
+                "name": "Raphael Schweikert"
             }
         ],
-        "description": "Symfony Filesystem Component",
-        "homepage": "https://symfony.com"
+        "description": "Parser for CSS Files written in PHP",
+        "homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser",
+        "keywords": [
+            "css",
+            "parser",
+            "stylesheet"
+        ]
     },
     {
         "name": "symfony/config",
@@ -1542,6 +1325,119 @@
         "description": "Symfony DependencyInjection Component",
         "homepage": "https://symfony.com"
     },
+    {
+        "name": "symfony/event-dispatcher",
+        "version": "v2.6.13",
+        "version_normalized": "2.6.13.0",
+        "target-dir": "Symfony/Component/EventDispatcher",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/event-dispatcher.git",
+            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/672593bc4b0043a0acf91903bb75a1c82d8f2e02",
+            "reference": "672593bc4b0043a0acf91903bb75a1c82d8f2e02",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "psr/log": "~1.0",
+            "symfony/config": "~2.0,>=2.0.5",
+            "symfony/dependency-injection": "~2.6",
+            "symfony/expression-language": "~2.6",
+            "symfony/phpunit-bridge": "~2.7",
+            "symfony/stopwatch": "~2.3"
+        },
+        "suggest": {
+            "symfony/dependency-injection": "",
+            "symfony/http-kernel": ""
+        },
+        "time": "2015-05-02T15:18:45+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.6-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Symfony\\Component\\EventDispatcher\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony EventDispatcher Component",
+        "homepage": "https://symfony.com"
+    },
+    {
+        "name": "symfony/filesystem",
+        "version": "v2.6.13",
+        "version_normalized": "2.6.13.0",
+        "target-dir": "Symfony/Component/Filesystem",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/symfony/filesystem.git",
+            "reference": "823c035b1a5c13a4924e324d016eb07e70f94735"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/symfony/filesystem/zipball/823c035b1a5c13a4924e324d016eb07e70f94735",
+            "reference": "823c035b1a5c13a4924e324d016eb07e70f94735",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.3"
+        },
+        "require-dev": {
+            "symfony/phpunit-bridge": "~2.7"
+        },
+        "time": "2015-07-08T05:59:48+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.6-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-0": {
+                "Symfony\\Component\\Filesystem\\": ""
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "MIT"
+        ],
+        "authors": [
+            {
+                "name": "Fabien Potencier",
+                "email": "fabien@symfony.com"
+            },
+            {
+                "name": "Symfony Community",
+                "homepage": "https://symfony.com/contributors"
+            }
+        ],
+        "description": "Symfony Filesystem Component",
+        "homepage": "https://symfony.com"
+    },
     {
         "name": "symfony/finder",
         "version": "v2.6.13",
@@ -1749,6 +1645,110 @@
         "description": "Default configuration for certificate authorities",
         "homepage": "https://github.com/totten/ca_config"
     },
+    {
+        "name": "zendframework/zend-escaper",
+        "version": "2.4.13",
+        "version_normalized": "2.4.13.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-escaper.git",
+            "reference": "13f468ff824f3c83018b90aff892a1b3201383a9"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-escaper/zipball/13f468ff824f3c83018b90aff892a1b3201383a9",
+            "reference": "13f468ff824f3c83018b90aff892a1b3201383a9",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.23"
+        },
+        "require-dev": {
+            "fabpot/php-cs-fixer": "1.7.*",
+            "phpunit/phpunit": "~4.0",
+            "satooshi/php-coveralls": "dev-master"
+        },
+        "time": "2015-05-07T14:55:31+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.4-dev",
+                "dev-develop": "2.5-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Escaper\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "homepage": "https://github.com/zendframework/zend-escaper",
+        "keywords": [
+            "escaper",
+            "zf2"
+        ]
+    },
+    {
+        "name": "zendframework/zend-stdlib",
+        "version": "2.4.13",
+        "version_normalized": "2.4.13.0",
+        "source": {
+            "type": "git",
+            "url": "https://github.com/zendframework/zend-stdlib.git",
+            "reference": "d8ecb629a72da9f91bd95c5af006384823560b42"
+        },
+        "dist": {
+            "type": "zip",
+            "url": "https://api.github.com/repos/zendframework/zend-stdlib/zipball/d8ecb629a72da9f91bd95c5af006384823560b42",
+            "reference": "d8ecb629a72da9f91bd95c5af006384823560b42",
+            "shasum": ""
+        },
+        "require": {
+            "php": ">=5.3.23"
+        },
+        "require-dev": {
+            "fabpot/php-cs-fixer": "1.7.*",
+            "phpunit/phpunit": "~4.0",
+            "satooshi/php-coveralls": "dev-master",
+            "zendframework/zend-eventmanager": "self.version",
+            "zendframework/zend-filter": "self.version",
+            "zendframework/zend-serializer": "self.version",
+            "zendframework/zend-servicemanager": "self.version"
+        },
+        "suggest": {
+            "zendframework/zend-eventmanager": "To support aggregate hydrator usage",
+            "zendframework/zend-filter": "To support naming strategy hydrator usage",
+            "zendframework/zend-serializer": "Zend\\Serializer component",
+            "zendframework/zend-servicemanager": "To support hydrator plugin manager usage"
+        },
+        "time": "2015-07-21T13:55:46+00:00",
+        "type": "library",
+        "extra": {
+            "branch-alias": {
+                "dev-master": "2.4-dev",
+                "dev-develop": "2.5-dev"
+            }
+        },
+        "installation-source": "dist",
+        "autoload": {
+            "psr-4": {
+                "Zend\\Stdlib\\": "src/"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/",
+        "license": [
+            "BSD-3-Clause"
+        ],
+        "homepage": "https://github.com/zendframework/zend-stdlib",
+        "keywords": [
+            "stdlib",
+            "zf2"
+        ]
+    },
     {
         "name": "zendframework/zend-validator",
         "version": "2.4.13",
diff --git a/civicrm/xml/version.xml b/civicrm/xml/version.xml
index 87d79e631d..a84abbe89e 100644
--- a/civicrm/xml/version.xml
+++ b/civicrm/xml/version.xml
@@ -1,4 +1,4 @@
 <?xml version="1.0" encoding="iso-8859-1" ?>
 <version>
-  <version_no>5.1.1</version_no>
+  <version_no>5.1.2</version_no>
 </version>
-- 
GitLab